/* 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*); /* * 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_ABSOLUTE_P = 91, /* ABSOLUTE_P */ YYSYMBOL_ACCESS = 92, /* ACCESS */ YYSYMBOL_ACTION = 93, /* ACTION */ YYSYMBOL_ADD_P = 94, /* ADD_P */ YYSYMBOL_ADMIN = 95, /* ADMIN */ YYSYMBOL_AFTER = 96, /* AFTER */ YYSYMBOL_AGGREGATE = 97, /* AGGREGATE */ YYSYMBOL_ALL = 98, /* ALL */ YYSYMBOL_ALSO = 99, /* ALSO */ YYSYMBOL_ALTER = 100, /* ALTER */ YYSYMBOL_ALWAYS = 101, /* ALWAYS */ YYSYMBOL_ANALYSE = 102, /* ANALYSE */ YYSYMBOL_ANALYZE = 103, /* ANALYZE */ YYSYMBOL_AND = 104, /* AND */ YYSYMBOL_ANY = 105, /* ANY */ YYSYMBOL_ARRAY = 106, /* ARRAY */ YYSYMBOL_AS = 107, /* AS */ YYSYMBOL_ASC = 108, /* ASC */ YYSYMBOL_ASENSITIVE = 109, /* ASENSITIVE */ YYSYMBOL_ASSERTION = 110, /* ASSERTION */ YYSYMBOL_ASSIGNMENT = 111, /* ASSIGNMENT */ YYSYMBOL_ASYMMETRIC = 112, /* ASYMMETRIC */ YYSYMBOL_ATOMIC = 113, /* ATOMIC */ YYSYMBOL_AT = 114, /* AT */ YYSYMBOL_ATTACH = 115, /* ATTACH */ YYSYMBOL_ATTRIBUTE = 116, /* ATTRIBUTE */ YYSYMBOL_AUTHORIZATION = 117, /* AUTHORIZATION */ YYSYMBOL_BACKWARD = 118, /* BACKWARD */ YYSYMBOL_BEFORE = 119, /* BEFORE */ YYSYMBOL_BEGIN_P = 120, /* BEGIN_P */ YYSYMBOL_BETWEEN = 121, /* BETWEEN */ YYSYMBOL_BIGINT = 122, /* BIGINT */ YYSYMBOL_BINARY = 123, /* BINARY */ YYSYMBOL_BIT = 124, /* BIT */ YYSYMBOL_BOOLEAN_P = 125, /* BOOLEAN_P */ YYSYMBOL_BOTH = 126, /* BOTH */ YYSYMBOL_BREADTH = 127, /* BREADTH */ YYSYMBOL_BY = 128, /* BY */ YYSYMBOL_CACHE = 129, /* CACHE */ YYSYMBOL_CALL = 130, /* CALL */ YYSYMBOL_CALLED = 131, /* CALLED */ YYSYMBOL_CASCADE = 132, /* CASCADE */ YYSYMBOL_CASCADED = 133, /* CASCADED */ YYSYMBOL_CASE = 134, /* CASE */ YYSYMBOL_CAST = 135, /* CAST */ YYSYMBOL_CATALOG_P = 136, /* CATALOG_P */ YYSYMBOL_CHAIN = 137, /* CHAIN */ YYSYMBOL_CHAR_P = 138, /* CHAR_P */ YYSYMBOL_CHARACTER = 139, /* CHARACTER */ YYSYMBOL_CHARACTERISTICS = 140, /* CHARACTERISTICS */ YYSYMBOL_CHECK = 141, /* CHECK */ YYSYMBOL_CHECKPOINT = 142, /* CHECKPOINT */ YYSYMBOL_CLASS = 143, /* CLASS */ YYSYMBOL_CLOSE = 144, /* CLOSE */ YYSYMBOL_CLUSTER = 145, /* CLUSTER */ YYSYMBOL_COALESCE = 146, /* COALESCE */ YYSYMBOL_COLLATE = 147, /* COLLATE */ YYSYMBOL_COLLATION = 148, /* COLLATION */ YYSYMBOL_COLUMN = 149, /* COLUMN */ YYSYMBOL_COLUMNS = 150, /* COLUMNS */ YYSYMBOL_COMMENT = 151, /* COMMENT */ YYSYMBOL_COMMENTS = 152, /* COMMENTS */ YYSYMBOL_COMMIT = 153, /* COMMIT */ YYSYMBOL_COMMITTED = 154, /* COMMITTED */ YYSYMBOL_COMPRESSION = 155, /* COMPRESSION */ YYSYMBOL_CONCURRENTLY = 156, /* CONCURRENTLY */ YYSYMBOL_CONFIGURATION = 157, /* CONFIGURATION */ YYSYMBOL_CONFLICT = 158, /* CONFLICT */ YYSYMBOL_CONNECTION = 159, /* CONNECTION */ YYSYMBOL_CONSTRAINT = 160, /* CONSTRAINT */ YYSYMBOL_CONSTRAINTS = 161, /* CONSTRAINTS */ YYSYMBOL_CONTENT_P = 162, /* CONTENT_P */ YYSYMBOL_CONTINUE_P = 163, /* CONTINUE_P */ YYSYMBOL_CONVERSION_P = 164, /* CONVERSION_P */ YYSYMBOL_COPY = 165, /* COPY */ YYSYMBOL_COST = 166, /* COST */ YYSYMBOL_CREATE = 167, /* CREATE */ YYSYMBOL_CROSS = 168, /* CROSS */ YYSYMBOL_CSV = 169, /* CSV */ YYSYMBOL_CUBE = 170, /* CUBE */ YYSYMBOL_CURRENT_P = 171, /* CURRENT_P */ YYSYMBOL_CURRENT_CATALOG = 172, /* CURRENT_CATALOG */ YYSYMBOL_CURRENT_DATE = 173, /* CURRENT_DATE */ YYSYMBOL_CURRENT_ROLE = 174, /* CURRENT_ROLE */ YYSYMBOL_CURRENT_SCHEMA = 175, /* CURRENT_SCHEMA */ YYSYMBOL_CURRENT_TIME = 176, /* CURRENT_TIME */ YYSYMBOL_CURRENT_TIMESTAMP = 177, /* CURRENT_TIMESTAMP */ YYSYMBOL_CURRENT_USER = 178, /* CURRENT_USER */ YYSYMBOL_CURSOR = 179, /* CURSOR */ YYSYMBOL_CYCLE = 180, /* CYCLE */ YYSYMBOL_DATA_P = 181, /* DATA_P */ YYSYMBOL_DATABASE = 182, /* DATABASE */ YYSYMBOL_DAY_P = 183, /* DAY_P */ YYSYMBOL_DEALLOCATE = 184, /* DEALLOCATE */ YYSYMBOL_DEC = 185, /* DEC */ YYSYMBOL_DECIMAL_P = 186, /* DECIMAL_P */ YYSYMBOL_DECLARE = 187, /* DECLARE */ YYSYMBOL_DEFAULT = 188, /* DEFAULT */ YYSYMBOL_DEFAULTS = 189, /* DEFAULTS */ YYSYMBOL_DEFERRABLE = 190, /* DEFERRABLE */ YYSYMBOL_DEFERRED = 191, /* DEFERRED */ YYSYMBOL_DEFINER = 192, /* DEFINER */ YYSYMBOL_DELETE_P = 193, /* DELETE_P */ YYSYMBOL_DELIMITER = 194, /* DELIMITER */ YYSYMBOL_DELIMITERS = 195, /* DELIMITERS */ YYSYMBOL_DEPENDS = 196, /* DEPENDS */ YYSYMBOL_DEPTH = 197, /* DEPTH */ YYSYMBOL_DESC = 198, /* DESC */ YYSYMBOL_DETACH = 199, /* DETACH */ YYSYMBOL_DICTIONARY = 200, /* DICTIONARY */ YYSYMBOL_DISABLE_P = 201, /* DISABLE_P */ YYSYMBOL_DISCARD = 202, /* DISCARD */ YYSYMBOL_DISTINCT = 203, /* DISTINCT */ YYSYMBOL_DO = 204, /* DO */ YYSYMBOL_DOCUMENT_P = 205, /* DOCUMENT_P */ YYSYMBOL_DOMAIN_P = 206, /* DOMAIN_P */ YYSYMBOL_DOUBLE_P = 207, /* DOUBLE_P */ YYSYMBOL_DROP = 208, /* DROP */ YYSYMBOL_EACH = 209, /* EACH */ YYSYMBOL_ELSE = 210, /* ELSE */ YYSYMBOL_ENABLE_P = 211, /* ENABLE_P */ YYSYMBOL_ENCODING = 212, /* ENCODING */ YYSYMBOL_ENCRYPTED = 213, /* ENCRYPTED */ YYSYMBOL_END_P = 214, /* END_P */ YYSYMBOL_ENUM_P = 215, /* ENUM_P */ YYSYMBOL_ESCAPE = 216, /* ESCAPE */ YYSYMBOL_EVENT = 217, /* EVENT */ YYSYMBOL_EXCEPT = 218, /* EXCEPT */ YYSYMBOL_EXCLUDE = 219, /* EXCLUDE */ YYSYMBOL_EXCLUDING = 220, /* EXCLUDING */ YYSYMBOL_EXCLUSIVE = 221, /* EXCLUSIVE */ YYSYMBOL_EXECUTE = 222, /* EXECUTE */ YYSYMBOL_EXISTS = 223, /* EXISTS */ YYSYMBOL_EXPLAIN = 224, /* EXPLAIN */ YYSYMBOL_EXPRESSION = 225, /* EXPRESSION */ YYSYMBOL_EXTENSION = 226, /* EXTENSION */ YYSYMBOL_EXTERNAL = 227, /* EXTERNAL */ YYSYMBOL_EXTRACT = 228, /* EXTRACT */ YYSYMBOL_FALSE_P = 229, /* FALSE_P */ YYSYMBOL_FAMILY = 230, /* FAMILY */ YYSYMBOL_FETCH = 231, /* FETCH */ YYSYMBOL_FILTER = 232, /* FILTER */ YYSYMBOL_FINALIZE = 233, /* FINALIZE */ YYSYMBOL_FIRST_P = 234, /* FIRST_P */ YYSYMBOL_FLOAT_P = 235, /* FLOAT_P */ YYSYMBOL_FOLLOWING = 236, /* FOLLOWING */ YYSYMBOL_FOR = 237, /* FOR */ YYSYMBOL_FORCE = 238, /* FORCE */ YYSYMBOL_FOREIGN = 239, /* FOREIGN */ YYSYMBOL_FORWARD = 240, /* FORWARD */ YYSYMBOL_FREEZE = 241, /* FREEZE */ YYSYMBOL_FROM = 242, /* FROM */ YYSYMBOL_FULL = 243, /* FULL */ YYSYMBOL_FUNCTION = 244, /* FUNCTION */ YYSYMBOL_FUNCTIONS = 245, /* FUNCTIONS */ YYSYMBOL_GENERATED = 246, /* GENERATED */ YYSYMBOL_GLOBAL = 247, /* GLOBAL */ YYSYMBOL_GRANT = 248, /* GRANT */ YYSYMBOL_GRANTED = 249, /* GRANTED */ YYSYMBOL_GREATEST = 250, /* GREATEST */ YYSYMBOL_GROUP_P = 251, /* GROUP_P */ YYSYMBOL_GROUPING = 252, /* GROUPING */ YYSYMBOL_GROUPS = 253, /* GROUPS */ YYSYMBOL_HANDLER = 254, /* HANDLER */ YYSYMBOL_HAVING = 255, /* HAVING */ YYSYMBOL_HEADER_P = 256, /* HEADER_P */ YYSYMBOL_HOLD = 257, /* HOLD */ YYSYMBOL_HOUR_P = 258, /* HOUR_P */ YYSYMBOL_IDENTITY_P = 259, /* IDENTITY_P */ YYSYMBOL_IF_P = 260, /* IF_P */ YYSYMBOL_ILIKE = 261, /* ILIKE */ YYSYMBOL_IMMEDIATE = 262, /* IMMEDIATE */ YYSYMBOL_IMMUTABLE = 263, /* IMMUTABLE */ YYSYMBOL_IMPLICIT_P = 264, /* IMPLICIT_P */ YYSYMBOL_IMPORT_P = 265, /* IMPORT_P */ YYSYMBOL_IN_P = 266, /* IN_P */ YYSYMBOL_INCLUDE = 267, /* INCLUDE */ YYSYMBOL_INCLUDING = 268, /* INCLUDING */ YYSYMBOL_INCREMENT = 269, /* INCREMENT */ YYSYMBOL_INDEX = 270, /* INDEX */ YYSYMBOL_INDEXES = 271, /* INDEXES */ YYSYMBOL_INHERIT = 272, /* INHERIT */ YYSYMBOL_INHERITS = 273, /* INHERITS */ YYSYMBOL_INITIALLY = 274, /* INITIALLY */ YYSYMBOL_INLINE_P = 275, /* INLINE_P */ YYSYMBOL_INNER_P = 276, /* INNER_P */ YYSYMBOL_INOUT = 277, /* INOUT */ YYSYMBOL_INPUT_P = 278, /* INPUT_P */ YYSYMBOL_INSENSITIVE = 279, /* INSENSITIVE */ YYSYMBOL_INSERT = 280, /* INSERT */ YYSYMBOL_INSTEAD = 281, /* INSTEAD */ YYSYMBOL_INT_P = 282, /* INT_P */ YYSYMBOL_INTEGER = 283, /* INTEGER */ YYSYMBOL_INTERSECT = 284, /* INTERSECT */ YYSYMBOL_INTERVAL = 285, /* INTERVAL */ YYSYMBOL_INTO = 286, /* INTO */ YYSYMBOL_INVOKER = 287, /* INVOKER */ YYSYMBOL_IS = 288, /* IS */ YYSYMBOL_ISNULL = 289, /* ISNULL */ YYSYMBOL_ISOLATION = 290, /* ISOLATION */ YYSYMBOL_JOIN = 291, /* JOIN */ YYSYMBOL_KEY = 292, /* KEY */ YYSYMBOL_LABEL = 293, /* LABEL */ YYSYMBOL_LANGUAGE = 294, /* LANGUAGE */ YYSYMBOL_LARGE_P = 295, /* LARGE_P */ YYSYMBOL_LAST_P = 296, /* LAST_P */ YYSYMBOL_LATERAL_P = 297, /* LATERAL_P */ YYSYMBOL_LEADING = 298, /* LEADING */ YYSYMBOL_LEAKPROOF = 299, /* LEAKPROOF */ YYSYMBOL_LEAST = 300, /* LEAST */ YYSYMBOL_LEFT = 301, /* LEFT */ YYSYMBOL_LEVEL = 302, /* LEVEL */ YYSYMBOL_LIKE = 303, /* LIKE */ YYSYMBOL_LIMIT = 304, /* LIMIT */ YYSYMBOL_LISTEN = 305, /* LISTEN */ YYSYMBOL_LOAD = 306, /* LOAD */ YYSYMBOL_LOCAL = 307, /* LOCAL */ YYSYMBOL_LOCALTIME = 308, /* LOCALTIME */ YYSYMBOL_LOCALTIMESTAMP = 309, /* LOCALTIMESTAMP */ YYSYMBOL_LOCATION = 310, /* LOCATION */ YYSYMBOL_LOCK_P = 311, /* LOCK_P */ YYSYMBOL_LOCKED = 312, /* LOCKED */ YYSYMBOL_LOGGED = 313, /* LOGGED */ YYSYMBOL_MAPPING = 314, /* MAPPING */ YYSYMBOL_MATCH = 315, /* MATCH */ YYSYMBOL_MATCHED = 316, /* MATCHED */ YYSYMBOL_MATERIALIZED = 317, /* MATERIALIZED */ YYSYMBOL_MAXVALUE = 318, /* MAXVALUE */ YYSYMBOL_MERGE = 319, /* MERGE */ YYSYMBOL_METHOD = 320, /* METHOD */ YYSYMBOL_MINUTE_P = 321, /* MINUTE_P */ YYSYMBOL_MINVALUE = 322, /* MINVALUE */ YYSYMBOL_MODE = 323, /* MODE */ YYSYMBOL_MONTH_P = 324, /* MONTH_P */ YYSYMBOL_MOVE = 325, /* MOVE */ YYSYMBOL_NAME_P = 326, /* NAME_P */ YYSYMBOL_NAMES = 327, /* NAMES */ YYSYMBOL_NATIONAL = 328, /* NATIONAL */ YYSYMBOL_NATURAL = 329, /* NATURAL */ YYSYMBOL_NCHAR = 330, /* NCHAR */ YYSYMBOL_NEW = 331, /* NEW */ YYSYMBOL_NEXT = 332, /* NEXT */ YYSYMBOL_NFC = 333, /* NFC */ YYSYMBOL_NFD = 334, /* NFD */ YYSYMBOL_NFKC = 335, /* NFKC */ YYSYMBOL_NFKD = 336, /* NFKD */ YYSYMBOL_NO = 337, /* NO */ YYSYMBOL_NONE = 338, /* NONE */ YYSYMBOL_NORMALIZE = 339, /* NORMALIZE */ YYSYMBOL_NORMALIZED = 340, /* NORMALIZED */ YYSYMBOL_NOT = 341, /* NOT */ YYSYMBOL_NOTHING = 342, /* NOTHING */ YYSYMBOL_NOTIFY = 343, /* NOTIFY */ YYSYMBOL_NOTNULL = 344, /* NOTNULL */ YYSYMBOL_NOWAIT = 345, /* NOWAIT */ YYSYMBOL_NULL_P = 346, /* NULL_P */ YYSYMBOL_NULLIF = 347, /* NULLIF */ YYSYMBOL_NULLS_P = 348, /* NULLS_P */ YYSYMBOL_NUMERIC = 349, /* NUMERIC */ YYSYMBOL_OBJECT_P = 350, /* OBJECT_P */ YYSYMBOL_OF = 351, /* OF */ YYSYMBOL_OFF = 352, /* OFF */ YYSYMBOL_OFFSET = 353, /* OFFSET */ YYSYMBOL_OIDS = 354, /* OIDS */ YYSYMBOL_OLD = 355, /* OLD */ YYSYMBOL_ON = 356, /* ON */ YYSYMBOL_ONLY = 357, /* ONLY */ YYSYMBOL_OPERATOR = 358, /* OPERATOR */ YYSYMBOL_OPTION = 359, /* OPTION */ YYSYMBOL_OPTIONS = 360, /* OPTIONS */ YYSYMBOL_OR = 361, /* OR */ YYSYMBOL_ORDER = 362, /* ORDER */ YYSYMBOL_ORDINALITY = 363, /* ORDINALITY */ YYSYMBOL_OTHERS = 364, /* OTHERS */ YYSYMBOL_OUT_P = 365, /* OUT_P */ YYSYMBOL_OUTER_P = 366, /* OUTER_P */ YYSYMBOL_OVER = 367, /* OVER */ YYSYMBOL_OVERLAPS = 368, /* OVERLAPS */ YYSYMBOL_OVERLAY = 369, /* OVERLAY */ YYSYMBOL_OVERRIDING = 370, /* OVERRIDING */ YYSYMBOL_OWNED = 371, /* OWNED */ YYSYMBOL_OWNER = 372, /* OWNER */ YYSYMBOL_PARALLEL = 373, /* PARALLEL */ YYSYMBOL_PARAMETER = 374, /* PARAMETER */ YYSYMBOL_PARSER = 375, /* PARSER */ YYSYMBOL_PARTIAL = 376, /* PARTIAL */ YYSYMBOL_PARTITION = 377, /* PARTITION */ YYSYMBOL_PASSING = 378, /* PASSING */ YYSYMBOL_PASSWORD = 379, /* PASSWORD */ YYSYMBOL_PLACING = 380, /* PLACING */ YYSYMBOL_PLANS = 381, /* PLANS */ YYSYMBOL_POLICY = 382, /* POLICY */ YYSYMBOL_POSITION = 383, /* POSITION */ YYSYMBOL_PRECEDING = 384, /* PRECEDING */ YYSYMBOL_PRECISION = 385, /* PRECISION */ YYSYMBOL_PRESERVE = 386, /* PRESERVE */ YYSYMBOL_PREPARE = 387, /* PREPARE */ YYSYMBOL_PREPARED = 388, /* PREPARED */ YYSYMBOL_PRIMARY = 389, /* PRIMARY */ YYSYMBOL_PRIOR = 390, /* PRIOR */ YYSYMBOL_PRIVILEGES = 391, /* PRIVILEGES */ YYSYMBOL_PROCEDURAL = 392, /* PROCEDURAL */ YYSYMBOL_PROCEDURE = 393, /* PROCEDURE */ YYSYMBOL_PROCEDURES = 394, /* PROCEDURES */ YYSYMBOL_PROGRAM = 395, /* PROGRAM */ YYSYMBOL_PUBLICATION = 396, /* PUBLICATION */ YYSYMBOL_QUOTE = 397, /* QUOTE */ YYSYMBOL_RANGE = 398, /* RANGE */ YYSYMBOL_READ = 399, /* READ */ YYSYMBOL_REAL = 400, /* REAL */ YYSYMBOL_REASSIGN = 401, /* REASSIGN */ YYSYMBOL_RECHECK = 402, /* RECHECK */ YYSYMBOL_RECURSIVE = 403, /* RECURSIVE */ YYSYMBOL_REF_P = 404, /* REF_P */ YYSYMBOL_REFERENCES = 405, /* REFERENCES */ YYSYMBOL_REFERENCING = 406, /* REFERENCING */ YYSYMBOL_REFRESH = 407, /* REFRESH */ YYSYMBOL_REINDEX = 408, /* REINDEX */ YYSYMBOL_RELATIVE_P = 409, /* RELATIVE_P */ YYSYMBOL_RELEASE = 410, /* RELEASE */ YYSYMBOL_RENAME = 411, /* RENAME */ YYSYMBOL_REPEATABLE = 412, /* REPEATABLE */ YYSYMBOL_REPLACE = 413, /* REPLACE */ YYSYMBOL_REPLICA = 414, /* REPLICA */ YYSYMBOL_RESET = 415, /* RESET */ YYSYMBOL_RESTART = 416, /* RESTART */ YYSYMBOL_RESTRICT = 417, /* RESTRICT */ YYSYMBOL_RETURN = 418, /* RETURN */ YYSYMBOL_RETURNING = 419, /* RETURNING */ YYSYMBOL_RETURNS = 420, /* RETURNS */ YYSYMBOL_REVOKE = 421, /* REVOKE */ YYSYMBOL_RIGHT = 422, /* RIGHT */ YYSYMBOL_ROLE = 423, /* ROLE */ YYSYMBOL_ROLLBACK = 424, /* ROLLBACK */ YYSYMBOL_ROLLUP = 425, /* ROLLUP */ YYSYMBOL_ROUTINE = 426, /* ROUTINE */ YYSYMBOL_ROUTINES = 427, /* ROUTINES */ YYSYMBOL_ROW = 428, /* ROW */ YYSYMBOL_ROWS = 429, /* ROWS */ YYSYMBOL_RULE = 430, /* RULE */ YYSYMBOL_SAVEPOINT = 431, /* SAVEPOINT */ YYSYMBOL_SCHEMA = 432, /* SCHEMA */ YYSYMBOL_SCHEMAS = 433, /* SCHEMAS */ YYSYMBOL_SCROLL = 434, /* SCROLL */ YYSYMBOL_SEARCH = 435, /* SEARCH */ YYSYMBOL_SECOND_P = 436, /* SECOND_P */ YYSYMBOL_SECURITY = 437, /* SECURITY */ YYSYMBOL_SELECT = 438, /* SELECT */ YYSYMBOL_SEQUENCE = 439, /* SEQUENCE */ YYSYMBOL_SEQUENCES = 440, /* SEQUENCES */ YYSYMBOL_SERIALIZABLE = 441, /* SERIALIZABLE */ YYSYMBOL_SERVER = 442, /* SERVER */ YYSYMBOL_SESSION = 443, /* SESSION */ YYSYMBOL_SESSION_USER = 444, /* SESSION_USER */ YYSYMBOL_SET = 445, /* SET */ YYSYMBOL_SETS = 446, /* SETS */ YYSYMBOL_SETOF = 447, /* SETOF */ YYSYMBOL_SHARE = 448, /* SHARE */ YYSYMBOL_SHOW = 449, /* SHOW */ YYSYMBOL_SIMILAR = 450, /* SIMILAR */ YYSYMBOL_SIMPLE = 451, /* SIMPLE */ YYSYMBOL_SKIP = 452, /* SKIP */ YYSYMBOL_SMALLINT = 453, /* SMALLINT */ YYSYMBOL_SNAPSHOT = 454, /* SNAPSHOT */ YYSYMBOL_SOME = 455, /* SOME */ YYSYMBOL_SQL_P = 456, /* SQL_P */ YYSYMBOL_STABLE = 457, /* STABLE */ YYSYMBOL_STANDALONE_P = 458, /* STANDALONE_P */ YYSYMBOL_START = 459, /* START */ YYSYMBOL_STATEMENT = 460, /* STATEMENT */ YYSYMBOL_STATISTICS = 461, /* STATISTICS */ YYSYMBOL_STDIN = 462, /* STDIN */ YYSYMBOL_STDOUT = 463, /* STDOUT */ YYSYMBOL_STORAGE = 464, /* STORAGE */ YYSYMBOL_STORED = 465, /* STORED */ YYSYMBOL_STRICT_P = 466, /* STRICT_P */ YYSYMBOL_STRIP_P = 467, /* STRIP_P */ YYSYMBOL_SUBSCRIPTION = 468, /* SUBSCRIPTION */ YYSYMBOL_SUBSTRING = 469, /* SUBSTRING */ YYSYMBOL_SUPPORT = 470, /* SUPPORT */ YYSYMBOL_SYMMETRIC = 471, /* SYMMETRIC */ YYSYMBOL_SYSID = 472, /* SYSID */ YYSYMBOL_SYSTEM_P = 473, /* SYSTEM_P */ YYSYMBOL_TABLE = 474, /* TABLE */ YYSYMBOL_TABLES = 475, /* TABLES */ YYSYMBOL_TABLESAMPLE = 476, /* TABLESAMPLE */ YYSYMBOL_TABLESPACE = 477, /* TABLESPACE */ YYSYMBOL_TEMP = 478, /* TEMP */ YYSYMBOL_TEMPLATE = 479, /* TEMPLATE */ YYSYMBOL_TEMPORARY = 480, /* TEMPORARY */ YYSYMBOL_TEXT_P = 481, /* TEXT_P */ YYSYMBOL_THEN = 482, /* THEN */ YYSYMBOL_TIES = 483, /* TIES */ YYSYMBOL_TIME = 484, /* TIME */ YYSYMBOL_TIMESTAMP = 485, /* TIMESTAMP */ YYSYMBOL_TO = 486, /* TO */ YYSYMBOL_TRAILING = 487, /* TRAILING */ YYSYMBOL_TRANSACTION = 488, /* TRANSACTION */ YYSYMBOL_TRANSFORM = 489, /* TRANSFORM */ YYSYMBOL_TREAT = 490, /* TREAT */ YYSYMBOL_TRIGGER = 491, /* TRIGGER */ YYSYMBOL_TRIM = 492, /* TRIM */ YYSYMBOL_TRUE_P = 493, /* TRUE_P */ YYSYMBOL_TRUNCATE = 494, /* TRUNCATE */ YYSYMBOL_TRUSTED = 495, /* TRUSTED */ YYSYMBOL_TYPE_P = 496, /* TYPE_P */ YYSYMBOL_TYPES_P = 497, /* TYPES_P */ YYSYMBOL_UESCAPE = 498, /* UESCAPE */ YYSYMBOL_UNBOUNDED = 499, /* UNBOUNDED */ YYSYMBOL_UNCOMMITTED = 500, /* UNCOMMITTED */ YYSYMBOL_UNENCRYPTED = 501, /* UNENCRYPTED */ YYSYMBOL_UNION = 502, /* UNION */ YYSYMBOL_UNIQUE = 503, /* UNIQUE */ YYSYMBOL_UNKNOWN = 504, /* UNKNOWN */ YYSYMBOL_UNLISTEN = 505, /* UNLISTEN */ YYSYMBOL_UNLOGGED = 506, /* UNLOGGED */ YYSYMBOL_UNTIL = 507, /* UNTIL */ YYSYMBOL_UPDATE = 508, /* UPDATE */ YYSYMBOL_USER = 509, /* USER */ YYSYMBOL_USING = 510, /* USING */ YYSYMBOL_VACUUM = 511, /* VACUUM */ YYSYMBOL_VALID = 512, /* VALID */ YYSYMBOL_VALIDATE = 513, /* VALIDATE */ YYSYMBOL_VALIDATOR = 514, /* VALIDATOR */ YYSYMBOL_VALUE_P = 515, /* VALUE_P */ YYSYMBOL_VALUES = 516, /* VALUES */ YYSYMBOL_VARCHAR = 517, /* VARCHAR */ YYSYMBOL_VARIADIC = 518, /* VARIADIC */ YYSYMBOL_VARYING = 519, /* VARYING */ YYSYMBOL_VERBOSE = 520, /* VERBOSE */ YYSYMBOL_VERSION_P = 521, /* VERSION_P */ YYSYMBOL_VIEW = 522, /* VIEW */ YYSYMBOL_VIEWS = 523, /* VIEWS */ YYSYMBOL_VOLATILE = 524, /* VOLATILE */ YYSYMBOL_WHEN = 525, /* WHEN */ YYSYMBOL_WHERE = 526, /* WHERE */ YYSYMBOL_WHITESPACE_P = 527, /* WHITESPACE_P */ YYSYMBOL_WINDOW = 528, /* WINDOW */ YYSYMBOL_WITH = 529, /* WITH */ YYSYMBOL_WITHIN = 530, /* WITHIN */ YYSYMBOL_WITHOUT = 531, /* WITHOUT */ YYSYMBOL_WORK = 532, /* WORK */ YYSYMBOL_WRAPPER = 533, /* WRAPPER */ YYSYMBOL_WRITE = 534, /* WRITE */ YYSYMBOL_XML_P = 535, /* XML_P */ YYSYMBOL_XMLATTRIBUTES = 536, /* XMLATTRIBUTES */ YYSYMBOL_XMLCONCAT = 537, /* XMLCONCAT */ YYSYMBOL_XMLELEMENT = 538, /* XMLELEMENT */ YYSYMBOL_XMLEXISTS = 539, /* XMLEXISTS */ YYSYMBOL_XMLFOREST = 540, /* XMLFOREST */ YYSYMBOL_XMLNAMESPACES = 541, /* XMLNAMESPACES */ YYSYMBOL_XMLPARSE = 542, /* XMLPARSE */ YYSYMBOL_XMLPI = 543, /* XMLPI */ YYSYMBOL_XMLROOT = 544, /* XMLROOT */ YYSYMBOL_XMLSERIALIZE = 545, /* XMLSERIALIZE */ YYSYMBOL_XMLTABLE = 546, /* XMLTABLE */ YYSYMBOL_YEAR_P = 547, /* YEAR_P */ YYSYMBOL_YES_P = 548, /* YES_P */ YYSYMBOL_ZONE = 549, /* ZONE */ YYSYMBOL_NOT_LA = 550, /* NOT_LA */ YYSYMBOL_NULLS_LA = 551, /* NULLS_LA */ YYSYMBOL_WITH_LA = 552, /* WITH_LA */ YYSYMBOL_MODE_TYPE_NAME = 553, /* MODE_TYPE_NAME */ YYSYMBOL_MODE_PLPGSQL_EXPR = 554, /* MODE_PLPGSQL_EXPR */ YYSYMBOL_MODE_PLPGSQL_ASSIGN1 = 555, /* MODE_PLPGSQL_ASSIGN1 */ YYSYMBOL_MODE_PLPGSQL_ASSIGN2 = 556, /* MODE_PLPGSQL_ASSIGN2 */ YYSYMBOL_MODE_PLPGSQL_ASSIGN3 = 557, /* MODE_PLPGSQL_ASSIGN3 */ YYSYMBOL_558_ = 558, /* '<' */ YYSYMBOL_559_ = 559, /* '>' */ YYSYMBOL_560_ = 560, /* '=' */ YYSYMBOL_561_ = 561, /* '+' */ YYSYMBOL_562_ = 562, /* '-' */ YYSYMBOL_563_ = 563, /* '*' */ YYSYMBOL_564_ = 564, /* '/' */ YYSYMBOL_565_ = 565, /* '%' */ YYSYMBOL_566_ = 566, /* '^' */ YYSYMBOL_UMINUS = 567, /* UMINUS */ YYSYMBOL_568_ = 568, /* '[' */ YYSYMBOL_569_ = 569, /* ']' */ YYSYMBOL_570_ = 570, /* '(' */ YYSYMBOL_571_ = 571, /* ')' */ YYSYMBOL_572_ = 572, /* '.' */ YYSYMBOL_573_ = 573, /* ',' */ YYSYMBOL_574_ = 574, /* ';' */ YYSYMBOL_575_ = 575, /* ':' */ YYSYMBOL_576_ = 576, /* '{' */ YYSYMBOL_577_ = 577, /* '}' */ YYSYMBOL_YYACCEPT = 578, /* $accept */ YYSYMBOL_prog = 579, /* prog */ YYSYMBOL_toplevel_stmt = 580, /* toplevel_stmt */ YYSYMBOL_stmt = 581, /* stmt */ YYSYMBOL_CallStmt = 582, /* CallStmt */ YYSYMBOL_CreateRoleStmt = 583, /* CreateRoleStmt */ YYSYMBOL_opt_with = 584, /* opt_with */ YYSYMBOL_OptRoleList = 585, /* OptRoleList */ YYSYMBOL_AlterOptRoleList = 586, /* AlterOptRoleList */ YYSYMBOL_AlterOptRoleElem = 587, /* AlterOptRoleElem */ YYSYMBOL_CreateOptRoleElem = 588, /* CreateOptRoleElem */ YYSYMBOL_CreateUserStmt = 589, /* CreateUserStmt */ YYSYMBOL_AlterRoleStmt = 590, /* AlterRoleStmt */ YYSYMBOL_opt_in_database = 591, /* opt_in_database */ YYSYMBOL_AlterRoleSetStmt = 592, /* AlterRoleSetStmt */ YYSYMBOL_DropRoleStmt = 593, /* DropRoleStmt */ YYSYMBOL_CreateGroupStmt = 594, /* CreateGroupStmt */ YYSYMBOL_AlterGroupStmt = 595, /* AlterGroupStmt */ YYSYMBOL_add_drop = 596, /* add_drop */ YYSYMBOL_CreateSchemaStmt = 597, /* CreateSchemaStmt */ YYSYMBOL_OptSchemaName = 598, /* OptSchemaName */ YYSYMBOL_OptSchemaEltList = 599, /* OptSchemaEltList */ YYSYMBOL_schema_stmt = 600, /* schema_stmt */ YYSYMBOL_VariableSetStmt = 601, /* VariableSetStmt */ YYSYMBOL_set_rest = 602, /* set_rest */ YYSYMBOL_generic_set = 603, /* generic_set */ YYSYMBOL_set_rest_more = 604, /* set_rest_more */ YYSYMBOL_var_name = 605, /* var_name */ YYSYMBOL_var_list = 606, /* var_list */ YYSYMBOL_var_value = 607, /* var_value */ YYSYMBOL_iso_level = 608, /* iso_level */ YYSYMBOL_opt_boolean_or_string = 609, /* opt_boolean_or_string */ YYSYMBOL_zone_value = 610, /* zone_value */ YYSYMBOL_opt_encoding = 611, /* opt_encoding */ YYSYMBOL_NonReservedWord_or_Sconst = 612, /* NonReservedWord_or_Sconst */ YYSYMBOL_VariableResetStmt = 613, /* VariableResetStmt */ YYSYMBOL_reset_rest = 614, /* reset_rest */ YYSYMBOL_generic_reset = 615, /* generic_reset */ YYSYMBOL_SetResetClause = 616, /* SetResetClause */ YYSYMBOL_FunctionSetResetClause = 617, /* FunctionSetResetClause */ YYSYMBOL_VariableShowStmt = 618, /* VariableShowStmt */ YYSYMBOL_ConstraintsSetStmt = 619, /* ConstraintsSetStmt */ YYSYMBOL_constraints_set_list = 620, /* constraints_set_list */ YYSYMBOL_constraints_set_mode = 621, /* constraints_set_mode */ YYSYMBOL_CheckPointStmt = 622, /* CheckPointStmt */ YYSYMBOL_DiscardStmt = 623, /* DiscardStmt */ YYSYMBOL_AlterTableStmt = 624, /* AlterTableStmt */ YYSYMBOL_alter_table_cmds = 625, /* alter_table_cmds */ YYSYMBOL_partition_cmd = 626, /* partition_cmd */ YYSYMBOL_index_partition_cmd = 627, /* index_partition_cmd */ YYSYMBOL_alter_table_cmd = 628, /* alter_table_cmd */ YYSYMBOL_alter_column_default = 629, /* alter_column_default */ YYSYMBOL_opt_drop_behavior = 630, /* opt_drop_behavior */ YYSYMBOL_opt_collate_clause = 631, /* opt_collate_clause */ YYSYMBOL_alter_using = 632, /* alter_using */ YYSYMBOL_replica_identity = 633, /* replica_identity */ YYSYMBOL_reloptions = 634, /* reloptions */ YYSYMBOL_opt_reloptions = 635, /* opt_reloptions */ YYSYMBOL_reloption_list = 636, /* reloption_list */ YYSYMBOL_reloption_elem = 637, /* reloption_elem */ YYSYMBOL_alter_identity_column_option_list = 638, /* alter_identity_column_option_list */ YYSYMBOL_alter_identity_column_option = 639, /* alter_identity_column_option */ YYSYMBOL_PartitionBoundSpec = 640, /* PartitionBoundSpec */ YYSYMBOL_hash_partbound_elem = 641, /* hash_partbound_elem */ YYSYMBOL_hash_partbound = 642, /* hash_partbound */ YYSYMBOL_AlterCompositeTypeStmt = 643, /* AlterCompositeTypeStmt */ YYSYMBOL_alter_type_cmds = 644, /* alter_type_cmds */ YYSYMBOL_alter_type_cmd = 645, /* alter_type_cmd */ YYSYMBOL_ClosePortalStmt = 646, /* ClosePortalStmt */ YYSYMBOL_CopyStmt = 647, /* CopyStmt */ YYSYMBOL_copy_from = 648, /* copy_from */ YYSYMBOL_opt_program = 649, /* opt_program */ YYSYMBOL_copy_file_name = 650, /* copy_file_name */ YYSYMBOL_copy_options = 651, /* copy_options */ YYSYMBOL_copy_opt_list = 652, /* copy_opt_list */ YYSYMBOL_copy_opt_item = 653, /* copy_opt_item */ YYSYMBOL_opt_binary = 654, /* opt_binary */ YYSYMBOL_copy_delimiter = 655, /* copy_delimiter */ YYSYMBOL_opt_using = 656, /* opt_using */ YYSYMBOL_copy_generic_opt_list = 657, /* copy_generic_opt_list */ YYSYMBOL_copy_generic_opt_elem = 658, /* copy_generic_opt_elem */ YYSYMBOL_copy_generic_opt_arg = 659, /* copy_generic_opt_arg */ YYSYMBOL_copy_generic_opt_arg_list = 660, /* copy_generic_opt_arg_list */ YYSYMBOL_copy_generic_opt_arg_list_item = 661, /* copy_generic_opt_arg_list_item */ YYSYMBOL_CreateStmt = 662, /* CreateStmt */ YYSYMBOL_OptTemp = 663, /* OptTemp */ YYSYMBOL_OptTableElementList = 664, /* OptTableElementList */ YYSYMBOL_OptTypedTableElementList = 665, /* OptTypedTableElementList */ YYSYMBOL_TableElementList = 666, /* TableElementList */ YYSYMBOL_TypedTableElementList = 667, /* TypedTableElementList */ YYSYMBOL_TableElement = 668, /* TableElement */ YYSYMBOL_TypedTableElement = 669, /* TypedTableElement */ YYSYMBOL_columnDef = 670, /* columnDef */ YYSYMBOL_columnOptions = 671, /* columnOptions */ YYSYMBOL_column_compression = 672, /* column_compression */ YYSYMBOL_opt_column_compression = 673, /* opt_column_compression */ YYSYMBOL_ColQualList = 674, /* ColQualList */ YYSYMBOL_ColConstraint = 675, /* ColConstraint */ YYSYMBOL_ColConstraintElem = 676, /* ColConstraintElem */ YYSYMBOL_opt_unique_null_treatment = 677, /* opt_unique_null_treatment */ YYSYMBOL_generated_when = 678, /* generated_when */ YYSYMBOL_ConstraintAttr = 679, /* ConstraintAttr */ YYSYMBOL_TableLikeClause = 680, /* TableLikeClause */ YYSYMBOL_TableLikeOptionList = 681, /* TableLikeOptionList */ YYSYMBOL_TableLikeOption = 682, /* TableLikeOption */ YYSYMBOL_TableConstraint = 683, /* TableConstraint */ YYSYMBOL_ConstraintElem = 684, /* ConstraintElem */ YYSYMBOL_opt_no_inherit = 685, /* opt_no_inherit */ YYSYMBOL_opt_column_list = 686, /* opt_column_list */ YYSYMBOL_columnList = 687, /* columnList */ YYSYMBOL_columnElem = 688, /* columnElem */ YYSYMBOL_opt_c_include = 689, /* opt_c_include */ YYSYMBOL_key_match = 690, /* key_match */ YYSYMBOL_ExclusionConstraintList = 691, /* ExclusionConstraintList */ YYSYMBOL_ExclusionConstraintElem = 692, /* ExclusionConstraintElem */ YYSYMBOL_OptWhereClause = 693, /* OptWhereClause */ YYSYMBOL_key_actions = 694, /* key_actions */ YYSYMBOL_key_update = 695, /* key_update */ YYSYMBOL_key_delete = 696, /* key_delete */ YYSYMBOL_key_action = 697, /* key_action */ YYSYMBOL_OptInherit = 698, /* OptInherit */ YYSYMBOL_OptPartitionSpec = 699, /* OptPartitionSpec */ YYSYMBOL_PartitionSpec = 700, /* PartitionSpec */ YYSYMBOL_part_params = 701, /* part_params */ YYSYMBOL_part_elem = 702, /* part_elem */ YYSYMBOL_table_access_method_clause = 703, /* table_access_method_clause */ YYSYMBOL_OptWith = 704, /* OptWith */ YYSYMBOL_OnCommitOption = 705, /* OnCommitOption */ YYSYMBOL_OptTableSpace = 706, /* OptTableSpace */ YYSYMBOL_OptConsTableSpace = 707, /* OptConsTableSpace */ YYSYMBOL_ExistingIndex = 708, /* ExistingIndex */ YYSYMBOL_CreateStatsStmt = 709, /* CreateStatsStmt */ YYSYMBOL_stats_params = 710, /* stats_params */ YYSYMBOL_stats_param = 711, /* stats_param */ YYSYMBOL_AlterStatsStmt = 712, /* AlterStatsStmt */ YYSYMBOL_create_as_target = 713, /* create_as_target */ YYSYMBOL_opt_with_data = 714, /* opt_with_data */ YYSYMBOL_CreateMatViewStmt = 715, /* CreateMatViewStmt */ YYSYMBOL_create_mv_target = 716, /* create_mv_target */ YYSYMBOL_OptNoLog = 717, /* OptNoLog */ YYSYMBOL_RefreshMatViewStmt = 718, /* RefreshMatViewStmt */ YYSYMBOL_CreateSeqStmt = 719, /* CreateSeqStmt */ YYSYMBOL_AlterSeqStmt = 720, /* AlterSeqStmt */ YYSYMBOL_OptSeqOptList = 721, /* OptSeqOptList */ YYSYMBOL_OptParenthesizedSeqOptList = 722, /* OptParenthesizedSeqOptList */ YYSYMBOL_SeqOptList = 723, /* SeqOptList */ YYSYMBOL_SeqOptElem = 724, /* SeqOptElem */ YYSYMBOL_opt_by = 725, /* opt_by */ YYSYMBOL_NumericOnly = 726, /* NumericOnly */ YYSYMBOL_NumericOnly_list = 727, /* NumericOnly_list */ YYSYMBOL_CreatePLangStmt = 728, /* CreatePLangStmt */ YYSYMBOL_opt_trusted = 729, /* opt_trusted */ YYSYMBOL_handler_name = 730, /* handler_name */ YYSYMBOL_opt_inline_handler = 731, /* opt_inline_handler */ YYSYMBOL_validator_clause = 732, /* validator_clause */ YYSYMBOL_opt_validator = 733, /* opt_validator */ YYSYMBOL_opt_procedural = 734, /* opt_procedural */ YYSYMBOL_CreateTableSpaceStmt = 735, /* CreateTableSpaceStmt */ YYSYMBOL_OptTableSpaceOwner = 736, /* OptTableSpaceOwner */ YYSYMBOL_DropTableSpaceStmt = 737, /* DropTableSpaceStmt */ YYSYMBOL_CreateExtensionStmt = 738, /* CreateExtensionStmt */ YYSYMBOL_create_extension_opt_list = 739, /* create_extension_opt_list */ YYSYMBOL_create_extension_opt_item = 740, /* create_extension_opt_item */ YYSYMBOL_AlterExtensionStmt = 741, /* AlterExtensionStmt */ YYSYMBOL_alter_extension_opt_list = 742, /* alter_extension_opt_list */ YYSYMBOL_alter_extension_opt_item = 743, /* alter_extension_opt_item */ YYSYMBOL_AlterExtensionContentsStmt = 744, /* AlterExtensionContentsStmt */ YYSYMBOL_CreateFdwStmt = 745, /* CreateFdwStmt */ YYSYMBOL_fdw_option = 746, /* fdw_option */ YYSYMBOL_fdw_options = 747, /* fdw_options */ YYSYMBOL_opt_fdw_options = 748, /* opt_fdw_options */ YYSYMBOL_AlterFdwStmt = 749, /* AlterFdwStmt */ YYSYMBOL_create_generic_options = 750, /* create_generic_options */ YYSYMBOL_generic_option_list = 751, /* generic_option_list */ YYSYMBOL_alter_generic_options = 752, /* alter_generic_options */ YYSYMBOL_alter_generic_option_list = 753, /* alter_generic_option_list */ YYSYMBOL_alter_generic_option_elem = 754, /* alter_generic_option_elem */ YYSYMBOL_generic_option_elem = 755, /* generic_option_elem */ YYSYMBOL_generic_option_name = 756, /* generic_option_name */ YYSYMBOL_generic_option_arg = 757, /* generic_option_arg */ YYSYMBOL_CreateForeignServerStmt = 758, /* CreateForeignServerStmt */ YYSYMBOL_opt_type = 759, /* opt_type */ YYSYMBOL_foreign_server_version = 760, /* foreign_server_version */ YYSYMBOL_opt_foreign_server_version = 761, /* opt_foreign_server_version */ YYSYMBOL_AlterForeignServerStmt = 762, /* AlterForeignServerStmt */ YYSYMBOL_CreateForeignTableStmt = 763, /* CreateForeignTableStmt */ YYSYMBOL_ImportForeignSchemaStmt = 764, /* ImportForeignSchemaStmt */ YYSYMBOL_import_qualification_type = 765, /* import_qualification_type */ YYSYMBOL_import_qualification = 766, /* import_qualification */ YYSYMBOL_CreateUserMappingStmt = 767, /* CreateUserMappingStmt */ YYSYMBOL_auth_ident = 768, /* auth_ident */ YYSYMBOL_DropUserMappingStmt = 769, /* DropUserMappingStmt */ YYSYMBOL_AlterUserMappingStmt = 770, /* AlterUserMappingStmt */ YYSYMBOL_CreatePolicyStmt = 771, /* CreatePolicyStmt */ YYSYMBOL_AlterPolicyStmt = 772, /* AlterPolicyStmt */ YYSYMBOL_RowSecurityOptionalExpr = 773, /* RowSecurityOptionalExpr */ YYSYMBOL_RowSecurityOptionalWithCheck = 774, /* RowSecurityOptionalWithCheck */ YYSYMBOL_RowSecurityDefaultToRole = 775, /* RowSecurityDefaultToRole */ YYSYMBOL_RowSecurityOptionalToRole = 776, /* RowSecurityOptionalToRole */ YYSYMBOL_RowSecurityDefaultPermissive = 777, /* RowSecurityDefaultPermissive */ YYSYMBOL_RowSecurityDefaultForCmd = 778, /* RowSecurityDefaultForCmd */ YYSYMBOL_row_security_cmd = 779, /* row_security_cmd */ YYSYMBOL_CreateAmStmt = 780, /* CreateAmStmt */ YYSYMBOL_am_type = 781, /* am_type */ YYSYMBOL_CreateTrigStmt = 782, /* CreateTrigStmt */ YYSYMBOL_TriggerActionTime = 783, /* TriggerActionTime */ YYSYMBOL_TriggerEvents = 784, /* TriggerEvents */ YYSYMBOL_TriggerOneEvent = 785, /* TriggerOneEvent */ YYSYMBOL_TriggerReferencing = 786, /* TriggerReferencing */ YYSYMBOL_TriggerTransitions = 787, /* TriggerTransitions */ YYSYMBOL_TriggerTransition = 788, /* TriggerTransition */ YYSYMBOL_TransitionOldOrNew = 789, /* TransitionOldOrNew */ YYSYMBOL_TransitionRowOrTable = 790, /* TransitionRowOrTable */ YYSYMBOL_TransitionRelName = 791, /* TransitionRelName */ YYSYMBOL_TriggerForSpec = 792, /* TriggerForSpec */ YYSYMBOL_TriggerForOptEach = 793, /* TriggerForOptEach */ YYSYMBOL_TriggerForType = 794, /* TriggerForType */ YYSYMBOL_TriggerWhen = 795, /* TriggerWhen */ YYSYMBOL_FUNCTION_or_PROCEDURE = 796, /* FUNCTION_or_PROCEDURE */ YYSYMBOL_TriggerFuncArgs = 797, /* TriggerFuncArgs */ YYSYMBOL_TriggerFuncArg = 798, /* TriggerFuncArg */ YYSYMBOL_OptConstrFromTable = 799, /* OptConstrFromTable */ YYSYMBOL_ConstraintAttributeSpec = 800, /* ConstraintAttributeSpec */ YYSYMBOL_ConstraintAttributeElem = 801, /* ConstraintAttributeElem */ YYSYMBOL_CreateEventTrigStmt = 802, /* CreateEventTrigStmt */ YYSYMBOL_event_trigger_when_list = 803, /* event_trigger_when_list */ YYSYMBOL_event_trigger_when_item = 804, /* event_trigger_when_item */ YYSYMBOL_event_trigger_value_list = 805, /* event_trigger_value_list */ YYSYMBOL_AlterEventTrigStmt = 806, /* AlterEventTrigStmt */ YYSYMBOL_enable_trigger = 807, /* enable_trigger */ YYSYMBOL_CreateAssertionStmt = 808, /* CreateAssertionStmt */ YYSYMBOL_DefineStmt = 809, /* DefineStmt */ YYSYMBOL_definition = 810, /* definition */ YYSYMBOL_def_list = 811, /* def_list */ YYSYMBOL_def_elem = 812, /* def_elem */ YYSYMBOL_def_arg = 813, /* def_arg */ YYSYMBOL_old_aggr_definition = 814, /* old_aggr_definition */ YYSYMBOL_old_aggr_list = 815, /* old_aggr_list */ YYSYMBOL_old_aggr_elem = 816, /* old_aggr_elem */ YYSYMBOL_opt_enum_val_list = 817, /* opt_enum_val_list */ YYSYMBOL_enum_val_list = 818, /* enum_val_list */ YYSYMBOL_AlterEnumStmt = 819, /* AlterEnumStmt */ YYSYMBOL_opt_if_not_exists = 820, /* opt_if_not_exists */ YYSYMBOL_CreateOpClassStmt = 821, /* CreateOpClassStmt */ YYSYMBOL_opclass_item_list = 822, /* opclass_item_list */ YYSYMBOL_opclass_item = 823, /* opclass_item */ YYSYMBOL_opt_default = 824, /* opt_default */ YYSYMBOL_opt_opfamily = 825, /* opt_opfamily */ YYSYMBOL_opclass_purpose = 826, /* opclass_purpose */ YYSYMBOL_opt_recheck = 827, /* opt_recheck */ YYSYMBOL_CreateOpFamilyStmt = 828, /* CreateOpFamilyStmt */ YYSYMBOL_AlterOpFamilyStmt = 829, /* AlterOpFamilyStmt */ YYSYMBOL_opclass_drop_list = 830, /* opclass_drop_list */ YYSYMBOL_opclass_drop = 831, /* opclass_drop */ YYSYMBOL_DropOpClassStmt = 832, /* DropOpClassStmt */ YYSYMBOL_DropOpFamilyStmt = 833, /* DropOpFamilyStmt */ YYSYMBOL_DropOwnedStmt = 834, /* DropOwnedStmt */ YYSYMBOL_ReassignOwnedStmt = 835, /* ReassignOwnedStmt */ YYSYMBOL_DropStmt = 836, /* DropStmt */ YYSYMBOL_object_type_any_name = 837, /* object_type_any_name */ YYSYMBOL_object_type_name = 838, /* object_type_name */ YYSYMBOL_drop_type_name = 839, /* drop_type_name */ YYSYMBOL_object_type_name_on_any_name = 840, /* object_type_name_on_any_name */ YYSYMBOL_any_name_list = 841, /* any_name_list */ YYSYMBOL_any_name = 842, /* any_name */ YYSYMBOL_attrs = 843, /* attrs */ YYSYMBOL_type_name_list = 844, /* type_name_list */ YYSYMBOL_TruncateStmt = 845, /* TruncateStmt */ YYSYMBOL_opt_restart_seqs = 846, /* opt_restart_seqs */ YYSYMBOL_CommentStmt = 847, /* CommentStmt */ YYSYMBOL_comment_text = 848, /* comment_text */ YYSYMBOL_SecLabelStmt = 849, /* SecLabelStmt */ YYSYMBOL_opt_provider = 850, /* opt_provider */ YYSYMBOL_security_label = 851, /* security_label */ YYSYMBOL_FetchStmt = 852, /* FetchStmt */ YYSYMBOL_fetch_args = 853, /* fetch_args */ YYSYMBOL_from_in = 854, /* from_in */ YYSYMBOL_opt_from_in = 855, /* opt_from_in */ YYSYMBOL_GrantStmt = 856, /* GrantStmt */ YYSYMBOL_RevokeStmt = 857, /* RevokeStmt */ YYSYMBOL_privileges = 858, /* privileges */ YYSYMBOL_privilege_list = 859, /* privilege_list */ YYSYMBOL_privilege = 860, /* privilege */ YYSYMBOL_parameter_name_list = 861, /* parameter_name_list */ YYSYMBOL_parameter_name = 862, /* parameter_name */ YYSYMBOL_privilege_target = 863, /* privilege_target */ YYSYMBOL_grantee_list = 864, /* grantee_list */ YYSYMBOL_grantee = 865, /* grantee */ YYSYMBOL_opt_grant_grant_option = 866, /* opt_grant_grant_option */ YYSYMBOL_GrantRoleStmt = 867, /* GrantRoleStmt */ YYSYMBOL_RevokeRoleStmt = 868, /* RevokeRoleStmt */ YYSYMBOL_opt_grant_admin_option = 869, /* opt_grant_admin_option */ YYSYMBOL_opt_granted_by = 870, /* opt_granted_by */ YYSYMBOL_AlterDefaultPrivilegesStmt = 871, /* AlterDefaultPrivilegesStmt */ YYSYMBOL_DefACLOptionList = 872, /* DefACLOptionList */ YYSYMBOL_DefACLOption = 873, /* DefACLOption */ YYSYMBOL_DefACLAction = 874, /* DefACLAction */ YYSYMBOL_defacl_privilege_target = 875, /* defacl_privilege_target */ YYSYMBOL_IndexStmt = 876, /* IndexStmt */ YYSYMBOL_opt_unique = 877, /* opt_unique */ YYSYMBOL_opt_concurrently = 878, /* opt_concurrently */ YYSYMBOL_opt_index_name = 879, /* opt_index_name */ YYSYMBOL_access_method_clause = 880, /* access_method_clause */ YYSYMBOL_index_params = 881, /* index_params */ YYSYMBOL_index_elem_options = 882, /* index_elem_options */ YYSYMBOL_index_elem = 883, /* index_elem */ YYSYMBOL_opt_include = 884, /* opt_include */ YYSYMBOL_index_including_params = 885, /* index_including_params */ YYSYMBOL_opt_collate = 886, /* opt_collate */ YYSYMBOL_opt_class = 887, /* opt_class */ YYSYMBOL_opt_asc_desc = 888, /* opt_asc_desc */ YYSYMBOL_opt_nulls_order = 889, /* opt_nulls_order */ YYSYMBOL_CreateFunctionStmt = 890, /* CreateFunctionStmt */ YYSYMBOL_opt_or_replace = 891, /* opt_or_replace */ YYSYMBOL_func_args = 892, /* func_args */ YYSYMBOL_func_args_list = 893, /* func_args_list */ YYSYMBOL_function_with_argtypes_list = 894, /* function_with_argtypes_list */ YYSYMBOL_function_with_argtypes = 895, /* function_with_argtypes */ YYSYMBOL_func_args_with_defaults = 896, /* func_args_with_defaults */ YYSYMBOL_func_args_with_defaults_list = 897, /* func_args_with_defaults_list */ YYSYMBOL_func_arg = 898, /* func_arg */ YYSYMBOL_arg_class = 899, /* arg_class */ YYSYMBOL_param_name = 900, /* param_name */ YYSYMBOL_func_return = 901, /* func_return */ YYSYMBOL_func_type = 902, /* func_type */ YYSYMBOL_func_arg_with_default = 903, /* func_arg_with_default */ YYSYMBOL_aggr_arg = 904, /* aggr_arg */ YYSYMBOL_aggr_args = 905, /* aggr_args */ YYSYMBOL_aggr_args_list = 906, /* aggr_args_list */ YYSYMBOL_aggregate_with_argtypes = 907, /* aggregate_with_argtypes */ YYSYMBOL_aggregate_with_argtypes_list = 908, /* aggregate_with_argtypes_list */ YYSYMBOL_opt_createfunc_opt_list = 909, /* opt_createfunc_opt_list */ YYSYMBOL_createfunc_opt_list = 910, /* createfunc_opt_list */ YYSYMBOL_common_func_opt_item = 911, /* common_func_opt_item */ YYSYMBOL_createfunc_opt_item = 912, /* createfunc_opt_item */ YYSYMBOL_func_as = 913, /* func_as */ YYSYMBOL_ReturnStmt = 914, /* ReturnStmt */ YYSYMBOL_opt_routine_body = 915, /* opt_routine_body */ YYSYMBOL_routine_body_stmt_list = 916, /* routine_body_stmt_list */ YYSYMBOL_routine_body_stmt = 917, /* routine_body_stmt */ YYSYMBOL_transform_type_list = 918, /* transform_type_list */ YYSYMBOL_opt_definition = 919, /* opt_definition */ YYSYMBOL_table_func_column = 920, /* table_func_column */ YYSYMBOL_table_func_column_list = 921, /* table_func_column_list */ YYSYMBOL_AlterFunctionStmt = 922, /* AlterFunctionStmt */ YYSYMBOL_alterfunc_opt_list = 923, /* alterfunc_opt_list */ YYSYMBOL_opt_restrict = 924, /* opt_restrict */ YYSYMBOL_RemoveFuncStmt = 925, /* RemoveFuncStmt */ YYSYMBOL_RemoveAggrStmt = 926, /* RemoveAggrStmt */ YYSYMBOL_RemoveOperStmt = 927, /* RemoveOperStmt */ YYSYMBOL_oper_argtypes = 928, /* oper_argtypes */ YYSYMBOL_any_operator = 929, /* any_operator */ YYSYMBOL_operator_with_argtypes_list = 930, /* operator_with_argtypes_list */ YYSYMBOL_operator_with_argtypes = 931, /* operator_with_argtypes */ YYSYMBOL_DoStmt = 932, /* DoStmt */ YYSYMBOL_dostmt_opt_list = 933, /* dostmt_opt_list */ YYSYMBOL_dostmt_opt_item = 934, /* dostmt_opt_item */ YYSYMBOL_CreateCastStmt = 935, /* CreateCastStmt */ YYSYMBOL_cast_context = 936, /* cast_context */ YYSYMBOL_DropCastStmt = 937, /* DropCastStmt */ YYSYMBOL_opt_if_exists = 938, /* opt_if_exists */ YYSYMBOL_CreateTransformStmt = 939, /* CreateTransformStmt */ YYSYMBOL_transform_element_list = 940, /* transform_element_list */ YYSYMBOL_DropTransformStmt = 941, /* DropTransformStmt */ YYSYMBOL_ReindexStmt = 942, /* ReindexStmt */ YYSYMBOL_reindex_target_type = 943, /* reindex_target_type */ YYSYMBOL_reindex_target_multitable = 944, /* reindex_target_multitable */ YYSYMBOL_AlterTblSpcStmt = 945, /* AlterTblSpcStmt */ YYSYMBOL_RenameStmt = 946, /* RenameStmt */ YYSYMBOL_opt_column = 947, /* opt_column */ YYSYMBOL_opt_set_data = 948, /* opt_set_data */ YYSYMBOL_AlterObjectDependsStmt = 949, /* AlterObjectDependsStmt */ YYSYMBOL_opt_no = 950, /* opt_no */ YYSYMBOL_AlterObjectSchemaStmt = 951, /* AlterObjectSchemaStmt */ YYSYMBOL_AlterOperatorStmt = 952, /* AlterOperatorStmt */ YYSYMBOL_operator_def_list = 953, /* operator_def_list */ YYSYMBOL_operator_def_elem = 954, /* operator_def_elem */ YYSYMBOL_operator_def_arg = 955, /* operator_def_arg */ YYSYMBOL_AlterTypeStmt = 956, /* AlterTypeStmt */ YYSYMBOL_AlterOwnerStmt = 957, /* AlterOwnerStmt */ YYSYMBOL_CreatePublicationStmt = 958, /* CreatePublicationStmt */ YYSYMBOL_PublicationObjSpec = 959, /* PublicationObjSpec */ YYSYMBOL_pub_obj_list = 960, /* pub_obj_list */ YYSYMBOL_AlterPublicationStmt = 961, /* AlterPublicationStmt */ YYSYMBOL_CreateSubscriptionStmt = 962, /* CreateSubscriptionStmt */ YYSYMBOL_AlterSubscriptionStmt = 963, /* AlterSubscriptionStmt */ YYSYMBOL_DropSubscriptionStmt = 964, /* DropSubscriptionStmt */ YYSYMBOL_RuleStmt = 965, /* RuleStmt */ YYSYMBOL_RuleActionList = 966, /* RuleActionList */ YYSYMBOL_RuleActionMulti = 967, /* RuleActionMulti */ YYSYMBOL_RuleActionStmt = 968, /* RuleActionStmt */ YYSYMBOL_RuleActionStmtOrEmpty = 969, /* RuleActionStmtOrEmpty */ YYSYMBOL_event = 970, /* event */ YYSYMBOL_opt_instead = 971, /* opt_instead */ YYSYMBOL_NotifyStmt = 972, /* NotifyStmt */ YYSYMBOL_notify_payload = 973, /* notify_payload */ YYSYMBOL_ListenStmt = 974, /* ListenStmt */ YYSYMBOL_UnlistenStmt = 975, /* UnlistenStmt */ YYSYMBOL_TransactionStmt = 976, /* TransactionStmt */ YYSYMBOL_TransactionStmtLegacy = 977, /* TransactionStmtLegacy */ YYSYMBOL_opt_transaction = 978, /* opt_transaction */ YYSYMBOL_transaction_mode_item = 979, /* transaction_mode_item */ YYSYMBOL_transaction_mode_list = 980, /* transaction_mode_list */ YYSYMBOL_transaction_mode_list_or_empty = 981, /* transaction_mode_list_or_empty */ YYSYMBOL_opt_transaction_chain = 982, /* opt_transaction_chain */ YYSYMBOL_ViewStmt = 983, /* ViewStmt */ YYSYMBOL_opt_check_option = 984, /* opt_check_option */ YYSYMBOL_LoadStmt = 985, /* LoadStmt */ YYSYMBOL_CreatedbStmt = 986, /* CreatedbStmt */ YYSYMBOL_createdb_opt_list = 987, /* createdb_opt_list */ YYSYMBOL_createdb_opt_items = 988, /* createdb_opt_items */ YYSYMBOL_createdb_opt_item = 989, /* createdb_opt_item */ YYSYMBOL_createdb_opt_name = 990, /* createdb_opt_name */ YYSYMBOL_opt_equal = 991, /* opt_equal */ YYSYMBOL_AlterDatabaseStmt = 992, /* AlterDatabaseStmt */ YYSYMBOL_AlterDatabaseSetStmt = 993, /* AlterDatabaseSetStmt */ YYSYMBOL_DropdbStmt = 994, /* DropdbStmt */ YYSYMBOL_drop_option_list = 995, /* drop_option_list */ YYSYMBOL_drop_option = 996, /* drop_option */ YYSYMBOL_AlterCollationStmt = 997, /* AlterCollationStmt */ YYSYMBOL_AlterSystemStmt = 998, /* AlterSystemStmt */ YYSYMBOL_CreateDomainStmt = 999, /* CreateDomainStmt */ YYSYMBOL_AlterDomainStmt = 1000, /* AlterDomainStmt */ YYSYMBOL_opt_as = 1001, /* opt_as */ YYSYMBOL_AlterTSDictionaryStmt = 1002, /* AlterTSDictionaryStmt */ YYSYMBOL_AlterTSConfigurationStmt = 1003, /* AlterTSConfigurationStmt */ YYSYMBOL_any_with = 1004, /* any_with */ YYSYMBOL_CreateConversionStmt = 1005, /* CreateConversionStmt */ YYSYMBOL_ClusterStmt = 1006, /* ClusterStmt */ YYSYMBOL_cluster_index_specification = 1007, /* cluster_index_specification */ YYSYMBOL_VacuumStmt = 1008, /* VacuumStmt */ YYSYMBOL_AnalyzeStmt = 1009, /* AnalyzeStmt */ YYSYMBOL_utility_option_list = 1010, /* utility_option_list */ YYSYMBOL_analyze_keyword = 1011, /* analyze_keyword */ YYSYMBOL_utility_option_elem = 1012, /* utility_option_elem */ YYSYMBOL_utility_option_name = 1013, /* utility_option_name */ YYSYMBOL_utility_option_arg = 1014, /* utility_option_arg */ YYSYMBOL_opt_analyze = 1015, /* opt_analyze */ YYSYMBOL_opt_verbose = 1016, /* opt_verbose */ YYSYMBOL_opt_full = 1017, /* opt_full */ YYSYMBOL_opt_freeze = 1018, /* opt_freeze */ YYSYMBOL_opt_name_list = 1019, /* opt_name_list */ YYSYMBOL_vacuum_relation = 1020, /* vacuum_relation */ YYSYMBOL_vacuum_relation_list = 1021, /* vacuum_relation_list */ YYSYMBOL_opt_vacuum_relation_list = 1022, /* opt_vacuum_relation_list */ YYSYMBOL_ExplainStmt = 1023, /* ExplainStmt */ YYSYMBOL_ExplainableStmt = 1024, /* ExplainableStmt */ YYSYMBOL_PrepareStmt = 1025, /* PrepareStmt */ YYSYMBOL_prep_type_clause = 1026, /* prep_type_clause */ YYSYMBOL_PreparableStmt = 1027, /* PreparableStmt */ YYSYMBOL_ExecuteStmt = 1028, /* ExecuteStmt */ YYSYMBOL_execute_param_clause = 1029, /* execute_param_clause */ YYSYMBOL_InsertStmt = 1030, /* InsertStmt */ YYSYMBOL_insert_target = 1031, /* insert_target */ YYSYMBOL_insert_rest = 1032, /* insert_rest */ YYSYMBOL_override_kind = 1033, /* override_kind */ YYSYMBOL_insert_column_list = 1034, /* insert_column_list */ YYSYMBOL_insert_column_item = 1035, /* insert_column_item */ YYSYMBOL_opt_on_conflict = 1036, /* opt_on_conflict */ YYSYMBOL_opt_conf_expr = 1037, /* opt_conf_expr */ YYSYMBOL_returning_clause = 1038, /* returning_clause */ YYSYMBOL_DeleteStmt = 1039, /* DeleteStmt */ YYSYMBOL_using_clause = 1040, /* using_clause */ YYSYMBOL_LockStmt = 1041, /* LockStmt */ YYSYMBOL_opt_lock = 1042, /* opt_lock */ YYSYMBOL_lock_type = 1043, /* lock_type */ YYSYMBOL_opt_nowait = 1044, /* opt_nowait */ YYSYMBOL_opt_nowait_or_skip = 1045, /* opt_nowait_or_skip */ YYSYMBOL_UpdateStmt = 1046, /* UpdateStmt */ YYSYMBOL_set_clause_list = 1047, /* set_clause_list */ YYSYMBOL_set_clause = 1048, /* set_clause */ YYSYMBOL_set_target = 1049, /* set_target */ YYSYMBOL_set_target_list = 1050, /* set_target_list */ YYSYMBOL_MergeStmt = 1051, /* MergeStmt */ YYSYMBOL_merge_when_list = 1052, /* merge_when_list */ YYSYMBOL_merge_when_clause = 1053, /* merge_when_clause */ YYSYMBOL_opt_merge_when_condition = 1054, /* opt_merge_when_condition */ YYSYMBOL_merge_update = 1055, /* merge_update */ YYSYMBOL_merge_delete = 1056, /* merge_delete */ YYSYMBOL_merge_insert = 1057, /* merge_insert */ YYSYMBOL_merge_values_clause = 1058, /* merge_values_clause */ YYSYMBOL_DeclareCursorStmt = 1059, /* DeclareCursorStmt */ YYSYMBOL_cursor_name = 1060, /* cursor_name */ YYSYMBOL_cursor_options = 1061, /* cursor_options */ YYSYMBOL_opt_hold = 1062, /* opt_hold */ YYSYMBOL_SelectStmt = 1063, /* SelectStmt */ YYSYMBOL_select_with_parens = 1064, /* select_with_parens */ YYSYMBOL_select_no_parens = 1065, /* select_no_parens */ YYSYMBOL_select_clause = 1066, /* select_clause */ YYSYMBOL_simple_select = 1067, /* simple_select */ YYSYMBOL_with_clause = 1068, /* with_clause */ YYSYMBOL_cte_list = 1069, /* cte_list */ YYSYMBOL_common_table_expr = 1070, /* common_table_expr */ YYSYMBOL_opt_materialized = 1071, /* opt_materialized */ YYSYMBOL_opt_search_clause = 1072, /* opt_search_clause */ YYSYMBOL_opt_cycle_clause = 1073, /* opt_cycle_clause */ YYSYMBOL_opt_with_clause = 1074, /* opt_with_clause */ YYSYMBOL_into_clause = 1075, /* into_clause */ YYSYMBOL_OptTempTableName = 1076, /* OptTempTableName */ YYSYMBOL_opt_table = 1077, /* opt_table */ YYSYMBOL_set_quantifier = 1078, /* set_quantifier */ YYSYMBOL_distinct_clause = 1079, /* distinct_clause */ YYSYMBOL_opt_all_clause = 1080, /* opt_all_clause */ YYSYMBOL_opt_sort_clause = 1081, /* opt_sort_clause */ YYSYMBOL_sort_clause = 1082, /* sort_clause */ YYSYMBOL_sortby_list = 1083, /* sortby_list */ YYSYMBOL_sortby = 1084, /* sortby */ YYSYMBOL_select_limit = 1085, /* select_limit */ YYSYMBOL_opt_select_limit = 1086, /* opt_select_limit */ YYSYMBOL_limit_clause = 1087, /* limit_clause */ YYSYMBOL_offset_clause = 1088, /* offset_clause */ YYSYMBOL_select_limit_value = 1089, /* select_limit_value */ YYSYMBOL_select_offset_value = 1090, /* select_offset_value */ YYSYMBOL_select_fetch_first_value = 1091, /* select_fetch_first_value */ YYSYMBOL_I_or_F_const = 1092, /* I_or_F_const */ YYSYMBOL_row_or_rows = 1093, /* row_or_rows */ YYSYMBOL_first_or_next = 1094, /* first_or_next */ YYSYMBOL_group_clause = 1095, /* group_clause */ YYSYMBOL_group_by_list = 1096, /* group_by_list */ YYSYMBOL_group_by_item = 1097, /* group_by_item */ YYSYMBOL_empty_grouping_set = 1098, /* empty_grouping_set */ YYSYMBOL_rollup_clause = 1099, /* rollup_clause */ YYSYMBOL_cube_clause = 1100, /* cube_clause */ YYSYMBOL_grouping_sets_clause = 1101, /* grouping_sets_clause */ YYSYMBOL_having_clause = 1102, /* having_clause */ YYSYMBOL_for_locking_clause = 1103, /* for_locking_clause */ YYSYMBOL_opt_for_locking_clause = 1104, /* opt_for_locking_clause */ YYSYMBOL_for_locking_items = 1105, /* for_locking_items */ YYSYMBOL_for_locking_item = 1106, /* for_locking_item */ YYSYMBOL_for_locking_strength = 1107, /* for_locking_strength */ YYSYMBOL_locked_rels_list = 1108, /* locked_rels_list */ YYSYMBOL_values_clause = 1109, /* values_clause */ YYSYMBOL_from_clause = 1110, /* from_clause */ YYSYMBOL_from_list = 1111, /* from_list */ YYSYMBOL_table_ref = 1112, /* table_ref */ YYSYMBOL_joined_table = 1113, /* joined_table */ YYSYMBOL_alias_clause = 1114, /* alias_clause */ YYSYMBOL_opt_alias_clause = 1115, /* opt_alias_clause */ YYSYMBOL_opt_alias_clause_for_join_using = 1116, /* opt_alias_clause_for_join_using */ YYSYMBOL_func_alias_clause = 1117, /* func_alias_clause */ YYSYMBOL_join_type = 1118, /* join_type */ YYSYMBOL_opt_outer = 1119, /* opt_outer */ YYSYMBOL_join_qual = 1120, /* join_qual */ YYSYMBOL_relation_expr = 1121, /* relation_expr */ YYSYMBOL_extended_relation_expr = 1122, /* extended_relation_expr */ YYSYMBOL_relation_expr_list = 1123, /* relation_expr_list */ YYSYMBOL_relation_expr_opt_alias = 1124, /* relation_expr_opt_alias */ YYSYMBOL_tablesample_clause = 1125, /* tablesample_clause */ YYSYMBOL_opt_repeatable_clause = 1126, /* opt_repeatable_clause */ YYSYMBOL_func_table = 1127, /* func_table */ YYSYMBOL_rowsfrom_item = 1128, /* rowsfrom_item */ YYSYMBOL_rowsfrom_list = 1129, /* rowsfrom_list */ YYSYMBOL_opt_col_def_list = 1130, /* opt_col_def_list */ YYSYMBOL_opt_ordinality = 1131, /* opt_ordinality */ YYSYMBOL_where_clause = 1132, /* where_clause */ YYSYMBOL_where_or_current_clause = 1133, /* where_or_current_clause */ YYSYMBOL_OptTableFuncElementList = 1134, /* OptTableFuncElementList */ YYSYMBOL_TableFuncElementList = 1135, /* TableFuncElementList */ YYSYMBOL_TableFuncElement = 1136, /* TableFuncElement */ YYSYMBOL_xmltable = 1137, /* xmltable */ YYSYMBOL_xmltable_column_list = 1138, /* xmltable_column_list */ YYSYMBOL_xmltable_column_el = 1139, /* xmltable_column_el */ YYSYMBOL_xmltable_column_option_list = 1140, /* xmltable_column_option_list */ YYSYMBOL_xmltable_column_option_el = 1141, /* xmltable_column_option_el */ YYSYMBOL_xml_namespace_list = 1142, /* xml_namespace_list */ YYSYMBOL_xml_namespace_el = 1143, /* xml_namespace_el */ YYSYMBOL_Typename = 1144, /* Typename */ YYSYMBOL_opt_array_bounds = 1145, /* opt_array_bounds */ YYSYMBOL_SimpleTypename = 1146, /* SimpleTypename */ YYSYMBOL_ConstTypename = 1147, /* ConstTypename */ YYSYMBOL_GenericType = 1148, /* GenericType */ YYSYMBOL_opt_type_modifiers = 1149, /* opt_type_modifiers */ YYSYMBOL_Numeric = 1150, /* Numeric */ YYSYMBOL_opt_float = 1151, /* opt_float */ YYSYMBOL_Bit = 1152, /* Bit */ YYSYMBOL_ConstBit = 1153, /* ConstBit */ YYSYMBOL_BitWithLength = 1154, /* BitWithLength */ YYSYMBOL_BitWithoutLength = 1155, /* BitWithoutLength */ YYSYMBOL_Character = 1156, /* Character */ YYSYMBOL_ConstCharacter = 1157, /* ConstCharacter */ YYSYMBOL_CharacterWithLength = 1158, /* CharacterWithLength */ YYSYMBOL_CharacterWithoutLength = 1159, /* CharacterWithoutLength */ YYSYMBOL_character = 1160, /* character */ YYSYMBOL_opt_varying = 1161, /* opt_varying */ YYSYMBOL_ConstDatetime = 1162, /* ConstDatetime */ YYSYMBOL_ConstInterval = 1163, /* ConstInterval */ YYSYMBOL_opt_timezone = 1164, /* opt_timezone */ YYSYMBOL_opt_interval = 1165, /* opt_interval */ YYSYMBOL_interval_second = 1166, /* interval_second */ YYSYMBOL_a_expr = 1167, /* a_expr */ YYSYMBOL_b_expr = 1168, /* b_expr */ YYSYMBOL_c_expr = 1169, /* c_expr */ YYSYMBOL_func_application = 1170, /* func_application */ YYSYMBOL_func_expr = 1171, /* func_expr */ YYSYMBOL_func_expr_windowless = 1172, /* func_expr_windowless */ YYSYMBOL_func_expr_common_subexpr = 1173, /* func_expr_common_subexpr */ YYSYMBOL_xml_root_version = 1174, /* xml_root_version */ YYSYMBOL_opt_xml_root_standalone = 1175, /* opt_xml_root_standalone */ YYSYMBOL_xml_attributes = 1176, /* xml_attributes */ YYSYMBOL_xml_attribute_list = 1177, /* xml_attribute_list */ YYSYMBOL_xml_attribute_el = 1178, /* xml_attribute_el */ YYSYMBOL_document_or_content = 1179, /* document_or_content */ YYSYMBOL_xml_whitespace_option = 1180, /* xml_whitespace_option */ YYSYMBOL_xmlexists_argument = 1181, /* xmlexists_argument */ YYSYMBOL_xml_passing_mech = 1182, /* xml_passing_mech */ YYSYMBOL_within_group_clause = 1183, /* within_group_clause */ YYSYMBOL_filter_clause = 1184, /* filter_clause */ YYSYMBOL_window_clause = 1185, /* window_clause */ YYSYMBOL_window_definition_list = 1186, /* window_definition_list */ YYSYMBOL_window_definition = 1187, /* window_definition */ YYSYMBOL_over_clause = 1188, /* over_clause */ YYSYMBOL_window_specification = 1189, /* window_specification */ YYSYMBOL_opt_existing_window_name = 1190, /* opt_existing_window_name */ YYSYMBOL_opt_partition_clause = 1191, /* opt_partition_clause */ YYSYMBOL_opt_frame_clause = 1192, /* opt_frame_clause */ YYSYMBOL_frame_extent = 1193, /* frame_extent */ YYSYMBOL_frame_bound = 1194, /* frame_bound */ YYSYMBOL_opt_window_exclusion_clause = 1195, /* opt_window_exclusion_clause */ YYSYMBOL_row = 1196, /* row */ YYSYMBOL_explicit_row = 1197, /* explicit_row */ YYSYMBOL_implicit_row = 1198, /* implicit_row */ YYSYMBOL_sub_type = 1199, /* sub_type */ YYSYMBOL_all_Op = 1200, /* all_Op */ YYSYMBOL_MathOp = 1201, /* MathOp */ YYSYMBOL_qual_Op = 1202, /* qual_Op */ YYSYMBOL_qual_all_Op = 1203, /* qual_all_Op */ YYSYMBOL_subquery_Op = 1204, /* subquery_Op */ YYSYMBOL_expr_list = 1205, /* expr_list */ YYSYMBOL_func_arg_list = 1206, /* func_arg_list */ YYSYMBOL_func_arg_expr = 1207, /* func_arg_expr */ YYSYMBOL_func_arg_list_opt = 1208, /* func_arg_list_opt */ YYSYMBOL_type_list = 1209, /* type_list */ YYSYMBOL_array_expr = 1210, /* array_expr */ YYSYMBOL_array_expr_list = 1211, /* array_expr_list */ YYSYMBOL_extract_list = 1212, /* extract_list */ YYSYMBOL_extract_arg = 1213, /* extract_arg */ YYSYMBOL_unicode_normal_form = 1214, /* unicode_normal_form */ YYSYMBOL_overlay_list = 1215, /* overlay_list */ YYSYMBOL_position_list = 1216, /* position_list */ YYSYMBOL_substr_list = 1217, /* substr_list */ YYSYMBOL_trim_list = 1218, /* trim_list */ YYSYMBOL_in_expr = 1219, /* in_expr */ YYSYMBOL_case_expr = 1220, /* case_expr */ YYSYMBOL_when_clause_list = 1221, /* when_clause_list */ YYSYMBOL_when_clause = 1222, /* when_clause */ YYSYMBOL_case_default = 1223, /* case_default */ YYSYMBOL_case_arg = 1224, /* case_arg */ YYSYMBOL_columnref = 1225, /* columnref */ YYSYMBOL_indirection_el = 1226, /* indirection_el */ YYSYMBOL_opt_slice_bound = 1227, /* opt_slice_bound */ YYSYMBOL_indirection = 1228, /* indirection */ YYSYMBOL_opt_indirection = 1229, /* opt_indirection */ YYSYMBOL_opt_asymmetric = 1230, /* opt_asymmetric */ YYSYMBOL_opt_target_list = 1231, /* opt_target_list */ YYSYMBOL_target_list = 1232, /* target_list */ YYSYMBOL_target_el = 1233, /* target_el */ YYSYMBOL_qualified_name_list = 1234, /* qualified_name_list */ YYSYMBOL_qualified_name = 1235, /* qualified_name */ YYSYMBOL_name_list = 1236, /* name_list */ YYSYMBOL_name = 1237, /* name */ YYSYMBOL_attr_name = 1238, /* attr_name */ YYSYMBOL_file_name = 1239, /* file_name */ YYSYMBOL_func_name = 1240, /* func_name */ YYSYMBOL_AexprConst = 1241, /* AexprConst */ YYSYMBOL_Iconst = 1242, /* Iconst */ YYSYMBOL_SignedIconst = 1243, /* SignedIconst */ YYSYMBOL_RoleId = 1244, /* RoleId */ YYSYMBOL_RoleSpec = 1245, /* RoleSpec */ YYSYMBOL_role_list = 1246, /* role_list */ YYSYMBOL_NonReservedWord = 1247, /* NonReservedWord */ YYSYMBOL_BareColLabel = 1248, /* BareColLabel */ YYSYMBOL_unreserved_keyword = 1249, /* unreserved_keyword */ YYSYMBOL_col_name_keyword = 1250, /* col_name_keyword */ YYSYMBOL_type_func_name_keyword = 1251, /* type_func_name_keyword */ YYSYMBOL_reserved_keyword = 1252, /* reserved_keyword */ YYSYMBOL_bare_label_keyword = 1253, /* bare_label_keyword */ YYSYMBOL_statements = 1254, /* statements */ YYSYMBOL_statement = 1255, /* statement */ YYSYMBOL_CreateAsStmt = 1256, /* CreateAsStmt */ YYSYMBOL_1257_1 = 1257, /* $@1 */ YYSYMBOL_1258_2 = 1258, /* $@2 */ YYSYMBOL_at = 1259, /* at */ YYSYMBOL_ECPGConnect = 1260, /* ECPGConnect */ YYSYMBOL_connection_target = 1261, /* connection_target */ YYSYMBOL_opt_database_name = 1262, /* opt_database_name */ YYSYMBOL_db_prefix = 1263, /* db_prefix */ YYSYMBOL_server = 1264, /* server */ YYSYMBOL_opt_server = 1265, /* opt_server */ YYSYMBOL_server_name = 1266, /* server_name */ YYSYMBOL_opt_port = 1267, /* opt_port */ YYSYMBOL_opt_connection_name = 1268, /* opt_connection_name */ YYSYMBOL_opt_user = 1269, /* opt_user */ YYSYMBOL_ora_user = 1270, /* ora_user */ YYSYMBOL_user_name = 1271, /* user_name */ YYSYMBOL_char_variable = 1272, /* char_variable */ YYSYMBOL_opt_options = 1273, /* opt_options */ YYSYMBOL_connect_options = 1274, /* connect_options */ YYSYMBOL_opt_opt_value = 1275, /* opt_opt_value */ YYSYMBOL_prepared_name = 1276, /* prepared_name */ YYSYMBOL_ECPGDeclareStmt = 1277, /* ECPGDeclareStmt */ YYSYMBOL_ECPGCursorStmt = 1278, /* ECPGCursorStmt */ YYSYMBOL_ECPGExecuteImmediateStmt = 1279, /* ECPGExecuteImmediateStmt */ YYSYMBOL_ECPGVarDeclaration = 1280, /* ECPGVarDeclaration */ YYSYMBOL_single_vt_declaration = 1281, /* single_vt_declaration */ YYSYMBOL_precision = 1282, /* precision */ YYSYMBOL_opt_scale = 1283, /* opt_scale */ YYSYMBOL_ecpg_interval = 1284, /* ecpg_interval */ YYSYMBOL_ECPGDeclaration = 1285, /* ECPGDeclaration */ YYSYMBOL_1286_3 = 1286, /* $@3 */ YYSYMBOL_sql_startdeclare = 1287, /* sql_startdeclare */ YYSYMBOL_sql_enddeclare = 1288, /* sql_enddeclare */ YYSYMBOL_var_type_declarations = 1289, /* var_type_declarations */ YYSYMBOL_vt_declarations = 1290, /* vt_declarations */ YYSYMBOL_variable_declarations = 1291, /* variable_declarations */ YYSYMBOL_type_declaration = 1292, /* type_declaration */ YYSYMBOL_1293_4 = 1293, /* $@4 */ YYSYMBOL_var_declaration = 1294, /* var_declaration */ YYSYMBOL_1295_5 = 1295, /* $@5 */ YYSYMBOL_1296_6 = 1296, /* $@6 */ YYSYMBOL_opt_bit_field = 1297, /* opt_bit_field */ YYSYMBOL_storage_declaration = 1298, /* storage_declaration */ YYSYMBOL_storage_clause = 1299, /* storage_clause */ YYSYMBOL_storage_modifier = 1300, /* storage_modifier */ YYSYMBOL_var_type = 1301, /* var_type */ YYSYMBOL_enum_type = 1302, /* enum_type */ YYSYMBOL_enum_definition = 1303, /* enum_definition */ YYSYMBOL_struct_union_type_with_symbol = 1304, /* struct_union_type_with_symbol */ YYSYMBOL_1305_7 = 1305, /* $@7 */ YYSYMBOL_struct_union_type = 1306, /* struct_union_type */ YYSYMBOL_1307_8 = 1307, /* $@8 */ YYSYMBOL_s_struct_union_symbol = 1308, /* s_struct_union_symbol */ YYSYMBOL_s_struct_union = 1309, /* s_struct_union */ YYSYMBOL_simple_type = 1310, /* simple_type */ YYSYMBOL_unsigned_type = 1311, /* unsigned_type */ YYSYMBOL_signed_type = 1312, /* signed_type */ YYSYMBOL_opt_signed = 1313, /* opt_signed */ YYSYMBOL_variable_list = 1314, /* variable_list */ YYSYMBOL_variable = 1315, /* variable */ YYSYMBOL_opt_initializer = 1316, /* opt_initializer */ YYSYMBOL_opt_pointer = 1317, /* opt_pointer */ YYSYMBOL_ECPGDeclare = 1318, /* ECPGDeclare */ YYSYMBOL_ECPGDisconnect = 1319, /* ECPGDisconnect */ YYSYMBOL_dis_name = 1320, /* dis_name */ YYSYMBOL_connection_object = 1321, /* connection_object */ YYSYMBOL_execstring = 1322, /* execstring */ YYSYMBOL_ECPGFree = 1323, /* ECPGFree */ YYSYMBOL_ECPGOpen = 1324, /* ECPGOpen */ YYSYMBOL_opt_ecpg_using = 1325, /* opt_ecpg_using */ YYSYMBOL_ecpg_using = 1326, /* ecpg_using */ YYSYMBOL_using_descriptor = 1327, /* using_descriptor */ YYSYMBOL_into_descriptor = 1328, /* into_descriptor */ YYSYMBOL_into_sqlda = 1329, /* into_sqlda */ YYSYMBOL_using_list = 1330, /* using_list */ YYSYMBOL_UsingValue = 1331, /* UsingValue */ YYSYMBOL_UsingConst = 1332, /* UsingConst */ YYSYMBOL_ECPGDescribe = 1333, /* ECPGDescribe */ YYSYMBOL_opt_output = 1334, /* opt_output */ YYSYMBOL_ECPGAllocateDescr = 1335, /* ECPGAllocateDescr */ YYSYMBOL_ECPGDeallocateDescr = 1336, /* ECPGDeallocateDescr */ YYSYMBOL_ECPGGetDescriptorHeader = 1337, /* ECPGGetDescriptorHeader */ YYSYMBOL_ECPGGetDescHeaderItems = 1338, /* ECPGGetDescHeaderItems */ YYSYMBOL_ECPGGetDescHeaderItem = 1339, /* ECPGGetDescHeaderItem */ YYSYMBOL_ECPGSetDescriptorHeader = 1340, /* ECPGSetDescriptorHeader */ YYSYMBOL_ECPGSetDescHeaderItems = 1341, /* ECPGSetDescHeaderItems */ YYSYMBOL_ECPGSetDescHeaderItem = 1342, /* ECPGSetDescHeaderItem */ YYSYMBOL_IntConstVar = 1343, /* IntConstVar */ YYSYMBOL_desc_header_item = 1344, /* desc_header_item */ YYSYMBOL_ECPGGetDescriptor = 1345, /* ECPGGetDescriptor */ YYSYMBOL_ECPGGetDescItems = 1346, /* ECPGGetDescItems */ YYSYMBOL_ECPGGetDescItem = 1347, /* ECPGGetDescItem */ YYSYMBOL_ECPGSetDescriptor = 1348, /* ECPGSetDescriptor */ YYSYMBOL_ECPGSetDescItems = 1349, /* ECPGSetDescItems */ YYSYMBOL_ECPGSetDescItem = 1350, /* ECPGSetDescItem */ YYSYMBOL_AllConstVar = 1351, /* AllConstVar */ YYSYMBOL_descriptor_item = 1352, /* descriptor_item */ YYSYMBOL_ECPGSetAutocommit = 1353, /* ECPGSetAutocommit */ YYSYMBOL_on_off = 1354, /* on_off */ YYSYMBOL_ECPGSetConnection = 1355, /* ECPGSetConnection */ YYSYMBOL_ECPGTypedef = 1356, /* ECPGTypedef */ YYSYMBOL_1357_9 = 1357, /* $@9 */ YYSYMBOL_opt_reference = 1358, /* opt_reference */ YYSYMBOL_ECPGVar = 1359, /* ECPGVar */ YYSYMBOL_1360_10 = 1360, /* $@10 */ YYSYMBOL_ECPGWhenever = 1361, /* ECPGWhenever */ YYSYMBOL_action = 1362, /* action */ YYSYMBOL_ECPGKeywords = 1363, /* ECPGKeywords */ YYSYMBOL_ECPGKeywords_vanames = 1364, /* ECPGKeywords_vanames */ YYSYMBOL_ECPGKeywords_rest = 1365, /* ECPGKeywords_rest */ YYSYMBOL_ECPGTypeName = 1366, /* ECPGTypeName */ YYSYMBOL_symbol = 1367, /* symbol */ YYSYMBOL_ECPGColId = 1368, /* ECPGColId */ YYSYMBOL_ColId = 1369, /* ColId */ YYSYMBOL_type_function_name = 1370, /* type_function_name */ YYSYMBOL_ColLabel = 1371, /* ColLabel */ YYSYMBOL_ECPGColLabel = 1372, /* ECPGColLabel */ YYSYMBOL_ECPGColLabelCommon = 1373, /* ECPGColLabelCommon */ YYSYMBOL_ECPGCKeywords = 1374, /* ECPGCKeywords */ YYSYMBOL_all_unreserved_keyword = 1375, /* all_unreserved_keyword */ YYSYMBOL_ECPGunreserved_interval = 1376, /* ECPGunreserved_interval */ YYSYMBOL_into_list = 1377, /* into_list */ YYSYMBOL_ecpgstart = 1378, /* ecpgstart */ YYSYMBOL_c_args = 1379, /* c_args */ YYSYMBOL_coutputvariable = 1380, /* coutputvariable */ YYSYMBOL_civarind = 1381, /* civarind */ YYSYMBOL_char_civar = 1382, /* char_civar */ YYSYMBOL_civar = 1383, /* civar */ YYSYMBOL_indicator = 1384, /* indicator */ YYSYMBOL_cvariable = 1385, /* cvariable */ YYSYMBOL_ecpg_param = 1386, /* ecpg_param */ YYSYMBOL_ecpg_bconst = 1387, /* ecpg_bconst */ YYSYMBOL_ecpg_fconst = 1388, /* ecpg_fconst */ YYSYMBOL_ecpg_sconst = 1389, /* ecpg_sconst */ YYSYMBOL_ecpg_xconst = 1390, /* ecpg_xconst */ YYSYMBOL_ecpg_ident = 1391, /* ecpg_ident */ YYSYMBOL_quoted_ident_stringvar = 1392, /* quoted_ident_stringvar */ YYSYMBOL_c_stuff_item = 1393, /* c_stuff_item */ YYSYMBOL_c_stuff = 1394, /* c_stuff */ YYSYMBOL_c_list = 1395, /* c_list */ YYSYMBOL_c_term = 1396, /* c_term */ YYSYMBOL_c_thing = 1397, /* c_thing */ YYSYMBOL_c_anything = 1398, /* c_anything */ YYSYMBOL_DeallocateStmt = 1399, /* DeallocateStmt */ YYSYMBOL_Iresult = 1400, /* Iresult */ YYSYMBOL_execute_rest = 1401, /* execute_rest */ YYSYMBOL_ecpg_into = 1402, /* ecpg_into */ YYSYMBOL_opt_ecpg_into = 1403, /* opt_ecpg_into */ YYSYMBOL_ecpg_fetch_into = 1404, /* ecpg_fetch_into */ YYSYMBOL_opt_ecpg_fetch_into = 1405 /* 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 151443 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 578 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 828 /* YYNRULES -- Number of rules. */ #define YYNRULES 3667 /* YYNSTATES -- Number of states. */ #define YYNSTATES 6719 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 813 /* 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, 565, 2, 2, 570, 571, 563, 561, 573, 562, 572, 564, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 575, 574, 558, 560, 559, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 568, 2, 569, 566, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 576, 2, 577, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, 567 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { 0, 1673, 1673, 1676, 1680, 1690, 1692, 1694, 1696, 1698, 1700, 1702, 1704, 1706, 1708, 1710, 1712, 1714, 1716, 1718, 1720, 1722, 1724, 1726, 1728, 1730, 1732, 1734, 1736, 1738, 1740, 1742, 1744, 1746, 1748, 1750, 1752, 1754, 1756, 1758, 1760, 1778, 1780, 1782, 1784, 1786, 1788, 1790, 1792, 1794, 1796, 1798, 1800, 1802, 1804, 1806, 1808, 1810, 1812, 1814, 1816, 1818, 1820, 1822, 1824, 1826, 1828, 1830, 1832, 1834, 1836, 1838, 1840, 1842, 1844, 1846, 1848, 1850, 1854, 1856, 1858, 1860, 1862, 1864, 1866, 1868, 1870, 1872, 1874, 1876, 1878, 1880, 1882, 1884, 1886, 1910, 1912, 1914, 1916, 1918, 1920, 1922, 1924, 1926, 1928, 1930, 1932, 1934, 1936, 1964, 1966, 1968, 1970, 1972, 1974, 1976, 1978, 1980, 1982, 1984, 1986, 1992, 1994, 1996, 1998, 2000, 2002, 2004, 2006, 2008, 2014, 2024, 2028, 2032, 2038, 2042, 2054, 2064, 2065, 2079, 2086, 2092, 2103, 2109, 2118, 2125, 2131, 2140, 2147, 2155, 2160, 2168, 2176, 2180, 2185, 2191, 2196, 2202, 2207, 2213, 2217, 2221, 2225, 2230, 2234, 2238, 2242, 2246, 2254, 2258, 2262, 2266, 2270, 2274, 2282, 2290, 2294, 2303, 2305, 2313, 2317, 2321, 2325, 2333, 2337, 2341, 2345, 2349, 2353, 2361, 2369, 2377, 2381, 2389, 2393, 2397, 2401, 2409, 2414, 2420, 2425, 2431, 2435, 2439, 2443, 2447, 2451, 2459, 2463, 2467, 2475, 2479, 2483, 2491, 2495, 2499, 2503, 2511, 2515, 2519, 2523, 2528, 2532, 2536, 2540, 2544, 2548, 2552, 2560, 2564, 2572, 2576, 2584, 2588, 2602, 2606, 2610, 2614, 2622, 2626, 2630, 2634, 2642, 2646, 2650, 2654, 2658, 2662, 2666, 2674, 2678, 2683, 2689, 2693, 2701, 2709, 2713, 2717, 2721, 2729, 2733, 2741, 2745, 2753, 2757, 2765, 2769, 2773, 2777, 2781, 2790, 2798, 2802, 2810, 2814, 2822, 2830, 2834, 2838, 2842, 2846, 2854, 2858, 2862, 2866, 2870, 2874, 2878, 2882, 2886, 2890, 2894, 2898, 2902, 2906, 2910, 2914, 2918, 2922, 2926, 2930, 2934, 2942, 2946, 2954, 2958, 2962, 2970, 2978, 2982, 2986, 2990, 2994, 2998, 3002, 3006, 3010, 3014, 3018, 3022, 3026, 3030, 3034, 3038, 3042, 3046, 3050, 3054, 3058, 3062, 3066, 3070, 3074, 3078, 3082, 3086, 3090, 3094, 3098, 3102, 3106, 3110, 3114, 3118, 3122, 3126, 3130, 3134, 3138, 3142, 3146, 3150, 3154, 3158, 3162, 3166, 3170, 3174, 3178, 3182, 3186, 3190, 3194, 3198, 3202, 3206, 3210, 3214, 3222, 3226, 3234, 3238, 3243, 3249, 3254, 3260, 3265, 3271, 3275, 3279, 3283, 3291, 3299, 3304, 3310, 3314, 3322, 3326, 3330, 3334, 3342, 3346, 3354, 3358, 3362, 3366, 3374, 3378, 3382, 3386, 3394, 3402, 3406, 3414, 3422, 3426, 3434, 3438, 3442, 3446, 3454, 3470, 3478, 3486, 3494, 3498, 3506, 3511, 3517, 3521, 3525, 3533, 3537, 3545, 3550, 3556, 3560, 3564, 3568, 3572, 3576, 3580, 3584, 3588, 3592, 3596, 3600, 3604, 3612, 3617, 3623, 3628, 3634, 3639, 3645, 3649, 3657, 3665, 3669, 3673, 3677, 3682, 3688, 3692, 3700, 3708, 3712, 3716, 3720, 3724, 3728, 3736, 3740, 3744, 3748, 3752, 3756, 3760, 3765, 3771, 3776, 3782, 3787, 3793, 3797, 3805, 3809, 3817, 3821, 3825, 3833, 3837, 3845, 3853, 3857, 3865, 3869, 3877, 3882, 3888, 3893, 3899, 3903, 3907, 3911, 3919, 3923, 3927, 3931, 3935, 3939, 3943, 3947, 3951, 3959, 3963, 3968, 3974, 3978, 3986, 3990, 3994, 3998, 4006, 4014, 4018, 4023, 4029, 4033, 4037, 4041, 4045, 4049, 4053, 4057, 4061, 4065, 4073, 4077, 4085, 4089, 4093, 4097, 4101, 4105, 4109, 4117, 4122, 4128, 4133, 4139, 4143, 4151, 4159, 4164, 4170, 4174, 4179, 4184, 4190, 4194, 4202, 4206, 4214, 4219, 4225, 4229, 4233, 4237, 4242, 4248, 4256, 4264, 4268, 4272, 4276, 4280, 4288, 4293, 4299, 4304, 4310, 4318, 4322, 4330, 4334, 4338, 4346, 4351, 4357, 4361, 4366, 4372, 4376, 4380, 4385, 4391, 4396, 4402, 4407, 4413, 4421, 4425, 4433, 4437, 4445, 4449, 4453, 4461, 4465, 4473, 4481, 4485, 4490, 4496, 4500, 4508, 4516, 4521, 4527, 4535, 4539, 4547, 4551, 4559, 4564, 4570, 4575, 4581, 4585, 4593, 4597, 4601, 4605, 4609, 4613, 4617, 4621, 4625, 4629, 4633, 4637, 4641, 4645, 4653, 4658, 4664, 4668, 4672, 4676, 4684, 4688, 4696, 4700, 4708, 4713, 4719, 4723, 4731, 4736, 4742, 4746, 4754, 4759, 4765, 4770, 4776, 4784, 4789, 4795, 4799, 4807, 4811, 4819, 4824, 4830, 4834, 4838, 4843, 4851, 4859, 4864, 4870, 4878, 4882, 4886, 4890, 4894, 4898, 4902, 4906, 4910, 4914, 4918, 4922, 4926, 4934, 4942, 4946, 4950, 4954, 4962, 4966, 4974, 4979, 4985, 4989, 4997, 5002, 5008, 5012, 5020, 5028, 5032, 5040, 5044, 5048, 5052, 5060, 5068, 5076, 5084, 5088, 5096, 5101, 5107, 5111, 5119, 5124, 5130, 5134, 5138, 5146, 5150, 5154, 5158, 5166, 5174, 5178, 5186, 5191, 5197, 5201, 5209, 5213, 5221, 5225, 5233, 5241, 5249, 5257, 5262, 5268, 5273, 5279, 5284, 5290, 5295, 5301, 5306, 5312, 5317, 5323, 5327, 5331, 5335, 5339, 5347, 5355, 5359, 5367, 5371, 5379, 5383, 5387, 5395, 5399, 5407, 5411, 5415, 5419, 5423, 5431, 5436, 5442, 5446, 5454, 5462, 5466, 5474, 5478, 5486, 5494, 5499, 5505, 5510, 5516, 5520, 5528, 5533, 5539, 5543, 5551, 5555, 5560, 5566, 5570, 5574, 5578, 5586, 5591, 5598, 5600, 5608, 5612, 5616, 5620, 5624, 5628, 5636, 5640, 5648, 5652, 5660, 5668, 5672, 5680, 5688, 5692, 5696, 5700, 5708, 5717, 5721, 5725, 5729, 5733, 5737, 5741, 5745, 5749, 5753, 5757, 5761, 5765, 5769, 5773, 5777, 5785, 5793, 5797, 5805, 5809, 5817, 5821, 5825, 5829, 5833, 5837, 5845, 5853, 5857, 5865, 5873, 5878, 5884, 5888, 5896, 5900, 5904, 5908, 5916, 5921, 5927, 5935, 5939, 5947, 5951, 5955, 5959, 5963, 5971, 5976, 5982, 5987, 5993, 5997, 6002, 6008, 6014, 6020, 6028, 6032, 6040, 6044, 6052, 6056, 6064, 6068, 6076, 6080, 6088, 6096, 6104, 6108, 6112, 6116, 6120, 6124, 6128, 6132, 6136, 6140, 6144, 6148, 6156, 6160, 6164, 6168, 6172, 6176, 6180, 6184, 6188, 6192, 6196, 6200, 6204, 6212, 6216, 6220, 6224, 6228, 6236, 6240, 6244, 6248, 6252, 6256, 6260, 6264, 6272, 6276, 6280, 6288, 6292, 6300, 6304, 6312, 6316, 6324, 6328, 6336, 6344, 6348, 6353, 6359, 6363, 6367, 6371, 6375, 6379, 6383, 6387, 6391, 6395, 6399, 6403, 6407, 6411, 6415, 6419, 6423, 6427, 6435, 6439, 6447, 6451, 6455, 6459, 6463, 6467, 6471, 6475, 6479, 6483, 6491, 6496, 6502, 6506, 6514, 6518, 6522, 6526, 6535, 6544, 6553, 6562, 6571, 6580, 6589, 6602, 6616, 6630, 6644, 6658, 6672, 6686, 6705, 6724, 6743, 6757, 6776, 6790, 6809, 6827, 6831, 6839, 6844, 6850, 6858, 6862, 6870, 6874, 6878, 6882, 6886, 6894, 6898, 6906, 6910, 6914, 6918, 6922, 6930, 6934, 6942, 6946, 6954, 6958, 6962, 6966, 6970, 6974, 6978, 6982, 6986, 6990, 6994, 6998, 7002, 7006, 7010, 7014, 7018, 7022, 7026, 7030, 7034, 7042, 7046, 7054, 7058, 7066, 7071, 7077, 7085, 7089, 7097, 7102, 7108, 7113, 7119, 7127, 7132, 7138, 7142, 7146, 7154, 7158, 7162, 7170, 7174, 7178, 7182, 7186, 7190, 7198, 7202, 7210, 7215, 7221, 7226, 7232, 7237, 7243, 7248, 7254, 7258, 7266, 7270, 7278, 7282, 7286, 7294, 7299, 7305, 7309, 7317, 7322, 7328, 7333, 7339, 7343, 7348, 7354, 7358, 7363, 7369, 7373, 7377, 7381, 7389, 7394, 7400, 7404, 7412, 7416, 7424, 7428, 7436, 7440, 7444, 7448, 7456, 7460, 7468, 7472, 7480, 7484, 7488, 7492, 7496, 7504, 7508, 7512, 7516, 7520, 7528, 7536, 7544, 7548, 7552, 7560, 7564, 7568, 7576, 7584, 7588, 7592, 7596, 7604, 7608, 7616, 7624, 7628, 7636, 7641, 7647, 7651, 7659, 7663, 7667, 7671, 7675, 7679, 7683, 7687, 7691, 7695, 7699, 7703, 7707, 7711, 7715, 7719, 7723, 7731, 7735, 7739, 7743, 7747, 7755, 7759, 7767, 7775, 7779, 7784, 7790, 7795, 7801, 7805, 7813, 7817, 7825, 7830, 7836, 7844, 7848, 7856, 7860, 7864, 7872, 7876, 7884, 7889, 7895, 7899, 7903, 7907, 7911, 7915, 7923, 7927, 7935, 7939, 7947, 7951, 7955, 7959, 7967, 7971, 7979, 7983, 7991, 7999, 8007, 8011, 8019, 8023, 8031, 8035, 8039, 8047, 8051, 8056, 8062, 8070, 8075, 8081, 8089, 8093, 8097, 8101, 8109, 8117, 8121, 8125, 8129, 8137, 8141, 8149, 8153, 8157, 8165, 8169, 8177, 8181, 8185, 8189, 8193, 8197, 8201, 8205, 8209, 8213, 8217, 8221, 8225, 8229, 8233, 8237, 8241, 8245, 8249, 8253, 8257, 8261, 8265, 8269, 8273, 8277, 8281, 8285, 8289, 8293, 8297, 8301, 8305, 8309, 8313, 8317, 8321, 8325, 8329, 8333, 8337, 8341, 8345, 8349, 8353, 8357, 8361, 8365, 8369, 8373, 8377, 8381, 8385, 8389, 8393, 8401, 8406, 8412, 8417, 8423, 8427, 8431, 8435, 8439, 8443, 8451, 8456, 8462, 8466, 8470, 8474, 8478, 8482, 8486, 8490, 8494, 8498, 8502, 8506, 8510, 8514, 8518, 8522, 8526, 8530, 8534, 8538, 8542, 8546, 8550, 8554, 8558, 8562, 8566, 8574, 8582, 8586, 8594, 8598, 8606, 8610, 8614, 8618, 8622, 8630, 8638, 8642, 8646, 8650, 8654, 8658, 8662, 8666, 8670, 8674, 8678, 8682, 8686, 8690, 8694, 8698, 8702, 8706, 8710, 8714, 8718, 8722, 8726, 8730, 8738, 8742, 8746, 8754, 8758, 8762, 8766, 8770, 8774, 8778, 8786, 8790, 8798, 8802, 8806, 8810, 8818, 8826, 8830, 8834, 8838, 8842, 8846, 8850, 8854, 8858, 8866, 8870, 8878, 8886, 8890, 8894, 8902, 8906, 8914, 8918, 8922, 8926, 8930, 8938, 8943, 8949, 8953, 8957, 8961, 8969, 8973, 8978, 8984, 8992, 8997, 9003, 9011, 9015, 9023, 9027, 9031, 9035, 9039, 9043, 9047, 9051, 9055, 9059, 9063, 9067, 9075, 9079, 9087, 9091, 9096, 9102, 9106, 9110, 9114, 9118, 9126, 9130, 9134, 9142, 9147, 9153, 9157, 9162, 9168, 9172, 9176, 9180, 9188, 9192, 9196, 9201, 9207, 9215, 9223, 9228, 9234, 9238, 9246, 9250, 9254, 9262, 9266, 9270, 9274, 9278, 9282, 9286, 9294, 9299, 9305, 9309, 9313, 9317, 9325, 9333, 9337, 9341, 9345, 9353, 9357, 9365, 9373, 9381, 9385, 9393, 9401, 9405, 9409, 9413, 9417, 9421, 9425, 9433, 9438, 9444, 9452, 9456, 9460, 9464, 9468, 9472, 9480, 9484, 9492, 9500, 9504, 9508, 9512, 9520, 9525, 9531, 9535, 9543, 9547, 9555, 9559, 9567, 9571, 9579, 9587, 9591, 9599, 9603, 9608, 9614, 9619, 9625, 9630, 9636, 9641, 9647, 9652, 9658, 9663, 9669, 9677, 9681, 9689, 9694, 9700, 9704, 9708, 9712, 9720, 9724, 9728, 9732, 9736, 9740, 9744, 9748, 9752, 9756, 9764, 9770, 9780, 9785, 9791, 9795, 9799, 9803, 9807, 9815, 9820, 9824, 9832, 9837, 9843, 9851, 9855, 9863, 9867, 9871, 9875, 9879, 9887, 9891, 9899, 9903, 9911, 9919, 9923, 9928, 9934, 9938, 9943, 9949, 9954, 9960, 9968, 9973, 9979, 9987, 9992, 9998, 10002, 10006, 10010, 10014, 10018, 10022, 10026, 10034, 10039, 10045, 10049, 10054, 10060, 10068, 10072, 10080, 10084, 10092, 10100, 10104, 10112, 10120, 10124, 10132, 10136, 10140, 10144, 10148, 10156, 10161, 10167, 10175, 10183, 10187, 10191, 10195, 10199, 10207, 10215, 10266, 10270, 10283, 10285, 10289, 10293, 10297, 10301, 10310, 10316, 10320, 10328, 10332, 10340, 10344, 10352, 10356, 10360, 10364, 10368, 10372, 10376, 10380, 10388, 10392, 10400, 10404, 10408, 10412, 10416, 10420, 10424, 10432, 10436, 10440, 10448, 10452, 10460, 10468, 10472, 10477, 10483, 10487, 10492, 10498, 10502, 10507, 10513, 10518, 10524, 10529, 10531, 10537, 10541, 10545, 10549, 10553, 10557, 10561, 10565, 10569, 10577, 10582, 10588, 10592, 10597, 10603, 10607, 10615, 10620, 10626, 10631, 10637, 10645, 10649, 10657, 10661, 10669, 10673, 10677, 10681, 10689, 10694, 10700, 10704, 10709, 10713, 10717, 10721, 10729, 10733, 10741, 10745, 10753, 10761, 10765, 10769, 10777, 10781, 10789, 10793, 10801, 10805, 10813, 10818, 10824, 10828, 10836, 10840, 10844, 10848, 10852, 10860, 10868, 10876, 10884, 10892, 10897, 10903, 10907, 10915, 10920, 10926, 10930, 10938, 10946, 10950, 10954, 10958, 10966, 10971, 10977, 10981, 10989, 10994, 11000, 11004, 11012, 11016, 11020, 11024, 11028, 11032, 11036, 11043, 11050, 11054, 11062, 11066, 11070, 11074, 11078, 11082, 11090, 11094, 11098, 11102, 11110, 11115, 11121, 11126, 11132, 11136, 11140, 11144, 11149, 11155, 11159, 11163, 11167, 11175, 11180, 11186, 11190, 11198, 11202, 11210, 11214, 11218, 11226, 11230, 11238, 11242, 11246, 11254, 11262, 11267, 11273, 11277, 11285, 11293, 11297, 11305, 11310, 11316, 11321, 11327, 11332, 11338, 11342, 11348, 11354, 11359, 11365, 11369, 11377, 11385, 11389, 11397, 11401, 11409, 11413, 11417, 11425, 11429, 11437, 11441, 11445, 11449, 11457, 11461, 11469, 11473, 11481, 11483, 11485, 11489, 11493, 11497, 11505, 11515, 11526, 11535, 11539, 11543, 11547, 11551, 11555, 11559, 11567, 11571, 11575, 11579, 11587, 11591, 11599, 11604, 11610, 11614, 11618, 11622, 11626, 11630, 11634, 11638, 11642, 11646, 11650, 11658, 11663, 11669, 11673, 11681, 11685, 11693, 11701, 11709, 11713, 11721, 11725, 11733, 11741, 11749, 11753, 11757, 11761, 11765, 11769, 11777, 11782, 11788, 11792, 11796, 11800, 11808, 11816, 11820, 11825, 11831, 11835, 11839, 11843, 11847, 11851, 11855, 11859, 11863, 11867, 11871, 11875, 11879, 11884, 11890, 11894, 11902, 11906, 11910, 11914, 11918, 11922, 11926, 11930, 11934, 11938, 11942, 11946, 11950, 11954, 11958, 11962, 11966, 11970, 11974, 11978, 11982, 11986, 11990, 11994, 11998, 12002, 12006, 12010, 12014, 12018, 12022, 12026, 12030, 12034, 12038, 12042, 12046, 12050, 12054, 12058, 12062, 12066, 12070, 12074, 12078, 12082, 12086, 12090, 12094, 12098, 12102, 12106, 12110, 12114, 12118, 12122, 12126, 12130, 12135, 12139, 12143, 12147, 12151, 12155, 12159, 12167, 12171, 12175, 12179, 12183, 12187, 12191, 12195, 12199, 12203, 12207, 12211, 12215, 12219, 12223, 12227, 12231, 12235, 12239, 12243, 12247, 12251, 12259, 12263, 12267, 12271, 12275, 12279, 12283, 12287, 12291, 12295, 12299, 12303, 12307, 12311, 12319, 12323, 12327, 12331, 12335, 12339, 12343, 12351, 12355, 12363, 12367, 12375, 12379, 12383, 12387, 12391, 12395, 12399, 12403, 12407, 12411, 12415, 12419, 12423, 12427, 12431, 12435, 12439, 12443, 12447, 12451, 12455, 12459, 12463, 12467, 12471, 12475, 12479, 12483, 12487, 12491, 12495, 12499, 12503, 12507, 12511, 12515, 12519, 12523, 12527, 12531, 12535, 12539, 12543, 12547, 12551, 12555, 12563, 12567, 12575, 12579, 12583, 12588, 12594, 12602, 12606, 12614, 12618, 12626, 12630, 12638, 12642, 12647, 12653, 12657, 12661, 12665, 12673, 12677, 12685, 12690, 12696, 12701, 12707, 12712, 12718, 12722, 12730, 12738, 12742, 12747, 12753, 12761, 12765, 12772, 12777, 12783, 12787, 12791, 12796, 12802, 12806, 12814, 12818, 12822, 12826, 12830, 12838, 12842, 12846, 12850, 12855, 12861, 12865, 12869, 12877, 12881, 12889, 12897, 12901, 12905, 12913, 12917, 12925, 12929, 12933, 12937, 12941, 12945, 12949, 12953, 12957, 12961, 12965, 12969, 12977, 12981, 12989, 12993, 13001, 13005, 13009, 13013, 13017, 13021, 13029, 13033, 13041, 13045, 13053, 13057, 13061, 13069, 13074, 13080, 13084, 13092, 13096, 13100, 13108, 13112, 13120, 13128, 13132, 13136, 13140, 13144, 13148, 13152, 13156, 13164, 13168, 13172, 13176, 13184, 13188, 13196, 13204, 13208, 13212, 13216, 13220, 13228, 13232, 13236, 13244, 13248, 13256, 13264, 13268, 13276, 13284, 13289, 13295, 13300, 13306, 13310, 13318, 13322, 13326, 13330, 13338, 13343, 13349, 13353, 13362, 13364, 13372, 13377, 13383, 13388, 13394, 13398, 13406, 13410, 13414, 13418, 13426, 13430, 13438, 13442, 13450, 13454, 13462, 13470, 13478, 13486, 13490, 13498, 13502, 13506, 13510, 13514, 13518, 13522, 13526, 13530, 13534, 13538, 13542, 13546, 13550, 13551, 13556, 13562, 13566, 13567, 13571, 13579, 13587, 13591, 13595, 13599, 13607, 13611, 13619, 13623, 13627, 13631, 13639, 13643, 13651, 13655, 13659, 13663, 13667, 13671, 13675, 13679, 13683, 13687, 13691, 13695, 13699, 13703, 13707, 13711, 13715, 13719, 13723, 13727, 13731, 13735, 13739, 13743, 13747, 13751, 13755, 13759, 13763, 13767, 13771, 13775, 13779, 13783, 13787, 13791, 13795, 13799, 13803, 13807, 13811, 13815, 13819, 13823, 13827, 13831, 13835, 13839, 13843, 13847, 13851, 13855, 13859, 13863, 13867, 13871, 13875, 13879, 13883, 13887, 13891, 13895, 13899, 13903, 13907, 13911, 13915, 13919, 13923, 13927, 13931, 13935, 13939, 13943, 13947, 13951, 13955, 13959, 13963, 13967, 13971, 13975, 13979, 13983, 13987, 13991, 13995, 13999, 14003, 14007, 14011, 14015, 14019, 14023, 14027, 14031, 14035, 14039, 14043, 14047, 14051, 14055, 14059, 14063, 14067, 14071, 14075, 14079, 14083, 14087, 14091, 14095, 14099, 14103, 14107, 14111, 14115, 14119, 14123, 14127, 14131, 14135, 14139, 14143, 14147, 14151, 14155, 14159, 14163, 14167, 14171, 14175, 14179, 14183, 14187, 14191, 14195, 14199, 14203, 14207, 14211, 14215, 14219, 14223, 14227, 14231, 14235, 14239, 14243, 14247, 14251, 14255, 14259, 14263, 14267, 14271, 14275, 14279, 14283, 14287, 14291, 14295, 14299, 14303, 14307, 14311, 14315, 14319, 14323, 14327, 14331, 14335, 14339, 14343, 14347, 14351, 14355, 14359, 14363, 14367, 14371, 14375, 14379, 14383, 14387, 14391, 14395, 14399, 14403, 14407, 14411, 14415, 14419, 14423, 14427, 14431, 14435, 14439, 14443, 14447, 14451, 14455, 14459, 14463, 14467, 14471, 14475, 14479, 14483, 14487, 14491, 14495, 14499, 14503, 14507, 14511, 14515, 14519, 14523, 14527, 14531, 14535, 14539, 14543, 14547, 14551, 14555, 14559, 14563, 14567, 14571, 14575, 14579, 14583, 14587, 14591, 14595, 14599, 14603, 14607, 14611, 14615, 14619, 14623, 14627, 14631, 14635, 14639, 14643, 14647, 14651, 14655, 14659, 14663, 14667, 14671, 14675, 14679, 14683, 14687, 14691, 14695, 14699, 14703, 14707, 14711, 14715, 14719, 14723, 14727, 14731, 14735, 14739, 14743, 14747, 14751, 14755, 14759, 14763, 14767, 14771, 14775, 14779, 14783, 14787, 14791, 14795, 14799, 14803, 14807, 14811, 14815, 14819, 14823, 14827, 14831, 14835, 14839, 14843, 14847, 14855, 14859, 14863, 14867, 14871, 14875, 14879, 14883, 14887, 14891, 14895, 14899, 14903, 14907, 14911, 14915, 14919, 14923, 14927, 14931, 14935, 14939, 14943, 14947, 14951, 14955, 14959, 14963, 14967, 14971, 14975, 14979, 14983, 14987, 14991, 14995, 14999, 15003, 15007, 15011, 15015, 15019, 15023, 15027, 15031, 15035, 15039, 15043, 15051, 15055, 15059, 15063, 15067, 15071, 15075, 15079, 15083, 15087, 15091, 15095, 15099, 15103, 15107, 15111, 15115, 15119, 15123, 15127, 15131, 15135, 15139, 15147, 15151, 15155, 15159, 15163, 15167, 15171, 15175, 15179, 15183, 15187, 15191, 15195, 15199, 15203, 15207, 15211, 15215, 15219, 15223, 15227, 15231, 15235, 15239, 15243, 15247, 15251, 15255, 15259, 15263, 15267, 15271, 15275, 15279, 15283, 15287, 15291, 15295, 15299, 15303, 15307, 15311, 15315, 15319, 15323, 15327, 15331, 15335, 15339, 15343, 15347, 15351, 15355, 15359, 15363, 15367, 15371, 15375, 15379, 15383, 15387, 15391, 15395, 15399, 15403, 15407, 15411, 15415, 15419, 15423, 15427, 15431, 15435, 15439, 15443, 15451, 15455, 15459, 15463, 15467, 15471, 15475, 15479, 15483, 15487, 15491, 15495, 15499, 15503, 15507, 15511, 15515, 15519, 15523, 15527, 15531, 15535, 15539, 15543, 15547, 15551, 15555, 15559, 15563, 15567, 15571, 15575, 15579, 15583, 15587, 15591, 15595, 15599, 15603, 15607, 15611, 15615, 15619, 15623, 15627, 15631, 15635, 15639, 15643, 15647, 15651, 15655, 15659, 15663, 15667, 15671, 15675, 15679, 15683, 15687, 15691, 15695, 15699, 15703, 15707, 15711, 15715, 15719, 15723, 15727, 15731, 15735, 15739, 15743, 15747, 15751, 15755, 15759, 15763, 15767, 15771, 15775, 15779, 15783, 15787, 15791, 15795, 15799, 15803, 15807, 15811, 15815, 15819, 15823, 15827, 15831, 15835, 15839, 15843, 15847, 15851, 15855, 15859, 15863, 15867, 15871, 15875, 15879, 15883, 15887, 15891, 15895, 15899, 15903, 15907, 15911, 15915, 15919, 15923, 15927, 15931, 15935, 15939, 15943, 15947, 15951, 15955, 15959, 15963, 15967, 15971, 15975, 15979, 15983, 15987, 15991, 15995, 15999, 16003, 16007, 16011, 16015, 16019, 16023, 16027, 16031, 16035, 16039, 16043, 16047, 16051, 16055, 16059, 16063, 16067, 16071, 16075, 16079, 16083, 16087, 16091, 16095, 16099, 16103, 16107, 16111, 16115, 16119, 16123, 16127, 16131, 16135, 16139, 16143, 16147, 16151, 16155, 16159, 16163, 16167, 16171, 16175, 16179, 16183, 16187, 16191, 16195, 16199, 16203, 16207, 16211, 16215, 16219, 16223, 16227, 16231, 16235, 16239, 16243, 16247, 16251, 16255, 16259, 16263, 16267, 16271, 16275, 16279, 16283, 16287, 16291, 16295, 16299, 16303, 16307, 16311, 16315, 16319, 16323, 16327, 16331, 16335, 16339, 16343, 16347, 16351, 16355, 16359, 16363, 16367, 16371, 16375, 16379, 16383, 16387, 16391, 16395, 16399, 16403, 16407, 16411, 16415, 16419, 16423, 16427, 16431, 16435, 16439, 16443, 16447, 16451, 16455, 16459, 16463, 16467, 16471, 16475, 16479, 16483, 16487, 16491, 16495, 16499, 16503, 16507, 16511, 16515, 16519, 16523, 16527, 16531, 16535, 16539, 16543, 16547, 16551, 16555, 16559, 16563, 16567, 16571, 16575, 16579, 16583, 16587, 16591, 16595, 16599, 16603, 16607, 16611, 16615, 16619, 16623, 16627, 16631, 16635, 16639, 16643, 16647, 16651, 16655, 16659, 16663, 16667, 16671, 16675, 16679, 16683, 16687, 16691, 16695, 16699, 16703, 16707, 16711, 16715, 16719, 16723, 16727, 16731, 16735, 16739, 16743, 16747, 16751, 16755, 16759, 16763, 16767, 16771, 16775, 16779, 16783, 16787, 16791, 16795, 16799, 16803, 16807, 16811, 16815, 16819, 16823, 16827, 16831, 16835, 16839, 16843, 16847, 16851, 16855, 16859, 16863, 16867, 16871, 16875, 16879, 16883, 16887, 16891, 16895, 16899, 16903, 16907, 16911, 16915, 16919, 16923, 16927, 16931, 16935, 16939, 16943, 16947, 16951, 16955, 16959, 16963, 16967, 16971, 16975, 16979, 16983, 16987, 16991, 16995, 16999, 17003, 17007, 17011, 17015, 17019, 17023, 17027, 17031, 17035, 17039, 17043, 17047, 17051, 17055, 17059, 17063, 17067, 17071, 17075, 17079, 17083, 17087, 17091, 17095, 17099, 17103, 17107, 17111, 17115, 17119, 17123, 17127, 17131, 17141, 17142, 17145, 17151, 17157, 17163, 17164, 17165, 17166, 17167, 17180, 17180, 17187, 17187, 17196, 17211, 17213, 17216, 17218, 17222, 17234, 17250, 17254, 17265, 17266, 17269, 17281, 17290, 17291, 17294, 17295, 17296, 17299, 17300, 17303, 17304, 17307, 17308, 17311, 17313, 17315, 17317, 17321, 17328, 17335, 17351, 17385, 17395, 17398, 17402, 17415, 17416, 17418, 17420, 17424, 17438, 17444, 17481, 17543, 17552, 17554, 17555, 17558, 17560, 17561, 17564, 17565, 17566, 17567, 17568, 17575, 17574, 17584, 17586, 17588, 17589, 17592, 17593, 17594, 17595, 17598, 17599, 17603, 17602, 17619, 17618, 17634, 17633, 17648, 17654, 17655, 17658, 17660, 17661, 17664, 17665, 17666, 17667, 17670, 17671, 17674, 17682, 17699, 17707, 17730, 17844, 17878, 17880, 17882, 17886, 17890, 17889, 17940, 17942, 17941, 17956, 17962, 17969, 17974, 17980, 17981, 17984, 17985, 17986, 17987, 17988, 17989, 17990, 17991, 17992, 17995, 17996, 17997, 17998, 17999, 18000, 18001, 18002, 18003, 18004, 18007, 18008, 18011, 18013, 18022, 18122, 18123, 18130, 18131, 18132, 18138, 18147, 18150, 18151, 18152, 18153, 18156, 18157, 18158, 18161, 18163, 18171, 18172, 18178, 18186, 18187, 18190, 18191, 18194, 18199, 18206, 18211, 18218, 18225, 18225, 18227, 18234, 18235, 18238, 18239, 18240, 18241, 18242, 18243, 18244, 18245, 18246, 18252, 18257, 18267, 18272, 18277, 18284, 18285, 18297, 18308, 18319, 18323, 18324, 18327, 18332, 18336, 18337, 18340, 18346, 18354, 18360, 18367, 18371, 18372, 18375, 18378, 18382, 18383, 18386, 18392, 18401, 18406, 18416, 18426, 18438, 18439, 18440, 18441, 18442, 18443, 18444, 18445, 18446, 18447, 18448, 18449, 18450, 18451, 18452, 18459, 18460, 18463, 18464, 18471, 18472, 18473, 18480, 18479, 18496, 18497, 18504, 18503, 18574, 18580, 18586, 18594, 18600, 18606, 18612, 18618, 18624, 18630, 18636, 18642, 18648, 18659, 18660, 18663, 18664, 18665, 18666, 18667, 18668, 18669, 18670, 18671, 18672, 18673, 18674, 18675, 18676, 18677, 18678, 18679, 18680, 18681, 18682, 18683, 18684, 18687, 18688, 18689, 18690, 18691, 18692, 18696, 18697, 18698, 18699, 18700, 18701, 18702, 18705, 18708, 18709, 18710, 18711, 18712, 18713, 18714, 18715, 18728, 18729, 18730, 18731, 18732, 18733, 18734, 18739, 18740, 18741, 18742, 18743, 18744, 18750, 18751, 18752, 18753, 18754, 18755, 18756, 18757, 18758, 18759, 18760, 18763, 18764, 18765, 18766, 18767, 18770, 18771, 18772, 18773, 18776, 18777, 18778, 18779, 18780, 18781, 18782, 18799, 18800, 18801, 18804, 18805, 18806, 18807, 18808, 18809, 18813, 18813, 18816, 18822, 18823, 18826, 18828, 18833, 18843, 18854, 18861, 18862, 18863, 18866, 18899, 18901, 18903, 18905, 18907, 18909, 18910, 18913, 18915, 18923, 18924, 18925, 18929, 18930, 18934, 18935, 18938, 18939, 18942, 18943, 18944, 18945, 18946, 18949, 18950, 18951, 18952, 18953, 18954, 18955, 18956, 18957, 18958, 18959, 18960, 18961, 18962, 18963, 18964, 18965, 18966, 18967, 18968, 18969, 18970, 18971, 18972, 18973, 18974, 18975, 18976, 18977, 18978, 18979, 18980, 18981, 18982, 18983, 18984, 18985, 18986, 18987, 18988, 18989, 18990, 18991, 18992, 18993, 18994, 18995, 18996, 18997, 18998, 18999, 19000, 19001, 19002, 19003, 19004, 19007, 19008, 19009, 19010, 19013, 19014, 19015, 19016, 19017, 19018, 19019, 19020, 19021, 19022, 19029, 19030, 19031, 19032, 19035, 19036, 19039, 19040, 19043, 19044, 19055, 19056 }; #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", "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", "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", "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", "KEY", "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", "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", "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", "NOT_LA", "NULLS_LA", "WITH_LA", "MODE_TYPE_NAME", "MODE_PLPGSQL_EXPR", "MODE_PLPGSQL_ASSIGN1", "MODE_PLPGSQL_ASSIGN2", "MODE_PLPGSQL_ASSIGN3", "'<'", "'>'", "'='", "'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "UMINUS", "'['", "']'", "'('", "')'", "'.'", "','", "';'", "':'", "'{'", "'}'", "$accept", "prog", "toplevel_stmt", "stmt", "CallStmt", "CreateRoleStmt", "opt_with", "OptRoleList", "AlterOptRoleList", "AlterOptRoleElem", "CreateOptRoleElem", "CreateUserStmt", "AlterRoleStmt", "opt_in_database", "AlterRoleSetStmt", "DropRoleStmt", "CreateGroupStmt", "AlterGroupStmt", "add_drop", "CreateSchemaStmt", "OptSchemaName", "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_drop_behavior", "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", "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", "opt_grant_admin_option", "opt_granted_by", "AlterDefaultPrivilegesStmt", "DefACLOptionList", "DefACLOption", "DefACLAction", "defacl_privilege_target", "IndexStmt", "opt_unique", "opt_concurrently", "opt_index_name", "access_method_clause", "index_params", "index_elem_options", "index_elem", "opt_include", "index_including_params", "opt_collate", "opt_class", "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_type", "reindex_target_multitable", "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_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", "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", "ECPGColLabelCommon", "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, 60, 62, 61, 43, 45, 42, 47, 37, 94, 813, 91, 93, 40, 41, 46, 44, 59, 58, 123, 125 }; #endif #define YYPACT_NINF (-6048) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) #define YYTABLE_NINF (-3512) #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[] = { -6048, 607, 10452, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 39818, -6048, -6048, -6048, -6048, -6048,138771, 1226, -6048, -6048,143721, -6048, -6048, -6048, 1059, 93619, -6048, 98515, 1560, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 102867, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 79456, 1701, -6048, 744, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 1864, 19046, -6048, -6048, 99059, -6048, 441, -6048, -6048, -6048, -6048, -6048, 81636, -6048, -6048, 99603, 59, -6048, -6048, 1235, 156, -6048, 203, 18617, -6048, -6048,100147, 95251, -6048, -6048,103411, 683, 1012, 18676, 1864, 40442,103955, -6048, 2168, -6048, 75631, -6048, -6048, -6048, 94163, -6048, -6048, -6048, 1471, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 112115, 1422, 1318, 76176, -6048, -6048, -6048, -6048, -6048,112115, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048,104499, -6048, 1460, 1569, 883,112659,113203, 91987, -6048, 1162, -6048, 112115, 1728, 448, 78366, -6048,113747, -6048, -6048, 1600, -6048, 105043, -6048, -6048, -6048, -6048, -6048, 1318, -6048, 79456, 74539, 166, 1436, -6048, -6048,114291, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048,112115, 2252, 1501, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 1742, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 1399, -6048, 1321, 1508, 1825, 361, 1572, -6048, -6048, -6048, 16482, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 31022, 541, -6048, -6048, -6048, 1607, -6048, 1633, -6048, -6048, -6048, 1935, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 1710, -6048, -6048, -6048, -6048, 2237,139312,102867, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 95795, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 268, -6048, -6048, -6048, -6048, -6048,102867,102867, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048,102867, 1782, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 1077, 2085, -6048, -6048, 79456, 2464, 2464, 2327, 31022, -6048, -6048, 2303, 81636, 112115,112115,112115, 2093,112115, 2050,112115, 411, 81636,147070, 105587, 2175, 2041, 69519,114835, -6048, 81636,112115,144680, 81636, 112115,112115,115379,112115,115923,112115, 2094,100691,112115, 2142, 112115,112115,145158,116467, 2295, -6048, 2620, 1688, -6048, 2115, -6048, 266, -6048, 2186, -6048, 296, 298, 312, -6048, -6048, -6048,149460,112115, 8550, 1422, 2303, -6048, 2252,112115, 2401, 112115, 2154,117011,112115, -6048,112115, 2241,117555, 540, 1485, 147070, 2230, 70080, 2377,112115,112115,147070,118099,118643,119187, 112115,112115, -6048, -6048, 2364,112115, -6048, 2479,147548, 1871, 2485, 2648, 2624, 1524, -6048, -6048, 2803, 2330, -6048, -6048, 2838,102867, -6048,101235, -6048, -6048, -6048, 2698, -6048, 2471, 2475, 2478, -6048, -6048, -6048, -6048, -6048,150416, 1012, -6048, -6048, 2595, 82181, 2687, -6048, -6048,119731, 87086, 2433, -6048, 868, 82726,148026, 2823, 2434, 70641, 2870, -6048, 83271, -6048, 148504, 83816, -6048, -6048, -6048, -6048, -6048,120275, -6048,120819, 2581, 2687, -6048, 87631,148982, -6048, 2717,121363,121907,122451, 2303, 9176, -6048, 2446, 2605, 2449, 1263,102867,102867, 1359, 140812, -6048, -6048, 2509, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 399, 1861, 76721, 848, 77266, -6048, -6048, 941, 1176, 1498, 399, 2952, 2952, 809,102867, -6048, -6048, 1861, -6048, 762, 1115, 2579, 2472, 2472, 2472, 2700, 682, -6048, 2472, 2628, -6048, -6048, -6048, -6048,105043, 76721, 77266, -6048, 2496, 1422, 357, 2953, 2567, -6048, -6048, -6048, -6048, -6048,149460, 2937, 2937,112115, -6048, -6048, -6048, 2996, 2572, 2849, -6048, 2578, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 2816, 2819, 2797, 315, 1422, 269, -6048, 2944, -6048, 2861, 47762, 47762, 1518,102867, 1422, 77811,106131,134419, 215,150416, 1422,122995, 2683, 1720, 2864, -6048, -6048, -6048, 918, -6048, 3110, 2688, 2990, 144, 1688, 66205, -6048, -6048, 2710, 2186,105043,139853, -6048, -6048, -6048, -6048,149460, 3043, 52290,112115, 2723, -6048, 2731, 2723, 2733, 2748, 1825, -6048, 149460,112115, 1837, 1837, 3183, 1837, 2109, 2214, -6048, 2135, -6048, 3080, 3046, 3051,105043, 2774, 1864, 2766, -6048, -6048, -6048, 2784, -6048, 2806, 2809, -6048, 1213, 3068, -6048, -6048, -6048, -6048, 2895, 2910, 2911, 2914, 2837, 2933, 362, -6048, -6048, -6048, -6048, 3208, -6048, -6048, -6048, -6048, -6048, -6048, 3321, 3323,144202,144202, 816, 965, 284, 283, -6048, -6048, -6048, 3173, -6048, -6048, 3171, 2974,112115, -6048, -6048,112115, -6048,123539, -6048, -6048, 2464, 2784, 1032, -6048, 1886, 2892, 1740, 2891, 2036, 2664, -6048, 1005,112115, 254, 2938,106675, 8470, 2900, 2902, 2186, 3062, 1101, 3209, 3251, 8546, 362, 107219, -6048, -6048, -6048, -6048,112115,112115, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 2908, 1670, -6048, -6048, 2909, 3259, 3128, 9035, 1130, 3219, 3075, 1177, 9347, 3132, 209, 3266, 15867, 1614, 3267, 2092, 2613,124083,134963, 3225, 3269, 5254, 2219, 904, 3137, 1072, 3219, 3258, 3085, 1177, 3274, 4033,112115, 2924, -6048, 3197, 3311, 756, -6048, 173, -6048, 40989, 52290, 73447, -6048, 2186, 2212, -6048, -6048,143240, -6048, 2992, 3148, 957, 81636, 2936,112115,112115, -6048, 88176, 81636, -6048, 3157, 71202, 81636, -6048, 81636, -6048, -6048, 3272, 88176,112115,112115, -6048,112115, -6048, -6048, 2939, -6048, -6048, -6048, -6048, -6048, 2472,112115, 3370, 88176, 3172, 445, 691, 3405,112115, 3175, 691, 2985,124627, -6048, -6048, 691, -6048, -6048,112115,112115, 2950, 1444, 3166, 852, 691, 3184, 3409, 3410, 3187, 3033, 3190, 2731, 3373, 3161, 988, 213, 1636, 691, 3012,125171,125715,112115, 3013,112115, 2937, 81636, 3045, 81636, 81636,112115, 3301,112115, -6048, 3147,107763, -6048, 2966, 2803, -6048, -6048, -6048, -6048, -6048, 1586, -6048, -6048, -6048, -6048, -6048, -6048, 3320, -6048, 262, 3324, 2978, 3326, 1848, -6048, 3032, -6048, 3032, 3032, 2984, 2984, 3170, 2988, 3336, -6048, -6048, -6048, 2680, 3032, 2984, -6048, 89266, -6048, 2047, 2130, -6048, 264, -6048, 3454, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 2991, -6048, 1996, -6048, 2221, -6048, -6048, -6048, -6048, 3029, -6048, 3342, 267, -6048, 3343, -6048, 2995, 126259, -6048,126803,127347, 3346, 306, -6048,147070, 3347, 267, 3350, 2995, 3352, 267, 3353, 997, 3355, -6048, 1054, 3344, 3356, 264, 3357, 2284, 2995, -6048, 3360, 352, -6048, 3361, 373, -6048, 3363, 3231, -6048, 13105, 9176, -6048, 14898, 2234, -6048, -6048, -6048, -6048, -6048, -6048, 52290, 1021, 3114, -6048, -6048, 2286, 1359, 1861, -6048,102867, 1861,102867, 809, 1861, 102867, 1861,102867, 809, 1861,102867,102867,102867, 1861, -6048, -6048, 342, 355, -6048, -6048, -6048, -6048, -6048,102867, 3019, 112115, -6048,112115, -6048, -6048, -6048, 96339,147070, 96883, -6048, 112115, -6048, 151,102867, -6048,102867, -6048, 1422, -6048, -6048, 2605, 88176, 3484,147070, 2937, 2302, -6048,112115,112115, -6048, -6048, -6048, 3290,112115, 3358, 3359, 96339,147070, -6048,127891, -6048,150416, 3237, 3028, -6048, -6048, -6048, -6048, 2353, 3523, 222, 3524, 52290, 3034, 222, 222, 3035, 3365, -6048, -6048, -6048, 382, 3036, 3037, -6048, 247, 247, -6048, 3038, 3039, -6048, 249, 3041, 3042, 3537, 253, 3044, 3047, 3048, 2680, 222, 3049, 52290, -6048, 3050, 247, 3052, 3053, 3055, 3540, 3064, -6048, 3545, 3074, 291, 302, 3076, 3078, -6048, 3284, -6048, 255, 3084, 3086, 3088, 3089, 3090, 3091, 3094, 3095, 52290, 52290, 52290, -6048, 44932, 2186, 1422, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 280,141296, -6048, 3105, -6048, -6048, 3277, -6048, -6048, 52290, -6048, -6048, 830, -6048, 289, -6048, -6048, 2186, -6048, -6048, 2390, -6048, -6048, -6048, -6048, -6048, 3364, 3082, 2494, 2494, 292, -6048, 99059, 99059, -6048, -6048, 1332, 3093, -6048, 2499, -6048, -6048, -6048, -6048, -6048, -6048,149938, 3561, -6048, 460, 1422, 173, 1331, 3498,141794, 142276, 3385, 3385, 3372, -6048, -6048,112115, -6048, -6048, 2186, 181, 3384, 2354, -6048, 2509, 18157, 2357, 2723,112115,112115, 3568, -6048, -6048, 2361, -6048, 3103, -6048, 2731, -6048, -6048, 1825, 1825, 52290, 1825, 1257, 1561, 48328, 52856, 3440, 3329, 1821, 1816, 3446, -6048, 3334, 2109, 2214,105043,112115,105043, 128435, 3241, 52290, -6048, 2784, 3124, 2270, -6048, 90355, 38889, 38889, 3406, -6048, -6048, 1376, 1500, 3253, 3366, 2952, 1865, 2666, 2666, -6048, -6048, 3118, -6048, 3506, 99059, 3185,144202, -6048, -6048,112115, -6048, -6048,108307, -6048, -6048, -6048, 2363, 3122, -6048, 3138,112115, 3684, 2666, 2666, -6048, -6048, 3127, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 31022,112115, -6048, 3134, 3135, 3133, 3136, -6048,139853, -6048, 3565, 3223, 3224, 3279, 73993, -6048, 3226, 3192, 3228, 3285, 79456, 3144, 3233, 3234, 3289, 3421, -6048, -6048, 3240, 3579, 3242,135507, -6048, -6048, 1469, -6048, -6048, -6048, 1469, -6048, 3169, -6048, 1603, 473, 336, 3244, 338, 1411, 3571, -6048, 1760, -6048, -6048, 3300, -6048, 9848,112115, 3512, 9075, 3380, 362, 3303, -6048, -6048, -6048, 3438, 3252,112115, 3256, 3397, 362, 360, 136051, -6048, -6048,112115, -6048, -6048, -6048, -6048, 6296, 3548, 43824, -6048, 2279, 3260, 3238, 3271,112115, 90899, 2293, 3374, 3394, 1874, 2513, 853, 3331,112115, 2034, 3402,112115, 3195, 3268, 3276, 3507, 3198, 845, 3597, 3194, -6048, -6048, -6048, 3574, 3399, 3508, 3549, 9712, 3265, 3270, 85451, -6048, 3291, 690, 71763,112115,112115, 3292, 3293,136595, 6296, 3580, 97427, 97427, 3295, 3297, 64560, 3603, 2170, 3302, -6048, -6048, -6048, 2170, 3304, 3305,137139, 6296, 3590,112115, 3306, 3308,112115, 89266, 362, -6048, 3659, 362, 362, 2189, 3661, 3313, 457, 3471, 257, 691, 3194, 2615, -6048, 3316, 3319, 1016, -6048, 3447,112115, 3327, 3328, 2066, 3412, 1422, -6048, 3414, -6048, 3333, 3415, 3335, 103, 2950, -6048, -6048, 70, 3345,105043, 3429, 3443, 2034, 334, 659, 3194, -6048, 3339, 3340, 3198, 3198,112115,112115,112115,112115,112115, 244, 3715, 3716, 3349, 234, 1488, 3281, -6048, 2170,145636, 3369, -6048, 2170,112115, 348, 678, 3194, 833, -6048, 2156, -6048, -6048, -6048, 1688, -6048, 52290, 52290, 52290, 3262, -6048, 2740, 18157, 887, -6048, 294, 8016, 3263, -6048, -6048, -6048, -6048,112115,149460, -6048, -6048, -6048, -6048, -6048, -6048, -6048,112115, -6048,112115, 3551, 88176, 3553, 3486, 3555, 3556, 362,112115,112115, 3557, 3559, 3564, 88176, 3569, 3570, 3573, 3493, 3376, 841, 3375, 3286, 3752, 3646,112115, 79456, -6048, 1469, -6048, 88176, 3514, 3649, -6048,112115, 3532, 134, -6048, 3688, 3379, -6048, -6048, 131, 112115, 94707, 2950, -6048, -6048, 3656,147070, 975, 3668, 1422, 3377, 3670, 3538, 1422,147070, 3592,112115,112115,112115,112115, 180, -6048,145636, 3566, -6048,112115, 3567, 2615, 3572, 3793, 1377, 2472,128979, 3669,129523, 3341,112115, 3351, 3351, 3802, 88176, 1112, 3616, -6048, -6048, 3367, 2952, -6048, 2966, -6048, -6048, 2410, -6048, 3478, -6048, 81636, -6048, -6048, 81636, -6048, -6048, 88176,112115, 3362, -6048, 3371, -6048, -6048, 52290, -6048, -6048, -6048, 2952, -6048, 88176, 3032, 3032, -6048, -6048, 3808, 3432, 3433, 2952, -6048, 2952, -6048, 88176, -6048, 3354, 3368, 2952, 3442, -6048, 3445, 2952, -6048, 2373, -6048, -6048, 81636, 81636, -6048,147070,147070, 3706, 352, 3710, 3425, 3714, 3430, 71763, 71763, -6048, 421, 81636, -6048,147070, 81636, -6048,112115, -6048,112115, -6048, -6048, -6048, -6048, 88176, 88176, -6048,147070, 145636, 3719,112115,112115, -6048,112115,112115, -6048,112115,112115, -6048, 14221, 2297, -6048, 9176, -6048, 2384, 3385, -6048, 1782, 130067, 1762, 1359, -6048,102867, -6048,102867, 809, -6048, -6048, 102867, -6048,102867, 809, -6048,102867, -6048, -6048, -6048,102867, 112115, 3930, 3381, -6048, 2390, -6048,112115, 2422, -6048, -6048, 2423, 256,112115,112115, 924, 81636,112115, 3594,112115, 81636, 81636,112115,112115,112115,112115,112115, 3463, 3093, 1940, -6048, 1496, 517,105043, 3605, -6048, -6048, -6048, -6048, -6048, 2430, 2252, 1307,112115, 1517, -6048, -6048, -6048, -6048, 96883, 94163, 3711, 192,112115, -6048, -6048, 6845, 52290, 47196, -6048, -6048, 18157, 3427, 52290, 52290, 3386, 2952, 2952, -6048, 440, 52290, 52290, 52290, 2952, 2952, 52290, 5398, 52290, 71763, 52290, 56252, 42123, 52290, 52290, 45498, 1610, 3038, 52290, 3629, 57384, 52290, 1331, 3632, 52290, 1331, 5398, 3874, 3874, 1436, 2030, 6660, 3387, 2186, -6048, 2952, 343, 444, 88176, 52290, 52290, 52290, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 52290, -6048, 79456, -6048, -6048, -6048, -6048, -6048, -6048, 3475, -6048, -6048, -6048, -6048, -6048, -6048, 6299, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048,112115, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 46064, -6048, -6048, -6048, -6048, 3392, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 3631, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 46630, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 3398, -6048, -6048, 52290, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 3483, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 1514, 52290, 52290, 52290, 52290, 52290, 52290, 52290, 52290, 52290, -6048, 52290, 479, -6048, -6048, -6048, 3723, 3738, 1363, 491, 97971, 47762, 3733, -6048, 40989, -6048, 221,102867, -6048, -6048, 2186, 3733, -6048, -6048, -6048, -6048, -6048, 2363, 3403, -6048, 3418, -6048, -6048, -6048, -6048, -6048, 112115, 3561, -6048, -6048, 3492, -6048, -6048, -6048, -6048, 303, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 3408, -6048, -6048, -6048, -6048, 3408, -6048, -6048, 3385, 3413, 3724, 3726, 997, 31022,112115, 2751, 52290, 3475, 295,112115, 52290, 3392, 3631, 52290, 3398, 52290, 3483, -6048, 52290, -6048, 2431, 2231, 112115,112115, -6048, 3702, -6048, 3419, -6048, 12195, 3702, -6048, -6048, 56818, 3539, 3699, 3637, -6048, -6048, -6048, 3422, 18157, 52290, 52290, -6048, 2522, 18157, 2732, -6048, -6048, -6048, -6048, -6048, -6048, 210, -6048,112115, 194, 3440, 1816, 3487, 896, 3891, 3490,112115, -6048, 66751, 2435, 2473, -6048, 2784, -6048, -6048, 26059, -6048, 38183, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 3435, -6048, -6048, -6048, -6048, -6048, 362, 3436, 3968, -6048,144202, -6048, -6048, -6048, 3930, -6048, 2838, -6048, 2838, 3994, -6048,102867, -6048, -6048, -6048, -6048, 396, -6048, -6048, 9176, 9176, -6048, -6048,147070,112115,112115, 3639, -6048, 3880, -6048, 89266, -6048, 3441, -6048, 88721, 84361, -6048, -6048, 1217, -6048, 1284,147070, -6048,112115,112115, -6048, 79456, 147070,112115,112115, -6048,147070, 3504,112115,112115, -6048, -6048, -6048, -6048, -6048,142758, 1535, 94163, 3596, 92531, -6048, -6048, 3459,112115, 3520, 3742, 3743, 164, -6048, -6048,130611, -6048, 3692,147070,112115,112115, 52290, 3693,112115,112115, -6048, 321, 3554, 3560, -6048,112115, 3562, 81636, 3472, 88176, 81636, 72324, 81636, 81636, 3804, 88176,112115,112115, 1328,105043, 388, 950, 3194, 3701, -6048, 927, -6048,147070, -6048,112115, 3689, -6048, -6048, -6048,108851, 3933, 3598, -6048, -6048, -6048,137683, -6048, -6048, 3697, -6048, 2444, -6048,147070,147070,112115, 12122,131155, 66, 3713, -6048, -6048, 88176, -6048,112115,109395,112115,112115, 3753,112115,101779,131699,132243, 1790, 1836, 3754,112115,102323, 3755, -6048, 3630,112115, -6048, -6048, 80001,147070,112115, 1198, 79456, -6048, 3739, -6048,112115, -6048, 1031, -6048,112115, 5005, 3704, 3575, 3591,112115, 424, 981, 3194, 3875,112115,112115, 3497, 2452,147070,112115, 79456, -6048, 3717, 766,147070,112115, 108851, -6048, 3718, -6048,105043, 3806, -6048, 3503, 2472, 2710, 2155, 3503,147070,112115, -6048, 3503,112115,134419, -6048,147070, 599, -6048,147070,112115,108851, -6048, 3721, 3673,147070,112115, 18566, -6048, -6048, -6048, 362, -6048, -6048, -6048, -6048, -6048, 112115,112115, 362,112115,112115, 362, 341, -6048,147070,112115, -6048, -6048, -6048, 3634,147070,112115,112115, 399,112115, -6048, 112115,147070, 3552,112115,112115, -6048, -6048,112115, 7887,112115, 112115,112115,112115,112115,112115,147070,112115, -6048, -6048, 1192, 1259, 1983, 2101, 1681,112115, 3828,112115,132787,147070,112115, 112115, 1422,112115, 79456, 467, -6048, -6048, 3647, -6048,147070, 599, -6048, 12856,112115,112115,112115, 3604, 3606, 285, 3694, -6048, -6048, -6048, 948, 948, 3732, -6048, 52290, 52290, 48894, 3526, -6048, -6048, 52290, 2992, -6048, -6048, -6048, 1049, 3984, 1049,133331, 1049, 1049, 3807, 3588, 3599, 1049, 1049, 1049, 3812, 1049, 1049, 1049,112115, 3712, -6048, -6048, 3712, 219, 52290, 88176,112115, -6048, 2455, -6048, 3550, -6048, -6048, 79456, 112115, 628, 191, 3888, 3761, 91443, 2157, 3876,112115, 3593, 112115, 4007, 3642, 1967, -6048, 2157,112115, -6048, 1674, 94163, -6048, -6048, -6048, -6048, -6048, -6048, -6048,112115, -6048, -6048, 3881,112115, 60149, 3727, -6048, 1422, 2950, 2950, 2950, 2950, 3558, 2950,112115, 3677, 3899, 2157, 3577, 3902, -6048, 2615, 3903, 3907,112115, 3780, 91443, 3622, 3607, 3797, 4027, 2472, 1422, 3798, 3784, -6048, 73993, -6048, 2950, 4046, 44378, 6039, 7348, 3787, 3850, -6048, -6048, 3803, 953,112115,107763, -6048, 3595, 3898, 3904, 3919, -6048, 262, -6048, 4053, 1995, 3925, 52290, 2459, 3600, 264, -6048, -6048, 3601, 3368, 3615, 3618, 3602, 3609, -6048, 2952, 65106, 3610, 1207, 3841, 3611, -6048, 267, -6048, 2995, -6048,112115, -6048,112115,112115,112115,112115, 306, -6048, -6048, 267, 2995, 267, 997, -6048, 3878, 264, 2995, 3728, 3931, 352, -6048, 373, -6048, 3819, 997, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 3835, 2472, 2410, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048,102867, 2838, -6048, 2466, -6048,112115, -6048, 3920, 3923, 3924, 3926, 3936, 3636, 3641, 3658,112115, 3643, 3636, 362, 3644, 3633, -6048, 3643, 3643, 3636, 3093, 3093, 3636, 3641,146114, 4108, 3955, -6048, 3735, 3645, 3970, 265, -6048, 271, 742, 3895, -6048, -6048, -6048, -6048, 88176, -6048,147070, 3695, 2937, 2937, 349, 3863, 3653,146114, 4094, 997, -6048, 81636,112115, 88176, 81636, 3879, 81636, 81636, 88176,112115,112115, 2470, -6048, 2317, -6048, 2320, 52290, 459, -6048, 13786, 2482, 52290, 3667, 3671, -6048, -6048, -6048, -6048, -6048, -6048, 3672, 3988, -6048, -6048, 2490, 2493, 2497, 3675, 3676, 3635, 3922, 3678, 14626, 3666, 3680, 3682, 3685, 56252, 56252, 44932, 1158, -6048, 56252, 3687, 3872, 2505, 13271, 3691, 3696, 14790, 49460, 52290, 49460, 49460, 15367, 3683, 3698, -6048, 4045, -6048, 2511, 79456, 3882, 15702, 2515, -6048, 52290, 79456, 6112, 52290, -6048, 52290, 3703, -6048, -6048, 5731, 5731, 5731, 5398, -6048, 3730, -6048, 56252, 56252, -6048, 3065, 44932, -6048, -6048, 4017, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 2416, -6048, -6048, -6048, 3928, 3783, 71763, 10615, 52290, 392, 52290, 3392, 52290, 3777, 5731, 5731, 5731, 417, 417, 393, 393, 393, 488, 491, -6048, -6048, -6048, 3705, 3707, 3731, 3906, 3734, 52290, -6048, 2612, 2618,112115, 8151, 9344, 13607, -6048, -6048, -6048, 59596, 3750, 887, -6048, -6048, -6048, 3750, 1751, 3994, 2363, -6048, 1688, 2952, 343, 143240, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048,112115, 18157, -6048, -6048, 3948, 3737, -6048, -6048, 52290, -6048, -6048, 1343, 3745, 1385, 161, 2666, 2666, 2522, 760, -6048, -6048, 3773, -6048, 52290, -6048, 2779, 2827, -6048, -6048, -6048, -6048, 3093, -6048, 3973, -6048, -6048, -6048, 59596, 3760, 3781, 110, 64007, 3942, -6048,112115, 59596, -6048,112115, 380, -6048, 3748, -6048, -6048, -6048, -6048, 2123, -6048, -6048, -6048, -6048, -6048, -6048, 3725, -6048, 3740, -6048, 3756, -6048, -6048, -6048, -6048, 261, 3744, 3741, 3746, 2187, -6048, -6048, -6048, -6048, 84361, 2221, -6048, 88721, -6048, 88721, -6048, 2221, 4175, -6048, 84361, 1724, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048,147070,147070, 3954,112115, 3959, 3966, 52290, 899,112115, 3758, 3759, 1587, 4054, 3762, -6048, 4100, 997, -6048, -6048, 3839, -6048, 18157, -6048, -6048, -6048, -6048, -6048,147070,112115, -6048,150416, -6048, -6048, 88176, -6048, -6048,112115,112115, -6048, -6048, -6048, 88176, -6048, -6048, -6048, 112115, 817, 3840, 3844,112115, -6048, 866, 3447, 13049,112115, 112115,112115, 4056, -6048, -6048, -6048, -6048, 3985, -6048, 4111, -6048, 84361, -6048, 2995, 1661, 3852, 3194, 3998, -6048, 4118, 4188, -6048, 3905, 1004, -6048, -6048, 3914, -6048, -6048, -6048, -6048, 4129, 997, 4130, 997,112115,112115,112115,112115, 3917, -6048, -6048, -6048, -6048, 3918, 4055, -6048, 79456, 79456, 79456, 2529, -6048, -6048, 1422, -6048, -6048, -6048, -6048, -6048, -6048, 4088, -6048, 2530, -6048, 40,112115, -6048, -6048, -6048, -6048, -6048, 4133,147070,112115, 13101,112115,112115,112115, 4004, 2150, 1450, 88176, -6048, 85996, -6048, -6048, 2541, -6048, 3801,112115, 3877,147070, 3854, -6048, -6048, -6048, 4136, 2472, 3935, 97427, 3842, 3842, 2245, -6048, -6048, -6048, -6048, 4061, 3990, -6048, 1075, 3992,147070, 3866, -6048, -6048, -6048, -6048, -6048, 4150, 3892, -6048, -6048, 3893, 1047, 3194, 2615, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 3921, -6048, -6048, -6048, -6048, 1977, 1977, -6048, -6048, -6048, 1977, 1766, 406, 1079, 3194, -6048, 2233, 1041, 3897, -6048, 3900, -6048, -6048, -6048, 4067, 4073, 4074, 3908, 3909, 3958, 3915, 3916, 3960, -6048, 3927, 3971, 3929, 3972, 3932, 4195, 997, 88176, 4059, 1422, 3961, 4184, 997, -6048, 3934, -6048, 3937, -6048, 2547, 4292, -6048,112115, -6048, 446, 1142, 3194, -6048, 3938, -6048,147070, 112115, -6048, -6048, -6048, 52290, 3838, 3843, 3845, 18157, 18157, 52290, -6048, -6048, 18157, 3848, -6048, -6048, -6048, -6048, 88176, -6048,112115, 4122, -6048, -6048, 1049,112115,112115, -6048, -6048, -6048,112115, -6048, -6048, -6048, 4124, -6048, 314, 314, -6048, -6048, 4165, 7165, 3851, 510, -6048, 79456, 68396, 2443, 850, 691, -6048,150416,112115,150416, -6048, 191, 4066,112115,112115, 112115, 3856, 3855, -6048, -6048, -6048, -6048,147070, 1256,147070, 2952, -6048, -6048, 3940, -6048,112115, 2472, 2698, 4192, 3552, -6048, 4304, 3410, 975, 1912, 304, 3033, 4250, 2731, 52290, 383, -6048, -6048, -6048, -6048, 2186,112115, 3607, -6048, -6048, -6048, -6048, 1422, -6048, 3861, 3860, -6048,112115, 4201,112115, 112115,112115,102867, 2252, 3869,112115, 3870, 88176,112115, 2606, 3198, 4333, 4219, 2252, 3622, 3957, 4222,105043, 2565, -6048, 3889, -6048, 953, -6048, 2569, 214, -6048, 1422,150416, 84906, 4213, -6048, 311, 7348, -6048, -6048, 311, 797,112115, -6048, -6048, -6048, -6048, 4101, 237, -6048, 4197, -6048,112115, -6048, -6048, 63454, -6048, 88176, 3883, -6048, 2573, -6048, 2576, -6048, -6048, -6048, 2952, -6048, -6048, 2052, 2052, 3885, -6048, 65659, -6048, 3886, -6048, 2419, -6048, -6048, -6048, 352, 3947, 997, 3949, 997, -6048, -6048, -6048, -6048,112115, -6048,112115,145636, -6048, -6048,112115, -6048, 4237, 4224, -6048, -6048, -6048, -6048, 4032, 4034, 4036, 4037, 4038,112115, 3636, -6048, 3901,112115, 112115,147070, 1985, -6048, -6048, 4106, -6048, -6048,105043, 4031, -6048, -6048, -6048, -6048, 4254, 4255, -6048, -6048, -6048, 1620, -6048,112115,112115,147070, 96339, 211,147070, -6048, 4189, 4191, 4202, 4203, 362, 4210, 4211, 4212, 4223, 4226, -6048, -6048, -6048, 3950, 15036, 52290, -6048, 4275, 88176, -6048, 7293, -6048, -6048, -6048, 52290, -6048, -6048, -6048, -6048, -6048, -6048, 2627, 52290, -6048, 52290, -6048, -6048, 42690, 4418, 4418, 3939, 88176, 56252, 56252, 56252, 56252, 1859, 3052, 56252, 56252, 56252, 56252, 56252, 56252, 56252, 56252, 56252, 56252, 436, -6048, 4148, 52290, 52290, 50026, -6048, -6048, 88176, 3953, 3683, 3956, 3963, 52290, -6048, -6048, -6048, 2585, 57937, 3964, 79456, -6048, 52290, 13417, 2593, 4000, 16591, 2186, 7389, 1422, 52290, 2337, 2406, 52290, 2594, 52290, 4277, -6048, -6048, -6048, -6048, -6048, -6048, 4185, -6048, 52290, 3965, 4563, 56252, 56252, 4638, -6048, 4773, 52290, 44932, -6048, 3732, 4002, 67297, -6048, 43257, 3967, 1318, 1318, 1318, 1318, -6048,112115,112115,112115, 60702, 4284, 3962, 59043, 109939, 3969, 2331, -6048,109939,110483,109939, 3977, 2186, 52290, 4279, 3974, 4279, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 3976, -6048, 3978, -6048, -6048, 173, 3981, -6048, -6048, 261, -6048, -6048, 2252, -6048, 3986, -6048, 3745, 2102, -6048, -6048, -6048, 1348, -6048, 4048, -6048, -6048, -6048, 3969, 50592, 4120, -6048, -6048, -6048, 4022, 2598, -6048, -6048, 4385, 4120, -6048, 2280, -6048, 2599, 66751, 3760, 52290, 2186, 2952, 3987, -6048, 2838, 1751, -6048, -6048, -6048, -6048, -6048, 2603, 2164, -6048, -6048, 84361, -6048, 4063, 2995, 2995, 1735, 3636, 4318, 1735, 7969, -6048, -6048, 61255,112115,112115, -6048,112115,112115, 1918,112115, -6048, 112115, -6048, -6048, -6048, 4450, 4050, 4051, 4268, -6048, 2891, -6048, -6048,147070,112115, -6048, -6048, -6048, 461, 1161, 3194, -6048, 4077, -6048, -6048, 4286,112115, -6048, 4437, 4089,112115, 4344,112115,111027, -6048, 4066, 1918, 4107, 4323, 1858, 3198, 2141, 5569, -6048, 2104, -6048, -6048, 4075, -6048,112115, -6048, 112115, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 4135, -6048, -6048, -6048, -6048, 80001, -6048, -6048,112115, -6048, 79456, 68396, 79456, -6048,112115, -6048, 1788, 464, 1201, 3194, -6048, 4084, -6048, 4347, 4090, 4091, 4143, 246, 1618, 4092, 4095, 4151, 4009, 4011, 4013, -6048, 79456, 68958, 4176,112115, 2995, 4016, 4064,112115, 3842,111571, -6048, 4018, -6048, -6048, 3842, 399, 1422, -6048, -6048, 1422, 2995, 1422,112115,112115,112115,112115, 399, -6048, -6048, -6048, 4462, 4115,112115,112115,112115,112115, -6048, 4078, -6048, -6048, -6048,112115,112115, 4359, 273, 2381, 147070,112115,112115,147070,112115,112115,112115,112115,112115,112115, 112115, 4241, -6048, 4453, 4378, 2528, 4421, 4109,112115, -6048, 112115, 1422, -6048, 3447,112115,112115,112115,112115, -6048, -6048, -6048, -6048, -6048, 3732, -6048, 4035, 4315, 1049, -6048, 4316, 4319, 4324, 1049, -6048, -6048, 691, -6048, 496,112115, -6048, 2653,112115, -6048, -6048, -6048, 3986, 2666, 2666, -6048, -6048, -6048, -6048, -6048, -6048, 4043,112115,112115, 56252, -6048, 1677, 2033, 1659, -6048, 4322,112115, 3284, -6048, -6048, -6048, 278, 112115, -6048, -6048, -6048, -6048, 4057, -6048, 1255, 3869, -6048, 4342, 91443, 2995,147070,147070, 2995, -6048, 88176, 4058, 3607, -6048, 857, 4134, -6048,147070, 975,133875, 3377, 4093, 4265, 7987, 59596, 60149, 1977, -6048, 4052, 4065, -6048, -6048,112115, 4066,145636, 2614, 2615, 4517, 1412, 2449, 3695, 93075, 4248, 3869, 4342, -6048, 3198, 4276, 4278, -6048, 2252,112115, 3695, 3607, 1422,112115, 3520, -6048, 2698, 68396, 2315, -6048, 84361, 52290, 52290, -6048, 4068, -6048, 4070, 7348, -6048, 4141, 4069, 4518, 52290, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 4158, 4079,112115,112115, 953,112115, 4565, -6048, -6048, 4082, 3925, -6048, 3925, -6048, 4081, -6048, -6048, -6048, 2316, 31022, 65659, 65659, 65659, 65659, 65659, -6048, -6048,112115, -6048,112115, -6048, 997, -6048, 4206, 997,112115, 2252,112115,112115,112115, 112115,112115, 3636, 362, 3633, -6048, -6048, 4406,146114, 3955, -6048, 2617,112115, -6048, -6048, -6048, 4474, -6048, -6048, 192, 4414, 997, -6048, 1113, 1113, 1113, 1113, 4372, 1113, 1113, 1113, 1113, 1113, -6048, 52290, 18157, -6048, 4096, -6048, 18157, 4097, 8516, 16834, -6048, 2621, 52290, -6048, 3729, 3729, 3729, 3322, 4419, -6048, 2986, 3729, 3729, 3729, 376, 376, 236, 236, 236, 4418, 436, 17079, 17153, 16744, 4098, -6048, -6048, -6048, 3683, -6048, 53422, 787, 4535, 57384, -6048, -6048, -6048, 4138, 4144, 4103, -6048, 52290, 53988, 4099, 89266, 4307, -6048, 1118, 52290, 52290, 3587, -6048, 12059, 52290, -6048, 3587, 489, 52290, 2568, 2699, 52290, 52290, 5832, 8834, 4114, 52290,138227, -6048, -6048, -6048, 2625, 52290,112115,112115,112115,112115, -6048, -6048, -6048,109939,110483,109939, 4112, 58490, 62907, 2331, 4116, 112115, -6048, -6048, 4119, 59596, 4388, 4320, -6048, 59596, 4320, 1676, 4320, 4399, 4215, 67843, -6048, -6048, 4123, -6048, 4332, -6048, 2279, 18157, 4568, 4442, 1422, 4442, 1751, 345, 1422, -6048, 4127, 71763, -6048, -6048, -6048, -6048, 4217, -6048, 4352, 18157, 47762, -6048, 2252, 1564,112115, 2186, 753, -6048, 52290, 4146,112115, -6048, 4120, 18157, -6048, 9176, -6048, -6048, -6048, -6048, 4216, 2629, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 4225, 94163, 4466, -6048, 52290, 2632, -6048, 4180, 4566, 456, 2642, 2643, 1918, -6048, 2647, -6048, 2060, 4443, 220, -6048, 997, -6048, 88176,112115,112115,112115, 3144, -6048, -6048,112115, 112115,112115,112115, -6048, -6048,147070,112115, -6048,112115, -6048, -6048, -6048, -6048, 399, 1677, 4454, 4456, 4373, -6048, 362, -6048, 1677, 4377, 399,112115, -6048, -6048, -6048, 3325, -6048, 88176, 997, 997, -6048, -6048, -6048, -6048, -6048, 4164, -6048, 4601, 4253,112115,112115,112115,112115,112115,147070,112115,112115, 2952, 2952, 88176, 4160, -6048, 2952, 2952, 4161, -6048,147070, 112115,112115, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 4249, -6048, 52290, 4595, -6048, -6048, -6048, -6048, -6048, 52290, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048,147070,112115, 4256, -6048, 4257, -6048, 855, -6048, -6048,112115,112115,112115,112115, 4516, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 4519,112115, -6048, -6048, 1422, 1422, 88176, 997, 997, -6048, -6048, -6048, 4258, -6048, -6048, 4177, 4458, 1049, -6048, 1049, 1049, 1049, -6048, 4179, -6048, 691, 4552, -6048, 1918, 2105, 4506, -6048, 52290, -6048, 1208, 3322, -6048, 4567, 4644, -6048, -6048, -6048, -6048, 3552, 2472, 3552, -6048, -6048, 81636, 1037, -6048, 4490, 628, 79456, 4407, 91443, 2233, 2040, 4190, 4321, -6048, 2995, 2995, 4252,112115, 4657, -6048, -6048, -6048, -6048, -6048, -6048, 147070, 3854, -6048, 4424, 1447, 4527,112115, 60149, -6048, 3969, -6048, -6048, -6048, 1422, -6048, -6048, 4325, 3607, -6048, 4550, 112115, 4423, 91443, 3695, -6048, 2657, -6048, -6048, -6048, 4251, 4653, 3622, -6048, 2233, 4248, -6048, -6048, 4629, 4309, 4260, 4677, -6048, 4309, 4545, 4434, 4221, -6048, 3889, -6048,112115, -6048, 18157, 18157, 1422, 89811, 311, 88176, 4555, -6048, 18157, 112115, 951, 4227, 4390, -6048, 4522,112115, -6048, 997, 2662, -6048, -6048, -6048, 4233, 2348, 2348, -6048, -6048, -6048, 997, 997, -6048,112115, -6048, 3636, 3636, 3636, 3636, 3636, -6048, 4435, -6048, -6048, -6048, 4520, -6048, 997,146114, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 1113, -6048, -6048, -6048, -6048, -6048, 18157, -6048, -6048, -6048, 52290, -6048, 9621, 56252, 4569, -6048, 52290, 52290, 52290, -6048, 4235, 2665, 2670, -6048, -6048, 787, -6048, 4535, -6048, -6048, -6048, 10497, 4293, 18157, 4349, 4238, 4239, 3587, 3587, 12059, 3587, 52290, 52290, 3587, 3587, 52290, -6048, -6048, 10536, 4436, -6048, -6048, 10785, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 80546, 4242, 3882,109939, 4244, 112115, 2331, 59596, -6048, -6048, 320, -6048, 59596, 4524, -6048, 59596, 81636, -6048,112115, 4246,112115, -6048, 1837, 52290, 4289, -6048, 4289, -6048, 2666, -6048, -6048, -6048, -6048, -6048, 4383, 4259, -6048,102867, 838, -6048, 110, -6048, -6048, 4661, 61255, 4619, 17468, 52290, -6048, -6048, -6048, -6048, -6048,146114, 4470, 146114, 1918, 11469, 4560, 61255, 72885,112115, -6048,112115, -6048, 4427, 4560, 4560, -6048, -6048, -6048, -6048, -6048, -6048, 4262, -6048, -6048, -6048, -6048, 4348, -6048, -6048, 1340, 3605, -6048, 2443, -6048, 4721, 4612, 4613, -6048, -6048, -6048, -6048, -6048, -6048, 4453, -6048, -6048, 68396,147070,112115, -6048, 4351, -6048, -6048, -6048, -6048, -6048, -6048, 62361, 71763, -6048, 246, 4269, 4270, 1618, -6048, -6048, -6048,112115, 11487, 4271, 11562, 1454, 3605,112115,112115, 4272, 4273, 4274, 1986, 1753, 2097, 3636, 4608,112115, -6048, -6048, -6048, 4453, -6048, -6048,112115, -6048, 1049, -6048, -6048, -6048, -6048, 79456, -6048, 2983, 4179, 1422, 81636, 4731, 4731, 11793, 4500, -6048, -6048, 758, 4338, 4536, 4338, 4282,112115, 278, 4285, 2673, -6048,112115, 4290, 4415, 2421, 2421,112115,112115,112115, 2674, 2252, 2995, 4064, 975, 4637, 91443, 4687, 4066, 401, -6048,112115, 4765,102867, 2252, 3869,112115, 4303, 1021, -6048, 93075, 4515, 2443,112115, 2606, 4248, 3622, 1350,112115, -6048, 1916, -6048, 2252, -6048,112115, 105043, 61255, 4639, -6048, 88721, -6048, 2677, -6048, -6048, -6048, 4384, 17909, 3750, 4426, 4429, 4312, 2257, 4649,112115, 974, -6048, 4328, -6048, -6048, -6048, -6048, -6048, -6048, -6048,112115, -6048, 211, -6048, 17606, -6048, 3944, 56252, 18157, 18157, 18157, 52290, -6048, 52290, -6048, -6048, -6048, -6048, 1120, -6048, -6048, 3587, 3587, 3587, -6048, 4761, 3732, -6048, -6048, 2678, 4783, 55686, 4741, -6048,112115, 2681, -6048, 52290, 4331, -6048, -6048, 59596, 320, 4337, 2695,112115, 2696, 88176, 54554, 18157,112115, -6048, -6048, -6048, -6048, 1428, 4715, -6048, -6048, -6048, 4387, 112115, 2706, -6048, 1229, 1970, 4386, -6048, 18157, 1985, 1735, 443, 4566, 4339, 3552, -6048, 4343, -6048, -6048, 3198, 454, 112115, 3552, 3552, -6048,112115, 4431, -6048, 4658, -6048, -6048, 4393, -6048, 1480, 3605,112115, 88176, -6048, 163, 4675, -6048, 88176, 88176, -6048, -6048, -6048, 52290, -6048, 4439, -6048, -6048, -6048, 52290, 52290,150894, -6048, -6048,112115,112115,112115,112115, 112115, -6048, 997, -6048, -6048, 2712, -6048,140331, -6048, -6048, 3405, 1422, 3405, 1947, -6048, -6048, 3405, 3405, -6048, 3750, -6048, 4731, 1675, -6048, -6048, 4582, 4353, 52290, 4652, -6048, 1381, 4571, -6048, 4354, -6048, 81636, 4848, -6048, 79456, 3869, 4342,112115, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 2716, 4066, 4698, 3607, 4260, -6048, 112115, 4396, -6048, 59596, 4066, 2252, 2449, 3695, 4248, 3869, 4342, -6048, -6048, -6048, 4360, 4278, 3622, 2606, 4502, -6048, 4504, -6048, 4793, 4576, 4795, 3695, -6048, 3520, 2721,112115, -6048, -6048, 7348, 89811, 88176, -6048, -6048, -6048, 4363, 4734, 4410, 4411, -6048, -6048, -6048, 2257, -6048, 1713, 4733, 4420, -6048, 4430,112115, -6048, -6048, 2728, 4866, 4066, 997, 52290, 3944, 2724, 2736, 4432, -6048, 52290, 1597, 3977, 80546, 4379, -6048, 56252, 2737, -6048, 3457,112115, 2743, -6048, 18157,112115, -6048, -6048, 52290, -6048, 2744, -6048, 4380, 112, 4381, 41556, 4375, -6048, -6048, -6048, -6048, -6048, 18157, 4382, -6048, 4845, 4720, 4722,112115, -6048, 2252, -6048, 3750, 61255, -6048, 4512, 4854, 4643, -6048, -6048, 4719, -6048, -6048,112115, 4338, 71763, 454, 3745, 2472, 4338, 4338, -6048,112115, 4353, 52290, -6048, 4489, -6048, -6048, 2747, 1878, 4570, 4570, 2762, 2765, 11868, 112115, 2770, 2780, -6048, 2793, 2952, 3641, 2097, 3641, -6048, 3636, -6048, -6048, 79456, -6048,146592, -6048, -6048, -6048, 1422, -6048, 1422, 4621,112115, 75085, 1422, 1422, -6048, -6048, -6048, -6048, 4696, -6048, 2615, -6048, 12177, 4494, -6048, -6048, -6048, 522, -6048, 4617, 4622, -6048, 4405, -6048, 2794, -6048, 2233, 4537, 4066, -6048, -6048,112115, 4873, 4874, -6048, 1453,112115, 3969, -6048, 4260, 3695, -6048, 3622, 2233, 4248, 2443, 61808, 4309, 2606, 4278, -6048, -6048, 4623, -6048, 4624, -6048, 4417, 4717, -6048, 1982, 311, -6048, -6048, -6048, 404, 4744, 4746, -6048, -6048, -6048, 3405, -6048, 1588, 4422, 4763, -6048, -6048, -6048, -6048, -6048,112115, -6048, -6048, 18157, -6048, -6048, -6048, 3683, 51158, 51158, 51158, 4428, -6048, -6048,112115, 3322, 4425, 55686, 79456, 2800, -6048, 86541, -6048, 2801, 2804, -6048, 52290, 4433, 52290, -6048, 54554,112115, 4438, 4863, 4869, 1567, -6048, -6048, -6048, 66751, 52290, 4523, 4854,146114, 2805, 3842, 4440, 3745, -6048, 4536, -6048, -6048, 3605, -6048, 18157,112115, 81636, 4872, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 3605, 4508, -6048, -6048,150894, -6048,112115, -6048, -6048, 2815, -6048, -6048, -6048,112115, 4227, -6048, 4227, -6048, -6048, -6048, 2069, 4539, 112115, 903, 903, 4808, -6048, 4498, -6048, 4441, -6048, 4926, 4573,112115, -6048, -6048, 246, 2252, 91443, 4066, -6048, 1021, 2606, 4248, 3622, 52290, 2818, -6048, 4566, 456, -6048, 4278, 4309, -6048, -6048, 61255, 4446, 3284, 4798, -6048, -6048, -6048, 2149, 81636, 81636,112115, -6048, -6048, -6048, 52290, 278, -6048, 55120, 4589, 1354, 13498, 4791, -6048, 4791, 4791, -6048, 2821, 57384, -6048, -6048, -6048,112115, 4660, 1797, 4917, 4614, 2822, 54554, 2835, -6048, -6048, -6048,112115,112115,112115, 54, 18157, 955, 4543, 443, -6048, -6048, -6048, -6048, 4571, 1918, 1918, -6048, 3605, -6048,112115, -6048, 4457, -6048, -6048, -6048,146592, 4227, -6048, -6048, -6048, -6048, 4935, -6048, 1448, -6048, -6048, -6048, -6048,112115, 4066, 4160, 4260, -6048, -6048, 4278, 3622, 2606, 12302, -6048, 61808,112115,112115, 4309, -6048, 2841, 61255, 3607, 4602, -6048, 2336, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 989, 4459, 4460, -6048, -6048, 12527, 81636, 4925, -6048, -6048, -6048, -6048, -6048, 1389, -6048, -6048, -6048, -6048, 3882, -6048, -6048, 56252, 4690, -6048, 1797, -6048, 56252,112115, -6048, 4467, -6048, -6048, 2842, -6048, 1585, 1591, 2110, -6048, -6048, 4699, 4593, -6048, -6048, 385, -6048, 1918, -6048, -6048, -6048, 52290, -6048, -6048, 2472, 2472, 4066, -6048, -6048, 4309, 2606, 4278, 4566, -6048, -6048, -6048, -6048, -6048, 4717, -6048, 2862, 4309, 4420, 2064, -6048, -6048, 2202, 2748, 4554, 4801, -6048, 4476, 51724, 4616, -6048, 4686, -6048, 4901, 3322, -6048, -6048, 3322, -6048, 52290, -6048,112115,112115, 81091,112115, -6048, 66751, 4712, 198, -6048, 1918, 2863, -6048, -6048, -6048, -6048, 4278, 4309,112115, 3284, -6048, 61255, 3750, 4833, -6048, 2336, 4600, 4603, 78911, -6048, -6048, -6048,112115, 12924, -6048, -6048, 317, 4870, -6048, 4484, -6048, 4549, 110, 4507,112115, -6048, -6048, 4309, -6048, -6048, 3607, -6048, -6048, 278, -6048, 4553, 4556, 2867, -6048, -6048, -6048, -6048, -6048, 2868, -6048, 52290, 81091, -6048, 4559, 52290, 2871, -6048, 4309, 81636, 4834, 4837, -6048, 78911, -6048, 948, 4577, 4581, 2872, 150, 3750, 4513, 81636, 81636, -6048, 4521,112115, -6048, -6048, 110, -6048, -6048, 78911, -6048, -6048, 1422, -6048, 4578, 2876, 4581, -6048, -6048 }; /* 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[] = { 3193, 0, 2, 1, 3620, 3624, 3628, 3629, 3551, 3630, 3631, 3596, 3597, 3598, 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3609, 3608, 3610, 3611, 3612, 3613, 3614, 3615, 3616, 3617, 3619, 3618, 3569, 3200, 3568, 3565, 3566, 2308, 3633, 3621, 3634, 3622, 3623, 3625, 3626, 3595, 3627, 3635, 3636, 3637, 3632, 3640, 3591, 3592, 3590, 3593, 3594, 3638, 3639, 3582, 3583, 3584, 3585, 3641, 3201, 3202, 3587, 3194, 3198, 3263, 3334, 3588, 3589, 3586, 3199, 3581, 3334, 0, 3456, 3457, 0, 3458, 3459, 3460, 3386, 3348, 3461, 0, 0, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 0, 3470, 3471, 3472, 3473, 3333, 3474, 3475, 3476, 3477, 3310, 3316, 3439, 0, 3290, 3291, 3287, 3289, 3288, 3292, 3275, 1455, 655, 1543, 1542, 0, 2674, 1455, 2626, 2627, 2675, 2628, 2629, 0, 2630, 275, 0, 1553, 2631, 2676, 0, 1455, 2677, 439, 1113, 2678, 2679, 3217, 0, 2632, 2633, 0, 0, 0, 655, 1455, 0, 0, 2634, 1708, 2635, 0, 2636, 2680, 2681, 0, 2637, 2638, 2682, 0, 2683, 2639, 2640, 2641, 2684, 2685, 2686, 2642, 2687, 2688, 0, 0, 1722, 0, 2643, 2689, 2644, 2645, 2646, 0, 2690, 2647, 2648, 2649, 2691, 2692, 2650, 2651, 2652, 0, 2653, 0, 0, 0, 0, 0, 0, 2693, 1455, 2654, 0, 0, 1729, 0, 2655, 0, 2694, 2656, 0, 2657, 0, 2695, 2658, 2659, 2660, 2661, 1722, 3435, 3311, 0, 1555, 0, 2662, 2696, 0, 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 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, 1553, 95, 108, 94, 101, 80, 105, 123, 106, 78, 119, 1684, 1671, 1731, 1683, 1707, 0, 1687, 3530, 3531, 46, 1708, 130, 131, 132, 137, 3197, 3252, 3253, 3254, 3334, 3285, 3286, 3279, 3295, 3305, 3294, 3298, 3306, 3293, 3312, 0, 134, 136, 138, 141, 135, 129, 133, 140, 145, 139, 144, 142, 143, 146, 147, 148, 3532, 1961, 3529, 77, 3270, 3269, 0, 3334, 0, 3562, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2338, 2339, 2341, 2340, 2342, 2343, 2344, 2345, 2346, 2347, 2348, 2349, 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2315, 2316, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 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, 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2513, 2511, 2512, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2317, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2590, 3217, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 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, 3235, 2313, 2314, 2321, 2322, 2323, 3210, 3231, 3237, 3558, 3236, 2320, 3385, 0, 0, 3478, 3479, 3480, 3481, 3482, 3483, 3533, 3534, 3535, 3536, 3537, 3539, 3538, 3347, 3505, 3542, 3346, 3543, 3350, 3544, 3545, 3546, 3547, 3506, 3548, 3349, 3540, 3502, 3351, 3344, 3345, 3503, 3454, 3455, 2288, 3504, 3501, 3541, 3238, 3500, 3355, 3354, 1660, 3557, 1661, 0, 3357, 3484, 3485, 3486, 3487, 3489, 3488, 3490, 2697, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707, 2708, 3515, 2709, 2710, 2711, 3528, 2712, 2713, 3516, 2714, 2715, 2716, 2717, 2718, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 3517, 3518, 2738, 2739, 2740, 2741, 2742, 2743, 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2761, 3519, 2762, 2763, 3520, 2764, 2765, 2766, 3521, 2767, 2768, 2769, 2770, 2771, 3525, 3526, 3527, 3514, 3308, 3491, 3513, 3524, 3522, 3523, 3318, 3314, 3322, 3317, 0, 0, 0, 0, 3334, 1454, 1453, 1468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3207, 0, 1465, 150, 0, 3509, 3503, 3512, 0, 2291, 3504, 3501, 3500, 411, 410, 1552, 0, 1532, 655, 0, 1468, 438, 1708, 0, 0, 0, 0, 0, 0, 871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 0, 462, 461, 0, 0, 1079, 467, 0, 0, 0, 0, 0, 645, 3216, 3211, 3221, 0, 3214, 3215, 3500, 0, 3644, 2511, 3247, 3248, 3642, 2572, 1662, 1660, 3557, 0, 276, 279, 280, 277, 278, 0, 1225, 1226, 1228, 0, 0, 1238, 911, 912, 0, 0, 0, 925, 0, 0, 0, 909, 0, 0, 0, 931, 0, 928, 0, 0, 932, 929, 906, 930, 913, 0, 905, 0, 0, 1238, 933, 0, 0, 907, 0, 0, 0, 0, 1468, 0, 3300, 3301, 2432, 1592, 468, 0, 0, 1708, 0, 1576, 1577, 1553, 1565, 1578, 1570, 1572, 1571, 1573, 1574, 1569, 1575, 2327, 1008, 2344, 1008, 2420, 1005, 1006, 1008, 1008, 1008, 2531, 0, 0, 980, 0, 991, 2309, 1008, 2310, 3558, 1013, 2335, 539, 539, 539, 0, 1012, 1017, 539, 0, 1436, 1477, 2290, 1721, 0, 2344, 2420, 981, 1435, 2591, 1582, 0, 0, 1253, 1249, 1251, 1252, 1250, 0, 1082, 1082, 2550, 1445, 260, 3498, 2560, 2658, 2591, 3499, 259, 254, 255, 3493, 3494, 3496, 228, 3497, 3495, 3492, 2331, 0, 0, 1012, 0, 1468, 1443, 977, 1728, 1726, 0, 2275, 0, 0, 2354, 0, 2369, 2458, 251, 2543, 2551, 2560, 2658, 2591, 2623, 207, 217, 212, 0, 269, 2560, 2658, 2591, 0, 1465, 0, 1688, 1835, 1834, 2284, 0, 0, 3309, 1438, 1437, 1554, 0, 1557, 0, 2526, 1692, 1695, 1559, 1693, 1684, 0, 0, 3196, 0, 1564, 1725, 1725, 0, 1725, 0, 1676, 1684, 1679, 1683, 0, 0, 0, 0, 0, 1455, 0, 3277, 3305, 3284, 3340, 3281, 0, 0, 3330, 3326, 3323, 3331, 3332, 3325, 3313, 1950, 1951, 1952, 1949, 1962, 1948, 0, 3258, 1953, 3297, 3264, 0, 3272, 3271, 3570, 3571, 3387, 3209, 3228, 0, 0, 0, 0, 0, 0, 0, 3356, 3358, 3360, 3320, 3319, 3315, 0, 0, 0, 3445, 3446, 0, 3444, 0, 3441, 3443, 0, 3340, 0, 1439, 0, 0, 0, 936, 0, 1480, 1064, 0, 0, 0, 0, 0, 1322, 0, 1121, 1122, 0, 2313, 0, 2431, 1322, 0, 0, 2186, 2197, 2198, 2199, 2358, 2414, 2194, 2195, 2196, 2188, 2189, 2190, 2191, 2192, 2193, 0, 0, 1220, 2187, 0, 2431, 0, 1322, 0, 177, 0, 154, 1322, 0, 0, 2431, 0, 0, 2431, 0, 0, 0, 0, 0, 2431, 0, 0, 0, 0, 0, 177, 2463, 0, 154, 2431, 0, 0, 0, 1459, 0, 0, 0, 1461, 1464, 1451, 0, 2267, 0, 2268, 2292, 0, 1546, 1540, 1549, 1545, 1535, 0, 2284, 0, 0, 0, 0, 919, 0, 0, 909, 0, 0, 0, 920, 0, 921, 922, 0, 0, 0, 0, 918, 0, 1449, 1441, 0, 1584, 1586, 1585, 1587, 1583, 539, 0, 0, 0, 2431, 0, 154, 1519, 0, 2431, 154, 0, 0, 466, 465, 154, 464, 463, 2358, 2414, 0, 1112, 0, 1195, 154, 2431, 0, 200, 2431, 714, 2431, 1559, 0, 658, 0, 826, 2463, 154, 0, 0, 0, 0, 0, 0, 1082, 0, 0, 0, 0, 0, 0, 0, 644, 655, 0, 3220, 3226, 0, 3218, 3388, 3645, 3643, 3343, 0, 3249, 1229, 252, 253, 1227, 923, 2431, 1154, 372, 0, 0, 2431, 154, 1910, 1939, 1917, 1939, 1939, 1906, 1906, 2397, 1919, 2431, 1907, 1908, 1944, 0, 1939, 1906, 1911, 0, 1909, 1947, 1947, 1934, 372, 940, 1891, 1892, 1893, 1894, 1920, 1921, 1895, 1926, 1927, 1931, 1896, 1961, 3510, 1906, 3511, 3508, 3507, 924, 0, 910, 2431, 372, 1118, 2431, 2318, 187, 0, 908, 2358, 2414, 2431, 372, 1222, 0, 2431, 372, 2431, 183, 2431, 372, 2431, 372, 2431, 659, 0, 0, 2431, 372, 2431, 2463, 185, 927, 2431, 372, 934, 2431, 372, 2286, 2431, 0, 1452, 0, 0, 3575, 3579, 0, 3577, 3572, 3299, 3353, 3352, 3251, 0, 3656, 0, 1662, 1567, 0, 1708, 1008, 1007, 0, 1008, 0, 3666, 1008, 0, 1008, 0, 3666, 1008, 0, 0, 0, 1008, 2311, 2312, 0, 0, 3665, 3661, 3664, 982, 992, 0, 1014, 0, 1022, 0, 1021, 1020, 1019, 0, 0, 0, 1023, 0, 1839, 1619, 0, 989, 0, 987, 0, 1433, 1448, 0, 0, 0, 0, 1082, 0, 1081, 0, 0, 1444, 258, 256, 0, 0, 0, 0, 0, 0, 1450, 0, 1442, 0, 0, 0, 3564, 3567, 2200, 3563, 0, 2627, 2628, 2629, 2259, 0, 3505, 2630, 2631, 2676, 2090, 2077, 2086, 2091, 2078, 2080, 2087, 2632, 2633, 2028, 2634, 2635, 2304, 2636, 2637, 2638, 2640, 2641, 2642, 2082, 2084, 2643, 2644, 2646, 0, 2305, 2647, 2648, 2492, 2650, 2651, 2653, 2654, 2088, 2656, 2657, 2658, 2659, 2660, 2661, 2303, 506, 2089, 2662, 2664, 2665, 2666, 2667, 2669, 2670, 2671, 2672, 0, 0, 0, 2281, 0, 2057, 0, 1899, 1900, 1922, 1923, 1901, 1928, 1929, 1902, 0, 2280, 1964, 2145, 2056, 2073, 0, 2062, 2063, 0, 2055, 2051, 1711, 2276, 0, 2052, 2293, 2260, 2307, 2306, 3558, 2270, 2296, 2294, 2295, 2297, 1711, 2274, 0, 0, 0, 220, 0, 0, 3434, 271, 0, 272, 2282, 2560, 208, 250, 222, 249, 223, 221, 0, 2356, 209, 0, 0, 210, 0, 0, 0, 0, 0, 0, 0, 265, 1440, 0, 1837, 1836, 2285, 945, 0, 0, 1556, 1553, 2210, 0, 1694, 0, 0, 0, 1674, 1673, 0, 1561, 1563, 1538, 1559, 1723, 1724, 0, 0, 0, 0, 0, 0, 0, 0, 1781, 1739, 1740, 1742, 1778, 1782, 1790, 0, 1680, 0, 0, 0, 1841, 0, 0, 3195, 3340, 3341, 0, 3335, 0, 3334, 3334, 3328, 3327, 3324, 0, 0, 0, 0, 0, 0, 0, 0, 3255, 639, 3257, 636, 0, 0, 3230, 0, 3234, 3232, 0, 3380, 3383, 0, 3381, 3382, 3384, 0, 3389, 3390, 0, 0, 0, 0, 0, 3371, 3359, 3366, 3368, 3370, 3369, 3378, 3374, 3377, 3379, 3321, 3334, 0, 3447, 3453, 3450, 2371, 0, 3442, 0, 1466, 0, 0, 0, 0, 0, 1153, 0, 0, 0, 0, 0, 937, 0, 0, 0, 0, 1488, 1489, 1490, 0, 0, 0, 1491, 1492, 1480, 262, 1499, 1496, 1479, 1481, 1494, 1486, 0, 0, 0, 0, 0, 0, 0, 1511, 0, 191, 192, 0, 671, 655, 0, 2431, 0, 0, 0, 0, 1163, 1170, 1321, 0, 0, 0, 0, 0, 0, 0, 0, 1164, 1162, 0, 1165, 264, 1175, 1202, 1205, 0, 0, 1120, 1123, 0, 0, 0, 0, 0, 1312, 0, 0, 0, 1312, 0, 0, 0, 1321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 289, 302, 367, 0, 0, 0, 2431, 1322, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 1205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 153, 158, 0, 0, 0, 0, 1205, 0, 0, 0, 0, 0, 0, 0, 622, 635, 0, 0, 0, 0, 0, 632, 0, 0, 154, 292, 612, 618, 0, 0, 0, 721, 720, 0, 0, 0, 0, 0, 0, 1409, 0, 1408, 0, 0, 0, 0, 0, 1509, 1508, 0, 0, 0, 0, 0, 0, 1312, 0, 281, 283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, 404, 0, 0, 0, 158, 0, 0, 1312, 0, 294, 0, 3265, 0, 1460, 1457, 1458, 0, 1463, 0, 0, 0, 0, 2065, 0, 2214, 1731, 2212, 1138, 2266, 0, 2263, 2262, 2289, 2269, 0, 0, 239, 240, 238, 1547, 241, 1548, 1544, 0, 1530, 0, 0, 0, 0, 0, 0, 0, 0, 2358, 2414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 834, 1480, 1518, 0, 0, 0, 664, 0, 2431, 0, 156, 872, 0, 824, 467, 0, 0, 0, 0, 1385, 156, 0, 0, 194, 0, 0, 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 825, 0, 0, 156, 0, 2431, 615, 2431, 0, 539, 539, 0, 0, 1084, 0, 0, 0, 0, 0, 0, 0, 0, 3224, 3219, 3222, 0, 3212, 3226, 1666, 1665, 1668, 1667, 0, 1664, 0, 370, 371, 0, 1212, 1237, 0, 0, 0, 1938, 1925, 1933, 1932, 0, 1915, 1914, 1913, 0, 1912, 0, 1939, 1939, 1937, 1916, 1891, 0, 0, 0, 1943, 0, 1941, 0, 901, 1887, 1883, 0, 1950, 1949, 1948, 0, 1897, 1906, 1903, 926, 0, 0, 1206, 0, 0, 2431, 372, 2431, 0, 2431, 0, 0, 0, 1214, 372, 0, 1208, 0, 0, 1210, 0, 1411, 0, 917, 915, 914, 916, 0, 0, 899, 0, 0, 0, 0, 0, 894, 0, 0, 896, 0, 0, 3573, 0, 0, 3576, 0, 3302, 0, 3662, 1588, 3659, 0, 0, 1708, 1566, 0, 1000, 0, 3666, 3667, 985, 0, 995, 0, 3666, 983, 0, 996, 993, 994, 0, 0, 0, 3660, 3549, 3555, 999, 0, 0, 540, 542, 0, 0, 2380, 2396, 0, 2421, 2451, 2452, 2502, 2517, 2546, 2551, 2556, 0, 2585, 2596, 0, 1028, 1059, 1018, 730, 0, 0, 1629, 990, 988, 1434, 1580, 2219, 0, 1708, 0, 0, 0, 1245, 1246, 257, 229, 0, 0, 0, 1061, 2550, 1447, 976, 655, 0, 0, 2060, 2061, 2258, 0, 0, 0, 0, 0, 0, 2059, 0, 0, 0, 0, 0, 0, 0, 1986, 0, 0, 2218, 0, 0, 2218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1987, 1968, 1969, 3506, 2057, 2210, 0, 2058, 2300, 0, 1961, 2200, 0, 2197, 2198, 2199, 2772, 2773, 2774, 2775, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 0, 2788, 2789, 2790, 2791, 2792, 2794, 2793, 2795, 2796, 2797, 2798, 2799, 2800, 2273, 2802, 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, 2828, 2829, 2830, 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, 2864, 2865, 2866, 2867, 2868, 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, 2001, 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, 2003, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3042, 3040, 3041, 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, 3080, 3081, 3082, 3083, 3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3097, 3099, 3098, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, 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, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 0, 2194, 2195, 2196, 2188, 2189, 2190, 2191, 2192, 2193, 2204, 0, 0, 2279, 2325, 2324, 0, 2147, 0, 1983, 0, 0, 1794, 1710, 0, 2298, 2261, 0, 3556, 3559, 2053, 1794, 3431, 3430, 3429, 3428, 3399, 0, 3393, 3394, 0, 3432, 3433, 273, 274, 270, 0, 0, 225, 224, 0, 247, 248, 219, 246, 0, 242, 243, 227, 2134, 2133, 226, 218, 215, 213, 230, 232, 233, 216, 214, 268, 266, 0, 0, 0, 0, 372, 3334, 1564, 1551, 0, 0, 2273, 0, 2208, 0, 0, 2206, 0, 0, 0, 1791, 0, 1696, 0, 1700, 1564, 0, 1560, 1691, 1690, 1732, 1733, 1104, 1689, 1761, 1762, 0, 0, 0, 0, 1787, 1785, 1752, 1743, 1751, 0, 0, 1749, 0, 1753, 1964, 1780, 1678, 1737, 1738, 1741, 1677, 0, 1783, 0, 1632, 1781, 1742, 1616, 0, 1594, 0, 0, 1842, 0, 0, 0, 3342, 3340, 3280, 1891, 3334, 3273, 3334, 3329, 3261, 1955, 1956, 1957, 1958, 1959, 1960, 3262, 0, 3259, 1954, 3260, 637, 638, 0, 0, 0, 3227, 0, 3208, 3233, 3365, 2568, 3397, 0, 3398, 0, 0, 3362, 0, 3372, 3375, 3373, 3376, 0, 1891, 3448, 3552, 3552, 1891, 1467, 0, 0, 0, 1133, 1135, 0, 1134, 0, 1137, 0, 1146, 0, 0, 1132, 1151, 0, 1140, 1138, 0, 1507, 0, 0, 938, 0, 0, 0, 0, 1487, 0, 0, 0, 2585, 261, 1490, 1495, 1482, 1493, 0, 0, 0, 0, 0, 1063, 1062, 0, 0, 1086, 0, 0, 506, 1514, 528, 0, 369, 0, 0, 0, 0, 0, 0, 0, 0, 820, 817, 0, 0, 816, 0, 669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 694, 0, 1312, 0, 300, 0, 1172, 0, 1171, 0, 1176, 0, 0, 1173, 1168, 1169, 2551, 2560, 2591, 263, 1174, 1204, 0, 1203, 1199, 0, 1115, 0, 1116, 0, 0, 0, 0, 0, 2406, 2431, 308, 331, 0, 1311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 353, 0, 0, 356, 355, 0, 0, 0, 0, 0, 361, 0, 339, 0, 340, 0, 360, 0, 0, 0, 0, 0, 0, 1312, 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, 1221, 0, 747, 0, 0, 2551, 1200, 0, 1394, 0, 2584, 1395, 1398, 539, 0, 539, 1400, 0, 0, 1397, 1399, 0, 0, 180, 0, 175, 179, 0, 0, 2551, 1201, 0, 0, 0, 0, 0, 620, 621, 634, 0, 625, 626, 623, 627, 628, 0, 0, 0, 0, 0, 0, 0, 619, 0, 0, 716, 715, 719, 0, 0, 0, 0, 0, 0, 1403, 0, 0, 1195, 0, 0, 1402, 1410, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1255, 1254, 0, 0, 0, 0, 1322, 0, 862, 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, 734, 0, 733, 0, 176, 181, 0, 0, 0, 0, 0, 0, 0, 0, 237, 1456, 1462, 1731, 1731, 1731, 2071, 0, 0, 0, 0, 1730, 2264, 2267, 1535, 1541, 1534, 1533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 414, 415, 417, 0, 0, 0, 0, 836, 0, 839, 842, 1478, 490, 0, 0, 661, 694, 0, 0, 470, 189, 0, 0, 0, 0, 749, 0, 1195, 1194, 151, 198, 200, 468, 0, 199, 201, 203, 204, 205, 202, 206, 0, 713, 717, 0, 0, 0, 0, 657, 0, 0, 0, 0, 0, 0, 0, 1862, 0, 0, 174, 0, 0, 610, 614, 0, 3203, 0, 0, 470, 578, 383, 2431, 0, 539, 0, 2431, 0, 1083, 0, 823, 0, 0, 0, 1157, 1157, 0, 0, 763, 762, 0, 0, 0, 0, 3225, 0, 0, 0, 0, 1663, 372, 1155, 0, 154, 0, 0, 0, 0, 372, 1936, 1935, 1888, 1884, 0, 0, 0, 0, 941, 0, 0, 0, 0, 0, 0, 1904, 372, 1119, 188, 2319, 0, 903, 0, 0, 0, 0, 372, 1223, 891, 372, 184, 372, 372, 660, 0, 372, 186, 0, 0, 372, 935, 372, 2287, 0, 372, 3574, 3580, 3578, 1591, 3663, 3657, 3658, 2431, 539, 1668, 1568, 997, 1004, 986, 1003, 1002, 984, 1001, 998, 3364, 0, 0, 3554, 0, 1015, 0, 538, 0, 0, 0, 0, 0, 1036, 1037, 0, 0, 1033, 1038, 0, 1040, 1024, 1026, 1034, 1035, 1041, 1030, 1029, 1042, 1043, 0, 0, 1061, 728, 0, 0, 0, 0, 1626, 0, 1624, 0, 1840, 1628, 1617, 1581, 0, 1579, 0, 603, 1082, 1082, 0, 0, 1012, 0, 0, 372, 1446, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2223, 0, 2224, 0, 0, 2257, 2253, 0, 0, 0, 0, 0, 2230, 2231, 2232, 2229, 2233, 2228, 0, 0, 2234, 2227, 0, 0, 0, 0, 0, 0, 0, 0, 2214, 2217, 0, 0, 2654, 0, 0, 0, 0, 2029, 0, 0, 2181, 0, 2214, 0, 0, 0, 0, 0, 0, 0, 2210, 2249, 0, 504, 0, 2021, 0, 0, 0, 2132, 0, 2129, 0, 0, 0, 0, 2270, 0, 0, 2301, 1965, 1979, 1980, 1981, 1984, 2278, 0, 2272, 0, 0, 1966, 1992, 0, 2250, 2017, 0, 2022, 2007, 2235, 2236, 2237, 2238, 2024, 0, 2000, 2005, 2009, 0, 1988, 0, 1985, 0, 2273, 2209, 0, 2207, 0, 1976, 1977, 1978, 1970, 1971, 1972, 1973, 1974, 1975, 1982, 2185, 2183, 2184, 0, 0, 0, 2155, 0, 0, 2004, 2424, 2458, 0, 1722, 1722, 1722, 1709, 1720, 2277, 0, 1857, 1731, 3561, 3560, 2271, 1857, 0, 0, 0, 2283, 0, 0, 1961, 0, 267, 1838, 943, 944, 942, 1891, 1537, 1550, 1564, 2211, 1558, 1698, 0, 0, 1539, 1562, 0, 1102, 1103, 0, 1107, 2654, 2548, 0, 0, 0, 0, 1754, 1788, 0, 1779, 0, 1755, 2293, 2294, 1756, 1759, 1760, 1750, 1789, 1630, 0, 1784, 1682, 1681, 0, 1860, 0, 0, 0, 1608, 1596, 0, 0, 1843, 0, 1794, 1634, 0, 2270, 1792, 3278, 3336, 3283, 3304, 3274, 3307, 1963, 3256, 3296, 0, 3229, 3400, 3401, 0, 3391, 3392, 3361, 3367, 3438, 0, 3553, 0, 0, 1361, 1256, 1323, 1136, 0, 1906, 1147, 0, 1131, 0, 1130, 1906, 0, 1148, 0, 1906, 1362, 1257, 1324, 939, 1363, 1258, 1325, 1364, 1498, 1259, 1497, 1485, 1484, 1483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 801, 2431, 372, 1512, 1365, 0, 1260, 368, 1513, 1326, 1517, 819, 818, 0, 0, 1327, 0, 670, 675, 0, 677, 678, 2358, 2414, 679, 682, 683, 0, 685, 674, 673, 0, 0, 0, 0, 0, 691, 693, 0, 0, 0, 0, 0, 0, 1166, 1167, 1366, 1263, 0, 1328, 0, 1114, 0, 1264, 190, 0, 0, 288, 2431, 310, 0, 488, 801, 0, 1314, 307, 337, 0, 352, 347, 348, 346, 2431, 372, 2431, 372, 0, 0, 0, 0, 0, 349, 344, 345, 341, 0, 0, 354, 2330, 2398, 2561, 0, 702, 704, 0, 709, 357, 1284, 379, 378, 377, 0, 362, 0, 384, 387, 0, 359, 338, 336, 333, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1216, 0, 1369, 1329, 0, 1351, 0, 0, 0, 0, 741, 1372, 1270, 1332, 0, 539, 0, 0, 554, 554, 539, 1383, 1271, 178, 1301, 0, 0, 163, 0, 0, 0, 0, 157, 167, 1373, 1272, 1333, 0, 0, 1374, 1273, 0, 0, 293, 613, 624, 629, 1278, 633, 630, 1341, 631, 1381, 1274, 0, 1377, 1304, 1336, 598, 1195, 1195, 1384, 1404, 1275, 1195, 0, 1312, 0, 282, 284, 0, 1082, 0, 1276, 0, 1334, 1376, 1303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1520, 0, 0, 0, 0, 0, 0, 372, 0, 0, 0, 1314, 2431, 372, 1375, 0, 1309, 0, 1349, 0, 0, 405, 0, 1302, 1312, 0, 295, 1280, 0, 1343, 0, 0, 235, 234, 236, 0, 0, 0, 0, 2215, 2216, 0, 2213, 2066, 2266, 0, 1531, 965, 951, 964, 0, 947, 2396, 0, 950, 952, 0, 0, 0, 953, 957, 958, 0, 949, 946, 948, 0, 416, 0, 0, 758, 759, 0, 0, 0, 0, 838, 0, 0, 1510, 0, 154, 668, 0, 0, 0, 663, 693, 698, 0, 0, 0, 0, 469, 473, 477, 478, 479, 0, 0, 0, 0, 168, 155, 0, 880, 0, 539, 0, 751, 1195, 1387, 0, 200, 193, 0, 0, 714, 0, 1559, 0, 0, 593, 2074, 596, 2075, 595, 0, 383, 833, 831, 830, 832, 854, 829, 0, 1861, 1863, 0, 0, 0, 0, 0, 0, 0, 472, 0, 0, 542, 0, 581, 0, 0, 0, 0, 578, 0, 0, 0, 0, 850, 3507, 822, 0, 1125, 0, 1143, 1126, 0, 0, 0, 0, 1180, 1187, 1156, 1181, 1158, 1187, 0, 0, 764, 768, 767, 771, 769, 0, 765, 642, 3223, 3217, 1669, 1670, 0, 1213, 0, 0, 1506, 0, 1504, 0, 1905, 1918, 902, 0, 1946, 1945, 1947, 1947, 0, 1889, 0, 3646, 3654, 3653, 0, 1930, 1898, 1207, 372, 0, 372, 0, 372, 1215, 1209, 1211, 1412, 0, 900, 0, 0, 893, 895, 0, 897, 0, 0, 3363, 3550, 1016, 541, 0, 0, 0, 0, 0, 0, 1032, 640, 1039, 0, 0, 0, 1054, 1049, 1051, 0, 1055, 727, 0, 0, 1627, 1620, 1622, 1621, 0, 0, 1618, 2220, 892, 0, 609, 0, 0, 0, 0, 1061, 0, 1056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1727, 2221, 2222, 0, 0, 0, 2254, 0, 0, 2107, 0, 2079, 2081, 2093, 0, 2108, 2064, 2109, 2083, 2085, 2094, 0, 0, 2201, 0, 2097, 2096, 0, 2031, 2032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2046, 2098, 2180, 0, 0, 0, 2100, 2099, 0, 0, 2248, 0, 0, 0, 2105, 505, 2110, 0, 0, 0, 0, 2116, 0, 2137, 0, 0, 0, 2054, 2211, 0, 0, 0, 0, 0, 0, 0, 0, 2023, 2008, 2026, 2002, 2006, 2010, 0, 2025, 0, 0, 1996, 0, 0, 1994, 2018, 1990, 0, 0, 2019, 0, 0, 0, 2072, 0, 0, 1722, 1722, 1722, 1722, 1719, 0, 0, 0, 0, 2548, 2673, 0, 1818, 1793, 1795, 1805, 1818, 1825, 1818, 1855, 2284, 0, 1764, 0, 1764, 3413, 3415, 3416, 3417, 3418, 3419, 3421, 3422, 3424, 3425, 3426, 3414, 3420, 3423, 3427, 3404, 3405, 0, 3395, 3396, 211, 0, 244, 231, 3438, 1536, 1699, 1708, 1734, 0, 2202, 1107, 0, 1736, 1757, 1758, 0, 1747, 0, 1786, 1744, 1631, 1615, 0, 1613, 1600, 1602, 1601, 0, 0, 1603, 2270, 0, 1613, 1595, 0, 1639, 0, 0, 1860, 0, 1638, 0, 3338, 3266, 0, 0, 3437, 3440, 3452, 3449, 3276, 0, 1906, 1128, 1129, 0, 1152, 0, 1066, 1067, 0, 1065, 0, 0, 0, 527, 1085, 0, 0, 0, 801, 0, 0, 531, 0, 1515, 0, 1382, 1300, 672, 0, 0, 0, 0, 687, 646, 688, 690, 0, 0, 689, 692, 695, 1312, 0, 301, 1286, 0, 1347, 1160, 0, 0, 1117, 0, 0, 0, 0, 0, 0, 487, 698, 332, 0, 0, 0, 0, 154, 0, 312, 324, 390, 330, 0, 364, 0, 335, 0, 328, 350, 342, 351, 343, 363, 365, 0, 706, 707, 705, 701, 0, 708, 710, 0, 381, 0, 0, 0, 358, 0, 1368, 0, 1312, 0, 297, 1282, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1350, 0, 0, 0, 0, 746, 0, 743, 0, 554, 0, 1396, 0, 1393, 1391, 554, 0, 0, 160, 159, 0, 166, 0, 0, 0, 0, 0, 0, 1405, 1406, 1407, 0, 0, 0, 0, 0, 0, 399, 0, 304, 306, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 406, 374, 0, 857, 0, 0, 0, 408, 0, 0, 1360, 0, 0, 0, 0, 0, 1367, 1265, 2069, 2070, 2067, 1731, 2265, 0, 0, 0, 962, 0, 0, 0, 0, 419, 420, 154, 418, 441, 0, 801, 0, 0, 835, 840, 848, 2492, 2188, 2189, 846, 841, 843, 845, 844, 847, 0, 0, 0, 0, 509, 0, 0, 0, 496, 0, 0, 506, 489, 492, 493, 0, 0, 664, 667, 665, 666, 0, 686, 0, 472, 516, 568, 0, 170, 0, 0, 171, 169, 0, 0, 383, 748, 0, 745, 1386, 0, 196, 0, 718, 0, 0, 0, 0, 0, 1195, 656, 0, 853, 855, 827, 0, 698, 0, 0, 615, 0, 539, 1592, 603, 0, 570, 472, 568, 577, 0, 0, 585, 382, 0, 0, 603, 383, 0, 0, 1086, 849, 0, 0, 0, 1124, 0, 0, 0, 1177, 1182, 1178, 0, 1157, 1139, 0, 1179, 0, 0, 1185, 1110, 1159, 1111, 1428, 1429, 1426, 1427, 0, 0, 0, 0, 0, 0, 3240, 1659, 3250, 0, 0, 1502, 0, 1924, 0, 1942, 1940, 1885, 0, 3334, 0, 0, 0, 0, 0, 1890, 904, 0, 887, 0, 889, 372, 735, 0, 372, 0, 0, 0, 0, 0, 0, 0, 1031, 0, 1025, 1027, 1052, 0, 0, 1061, 1058, 0, 0, 1625, 1623, 601, 0, 1247, 1248, 1061, 0, 372, 1060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2225, 0, 2256, 2252, 0, 2076, 2226, 0, 0, 0, 2181, 0, 0, 2030, 2042, 2043, 2044, 2241, 0, 2049, 0, 2039, 2040, 2041, 2033, 2034, 2035, 2036, 2037, 2038, 2045, 2245, 2244, 0, 0, 2102, 2103, 2104, 2247, 2111, 0, 2348, 2138, 0, 2115, 2131, 2130, 0, 0, 0, 2118, 0, 0, 2127, 0, 2182, 2302, 1967, 0, 0, 1993, 2251, 2011, 0, 2027, 1989, 2201, 0, 0, 0, 0, 0, 1998, 0, 0, 0, 2158, 2153, 2154, 2178, 0, 0, 0, 0, 0, 0, 1713, 1712, 1718, 1818, 1825, 1818, 0, 0, 1684, 0, 1805, 0, 1817, 1803, 1816, 0, 0, 1831, 1829, 0, 1831, 0, 1831, 0, 1797, 0, 1821, 1799, 1816, 1801, 0, 1847, 2285, 1856, 0, 1777, 2066, 1777, 0, 0, 0, 3436, 0, 0, 1735, 1105, 1106, 1745, 0, 1748, 0, 1858, 0, 1614, 0, 0, 0, 1605, 1611, 1593, 0, 0, 0, 1635, 1613, 1636, 3282, 0, 3337, 3402, 3403, 1149, 0, 0, 1141, 1072, 1073, 1076, 1074, 1071, 1075, 0, 0, 0, 801, 0, 0, 549, 0, 1099, 1099, 0, 0, 533, 590, 0, 804, 0, 0, 0, 802, 372, 1261, 0, 0, 0, 0, 647, 1380, 1262, 0, 0, 0, 0, 1161, 1315, 0, 0, 1285, 0, 309, 486, 485, 490, 0, 0, 315, 325, 0, 320, 0, 1313, 0, 0, 0, 0, 319, 322, 394, 0, 391, 0, 372, 372, 366, 703, 380, 385, 386, 389, 1320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 881, 864, 0, 0, 882, 883, 0, 0, 0, 1218, 1219, 1217, 1352, 1353, 1358, 1355, 1354, 1357, 1356, 1359, 0, 1268, 0, 0, 739, 1316, 1388, 1390, 1389, 0, 1392, 164, 161, 162, 165, 1317, 1298, 1279, 1342, 599, 0, 0, 0, 1277, 0, 1335, 0, 1294, 1288, 0, 0, 0, 0, 0, 1379, 1308, 1340, 1378, 1306, 1338, 1305, 1337, 1307, 1339, 1299, 0, 0, 1865, 861, 0, 0, 0, 372, 372, 860, 737, 1281, 0, 1344, 1290, 0, 0, 0, 954, 0, 0, 0, 956, 424, 442, 154, 0, 757, 821, 0, 0, 837, 0, 494, 0, 500, 507, 0, 0, 511, 512, 510, 495, 1195, 539, 1195, 790, 791, 0, 0, 811, 0, 662, 0, 0, 470, 0, 513, 0, 0, 474, 173, 172, 0, 0, 0, 752, 756, 754, 753, 755, 750, 0, 741, 200, 2431, 0, 0, 0, 0, 597, 591, 594, 1401, 828, 0, 1864, 731, 0, 383, 611, 3205, 0, 0, 470, 603, 3204, 0, 475, 480, 481, 490, 0, 578, 569, 0, 570, 579, 580, 0, 587, 1476, 0, 604, 587, 0, 0, 0, 851, 0, 852, 0, 1127, 1144, 1145, 0, 0, 1187, 0, 0, 1189, 1184, 0, 0, 770, 773, 766, 649, 0, 3213, 372, 0, 1505, 1886, 3647, 0, 3648, 3649, 3650, 3651, 3652, 372, 372, 1244, 0, 898, 1046, 1047, 1048, 1045, 1044, 641, 0, 1050, 1009, 729, 0, 602, 372, 0, 1010, 979, 971, 978, 967, 970, 972, 0, 974, 975, 969, 966, 968, 2255, 2092, 2095, 2106, 0, 2180, 2211, 0, 0, 2050, 0, 0, 0, 2101, 2663, 0, 0, 2142, 2143, 0, 2139, 2140, 2135, 2136, 2117, 0, 2481, 2122, 0, 0, 0, 2015, 2013, 2012, 1997, 0, 0, 1995, 1991, 0, 2020, 2144, 0, 2160, 2157, 2177, 2211, 1717, 1716, 1715, 1714, 1804, 1800, 1802, 0, 2668, 0, 1807, 1814, 0, 1796, 0, 1830, 1826, 0, 1827, 0, 0, 1828, 0, 0, 1798, 0, 1814, 0, 1854, 1725, 0, 2149, 2299, 2149, 3406, 0, 3409, 3407, 3408, 3412, 245, 1703, 0, 1746, 0, 3662, 1597, 0, 1598, 1604, 0, 0, 0, 0, 0, 1640, 1633, 3339, 1142, 1150, 0, 0, 0, 529, 0, 544, 0, 0, 0, 1092, 1101, 1091, 0, 544, 544, 806, 805, 808, 803, 807, 1516, 0, 680, 681, 684, 1287, 0, 1348, 1296, 0, 1629, 311, 482, 318, 0, 0, 0, 313, 393, 395, 314, 317, 321, 374, 334, 327, 0, 0, 0, 1283, 0, 1346, 1292, 1319, 1370, 1266, 1330, 0, 0, 870, 0, 0, 0, 0, 1371, 1267, 1331, 0, 0, 0, 0, 0, 1629, 0, 0, 0, 0, 0, 0, 0, 0, 1525, 0, 0, 373, 859, 858, 374, 407, 1310, 0, 2068, 0, 955, 960, 961, 959, 0, 413, 421, 424, 0, 0, 1235, 1235, 0, 0, 491, 508, 0, 589, 548, 589, 0, 0, 0, 0, 0, 699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 744, 743, 195, 0, 470, 0, 698, 0, 856, 0, 0, 0, 0, 472, 0, 0, 3656, 471, 0, 0, 483, 0, 581, 570, 578, 0, 0, 600, 0, 1469, 0, 606, 0, 0, 0, 800, 1183, 0, 1197, 0, 1138, 1108, 1192, 0, 1708, 1857, 0, 0, 0, 0, 783, 0, 653, 3239, 3243, 1236, 1503, 3655, 888, 890, 736, 1053, 0, 1057, 1061, 973, 2240, 2182, 2047, 0, 2243, 2242, 2246, 0, 2112, 0, 2113, 2141, 2119, 2123, 0, 2120, 2121, 2016, 2014, 1999, 2146, 0, 1731, 2179, 1850, 0, 1853, 0, 0, 1806, 0, 0, 1808, 0, 0, 1810, 1812, 0, 0, 0, 0, 0, 0, 2288, 0, 1776, 0, 1686, 1685, 3411, 3410, 0, 1706, 2203, 1859, 1612, 0, 0, 0, 1087, 0, 0, 1641, 1642, 1637, 1054, 0, 372, 1099, 0, 1195, 550, 2492, 551, 1098, 1100, 1104, 0, 1195, 1195, 676, 0, 0, 290, 0, 316, 326, 376, 388, 0, 1629, 0, 0, 868, 877, 877, 865, 0, 0, 884, 1269, 740, 0, 553, 0, 285, 1295, 1289, 0, 0, 0, 1527, 1528, 0, 0, 0, 0, 0, 1318, 372, 1291, 963, 0, 444, 451, 425, 429, 1519, 0, 1519, 0, 426, 430, 1519, 1519, 423, 1857, 440, 1235, 0, 1232, 1231, 537, 617, 0, 0, 498, 0, 559, 497, 0, 812, 0, 0, 697, 0, 472, 568, 0, 526, 517, 518, 519, 520, 522, 521, 523, 524, 525, 515, 514, 0, 698, 874, 383, 1476, 738, 0, 0, 711, 0, 698, 0, 1592, 603, 570, 472, 568, 1589, 476, 490, 0, 585, 578, 581, 0, 582, 0, 586, 0, 0, 0, 603, 1529, 1086, 0, 0, 801, 1196, 1157, 0, 0, 1186, 1190, 1191, 0, 0, 0, 0, 1239, 777, 778, 772, 774, 0, 785, 789, 648, 0, 0, 652, 643, 0, 3241, 698, 372, 0, 2048, 0, 0, 2125, 2124, 0, 2164, 1855, 0, 0, 1849, 0, 0, 1879, 0, 0, 0, 1815, 1833, 0, 1811, 1809, 0, 1822, 0, 1824, 2376, 2638, 2545, 0, 1763, 1765, 1768, 1770, 1769, 1771, 1767, 2148, 2150, 0, 0, 0, 0, 1697, 0, 1610, 1857, 0, 1607, 0, 1650, 0, 1643, 1068, 0, 1069, 1093, 0, 589, 0, 1104, 1107, 539, 589, 589, 1297, 0, 617, 0, 329, 0, 298, 1293, 0, 0, 879, 879, 0, 0, 0, 0, 0, 0, 401, 0, 0, 1521, 0, 1522, 1523, 1526, 409, 422, 0, 449, 0, 447, 446, 448, 0, 437, 0, 0, 0, 0, 0, 0, 412, 1230, 1234, 1233, 0, 499, 0, 501, 0, 0, 545, 546, 547, 0, 503, 555, 556, 809, 0, 814, 0, 700, 0, 0, 698, 567, 722, 0, 0, 0, 1470, 0, 0, 592, 732, 1476, 603, 3206, 578, 0, 570, 484, 0, 587, 581, 585, 583, 584, 0, 1473, 0, 605, 0, 1095, 799, 0, 1187, 1198, 1193, 1188, 1432, 0, 0, 775, 780, 779, 1519, 784, 0, 0, 0, 651, 650, 3244, 3246, 3245, 0, 726, 1011, 2239, 2128, 2114, 2126, 2159, 0, 0, 0, 0, 1848, 1851, 0, 1882, 0, 0, 0, 0, 1868, 0, 1813, 0, 0, 1823, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 1599, 1609, 1088, 0, 0, 0, 1650, 0, 0, 554, 0, 1107, 1089, 548, 801, 801, 1629, 323, 375, 0, 0, 0, 875, 878, 866, 867, 886, 885, 742, 1629, 0, 397, 396, 0, 400, 0, 445, 454, 0, 452, 427, 432, 0, 436, 434, 433, 428, 431, 536, 0, 0, 0, 0, 0, 0, 557, 0, 558, 0, 813, 0, 0, 0, 724, 873, 0, 0, 470, 698, 1471, 3656, 581, 570, 578, 0, 0, 572, 1099, 1099, 457, 585, 587, 1474, 1475, 0, 0, 506, 0, 1109, 1431, 1430, 1708, 0, 0, 0, 786, 787, 782, 0, 0, 3242, 2626, 0, 2599, 0, 2176, 2165, 2176, 2176, 2156, 0, 0, 1880, 1881, 1866, 0, 0, 1870, 1820, 1846, 0, 0, 0, 1766, 2151, 2152, 0, 0, 0, 1857, 1649, 0, 0, 372, 543, 801, 552, 1090, 559, 532, 530, 291, 1629, 869, 0, 286, 0, 402, 1524, 450, 0, 435, 616, 502, 588, 564, 0, 563, 0, 561, 560, 810, 815, 0, 698, 863, 1476, 712, 1590, 585, 578, 581, 0, 571, 0, 1101, 1101, 587, 455, 0, 0, 383, 0, 1414, 1708, 1413, 1415, 1423, 1420, 1422, 1421, 1419, 0, 1242, 1243, 776, 781, 0, 0, 0, 2169, 2168, 2167, 2171, 2170, 0, 2163, 2161, 2162, 1852, 0, 1869, 1872, 0, 0, 1878, 1871, 1873, 0, 0, 1832, 0, 1844, 1774, 0, 1773, 0, 0, 0, 1606, 1652, 0, 0, 1644, 1645, 0, 1070, 534, 801, 299, 876, 0, 453, 562, 539, 539, 698, 723, 1472, 587, 581, 585, 1099, 573, 1100, 575, 574, 459, 1095, 1096, 0, 587, 789, 0, 1424, 1418, 1684, 1671, 0, 0, 788, 0, 0, 0, 2173, 0, 2174, 0, 1876, 1877, 1874, 1875, 1819, 0, 1775, 0, 0, 0, 0, 1647, 0, 0, 0, 1646, 535, 0, 566, 565, 725, 458, 585, 587, 1101, 506, 1094, 0, 1857, 0, 1416, 1708, 0, 0, 794, 2166, 2172, 2175, 0, 0, 1702, 1701, 0, 0, 1705, 1651, 1648, 0, 0, 0, 0, 1653, 398, 587, 456, 576, 383, 1097, 1077, 0, 1417, 0, 0, 0, 792, 795, 798, 796, 797, 0, 1845, 0, 0, 1657, 0, 0, 0, 460, 587, 0, 0, 0, 760, 0, 1867, 1731, 0, 0, 0, 0, 1857, 0, 0, 0, 793, 0, 0, 1654, 1658, 0, 1655, 1078, 794, 1240, 1241, 0, 1704, 0, 0, 0, 761, 1656 }; /* YYPGOTO[NTERM-NUM]. */ static const int yypgoto[] = { -6048, -6048, 4702, -753, -6048, -6048, -1251, -1618, 2964, -2751, -6048, -6048, -6048, 1330, -6048, -6048, -6048, -6048, 3788, -6048, 1638, -3279, -6048, -6048, 23, 3749, -1783, 16, 3296, 1272, -6048, -1358, -6048, -6048, -954, -71, -6048, 3751, 325, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -1229, 1752, -6048, 1842, 1089, -1382, -3195, -6048, -6048, -1966, -4173, -6048, 356, -6048, 384, -5188, -1244, -6048, -6048, -6048, 1736, -6048, -6048, -6048, 1684, 881, -655, -6048, -6048, -6048, -6048, -6048, -6048, -1073, -6048, -6048, -1347, -62, -963, -3369, -4688, -6048, -6048, 217, -692, -1929, -6048, 403, -6048, -5024, -6048, -287, -3090, -2580, -6048, -6048, -6048, -662, -1891, 1188, -6048, -1057, -1578, 1527, -2567, -1200, -6048, -541, -3982, -1323, -1088, -1085, -1234, -4714, -5244, -6048, -6048, -1352, -4190, -5552, -5754, -5098, -5130, 1193, -6048, -315, 224, -6048, -4047, -4740, -56, 185, -6048, -54, -52, -6048, 201, -1022, -1317, -2022, -6048, -1082, -6048, -6048, -6048, -3858, -6048, -6048, -6048, 58, -6048, -6048, -6048, -6048, 245, -6048, -6048, -6048, -6048, -6048, -6048, -2889, 1712, 1715, -6048, -4425, -6048, -1281, -6048, 415, -3889, 1114, -6048, -6048, 884, 3816, 240, -6048, -6048, -6048, -6048, -6048, -6048, -2131, -6048, -6048, -6048, -6048, -290, -634, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -51, -6048, 846, 175, -6048, -6048, -915, -6048, -6048, -6048, -6048, -6048, -6048, -1410, -5551, -1527, -1507, -6048, -3913, -6048, -6048, -6048, -608, -6048, -6048, -6048, -6048, -6048, -1252, -6048, 939, -4525, -6048, -6048, 223, -6048, -6048, -6048, -6048, -6048, -1208, -551, 2975, -6048, -779, -994, -6048, -6048, -6048, -547, -6048, -6048, -6048, -6048, -6048, -773, -1649, 5041, 4247, -1494, 6420, -1233, -858, -6048, -6048, -6048, -3004, -6048, -6048, -4616, -6048, 5022, 90, -725, -49, -6048, -166, -36, 3576, -6048, 790, -1582, -3556, 169, -727, -6048, -6048, -6048, -3514, -6048, -6048, -6048, -6048, -4457, -48, -6048, -1066, -6048, -4745, -5557, -4978, -4534, -1375, -6048, -4753, -4415, -5467, -4456, -6048, 1754, -6048, -6048, -833, -913, 2961, -6048, -1906, 2099, -1863, -6048, -2989, 241, 1296, 2973, -3657, -809, 2954, -3419, -6048, -1002, 888, -6048, -619, -4197, -6048, -6048, -6048, -3083, -853, -6048, -6048, 1427, -822, -6048, -6048, -6048, -6048, -948, 2903, -886, -6048, -6048, 4207, -6048, -5303, -6048, 4173, -6048, -6048, -6048, -6048, 2807, 2808, -6048, -6048, -1902, 1057, -6048, -1151, -6048, -6048, 1855, 455, -6048, -6048, -6048, -6048, 1143, -39, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -1175, -1394, -6048, -6048, -4911, -6048, -6048, -6048, -6048, -6048, 2124, -1300, -1097, 4060, 582, -47, -5701, -6048, -6048, -1510, -6048, 3294, -6048, -6048, -6048, -6048, -6048, 242, 239, -6048, -6048, -6048, -6048, -4304, -6048, -6048, -5344, -6048, -6048, 1832, -6048, -6048, 1189, -63, 3087, -6048, -6048, -6048, -163, -6048, -6048, -1359, 2232, -6048, -2753, -6048, -876, -6048, -6048, -2313, -46, -4723, -70, -6048, -6048, -5433, -1403, 42, -6048, -6048, -4368, -69, -6048, -6048, -6048, -6048, -5440, -6048, -67, -5180, 608, -3684, -6048, -66, -6048, -677, -1074, -6048, -6048, -6048, -4013, -45, -1, 3664, 1666, -41, 1955, -239, -184, -177, -72, -7, 3437, -6048, -6048, -6048, -4707, 3485, -6048, -172, -1176, -6048, -6048, -1190, -335, -6048, 1420, -951, 2211, 3431, 3420, -6048, 1417, 2249, -2788, -2786, -6048, 692, -1168, -1040, -6048, -6048, -6048, -6048, 89, -947, 2235, -6048, 3444, -6048, -6048, -6048, -2714, -3755, -3740, 708, -4350, -4297, -6048, 126, 108, -1731, -617, -197, -1894, -1122, 1599, -6048, -6048, 714, -826, -6048, -6048, -820, -3719, 643, -6048, -5369, -3202, 722, -1345, -1143, -6048, -1243, -6048, -1007, 5528, -2106, -1446, -6048, -6048, -1413, 13873, -6048, -6048, -6048, 18858, 22292, -6048, -6048, 23514, 26621, -6048, -1249, 32186, 12385, -1422, -1415, -1662, 31851, -2025, -1663, -83, -6048, -3341, -3182, -6048, -6048, -6048, -576, 777, 125, -6048, -5383, -4806, -6048, -6048, -345, -6048, -1017, -6048, -1015, -6048, -6048, -6048, -2948, -4927, -3076, 2366, -6048, -6048, -6048, -860, -6048, 33885, -3610, -6048, -1162, -1348, -2020, 2840, -3225, -2301, -6048, -6048, -6048, -3512, -6048, -6048, -6048, -862, 1528, -6048, -6048, 1630, -6048, -6048, -6048, -1324, 1901, -1127, -3501, 1533, -6048, -1129, 2371, -1136, 31209, -938, 31753, -1730, -6048, 639, -6047, 250, -118, -776, 212, -997, -735, -6048, 10783, 9651, 8129, -4048, -6048, -6048, -6048, -44, -6048, -6048, -6048, -6048, 4618, 960, -6048, 3846, -6048, 1791, 3054, -6048, -6048, 2228, -987, -42, -6048, -969, -6048, -133, -6048, -6048, -6048, -6048, 329, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 3455, -6048, -6048, -1645, -6048, -6048, -6048, -6048, -6048, 4934, -357, -6048, 4280, -355, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 3465, 2263, -6048, 4049, -6048, -6048, -6048, 39, 3700, -6048, -6048, -6048, -621, -883, 4072, 4076, 2223, -6048, -6048, -6048, -6048, -6048, -6048, -6048, -6048, 2244, -6048, -6048, 1509, -2830, 2247, -6048, -6048, 694, -6048, -6048, 158, -6048, 699, -6048, 3578, -6048, -6048, -6048, 743, -6048, -6048, -6048, -546, 24213, -59, 15, 18, 409, -6048, 19170, 9325, -80, 3491, 12, 14095, 27995, -101, -6048, 4936, 2251, 1756, -1116, -6048, 133, 2976, 10121, -6048, -1115, 10, -2, -1112, 3690, -705, -1328, 3782, -778, -2282, -6048, 5366, -6048, -4109, -5542, -1150, -292, 4267, -1354 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 1, 248, 249, 250, 251, 2059, 3456, 3310, 4271, 4272, 252, 253, 2055, 254, 255, 256, 257, 1973, 258, 1449, 2227, 3470, 259, 3148, 1188, 1189, 1190, 2988, 2989, 3401, 2990, 2977, 1797, 2173, 1995, 1153, 1154, 1954, 1996, 261, 262, 1791, 2969, 263, 264, 265, 2026, 2116, 2027, 2028, 1967, 2279, 5390, 6179, 4061, 3267, 4321, 4062, 4063, 4733, 4734, 4822, 6193, 6194, 266, 2132, 2133, 267, 268, 3438, 4237, 4875, 5776, 5777, 6008, 968, 5413, 5414, 5995, 5996, 6207, 6367, 6368, 3471, 999, 4316, 4959, 4262, 5485, 4263, 5486, 4264, 5487, 4723, 4724, 4248, 4906, 4907, 2475, 5426, 4908, 4265, 5445, 6042, 4266, 3167, 6222, 3505, 2400, 2398, 5943, 6021, 5245, 5246, 4796, 6231, 6232, 6233, 6488, 5447, 5491, 5492, 6404, 6405, 4319, 4965, 5498, 5834, 6019, 3959, 270, 4290, 4291, 271, 2249, 4440, 1081, 3508, 1000, 1082, 3472, 275, 3498, 6224, 3499, 2085, 3324, 4888, 4418, 276, 1476, 4698, 5859, 6103, 6104, 1066, 277, 2235, 278, 279, 3451, 4255, 280, 3184, 3976, 281, 282, 3995, 3996, 3997, 283, 4916, 5795, 2029, 4050, 4051, 4052, 4053, 4754, 284, 2230, 3479, 3480, 285, 286, 287, 3643, 3644, 288, 3387, 289, 290, 291, 292, 4790, 5347, 5461, 4092, 4278, 4932, 5459, 293, 4241, 3473, 3526, 4354, 4355, 5857, 6095, 6096, 6097, 6283, 6524, 6099, 6285, 6426, 6287, 5436, 6670, 6671, 6080, 4687, 5259, 295, 5437, 5438, 6237, 296, 3182, 297, 298, 2204, 3444, 3445, 4889, 3515, 4328, 4329, 4945, 4946, 299, 4179, 300, 5323, 5324, 1001, 6245, 6185, 6353, 301, 302, 5327, 5328, 303, 304, 305, 306, 307, 1067, 1412, 1413, 1069, 1577, 1578, 3930, 1522, 308, 3000, 309, 4217, 310, 1672, 5560, 311, 1106, 1604, 1605, 3474, 313, 1118, 3662, 1120, 3628, 3629, 2416, 4422, 4423, 5049, 314, 315, 3640, 3665, 316, 1960, 3158, 3159, 5240, 3475, 1002, 1657, 3512, 3954, 5931, 5687, 5932, 6415, 6589, 5688, 5949, 3851, 4626, 318, 1003, 2001, 3223, 1545, 1546, 3519, 4334, 3126, 3127, 2156, 4986, 3129, 4336, 3130, 1933, 3131, 1494, 1495, 4342, 4343, 4344, 4345, 4982, 4992, 4993, 5851, 6088, 4989, 2223, 5845, 5846, 319, 1998, 3220, 320, 321, 322, 2038, 1336, 1555, 1556, 323, 1028, 1029, 324, 6013, 325, 1497, 326, 5855, 327, 328, 1142, 1143, 329, 330, 3237, 4736, 331, 1999, 332, 333, 4086, 4087, 5339, 334, 335, 336, 3296, 3297, 337, 338, 339, 340, 341, 6514, 6592, 6593, 6594, 5000, 6420, 342, 1648, 343, 344, 345, 346, 947, 1378, 1379, 1380, 1297, 3476, 5836, 348, 349, 1955, 1956, 1957, 1958, 3153, 350, 351, 352, 4366, 4367, 353, 354, 355, 356, 2207, 357, 358, 5986, 359, 360, 2177, 361, 362, 1386, 1387, 1388, 1389, 2175, 3839, 962, 1209, 1824, 1830, 1834, 1835, 1836, 364, 1084, 365, 1652, 1417, 1085, 1597, 1086, 3059, 3881, 4641, 4642, 4643, 4646, 5670, 5212, 1087, 3877, 369, 2423, 3649, 3652, 3873, 1088, 3887, 3888, 3889, 4650, 1089, 5935, 5936, 6334, 6562, 6563, 6622, 6658, 1090, 1108, 1486, 3533, 1091, 1745, 375, 376, 377, 1218, 1212, 1213, 3844, 5925, 6153, 379, 2946, 3813, 1127, 1840, 1172, 1173, 1226, 3411, 3025, 3026, 3050, 3051, 1849, 1850, 3038, 3042, 3043, 3863, 3857, 3031, 5194, 6140, 6141, 6142, 6143, 6144, 6145, 5649, 3046, 3047, 1852, 1853, 1854, 3055, 380, 3817, 4581, 4582, 4583, 5171, 5172, 6549, 5186, 5182, 5634, 5908, 4584, 1199, 1642, 1861, 5642, 6551, 4585, 5897, 5898, 6120, 5190, 4590, 4637, 4304, 4305, 4306, 4586, 6312, 6313, 6545, 6546, 6122, 6123, 3132, 2309, 1524, 1746, 1525, 2317, 1747, 2293, 1527, 1748, 1749, 1750, 1530, 1751, 1752, 1753, 1533, 2285, 1754, 1755, 2303, 1259, 1260, 1825, 6124, 1757, 1758, 1759, 4587, 1760, 5126, 5600, 5586, 3740, 3741, 2985, 5122, 4525, 5116, 2941, 3803, 5920, 6147, 6148, 4565, 5150, 5614, 5895, 6304, 6434, 6435, 6535, 1761, 1762, 1763, 3800, 2934, 1339, 1764, 4891, 2936, 3731, 3709, 2159, 3710, 2429, 2449, 3681, 3696, 3697, 3777, 3711, 3719, 3724, 3732, 3764, 1765, 3683, 3684, 4465, 2451, 1766, 1384, 2162, 1385, 2954, 3759, 1781, 1767, 1768, 2417, 1200, 5904, 792, 2164, 1124, 1769, 1770, 1771, 1883, 735, 1548, 1549, 737, 2937, 776, 777, 950, 888, 2938, 2, 70, 1092, 4313, 5819, 384, 385, 1005, 1006, 1007, 1478, 1479, 2264, 2267, 1888, 3094, 741, 742, 793, 5527, 5860, 6106, 1075, 386, 387, 388, 389, 390, 1884, 3090, 1261, 71, 79, 72, 1262, 427, 428, 3071, 391, 905, 392, 1864, 1241, 4656, 393, 394, 395, 396, 397, 1072, 398, 1243, 399, 1244, 400, 401, 402, 403, 1251, 404, 1866, 1867, 5227, 1868, 405, 406, 779, 780, 1595, 407, 408, 1278, 2367, 1280, 1624, 1894, 1908, 1909, 1910, 409, 749, 410, 411, 412, 1900, 1901, 413, 2962, 2963, 3099, 2964, 414, 3903, 3904, 415, 4608, 4609, 5655, 4610, 416, 2958, 417, 418, 1203, 4661, 419, 901, 420, 1292, 781, 782, 783, 952, 891, 1158, 784, 954, 4054, 893, 894, 785, 786, 787, 2392, 73, 3911, 2393, 1773, 794, 1774, 2952, 1775, 1776, 1777, 1778, 1779, 1780, 789, 1268, 1587, 1588, 3912, 1590, 77, 1591, 424, 4383, 2368, 1625, 3594, 2378, 2379 }; /* 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, 378, 260, 367, 368, 1310, 370, 371, 1217, 896, 363, 269, 74, 1343, 421, 1016, 1348, 272, 1021, 273, 421, 274, 294, 1198, 312, 317, 347, 366, 372, 383, 892, 2172, 373, 2158, 1443, 2084, 1238, 1337, 1239, 1855, 1164, 1227, 1792, 1110, 1782, 1814, 778, 1841, 1826, 1843, 948, 421, 2397, 1561, 1202, 896, 2325, 3261, 1633, 1634, 1635, 2166, 3337, 1338, 1639, 1110, 1133, 1574, 1939, 3128, 3166, 2299, 2089, 1488, 1819, 3958, 892, 1658, 3232, 2150, 1820, 745, 3591, 778, 2440, 422, 4261, 378, 1806, 791, 1276, 422, 2289, 2290, 3224, 2232, 1083, 421, 2305, 796, 1298, 4346, 2298, 4592, 1160, 1008, 1015, 4445, 4725, 1020, 3244, 3493, 1160, 1598, 1160, 1015, 3233, 3655, 2137, 4797, 2315, 4635, 1338, 2083, 4944, 889, 4426, 896, 890, 1119, 1580, 3823, 2115, 3405, 4970, 959, 4704, 3128, 3923, 3925, 2307, 4293, 2142, 1314, 4648, 1009, 3680, 5247, 892, 4995, 1018, 1030, 1346, 3367, 3368, 3298, 3298, 1015, 4749, 3298, 4751, 1911, 1913, 2321, 945, 1916, 1368, 2030, 5203, 421, 1165, 889, 4176, 2332, 890, 1279, 1882, 2335, 2205, 1125, 944, 2338, 2210, 2340, 3045, 1338, 2002, 2214, 4283, 2348, 1411, 2217, 2048, 3547, 1229, 2354, 2224, 2065, 2357, 4892, 1221, 1230, 4649, 1600, 1438, 1571, 2241, 3215, 3138, 2244, 1447, 3363, 3078, 3080, 3081, 1559, 743, 5484, 1563, 3581, 5242, 1152, 1460, 1623, 3072, 3072, 1390, 1799, 5505, 5501, 5444, 1195, 5929, 5483, 5307, 5185, 1187, 2031, 3394, 1215, 4624, 3822, 6025, 889, 5901, 4533, 890, 5494, 2283, 3837, 5831, 1107, 69, 3866, 2286, 2287, 5799, 3869, 5710, 2384, 2363, 4549, 4665, 3215, 4954, 2297, 1819, 3845, 5956, 4144, 5018, 5689, 5493, 1107, 5913, 1848, 5915, 6065, 5218, 1851, 3215, 6061, 2289, 2290, 6078, 1890, 1891, 5183, 1271, 5188, 4660, 39, 1489, 1589, 1111, 736, 1903, -2292, -1939, 5282, 4294, 2960, 2298, 2305, 2316, 5830, 1482, 2174, 1997, 5591, 5978, 6260, 378, 260, 367, 368, 1111, 370, 371, 4489, 2240, 363, 269, -1906, 3195, -1919, 966, 3298, 272, -1944, 273, -1934, 274, 294, 421, 312, 317, 347, 366, 372, 383, 1997, -3510, 373, 2998, 1390, 1997, 6247, 1969, 3262, 3379, -3510, -3510, 430, 430, 2390, 39, 1293, 38, 39, 3374, 1674, 1675, 1374, 40, 39, 2197, -1947, 1903, 421, -2291, 1610, -3511, 1296, -3508, 1615, 1616, 1617, -1947, 39, 4280, -3511, -3511, -3508, -3508, 1628, 6654, 1267, -3507, 4654, 39, 1893, 1896, 39, 2276, 3490, 2276, -3507, -3507, 2276, 6184, 2254, 4980, 1796, 5838, 422, 1390, 3757, 426, 1207, 5696, 1109, 430, 5988, 5989, 430, 4220, 2421, 4223, 4224, 38, 39, 3970, 4228, 4229, 4230, 40, 4232, 4233, 4234, 1621, 4990, 430, 1109, 2366, 2286, 2287, 38, 2276, 4201, 422, 3664, 3150, 40, 3716, 3990, 1489, 2369, 5562, 5563, 5564, 5508, 5566, 5567, 5568, 5569, 5570, -2474, -2679, 4489, 3664, 2297, 1970, 1375, 1469, 5827, 430, -2679, -2679, 430, 1785, 38, 39, 1390, 1674, 1675, 2496, 40, 3022, 6014, 40, 2219, 6171, 3235, 2276, 1390, 4430, 2184, 5175, 4239, 5320, 2189, 4432, 2190, 3361, 2166, 3168, 3235, 3172, 3354, 2496, 3616, 3032, 6418, 3757, 2276, 2150, 3005, 6410, 35, 5373, 3454, 2474, 37, 1376, 6262, 39, 2188, -1760, 4489, 6706, 3327, 5434, 6181, 3169, 5475, 2311, -154, 3991, 35, 430, 3005, -154, 37, 3459, 38, 39, 3235, -154, 3871, 3007, 40, -2186, 1338, 964, 6134, 1170, 3033, 1295, -2186, 1239, 6398, 3210, 2276, 1231, 3235, 1809, 1667, 6320, 4114, 2333, 4189, 3848, 5176, 3007, 1073, 4816, 2127, 6655, 6650, 3263, 2496, 1377, 3235, 2496, 2276, 3953, 3797, 3491, 960, 4589, 2067, 2490, 4639, 3798, 2179, 6066, -2205, 2432, 6620, 115, 4443, 1308, 5003, -2205, 3235, 5177, 2999, 5004, 1650, 4759, 1253, 3005, 5686, 5321, 3005, 3465, 3, 119, 3645, 3235, 5178, 4760, 3235, 3160, 1274, 1275, 2947, 2491, 4640, 2068, 5179, 3816, 3690, 3321, 4941, 3495, 4651, 946, 961, 1810, 2947, 6693, 3161, 4294, 3007, -1086, 1204, 3007, 4114, 2418, 1232, 1663, 6053, 906, 2950, 3872, 3211, 2975, 5180, 3617, 1171, 3849, 3460, 1489, 6506, 2431, 1008, 3035, 3328, 6022, 2994, 2995, 3329, 1254, 6621, 6656, 2312, 35, 4463, 2441, 5435, 37, 2203, 3957, 2128, 5906, 3170, 2166, 2277, 1233, 2277, 2460, 3618, 2277, 6419, 5374, 2202, 907, 3334, -1760, -443, 3162, 4240, 4294, 3447, 3619, 1009, 3691, 1971, 3065, -2474, 4294, 6340, 3455, 3994, 1015, 1015, 6218, 6409, 5322, 4892, 3163, 4431, 6656, 6381, 1663, 2444, 3036, 4433, 3380, 1434, 2978, 2277, 2422, 1623, 2373, 2991, 2991, 4991, 1623, 3620, 5697, 2037, 3264, 3971, 1208, 5341, 3646, 1904, 1361, 2284, 5181, 5823, 6578, 1512, 2149, 3200, 1925, 3381, 3492, 3262, 4881, 1267, 2422, 1669, 5453, 1265, 4107, 3375, 4251, 3692, 1972, 3265, 3693, 2323, 3758, 2976, 6657, 2277, 3262, 5252, 949, 967, 4981, -2474, 4873, 4874, 1272, 1256, 902, 1022, 903, 2203, 5048, 4202, 5884, -2474, 3266, 1382, 2277, -2292, -1939, 1383, 6577, 1474, 3676, 5502, 2391, 1899, 896, 3304, 4504, 3403, 3404, 3276, 3717, 2961, 2362, 3342, 5349, 1904, 4108, 5185, 6255, 3738, 5353, 2288, 3612, 2292, 3362, 1284, 2300, -1944, 3173, -1934, 6630, 3260, 3332, 3554, 5907, 3335, 1273, 2300, 3393, 2278, -3510, 2306, 2277, 5168, 2320, 1217, 421, 2301, 1905, 1906, 421, 2973, 6498, 3402, 2493, 3355, 3356, 6364, 2301, 5674, 6508, 6497, 3583, 2948, 2277, 2302, 3164, 4554, -2291, 5622, -3511, 5624, -3508, 1234, 4252, 4109, 2304, 3828, 3999, 6660, 3694, 6527, 2374, 2331, 1484, 2376, -3507, 3277, 2380, 1309, 2382, 6678, 1638, 2385, 2313, 3018, 4817, 2389, 1856, 378, 3202, 1418, 1419, -2186, 1420, 1421, 3095, 3559, 3056, 6470, 3209, 5653, 3057, 3622, 4075, 5534, 5535, 5536, 5537, 5538, 889, 422, 6474, 890, 1602, 3637, 1638, 1880, 1881, 2353, 1422, 1651, 4892, 906, 1641, 5061, 4854, 4667, 3799, 4668, 1489, 3262, 6439, 4501, 4502, 4503, 4504, 3565, -2205, 3647, 2356, 5269, 6580, 5872, 5312, 3572, -2679, 4651, 3245, 5454, 4942, 1905, 1906, 2933, 1104, 1105, 1415, 6166, 3894, 3648, 5416, 5080, 3410, 1267, 3464, 1015, 3263, 907, 4942, 1603, 3165, 1609, 4110, 1614, 2930, 2931, 2932, 2933, 3682, 1618, 2057, 3695, 4954, 3322, 4996, 3263, 3325, 3326, 2323, 4612, 3219, 4499, 4500, 4501, 4502, 4503, 4504, 4935, 3910, 1641, 5412, 378, 3914, 2058, 1609, 1614, 5232, 6402, 1435, 2203, 5048, 6016, -154, -154, 5415, 1880, 1881, 3602, 1382, 1490, 1030, 6629, 1383, 3605, 6382, 6568, 1594, 2363, 1229, 6484, 1015, 1860, 6338, 6258, 3160, 1230, 3262, 6343, 6344, 3219, 3544, 3545, -3238, 1542, 5455, 6390, 2928, 2929, 2930, 2931, 2932, 2933, 4811, 4812, 4253, 2121, 3219, 4813, 1023, 1136, 1489, 3866, 6401, 75, 4629, 4700, 4909, 3262, 1489, 1489, 1599, 4997, 1160, 3749, 2203, 74, 1160, 3436, 3878, 904, 4618, 747, 39, 2221, 1098, 3364, 39, 3285, 1608, 1621, 1613, 5753, 4727, 1961, 4111, 1281, 1892, 3424, 2122, 3623, 1627, 4705, 4112, 5668, 3395, 4113, 1976, 2147, 1099, 6686, 2944, 4630, 3162, 4003, 3990, 5754, 3283, 1024, 1621, 39, 3541, 1644, 1646, 2276, 1649, 1315, 6058, 1267, -2417, 778, 3264, 5456, 3163, 3262, 1347, 5792, 3468, 5216, 421, 2236, 4350, 5525, 6559, 4254, 5247, 39, 6458, 1137, 1369, 3264, 6606, 6499, 3263, 6560, 1808, 1025, 6408, 1026, 1668, 3265, 2126, 2166, 1637, 1927, 4434, 3262, 2127, 4652, 1786, 5340, 4067, 4090, 1798, 1490, 1800, 1338, 1231, 1098, 3265, 1607, 5469, 1612, 2237, 39, 3266, 5588, 736, 5853, 3506, 1969, 4933, 1656, 736, 5961, 3194, 2496, 1795, 3991, 1827, 3396, 1803, 1099, 3523, 3266, 736, 2342, 4728, 1962, 4004, 1821, 1789, 3593, 1643, 1645, 2057, 4868, 6681, 3469, 2049, 3291, 1111, -2453, 1111, 3260, 1111, 3524, 1953, 4351, 3262, 4998, 1111, 1871, 1676, 429, 6485, 4489, 3315, 2058, 3397, 4490, 4491, 4492, 3260, 1224, 4435, 1895, 4091, 3262, 2343, 1638, 1160, 1160, 4890, 5793, 3284, 1111, 1111, 3263, 3922, 3007, 3879, 3246, 1885, 1232, 745, 745, -3238, 6714, 4823, 1915, 3634, 3635, 5902, 2123, 2128, 3247, 896, 3248, 3677, 3679, 4160, 1914, 3164, 4631, 2148, 3686, 4161, 3262, 3263, 5457, 4000, 3700, 3701, 3702, 4018, 5829, 5589, 2165, 5817, 4999, 1027, 1621, 3721, 1970, 1224, 6101, 6507, -2288, 3736, 1138, 6240, 6254, 5848, 1622, 6486, 69, 3264, 5669, 421, 3562, 1622, 3437, 6017, 1885, 5681, 4701, 6269, 6253, 212, 6268, -3238, 748, 2050, 3574, 5248, 6239, 1543, 1109, 3249, 1109, 6257, 1109, 6487, 4894, 4987, 3265, 3580, 1109, 1619, 1620, 1139, 1140, -2417, 1282, 3263, 2491, 3340, 2238, 2019, 5458, 3624, 4705, 3858, 1928, 220, 6256, 4076, 1152, 2107, 4910, 3266, 1963, 1109, 1109, 3994, 2222, 4001, 2124, 5755, 4068, 4057, 1490, 6052, 4211, -1906, 1111, 3263, 3525, 4294, 4216, 4897, 4294, 889, 1885, 4162, 890, 3165, 2945, 1809, 743, 743, 3561, 6586, 3934, 1912, 2945, 231, 4077, 2277, 3260, 1964, 3585, 1098, 4729, 4730, 4801, -2417, 1321, 4493, 234, 3896, 3264, 3896, 2344, 1322, 1323, 1324, 1390, 5631, 3215, 3543, 5854, 5635, 6652, -696, 4058, 1099, 2054, 2129, 3571, 4494, 4352, 246, 4731, 1965, -2453, 1111, 1141, 4899, 3263, 3265, 6113, 3264, 5559, 3409, 4353, -2476, 6561, 3621, 3076, 3880, 2239, 3626, 3536, 1338, 1338, -1906, 3633, 3263, 1622, 3636, 3337, 1810, 4809, 6628, 3266, 6164, 2130, 736, 736, 3560, 3265, 6102, 3579, 1663, 3029, 6635, 2983, 1623, 1872, 3599, 1234, 39, 4294, 1623, 3573, 2051, 6528, 3575, 1217, 1629, 4923, 1109, 6516, 979, 4819, 3266, 6399, 3263, -2453, 4495, 2131, 1966, 3707, 3260, 4204, 1111, 2967, 3264, 1382, 1076, 1907, 3077, 1383, 378, 1277, 6661, 2345, 2262, 5552, 2984, 5673, 35, 1222, 4059, 2052, 37, 6068, 4775, 5556, 1077, 1416, 1299, 5784, 1166, 3260, 5796, 3265, 4902, 6150, 3264, 1311, 6069, 3075, 6602, 3110, 6684, 1239, 4163, 1311, -1672, 5515, 1311, 1109, 981, 6158, 3625, 795, 4856, 2053, 3631, 3632, 3266, 3927, -608, 1078, 3990, 75, 75, 3265, 75, 6697, -2313, 3030, 6530, 963, -177, 5271, 2968, 74, 74, 4903, 74, 3174, 3818, 4293, 6516, 4164, 2375, 1223, 2377, 1338, 1594, 2381, 3266, 2383, 4335, 4904, 2386, 2387, 2388, 3260, 3835, 3264, 6243, 1468, -177, 6331, 6227, 6151, 2166, 2395, 1943, 6251, 3821, 4166, 5442, 5314, 3076, 3782, 6573, 4165, 3264, 1109, 6603, 6067, 2424, 1256, 2425, 2426, -1906, -1672, 3265, 3260, 906, 3128, 1584, 6504, 6505, 3128, 3023, 3024, 4776, 3028, 1860, 3003, 1860, 1230, 1230, 3991, 1230, 3265, 6114, 1490, 4167, 1299, 3675, 3266, 6642, -1675, 4892, 2299, 3264, 4924, 1311, 1944, 6294, 1224, 1469, 1630, -2476, 1311, 4486, 4487, 1311, 979, 3266, 4506, 907, 2269, 6209, 3077, 6211, 1136, 3992, 4622, 6215, 6216, 4168, 5206, 2057, 3265, 4060, 2270, 1122, 4905, 3260, 6521, 3641, 6341, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 897, 6604, 6516, 3502, 2058, 4617, 3260, 3266, 4537, 4538, 898, 6070, 6159, 6531, 3993, 1098, 992, -1759, 993, 2492, 778, 778, 5474, 3595, 1670, -2476, 981, 3175, 2494, 3503, -1672, -1675, 6228, 4593, 4294, 4294, 4594, 4595, 5480, 1099, 2271, 202, 2949, 1470, 997, 4890, 3260, 4596, 4597, 4598, 3783, 4599, 4600, 5424, 1945, 3784, 4601, 4602, 4603, -2514, 5955, 6219, 1137, 3928, 5481, 3929, 3804, 1126, 3656, 6574, 3943, 5338, 212, 3502, 1490, 3642, 5055, 2980, 2982, 5480, 5425, 6521, 1490, 1490, 421, 421, 421, 1256, 3733, 1885, 5433, 6392, 3785, -1672, 1885, 1885, 3079, 4777, 1225, 3503, 5443, 2965, 2966, 6631, 2203, 5481, 1134, 6229, 220, -1113, 69, 69, 896, 69, 899, 3154, 3149, 3994, 3176, -1906, 778, 3831, -468, 1160, 5429, 6301, 3155, -1906, 3032, 2288, -1906, 1938, -1906, 2165, 421, 5471, 4778, 5325, 5406, -1675, 2272, 35, 421, 5410, 3156, 37, 2269, 6605, 2242, 6246, 231, 6261, 5207, 1374, 421, 2323, 422, 422, 889, 6466, 2270, 1135, 745, 234, 1160, 3087, 3088, 5905, 1252, 3078, 4779, 2243, 5909, 3033, 5977, 5911, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1374, 246, 3358, 2323, -1759, 3106, 3108, 1471, 3870, 5176, 3382, 979, 992, 2273, 993, 6180, 3092, -1675, -1672, 247, 422, 6521, 4604, 3805, 5665, 1838, 1256, 1111, 3114, 6220, 1245, 3598, 1111, 1111, -1080, 1160, 1950, 3504, 1951, 1138, 2218, 3734, 5177, 889, 1472, 4485, 890, 5056, 3945, 1246, 3034, 3178, 1160, 1436, 3786, 1437, -468, 5637, 1253, 1247, -1672, 3179, 6496, -1672, 2019, 6588, 5326, 5179, 1375, 6423, 5234, 981, 5482, 900, 1953, 6542, 2086, 4890, 1885, 1953, 1139, 1140, 4294, 1911, 1913, 6302, 4294, 1916, 1885, 4016, 6100, 5871, 212, 4126, 1783, 5430, 1210, 3899, -2514, 3035, 1375, 3301, 6457, 1473, 3305, 1474, 6424, 5811, 1982, 1475, 2274, 1169, 743, 6396, 3157, 2087, 6303, 2323, 374, 1376, 6614, 1254, 4717, 1299, 1255, 983, 6615, -1675, 220, 1311, 1839, 2272, 2039, 1311, 3946, 1311, 3169, 1844, 6425, 6072, 3717, 3717, 1844, 2323, 1109, 3717, 3128, 6073, 3383, 1109, 1109, 1376, 5091, 1953, 5092, 6400, 3128, 1953, 6576, 3036, 4387, 3944, -2514, 1248, 5798, 1219, 6417, 4605, 1784, -1675, 231, 1885, -1675, 5285, 1885, 1885, 3341, 1377, 1196, 6584, 6585, 4125, 4174, 234, 3349, 3717, 3717, 3957, 5181, 2273, 6664, 736, 896, 1098, 3337, 4716, 4718, 2255, 5255, 2257, 2258, 1111, 1934, 5822, 374, 2040, 246, 5286, 4169, 1377, 1846, 1111, 5938, 3446, 5940, 1846, 4293, 1099, 3083, 4150, 1619, 1620, 3180, 6089, 247, 2088, 4606, 4814, 6543, 6238, 3614, 6281, 1249, 6544, 421, 1235, 1256, 1935, 3128, 3098, 6627, 1936, 992, 4362, 993, 3105, 3107, 4683, 3614, 5310, 5073, 4371, 5235, 4195, 3614, -1113, 5987, 6272, 5236, 1847, 6130, 3181, 5255, 4102, 1805, 5237, 2070, 996, 4386, 2311, 2218, 1242, 3463, 5809, 4211, 1937, 3084, 6282, 4392, 3085, 4863, 4393, 5256, 4394, 4395, 1885, 2274, 4397, 2071, 5287, 5093, 4400, 1216, 4401, 1111, 3298, 4403, 1111, 1111, -3303, 5238, 4815, 6500, 4205, 4206, 4207, 6662, 1250, 889, 6416, 4035, 890, 4175, 6074, 5427, 3650, 35, 3478, 1109, 4013, 37, 3483, 5239, 5311, 4298, 4299, 4300, 4301, 1109, 4303, 6350, 4100, 4127, 4101, 6289, 908, 4818, 4607, -1684, 2072, 4130, 5693, 4267, 4133, 1253, 5257, 5256, 1257, 1929, 5258, 5800, -1684, 960, 212, 4331, 965, 4037, -1684, 5033, 1601, 123, 124, 3252, 3661, 1461, 3980, 8, 3984, 3985, 1070, 1258, 4036, 5984, 4447, 5899, 4294, 6160, 4364, 6212, 4671, 6217, 4855, 1277, 6213, 2288, 5428, 3139, 1930, 6250, 220, 378, 3086, 3240, 3983, 3241, 5985, 3253, 5201, 5801, 6579, 1462, 6161, 1220, 6351, -1684, 1461, 4107, 1254, 1111, 5257, 2312, 1109, 5694, 5258, 1109, 1109, 2356, 4038, 5248, 1338, 1655, 1931, 1167, 1228, -1684, 1076, 5204, 6590, 2073, 374, 1844, 231, 1294, 5248, 6214, 1463, 1845, 3388, 5788, 5780, 5790, 1462, 906, 1222, 4966, 1077, 6464, 6108, 378, 75, 1418, 1419, 75, 1420, 1421, 3242, -1731, 1283, 5654, 3327, 4108, 74, -1731, 3600, 74, 3601, 3977, 2057, 4368, 3603, 3308, 3604, 5781, -1684, 3606, 3311, 4936, 2074, 3607, 1422, 1078, 2075, -1684, 1464, 4170, 247, 907, 1822, 5205, 3908, 2058, 5771, 3660, 5772, 5773, 5774, 3336, 1296, 1940, 1833, 4141, 2951, 4142, 1846, 4615, 896, 4146, 1676, 1489, 1223, 4489, 4820, -1500, 4268, 4490, 4491, 4492, 3252, 4171, 4109, 6468, 6469, 1256, 430, 1464, 1109, 3755, 6330, 3467, -1731, 2077, 5131, 3235, 4294, 40, -1730, 3484, 1941, 5175, 4012, 4294, -1730, 4324, 3236, 3388, 4294, 3698, 421, 4294, 3385, 430, 3253, 1847, 3391, 2092, 5087, 5088, 5089, 5090, 3639, 4821, 5094, 5095, 5096, 5097, 5098, 5099, 5100, 5101, 5102, 5103, 1942, 1285, 1286, 1304, 2079, 1676, 4294, -1731, 4489, 6685, 6512, 189, 4490, 4491, 4492, 2222, 1224, 3346, 5175, 5248, 1287, 4294, 2093, 1288, 4284, 2222, 3328, 2080, 1357, 5132, 3329, 4172, 2323, 5047, 5984, 3529, 3559, -1730, 6032, 4730, 2350, 4772, 5176, 2057, 1319, 5960, 3347, 2082, 5141, 5142, 889, -1684, 4106, 890, 3563, 4110, 2094, 5985, 1358, 4099, 1306, 3542, 2313, 2351, 4417, 4173, 2058, 3842, 5298, 2356, 6566, 3550, 4488, 3551, 3398, 5177, -392, 5048, 2356, 3555, 4773, 3388, 1320, 3558, 4516, 2314, -1730, 3399, -1501, 5992, 5178, 3843, 6033, 5176, 202, 6034, 1363, 2300, 4689, 4269, 5179, 6035, 2300, 4894, 205, -392, 212, 6093, 1372, 4895, 2117, 4441, 4442, 1289, 4774, 6616, 3400, 1382, 2301, 4540, 1831, 1383, 4896, 2301, 3742, 212, 5177, 3745, 5180, 6036, 69, 6094, 4192, 69, 3307, 1801, 2302, 5375, 4542, 6617, 4543, 5178, 220, 5392, 4494, 5984, 1290, 4591, 4270, 2118, 4897, 5179, 4898, 2119, 6637, 5219, 1225, 6638, 2971, 6481, 5376, 220, 4567, 3836, 4544, 1239, 5393, 1676, 5985, 4739, 4489, 4741, 1373, 6623, 4490, 4491, 4492, 4111, 4294, 5180, 2300, 3235, 6273, 2120, 231, 4112, 6037, 1291, 4113, 2057, 5509, 5606, 3243, 1593, 430, 5004, 2060, 234, 189, 6038, 6704, 2301, 6707, 231, 1381, 4416, 4666, 1079, 4899, 212, 3554, 6039, 2058, 4494, 4495, 2134, 234, 4655, 2138, 2304, 246, 5181, 6718, 5712, 3688, 3689, 2095, 1439, 5297, 1440, 5717, 3703, 3704, -392, -392, 4706, 4900, -2284, 6513, 246, 1424, 2070, 1382, 1426, 1632, 220, 1383, 4294, 5231, 4613, 4952, 1431, 35, 2288, 4890, 3139, 37, 1080, 6558, 6183, 38, 4735, 3748, 2071, 6187, 6188, 40, 2991, 3768, 3769, 3770, 3771, 5181, 1382, 3554, 4545, 4451, 1383, 4453, 4454, 4664, 4546, 5288, 4495, 5295, 5994, 35, 231, 4709, 2047, 37, 2096, 1831, 212, 2064, -1672, 5899, 2166, 1676, 6462, 234, 4489, 2167, 4901, 2168, 4490, 4491, 4492, 4902, 1444, 2288, 5279, 1938, 4842, 2072, -607, 35, 430, 1457, 4849, 37, 1465, 5607, 246, 5270, 3128, 2364, -2285, 40, 220, 2365, 1466, 1382, 2097, 1632, 5248, 1383, 2295, 2296, 5476, 2098, 247, 1943, 2099, 3407, 3408, 3717, 3717, 3717, 3717, 4552, 4903, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3068, 3069, 4767, 2956, 1382, 4904, -2292, 2957, 1383, 231, 123, 124, 6081, 4494, 2372, 4448, 2168, 6168, 5115, 5060, 5313, 4515, 234, 4517, 4518, 6173, 6174, 2364, 4294, 5423, 2433, 3590, 2168, 1944, 5020, 5021, 5022, 5023, 5024, 6040, 1477, 2073, 6041, 4459, 5532, 246, 4460, 3016, 3717, 3717, 4461, 1467, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4406, 1480, 247, -1425, 430, 4547, -1425, 5022, 5023, 5024, 1299, 1492, 6665, 1299, 6406, 1338, 4548, 2447, 374, 247, 1541, 3002, 4495, 2168, 3015, 4939, 3016, -3247, 3020, 2074, 2168, -3248, 4294, 2075, 1487, 3531, 3838, 3532, 421, 2288, 5675, 3139, 4905, 1496, 4672, 4673, 3867, 3868, 3336, 5015, 5016, 3592, 1551, 3016, 1311, 1311, 3768, 3769, 3770, 3771, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 1311, 1945, 4294, 1311, 3829, 6708, 1550, 5020, 5021, 5022, 5023, 5024, 2100, 2077, 4494, 5025, 3947, 4623, 3950, 4882, 3613, 3615, 3614, 3614, 5495, 1557, 4911, 3998, 3653, 3841, 3654, 2356, 5026, 3891, 5028, 3016, 5030, 4675, 1575, 421, 422, 421, 4010, 1568, 4011, 3882, 1596, 2101, 4693, 1071, 4082, 2102, 4083, 4245, 5822, 4246, 960, 4369, 2079, 3016, 40, 374, 1216, 1946, 4408, 896, 3614, 4792, 4458, 1632, 3016, 1311, 4798, 3068, 3892, 1311, 1311, 3865, 3865, 1631, 4467, 2080, 3016, 1636, 4495, 2103, 2165, 1640, 4473, 1267, 3016, 4474, 2104, 3016, 5488, 4475, 1647, 3016, 1947, 5248, 4335, 2082, 1948, 4508, 4294, 3016, 205, 421, 1653, 4522, 422, 3016, 422, 4527, 4824, 4528, 1654, 4568, 745, 4569, 1656, 4788, 1489, 4570, 4097, 4571, 1885, 4752, 4757, 4753, 4758, 5250, 5251, 5998, 1915, 5254, 1949, 75, 75, 4783, 1660, 4784, 4804, 3128, 1160, 4852, 1914, 4784, 1661, 74, 74, 5951, 5952, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4963, 4974, 4964, 4975, 1662, 4978, 1950, 4979, 1951, 5011, 2495, 5012, 5013, 2496, 3016, 1663, 1490, 5999, 1666, 889, 896, 5112, 890, 5113, 896, -1754, -1754, 6406, 1885, 5123, 5134, 5124, 3016, 5248, 5214, 5220, 5215, 5221, 1228, 5230, 1664, 3929, 6000, 1665, 3005, 4064, 1671, 5417, 896, 5418, 5477, -3512, 3614, 5553, 5579, 2422, 5580, 5576, 1952, 3016, 6001, 5616, 421, 3016, 6002, 5677, 421, 3929, 5683, 4088, 5684, 1160, -1757, -1757, 3821, 1800, 3098, 3007, 5690, 5691, 3614, 3614, 1673, 5692, 4929, 3614, 6003, 1111, 1807, 6004, 421, 743, 1811, 5824, 4140, 5825, 4294, 1804, 5863, 3717, 5012, 5881, 1812, 5882, 6005, 1489, 5883, 1912, 3016, 6027, 6047, 6028, 3614, 6082, 6117, 6083, 6118, 6127, 3559, 2356, -1758, -1758, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 6133, 6135, 4949, 4949, 4922, 889, 4925, 1818, 890, 889, 5297, 6156, 890, 6157, 1813, 4539, 896, 6202, 1823, 6203, 1111, 6242, 1800, 2970, 3864, 3864, 6270, 5248, 6157, 6297, 1828, 4528, 4912, 889, 4914, 1829, 890, 4088, 1831, 736, 5051, 6298, 6309, 3016, 6310, 1842, 1800, 2150, 6315, 6318, 2356, 4949, 6349, 1832, 3654, 4294, 1857, 5084, 421, 6510, -3512, 4294, 3915, 6006, 3821, -3512, 1858, 6355, 1885, 3654, 6356, 1859, 3654, 1109, 1863, 6359, 1885, 3016, 1862, 1885, 3931, 1865, 896, 5709, 1873, 6360, 3935, 3016, 6436, 6437, 3938, 5111, 4943, 1907, 6536, 6537, 69, 69, 6361, 6388, 6362, 6389, -3512, 4249, 5067, 6443, 6447, 6444, 2356, 6448, 6463, 3016, 3614, 4186, 6007, 1874, 1869, 3963, 4984, 1870, 6478, 4623, 6479, 6502, 421, 6503, 6538, 6552, 4949, 3016, 1875, 1876, 889, 4292, 1877, 890, 1676, 1109, 5153, 4489, 6554, 1878, 3016, 4490, 4491, 4492, 6587, 6613, 6157, 6323, 4218, 4005, 4218, 1879, 4218, 4218, 1886, 3012, 5522, 4218, 4218, 4218, 1887, 4218, 4218, 4218, 2070, 6633, 6659, 6634, 3016, 736, 6689, 6691, 6690, 6444, 6696, 6705, 5215, 3016, 5059, 6717, 5636, 6690, 5639, 1889, 4294, 5592, 2071, 1917, 3058, 1111, 3061, 1918, 1919, 5191, 1932, 1938, 889, 1111, 5266, 890, 1111, 4055, 2000, 1974, -3509, 2003, 2006, 2005, 1217, 5042, 2037, 5289, 1111, 2041, 2042, 4297, 2043, 2054, 2056, 4022, 2066, 2069, 2091, 2108, 2109, 2125, 4084, 2135, 2136, 2139, 2144, 2145, 4093, 2146, 2176, 5627, 2178, 2072, 2180, 2185, 4325, 2191, 2196, 2199, 2206, 2201, 4103, -3512, 2209, 1489, 2211, 1489, 2203, 736, 2220, 1217, 4116, 2225, 2226, -197, 2228, 2229, 4121, 2231, 2233, 2234, 2245, 2252, 2256, 1676, 2260, 925, 4489, 2266, 6663, 2275, 4490, 4491, 4492, 2280, 2281, 2282, 4134, 2284, 4382, 5875, 2288, 2291, 4137, 374, 2292, 2294, 2308, 2310, 2318, 4143, 6311, 2319, 2322, 1267, 2323, 2330, 2334, 5291, 5398, 2336, 1109, 2337, 2339, 4158, 2341, 2347, 2349, 2346, 1109, 2352, 2355, 1109, 2358, 2359, 2370, 2396, 4183, 2430, 2436, 2445, 2073, 2438, 2439, 1109, 2446, -1910, -1917, 736, 2454, 1489, 2452, 2453, 2455, 2456, 247, 2458, 4494, 2459, 2460, -1908, 2461, -3512, -1911, 2462, 2463, 2464, 2466, -1909, 2467, 2468, 5411, 2469, 2928, 2929, 2930, 2931, 2932, 2933, 2474, 2448, 2470, 2940, 896, 1885, 4573, 4574, 4575, 1217, 896, 2074, 2471, 2942, 2472, 2075, 2473, 5541, 2944, 5844, 5543, 2457, 2476, 2945, 2477, 4523, 2478, 2479, 2480, 2481, 3336, 4530, 2482, 2483, 2970, 2495, 2974, 2986, 2496, 1621, 3001, 5403, 2996, 3019, 3021, 1845, 421, 5558, 4495, 5601, 1847, 3052, 421, 3054, 3064, 3067, 3074, 1256, 3082, 3089, 76, 3091, 3093, 3101, 2077, 3104, 3102, 2488, 3109, 3005, 3115, 5337, 3112, -3456, 3113, -3451, -3512, 3116, 3117, 3118, 3134, 3135, 3136, 2495, 3139, 3137, 2496, 3140, 3141, 3142, 2497, 2498, 2499, 3143, 3144, 3145, 3146, 3152, 3171, 3177, 3183, 4292, 3007, 3197, 3201, 3204, 3205, 3004, 3203, 2079, 3207, 3208, 3221, 4494, 3225, 3226, 3227, 3005, 3239, 3238, 889, 3254, 3257, 890, 3006, 3268, 889, 3250, 1111, 890, 3258, 423, 2080, 3256, 3259, 3269, 3260, 423, 3270, 3271, 3273, 746, 3272, 3278, 3292, 3282, 3288, 3289, 3279, 3302, 3007, 3303, 2082, 3306, 3316, 3323, 3309, 3330, 3312, 3313, 3318, 4292, 3319, 1228, 1228, 3333, 1228, 3331, 423, 4292, 3338, 4377, 4380, 3339, 3359, 2019, 3348, 1676, 3350, 3352, 4489, 3344, 3345, 4495, -3512, -3512, -3512, 3351, 3360, 3353, 3357, 957, 1299, 3365, 3366, 1311, 1490, 1311, 1311, 3376, 3377, 3406, 3765, 3378, 3766, 1010, 3413, 3418, 1885, 3420, 3421, 3422, 3423, 3427, 423, 3428, -3512, 3434, 4424, 6110, 3429, -3512, 3384, 3389, 3440, 3431, 3432, 3441, 3767, 3433, 3435, 2495, 4628, 4628, 2496, 2166, 4438, 3442, 3449, 3439, 3450, 3453, 5805, 4424, 974, 1109, 5698, 3466, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 3458, -3512, 3477, 3821, 3481, 3482, 1161, 3008, 3005, 2088, 4623, 3501, 3009, 3485, 1161, -3512, 1161, 3510, 3494, 3497, 3521, 3527, 3514, 3534, 3500, 3546, 3717, 3548, 3549, 423, 5722, 5723, 3518, 3553, 3010, 2683, 4623, 5449, 5450, 3556, 3564, 3007, 3557, 3539, 3566, 5488, 3567, 3554, 3568, 3011, 3528, 3569, 3540, 3582, 3609, 3627, 3012, 896, 896, 896, 3638, 3651, 5587, 3682, 3663, 3610, 3737, 3687, 2496, 3743, 3756, 3747, 5549, 3762, 1111, 3768, 3769, 3770, 3771, 3779, 3781, 3802, 3772, 3773, 1490, 3801, 3816, 3824, 3774, 3825, 2735, 3827, 3830, 6170, 3833, 3832, 3834, 1223, 3859, 421, 421, 421, 3860, 3847, 3012, 3861, 3862, 3013, 3876, 3883, 4551, 3884, 3901, 2495, 2960, 3918, 2496, 3898, 3900, 3919, 2497, 2498, 2499, 3921, 5766, 5767, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 1676, 3939, 3004, 4489, 3948, 3951, 3953, 4490, 4491, 4492, 3955, 3956, 3005, -3512, 3962, 3967, 3972, 3986, 3978, 3006, -3512, 4007, 3973, 4002, 3975, -3512, 1801, 4755, 1805, 4009, 4019, 4026, 4039, 4044, 4045, 4065, 4071, 4072, 889, 889, 889, 890, 890, 890, 4073, 3007, 4081, 4078, 4098, 4089, 4096, 3098, 4099, 4119, 4614, 4136, 1109, 2222, 5663, 423, 4120, 3014, -3512, 4495, 4178, 4191, 4199, 4219, 4200, 4203, 1224, 4225, 6308, 4212, 4226, 5544, 5545, 5546, 5547, 5548, 4627, 4627, 4231, 4236, 4802, 4227, 4247, 4258, 4259, 4273, 4277, 4275, 4623, 4279, 423, 4307, 4287, 949, 4308, 4296, 3775, 4310, 4311, 2007, 4302, 4312, 4973, 4315, 4318, 2008, 4323, 3776, 4320, -3512, 4322, 4326, 4327, 3012, 4332, 4347, 4348, 896, 5862, 4309, 2928, 2929, 2930, 2931, 2932, 2933, 4349, 4359, 4361, 5865, 5866, 4358, 4363, 4360, 5778, 4365, 4373, 3085, 3446, 4374, 4399, 4372, 4398, 4370, 4396, 4375, 5870, 4402, 4404, 4845, 2010, 4956, 4376, 4384, 4385, 3008, 4691, 2924, 4410, 421, 3009, 4411, 4412, 4415, 4413, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 4414, 4425, 3664, 4420, 4478, 5716, 4479, 2356, 3010, 2683, 4429, 3717, 2353, 4428, 2320, 4419, 4436, 4444, 5844, 4427, 4446, 4218, 4439, 3011, 1638, 5147, 5008, 4452, 4472, 1641, -3512, -3512, 2011, 4876, 4876, 3717, 4469, 4204, -2178, 2012, 4470, 4471, 2013, 4893, 4476, 4477, 4521, 4481, 1490, 4483, 1490, 4484, 5660, 4485, 3016, 1885, 4507, 4541, 4524, 889, 4512, 4559, 890, 4619, 2735, 4513, 4550, 4520, 1015, 2014, 4957, 4564, 4535, 4560, 4589, 4562, 5707, 4536, 3012, 4632, 4969, 3013, 4763, 4634, 4636, -3512, -3512, -3512, 4499, 4500, 4501, 4502, 4503, 4504, 4625, 4638, 4645, 4657, 4947, 4563, 4495, 4669, 4566, 2015, 1299, 4620, 4653, 1311, 4674, 1311, 1311, 4658, 2364, 4662, 4659, 4663, 4676, 1015, 5007, 1217, 4677, 4688, 4685, 4690, 4702, 374, 4681, 4682, 4703, 4714, 4686, -3512, 4713, 4983, 1490, 4715, 4719, 4720, 1217, 4721, 1338, 4722, 2928, 2929, 2930, 2931, 2932, 2933, 4726, 4737, 4738, 4740, 4746, 4747, 3337, 4748, 4756, 4762, 4771, 4785, 4791, 4787, 4789, 4799, 5749, 4793, 4795, 4800, 2112, 4803, 3014, 4805, 2017, 5789, 4806, 4382, 4807, 4808, 1111, 4827, 4810, 4825, 2018, 374, 4826, 4828, 4829, 1010, 4832, 4841, 4835, 2019, 4830, 4831, 5155, 5156, 5157, 5158, 4844, 4833, 4834, 4837, 4839, 2020, 4846, 4848, 3374, 4860, 4867, 4858, 4872, 4836, 4861, 4838, 4862, 4864, 4840, 4878, 4850, 4934, 4880, 4851, 4857, 896, 4915, 4920, 4921, 4931, 3735, 4938, 4948, 4949, 5756, 5757, 4927, 5759, 4951, 4958, 4967, 4961, 4968, 4971, 2140, 4972, 5118, 2022, 2023, 4976, 4988, 5005, 5002, 5010, 5017, 949, 5019, 5027, 3717, 5029, 5035, 5036, 1885, 5807, 5037, 5050, 5038, 421, 5039, 5040, 5041, 5917, 2924, 5052, 5043, 5053, 5054, 5063, 2141, 5064, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 5076, 5065, 5066, 6196, 4292, 6198, 4480, 4292, 1109, 5068, 5069, 5070, 4489, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 5071, 5085, 3593, 5072, 949, -2177, 6607, 2447, 5136, 4926, 5125, 6610, 949, 5108, 5137, 5165, 5109, 5148, 5189, 5193, 5208, 5166, 5129, 5110, 5117, 5139, 5213, 5198, 5211, 5154, 889, 5174, 5217, 890, 5195, 2025, 5226, 378, 5197, 1418, 1419, 5199, 1420, 1421, 5241, 5202, 5262, 6165, 5233, 5263, 5264, 5265, 5272, 5273, 5275, 5276, 5278, 5283, 5284, 5315, 5300, 5303, 5316, 6328, 5319, 5317, 5318, 5329, 1422, 5332, 5330, 5333, 5331, 5334, 1111, 5345, 5343, 5352, 6337, 5363, 423, 5364, 5346, 5369, 423, 5372, 5388, 4292, 957, 5389, 5391, 5290, 5405, 5407, 5394, 5404, 5408, 957, 746, 6201, 3388, 5409, 5420, 5431, 5446, 957, 3763, 746, 957, 5460, 5467, 5014, 5472, 5479, 5490, 5466, 5441, 5452, 4380, 5496, 5518, 746, 5046, 5497, 6372, 6374, 5516, 5473, 6206, 5514, 5513, 5517, 2495, 5520, 5526, 2496, 3717, 5542, 5521, 5531, 746, 896, 5528, 5550, 5555, 5557, 896, 5062, 896, 5565, 5578, 5533, 5590, 1239, 5593, 6044, 5572, 5573, 5584, 746, 5594, 5599, 2369, 5595, -2179, 746, 3005, 4064, 5632, 5308, 5354, 5625, 896, -3512, 5612, 5633, 5628, 746, 5630, 5640, 5641, 5362, 5645, 421, 5646, 5647, 5648, 5659, 421, 5661, 421, 1109, 5662, 4088, 6116, 5672, 1485, 5680, 5685, 3007, 5678, 5676, 5686, 5713, 5695, 5714, 746, 2495, 5715, 6112, 2496, 957, 5718, 5724, 421, 6295, 1540, 5962, 5725, 5726, 957, 746, 5738, 5741, 5745, 5747, 5946, 957, 5760, 746, 957, 5751, 5752, 5768, 5761, 5770, 5779, 5769, 5775, 5782, 5787, 3005, 1540, 746, 5786, 5794, 4893, 5797, -3512, 5802, 76, 5804, 5803, 5806, 5810, 5812, 5816, 889, 1885, 746, 890, 5818, 889, 5821, 889, 890, 6539, 890, 5140, 5826, 5828, 5832, 5342, 5837, 3007, 5833, 5839, 5967, 5835, 5840, 5841, 5850, 6480, 5868, 1885, 5856, 5858, 5355, 889, 3614, 5356, 890, 5357, 5864, 5880, 5869, 5887, 5886, 5888, 5889, 5876, 5900, 5894, 5903, 5910, 5914, 5919, 5924, 6191, 6192, 5930, 5966, 5933, -3512, 1338, 5939, 5942, 5957, -3512, 5926, 746, 5950, 5953, 5954, 5958, 5959, 5964, 6012, 5970, 5971, 5975, 5981, 5982, 5983, 5990, 5430, 6366, 6018, 5397, 5968, 6020, 6023, 2495, 5143, 6026, 2496, 6031, 4292, 4292, 6050, 6030, 957, 957, 4623, 4218, -3512, 6011, 6051, 1161, 4218, 746, 6055, 1161, 6060, 6063, 1338, 6555, 6556, 3717, 6084, 6079, 6090, 6092, 3717, 6091, 6098, 3005, 6105, 6115, 6119, 6125, 1111, 423, -3512, 6152, 3087, 3088, 746, -3512, 957, 6129, 6154, 6178, -3512, 5225, 6378, 6132, 6176, 6167, 746, 5934, 6184, 6169, 5267, 6208, 6190, 6177, 1111, 6221, 3007, 3012, 6226, 6223, 6236, 6234, 5499, 6230, 6244, 6249, 6259, 6263, 1111, 6264, 6265, 6266, 6267, 6276, 6277, 6278, 6279, -3512, 6284, 1111, 6288, 6286, 6293, 6299, 6323, 6307, 6319, 6321, 6325, 6300, 6326, 6324, 6327, 6332, 6333, 6335, 421, 6336, 746, 746, 3763, 6126, 6348, 6371, 6377, 5503, 6317, 6380, 6352, 6383, 4893, 6387, 6126, 2490, 6385, 6391, 6394, 6395, 6411, 6412, 6414, 6428, 1885, 6413, 6421, 5144, 6422, 6455, 6427, 1959, 6475, 5007, 3012, 6456, 6440, 6438, 6473, 6381, 6491, 6450, 6482, 6460, 6382, 6511, 5149, 1109, 6534, 6465, 6490, -3512, 374, 6492, 6509, 6529, 4382, 4382, 4382, 4382, 4382, 6541, 6548, 6564, 6550, 6570, 6572, 6601, 6591, 422, 6597, 6598, -3512, 1109, 6608, 6612, 6619, -3512, 6639, 6618, 5377, 6640, 6643, 5380, 6641, 1161, 1161, 1109, 6644, 6645, 6200, 1885, 6653, 6666, 6668, 4651, 6679, 6669, 1109, 5561, 5561, 5561, 5561, 6680, 5561, 5561, 5561, 5561, 5561, 957, 957, 423, 6694, 5679, -3512, 6682, 6699, 746, 6565, 6700, 6687, 6709, 957, 6688, 1237, 6703, -3512, 1540, 957, 4292, 6712, 6716, 957, 4292, 957, 6656, 6086, 2007, 1540, 3390, 4616, 2004, 4281, 2008, 2993, 2106, 2105, 1111, 4151, 4070, 4732, -3512, 5306, 6342, 1540, 5299, 6476, 4877, 4190, 6366, 4238, 6009, 2928, 2929, 2930, 2931, 2932, 2933, 6365, 3012, 6571, 6062, 5296, 5785, 1619, 1620, 5448, 6043, 4679, 4409, 6467, 5944, 6567, 6386, 5462, 6384, 6489, 4684, 2010, 6582, 5814, 5500, 5478, 6346, 5440, 6449, 957, 6451, 957, 957, 4750, 3388, 4256, 5711, 5470, 4257, 5304, 2090, 4937, 5808, 5664, 5666, 6049, 5719, 1111, 5465, 4977, 5524, 6280, 6636, 6715, 6701, 6024, 4883, 6494, 5969, -3512, 6186, 3457, 6316, 6354, 5650, 5972, 1068, 5657, 5658, 5506, 2928, 2929, 2930, 2931, 2932, 2933, 1130, 2011, 1540, 5656, 5044, 1414, 6163, 6632, 2012, 2419, 949, 2013, 5551, 949, 3520, 5510, 6339, 4285, -3512, 75, 4670, 1109, 3924, 3516, 3535, 6274, 4994, 6087, 3570, 1569, 1491, 74, 4847, 4188, 5335, 3658, 3659, 4794, 2014, 6667, 6515, 4215, 746, 6195, 2369, 3151, 5530, 5529, 3846, 6683, 3415, 1815, 5667, 6162, 5222, 4424, 6461, 1489, 2371, 4405, 3017, 2955, 4621, 3875, 3048, 4380, 4380, 4380, 4380, 4380, 76, 76, 2015, 76, 4633, 3856, 3049, 6553, 6452, 5196, 5651, 957, 5169, 5638, 5623, 5163, 3874, 6306, 1109, 6131, 5223, 3053, 6305, 5164, 1885, 6676, 6540, 6609, 6441, 6111, 5119, 5921, 6453, 3806, 1338, 6454, 3723, 4557, 4464, 4214, 4555, 3815, 1270, 5006, 4357, 949, 3902, 3530, -3512, 6429, 3073, 2268, 746, 1240, 3066, 6692, 3893, 3909, 4611, 2928, 2929, 2930, 2931, 2932, 2933, 896, 1540, 2112, 746, 1926, 3906, 2017, 1897, 2007, 3907, 2427, 1898, 5228, 1592, 2008, 5652, 2018, 746, 5229, 3070, 5200, 746, 2959, 1263, 3913, 2019, 4407, 2361, 78, 2110, 3611, 5928, 957, 1626, 0, 0, 0, 2020, 0, 0, 0, 0, 421, 0, 4292, 0, 0, 0, 0, 0, 5763, 5764, 0, 0, 0, 0, 0, 0, 0, 2010, 0, 0, 957, 4218, 0, 4218, 4218, 4218, 6624, 0, 0, 0, 0, 0, 0, 0, 1111, 0, 0, 2022, 2023, 0, 1111, 0, 0, 0, 1111, 0, 0, 0, 957, 957, 957, 0, 957, 0, 6472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2939, 0, 3098, 0, 2024, 0, 0, 2111, 957, 2011, 889, 0, 0, 890, 0, 0, 2012, 0, 0, 2013, 0, 0, 0, 0, 1489, 5815, 0, 0, 0, 0, 69, 0, 2495, 0, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 0, 0, 746, 2014, 0, 2981, 0, 0, 0, 0, 746, 746, 0, 6702, 0, 0, 0, 0, 0, 6522, 6523, 0, 5843, 3005, 0, 0, 0, 6625, 6626, 2025, 3006, 6695, 0, 0, 0, 0, 0, 2015, 0, 0, 5732, 0, 0, 957, 1109, 0, 0, 957, 957, 0, 1109, 0, 5742, 4292, 1109, 0, 3007, 0, 0, 0, 4292, 0, 0, 957, 0, 4292, 0, 0, 4292, 423, 423, 423, 0, 0, 5561, 0, 0, 0, 0, 0, 0, 5735, 5736, 0, 0, 0, 5739, 5740, 0, 0, 746, 949, 949, 0, 0, 0, 0, 4292, 0, 0, 0, 0, 2112, 0, 0, 0, 2017, 0, 0, 0, 0, 0, 4292, 0, 0, 0, 2018, 0, 0, 423, 0, 0, 0, 0, 0, 2019, 0, 423, 0, 0, 0, 0, 0, 1540, 0, 0, 0, 2020, 6195, 423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1161, 0, 0, 1959, 6077, 0, 0, 1959, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3008, 0, 5927, 0, 5923, 3009, 2113, 0, 0, 2022, 2023, 2488, 0, 0, 0, 896, 0, 2070, 0, 0, 0, 1161, 0, 0, 0, 0, 6056, 3010, 2683, 0, 0, 1540, 0, 0, 0, 0, 5997, 0, 0, 2071, 2114, 0, 3011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 2488, 0, 0, 0, 0, 4893, 0, 4722, 0, 0, 1540, 0, 0, 0, 0, 0, 0, 1885, 0, 1161, 0, 0, 3763, 0, 0, 2735, 0, 1489, 0, 0, 0, 0, 2072, 5290, 0, 0, 1161, 0, 4561, 3012, 3174, 4292, 0, 1540, 0, 0, 0, 0, 6048, 0, 2025, 4218, 4424, 0, 4580, 0, 0, 0, 0, 1015, 6010, 6057, 378, 260, 367, 368, 0, 370, 371, 6710, 6711, 363, 269, 889, 0, 0, 890, 0, 272, 6075, 273, 0, 274, 294, 0, 312, 317, 347, 366, 372, 383, 0, 0, 373, 2495, 0, 949, 2496, 5291, 0, 949, -3512, -3512, -3512, 0, 0, 0, 0, 746, 0, 4292, 0, 0, 0, 4580, 0, 0, 0, 1216, 0, 0, 2073, 4580, 0, 957, 957, 957, 0, 3005, 0, 0, 3014, 0, 0, 0, 3006, 0, 0, 0, 0, 1111, 746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1540, 0, 0, 0, 0, 0, 0, 0, 3007, 0, 0, 1540, 0, 0, 0, 0, 0, 2074, 0, 0, 4424, 2075, 4424, 423, 0, 1959, 0, 1540, 0, 0, 1217, 0, 0, 5922, 0, 0, 3336, 0, 0, 0, 5292, 0, 2495, 0, 0, 2496, 746, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 896, 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, 0, 0, 2077, 0, 0, 0, 0, 0, 3005, 0, 2924, 0, 1540, 0, 0, -3512, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 957, 0, 0, 957, 421, 4292, 1540, 0, 0, 1109, 0, 0, 0, 957, 3007, 0, 0, 0, 0, 1540, 2079, 0, 0, 0, 0, 0, 0, 3008, 0, 0, 1490, 1540, 3009, 0, 6210, 0, 0, 0, 0, 0, 0, 0, 1885, 2080, 957, 957, 0, 746, 746, 6252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 957, 0, 746, 957, 2082, 0, 5293, 0, 0, 5294, 3011, 4292, 1540, 1540, 0, 746, 746, 0, 0, 889, 0, 0, 890, 0, 5610, 0, 0, 76, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4292, 5791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3012, 0, 0, 0, -3512, 0, 957, 0, 0, -3512, 957, 957, 0, 896, 0, 0, 0, 949, 0, 0, 0, 0, 0, 0, 6329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5997, 0, 0, 0, 0, 0, 0, 1111, 0, 0, 0, 0, -3512, 957, 957, 0, 3260, 0, 0, 957, 957, 421, 0, 4337, 0, 3699, 957, 957, 957, 0, 0, 957, 0, 957, 0, 957, 957, 957, 957, 957, 957, 0, 0, 957, 0, 957, 957, 1977, 0, 957, 0, 0, 0, 4292, 0, 0, 0, 0, 3014, 0, 0, 0, 0, 1540, 957, 957, 957, 3012, 0, 2495, 0, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 1490, 957, 1978, 423, 6369, 0, 6370, 896, 0, 0, 6375, 6376, 0, 3004, 0, 889, 0, 0, 890, 0, 0, 0, 0, 3005, 0, 0, 0, 0, 6442, 0, 3006, 0, 0, 0, 0, 6291, 0, 0, 0, 0, 0, 0, 0, 0, 1109, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 3007, 0, 0, 0, 0, 949, 0, 1979, 0, 374, 0, 0, 949, 0, 0, 6596, 0, 949, 0, 374, 949, 5912, 2924, -3512, 0, 0, 0, 0, 0, 0, -3512, -3512, -3512, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 0, 0, 1980, 0, 0, 0, 0, 0, 949, 0, 0, 0, 0, 0, 0, 0, 374, 0, 0, 0, 0, 0, 0, 949, 0, 0, 889, 0, 0, 890, 4292, 0, 0, 4338, 0, 0, 0, 0, 1981, 0, 0, 0, 0, 0, 0, 0, 0, 957, 378, 0, 6517, 6518, 0, 6519, 6495, 6290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3008, 1311, 0, 0, 0, 3009, 6520, 1983, 0, -3512, 0, 0, 0, 0, 957, 0, 0, 0, 0, 0, 2928, 2929, 2930, 2931, 2932, 2933, 0, 3010, 2683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3757, 1985, 0, 0, 3011, 0, 0, 0, 1311, 4292, 0, 0, 0, 0, 0, 4292, 1977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 957, 378, 0, 6517, 6518, 6363, 6519, 0, 0, 0, 0, 0, 0, 0, 205, 0, 2735, 0, 0, 4339, 0, 0, 1978, 0, 0, 0, -2801, 0, 1988, 0, 3012, 0, 6520, 3013, 0, 0, 1989, 1490, 0, 0, 949, 0, 0, 0, 3218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1991, 0, 0, 0, 0, 0, 0, 0, 0, 1992, 0, 0, 0, 1993, 0, 0, 0, 0, 0, 2488, 0, -2801, 0, 0, 0, 0, 0, 1979, 0, 0, 0, 0, 4340, 0, -2801, 5162, 0, 0, 5167, 0, -2801, 0, 0, 0, 896, -2801, 0, 0, 0, 0, 0, -2801, 4424, 949, -2801, 4292, 0, 0, -2801, 0, 0, 0, 0, 1980, 0, 6673, 3014, 1994, 0, 1523, 378, 4341, 6517, 6518, 0, 6519, 0, 0, 0, 374, 0, 0, 0, 0, 0, 0, 421, -2801, 0, -2801, 0, 0, 0, 896, 0, 1523, 0, 0, 0, 1981, 0, 6520, 0, 0, 0, 0, 0, -2801, 0, 0, 0, 0, 896, 0, 6673, 0, 0, 0, 0, 957, 957, 957, 957, 957, 957, 957, 957, 957, 0, 957, 0, 0, 0, 6673, 0, 421, 0, 0, 0, 957, 0, 1983, 957, 6675, 0, 0, 0, 0, 0, 0, 0, 2949, 0, 0, 421, 6674, -2801, 0, 0, -2801, 889, 0, 0, 890, 0, -2801, 2924, 0, 6235, 0, 0, 0, 0, 1985, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 0, 0, 0, 0, 4531, 0, 0, 6675, 0, 0, 423, 949, 0, 957, 0, 0, 0, 957, 0, 6674, 957, 0, 957, 0, 889, 957, 6675, 890, 0, 5650, 205, 0, 3217, 0, 0, 1987, 0, -2801, 6674, 0, 957, 0, 0, 889, 1988, 0, 890, 0, 0, 957, 957, 0, 1989, 0, 0, 0, 0, 0, 0, 2495, 3218, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 0, 0, 1991, 0, 0, 0, 949, 0, 0, 0, 423, 1992, 423, 3004, 0, 1993, 0, 0, 0, 3758, 0, 0, 0, 3005, 0, 0, 0, 0, 0, 0, 3006, 0, 746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 949, 0, 0, 0, 0, -2801, 76, 76, 0, 0, 746, 3007, 0, 0, 0, 0, 0, 1540, 0, 0, 0, 1540, 1540, 0, 1994, 0, 0, 0, 746, -2801, 0, -2801, -2801, 423, 746, 0, 0, 0, 746, 0, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 957, 0, 0, 0, 0, 0, -2801, 0, -2801, -2801, 0, 957, 0, 1540, 957, 0, 957, 957, 0, 1540, 0, 0, 0, 0, 0, 0, 0, 6672, 0, 0, 0, 746, 4580, 0, 949, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1161, 0, 0, 0, 0, 0, 0, 746, 746, 0, 0, 0, 0, 3008, 374, 0, 1540, 0, 3009, 2183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1031, 2192, 0, 6672, 0, 3667, 0, 0, 0, 423, 746, 3010, 2683, 423, 0, 0, 0, 2200, 0, 0, 0, 0, 6672, 0, 0, 0, 3011, 0, 0, 0, 0, 0, 0, 0, 0, 746, 0, 423, 0, 0, 0, 746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1311, 0, 0, 374, 746, 1034, 3668, 0, 0, 1161, 0, 746, 4115, 0, 746, 0, 2735, 0, 0, 0, 746, 1035, 0, 0, 0, 0, 0, 0, 0, 0, 3012, 0, 0, 3013, 0, 0, 0, 0, 0, 1398, 746, 0, 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3669, 949, 0, 0, 746, 0, 0, 0, 0, 1311, 1311, 1038, 0, 0, 0, 0, 0, 746, 0, 0, 1039, 0, 423, 0, 0, 0, 0, 0, 746, 4115, 0, 0, 0, 1040, 0, 0, 0, 0, 3670, 0, 0, 0, 0, 0, 0, 0, 957, 957, 957, 0, 0, 0, 957, 0, 0, 0, 0, 0, 0, 3014, 0, 0, 0, 0, 1401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4580, 957, 1540, 0, 4580, 0, 0, 0, 0, 0, 423, 3671, 0, 949, 0, 0, 0, 4115, 0, 949, 0, 0, 0, 0, 0, 0, 4115, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0, 6600, 0, 374, 374, 0, 0, 957, 0, 0, 0, 0, 0, 0, 2428, 0, 0, 0, 0, 0, 4115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4330, 0, 0, 0, 1540, 0, 2924, 0, 0, 0, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 0, 957, 3746, 0, 0, 0, 0, 0, 925, 3672, 0, 0, 1049, 0, 0, 0, 2495, 0, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 6649, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1405, 3004, 0, 3673, 0, 949, 0, 0, 0, 1053, 0, 3005, 0, 0, 0, 0, 1054, 0, 3006, 1055, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1056, 0, 0, 0, 0, 0, 3007, 1407, 0, 0, 0, 0, 6649, 1058, 0, 0, 1408, 0, 0, 6698, 1060, 0, 746, 0, 1300, 1302, 0, 0, 1305, 0, 0, 0, 1311, 1311, 0, 3674, 0, 0, 1540, 0, 746, 0, 0, 0, 0, 0, 0, 746, 1355, 0, 0, 957, 0, 1540, 957, 1365, 957, 957, 1540, 0, 0, 1065, 0, 0, 0, 0, 957, 2495, 0, 0, 2496, 957, 0, 0, 2497, 2498, 2499, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 1428, 0, 0, 1430, 0, 3004, 0, 0, 0, 0, 0, 957, 957, 957, 0, 3005, 957, 1454, 0, 0, 0, 0, 3006, 1458, 957, 957, 957, 957, 0, 0, 0, 0, 0, 0, 3008, 423, 0, 0, 0, 3009, 957, 423, 0, 957, 0, 957, 0, 0, 3007, 0, 0, 0, 0, 0, 0, 0, 957, 957, 0, 0, 957, 3010, 2683, 4337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3011, 2495, 0, 957, 2496, 957, 0, 957, 2497, 2498, 2499, 1977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3004, 0, 957, 0, 0, 0, 0, 0, 0, 0, 3005, 0, 0, 957, 0, 0, 2735, 3006, 0, 0, 0, 1978, 0, 0, 0, 0, 0, 746, 0, 0, 3012, 0, 0, 3013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3007, 957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 957, 0, 3008, 0, 0, 0, 0, 3009, 0, 0, 0, 0, 0, 3281, 957, 0, 0, 0, 0, 0, 0, 0, 957, 1979, 0, 0, 0, 0, 0, 3010, 2683, 0, 0, 0, 0, 4580, 0, 0, 0, 0, 4580, 0, 0, 4580, 3011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1540, 0, 1980, 1540, 0, 1540, 3014, 0, 0, 0, 1540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 746, 746, 2735, 0, 0, 0, 957, 4338, 0, 0, 0, 0, 1981, 0, 0, 3008, 3012, 0, 0, 3013, 3009, 0, 0, 0, 0, 0, 0, 746, 0, 0, 746, 0, 0, 1540, 0, 0, 0, 0, 0, 0, 0, 1540, 3010, 2683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1983, 0, 0, 3011, 0, 0, 0, 0, 0, 0, 0, 0, 1540, 0, 0, 0, 0, 0, 0, 3419, 0, 0, 0, 0, 0, 0, 2924, 0, 0, 0, 3430, 0, 1985, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 2735, 0, 3448, 4879, 423, 423, 423, 0, 0, 0, 3014, 0, 2035, 2036, 3012, 0, 0, 3013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 746, 205, 0, 0, 0, 0, 1987, 0, 0, 1540, 0, 1540, 374, 0, 0, 1988, 0, 0, 0, 746, 0, 0, 0, 1989, 0, 0, 3522, 0, 0, 0, 374, 3218, 0, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 1991, 374, 0, 0, 3537, 0, 0, 0, 0, 1992, 0, 2181, 0, 1993, 0, 0, 0, 1523, 0, 0, 0, 0, 0, 0, 0, 0, 2193, 0, 0, 3552, 0, 0, 4340, 0, 3014, 0, 0, 0, 2924, 0, 0, 0, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 2215, 2216, 0, 5078, 4580, 0, 1540, 0, 0, 0, 0, 1994, 0, 3578, 1523, 4341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2253, 0, 0, 746, 0, 0, 0, 0, 957, 0, 0, 0, 0, 0, 957, 0, 0, 0, 0, 0, 0, 0, 0, 1540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 1540, 0, 2924, 0, 0, 746, 0, 746, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 746, 0, 746, 5128, 0, 0, 0, 0, 0, 0, 4930, 0, 0, 0, 0, 2327, 2329, 0, 0, 0, 0, 0, 957, 0, 2007, 0, 0, 0, 0, 0, 2008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2110, 0, 0, 0, 0, 1540, 4580, 0, 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3750, 0, 0, 0, 746, 1540, 0, 0, 2010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2495, 0, 0, 2496, 1540, 0, 0, 2497, 2498, 2499, 0, 0, 0, 0, 0, 0, 0, 0, 2495, 0, 0, 2496, 0, 0, 3004, 2497, 2498, 2499, 0, 0, 0, 0, 0, 0, 3005, 0, 0, 2111, 0, 2011, 746, 3006, 3004, 0, 0, 2488, 2012, 2495, 0, 2013, 2496, 0, 3005, 0, 2497, 2498, 2499, 0, 0, 3006, 374, 0, 746, 0, 0, 0, 0, 3007, 0, 0, 0, 3004, 0, 0, 0, 0, 2014, 0, 0, 0, 0, 3005, 0, 0, 746, 3007, 0, 746, 3006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 957, 0, 0, 1540, 0, 0, 2015, 0, 0, 957, 3007, 0, 0, 0, 0, 0, 0, 957, 0, 957, 0, 0, 957, 0, 0, 0, 1540, 957, 957, 957, 957, 0, 0, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 0, 0, 0, 957, 957, 957, 382, 0, 1540, 0, 0, 0, 382, 957, 0, 0, 740, 0, 957, 0, 423, 0, 957, 0, 0, 0, 0, 0, 2112, 0, 957, 0, 2017, 957, 3008, 957, 0, 0, 0, 3009, 0, 0, 2018, 382, 0, 957, 0, 0, 957, 957, 0, 2019, 3008, 957, 957, 0, 0, 3009, 0, 0, 957, 3010, 2683, 2020, 0, 0, 0, 0, 0, 0, 957, 0, 0, 957, 0, 0, 3011, 0, 0, 3010, 2683, 3008, 0, 957, 0, 0, 3009, 0, 0, 382, 0, 0, 0, 0, 3011, 0, 0, 0, 0, 0, 0, 0, 4148, 0, 0, 2022, 2023, 0, 3010, 2683, 0, 0, 0, 0, 0, 0, 0, 2735, 0, 0, 0, 0, -2586, 3011, 0, 0, 0, 0, 0, 0, 957, 3012, 0, 0, 3013, 2735, 4149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 957, 0, 3012, 0, 0, 3013, 0, 374, 0, 0, 0, 0, 0, 0, 382, 0, 1540, 2735, 0, 0, 0, 0, 0, 0, 0, 0, -2586, 0, 957, 0, 0, 3012, 374, 0, 3013, 0, 0, 0, 0, -2586, 0, 0, 0, 0, 0, -2586, 0, 0, 0, 746, -2586, 0, 0, 0, 0, 0, -2586, 2025, 0, -2586, 0, 0, 0, -2586, 0, 0, 0, 0, 0, 0, 3216, 0, 0, 0, 0, 0, 3014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2586, 0, 3014, 3255, 0, 0, 0, 0, 423, 0, 0, 0, 0, 423, 1540, 423, 0, 0, 0, 0, -2586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3014, 0, 6595, 0, 0, 0, 0, 0, 423, 1540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2586, 0, 0, -2586, 0, 0, 0, 3343, 0, -2586, 0, 0, 0, 0, 0, 2924, 746, 0, 382, 746, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 2924, 0, 0, 5243, 3369, 3370, 3371, 3372, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 0, 382, 5468, 0, 0, 0, 0, 0, 0, 0, 2924, 0, 0, 0, -2586, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 3412, 0, 957, 0, 0, 0, 0, 0, 374, 0, 0, 2495, 0, 0, 2496, 0, 1977, 0, 2497, 2498, 2499, 3425, 3426, 0, 0, 0, 0, 0, 746, 746, 0, 0, 1540, 0, 0, 3004, 0, 3443, 0, 746, 1126, 0, 0, 0, 0, 3005, 957, 957, 0, 0, 0, 1978, 3006, 0, 0, 2007, 746, 1031, 0, 0, 0, 2008, 1394, 0, 0, 0, 0, 0, -2586, 0, 0, 3486, 3487, 3488, 3489, 0, 2009, 0, 3007, 0, 5507, 1540, 0, 0, 1540, 957, 957, 0, 0, 0, 0, 0, -2586, 0, -2586, -2586, 957, 0, 0, 0, 1395, 0, 0, 0, 0, 0, 2010, 0, 0, 0, 0, 0, 1979, 1034, 1396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 1397, 0, 0, 0, 1035, 3979, 0, 0, 0, -2586, 0, 3987, -2586, -2586, 0, -2586, 0, 0, 0, 0, 0, 0, 1398, 1980, 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, 0, 0, 0, 2011, 0, 0, 0, 0, 0, 0, 2012, 0, 1399, 2013, 0, 0, 0, 0, 4020, 0, 957, 0, 0, 1038, 0, 1981, 0, 0, 0, 3584, 0, 957, 1039, 3008, 0, 3588, 0, 0, 3009, 0, 2014, 0, 0, 0, 0, 1040, 0, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 957, 3010, 2683, 957, 1982, 0, 0, 0, 1983, 0, 0, 957, 957, 0, 1540, 2015, 3011, 1401, 957, 957, 0, 0, 0, 957, 0, 0, 0, 957, 0, 0, 957, 957, 0, 0, 0, 957, 0, 0, 0, 1984, 1985, 957, 1402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 957, 0, 0, 0, 2735, 0, 0, 0, 957, 0, 0, 1044, 957, 0, 0, 0, 0, 0, 3012, 0, 0, 3013, 0, 0, 0, 1986, 0, 2016, 0, 205, 0, 2017, 0, 0, 1987, 0, 0, 0, 0, 0, 0, 2018, 0, 1988, 0, 957, 0, 0, 0, 0, 2019, 1989, 1403, 957, 0, 0, 0, 0, 2495, 1990, 76, 2496, 2020, 0, 0, 2497, 2498, 2499, 0, 0, 0, 1991, 0, 0, 0, 0, 1047, 0, 957, 0, 1992, 0, 3004, 0, 1993, 0, 925, 1404, 0, 0, 1049, 0, 3005, 0, 0, 0, 1540, 0, 0, 3006, 0, 2021, 0, 0, 2022, 2023, 0, 0, 0, 746, 3014, 0, 0, 4243, 0, 0, 0, 1405, 3760, 0, 1406, 0, 0, 0, 1052, 3007, 1053, 0, 0, 0, 0, 0, 0, 1054, 1540, 2024, 1055, 0, 1994, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 0, 1056, 1540, 0, 0, 0, 0, 0, 1407, 746, 0, 0, 0, 0, 1058, 0, 0, 1408, 0, 0, 382, 1060, 0, 0, 382, 957, 0, 0, 0, 1409, 0, 1062, 957, 0, 0, 0, 1410, 1312, 740, 0, 0, 0, 0, 746, 0, 1312, 0, 740, 1312, 2025, 0, 0, 0, 0, 0, 0, 2924, 0, 0, 0, 0, 740, 1065, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 1540, 0, 0, 5574, 0, 0, 740, 0, 0, 0, 0, 3008, 0, 0, 0, 0, 3009, 0, 0, 0, 0, 0, 0, 0, 0, 740, 957, 0, 0, 0, 0, 740, 0, 0, 0, 0, 0, 0, 3010, 2683, 0, 0, 957, 740, 0, 0, 0, 423, 0, 0, 0, 0, 0, 3011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, 740, 957, 0, 0, 0, 0, 0, 0, 0, 0, 1977, 0, 0, 2007, 1312, 740, 0, 0, 0, 2008, 0, 1312, 2735, 740, 1312, 4, 4437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3012, 740, 0, 3013, 0, 4450, 0, 0, 5, 1978, 4455, 0, 1540, 0, 1540, 0, 0, 740, 6, 7, 0, 0, 0, 0, 0, 9, 10, 0, 2010, 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, 746, 0, 37, 0, 38, 39, 0, 0, 0, 0, 40, 0, 0, 0, 0, 1979, 0, 0, 957, 0, 0, 957, 0, 740, 957, 957, 957, 0, 0, 2011, 0, 0, 0, 0, 0, 0, 2012, 3014, 0, 2013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 957, 957, 1980, 0, 957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 740, 0, 0, 2014, 41, 957, 0, 0, 0, 0, 0, 0, 957, 0, 0, 0, 0, 957, 0, 0, 957, 957, 382, 0, 1981, 0, 0, 740, 957, 0, 0, 0, 0, 0, 0, 0, 0, 2015, 0, 740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 957, 0, 0, 957, 0, 0, 0, 0, 0, 746, 0, 746, 0, 1982, 0, 957, 0, 1983, 0, 0, 0, 0, 0, 0, 0, 2924, 0, 0, 0, 0, 0, 0, 42, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 740, 740, 0, 0, 5611, 0, 2044, 1985, 0, 0, 43, 2112, 0, 1540, 746, 2017, 0, 0, 0, 0, 0, 0, 0, 0, 957, 2018, 3760, 0, 0, 0, 0, 0, 0, 44, 2019, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2045, 2020, 0, 0, 205, 0, 0, 0, 0, 1987, 0, 0, 45, 0, 0, 0, 0, 0, 1988, 423, 0, 0, 0, 0, 957, 0, 1989, 0, 0, 0, 0, 0, 1977, 0, 2046, 0, 0, 0, 0, 0, 3198, 0, 0, 2022, 2023, 0, 1991, 0, 0, 0, 0, 46, 0, 0, 47, 1992, 0, 0, 0, 1993, 4694, 0, 0, 0, 0, -2588, 382, 1978, 4697, 0, 0, 0, 740, 0, 3199, 0, 48, 0, 0, 0, 0, 0, 0, 1312, 0, 957, 0, 1312, 1540, 1312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1994, 0, 0, -2588, 0, 0, 0, 957, 0, 0, 0, 957, 0, 957, 0, 1979, -2588, 0, 0, 0, 0, 0, -2588, 0, 0, 0, 0, -2588, 0, 2025, 0, 957, 0, -2588, 0, 0, -2588, 957, 0, 0, -2588, 957, 0, 0, 0, 0, 0, 1540, 957, 0, 4780, 1980, 4782, 49, 0, 3988, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2588, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1981, 0, -2588, 0, 0, 0, 0, 0, 0, 1540, 0, 0, 0, 0, 1540, 1540, 50, 0, 0, 957, 0, 0, 0, 0, 0, 957, 957, 746, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 1982, 0, 740, 746, 1983, 0, 0, 0, 0, 52, 0, 0, 0, -2588, 0, 0, -2588, 2495, 0, 0, 2496, 4843, -2588, 957, 2497, 2498, 2499, 0, 0, 0, 0, 957, 0, 0, 423, 2061, 1985, 0, 0, 53, 381, 3004, 0, 0, 0, 0, 381, 0, 0, 0, 739, 3005, 54, 55, 56, 57, 58, 59, 3006, 957, 60, 61, 1585, 4865, 0, 0, 4128, 66, 1586, 4131, 0, 0, 0, 0, 2062, 0, 0, 381, 205, -2588, 0, 0, 740, 1987, 3007, 0, 0, 0, 0, 1540, 1540, 0, 1988, 0, 0, 0, 0, 0, 740, 0, 1989, 0, 0, 0, 0, 0, 0, 0, 2063, 0, 0, 6292, 740, 0, 0, 957, 740, 0, 0, 0, 1991, 957, 2007, 381, 957, 0, 0, 957, 2008, 1992, 0, 0, 0, 1993, 1126, 0, 0, 0, 957, 0, 0, 0, 0, 0, 0, 957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4222, 0, 0, 0, 4020, -2588, 957, 0, 0, 0, 0, 0, 0, 4235, 0, 1156, 2010, 0, 0, 0, 0, 4244, 0, 1156, 0, 1156, 0, 957, 0, -2588, 1994, -2588, -2588, 0, 0, 0, 0, 0, 381, 0, 0, 3008, 0, 0, 0, 0, 3009, 0, 0, 0, 5009, 0, 423, 0, 746, 0, 0, 0, 0, 0, 4288, 0, 0, 0, 0, 0, 0, 0, 3010, 2683, 0, -2588, 2011, 0, -2588, -2588, 0, -2588, 0, 2012, 0, 4314, 2013, 3011, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 0, 0, 0, 740, 740, 1031, 0, 0, 0, 0, 3185, 0, 0, 0, 957, 2014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3012, 0, 0, 3013, 3186, 2015, 0, 4388, 0, 4390, 0, 0, 957, 957, 957, 5077, 0, 1034, 382, 382, 382, 957, 423, 0, 0, 1540, 0, 0, 0, 0, 957, 0, 957, 1035, 957, 0, 0, 0, 5086, 740, 0, 0, 0, 0, 957, 0, 0, 746, 0, 0, 0, 1398, 0, 0, 0, 0, 0, 0, 0, 0, 957, 0, 0, 5107, 0, 381, 0, 0, 382, 0, 2016, 0, 0, 746, 2017, 3187, 382, 0, 0, 0, 0, 0, 0, 0, 2018, 0, 1038, 0, 382, 0, 0, 0, 3014, 2019, 0, 1039, 0, 0, 0, 0, 381, 0, 0, 0, 0, 2020, 0, 0, 1040, 4449, 0, 0, 0, 3188, 957, 0, 4456, 0, 0, 0, 0, 0, 0, 0, 957, 0, 0, 0, 0, 0, 0, 0, 957, 957, 0, 0, 0, 0, 957, 1401, 0, 957, 0, 0, 3274, 0, 0, 2022, 2023, 0, 0, 957, 0, 0, 0, 0, 0, 6547, 0, 0, 0, 957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3275, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0, 746, 0, 2924, 0, 0, 0, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 0, 0, 5874, 957, 0, 0, 0, 0, 0, 957, 0, 0, 0, 0, 744, 0, 3189, 0, 0, 788, 0, 788, 0, 0, 0, 0, 0, 957, 0, 0, 0, 788, 0, 0, 0, 2025, 0, 0, 0, 0, 0, 0, 957, 0, 0, 6547, 0, 957, 0, 0, 925, 3190, 0, 0, 1049, 0, 788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 788, 0, 0, 957, 0, 0, 0, 740, 0, 0, 0, 788, 788, 0, 1405, 788, 0, 3191, 0, 0, 0, 788, 0, 1053, 0, 1112, 0, 0, 0, 0, 1054, 0, 0, 1055, 957, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 957, 0, 1112, 0, 957, 0, 0, 1056, 0, 0, 0, 0, 0, 0, 1407, 0, 0, 0, 788, 0, 1058, 0, 957, 1408, 0, 0, 0, 1060, 0, 423, 382, 0, 0, 0, 0, 3192, 0, 0, 0, 0, 0, 0, 3193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 0, 0, 1537, 740, 0, 0, 0, 0, 957, 957, 1065, 740, 957, 0, 0, 0, 957, 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, 0, 1537, 957, 957, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, 4695, 4696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 1312, 0, 740, 740, 0, 0, 5451, 0, 4, 0, 0, 0, 0, 0, 1312, 0, 740, 1312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 740, 740, 0, 0, 0, 0, 0, 0, 6, 7, 0, 0, 0, 8, 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, 36, 0, 37, 0, 38, 39, 0, 0, 0, 0, 40, 1312, 0, 0, 0, 1312, 1312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 788, 0, 381, 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 2495, 0, 739, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 0, 0, 41, 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 3004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3005, 739, 0, 0, 0, 2495, 0, 3006, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 739, 0, 0, 3004, 4866, 0, 0, 3007, 382, 0, 0, 0, 739, 3005, 0, 0, 0, 0, 0, 0, 3006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 3007, 0, 0, 0, 43, 0, 0, 0, 0, 0, 739, 0, 2495, 0, 0, 2496, 0, 0, 739, 2497, 2498, 2499, 0, 2160, 0, 0, 0, 44, 0, 0, 0, 0, 739, 0, 0, 0, 3004, 0, 0, 0, 0, 1537, 0, 0, 0, 0, 3005, 0, 739, 0, 0, 45, 1537, 3006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1537, 0, 0, 0, 0, 0, 0, 3008, 0, 0, 0, 3007, 3009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 3010, 2683, 0, 0, 0, 5699, 0, 739, 0, 0, 0, 0, 3008, 48, 0, 3011, 0, 3009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 788, 0, 5034, 0, 3010, 2683, 0, 0, 5721, 0, 1156, 0, 739, 0, 1156, 0, 0, 0, 0, 3011, 0, 2735, 1537, 0, 0, 0, 0, 0, 0, 0, 5737, 0, 0, 0, 381, 3012, 0, 0, 3013, 739, 0, 0, 0, 0, 0, 2495, 738, 0, 2496, 788, 788, 739, 2497, 2498, 2499, 0, 3008, 0, 0, 0, 2735, 3009, 0, 0, 0, 0, 0, 0, 49, 3004, 0, 0, 0, 887, 3012, 0, 0, 3013, 0, 3005, 0, 0, 0, 3010, 2683, 0, 3006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 788, 0, 3011, 0, 0, 0, 5765, 739, 739, 0, 0, 0, 0, 0, 0, 0, 3007, 0, 0, 0, 0, 0, 50, 887, 0, 0, 0, 0, 0, 0, 0, 3014, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 2735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 3012, 0, 0, 1537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3014, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 1155, 0, 1155, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1156, 1156, 0, 887, 54, 55, 56, 57, 58, 59, 0, 0, 60, 61, 62, 63, 0, 64, 65, 66, 67, 68, 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, 739, 0, 0, 0, 5849, 0, 3008, 2924, 0, 0, 0, 3009, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 3014, 0, 0, 5885, 0, 0, 0, 0, 3010, 2683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2924, 0, 3011, 0, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 0, 0, 5893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2735, 382, 1481, 788, 0, 788, 0, 0, 0, 0, 0, 0, 0, 0, 3012, 0, 0, 3013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2924, 0, 0, 0, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 788, 0, 0, 788, 788, 382, 0, 382, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 744, 0, 1112, 0, 1112, 0, 0, 0, 740, 0, 744, 0, 0, 0, 788, 0, 0, 0, 0, 0, 0, 3014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 740, 0, 0, 0, 1112, 1112, 0, 0, 0, 0, 0, 0, 3133, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 382, 740, 0, 0, 0, 740, 0, 0, 0, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 788, 0, 788, 0, 740, 5419, 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5421, 0, 1312, 739, 1312, 1312, 0, 739, 0, 0, 3133, 0, 0, 0, 0, 0, 0, 0, 0, 740, 2924, 0, 0, 0, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 740, 740, 5896, 0, 0, 0, 0, 0, 1537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 744, 0, 0, 0, 0, 0, 382, 740, 0, 0, 382, 0, 0, 0, 744, 744, 1537, 0, 1902, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 740, 0, 382, 0, 0, 0, 740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 0, 0, 740, 0, 744, 740, 0, 0, 4843, 0, 0, 740, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 739, 739, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 0, 740, 0, 0, 2160, 2160, 2160, 0, 740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2428, 740, 0, 0, 0, 2428, 2428, 0, 0, 0, 0, 0, 1537, 0, 740, 0, 0, 744, 0, 382, 0, 0, 0, 1537, 0, 740, 381, 381, 381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1537, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 0, 2495, 0, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 0, 0, 0, 0, 0, 0, 0, 2495, 0, 381, 2496, 0, 0, 3004, 2497, 2498, 2499, 381, 382, 0, 0, 0, 0, 3005, 0, 1537, 0, 0, 0, 381, 3006, 3004, 0, 0, 0, 0, 0, 0, 0, 0, 1156, 3005, 0, 0, 0, 0, 1537, 0, 3006, 0, 0, 0, 6275, 0, 0, 0, 3007, 0, 0, 1537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1537, 0, 0, 3007, 0, 0, 0, 0, 0, 0, 1156, 2495, 0, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3004, 0, 0, 0, 0, 1537, 1537, 0, 0, 0, 3005, 0, 0, 0, 0, 0, 0, 3006, 887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1156, 0, 0, 0, 0, 738, 0, 0, 0, 0, 0, 0, 3007, 0, 738, 0, 0, 1156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 788, 0, 788, 0, 3008, 788, 0, 788, 0, 3009, 788, 788, 788, 0, 0, 0, 2394, 0, 738, 0, 0, 0, 3008, 788, 0, 0, 0, 3009, 0, 0, 0, 3010, 2683, 0, 0, 0, 0, 738, 788, 0, 788, 740, 0, 738, 0, 788, 3011, 0, 0, 3010, 2683, 0, 0, 0, 0, 738, 0, 0, 0, 740, 739, 0, 0, 0, 3011, 0, 740, 2160, 5758, 0, 2160, 0, 0, 1312, 0, 1312, 1312, 0, 0, 0, 0, 0, 0, 5762, 738, 0, 0, 2735, 0, 0, 0, 0, 0, 739, 0, 1537, 0, 3008, 0, 738, 0, 3012, 3009, 0, 3013, 2735, 0, 738, 0, 0, 0, 0, 0, 0, 0, 0, 6446, 0, 0, 3012, 0, 738, 3013, 0, 3010, 2683, 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 3011, 382, 0, 0, 0, 0, 0, 382, 2495, 0, 0, 2496, 739, 0, 0, 2497, 2498, 2499, 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 2953, 3004, 0, 0, 5820, 0, 0, 0, 0, 0, 2735, 3005, 788, 788, 0, 0, 0, 0, 3006, 0, 0, 0, 0, 3014, 3012, 0, 0, 3013, 738, 744, 0, 0, 0, 0, 744, 744, 0, 0, 0, 0, 0, 3014, 0, 0, 3007, 0, 0, 0, 0, 0, 0, 0, 2495, 0, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 740, 0, 0, 1155, 0, 738, 0, 1155, 0, 0, 0, 0, 0, 3004, 739, 739, 0, 0, 0, 0, 0, 0, 0, 3005, 0, 0, 0, 0, 739, 0, 3006, 0, 738, 0, 0, 0, 0, 0, 0, 0, 0, 739, 739, 0, 738, 0, 0, 0, 0, 788, 0, 744, 0, 3014, 0, 0, 3007, 0, 0, 0, 2924, 3100, 0, 0, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 2924, 0, 0, 5941, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 3008, 738, 738, 0, 5974, 3009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 740, 740, 0, 0, 0, 0, 0, 3010, 2683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3011, 0, 0, 744, 0, 740, 0, 0, 740, 0, 5947, 0, 5948, 744, 0, 0, 2924, 0, 0, 0, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 3008, 0, 0, 0, 5976, 3009, 0, 0, 2735, 0, 2495, 1155, 1155, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 0, 3012, 0, 0, 3013, 0, 3010, 2683, 0, 0, 0, 0, 0, 0, 0, 0, 887, 381, 0, 0, 0, 3011, 738, 3005, 0, 0, 382, 382, 382, 0, 3006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 744, 0, 0, 744, 744, 0, 0, 0, 0, 740, 0, 0, 0, 0, 3007, 0, 0, 0, 0, 0, 2735, 0, 0, 0, 2007, 0, 0, 0, 740, 0, 2008, 0, 0, 0, 3012, 0, 0, 3013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 740, 0, 3014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2495, 0, 6076, 2496, 0, 0, 0, 2497, 2498, 2499, 2010, 0, 0, 0, 0, 0, 2160, 0, 2495, 0, 0, 2496, 0, 0, 3004, 2497, 2498, 2499, 0, 0, 0, 0, 0, 0, 3005, 0, 0, 0, 0, 0, 0, 3006, 3004, 0, 0, 0, 3848, 0, 0, 744, 0, 0, 3005, 0, 0, 0, 0, 0, 0, 3006, 0, 3014, 0, 3008, 0, 0, 2011, 3007, 3009, 0, 0, 740, 0, 2012, 0, 0, 2013, 0, 0, 0, 0, 0, 0, 738, 0, 3007, 2924, 0, 0, 0, -3512, -3512, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2014, 0, 3011, 0, 6015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, 740, 2495, 740, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 3849, 2015, 0, 740, 0, 740, 0, 0, 0, 0, -3512, 0, 0, 3004, 6197, 0, 6199, 0, 0, 0, 0, 0, 0, 3005, 3012, 2924, 0, 738, 0, 0, 3006, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 738, 0, 3008, 6357, 0, 0, 0, 3009, 0, 0, 0, 0, 3920, 3007, 738, 0, 3133, 3926, 738, 0, 3008, 0, 0, 2112, 0, 3009, 0, 2017, 0, 3010, 2683, 740, 0, 0, 0, 0, 0, 2018, 0, 0, 0, 0, 0, 0, 3011, 0, 2019, 3010, 2683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2020, 788, 0, 788, 3011, 0, 0, 788, 0, 788, 0, 0, 788, 0, 0, 3014, 788, 0, 1537, 0, 0, 2953, 0, 0, 1537, 0, 0, 2735, 0, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 4015, 0, 3012, 2022, 2023, 3013, 2735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 740, 0, 0, 3012, 0, 0, 3013, 0, 0, 1537, 0, 0, 0, 3008, 0, 0, 0, 2024, 3009, 0, 0, 0, 740, 0, 0, 740, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0, 0, 0, 3010, 2683, 738, 738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3011, 0, 2495, 0, 2924, 2496, 0, 0, 0, 2497, 2498, 2499, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 3014, 0, 0, 0, 3004, 0, 0, 0, 2025, 0, 0, 0, 0, 0, 3005, 0, 0, 0, 3014, 2735, 0, 3006, 0, 0, 887, 381, 0, 0, 382, 0, 0, 0, 0, 3012, 0, 0, 3013, 6393, 0, 0, 0, 0, 0, 0, 0, 738, 0, 3007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 887, 381, 0, 381, 0, 0, 2924, 0, 0, 0, 0, 1155, 0, 2160, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 739, 2924, 0, 0, 6379, 0, 0, 0, 3014, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 0, 0, 1537, 739, 0, 0, 0, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6477, 739, 0, 0, 3008, 0, 381, 739, 0, 3009, 0, 739, 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3010, 2683, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 1155, 3011, 740, 0, 0, 0, 0, 0, 0, 0, 3133, 0, 0, 0, 3133, 0, 0, 1155, 0, 0, 0, 0, 0, 2924, 0, 0, 0, 739, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 1156, 0, 2735, 0, 6581, 0, 0, 739, 739, 0, 0, 0, 0, 382, 0, 0, 3012, 0, 382, 3013, 382, 0, 0, 0, 6569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 739, 0, 0, 381, 0, 382, 0, 0, 0, 0, 738, 0, 0, 0, 0, 0, 6583, 6583, 0, 0, 0, 0, 0, 0, 0, 739, 0, 381, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2007, 738, 0, 739, 0, 0, 2008, 0, 1156, 740, 739, 0, 740, 739, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 3014, 0, 1537, 0, 0, 0, 0, 0, 0, 887, 0, 0, 739, 0, 0, 0, 0, 1537, 739, 0, 0, 0, 1537, 0, 2010, 739, 0, 2495, 0, 0, 2496, 0, 738, 0, 2497, 2498, 2499, 0, 0, 739, 738, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 3004, 739, 0, 0, 0, 0, 381, 0, 0, 0, 3005, 0, 739, 0, 0, 0, 0, 3006, 0, 0, 0, 0, 0, 6583, 740, 740, 0, 0, 0, 2011, 0, 0, 0, 0, 0, 740, 2012, 2394, 0, 2013, 0, 0, 0, 3007, 3820, 0, 0, 0, 0, 2924, 0, 0, 740, 0, 3100, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2014, 0, 0, 0, 6599, 0, 381, 0, 0, 0, 0, 738, 738, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0, 0, 0, 0, 0, 0, 2015, 5, 0, 0, 738, 738, 0, 0, 0, 0, 0, 6, 7, 0, 0, 2007, 0, 0, 9, 10, 382, 2008, 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, 740, 37, 0, 38, 39, 0, 0, 0, 3008, 40, 0, 0, 0, 3009, 0, 0, 2112, 2010, 2007, 0, 2017, 0, 0, 0, 2008, 0, 0, 0, 0, 0, 2018, 0, 0, 744, 0, 3010, 2683, 744, 0, 2019, 0, 0, 0, 3905, 0, 1902, 0, 0, 788, 0, 3011, 2020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 3133, 0, 2010, 3926, 0, 3926, 2011, 0, 0, 0, 3133, 0, 0, 2012, 0, 0, 2013, 0, 0, 0, 0, 0, 0, 4193, 2735, 0, 2022, 2023, 0, 0, 744, 0, 0, 0, 0, 0, 0, 0, 3012, 0, 0, 3013, 0, 2014, 0, 739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 887, 0, 4194, 2011, 1537, 0, 0, 0, 739, 0, 2012, 0, 1537, 2013, 0, 739, 0, 0, 0, 0, 0, 42, 2015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3133, 0, 0, 2014, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2495, 0, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 0, 44, 0, 0, 0, 0, 0, 2025, 0, 0, 0, 2015, 3014, 3004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3005, 2112, 45, 381, 0, 2017, 0, 3006, 0, 381, 0, 0, 0, 0, 0, 2018, 0, 0, 0, 740, 0, 1537, 0, 1537, 2019, 0, 0, 0, 0, 0, 0, 0, 0, 3007, 0, 0, 2020, 1535, 0, 0, 0, 46, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 2112, 0, 0, 0, 2017, 0, 0, 744, 740, 0, 1535, 0, 0, 48, 2018, 744, 0, 0, 744, 0, 740, 0, 4707, 2019, 0, 2022, 2023, 0, 0, 0, 744, 0, 0, 0, 0, 2020, 2924, 0, 0, 0, 0, 0, 0, 739, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 740, 0, 4708, 6677, 0, 2495, 0, 0, 2496, 0, 1537, 0, 2497, 2498, 2499, 0, 4509, 0, 0, 0, 4765, 4510, 0, 2022, 2023, 0, 0, 0, 0, 3004, 0, 0, 0, 0, 0, 0, 0, 2160, 0, 3005, 3008, 0, 0, 2160, 0, 3009, 3006, 0, 0, 49, 0, 0, 1537, 0, 4766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3010, 2683, 0, 2025, 0, 3007, 0, 0, 0, 0, 0, 382, 0, 3926, 0, 3011, 0, 0, 0, 2495, 0, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 740, 0, 50, 0, 0, 0, 0, 739, 739, 0, 0, 0, 0, 3004, 0, 0, 0, 0, 51, 0, 0, 0, 0, 3005, 0, 2025, 2735, 0, 0, 0, 3006, 0, 0, 52, 739, 0, 0, 739, 0, 0, 3012, 0, 0, 3013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1537, 0, 0, 3007, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3926, 54, 55, 56, 57, 58, 59, 0, 0, 60, 61, 1585, 2360, 0, 3008, 0, 66, 0, 0, 3009, 0, 0, 740, 0, 1537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 381, 381, 0, 0, 0, 0, 3010, 2683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3011, 4511, 0, 739, 0, 0, 0, 0, 0, 0, 788, 2394, 0, 0, 6532, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3008, 0, 2735, 0, 739, 3009, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2604, 3012, 0, 0, 3013, 0, 0, 0, 0, 0, 1535, 0, 3010, 2683, 0, 0, 0, 1537, 0, 0, 0, 1535, 0, 0, 0, 0, 0, 3011, 0, 5120, 0, 0, 0, 740, 0, 740, 0, 1535, 0, 0, 1537, 0, 0, 0, 0, 0, 0, 2924, 0, 0, 0, -2604, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, -2604, 1537, 0, 0, 2735, 0, -2604, 0, 0, 0, 0, -2604, 739, 0, 0, 0, 740, -2604, 3012, 0, -2604, 3013, 0, 0, -2604, 0, 1312, 0, 2495, 3014, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 738, 0, 0, 0, 0, 0, 6533, 0, 5121, 0, 0, 0, 0, 0, 3004, -2604, 0, 4466, 0, 0, 0, 381, 0, 738, 3005, 0, 1535, 739, 382, 739, 0, 3006, 0, 1312, 0, -2604, 0, 0, 0, 0, 0, 738, 739, 0, 739, 0, 887, 738, 0, 0, 0, 738, 0, 0, 0, 0, 0, 3007, 0, 0, 738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3100, 0, 3014, 0, 0, 744, 0, 0, 738, 0, 0, 0, 0, 0, -2604, 0, 0, -2604, 0, 0, 0, 2924, 0, -2604, 0, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 0, 0, 738, 739, 0, 0, 0, 0, 3133, 0, 0, 0, 0, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 738, 738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 887, 738, 0, 0, 887, 0, 0, 0, 3008, 2924, 0, 739, 0, 3009, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 738, 0, 887, 0, 0, 0, 738, 739, 0, 3010, 2683, 0, 0, 0, 0, 0, 1126, 0, 0, 3926, 738, 0, 0, 0, 3011, 1155, 0, 738, 0, 739, 738, 0, 739, 0, 0, 0, 738, 0, 0, 0, 0, 0, 0, 0, -2604, 3926, 0, 740, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0, 0, 740, 738, 0, 0, 2735, 0, 0, -2604, 738, -2604, -2604, 0, 0, 0, 0, 0, 0, 0, 3012, 0, 0, 3013, 738, 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, 738, 0, 0, 0, 0, 887, 0, 0, 0, 0, 0, 738, 0, 0, -2604, 0, 381, -2604, -2604, 0, -2604, 0, 0, 0, 0, 0, 0, 0, 2979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 955, 0, 0, 0, 887, 0, 0, 0, 3014, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 895, 1537, 0, 0, 6, 7, 0, 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, 1159, 3926, 40, 0, 3133, 0, 0, 0, 1159, 0, 1159, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0, 0, 0, 895, 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, 740, 0, 2924, 0, 0, 0, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 739, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, 381, 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 1535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 788, 0, 381, 42, 0, 0, 738, 382, 0, 0, 0, 0, 0, 738, 0, 0, 0, 0, 0, 1537, 0, 0, 1535, 43, 0, 0, 0, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 44, 0, 739, 788, 0, 739, 0, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 887, 0, 0, 0, 0, 0, 887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 47, 0, 0, 0, 0, 1312, 1312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 48, 0, 0, 0, 0, 0, 744, 739, 739, 1535, 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, 1537, 0, 0, 0, 0, 1535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 1537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 2495, 50, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 0, 0, 1537, 0, 0, 0, 51, 0, 0, 0, 0, 738, 738, 3004, 1535, 1535, 0, 0, 0, 0, 0, 52, 0, 3005, 0, 0, 0, 0, 0, 0, 3006, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 382, 0, 0, 3007, 0, 0, 0, 0, 0, 3905, 0, 54, 55, 56, 57, 58, 59, 0, 0, 60, 61, 1585, 3589, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 1312, 887, 887, 887, 0, 0, 0, 0, 0, 382, 5847, 0, 1537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2495, 0, 0, 2496, 738, 0, 0, 2497, 2498, 2499, 744, 1535, 0, 0, 0, 0, 0, 3008, 0, 0, 0, 0, 3009, 0, 3004, 738, 0, 4514, 0, 0, 0, 0, 0, 4, 3005, 0, 744, 0, 0, 0, 1526, 3006, 0, 0, 3010, 2683, 0, 0, 0, 0, 744, 0, 5, 0, 0, 0, 739, 0, 0, 3011, 0, 744, 6, 7, 0, 0, 1526, 3007, 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, 739, 0, 2735, 37, 0, 38, 39, 0, 0, 0, 0, 40, 739, 0, 738, 0, 3012, 0, 0, 3013, 0, 0, 0, 0, 0, 0, 0, 0, 895, 0, 0, 0, 0, 0, 0, 0, 955, 0, 4482, 0, 0, 0, 0, 0, 0, 955, 739, 0, 0, 0, 0, 0, 0, 955, 0, 0, 955, 0, 0, 0, 0, 887, 0, 0, 0, 0, 0, 738, 41, 738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3926, 738, 3008, 738, 0, 0, 0, 3009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3014, 0, 3010, 2683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 3011, 0, 0, 0, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, 42, 0, 0, 2495, 0, 0, 2496, 0, 738, 0, 2497, 2498, 2499, 0, 955, 0, 0, 0, 0, 1538, 43, 2735, 0, 955, 0, 0, 0, 3004, 0, 0, 955, 0, 0, 955, 0, 3012, 0, 3005, 3013, 0, 0, 0, 0, 44, 3006, 1538, 0, 0, 0, 0, 0, 744, 0, 0, 0, 0, 3926, 0, 0, 0, 0, 0, 0, 2924, 0, 0, 0, 45, 0, 738, 3007, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 47, 0, 0, 0, 738, 0, 0, 738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3014, 1537, 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, 955, 955, 0, 0, 0, 1526, 0, 1159, 0, 0, 0, 1159, 0, 0, 0, 0, 1526, 0, 0, 0, 0, 0, 0, 1537, 0, 0, 0, 0, 1537, 1537, 3008, 0, 1526, 0, 0, 3009, 0, 0, 955, 0, 0, 0, 887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3100, 0, 0, 0, 0, 3010, 2683, 0, 0, 0, 739, 0, 739, 0, 0, 49, 0, 0, 0, 0, 3011, 2924, 0, 0, 0, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 2735, 0, 0, 0, 50, 0, 0, 0, 0, 0, 1526, 0, 0, 0, 3012, 0, 0, 3013, 0, 0, 51, 0, 0, 0, 744, 0, 0, 0, 5847, 1537, 744, 0, 0, 0, 744, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 2495, 0, 0, 2496, 0, 1159, 1159, 2497, 2498, 2499, 0, 54, 55, 56, 57, 58, 59, 0, 0, 60, 61, 1585, 0, 0, 3004, 0, 66, 0, 0, 955, 955, 895, 0, 0, 3005, 0, 0, 0, 738, 3014, 0, 3006, 955, 0, 0, 0, 0, 1538, 955, 0, 0, 0, 955, 0, 955, 0, 0, 0, 1538, 0, 0, 1535, 0, 0, 0, 1535, 1535, 3007, 0, 0, 0, 5074, 0, 0, 1538, 0, 0, 1526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 887, 0, 0, 0, 0, 887, 0, 887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 955, 955, 887, 0, 0, 0, 0, 1535, 0, 0, 0, 0, 0, 1535, 0, 0, 0, 0, 0, 0, 0, 2924, 0, 0, 0, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 0, 0, 0, 0, 4519, 0, 0, 1538, 738, 0, 0, 738, 0, 0, 1535, 0, 0, 0, 0, 0, 0, 0, 0, 3008, 0, 0, 0, 0, 3009, 739, 0, 0, 0, 0, 1537, 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 3010, 2683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3011, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 738, 0, 0, 0, 2735, 0, 0, 0, 0, 0, 738, 0, 0, 0, 0, 0, 0, 0, 3012, 0, 0, 3013, 0, 0, 0, 0, 0, 738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 2495, 788, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1526, 3004, 955, 0, 4526, 0, 0, 0, 0, 0, 0, 3005, 3014, 0, 0, 0, 0, 0, 3006, 0, 0, 1535, 0, 0, 0, 0, 738, 0, 0, 0, 955, 955, 955, 0, 955, 0, 0, 0, 0, 0, 744, 0, 0, 0, 3007, 0, 0, 0, 0, 381, 0, 739, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0, 1535, 0, 0, 0, 0, 0, 0, 1526, 0, 0, 0, 0, 0, 0, 2924, 0, 0, 0, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 0, 955, 0, 788, 0, 955, 955, 1526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 2007, 381, 3008, 0, 0, 0, 2008, 3009, 0, 0, 0, 0, 0, 2070, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 3010, 2683, 0, 0, 0, 0, 2071, 0, 0, 0, 0, 0, 0, 2160, 0, 3011, 0, 0, 0, 0, 0, 0, 2010, 739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 0, 0, 0, 0, 0, 895, 0, 0, 0, 0, 0, 1535, 0, 0, 0, 0, 1159, 0, 2735, 2072, 0, 0, 0, 0, 0, 1526, 1535, 0, 0, 0, 738, 1535, 3012, 0, 0, 3013, 1526, 0, 0, 0, 2011, 0, 0, 0, 0, 0, 0, 2012, 0, 0, 2013, 0, 1526, 0, 0, 0, 0, 1159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 0, 0, 0, 0, 738, 0, 0, 0, 0, 2014, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0, 0, 0, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, 1538, 1526, 0, 0, 2073, 0, 0, 2015, 0, 1159, 0, 0, 0, 0, 738, 0, 0, 0, 0, 0, 3014, 0, 1526, 0, 0, 0, 1159, 0, 0, 0, 0, 0, 0, 1538, 0, 1526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 0, 0, 0, 0, 2074, 0, 0, 0, 2075, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2076, 0, 0, 0, 2017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2018, 1526, 1526, 0, 0, 0, 887, 0, 744, 2019, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2077, 2020, 0, 0, 0, 738, 0, 0, 955, 955, 955, 0, 0, 0, 2924, 0, 0, 0, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 0, 0, 0, 0, 1538, 0, 0, 2078, 0, 0, 2022, 2023, 2079, 0, 0, 1538, 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, 895, 0, 0, 0, 1538, 0, 1535, 0, 2080, 1535, 0, 1535, 0, 0, 2081, 0, 1535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2082, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 0, 0, 0, 0, 381, 0, 0, 1535, 0, 0, 0, 0, 0, 1526, 955, 1535, 0, 955, 0, 0, 1538, 0, 0, 0, 2025, 0, 0, 955, 0, 0, 0, 0, 0, 1538, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0, 0, 1538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 1538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 738, 0, 0, 1535, 0, 1535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 83, 0, 0, 0, 87, 0, 88, 0, 90, 91, 955, 0, 0, 0, 955, 955, 0, 0, 738, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 955, 0, 0, 0, 0, 955, 955, 0, 0, 0, 0, 0, 955, 955, 955, 0, 887, 955, 0, 955, 1535, 955, 955, 955, 955, 955, 955, 0, 0, 955, 121, 955, 955, 0, 0, 955, 0, 0, 0, 0, 122, 0, 123, 124, 0, 0, 0, 0, 0, 1538, 955, 955, 955, 0, 0, 0, 0, 0, 0, 0, 1236, 0, 1535, 0, 0, 0, 0, 955, 0, 895, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 0, 136, 137, 0, 0, 0, 0, 1535, 140, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 0, 148, 0, 0, 151, 0, 2495, 0, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 0, 0, 152, 0, 153, 0, 0, 0, 154, 0, 0, 0, 0, 3004, 155, 0, 5127, 0, 0, 0, 1535, 0, 157, 3005, 159, 0, 0, 0, 0, 0, 3006, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, 3007, 0, 0, 0, 0, 0, 0, 0, 0, 169, 1535, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0, 0, 0, 0, 180, 181, 0, 0, 0, 955, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 0, 0, 0, 887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2495, 189, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 3004, 0, 0, 1535, 3008, 0, 0, 0, 0, 3009, 3005, 0, 0, 0, 0, 0, 0, 3006, 0, 0, 0, 199, 0, 0, 0, 0, 1535, 0, 0, 0, 0, 3010, 2683, 0, 0, 201, 0, 0, 0, 0, 0, 202, 203, 3007, 204, 0, 3011, 0, 0, 205, 0, 1535, 0, 0, 0, 206, 0, 0, 208, 0, 0, 0, 0, 0, 0, 210, 2495, 0, 0, 2496, 0, 211, 212, 2497, 2498, 2499, 0, 0, 0, 213, 0, 0, 0, 215, 0, 0, 0, 2735, 0, 0, 3004, 0, 0, 218, 0, 0, 0, 0, 0, 0, 3005, 3012, 0, 0, 3013, 0, 0, 3006, 220, 0, 0, 0, 5583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 227, 0, 0, 3007, 0, 0, 0, 0, 887, 229, 738, 0, 0, 0, 0, 230, 0, 0, 1526, 0, 231, 0, 1526, 1526, 0, 0, 0, 3008, 0, 0, 0, 0, 3009, 234, 0, 0, 0, 0, 0, 0, 0, 0, 955, 955, 955, 955, 955, 955, 955, 955, 955, 0, 955, 0, 3010, 2683, 246, 0, 0, 0, 0, 0, 955, 3014, 0, 955, 0, 0, 0, 3011, 0, 0, 0, 0, 247, 0, 1535, 0, -149, 0, 0, 0, 1526, 0, 0, 0, 0, 0, 1526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2735, 0, 0, 0, 0, 0, 887, 3008, 0, 0, 0, 955, 3009, 0, 3012, 955, 0, 3013, 955, 1526, 955, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 3010, 2683, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 955, 955, 3011, 0, 0, 0, 2924, 0, 0, 1535, 738, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 2495, 0, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 1535, 0, 0, 0, 0, 0, 0, 0, 2735, 0, 0, 0, 0, 3004, 0, 0, 0, 0, 0, 0, 0, 0, 3012, 3005, 3014, 3013, 0, 0, 0, 0, 3006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 0, 0, 0, 1538, 1538, 0, 0, 3007, 0, 0, 0, 0, 0, 0, 2495, 895, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3004, 0, 0, 0, 0, 738, 0, 0, 0, 0, 3005, 0, 955, 0, 0, 0, 0, 3006, 0, 0, 0, 0, 0, 955, 0, 1538, 955, 3014, 955, 955, 0, 1538, 0, 0, 0, 0, 0, 2924, 0, 0, 0, 0, 0, 3007, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 1535, 1159, 1526, 0, 0, 0, 0, 0, 0, 5581, 0, 0, 0, 0, 0, 0, 0, 1538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3008, 0, 0, 0, 0, 3009, 0, 0, 0, 0, 0, 895, 0, 0, 0, 895, 0, 0, 0, 0, 0, 1535, 0, 0, 1535, 0, 0, 3010, 2683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 895, 0, 0, 3011, 0, 2924, 0, 0, 1526, 0, 0, 5582, 1526, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 1159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3008, 0, 0, 0, 0, 3009, 0, 0, 0, 2735, 887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3012, 0, 0, 3013, 3010, 2683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 887, 0, 0, 0, 0, 895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 887, 0, 0, 0, 0, 2735, 0, 0, 0, 0, 955, 955, 955, 0, 0, 0, 955, 0, 0, 3012, 1535, 0, 3013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 3014, 0, 0, 0, 0, 0, 955, 1538, 0, 0, 0, 0, 0, 1526, 0, 895, 0, 0, 1526, 2495, 0, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3004, 0, 0, 0, 0, 955, 0, 0, 0, 0, 3005, 0, 0, 0, 0, 0, 0, 3006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3014, 0, 0, 0, 0, 0, 1538, 0, 0, 0, 1538, 0, 3007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2924, 0, 0, 0, 0, 0, 955, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 1535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 2495, 0, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 0, 0, 0, 0, 0, 0, 2924, 0, 0, 0, 1535, 0, 0, 3004, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 3005, 0, 0, 0, 0, 0, 0, 3006, 0, 3008, 0, 0, 0, 0, 3009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 0, 0, 0, 3007, 0, 0, 3010, 2683, 0, 0, 0, 0, 955, 0, 1538, 955, 0, 955, 955, 1538, 0, 3011, 0, 0, 0, 0, 0, 955, 0, 1535, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 0, 1526, 0, 1526, 0, 0, 0, 0, 1526, 0, 0, 0, 0, 0, 955, 955, 955, 0, 2735, 955, 0, 0, 0, 0, 0, 0, 0, 955, 955, 955, 955, 0, 3012, 0, 0, 3013, 0, 0, 895, 0, 0, 0, 0, 955, 895, 0, 955, 0, 955, 6109, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 955, 955, 0, 0, 955, 0, 1526, 0, 0, 0, 0, 0, 0, 0, 3008, 0, 0, 0, 0, 3009, 0, 0, 0, 955, 0, 955, 0, 955, 0, 0, 0, 1526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3010, 2683, 0, 0, 0, 0, 955, 1535, 0, 0, 0, 0, 0, 0, 0, 3011, 0, 955, 80, 0, 0, 0, 0, 83, 3014, 0, 0, 87, 0, 88, 0, 90, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 2735, 0, 112, 113, 1526, 0, 1526, 955, 0, 0, 0, 0, 0, 0, 3012, 0, 0, 3013, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5934, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 123, 124, 0, 1538, 0, 0, 1538, 2924, 1538, 0, 0, 0, 0, 1538, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 1526, 135, 0, 136, 137, 0, 3014, 0, 0, 0, 140, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 143, 0, 144, 0, 0, 0, 0, 1538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 1526, 148, 0, 0, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 0, 0, 1535, 0, 152, 0, 153, 0, 0, 0, 154, 0, 0, 1526, 0, 0, 6085, 0, 0, 0, 0, 0, 0, 0, 157, 0, 159, 0, 0, 0, 0, 0, 0, 161, 0, 895, 895, 895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2924, 165, 0, 0, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 169, 0, 1538, 0, 1538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 180, 181, 0, 0, 0, 0, 182, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0, 0, 183, 0, 1526, 2495, 0, 0, 2496, 0, 0, 0, 2497, 2498, 2499, 0, 0, 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, 3004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3005, 1538, 0, 0, 0, 0, 0, 3006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 0, 0, 955, 0, 1535, 0, 0, 3007, 955, 0, 0, 0, 0, 201, 0, 0, 0, 1538, 0, 202, 203, 0, 204, 0, 0, 0, 0, 205, 0, 0, 4991, 0, 0, 206, 0, 0, 208, 0, 0, 0, 0, 0, 1526, 210, 895, 1538, 0, 0, 0, 211, 212, 0, 0, 1535, 0, 0, 0, 213, 1535, 1535, 0, 215, 0, 0, 0, 1526, 0, 0, 0, 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 955, 0, 0, 1526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 227, 0, 0, 0, 0, 0, 0, 1538, 0, 229, 0, 0, 0, 3008, 0, 230, 0, 0, 3009, 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 0, 0, 0, 234, 0, 0, 0, 0, 0, 0, 3010, 2683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 0, 3011, 246, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0, -149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3012, 0, 0, 3013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 1538, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 955, 0, 955, 0, 0, 955, 0, 0, 0, 1538, 955, 955, 955, 955, 0, 0, 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, 0, 0, 0, 955, 955, 955, 3014, 0, 1538, 0, 0, 0, 0, 955, 0, 0, 0, 0, 955, 0, 895, 0, 955, 0, 0, 0, 0, 0, 0, 0, 955, 1526, 0, 955, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 955, 955, 0, 0, 0, 955, 955, 0, 0, 1526, 0, 2007, 955, 0, 0, 0, 0, 2008, 0, 0, 0, 0, 955, 0, 2070, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2071, 0, 0, 0, 1535, 0, 0, 0, 0, 0, 0, 0, 2924, 0, 969, 0, 2010, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 0, 0, 0, 970, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2072, 0, 955, 0, 0, 0, 971, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 972, 0, 2011, 1031, 0, 0, 0, 0, 1032, 2012, 0, 955, 2013, 0, 0, 0, -872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 973, 1526, 0, 0, 0, 2014, 974, 0, 0, 0, 0, 0, 1033, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 975, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 0, 976, 2073, 0, 0, 2015, 0, 1035, 0, 0, 977, 0, 0, 0, 0, 895, 1526, 0, 0, 1526, 895, 1538, 895, 978, 0, 1036, 0, 0, 0, 0, 0, 979, 0, 0, 0, 980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 895, 1538, 0, 1037, 0, 2074, 0, 0, -1080, 2075, 0, 0, 0, 0, 1038, 0, 0, 0, 0, 0, 0, 0, 0, 1039, 2076, 0, 0, 0, 2017, 0, 0, 0, 0, 0, 0, 0, 1040, 0, 2018, 0, 0, 1041, 0, 0, 0, 981, 0, 2019, 1042, 0, 0, 0, 0, 0, 0, -608, 0, 0, 2077, 2020, 0, 0, 0, 0, 0, 0, 0, 1043, 0, 0, 0, 0, 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, 4123, 983, 0, 2022, 2023, 2079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 1044, 0, 0, 0, 0, 0, 984, 1526, 0, 0, 0, 0, 2080, 0, 0, 0, 0, 0, 4124, 0, 985, 0, 0, 0, 0, 0, 0, -468, 0, 1538, 0, 0, 2082, 0, 0, 0, 0, 0, 0, 0, 0, 1045, 0, 955, 955, 0, 0, 986, 0, 0, 0, 0, 0, 0, 1046, 0, 987, 0, 0, 0, 0, 0, 0, -468, 0, 1047, 988, 0, 0, 0, 0, 0, 0, 0, 0, 925, 1048, 0, 1538, 1049, 0, 1538, 955, 955, 0, 989, 2025, 0, 0, 0, 0, 0, 990, 955, 0, 0, 0, 0, -468, 0, 0, 991, 992, 0, 993, 994, 1050, 0, 0, 1051, 0, 0, 0, 1052, 0, 1053, 0, 0, 0, 0, 995, 0, 1054, 0, 0, 1055, 0, 996, 0, 0, 997, 0, 0, 998, 0, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 1056, 0, -468, 0, 0, 0, 909, 1057, 0, 0, 0, 0, 0, 1058, 0, 0, 1059, 0, 0, 0, 1060, 0, 0, 0, 0, 0, 0, 0, 1061, 0, 1062, 0, 955, 0, 0, 1063, 1526, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 1064, 0, 0, 0, 0, 0, 0, 0, 0, 910, 1526, 0, 0, 1065, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 911, 955, 0, 0, 0, 0, 0, 0, 0, 955, 955, 0, 1538, 0, 0, 0, 955, 955, 912, 0, 0, 955, 0, 0, 913, 955, 0, 0, 955, 955, 0, 0, 0, 955, 0, 0, 0, 0, 0, 955, 0, 0, 914, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 915, 0, 0, 0, 1526, 0, 955, 0, 0, 916, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 917, 0, 0, 0, 0, 918, 0, 0, 0, 0, 0, 0, 919, 0, 0, 0, 0, 0, 953, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 955, 0, 920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1121, 0, 0, 0, 955, 0, 921, 0, 0, 0, 0, 0, 0, 0, 0, 1123, 0, 0, 0, 0, 0, 0, 1538, 0, 1131, 0, 0, 0, 922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1145, 0, 1121, 0, 0, 0, 1168, 0, 0, 0, 0, 0, 0, 0, 0, 1526, 1201, 0, 0, 0, 0, 1538, 0, 0, 0, 1206, 0, 0, 0, 0, 923, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 925, 926, 955, 0, 927, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 929, 0, 0, 0, 930, 0, 931, 0, 0, 0, 0, 0, 0, 932, 0, 0, 933, 1538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 935, 955, 0, 0, 0, 936, 937, 0, 0, 938, 0, 0, 0, 939, 0, 0, 0, 955, 0, 0, 0, 0, 895, 940, 0, 0, 0, 0, 941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 942, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 943, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 0, 1538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 955, 0, 0, 955, 955, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 955, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 0, 955, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 955, 0, 0, 955, 955, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 0, 0, 0, 1526, 1526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 895, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 1538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 955, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 955, 0, 0, 0, 955, 0, 0, 0, 0, 0, 1538, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 0, 0, 0, 0, 1538, 1538, 0, 0, 0, 955, 0, 0, 0, 0, 0, 955, 955, 0, 953, 1301, 1301, 0, 0, 1301, 0, 0, 0, 1313, 0, 1201, 0, 0, 1340, 0, 0, 1313, 0, 0, 1313, 0, 0, 1201, 0, 1301, 0, 0, 1201, 0, 0, 0, 1301, 955, 1201, 0, 0, 0, 0, 0, 0, 955, 0, 0, 895, 0, 0, 0, 0, 0, 0, 0, 0, 1393, 0, 0, 0, 0, 0, 1201, 0, 1301, 0, 1301, 0, 0, 1301, 0, 0, 955, 0, 0, 0, 1340, 0, 0, 0, 0, 1450, 0, 1301, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1538, 1538, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 953, 0, 955, 0, 0, 0, 0, 0, 955, 1313, 0, 955, 0, 1340, 955, 0, 1313, 0, 0, 1313, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 955, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 1772, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 1201, 0, 0, 1528, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 955, 955, 955, 0, 0, 0, 0, 0, 1201, 955, 895, 0, 0, 1538, 0, 0, 0, 0, 955, 0, 955, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 1301, 1301, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 1528, 0, 0, 0, 0, 0, 0, 955, 955, 0, 0, 0, 0, 955, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 1772, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 953, 0, 1301, 0, 0, 0, 1313, 0, 0, 1340, 1313, 0, 1313, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 955, 1201, 0, 0, 0, 0, 0, 1301, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 1201, 1201, 0, 1301, 955, 953, 0, 953, 953, 955, 0, 0, 0, 0, 2265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 1301, 1301, 0, 0, 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 955, 955, 0, 0, 955, 0, 0, 0, 955, 0, 0, 0, 895, 0, 0, 0, 0, 1528, 0, 0, 0, 955, 955, 0, 0, 0, 0, 2399, 0, 2399, 0, 895, 0, 1201, 0, 1121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 2437, 0, 0, 1201, 0, 0, 2443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 1772, 1772, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 1772, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 1201, 1201, 3063, 0, 1772, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 3206, 0, 0, 0, 0, 0, 0, 0, 1301, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 3234, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 1528, 0, 0, 0, 0, 0, 1340, 0, 1201, 0, 0, 0, 0, 0, 3300, 3300, 0, 0, 3300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 1301, 1301, 1301, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 1772, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 1528, 0, 1301, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 3300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 1301, 1301, 1301, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 953, 0, 0, 953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1313, 1313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1340, 1340, 0, 0, 1313, 0, 0, 1313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 1301, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2399, 0, 0, 0, 0, 0, 0, 1301, 0, 1313, 0, 0, 3630, 1313, 1313, 0, 1201, 1201, 0, 1301, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 1121, 1121, 0, 0, 3666, 0, 0, 0, 1772, 1772, 0, 0, 0, 0, 1772, 1772, 0, 0, 0, 0, 0, 1772, 1772, 1772, 0, 0, 1772, 0, 1772, 1340, 1772, 1772, 1772, 1772, 1772, 1772, 0, 0, 1772, 0, 1772, 1772, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 1772, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 1528, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 1772, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 1772, 0, 0, 1301, 1772, 0, 0, 1772, 0, 1772, 0, 0, 1772, 0, 0, 0, 1201, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 3885, 0, 3890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1121, 0, 1121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 953, 0, 0, 1313, 1340, 1313, 1313, 0, 0, 1301, 0, 0, 1201, 0, 0, 0, 0, 1528, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3234, 0, 0, 0, 0, 0, 0, 0, 4023, 1201, 0, 0, 0, 0, 0, 4034, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 1201, 1201, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4177, 0, 4180, 4182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 1772, 1772, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 1772, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3234, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 4282, 0, 0, 1121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 4295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 4317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 1301, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 1528, 0, 1528, 0, 2399, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 953, 1301, 0, 1313, 0, 1313, 1313, 1528, 1301, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 1772, 1772, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 1772, 1772, 1772, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 1772, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 1772, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 1528, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 1340, 0, 1772, 0, 1772, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 4588, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4588, 0, 0, 0, 4644, 0, 0, 4647, 4588, 0, 3890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 1772, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 1201, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2399, 1201, 1201, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3630, 5045, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 1201, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 1528, 0, 0, 0, 0, 0, 0, 1772, 0, 1772, 0, 0, 1772, 0, 0, 0, 0, 1772, 1772, 1772, 1772, 0, 0, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 0, 0, 0, 1772, 1772, 1772, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 1529, 0, 0, 1772, 0, 0, 0, 1772, 0, 0, 0, 1529, 0, 0, 0, 1772, 0, 0, 1772, 0, 1772, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 1772, 0, 0, 1772, 1772, 0, 0, 0, 1772, 1772, 0, 0, 0, 5151, 0, 1772, 0, 0, 0, 0, 0, 0, 1201, 1201, 1201, 953, 0, 0, 4588, 5173, 0, 0, 0, 5173, 5187, 5173, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3890, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5249, 2399, 2399, 0, 0, 2399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3234, 5281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 1772, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 5439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 4588, 4295, 0, 0, 0, 0, 0, 0, 4177, 1528, 0, 0, 0, 0, 0, 0, 0, 5489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 1772, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2399, 1201, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4381, 4381, 4381, 4381, 4381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 1772, 0, 0, 0, 0, 0, 1529, 0, 1772, 1772, 0, 0, 0, 0, 0, 1772, 1772, 0, 0, 0, 1772, 0, 0, 0, 1772, 0, 0, 1772, 1772, 0, 0, 0, 1772, 5615, 0, 0, 0, 0, 1772, 1201, 1201, 1201, 1201, 1529, 0, 0, 5173, 5187, 5173, 0, 1772, 5173, 0, 0, 5629, 0, 0, 0, 4588, 0, 951, 0, 4588, 0, 0, 0, 0, 0, 5644, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1340, 0, 1528, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 4644, 0, 0, 0, 1772, 0, 3890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1121, 0, 0, 1772, 0, 0, 0, 1157, 0, 0, 0, 0, 0, 0, 0, 1157, 0, 1157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5720, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 1531, 1529, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 1531, 0, 0, 0, 0, 1528, 0, 0, 0, 1529, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 953, 0, 0, 0, 0, 0, 0, 3234, 0, 0, 0, 0, 0, 0, 0, 0, 2399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4295, 1529, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 4317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 5861, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 1772, 0, 0, 1772, 1772, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 1772, 1772, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 953, 0, 0, 5173, 0, 0, 0, 4588, 0, 0, 0, 0, 4588, 0, 0, 4588, 953, 0, 4177, 0, 5916, 0, 0, 1772, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 1528, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5249, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5249, 1340, 1301, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1313, 1340, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 1313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5439, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 3234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 5489, 0, 0, 6064, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 1201, 5249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 1772, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 4588, 0, 0, 0, 5916, 0, 0, 1772, 0, 6149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 951, 0, 0, 1772, 0, 0, 0, 0, 0, 1772, 1772, 0, 0, 0, 1301, 1301, 1301, 1301, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 4588, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 1201, 1536, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 951, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 1772, 0, 0, 0, 0, 0, 1772, 0, 0, 953, 0, 0, 1772, 0, 0, 0, 6314, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2399, 0, 0, 0, 0, 5249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2399, 0, 1340, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2399, 2399, 951, 951, 0, 0, 0, 0, 0, 1157, 0, 0, 0, 1157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 1529, 0, 0, 0, 1529, 1529, 0, 0, 951, 0, 0, 0, 0, 0, 6407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5861, 0, 0, 0, 0, 0, 0, 0, 1772, 1772, 1772, 0, 0, 0, 4177, 0, 1529, 1772, 0, 0, 0, 0, 1529, 0, 0, 0, 1772, 0, 1772, 0, 1772, 6149, 0, 0, 0, 0, 0, 0, 0, 3890, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 1313, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 2399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3234, 0, 0, 0, 1157, 1157, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5249, 1531, 0, 0, 0, 0, 0, 0, 1313, 1313, 6525, 951, 951, 0, 1772, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 951, 0, 0, 1772, 0, 1536, 951, 6314, 0, 0, 951, 0, 951, 1772, 0, 0, 1536, 0, 2399, 2399, 6557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6407, 1301, 1301, 0, 0, 0, 5249, 0, 951, 0, 951, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 953, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 1772, 6611, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 6647, 6648, 953, 6651, 0, 3890, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 1301, 0, 0, 5249, 0, 1529, 0, 1531, 951, 1529, 0, 0, 0, 0, 6314, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 4644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 953, 0, 0, 1772, 0, 0, 0, 953, 0, 0, 0, 1531, 1531, 0, 0, 1536, 0, 0, 0, 0, 1313, 1313, 0, 0, 6713, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 951, 951, 951, 0, 951, 0, 0, 0, 1529, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 951, 951, 0, 0, 0, 0, 81, 82, 0, 84, 85, 86, 0, 0, 0, 89, 951, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 0, 0, 0, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 0, 0, 0, 0, 0, 114, 115, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 118, 0, 119, 0, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 128, 129, 130, 131, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 1157, 0, 138, 0, 139, 0, 0, 0, 1529, 0, 1536, 1529, 142, 1529, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 150, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 1157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 156, 0, 1157, 0, 1529, 0, 0, 0, 158, 1536, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 163, 0, 164, 1529, 0, 0, 0, 0, 0, 166, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 171, 0, 0, 0, 0, 0, 172, 0, 173, 0, 0, 174, 175, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 0, 179, 0, 951, 951, 951, 0, 0, 0, 0, 0, 0, 1529, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 185, 186, 0, 0, 0, 1536, 0, 0, 0, 187, 188, 0, 0, 0, 0, 190, 1536, 0, 191, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 193, 194, 0, 195, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, 0, 0, 0, 209, 951, 0, 0, 951, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 214, 1536, 0, 216, 0, 1529, 217, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 951, 951, 0, 221, 0, 0, 0, 1529, 0, 0, 0, 222, 223, 0, 0, 951, 0, 224, 951, 225, 0, 0, 0, 0, 0, 0, 0, 1536, 1536, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 951, 951, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 3895, 1531, 0, 0, 0, 1531, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 951, 951, 0, 0, 0, 0, 951, 951, 0, 0, 0, 0, 0, 951, 951, 951, 0, 0, 951, 0, 951, 0, 951, 951, 951, 951, 951, 951, 0, 0, 951, 0, 951, 951, 0, 0, 951, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 1531, 0, 1536, 951, 951, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 1529, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 951, 951, 951, 951, 951, 951, 951, 951, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 951, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 1529, 0, 951, 0, 0, 951, 0, 951, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 951, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 1536, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 1536, 951, 0, 951, 951, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1157, 0, 1531, 0, 0, 1531, 0, 1531, 0, 0, 0, 0, 1531, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1157, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 1531, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 951, 951, 951, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 1536, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 1529, 0, 0, 0, 0, 1531, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 1536, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 951, 0, 1536, 951, 0, 951, 951, 1536, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 951, 951, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 951, 951, 951, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 951, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 951, 0, 0, 951, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 951, 0, 951, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 951, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 1531, 951, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 1536, 0, 0, 1536, 1529, 1536, 1532, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 1529, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 1536, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 1536, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 1532, 0, 951, 0, 951, 0, 0, 951, 0, 0, 0, 1536, 951, 951, 951, 951, 0, 0, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 0, 0, 0, 951, 951, 951, 0, 0, 1536, 0, 0, 0, 0, 951, 0, 0, 0, 0, 951, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 951, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 951, 951, 0, 0, 0, 951, 951, 0, 0, 1531, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 956, 0, 0, 0, 1531, 0, 0, 0, 0, 956, 0, 1532, 0, 0, 0, 0, 0, 956, 0, 0, 956, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 1532, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 1531, 0, 1539, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 956, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 1536, 951, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 951, 951, 0, 1536, 0, 0, 0, 951, 951, 0, 0, 0, 951, 0, 0, 0, 951, 0, 0, 951, 951, 1531, 0, 0, 951, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 956, 956, 0, 951, 0, 0, 0, 0, 0, 0, 0, 951, 0, 956, 0, 951, 0, 0, 1539, 956, 0, 0, 0, 956, 0, 956, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 951, 0, 0, 0, 0, 0, 1531, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 956, 0, 956, 956, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 1531, 0, 0, 0, 0, 1531, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 1536, 0, 0, 0, 0, 0, 956, 956, 956, 0, 956, 0, 0, 0, 0, 1532, 0, 0, 0, 1532, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 951, 0, 0, 951, 951, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 951, 951, 0, 0, 951, 0, 0, 0, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 956, 951, 0, 0, 956, 956, 0, 0, 951, 0, 0, 0, 0, 951, 0, 0, 951, 951, 1532, 0, 956, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 1536, 0, 0, 0, 0, 1532, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 951, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 951, 0, 0, 0, 951, 0, 0, 0, 0, 0, 1536, 951, 0, 0, 0, 0, 1532, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 956, 956, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 1536, 0, 0, 0, 0, 1536, 1536, 0, 1539, 0, 951, 0, 0, 0, 0, 0, 951, 951, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 956, 0, 0, 956, 0, 1532, 1539, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 1539, 1532, 0, 0, 0, 0, 1532, 1536, 1536, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 956, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 951, 956, 0, 951, 956, 0, 951, 0, 0, 0, 0, 0, 0, 1539, 1539, 0, 0, 951, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 956, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 956, 0, 0, 0, 0, 956, 956, 0, 0, 0, 0, 0, 956, 956, 956, 0, 0, 956, 0, 956, 0, 956, 956, 956, 956, 956, 956, 0, 0, 956, 951, 956, 956, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 956, 956, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 951, 951, 951, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 1536, 0, 0, 0, 0, 951, 0, 951, 0, 951, 0, 0, 0, 1532, 0, 0, 1532, 0, 1532, 951, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 1532, 0, 951, 951, 0, 0, 0, 0, 951, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 956, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 951, 0, 0, 951, 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 951, 0, 0, 0, 0, 0, 0, 956, 956, 956, 956, 956, 956, 956, 956, 956, 0, 956, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 956, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 956, 0, 0, 956, 0, 956, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 81, 82, 0, 84, 85, 86, 0, 956, 956, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 0, 0, 0, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 1539, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 126, 0, 0, 0, 128, 129, 130, 131, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, 138, 956, 139, 0, 0, 0, 0, 0, 0, 0, 142, 0, 956, 0, 1539, 956, 0, 956, 956, 0, 1539, 0, 145, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 163, 0, 164, 0, 0, 0, 0, 0, 0, 166, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 170, 171, 0, 0, 0, 0, 0, 172, 0, 173, 0, 0, 174, 175, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, 187, 188, 0, 0, 0, 0, 190, 0, 0, 191, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 193, 194, 0, 195, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 956, 956, 197, 1532, 198, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 1539, 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 0, 0, 216, 0, 0, 217, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 222, 223, 0, 1539, 0, 0, 224, 1539, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 232, 0, 0, 233, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 1539, 956, 0, 956, 956, 1539, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 956, 956, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 956, 956, 956, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 956, 0, 956, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 956, 956, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 956, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 775, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 775, 956, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1004, 1014, 0, 0, 1019, 0, 0, 0, 0, 0, 1014, 0, 0, 0, 1539, 0, 0, 1539, 0, 1539, 0, 1532, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 956, 0, 0, 0, 0, 0, 1014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 1214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1214, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1318, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 1352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1391, 1539, 0, 0, 0, 0, 1423, 0, 0, 0, 0, 1266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1004, 0, 0, 0, 0, 0, 956, 0, 0, 1539, 0, 0, 0, 1532, 0, 956, 0, 0, 0, 0, 0, 0, 0, 956, 0, 956, 0, 0, 956, 0, 0, 0, 1539, 956, 956, 956, 956, 0, 0, 956, 956, 956, 956, 956, 956, 956, 956, 956, 956, 1014, 1014, 0, 956, 956, 956, 0, 0, 1539, 0, 0, 0, 0, 956, 0, 0, 0, 0, 956, 0, 0, 0, 956, 0, 0, 0, 0, 0, 2034, 0, 956, 0, 0, 956, 0, 956, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 1266, 956, 956, 0, 0, 0, 956, 956, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 1532, 0, 0, 0, 0, 1532, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2213, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 1303, 0, 0, 0, 1307, 0, 2247, 2250, 2251, 0, 0, 956, 1342, 0, 0, 1344, 0, 0, 1349, 1350, 0, 1353, 0, 1356, 0, 0, 1362, 0, 1364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1429, 0, 0, 0, 1433, 0, 0, 0, 0, 0, 0, 1445, 1446, 0, 0, 1452, 0, 1455, 1456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1266, 0, 1014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 1499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 1581, 1583, 0, 0, 0, 0, 0, 0, 0, 0, 1014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2434, 0, 0, 0, 0, 0, 0, 0, 0, 1793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 1266, 0, 775, 0, 0, 0, 0, 1532, 956, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1214, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 1539, 956, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 1756, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1920, 0, 0, 1921, 0, 1924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1968, 0, 0, 0, 0, 0, 0, 0, 3060, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 956, 956, 0, 1539, 0, 0, 2143, 956, 956, 0, 0, 0, 956, 0, 0, 0, 956, 0, 0, 956, 956, 0, 0, 0, 956, 0, 0, 0, 0, 0, 956, 2182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 2194, 0, 2195, 0, 956, 0, 0, 0, 956, 0, 0, 0, 2198, 0, 0, 0, 0, 0, 0, 2208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 956, 3228, 0, 0, 0, 0, 0, 0, 0, 1534, 3251, 2259, 0, 2261, 0, 0, 0, 0, 2157, 2161, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 3287, 0, 0, 0, 0, 1539, 3299, 3299, 0, 0, 3299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3317, 0, 0, 3320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3373, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 956, 3392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3417, 0, 1539, 0, 0, 0, 2420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2435, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3461, 3299, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3496, 0, 0, 0, 0, 0, 0, 3509, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2450, 0, 0, 0, 0, 0, 0, 775, 775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2465, 0, 0, 0, 0, 0, 0, 956, 0, 0, 956, 0, 0, 956, 956, 956, 3597, 0, 1214, 1581, 0, 0, 1534, 0, 0, 0, 0, 0, 2484, 2485, 2486, 0, 2489, 1534, 0, 0, 0, 0, 956, 956, 0, 0, 956, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 2943, 0, 0, 0, 0, 956, 1793, 1793, 0, 0, 0, 0, 956, 0, 0, 0, 0, 956, 0, 0, 956, 956, 0, 0, 0, 775, 3657, 0, 956, 0, 3096, 0, 0, 3096, 0, 0, 0, 0, 0, 0, 0, 3103, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 956, 0, 0, 0, 0, 3111, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3027, 0, 0, 0, 3039, 3044, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 3196, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 1534, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 956, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 956, 0, 0, 0, 956, 0, 0, 0, 0, 0, 1539, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 3452, 1539, 1539, 0, 0, 0, 956, 0, 0, 0, 0, 0, 956, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2157, 2157, 2157, 0, 0, 3513, 0, 3517, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3576, 0, 3577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 1581, 3586, 956, 3587, 0, 956, 0, 0, 956, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 3608, 0, 0, 0, 0, 0, 0, 0, 0, 956, 3814, 0, 1581, 0, 0, 0, 1581, 0, 0, 0, 0, 1581, 0, 0, 1581, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 3826, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 1837, 1837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 1534, 0, 0, 0, 0, 0, 0, 1793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 956, 956, 0, 0, 0, 0, 3685, 0, 956, 0, 0, 0, 1539, 0, 0, 0, 0, 956, 3705, 956, 3706, 956, 3708, 0, 0, 3722, 3725, 3730, 0, 0, 0, 956, 0, 3739, 0, 0, 3744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 3751, 3752, 3753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3754, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 956, 956, 0, 0, 0, 0, 956, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 1534, 4024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4046, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 4074, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 956, 0, 0, 0, 3761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 1534, 0, 0, 0, 956, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 3778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 4152, 4153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 3780, 0, 0, 0, 0, 0, 956, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4276, 0, 0, 0, 956, 956, 0, 0, 956, 0, 0, 0, 956, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 956, 956, 0, 0, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3787, 3788, 3789, 3790, 3791, 3792, 3793, 3794, 3795, 0, 3796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 2157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3754, 0, 1266, 0, 3761, 0, 0, 3778, 0, 3780, 0, 0, 3840, 0, 0, 3916, 3917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3932, 3933, 2485, 2486, 0, 3936, 3937, 0, 0, 0, 3940, 3941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3952, 0, 0, 0, 0, 0, 0, 3961, 0, 0, 0, 3964, 3965, 0, 0, 3968, 3969, 0, 0, 0, 0, 0, 3974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4006, 0, 0, 0, 0, 4008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4014, 0, 0, 0, 0, 0, 0, 0, 0, 4021, 0, 0, 4025, 0, 4027, 4030, 4032, 0, 0, 0, 0, 4040, 4043, 0, 0, 0, 0, 0, 0, 0, 0, 4056, 0, 0, 0, 0, 0, 4066, 4572, 0, 0, 4069, 0, 0, 0, 3966, 0, 0, 0, 0, 0, 4079, 4080, 0, 0, 0, 4085, 0, 0, 0, 0, 0, 4094, 4095, 0, 0, 0, 0, 1837, 0, 0, 0, 0, 0, 0, 0, 4104, 0, 0, 4105, 0, 0, 0, 0, 0, 0, 4117, 4118, 0, 0, 0, 0, 4122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4129, 0, 0, 4132, 0, 0, 0, 0, 4135, 0, 0, 0, 0, 0, 4138, 4139, 0, 1581, 0, 1581, 0, 0, 4145, 1581, 0, 0, 4147, 0, 0, 0, 4154, 4155, 4156, 4157, 0, 4159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4184, 4185, 0, 4187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4196, 4197, 4198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4250, 0, 0, 0, 0, 0, 0, 0, 4274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4208, 4209, 2157, 0, 0, 0, 4213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4242, 0, 0, 0, 0, 0, 0, 4786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3299, 1534, 0, 0, 0, 1534, 1534, 0, 0, 0, 0, 0, 4389, 0, 4391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 1581, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 4457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4917, 4918, 4919, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4953, 4955, 0, 0, 0, 4960, 0, 0, 0, 0, 0, 0, 0, 0, 4462, 0, 0, 0, 0, 4468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3730, 0, 3730, 3730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4529, 0, 0, 4532, 0, 4534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 4553, 0, 4556, 0, 4558, 0, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 5057, 0, 0, 1793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3027, 0, 1534, 1581, 0, 0, 1534, 0, 4680, 0, 0, 0, 2935, 0, 0, 3044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4699, 0, 0, 0, 4699, 0, 0, 0, 0, 4710, 4711, 4712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5159, 5160, 5161, 0, 0, 0, 4742, 4743, 4744, 4745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4761, 0, 0, 0, 0, 0, 0, 0, 4764, 0, 4768, 4769, 4770, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4853, 0, 0, 0, 0, 0, 0, 0, 0, 4859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4869, 4870, 0, 0, 0, 4871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0, 2935, 0, 0, 1581, 0, 0, 0, 0, 0, 2157, 0, 0, 0, 0, 4950, 2157, 0, 0, 0, 1014, 0, 0, 0, 0, 0, 4962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5001, 0, 0, 0, 1534, 0, 0, 1534, 0, 1534, 1004, 0, 5432, 1014, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4940, 0, 0, 0, 0, 5464, 0, 0, 0, 5031, 0, 5032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 1581, 0, 0, 0, 1534, 0, 0, 0, 0, 3509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5058, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5523, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5075, 0, 0, 0, 0, 0, 0, 0, 0, 5079, 0, 0, 0, 0, 0, 0, 0, 5081, 0, 5082, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0, 3718, 0, 0, 0, 0, 0, 5104, 5105, 5106, 1534, 5618, 5619, 5620, 5621, 0, 2935, 2935, 2935, 0, 0, 2935, 0, 0, 0, 0, 3739, 0, 0, 0, 0, 0, 0, 0, 5130, 0, 0, 5133, 0, 5135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5138, 0, 0, 1534, 0, 0, 0, 0, 5145, 5146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 5253, 0, 5192, 5260, 0, 5261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5274, 0, 0, 0, 5277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5210, 0, 0, 0, 5301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 5224, 0, 0, 0, 0, 5305, 0, 0, 0, 0, 0, 5309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5344, 0, 0, 0, 5348, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5358, 5359, 5360, 5361, 0, 0, 0, 0, 0, 0, 5365, 5366, 5367, 5368, 0, 0, 0, 0, 0, 5370, 5371, 0, 0, 0, 0, 5378, 5379, 0, 5381, 5382, 5383, 5384, 5385, 5386, 5387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5396, 0, 0, 0, 5399, 5400, 5401, 5402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5422, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5842, 0, 0, 0, 0, 0, 0, 5504, 0, 0, 0, 5852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5539, 0, 5540, 0, 0, 0, 0, 0, 0, 0, 1581, 1581, 1581, 1581, 1581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 5511, 5512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 5571, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 5577, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 5596, 5598, 0, 0, 0, 0, 0, 5602, 5603, 0, 0, 0, 5604, 0, 0, 0, 5605, 0, 0, 5608, 5609, 0, 0, 0, 5613, 0, 0, 0, 0, 0, 5617, 6029, 0, 0, 0, 0, 1793, 0, 0, 0, 0, 5700, 5701, 5702, 0, 0, 0, 5703, 5704, 5705, 5706, 0, 0, 0, 5708, 6059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 5727, 5728, 5729, 5730, 5731, 5671, 5733, 5734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5743, 5744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 5750, 0, 0, 0, 0, 0, 0, 0, 1581, 1581, 0, 1581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6172, 0, 0, 1534, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5746, 0, 0, 0, 0, 0, 0, 5748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6271, 0, 0, 0, 0, 0, 0, 5867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5873, 0, 0, 0, 0, 0, 5877, 5878, 5879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 5890, 5891, 0, 0, 5892, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5963, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5973, 5918, 0, 0, 0, 0, 5979, 5980, 0, 0, 1534, 0, 0, 0, 0, 0, 5991, 0, 0, 0, 0, 0, 0, 5993, 0, 5937, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6045, 6046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6054, 2935, 1014, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 6071, 0, 0, 0, 2935, 2935, 0, 2935, 0, 0, 0, 0, 3718, 3718, 0, 4505, 0, 3718, 0, 0, 0, 2935, 0, 0, 2935, 4699, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 6107, 0, 2935, 0, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 2935, 2935, 2935, 2935, 0, 0, 0, 3718, 3718, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1581, 0, 0, 0, 0, 0, 0, 2935, 0, 2935, 0, 1581, 0, 0, 0, 0, 2935, 2935, 2935, 2935, 2935, 2935, 2935, 2935, 2935, 2935, 0, 6155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 6175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6182, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 3739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0, 4699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6347, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 2935, 0, 0, 0, 2935, 0, 0, 6471, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 6483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6493, 0, 0, 0, 0, 0, 0, 1534, 6433, 6433, 6433, 0, 1534, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6459, 0, 0, 0, 0, 81, 82, 0, 84, 85, 86, 0, 0, 0, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 0, 0, 0, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 0, 0, 0, 0, 0, 114, 115, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 6575, 117, 0, 118, 0, 119, 0, 35, 0, 6501, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 6433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 6146, 0, 0, 128, 129, 130, 131, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, 138, 0, 139, 0, 0, 0, 0, 0, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0, 145, 0, 2935, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 150, 0, 4505, 4505, 0, 0, 3718, 3718, 3718, 3718, 0, 0, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 4505, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, 0, 160, 0, 0, 2935, 0, 0, 2935, 162, 2935, 0, 0, 4505, 4505, 163, 0, 164, 0, 0, 0, 0, 0, 0, 166, 0, 167, 0, 0, 2935, 3718, 3718, 2935, 0, 2935, 168, 0, 0, 0, 0, 0, 0, 0, 6433, 0, 0, 0, 0, 0, 0, 170, 171, 0, 0, 6646, 0, 0, 172, 0, 173, 0, 0, 174, 175, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, 187, 188, 0, 0, 0, 0, 190, 0, 2157, 191, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 0, 195, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 197, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 0, 0, 216, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 222, 223, 0, 0, 0, 0, 224, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3897, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 82, 0, 84, 85, 86, 0, 0, 0, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 0, 0, 0, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 0, 0, 0, 0, 0, 114, 115, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 118, 0, 119, 0, 35, 0, 2935, 0, 37, 0, 2935, 0, 2935, 2935, 0, 0, 0, 0, 4505, 4505, 4505, 4505, 0, 0, 0, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 4505, 2935, 2935, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 128, 129, 130, 131, 132, 2935, 0, 0, 2935, 0, 2935, 0, 0, 2935, 0, 0, 4505, 4505, 134, 0, 2935, 2935, 0, 0, 0, 138, 0, 139, 0, 0, 0, 0, 0, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 150, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 2935, 0, 0, 158, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 163, 0, 164, 0, 0, 0, 0, 0, 0, 166, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 171, 0, 0, 0, 0, 0, 172, 0, 173, 0, 0, 174, 175, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, 187, 188, 0, 0, 0, 0, 190, 0, 0, 191, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 0, 195, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4505, 0, 0, 207, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 0, 0, 216, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 222, 223, 0, 0, 0, 0, 224, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 2935, 2935, 0, 0, 0, 0, 0, 0, 2935, 0, 232, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 2935, 3718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 2935, 0, 0, 0, 2935, 2935, 2935, 2935, 0, 0, 2935, 2935, 0, 0, 0, 2935, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 4505, 3718, 2935, 2935, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 2935, 2935, 0, 0, 0, 0, 0, 0, 0, 3718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 2935, 0, 81, 82, 83, 84, 85, 86, 87, 0, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 0, 98, 99, 100, 0, 0, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 113, 0, 0, 0, 114, 115, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 118, 0, 119, 120, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 123, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 126, 0, 0, 127, 128, 129, 130, 131, 132, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 0, 140, 0, 141, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, 143, 0, 144, 145, 0, 0, 0, 0, 0, 0, 146, 0, 4505, 0, 0, 0, 0, 147, 0, 148, 149, 150, 151, 3718, 0, 0, 4505, 0, -1708, 0, 2935, 0, 0, 0, 0, 0, 0, 152, 0, 153, 0, 0, 0, 154, 0, 0, 0, 0, 2935, 155, 156, 0, 0, 0, 0, 0, 0, 157, 158, 159, 0, 0, 0, 160, 0, 0, 161, 0, 0, 0, 162, 0, 0, 0, 0, 0, 163, 0, 164, 0, 0, 0, 0, 165, 0, 166, 0, 167, 0, 0, 0, 2935, 0, 0, 0, 0, 168, 0, 0, 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 171, 0, 0, -1708, 0, 0, 172, 0, 173, 0, 0, 174, 175, 0, 176, 2935, 0, 0, 0, 0, 0, 0, 0, 177, 178, 0, 179, 0, 180, 181, 0, 0, 0, 0, 182, 0, 0, 0, 0, 0, 0, 0, -1708, 0, 0, 0, 0, 0, 183, 0, 0, 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, 187, 188, 0, 0, 0, 189, 190, 0, 0, 191, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 193, 194, 0, 195, 196, 0, 0, 0, 0, 0, 4505, 0, 3718, 0, 0, 0, 0, 0, 197, 0, 198, 0, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 201, 0, 0, 0, 0, 0, 202, 203, 0, 204, 0, 0, 0, 2935, 205, 0, 0, 0, 0, 0, 206, 207, 0, 208, 0, 0, 0, 209, 0, 0, 210, 0, 0, 0, 0, 0, 211, 212, 0, 0, 0, 0, 0, 0, 213, 0, 214, 0, 215, 216, 0, 0, 217, 0, 0, 0, 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 0, 220, 0, 221, 0, 0, 0, 0, 0, 0, 0, 222, 223, 0, 0, 0, 0, 224, 0, 225, 0, 226, 0, 227, 0, 0, 0, 2935, 0, 228, 0, 0, 229, 0, 0, -1708, 0, 0, 230, 0, 0, 0, 0, 231, 232, 0, 0, 233, 0, 0, 0, 0, 0, 2935, 0, 0, 234, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 247, 0, 0, 0, -149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3718, 0, 0, 0, 0, 3718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 4505, 0, 0, 4505, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, 431, 432, 433, 434, 435, 436, 437, 438, 804, 439, 440, 441, 805, 806, 807, 808, 809, 810, 811, 442, 443, 444, 812, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 813, 452, 453, 454, 455, 456, 457, 458, 814, 815, 459, 460, 816, 134, 461, 817, 462, 463, 464, 465, 138, 818, 139, 819, 466, 467, 468, 469, 470, 471, 142, 472, 473, 820, 821, 474, 475, 476, 477, 478, 479, 822, 145, 480, 481, 823, 824, 825, 826, 146, 827, 828, 829, 484, 485, 486, 487, 767, 488, 149, 150, 489, 830, 490, 831, 491, 492, 493, 494, 495, 496, 497, 832, 498, 499, 500, 501, 833, 834, 502, 503, 504, 505, 506, 835, 507, 508, 509, 836, 510, 511, 512, 837, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 838, 521, 839, 522, 523, 524, 162, 525, 840, 526, 841, 527, 163, 842, 164, 528, 529, 530, 531, 843, 532, 166, 844, 167, 533, 534, 845, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 846, 543, 544, 545, 546, 547, 548, 549, 847, 550, 170, 171, 848, 551, 552, 553, 849, 172, 850, 173, 851, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 852, 853, 561, 177, 178, 562, 179, 854, 563, 564, 565, 855, 856, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 857, 590, 591, 190, 592, 858, 191, 593, 192, 594, 595, 596, 859, 597, 598, 860, 861, 599, 600, 601, 862, 863, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 864, 615, 616, 197, 617, 198, 618, 619, 620, 865, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 866, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 867, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 868, 663, 664, 665, 666, 667, 869, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 870, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 871, 690, 691, 872, 692, 221, 693, 694, 695, 696, 697, 873, 698, 222, 223, 874, 875, 700, 701, 224, 702, 225, 876, 703, 704, 705, 706, 707, 708, 709, 710, 877, 878, 711, 712, 713, 714, 715, 879, 880, 716, 717, 718, 719, 720, 881, 232, 882, 721, 233, 722, 723, 724, 725, 883, 884, 726, 885, 886, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 1071, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 2151, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 2152, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 2153, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 2154, 0, 0, 0, 0, 0, 0, 1744, 2155, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 212, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 220, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 2487, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 234, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 6322, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 3720, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 5083, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 5152, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 0, 1500, 130, 1501, 1502, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1503, 1504, 461, 0, 462, 463, 464, 465, 0, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 1505, 1506, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 0, 517, 518, 519, 520, 0, 0, 521, 0, 522, 523, 524, 1508, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 0, 0, 0, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 3119, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 3120, 0, 551, 552, 553, 1510, 1511, 0, 1512, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 0, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1513, 185, 1514, 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, 0, 590, 591, 190, 592, 0, 0, 593, 1515, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 3122, 194, 604, 195, 0, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 0, 617, 0, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1516, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 0, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 3123, 671, 672, 216, 673, 674, 1518, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 0, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1519, 1520, 0, 0, 700, 701, 0, 702, 0, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 1521, 3124, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 3222, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 0, 1500, 130, 1501, 1502, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1503, 1504, 461, 0, 462, 463, 464, 465, 0, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 1505, 1506, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 0, 517, 518, 519, 520, 0, 0, 521, 0, 522, 523, 524, 1508, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 0, 0, 0, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 3119, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 3120, 0, 551, 552, 553, 1510, 1511, 0, 1512, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 0, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1513, 185, 1514, 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, 0, 590, 591, 190, 592, 0, 0, 593, 1515, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 3122, 194, 604, 195, 0, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 0, 617, 0, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1516, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 0, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 3123, 671, 672, 216, 673, 674, 1518, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 0, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1519, 1520, 0, 0, 700, 701, 0, 702, 0, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 1521, 3124, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 4333, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 212, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 220, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 2487, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 234, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 3726, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 3727, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 3728, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 3729, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, -2208, 439, 440, 441, 0, 0, 0, -2208, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, -2208, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, -2206, 439, 440, 441, 0, 0, 0, -2206, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, -2206, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 2447, 3678, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 1743, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 3037, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 4210, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 3727, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 3781, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 5209, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 6430, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 6431, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 6432, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 6431, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 6432, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3040, 3041, 0, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 5585, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 5597, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 6136, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 6137, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 6138, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 6139, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, -3512, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 6431, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 1697, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, -3512, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 0, 0, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, -3512, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 1712, 590, 591, 0, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 1720, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, -3512, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 6432, 709, 710, 0, 1729, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, -3512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, 0, 1744, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 6121, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 0, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 3712, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3713, 3714, 0, 0, 0, 0, 0, 0, 0, 3715, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 1676, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 0, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 1716, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 3712, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3713, 3714, 0, 0, 0, 0, 0, 0, 0, 3715, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 0, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 0, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 3852, 3853, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3854, 3855, 0, 0, 0, 0, 0, 0, 0, 3715, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 0, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 0, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 3712, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 3715, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 0, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 5114, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 0, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 3712, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 3715, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 0, 40, 1677, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 1678, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 1682, 1683, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 1698, 517, 518, 519, 520, 1699, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 1703, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 0, 590, 591, 190, 592, 1713, 1714, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 3712, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 1726, 702, 1727, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 5626, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 3715, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 1683, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 1699, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 4576, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 0, 590, 591, 190, 592, 0, 1714, 593, 192, 594, 595, 596, 0, 597, 598, 0, 1197, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 4577, 656, 657, 658, 659, 660, 661, 772, 662, 212, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 220, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 1726, 702, 1727, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 2487, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 234, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 4578, 774, 733, 734, 0, 0, 246, 0, 0, 0, 0, 0, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 4579, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 1683, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 1699, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 4576, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 0, 590, 591, 190, 592, 0, 1714, 593, 192, 594, 595, 596, 0, 597, 598, 0, 1197, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 4577, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 1726, 702, 1727, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 4578, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 4579, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 1683, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 1699, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 0, 590, 591, 190, 592, 0, 1714, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 1726, 702, 1727, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 4289, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 1683, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 1699, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 0, 590, 591, 190, 592, 0, 1714, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 4577, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 1726, 702, 1727, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 4578, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 247, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 1683, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 1699, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 0, 590, 591, 190, 592, 0, 1714, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 1726, 702, 1727, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 5244, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 1683, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 1699, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 0, 590, 591, 190, 592, 0, 1714, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 1726, 702, 1727, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 6403, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 5965, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 5170, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, -1818, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, -1818, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, -1818, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, -1818, 556, 557, 558, 559, 560, 0, 0, 561, 177, -1818, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, -1818, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, -1818, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 1831, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 212, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 220, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 2487, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 234, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 246, 0, 0, 0, 0, 0, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 247, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 212, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 220, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 2487, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 234, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 246, 0, 0, 0, 0, 0, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 247, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 3293, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 1197, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 3294, 3295, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 2203, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 39, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 4378, 4379, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 39, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 4379, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 1816, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 3886, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 5149, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 5643, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 0, 0, 1321, 40, 0, 0, 0, 0, 0, 1322, 1323, 1324, 431, 432, 433, 434, 435, 436, 437, 438, 804, 439, 440, 441, 805, 806, 807, 808, 809, 810, 811, 442, 443, 444, 812, 445, 446, 447, 448, 126, 449, 450, 451, 0, 1500, 130, 1501, 1502, 813, 452, 453, 454, 455, 456, 457, 458, 814, 815, 459, 460, 1503, 1504, 461, 817, 462, 463, 464, 465, 0, 818, 139, 819, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 821, 474, 475, 476, 477, 478, 479, 822, 145, 480, 481, 0, 824, 825, 826, 146, 827, 828, 829, 484, 485, 486, 487, 767, 488, 1505, 1506, 489, 830, 490, 831, 491, 492, 493, 494, 495, 496, 497, 832, 498, 499, 500, 501, 833, 834, 502, 503, 1507, 505, 506, 835, 507, 508, 509, 836, 510, 511, 512, 837, 513, 514, 515, 516, 0, 517, 518, 519, 520, 0, 838, 521, 839, 522, 523, 524, 1508, 525, 840, 526, 841, 527, 163, 842, 164, 528, 529, 530, 531, 843, 532, 0, 844, 0, 533, 534, 845, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 846, 543, 544, 545, 546, 547, 548, 549, 847, 550, 170, 0, 0, 551, 552, 553, 1510, 1511, 850, 1512, 851, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 852, 853, 561, 0, 178, 562, 179, 854, 563, 564, 565, 855, 856, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1513, 185, 1514, 582, 583, 584, 585, 586, 587, 588, 4884, 0, 589, 857, 590, 591, 190, 592, 858, 0, 593, 1515, 594, 595, 596, 859, 597, 598, 860, 861, 4885, 600, 601, 862, 863, 602, 603, 0, 194, 604, 195, 0, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 864, 615, 616, 0, 617, 0, 618, 619, 620, 865, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1516, 631, 632, 633, 634, 866, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 867, 648, 649, 207, 650, 651, 652, 653, 654, 0, 655, 656, 657, 658, 659, 660, 661, 772, 662, 868, 663, 664, 665, 666, 667, 869, 669, 670, 3123, 671, 672, 216, 673, 674, 1518, 675, 870, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 0, 689, 871, 690, 691, 872, 692, 221, 693, 694, 695, 696, 697, 873, 698, 1519, 1520, 0, 875, 700, 701, 0, 702, 0, 876, 703, 704, 705, 706, 707, 708, 709, 710, 0, 878, 711, 712, 713, 714, 715, 879, 880, 716, 717, 718, 719, 720, 0, 1521, 882, 721, 233, 722, 723, 724, 725, 883, 884, 726, 885, 886, 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 1328, 1329, 4886, 4887, 1332, 1333, 1334, 1335, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 0, 0, 1321, 40, 0, 0, 0, 0, 0, 1322, 1323, 1324, 431, 432, 433, 434, 435, 436, 437, 438, 804, 439, 440, 441, 805, 806, 807, 808, 809, 810, 811, 442, 443, 444, 812, 445, 446, 447, 448, 126, 449, 450, 451, 0, 1500, 130, 1501, 1502, 813, 452, 453, 454, 455, 456, 457, 458, 814, 815, 459, 460, 1503, 1504, 461, 817, 462, 463, 464, 465, 0, 818, 139, 819, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 821, 474, 475, 476, 477, 478, 479, 822, 145, 480, 481, 0, 824, 825, 826, 146, 827, 828, 829, 484, 485, 486, 487, 767, 488, 1505, 1506, 489, 830, 490, 831, 491, 492, 493, 494, 495, 496, 497, 832, 498, 499, 500, 501, 833, 834, 502, 503, 1507, 505, 506, 835, 507, 508, 509, 836, 510, 511, 512, 837, 513, 514, 515, 516, 0, 517, 518, 519, 520, 0, 838, 521, 839, 522, 523, 524, 1508, 525, 840, 526, 841, 527, 163, 842, 164, 528, 529, 530, 531, 843, 532, 0, 844, 0, 533, 534, 845, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 846, 543, 544, 545, 546, 547, 548, 549, 847, 550, 170, 0, 0, 551, 552, 553, 1510, 1511, 850, 1512, 851, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 852, 853, 561, 0, 178, 562, 179, 854, 563, 564, 565, 855, 856, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1513, 185, 1514, 582, 583, 584, 585, 586, 587, 588, 5336, 0, 589, 857, 590, 591, 190, 592, 858, 0, 593, 1515, 594, 595, 596, 859, 597, 598, 860, 861, 4885, 600, 601, 862, 863, 602, 603, 0, 194, 604, 195, 0, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 864, 615, 616, 0, 617, 0, 618, 619, 620, 865, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1516, 631, 632, 633, 634, 866, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 867, 648, 649, 207, 650, 651, 652, 653, 654, 0, 655, 656, 657, 658, 659, 660, 661, 772, 662, 868, 663, 664, 665, 666, 667, 869, 669, 670, 3123, 671, 672, 216, 673, 674, 1518, 675, 870, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 0, 689, 871, 690, 691, 872, 692, 221, 693, 694, 695, 696, 697, 873, 698, 1519, 1520, 0, 875, 700, 701, 0, 702, 0, 876, 703, 704, 705, 706, 707, 708, 709, 710, 0, 878, 711, 712, 713, 714, 715, 879, 880, 716, 717, 718, 719, 720, 0, 1521, 882, 721, 233, 722, 723, 724, 725, 883, 884, 726, 885, 886, 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 1328, 1329, 4886, 4887, 1332, 1333, 1334, 1335, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1321, 0, 0, 0, 0, 0, 0, 1322, 1323, 1324, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 1325, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 1326, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1321, 0, 0, 0, 0, 0, 0, 1322, 1323, 1324, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 1441, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 1442, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1321, 0, 0, 0, 0, 0, 0, 1322, 1323, 1324, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 1552, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 1553, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1554, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1321, 0, 0, 0, 0, 0, 0, 1322, 1323, 1324, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 2186, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 2187, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1321, 0, 0, 0, 0, 0, 0, 1322, 1323, 1324, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1321, 0, 0, 0, 0, 0, 0, 1322, 1323, 1324, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 3981, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 3982, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1321, 0, 0, 0, 0, 0, 0, 1322, 1323, 1324, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 5945, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 804, 439, 440, 441, 805, 806, 807, 808, 809, 810, 811, 442, 443, 444, 812, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 813, 452, 453, 454, 455, 456, 457, 458, 814, 815, 459, 460, 816, 134, 461, 817, 462, 463, 464, 465, 138, 818, 139, 819, 466, 467, 468, 469, 470, 471, 142, 472, 473, 820, 821, 474, 475, 476, 477, 478, 479, 822, 145, 480, 481, 823, 824, 825, 826, 146, 827, 828, 829, 484, 485, 486, 487, 767, 488, 149, 150, 489, 830, 490, 831, 491, 492, 493, 494, 495, 496, 497, 832, 498, 499, 500, 501, 833, 834, 502, 503, 504, 505, 506, 835, 507, 508, 509, 836, 510, 511, 512, 837, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 838, 521, 839, 522, 523, 524, 162, 525, 840, 526, 841, 527, 163, 842, 164, 528, 529, 530, 531, 843, 532, 166, 844, 167, 533, 534, 845, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 846, 543, 544, 545, 546, 547, 548, 549, 847, 550, 170, 171, 848, 551, 552, 553, 849, 172, 850, 173, 851, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 852, 853, 561, 177, 178, 562, 179, 854, 563, 564, 565, 855, 856, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 857, 590, 591, 190, 592, 858, 191, 593, 192, 594, 595, 596, 859, 597, 598, 860, 861, 599, 600, 601, 862, 863, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 864, 615, 616, 197, 617, 198, 618, 619, 620, 865, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 866, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 867, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 868, 663, 664, 665, 666, 667, 869, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 870, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 871, 690, 691, 872, 692, 221, 693, 694, 695, 696, 697, 873, 698, 222, 223, 874, 875, 700, 701, 224, 702, 225, 876, 703, 704, 705, 706, 707, 708, 709, 710, 877, 878, 711, 712, 713, 714, 715, 879, 880, 716, 717, 718, 719, 720, 881, 232, 882, 721, 233, 722, 723, 724, 725, 883, 884, 726, 885, 886, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 2163, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 0, 1500, 130, 1501, 1502, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1503, 1504, 461, 0, 462, 463, 464, 465, 0, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 1505, 1506, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 0, 517, 518, 519, 520, 0, 0, 521, 0, 522, 523, 524, 1508, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 0, 0, 0, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 3119, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 3120, 0, 551, 552, 553, 1510, 1511, 0, 1512, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 0, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1513, 185, 1514, 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, 0, 590, 591, 190, 592, 0, 0, 593, 1515, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 3121, 602, 603, 3122, 194, 604, 195, 0, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 0, 617, 0, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1516, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 0, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 3123, 671, 672, 216, 673, 674, 1518, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 0, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1519, 1520, 0, 0, 700, 701, 0, 702, 0, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 1521, 3124, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 733, 734, 0, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 3125, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 1205, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 6373, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 431, 1093, 433, 434, 435, 436, 437, 438, 1094, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 1095, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 1096, 162, 525, 0, 526, 0, 1097, 0, 1098, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 1099, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 1100, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 1101, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 1102, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 1103, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 1104, 1105, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 431, 1093, 433, 434, 435, 436, 437, 438, 1094, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 1128, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 1096, 162, 525, 0, 526, 0, 1129, 0, 1098, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 1099, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 1100, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 1101, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 1102, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 1103, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 1104, 1105, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 1606, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 1098, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 1099, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 1104, 1105, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 1611, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 1098, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 1099, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 1104, 1105, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 768, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 1787, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 1788, 81, 82, 750, 84, 85, 86, 751, 1175, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 1176, 460, 1147, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 1177, 0, 1178, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 1179, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 1180, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 1181, 651, 652, 653, 654, 209, 655, 656, 657, 1182, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 1183, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 1184, 223, 0, 0, 1185, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 1151, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 1186, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 38, 39, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 804, 439, 440, 441, 805, 806, 807, 808, 809, 810, 811, 442, 443, 444, 812, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 813, 452, 453, 454, 455, 456, 457, 458, 814, 815, 459, 460, 816, 134, 461, 817, 462, 463, 464, 465, 138, 818, 139, 819, 466, 467, 468, 469, 470, 471, 142, 472, 473, 820, 821, 474, 475, 476, 477, 478, 479, 822, 145, 480, 481, 823, 824, 825, 826, 146, 827, 828, 829, 484, 485, 486, 487, 767, 488, 149, 150, 489, 830, 490, 831, 491, 492, 493, 494, 495, 496, 497, 832, 498, 499, 500, 501, 833, 834, 502, 503, 504, 505, 506, 835, 507, 508, 509, 836, 510, 511, 512, 837, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 838, 521, 839, 522, 523, 524, 162, 525, 840, 526, 841, 527, 163, 842, 164, 528, 529, 530, 531, 843, 532, 166, 844, 167, 533, 534, 845, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 846, 543, 544, 545, 546, 547, 548, 549, 847, 550, 170, 171, 848, 551, 552, 553, 849, 172, 850, 173, 851, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 852, 853, 561, 177, 178, 562, 179, 854, 563, 564, 565, 855, 856, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 857, 590, 591, 190, 592, 858, 191, 593, 192, 594, 595, 596, 859, 597, 598, 860, 861, 599, 600, 601, 862, 863, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 864, 615, 616, 197, 617, 198, 618, 619, 620, 865, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 866, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 867, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 868, 663, 664, 665, 666, 667, 869, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 870, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 871, 690, 691, 872, 692, 221, 693, 694, 695, 696, 697, 873, 698, 222, 223, 874, 875, 700, 701, 224, 702, 225, 876, 703, 704, 705, 706, 707, 708, 709, 710, 877, 878, 711, 712, 713, 714, 715, 879, 880, 716, 717, 718, 719, 720, 881, 232, 882, 721, 233, 722, 723, 724, 725, 883, 884, 726, 885, 886, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 804, 439, 440, 441, 805, 806, 807, 808, 809, 810, 811, 442, 443, 444, 812, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 813, 452, 453, 454, 455, 456, 457, 458, 814, 815, 459, 460, 816, 134, 461, 817, 462, 463, 464, 465, 138, 818, 139, 819, 466, 467, 468, 469, 470, 471, 142, 472, 473, 820, 821, 474, 475, 476, 477, 478, 479, 822, 145, 480, 481, 823, 824, 825, 826, 146, 827, 828, 829, 484, 485, 486, 487, 767, 488, 149, 150, 489, 830, 490, 831, 491, 492, 493, 494, 495, 496, 497, 832, 498, 499, 500, 501, 833, 834, 502, 503, 504, 505, 506, 835, 507, 508, 509, 836, 510, 511, 512, 837, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 838, 521, 839, 522, 523, 524, 162, 525, 840, 526, 841, 527, 163, 842, 164, 528, 529, 530, 531, 843, 532, 166, 844, 167, 533, 534, 845, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 846, 543, 544, 545, 546, 547, 548, 549, 847, 550, 170, 171, 848, 551, 552, 553, 849, 172, 850, 173, 851, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 852, 853, 561, 177, 178, 562, 179, 854, 563, 564, 565, 855, 856, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 857, 590, 591, 190, 592, 858, 191, 593, 192, 594, 595, 596, 859, 597, 598, 860, 861, 599, 600, 601, 862, 863, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 864, 615, 616, 197, 617, 198, 618, 619, 620, 865, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 866, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 867, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 868, 663, 664, 665, 666, 667, 869, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 870, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 871, 690, 691, 872, 692, 221, 693, 694, 695, 696, 697, 873, 698, 222, 223, 874, 875, 700, 701, 224, 702, 225, 876, 703, 704, 705, 706, 707, 708, 709, 710, 877, 878, 711, 712, 713, 714, 715, 879, 880, 716, 717, 718, 719, 720, 881, 232, 882, 721, 233, 722, 723, 724, 725, 883, 884, 726, 885, 886, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 4047, 436, 437, 438, 804, 439, 440, 441, 805, 806, 807, 808, 809, 810, 811, 442, 443, 444, 812, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 813, 452, 453, 454, 455, 456, 457, 458, 814, 815, 459, 460, 816, 134, 461, 817, 462, 463, 464, 465, 138, 818, 139, 819, 466, 467, 468, 469, 470, 471, 142, 472, 473, 820, 821, 474, 475, 476, 477, 478, 479, 822, 145, 480, 481, 823, 824, 825, 826, 146, 827, 828, 829, 484, 485, 486, 487, 767, 488, 149, 150, 489, 830, 490, 831, 491, 492, 493, 494, 495, 496, 497, 832, 498, 499, 500, 501, 833, 834, 502, 503, 504, 4048, 506, 835, 507, 508, 509, 836, 510, 511, 512, 837, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 838, 521, 839, 522, 523, 524, 162, 525, 840, 526, 841, 527, 163, 842, 164, 528, 529, 530, 531, 843, 532, 166, 844, 167, 533, 534, 845, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 846, 543, 544, 545, 546, 547, 548, 549, 847, 550, 170, 171, 848, 551, 552, 553, 849, 172, 850, 173, 851, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 852, 853, 561, 177, 178, 562, 179, 854, 563, 564, 565, 855, 856, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 857, 590, 591, 190, 592, 858, 191, 593, 192, 594, 595, 596, 859, 597, 598, 860, 861, 599, 600, 601, 862, 863, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 864, 615, 616, 197, 617, 198, 618, 619, 620, 865, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 866, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 867, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 868, 663, 664, 665, 666, 667, 869, 4049, 670, 214, 671, 672, 216, 673, 674, 217, 675, 870, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 871, 690, 691, 872, 692, 221, 693, 694, 695, 696, 697, 873, 698, 222, 223, 874, 875, 700, 701, 224, 702, 225, 876, 703, 704, 705, 706, 707, 708, 709, 710, 877, 878, 711, 712, 713, 714, 715, 879, 880, 716, 717, 718, 719, 720, 881, 232, 882, 721, 233, 722, 723, 724, 725, 883, 884, 726, 885, 886, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 1683, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 1686, 0, 1687, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 1699, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 1702, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 1706, 178, 562, 179, 0, 563, 564, 565, 1707, 1708, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 1711, 589, 0, 590, 591, 190, 592, 0, 1714, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 1717, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 1718, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 1721, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 1723, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 1726, 702, 1727, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 1730, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 1732, 1733, 1734, 1735, 240, 1736, 1737, 1738, 1739, 245, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 38, 39, 0, 1674, 1675, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 1679, 130, 1680, 1681, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1684, 1685, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 1695, 1696, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 1700, 521, 0, 522, 523, 524, 1701, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 1510, 1704, 0, 1705, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1709, 185, 1710, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 1713, 191, 593, 1715, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1719, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 1722, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1724, 1725, 0, 0, 700, 701, 224, 702, 225, 1728, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 1731, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1493, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1544, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1558, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1562, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 0, 1500, 130, 1501, 1502, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1503, 1504, 461, 0, 462, 463, 464, 465, 0, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 1505, 1506, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 0, 517, 518, 519, 520, 0, 0, 521, 0, 522, 523, 524, 1508, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 0, 0, 0, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 3119, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 3120, 0, 551, 552, 553, 1510, 1511, 0, 1512, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 0, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1513, 185, 1514, 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, 0, 590, 591, 190, 592, 0, 0, 593, 1515, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 3122, 194, 604, 195, 0, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 0, 617, 0, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1516, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 0, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 3123, 671, 672, 216, 673, 674, 1518, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 0, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1519, 1520, 0, 0, 700, 701, 0, 702, 0, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 1521, 3124, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 0, 1500, 130, 1501, 1502, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1503, 1504, 461, 0, 462, 463, 464, 465, 0, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 1505, 1506, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 0, 517, 518, 519, 520, 0, 0, 521, 0, 522, 523, 524, 1508, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 0, 0, 0, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 0, 0, 551, 552, 553, 1510, 1511, 0, 1512, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 0, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1513, 185, 1514, 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, 0, 590, 591, 190, 592, 3208, 0, 593, 1515, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 0, 194, 604, 195, 0, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 0, 617, 0, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1516, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 0, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 3123, 671, 672, 216, 673, 674, 1518, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 0, 689, 0, 690, 691, 4985, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1519, 1520, 0, 0, 700, 701, 0, 702, 0, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 1521, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 0, 1500, 130, 1501, 1502, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1503, 1504, 461, 0, 462, 463, 464, 465, 0, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 1505, 1506, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 0, 517, 518, 519, 520, 0, 0, 521, 0, 522, 523, 524, 1508, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 0, 0, 0, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 0, 0, 551, 552, 553, 1510, 1511, 0, 1512, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 0, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1513, 185, 1514, 582, 583, 584, 585, 586, 587, 588, 3280, 0, 589, 0, 590, 591, 190, 592, 0, 0, 593, 1515, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 0, 194, 604, 195, 0, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 0, 617, 0, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1516, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 0, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 1517, 671, 672, 216, 673, 674, 1518, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 0, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1519, 1520, 0, 0, 700, 701, 0, 702, 0, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 1521, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 0, 1500, 130, 1501, 1502, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1503, 1504, 461, 0, 462, 463, 464, 465, 0, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 1505, 1506, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 0, 517, 518, 519, 520, 0, 0, 521, 0, 522, 523, 524, 1508, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 0, 0, 0, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 0, 0, 551, 552, 553, 1510, 1511, 0, 1512, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 0, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1513, 185, 1514, 582, 583, 584, 585, 586, 587, 588, 4781, 0, 589, 0, 590, 591, 190, 592, 0, 0, 593, 1515, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 0, 194, 604, 195, 0, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 0, 617, 0, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1516, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 0, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 1517, 671, 672, 216, 673, 674, 1518, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 0, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1519, 1520, 0, 0, 700, 701, 0, 702, 0, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 1521, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 0, 1500, 130, 1501, 1502, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1503, 1504, 461, 0, 462, 463, 464, 465, 0, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 1505, 1506, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 0, 517, 518, 519, 520, 0, 0, 521, 0, 522, 523, 524, 1508, 525, 6445, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 0, 0, 0, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 0, 0, 551, 552, 553, 1510, 1511, 0, 1512, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 0, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1513, 185, 1514, 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, 0, 590, 591, 190, 592, 0, 0, 593, 1515, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 0, 194, 604, 195, 0, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 0, 617, 0, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1516, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 0, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 1517, 671, 672, 216, 673, 674, 1518, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 0, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1519, 1520, 0, 0, 700, 701, 0, 702, 0, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 1521, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 0, 1500, 130, 1501, 1502, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1503, 1504, 461, 0, 462, 463, 464, 465, 0, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 1505, 1506, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 0, 517, 518, 519, 520, 0, 0, 521, 0, 522, 523, 524, 1508, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 0, 0, 0, 533, 534, 0, 535, 536, 769, 537, 1509, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 0, 0, 551, 552, 553, 1510, 1511, 0, 1512, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 0, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1513, 185, 1514, 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, 0, 590, 591, 190, 592, 0, 0, 593, 1515, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 0, 194, 604, 195, 0, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 0, 617, 0, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1516, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 0, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 1517, 671, 672, 216, 673, 674, 1518, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 0, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1519, 1520, 0, 0, 700, 701, 0, 702, 0, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 1521, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 0, 1500, 130, 1501, 1502, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1503, 1504, 461, 0, 462, 463, 464, 465, 0, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 1505, 1506, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 0, 517, 518, 519, 520, 0, 0, 521, 0, 522, 523, 524, 1508, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 0, 0, 0, 533, 534, 0, 535, 536, 769, 537, 1570, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 0, 0, 551, 552, 553, 1510, 1511, 0, 1512, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 0, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1513, 185, 1514, 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, 0, 590, 591, 190, 592, 0, 0, 593, 1515, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 0, 194, 604, 195, 0, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 0, 617, 0, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1516, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 0, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 1517, 671, 672, 216, 673, 674, 1518, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 0, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1519, 1520, 0, 0, 700, 701, 0, 702, 0, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 1521, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 0, 1500, 130, 1501, 1502, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1503, 1504, 461, 0, 462, 463, 464, 465, 0, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 1505, 1506, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 0, 517, 518, 519, 520, 0, 0, 521, 0, 522, 523, 524, 1508, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 0, 0, 0, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 0, 0, 551, 552, 553, 1510, 1511, 0, 1512, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 0, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1513, 185, 1514, 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, 0, 590, 591, 190, 592, 0, 0, 593, 1515, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 0, 194, 604, 195, 0, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 0, 617, 0, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1516, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 0, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 1517, 671, 672, 216, 673, 674, 1518, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 0, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1519, 1520, 0, 0, 700, 701, 0, 702, 0, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 1521, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 0, 1500, 130, 1501, 1502, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1503, 1504, 461, 0, 462, 463, 464, 465, 0, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 1505, 1506, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 0, 517, 518, 519, 520, 0, 0, 521, 0, 522, 523, 524, 1508, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 0, 0, 0, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 0, 0, 551, 552, 553, 1510, 1511, 0, 1512, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 0, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1513, 185, 1514, 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, 0, 590, 591, 190, 592, 0, 0, 593, 1515, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 0, 194, 604, 195, 0, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 0, 617, 0, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1516, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 0, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 3123, 671, 672, 216, 673, 674, 1518, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 0, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1519, 1520, 0, 0, 700, 701, 0, 702, 0, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 1521, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 0, 1500, 130, 1501, 1502, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1503, 1504, 461, 0, 462, 463, 464, 465, 0, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 1505, 1506, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 1507, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 0, 517, 518, 519, 520, 0, 0, 521, 0, 522, 523, 524, 1508, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 0, 0, 0, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 0, 0, 551, 552, 553, 1510, 1511, 0, 1512, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 0, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 1513, 185, 1514, 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, 0, 590, 591, 190, 592, 0, 0, 593, 1515, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 0, 194, 604, 195, 0, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 0, 617, 0, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1516, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 0, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 0, 671, 672, 216, 673, 674, 1518, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 0, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 1519, 1520, 0, 0, 700, 701, 0, 702, 0, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 1521, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 733, 734, 797, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 798, 98, 99, 753, 799, 0, 101, 102, 103, 104, 800, 801, 106, 107, 108, 0, 109, 802, 803, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 0, 0, 130, 0, 0, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 0, 461, 0, 462, 463, 464, 465, 0, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 767, 488, 0, 0, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 0, 517, 518, 519, 520, 0, 0, 521, 0, 522, 523, 524, 0, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 0, 0, 0, 533, 534, 0, 535, 536, 769, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 0, 0, 551, 552, 553, 0, 0, 0, 0, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 0, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 0, 185, 0, 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, 0, 590, 591, 190, 592, 0, 0, 593, 0, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 0, 194, 604, 195, 0, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 0, 617, 0, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 0, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 0, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 0, 671, 672, 216, 673, 674, 0, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 0, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 0, 0, 0, 0, 700, 701, 0, 702, 0, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 0, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 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, 431, 432, 433, 434, 435, 436, 437, 438, 804, 439, 440, 441, 805, 806, 807, 808, 809, 810, 811, 442, 443, 444, 812, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 813, 452, 453, 454, 455, 456, 457, 458, 814, 815, 459, 460, 0, 134, 461, 817, 462, 463, 464, 465, 138, 818, 139, 819, 466, 467, 468, 469, 470, 471, 142, 472, 473, 820, 821, 474, 475, 476, 477, 478, 479, 822, 145, 480, 481, 0, 824, 825, 826, 146, 827, 828, 829, 484, 485, 486, 487, 0, 488, 149, 150, 489, 830, 490, 831, 491, 492, 493, 494, 495, 496, 497, 832, 498, 499, 500, 501, 833, 834, 502, 503, 504, 505, 506, 835, 507, 508, 509, 836, 510, 511, 512, 837, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 838, 521, 839, 522, 523, 524, 162, 525, 840, 526, 841, 527, 163, 842, 164, 528, 529, 530, 531, 843, 532, 166, 844, 167, 533, 534, 845, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 846, 543, 544, 545, 546, 547, 548, 549, 847, 550, 170, 171, 0, 551, 552, 553, 0, 172, 850, 173, 851, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 852, 853, 561, 177, 178, 562, 179, 854, 563, 564, 565, 855, 856, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 857, 590, 591, 190, 592, 858, 191, 593, 192, 594, 595, 596, 859, 597, 598, 860, 861, 599, 600, 601, 862, 863, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 864, 615, 616, 197, 617, 198, 618, 619, 620, 865, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 866, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 867, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 868, 663, 664, 665, 666, 667, 869, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 870, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 871, 690, 691, 872, 692, 221, 693, 694, 695, 696, 697, 873, 698, 222, 223, 0, 875, 700, 701, 224, 702, 225, 876, 703, 704, 705, 706, 707, 708, 709, 710, 0, 878, 711, 712, 713, 714, 715, 879, 880, 716, 717, 718, 719, 720, 0, 232, 882, 721, 233, 722, 723, 724, 725, 883, 884, 726, 885, 886, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 0, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 3160, 462, 463, 464, 465, 138, 0, 0, 3229, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 3161, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 3230, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 3163, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 3231, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 3164, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 3165, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 3160, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 3161, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 3230, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 3163, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 4260, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 3164, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 3165, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 1162, 437, 438, 1113, 439, 1114, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 1115, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 1163, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 1116, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 1117, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 1113, 439, 1114, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 1115, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 3949, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 1116, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 1117, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 3160, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 3161, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 3230, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 3163, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 3164, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 3165, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 763, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 766, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 768, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 1113, 439, 1114, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 1115, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 1116, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 1117, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 3462, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 3293, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 1197, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 3294, 3295, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 1011, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 1012, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 1013, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 1269, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 2401, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 2402, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 2403, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 2404, 527, 0, 0, 0, 2405, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 2406, 2407, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 2408, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 2409, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 2410, 654, 209, 655, 656, 657, 2411, 659, 660, 661, 772, 662, 0, 2412, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 2413, 692, 0, 2414, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 2415, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 1114, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 1115, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 1116, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 1117, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 3293, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 1197, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 3294, 3295, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 2390, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 3807, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 3808, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 3097, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 3809, 692, 0, 693, 3810, 695, 3811, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 3812, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 790, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 768, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 958, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 1359, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1360, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 1197, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 1483, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 4028, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 4029, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 4041, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 4042, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 1017, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 1074, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 430, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 1132, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 1197, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 1316, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1317, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 1790, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1975, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 1197, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 2032, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 2033, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 2263, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 2390, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 3097, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 5170, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 5184, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 5280, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 5350, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 1144, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 1146, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1147, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 1148, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 1149, 223, 0, 0, 1150, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 1151, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 1191, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1147, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 1192, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 1193, 223, 0, 0, 1194, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 1151, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 1211, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1341, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1351, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1354, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1370, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1427, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1432, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1448, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1451, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1453, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1498, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1564, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1566, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1576, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1579, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 1582, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 1801, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 1176, 460, 1147, 134, 1802, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 1180, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 1181, 651, 652, 653, 654, 209, 655, 656, 657, 1182, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 1794, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 1184, 223, 0, 0, 1185, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 1151, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 1186, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 1922, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 1923, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 1146, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1147, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 1151, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 2212, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 2246, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 2248, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 2324, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 2326, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 2328, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 2442, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 3062, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 0, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 3507, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 3511, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 3596, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 3960, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 4017, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 4031, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 4033, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 4181, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 4221, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 5463, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 1176, 460, 1147, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 1180, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 1181, 651, 652, 653, 654, 209, 655, 656, 657, 1182, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 1794, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 1184, 223, 0, 0, 1185, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 1151, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 1186, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 1147, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 1151, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 1176, 460, 1147, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 1180, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 1181, 651, 652, 653, 654, 209, 655, 656, 657, 1182, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 1794, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 3147, 694, 695, 696, 697, 0, 698, 1184, 223, 0, 0, 1185, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 1151, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 1186, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 1176, 460, 1147, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 1180, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 1181, 651, 652, 653, 654, 209, 655, 656, 657, 3212, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 3213, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 1184, 223, 0, 0, 3214, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 1151, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 1186, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 1176, 460, 1147, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 1180, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 1181, 651, 652, 653, 654, 209, 655, 656, 657, 3290, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 3213, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 1184, 223, 0, 0, 3214, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 1151, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 1186, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 1176, 460, 1147, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 1180, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 1181, 651, 652, 653, 654, 209, 655, 656, 657, 3314, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 3213, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 1184, 223, 0, 0, 3214, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 1151, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 1186, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 1176, 460, 1147, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 1180, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 1181, 651, 652, 653, 654, 209, 655, 656, 657, 1182, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 3213, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 1184, 223, 0, 0, 3214, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 1151, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 1186, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 750, 84, 85, 86, 751, 0, 752, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 753, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 754, 755, 0, 0, 0, 756, 757, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 760, 0, 761, 762, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 0, 449, 450, 451, 128, 129, 0, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 764, 134, 461, 0, 462, 463, 464, 465, 138, 0, 0, 0, 466, 467, 468, 469, 470, 471, 0, 472, 473, 765, 0, 474, 475, 476, 477, 478, 479, 0, 0, 480, 481, 0, 0, 0, 0, 0, 0, 0, 0, 484, 485, 486, 487, 767, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 0, 0, 0, 528, 529, 530, 531, 0, 532, 166, 0, 167, 0, 534, 0, 535, 536, 769, 537, 538, 0, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 0, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 0, 0, 555, 0, 556, 557, 558, 559, 560, 0, 0, 561, 177, 0, 562, 0, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 770, 577, 578, 771, 579, 580, 581, 184, 0, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 0, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 0, 604, 0, 196, 605, 606, 607, 608, 609, 610, 611, 0, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 0, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 0, 650, 651, 652, 653, 654, 209, 0, 656, 657, 658, 659, 660, 661, 772, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 0, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 0, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 773, 232, 0, 721, 0, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 774, 733, 734, 81, 82, 0, 84, 85, 86, 0, 0, 0, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 0, 0, 0, 101, 102, 103, 104, 0, 105, 106, 107, 108, -3267, 109, 110, 111, 0, 0, 0, 0, 0, 114, 115, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 118, 0, 119, 120, 35, 0, 425, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 128, 129, 130, 131, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, 138, 0, 139, 0, 0, 0, 0, 0, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 163, 0, 164, 0, 0, 0, 0, 0, 0, 166, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 171, 0, 0, 0, 0, 0, 172, 0, 173, 0, 0, 174, 175, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, 187, 188, 0, 0, 0, 0, 190, 0, 0, 191, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 0, 195, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 0, 0, 216, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 222, 223, 0, 0, 0, 0, 224, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 81, 82, 0, 84, 85, 86, 0, 0, 0, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 0, 0, 0, 101, 102, 103, 104, 0, 105, 106, 107, 108, -3268, 109, 110, 111, 0, 0, 0, 0, 0, 114, 115, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 118, 0, 119, 120, 35, 0, 1264, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 128, 129, 130, 131, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, 138, 0, 139, 0, 0, 0, 0, 0, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 163, 0, 164, 0, 0, 0, 0, 0, 0, 166, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 171, 0, 0, 0, 0, 0, 172, 0, 173, 0, 0, 174, 175, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, 187, 188, 0, 0, 0, 0, 190, 0, 0, 191, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 0, 195, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 0, 0, 216, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 222, 223, 0, 0, 0, 0, 224, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 81, 82, 0, 84, 85, 86, 0, 0, 0, 89, 0, 0, 92, 93, 94, 95, 96, 97, 0, 98, 99, 0, 0, 0, 101, 102, 103, 104, 0, 0, 106, 107, 108, 0, 109, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 128, 129, 130, 131, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, 138, 0, 139, 0, 0, 0, 0, 0, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 163, 0, 164, 0, 0, 0, 0, 0, 0, 166, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 171, 0, 0, 0, 0, 0, 172, 0, 173, 0, 0, 174, 175, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 185, 186, 0, 0, 0, 0, 0, 0, 0, 187, 188, 0, 0, 0, 0, 190, 0, 0, 191, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 0, 195, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 0, 0, 216, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 222, 223, 0, 0, 0, 0, 224, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 35, 430, 0, 0, 37, 0, 38, 39, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 2169, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 2170, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 2171, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 0, 733, 734, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1880, 1881, 6204, 0, 0, 0, 0, 0, 0, 6205, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 123, 124, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 212, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 220, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 231, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 234, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 0, 733, 734, 0, 0, 246, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 2495, 0, 0, 2496, 0, 0, 247, 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2515, 0, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 0, 0, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 0, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 2588, 0, 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 0, 2623, 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 0, 0, 2635, 2636, 2637, 2638, 0, 2639, 2640, 2641, 2642, 0, 2643, 2644, 2645, 2646, 2647, 0, 2648, 2649, 0, 2650, 2651, 2652, 0, 2653, 2654, 0, 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 0, 2680, 0, 2681, 2682, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2697, 0, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2710, 2711, 2712, 2713, 0, 2714, 2715, 0, 2716, 2717, 2718, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 0, 2744, 2745, 0, 2746, 2747, 2748, 2749, 2750, 0, 2751, 2752, 2753, 2754, 0, 0, 2755, 2756, 2757, 2758, 2759, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767, 2768, 2769, 2770, 0, 2771, 2772, 2773, 2774, 2775, 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, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819, 0, 2820, 2821, 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829, 2830, 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, 2864, 2865, 2866, 2867, 2868, 0, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883, 0, 2884, 2885, 2886, 2887, 2888, 2889, 2890, 2891, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2899, 0, 2900, 2901, 2902, 2903, 2904, 2905, 0, 2906, 0, 0, 0, 0, 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 0, 2922, 2923, 2924, 0, 0, 0, 0, 0, 0, 0, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 35, 430, 0, 0, 37, 0, 38, 39, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 0, 488, 149, 150, 489, 2987, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 2169, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 2170, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 2171, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 0, 733, 734, 0, 35, 430, 0, 0, 37, 0, 38, 39, 0, 0, 1880, 1881, 40, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 0, 488, 149, 150, 489, 2992, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 2169, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 2170, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 2171, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 0, 733, 734, 0, 35, 430, 0, 0, 37, 0, 38, 39, 0, 0, 1880, 1881, 40, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 0, 488, 149, 150, 489, 3942, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 2169, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 2170, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 2171, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 0, 733, 734, 0, 35, 430, 0, 0, 37, 0, 38, 39, 0, 0, 1880, 1881, 40, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 2169, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 2170, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 2171, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 0, 733, 734, 35, 430, 0, 0, 37, 0, 0, 39, 0, 0, 0, 1880, 1881, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 482, 146, 0, 0, 483, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 668, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 699, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 0, 733, 734, 35, 430, 0, 0, 37, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 482, 146, 0, 0, 483, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 668, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 35, 733, 734, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 1345, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 482, 146, 0, 0, 483, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 668, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 35, 733, 734, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 1366, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 482, 146, 0, 0, 483, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 1367, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 668, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 35, 733, 734, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 482, 146, 0, 0, 483, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 668, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 3386, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 35, 733, 734, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 482, 146, 0, 0, 483, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 4421, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 668, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 35, 733, 734, 0, 37, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 2169, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 2170, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 2171, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 35, 733, 734, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 482, 146, 0, 0, 483, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 668, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 35, 733, 734, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 482, 146, 0, 0, 483, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 1459, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 668, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 35, 733, 734, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 482, 146, 0, 0, 483, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 1547, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 668, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 35, 733, 734, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 482, 146, 0, 0, 483, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 1560, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 668, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 35, 733, 734, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 482, 146, 0, 0, 483, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 1572, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 1573, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 668, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 35, 733, 734, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 123, 124, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 35, 733, 734, 0, 37, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 0, 488, 149, 150, 489, 2972, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 35, 733, 734, 0, 37, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 35, 733, 734, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 432, 433, 434, 435, 436, 437, 438, 0, 439, 440, 441, 0, 0, 0, 0, 0, 0, 0, 442, 443, 444, 0, 445, 446, 447, 448, 126, 449, 450, 451, 128, 129, 130, 131, 132, 0, 452, 453, 454, 455, 456, 457, 458, 0, 0, 459, 460, 0, 134, 461, 0, 462, 463, 464, 465, 138, 0, 139, 0, 466, 467, 468, 469, 470, 471, 142, 472, 473, 0, 0, 474, 475, 476, 477, 478, 479, 0, 145, 480, 481, 0, 0, 0, 0, 146, 0, 0, 0, 484, 485, 486, 487, 0, 488, 149, 150, 489, 0, 490, 0, 491, 492, 493, 494, 495, 496, 497, 0, 498, 499, 500, 501, 0, 0, 502, 503, 504, 505, 506, 0, 507, 508, 509, 0, 510, 511, 512, 0, 513, 514, 515, 516, 158, 517, 518, 519, 520, 160, 0, 521, 0, 522, 523, 524, 162, 525, 0, 526, 0, 527, 163, 0, 164, 528, 529, 530, 531, 0, 532, 166, 0, 167, 533, 534, 0, 535, 536, 0, 537, 538, 168, 539, 540, 541, 542, 0, 543, 544, 545, 546, 547, 548, 549, 0, 550, 170, 171, 0, 551, 552, 553, 0, 172, 0, 173, 0, 554, 174, 175, 555, 176, 556, 557, 558, 559, 560, 0, 0, 561, 177, 178, 562, 179, 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 579, 580, 581, 184, 185, 186, 582, 583, 584, 585, 586, 587, 588, 187, 188, 589, 0, 590, 591, 190, 592, 0, 191, 593, 192, 594, 595, 596, 0, 597, 598, 0, 0, 599, 600, 601, 0, 0, 602, 603, 193, 194, 604, 195, 196, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 0, 615, 616, 197, 617, 198, 618, 619, 620, 0, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 200, 631, 632, 633, 634, 0, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 0, 648, 649, 207, 650, 651, 652, 653, 654, 209, 655, 656, 657, 658, 659, 660, 661, 0, 662, 0, 663, 664, 665, 666, 667, 0, 669, 670, 214, 671, 672, 216, 673, 674, 217, 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 219, 689, 0, 690, 691, 0, 692, 221, 693, 694, 695, 696, 697, 0, 698, 222, 223, 0, 0, 700, 701, 224, 702, 225, 0, 703, 704, 705, 706, 707, 708, 709, 710, 0, 0, 711, 712, 713, 714, 715, 0, 0, 716, 717, 718, 719, 720, 0, 232, 0, 721, 233, 722, 723, 724, 725, 0, 0, 726, 0, 0, 727, 728, 729, 730, 731, 732, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 0, 733, 734 }; static const yytype_int16 yycheck[] = { 2, 73, 73, 73, 73, 918, 73, 73, 247, 110, 73, 73, 2, 926, 73, 148, 929, 73, 151, 73, 79, 73, 73, 220, 73, 73, 73, 73, 73, 73, 110, 1389, 73, 1381, 982, 1352, 393, 923, 393, 1229, 206, 376, 1178, 161, 1173, 1195, 88, 1223, 1210, 1225, 133, 110, 1630, 1050, 226, 156, 1550, 2023, 1115, 1116, 1117, 1385, 2084, 923, 1121, 183, 199, 1064, 1301, 1932, 1961, 1517, 1353, 1027, 1201, 3165, 156, 1143, 2007, 1379, 1202, 83, 2364, 125, 1666, 73, 3455, 159, 1185, 90, 795, 79, 1505, 1506, 2000, 1454, 159, 156, 1520, 100, 909, 3520, 1515, 3822, 205, 147, 148, 3663, 4021, 151, 2012, 2242, 213, 1076, 215, 157, 2007, 2430, 1369, 4101, 1535, 3876, 982, 1352, 4297, 110, 3640, 228, 110, 165, 1068, 2961, 1361, 2153, 4324, 136, 3994, 2000, 3127, 3128, 1522, 3482, 1371, 919, 3884, 147, 2447, 4681, 228, 4346, 151, 153, 928, 2119, 2120, 2049, 2050, 199, 4047, 2053, 4049, 1277, 1277, 1545, 125, 1277, 942, 1318, 4624, 228, 206, 156, 3374, 1555, 156, 796, 1258, 1559, 1429, 181, 122, 1563, 1433, 1565, 1847, 1045, 1313, 1438, 3467, 1571, 963, 1443, 1343, 2299, 378, 1577, 1447, 1348, 1580, 4247, 363, 378, 3886, 1079, 980, 1063, 1458, 1990, 1938, 1460, 986, 2113, 1874, 1875, 1876, 1048, 83, 4957, 1051, 2350, 4677, 205, 998, 1106, 1869, 1870, 961, 1181, 4973, 4969, 4918, 215, 5665, 4956, 4759, 4585, 213, 1319, 2140, 246, 3850, 2955, 5793, 228, 5627, 3746, 228, 4961, 1499, 3002, 5494, 161, 2, 3041, 1503, 1504, 5444, 3043, 5282, 1613, 1588, 3773, 3919, 2046, 4311, 1514, 1393, 3020, 5708, 3352, 4379, 5249, 4960, 183, 5643, 1226, 5645, 5829, 4646, 1226, 2063, 5823, 1695, 1696, 5841, 1272, 1273, 4584, 20, 4586, 29, 76, 1027, 1071, 161, 83, 13, 76, 76, 4724, 3482, 9, 1715, 1725, 1537, 5493, 1011, 1389, 1310, 5115, 5750, 6065, 384, 384, 384, 384, 183, 384, 384, 83, 107, 384, 384, 76, 1973, 76, 123, 2221, 384, 76, 384, 76, 384, 384, 393, 384, 384, 384, 384, 384, 384, 1343, 76, 384, 163, 1080, 1348, 6048, 94, 92, 116, 85, 86, 70, 70, 13, 76, 903, 75, 76, 116, 78, 79, 190, 81, 76, 1423, 76, 13, 428, 76, 1096, 76, 104, 76, 1100, 1101, 1102, 76, 76, 3463, 85, 86, 85, 86, 1110, 188, 429, 76, 3890, 76, 1274, 1275, 76, 132, 215, 132, 85, 86, 132, 237, 1467, 188, 188, 5502, 393, 1141, 112, 79, 243, 190, 161, 70, 5757, 5758, 70, 3420, 266, 3422, 3423, 75, 76, 101, 3427, 3428, 3429, 81, 3431, 3432, 3433, 286, 120, 70, 183, 1596, 1684, 1685, 75, 132, 154, 428, 249, 1952, 81, 2469, 254, 1181, 1597, 5064, 5065, 5066, 4976, 5068, 5069, 5070, 5071, 5072, 242, 76, 83, 249, 1710, 208, 290, 160, 5489, 70, 85, 86, 70, 1175, 75, 76, 1208, 78, 79, 83, 81, 1837, 5782, 81, 1444, 5949, 149, 132, 1220, 221, 1400, 168, 270, 244, 1404, 221, 1406, 160, 1819, 160, 149, 160, 396, 83, 245, 292, 99, 112, 132, 1806, 114, 6262, 69, 237, 377, 348, 73, 341, 6067, 76, 1403, 357, 83, 370, 180, 244, 5963, 188, 4950, 183, 70, 337, 69, 70, 114, 75, 73, 403, 75, 76, 149, 81, 345, 147, 81, 98, 1403, 388, 5914, 98, 337, 905, 105, 905, 6252, 192, 132, 193, 149, 486, 242, 446, 3310, 1557, 94, 108, 243, 147, 156, 160, 100, 370, 6616, 313, 83, 399, 149, 83, 132, 510, 98, 398, 520, 526, 372, 1744, 473, 105, 1394, 5830, 98, 1654, 204, 49, 242, 181, 356, 105, 149, 276, 416, 361, 242, 560, 258, 114, 147, 358, 114, 2224, 0, 67, 92, 149, 291, 572, 149, 141, 748, 749, 1767, 1745, 509, 411, 301, 242, 183, 2070, 242, 2244, 573, 187, 570, 560, 1781, 6679, 160, 3816, 147, 570, 228, 147, 3390, 1637, 280, 572, 242, 488, 1772, 452, 287, 188, 329, 394, 203, 198, 522, 1389, 6409, 1653, 699, 448, 318, 5790, 1811, 1812, 322, 321, 280, 516, 324, 69, 210, 1667, 393, 73, 570, 510, 208, 356, 341, 2002, 417, 319, 417, 570, 427, 417, 281, 413, 242, 532, 432, 529, 195, 219, 474, 3876, 2205, 440, 699, 258, 445, 1862, 486, 3884, 6170, 570, 514, 748, 749, 6011, 6261, 464, 4759, 239, 448, 516, 193, 572, 1671, 508, 448, 486, 181, 1804, 417, 573, 1608, 1602, 1809, 1810, 418, 1613, 475, 512, 570, 477, 414, 570, 4785, 221, 456, 937, 519, 422, 5483, 6498, 285, 573, 1976, 1294, 515, 570, 92, 242, 795, 573, 486, 4929, 428, 159, 515, 132, 321, 508, 506, 324, 573, 471, 307, 570, 417, 92, 4684, 133, 570, 560, 560, 462, 463, 510, 436, 36, 98, 38, 570, 573, 500, 5592, 572, 531, 568, 417, 570, 570, 572, 6495, 491, 2445, 4970, 456, 515, 901, 2053, 566, 2151, 2152, 2034, 2469, 515, 1586, 2090, 4792, 456, 213, 5163, 6058, 2478, 4798, 570, 2396, 570, 486, 901, 531, 570, 486, 570, 6580, 570, 2079, 568, 510, 2082, 564, 531, 486, 573, 570, 573, 417, 4579, 573, 1080, 901, 552, 561, 562, 905, 1801, 6400, 2149, 570, 2103, 2104, 6197, 552, 5223, 6413, 6399, 2352, 570, 417, 570, 389, 471, 570, 5162, 570, 5164, 570, 508, 242, 272, 570, 570, 486, 6629, 436, 6428, 1603, 573, 1013, 1606, 570, 2034, 1609, 474, 1611, 570, 573, 1614, 547, 1829, 486, 1618, 1229, 967, 1978, 967, 967, 455, 967, 967, 1889, 2316, 1855, 6345, 1988, 562, 1855, 2403, 486, 5020, 5021, 5022, 5023, 5024, 901, 905, 6358, 901, 1083, 2415, 573, 561, 562, 573, 967, 570, 4976, 488, 1127, 4445, 486, 3922, 455, 3924, 1671, 92, 6307, 563, 564, 565, 566, 2325, 455, 428, 573, 486, 6500, 5565, 486, 2333, 570, 573, 101, 98, 573, 561, 562, 566, 561, 562, 964, 5941, 3070, 448, 4879, 4479, 2158, 1011, 2222, 1013, 313, 532, 573, 1093, 503, 1095, 379, 1097, 563, 564, 565, 566, 525, 1103, 529, 547, 5035, 2071, 193, 313, 2074, 2075, 573, 3825, 1998, 561, 562, 563, 564, 565, 566, 4282, 3110, 1202, 510, 1079, 3114, 552, 1128, 1129, 4669, 6257, 474, 570, 573, 259, 561, 562, 4878, 561, 562, 2377, 568, 1027, 1028, 6579, 572, 2383, 508, 6471, 1074, 2361, 1218, 132, 1078, 1234, 6168, 6063, 141, 1218, 92, 6173, 6174, 2047, 2295, 2296, 286, 181, 193, 6239, 561, 562, 563, 564, 565, 566, 4141, 4142, 432, 157, 2064, 4146, 381, 182, 1801, 3855, 6256, 1071, 3856, 254, 222, 92, 1809, 1810, 1077, 280, 1179, 2494, 570, 1071, 1183, 242, 188, 341, 3839, 28, 76, 237, 242, 432, 76, 2041, 1095, 286, 1097, 242, 94, 94, 501, 24, 286, 2185, 200, 181, 1107, 3996, 509, 356, 432, 512, 1309, 357, 266, 6666, 286, 357, 219, 192, 254, 266, 432, 440, 286, 76, 2288, 1128, 1129, 132, 1132, 919, 5820, 1175, 286, 1177, 477, 280, 239, 92, 928, 104, 167, 4644, 1203, 157, 193, 5005, 193, 521, 5684, 76, 6332, 270, 942, 477, 6539, 6401, 313, 204, 242, 478, 6260, 480, 1166, 506, 94, 2491, 486, 137, 428, 92, 100, 3887, 1176, 4785, 145, 411, 1180, 1181, 1182, 2041, 193, 242, 506, 1095, 4941, 1097, 200, 76, 531, 404, 980, 242, 2251, 94, 4279, 156, 986, 5724, 1973, 83, 1179, 337, 1211, 372, 1183, 266, 96, 531, 998, 157, 208, 208, 287, 1203, 1177, 2367, 1128, 1129, 529, 4225, 6655, 248, 94, 2047, 1093, 286, 1095, 570, 1097, 119, 1303, 280, 92, 438, 1103, 24, 80, 13, 337, 83, 2064, 552, 411, 87, 88, 89, 570, 362, 508, 286, 486, 92, 200, 573, 1357, 1358, 4247, 222, 570, 1128, 1129, 313, 3127, 147, 370, 414, 1258, 280, 1272, 1273, 510, 6706, 233, 1277, 2412, 2413, 5628, 375, 208, 428, 1383, 430, 2446, 2447, 94, 1277, 389, 529, 534, 2453, 100, 92, 313, 438, 3198, 2459, 2460, 2461, 3229, 5491, 515, 1383, 5477, 508, 294, 286, 2470, 208, 362, 337, 6410, 356, 2476, 432, 6030, 6057, 5515, 510, 417, 1071, 477, 570, 1383, 2322, 510, 486, 570, 1319, 5243, 514, 6077, 6056, 438, 6075, 574, 278, 208, 2336, 4681, 6029, 474, 1093, 491, 1095, 6060, 1097, 445, 141, 4339, 506, 2349, 1103, 1104, 1105, 473, 474, 510, 282, 313, 2488, 346, 375, 360, 508, 442, 4256, 3031, 337, 474, 6059, 3274, 1357, 1358, 525, 531, 372, 1128, 1129, 514, 529, 432, 479, 529, 354, 188, 1389, 5813, 3409, 106, 1258, 313, 281, 4576, 346, 188, 4579, 1383, 1389, 208, 1383, 503, 573, 486, 1272, 1273, 2320, 6506, 3139, 1277, 573, 516, 432, 417, 570, 411, 2355, 242, 415, 416, 346, 574, 80, 266, 529, 3071, 477, 3073, 375, 87, 88, 89, 2168, 5174, 3218, 2294, 486, 5178, 6619, 574, 243, 266, 266, 372, 2331, 288, 494, 552, 445, 445, 510, 1319, 570, 246, 313, 506, 337, 477, 346, 573, 508, 286, 508, 2402, 258, 570, 479, 2406, 2278, 2330, 2331, 188, 2411, 313, 510, 2414, 3499, 560, 432, 6578, 531, 5939, 411, 1272, 1273, 2319, 506, 514, 2347, 572, 234, 6590, 162, 2377, 282, 2372, 508, 76, 4681, 2383, 2334, 372, 6430, 2337, 1744, 391, 251, 1258, 6420, 247, 432, 531, 6253, 313, 574, 358, 445, 513, 2467, 570, 573, 1389, 191, 477, 568, 167, 1277, 321, 572, 1602, 510, 6630, 479, 1476, 5049, 205, 5221, 69, 218, 342, 411, 73, 193, 94, 5059, 187, 965, 909, 341, 388, 570, 5441, 506, 346, 127, 477, 918, 208, 183, 171, 1918, 6660, 1918, 372, 926, 167, 4986, 929, 1319, 307, 342, 2405, 13, 432, 445, 2409, 2410, 531, 362, 317, 222, 254, 1585, 1586, 506, 1588, 6685, 411, 332, 236, 356, 415, 432, 262, 1585, 1586, 389, 1588, 188, 2948, 4942, 6513, 411, 1605, 284, 1607, 2467, 1650, 1610, 531, 1612, 3518, 405, 1615, 1616, 1617, 570, 3000, 477, 6045, 97, 445, 6157, 243, 197, 2950, 1628, 159, 6054, 2954, 372, 377, 432, 258, 121, 188, 445, 477, 1389, 251, 5831, 1643, 436, 1645, 1647, 362, 248, 506, 570, 488, 3514, 1070, 6406, 6407, 3518, 1840, 1841, 208, 1843, 1857, 1824, 1859, 1840, 1841, 337, 1843, 506, 548, 1671, 411, 1032, 2445, 531, 6601, 167, 5724, 3123, 477, 423, 1041, 212, 6107, 362, 160, 570, 510, 1048, 3713, 3714, 1051, 247, 531, 3718, 532, 109, 6000, 321, 6002, 182, 372, 358, 6006, 6007, 445, 357, 529, 506, 510, 123, 239, 503, 570, 6420, 218, 6171, 558, 559, 560, 561, 562, 563, 564, 565, 566, 24, 337, 6638, 351, 552, 3836, 570, 531, 3758, 3759, 34, 386, 508, 384, 411, 242, 478, 357, 480, 1746, 1787, 1788, 4949, 2369, 1167, 574, 307, 341, 1755, 377, 356, 248, 376, 7, 4941, 4942, 10, 11, 351, 266, 179, 407, 1769, 244, 506, 4759, 570, 21, 22, 23, 261, 25, 26, 101, 310, 266, 30, 31, 32, 286, 445, 111, 270, 571, 377, 573, 428, 474, 486, 346, 3153, 4785, 438, 351, 1801, 304, 181, 1804, 1805, 351, 128, 6513, 1809, 1810, 1868, 1869, 1870, 436, 203, 1804, 4905, 6241, 303, 419, 1809, 1810, 321, 372, 502, 377, 570, 1787, 1788, 6581, 570, 377, 371, 451, 474, 160, 1585, 1586, 1938, 1588, 138, 237, 372, 514, 432, 560, 1887, 2996, 403, 1949, 190, 253, 248, 568, 292, 570, 571, 572, 573, 1938, 1918, 4943, 411, 244, 4867, 356, 279, 69, 1926, 4872, 266, 73, 109, 483, 237, 6047, 516, 6066, 529, 190, 1938, 573, 1869, 1870, 1868, 6340, 123, 317, 1889, 529, 1990, 1880, 1881, 5632, 183, 3556, 445, 260, 5637, 337, 445, 5640, 558, 559, 560, 561, 562, 563, 564, 565, 566, 190, 552, 2109, 573, 529, 1905, 1906, 393, 3054, 243, 432, 247, 478, 337, 480, 445, 1887, 419, 529, 570, 1918, 6638, 181, 570, 370, 98, 436, 1804, 1926, 264, 5, 179, 1809, 1810, 270, 2046, 477, 570, 479, 432, 506, 341, 276, 1938, 430, 570, 1938, 337, 423, 24, 399, 201, 2063, 478, 450, 480, 522, 291, 258, 34, 571, 211, 6397, 574, 360, 6509, 358, 301, 290, 6283, 245, 307, 570, 282, 2055, 188, 372, 4976, 1978, 2060, 473, 474, 5174, 3109, 3109, 398, 5178, 3109, 1988, 3228, 5858, 5557, 438, 3320, 486, 346, 570, 3089, 510, 448, 290, 2050, 445, 489, 2053, 491, 428, 570, 337, 495, 434, 293, 1889, 570, 421, 411, 429, 573, 73, 341, 445, 321, 371, 1394, 324, 361, 445, 529, 474, 1400, 203, 279, 372, 1404, 509, 1406, 188, 231, 460, 133, 3713, 3714, 231, 573, 1804, 3718, 3919, 141, 570, 1809, 1810, 341, 203, 2134, 205, 6255, 3929, 2138, 6493, 508, 3564, 3153, 574, 138, 5443, 574, 6273, 326, 560, 571, 516, 2071, 574, 225, 2074, 2075, 2088, 399, 488, 6504, 6505, 3320, 411, 529, 2096, 3758, 3759, 510, 422, 337, 6634, 1889, 2203, 242, 4126, 4011, 445, 1468, 190, 1470, 1471, 1978, 372, 5482, 159, 445, 552, 259, 3370, 399, 304, 1988, 5678, 2203, 5680, 304, 5467, 266, 1878, 3358, 1880, 1881, 372, 5852, 570, 521, 385, 371, 341, 6028, 573, 428, 207, 346, 2203, 573, 436, 407, 4011, 1899, 6575, 411, 478, 3535, 480, 1905, 1906, 570, 573, 371, 4461, 3543, 427, 3392, 573, 491, 413, 6080, 433, 353, 5910, 411, 190, 3300, 454, 440, 107, 503, 3560, 183, 506, 574, 2221, 5462, 4204, 445, 321, 474, 3570, 324, 4210, 3573, 274, 3575, 3576, 2185, 434, 3579, 129, 341, 341, 3583, 247, 3585, 2071, 4099, 3588, 2074, 2075, 576, 475, 445, 6402, 3403, 3404, 3405, 6631, 282, 2203, 237, 430, 2203, 3373, 307, 191, 2422, 69, 2229, 1978, 3226, 73, 2233, 497, 445, 3486, 3487, 3488, 3489, 1988, 3491, 362, 3298, 3324, 3300, 6102, 121, 4148, 496, 218, 180, 3332, 191, 95, 3335, 258, 337, 274, 547, 372, 341, 220, 231, 520, 438, 3516, 141, 430, 237, 4399, 1080, 102, 103, 238, 2439, 403, 3188, 39, 3190, 3191, 155, 570, 491, 529, 3665, 5625, 5467, 316, 3538, 341, 565, 6009, 4193, 510, 346, 570, 262, 572, 411, 6053, 474, 2372, 436, 428, 3189, 430, 552, 272, 4620, 268, 6499, 439, 341, 570, 435, 284, 403, 159, 321, 2185, 337, 324, 2071, 262, 341, 2074, 2075, 573, 491, 5669, 3189, 1141, 445, 208, 378, 304, 167, 234, 6510, 269, 384, 231, 516, 15, 5684, 397, 474, 237, 2135, 5431, 244, 5433, 439, 488, 218, 4320, 187, 6338, 5871, 2430, 2361, 2430, 2430, 2364, 2430, 2430, 491, 231, 282, 5198, 180, 213, 2361, 237, 2374, 2364, 2376, 3185, 529, 3540, 2380, 2055, 2382, 277, 353, 2385, 2060, 474, 318, 2389, 2430, 222, 322, 362, 522, 411, 570, 532, 1208, 296, 3104, 552, 5405, 2438, 5407, 5408, 5409, 337, 104, 372, 1220, 3348, 21, 3350, 304, 3829, 2516, 3354, 80, 3153, 284, 83, 188, 574, 266, 87, 88, 89, 238, 445, 272, 6343, 6344, 436, 70, 522, 2185, 2516, 6156, 2226, 304, 371, 104, 149, 5625, 81, 231, 2234, 411, 168, 3225, 5632, 237, 3509, 160, 2242, 5637, 2458, 2516, 5640, 2134, 70, 272, 353, 2138, 372, 4490, 4491, 4492, 4493, 529, 237, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4505, 445, 18, 19, 391, 416, 80, 5669, 353, 83, 6663, 342, 343, 87, 88, 89, 529, 362, 432, 168, 5841, 37, 5684, 411, 40, 3468, 529, 318, 439, 415, 104, 322, 411, 573, 529, 529, 2266, 3930, 304, 98, 416, 237, 372, 243, 529, 350, 5721, 461, 459, 4554, 4555, 2516, 502, 3309, 2516, 2323, 379, 445, 552, 445, 573, 491, 2292, 547, 260, 3627, 445, 552, 317, 445, 573, 6464, 2302, 3715, 2304, 399, 276, 416, 573, 573, 2310, 411, 2350, 522, 2314, 3727, 570, 353, 412, 574, 5765, 291, 341, 152, 243, 407, 155, 435, 531, 3961, 423, 301, 161, 531, 141, 415, 445, 438, 331, 294, 147, 372, 3658, 3659, 130, 445, 486, 441, 568, 552, 3762, 571, 572, 160, 552, 2480, 438, 276, 2483, 329, 189, 2361, 355, 3389, 2364, 445, 117, 570, 237, 203, 510, 205, 291, 474, 96, 288, 529, 163, 3818, 472, 411, 188, 301, 190, 415, 571, 356, 502, 574, 140, 571, 260, 474, 3805, 3001, 229, 3001, 119, 80, 552, 4032, 83, 4034, 33, 6567, 87, 88, 89, 501, 5841, 329, 531, 149, 6082, 445, 516, 509, 246, 204, 512, 529, 356, 104, 160, 69, 70, 361, 1347, 529, 343, 259, 6694, 552, 6696, 516, 570, 3624, 3920, 520, 246, 438, 568, 271, 552, 288, 358, 1366, 529, 575, 1369, 570, 552, 422, 6716, 5284, 2455, 2456, 94, 478, 4731, 480, 5291, 2462, 2463, 573, 574, 3997, 274, 563, 570, 552, 320, 107, 568, 570, 570, 474, 572, 5910, 565, 3827, 4309, 491, 69, 570, 5724, 572, 73, 570, 6458, 5965, 75, 4023, 2493, 129, 5970, 5971, 81, 3830, 333, 334, 335, 336, 422, 568, 568, 340, 3670, 572, 3672, 3673, 574, 346, 4729, 358, 4731, 5770, 69, 516, 3998, 1343, 73, 159, 571, 438, 1348, 574, 6118, 4102, 80, 6336, 529, 83, 571, 341, 573, 87, 88, 89, 346, 413, 570, 4721, 572, 4176, 180, 317, 69, 70, 435, 4182, 73, 317, 104, 552, 4707, 4669, 573, 563, 81, 474, 577, 164, 568, 201, 570, 6157, 572, 138, 139, 4951, 208, 570, 159, 211, 85, 86, 4490, 4491, 4492, 4493, 3779, 389, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4505, 573, 574, 4074, 352, 568, 405, 570, 356, 572, 516, 102, 103, 5844, 288, 571, 3667, 573, 5943, 4524, 4444, 4765, 3726, 529, 3728, 3729, 5951, 5952, 573, 6053, 4897, 571, 577, 573, 212, 561, 562, 563, 564, 565, 461, 80, 269, 464, 569, 571, 552, 569, 573, 4554, 4555, 573, 270, 558, 559, 560, 561, 562, 563, 564, 565, 566, 3609, 575, 570, 571, 70, 493, 574, 563, 564, 565, 2275, 320, 6635, 2278, 6259, 3779, 504, 568, 967, 570, 491, 571, 358, 573, 571, 4288, 573, 460, 571, 318, 573, 460, 6118, 322, 460, 529, 3003, 531, 3001, 570, 5226, 572, 503, 260, 3945, 3946, 428, 429, 337, 4375, 4376, 571, 522, 573, 2319, 2320, 333, 334, 335, 336, 558, 559, 560, 561, 562, 563, 564, 565, 566, 2334, 310, 6157, 2337, 2979, 6697, 156, 561, 562, 563, 564, 565, 372, 371, 288, 569, 3155, 3850, 3157, 4244, 571, 571, 573, 573, 4963, 128, 4250, 3197, 571, 571, 573, 573, 4387, 571, 4389, 573, 4391, 3948, 294, 3071, 3001, 3073, 571, 435, 573, 3059, 570, 407, 3975, 576, 571, 411, 573, 571, 6396, 573, 520, 571, 416, 573, 81, 1079, 1080, 372, 571, 3139, 573, 4097, 571, 570, 573, 2405, 4102, 573, 574, 2409, 2410, 3040, 3041, 473, 571, 439, 573, 356, 358, 445, 3139, 432, 571, 3104, 573, 571, 452, 573, 4958, 571, 573, 573, 407, 6413, 4979, 459, 411, 571, 6259, 573, 415, 3139, 128, 571, 3071, 573, 3073, 571, 4153, 573, 522, 478, 3093, 480, 156, 4091, 3830, 478, 3294, 480, 3089, 571, 571, 573, 573, 4682, 4683, 123, 3109, 4686, 445, 3112, 3113, 571, 117, 573, 4112, 4979, 3218, 571, 3109, 573, 549, 3112, 3113, 5691, 5692, 558, 559, 560, 561, 562, 563, 564, 565, 566, 529, 571, 531, 573, 290, 571, 477, 573, 479, 571, 80, 573, 571, 83, 573, 572, 3153, 169, 356, 3139, 3256, 571, 3139, 573, 3260, 428, 429, 6503, 3153, 571, 571, 573, 573, 6509, 571, 571, 573, 573, 1218, 571, 359, 573, 194, 359, 114, 3260, 237, 529, 3284, 531, 571, 121, 573, 571, 203, 573, 205, 571, 529, 573, 212, 571, 3256, 573, 216, 571, 3260, 573, 571, 3284, 573, 3307, 428, 429, 4533, 3212, 2961, 147, 571, 571, 573, 573, 356, 571, 4276, 573, 238, 3089, 359, 241, 3284, 3093, 117, 571, 3347, 573, 6413, 549, 571, 4897, 573, 571, 549, 573, 256, 3975, 571, 3109, 573, 571, 571, 573, 573, 571, 571, 573, 573, 571, 4666, 573, 428, 429, 558, 559, 560, 561, 562, 563, 564, 565, 566, 571, 571, 573, 573, 4267, 3256, 4269, 563, 3256, 3260, 5298, 571, 3260, 573, 290, 216, 3383, 571, 241, 573, 3153, 571, 3290, 573, 3040, 3041, 571, 6634, 573, 571, 573, 573, 4252, 3284, 4254, 570, 3284, 3383, 571, 3093, 4428, 571, 571, 573, 573, 128, 3314, 4613, 571, 571, 573, 573, 571, 571, 573, 6503, 242, 4485, 3383, 6415, 261, 6509, 3116, 346, 4654, 266, 286, 571, 3324, 573, 571, 286, 573, 3089, 574, 571, 3332, 573, 570, 3335, 3134, 563, 3449, 5278, 282, 571, 3140, 573, 6302, 6303, 3144, 4519, 4296, 3109, 6436, 6437, 3112, 3113, 571, 571, 573, 573, 303, 3449, 4452, 571, 571, 573, 573, 571, 571, 573, 573, 3381, 397, 486, 576, 3171, 4338, 576, 571, 4247, 573, 571, 3449, 573, 571, 571, 573, 573, 486, 486, 3383, 3482, 486, 3383, 80, 3153, 4566, 83, 571, 570, 573, 87, 88, 89, 571, 571, 573, 573, 3418, 3205, 3420, 486, 3422, 3423, 214, 358, 5002, 3427, 3428, 3429, 107, 3431, 3432, 3433, 107, 571, 571, 573, 573, 3225, 571, 571, 573, 573, 571, 571, 573, 573, 4443, 571, 5179, 573, 5181, 128, 6634, 5116, 129, 282, 1857, 3324, 1859, 288, 486, 4588, 570, 572, 3449, 3332, 4699, 3449, 3335, 3257, 570, 533, 570, 411, 223, 266, 3715, 4415, 570, 4730, 3347, 572, 223, 3485, 356, 266, 411, 3237, 356, 223, 223, 266, 223, 356, 3282, 237, 411, 223, 574, 302, 3288, 190, 510, 5166, 356, 180, 570, 350, 3510, 237, 571, 141, 107, 341, 3302, 450, 341, 4252, 533, 4254, 570, 3309, 356, 3762, 3312, 341, 117, 117, 341, 496, 3318, 341, 159, 372, 522, 522, 491, 80, 237, 392, 83, 575, 6632, 223, 87, 88, 89, 223, 570, 223, 3338, 519, 3554, 5578, 570, 385, 3344, 1602, 570, 223, 106, 570, 533, 3351, 107, 223, 223, 3609, 573, 223, 223, 246, 4853, 223, 3324, 223, 223, 3365, 223, 223, 223, 237, 3332, 223, 223, 3335, 223, 356, 474, 570, 3378, 107, 302, 356, 269, 237, 237, 3347, 570, 76, 76, 3389, 237, 4338, 570, 570, 570, 570, 570, 570, 288, 570, 570, 76, 570, 550, 76, 570, 570, 570, 570, 76, 570, 570, 4875, 570, 561, 562, 563, 564, 565, 566, 348, 1678, 570, 530, 3737, 3627, 3810, 3811, 3812, 3880, 3743, 318, 570, 368, 570, 322, 570, 5031, 286, 5514, 5034, 1698, 570, 573, 570, 3737, 570, 570, 570, 570, 337, 3743, 570, 570, 573, 80, 107, 171, 83, 286, 288, 4863, 302, 107, 573, 237, 3737, 5061, 358, 5127, 353, 237, 3743, 351, 445, 563, 282, 436, 324, 573, 2, 187, 509, 573, 371, 13, 560, 1744, 573, 114, 137, 4785, 570, 570, 570, 574, 121, 486, 486, 432, 486, 521, 486, 80, 572, 432, 83, 486, 486, 432, 87, 88, 89, 304, 486, 148, 486, 560, 486, 160, 432, 3816, 147, 223, 356, 299, 486, 104, 437, 416, 486, 346, 196, 288, 486, 509, 477, 114, 356, 377, 3737, 351, 486, 3737, 121, 160, 3743, 428, 3627, 3743, 486, 73, 439, 570, 259, 573, 570, 79, 196, 372, 223, 83, 266, 510, 196, 486, 486, 486, 510, 486, 147, 486, 459, 182, 196, 128, 486, 128, 486, 486, 486, 3876, 486, 1840, 1841, 326, 1843, 486, 110, 3884, 486, 3553, 3554, 486, 377, 360, 396, 80, 396, 396, 83, 486, 486, 358, 87, 88, 89, 486, 377, 486, 477, 133, 3185, 486, 486, 3188, 3830, 3190, 3191, 116, 116, 571, 203, 486, 205, 147, 575, 288, 3830, 288, 356, 288, 288, 288, 156, 288, 261, 356, 3638, 5876, 288, 266, 573, 486, 570, 288, 288, 107, 229, 288, 486, 80, 3854, 3855, 83, 5191, 3656, 223, 356, 496, 223, 341, 5452, 3663, 188, 3627, 5260, 223, 558, 559, 560, 561, 562, 563, 564, 565, 566, 510, 303, 223, 5216, 223, 356, 205, 261, 114, 521, 4759, 107, 266, 310, 213, 121, 215, 237, 341, 341, 107, 294, 570, 434, 341, 106, 5578, 484, 484, 228, 5301, 5302, 570, 568, 288, 289, 4785, 4923, 4924, 486, 223, 147, 486, 570, 223, 5825, 510, 568, 223, 303, 572, 510, 570, 223, 13, 350, 358, 4047, 4048, 4049, 486, 345, 5113, 525, 242, 573, 326, 570, 83, 326, 484, 573, 5043, 570, 3830, 333, 334, 335, 336, 570, 486, 232, 340, 341, 3975, 251, 242, 573, 346, 560, 344, 488, 573, 5948, 259, 571, 259, 284, 448, 4047, 4048, 4049, 292, 573, 358, 357, 573, 361, 510, 107, 216, 510, 33, 80, 9, 365, 83, 571, 571, 128, 87, 88, 89, 571, 5395, 5396, 558, 559, 560, 561, 562, 563, 564, 565, 566, 80, 521, 104, 83, 432, 570, 510, 87, 88, 89, 292, 292, 114, 450, 346, 346, 486, 237, 570, 121, 261, 356, 486, 346, 486, 266, 117, 4053, 454, 356, 341, 302, 302, 302, 428, 320, 356, 486, 4047, 4048, 4049, 4047, 4048, 4049, 477, 147, 573, 196, 266, 356, 356, 3825, 573, 356, 3828, 445, 3830, 529, 5211, 393, 411, 450, 303, 358, 260, 442, 486, 107, 486, 399, 362, 288, 6121, 571, 510, 5037, 5038, 5039, 5040, 5041, 3854, 3855, 294, 395, 4110, 510, 560, 223, 351, 237, 107, 522, 4976, 475, 428, 442, 239, 3482, 223, 396, 493, 223, 223, 94, 570, 222, 4327, 351, 510, 100, 107, 504, 529, 550, 341, 341, 356, 358, 96, 356, 294, 4246, 5528, 570, 561, 562, 563, 564, 565, 566, 351, 257, 237, 5539, 5540, 564, 107, 257, 5413, 238, 549, 324, 4246, 549, 237, 568, 442, 571, 294, 571, 5556, 356, 341, 4179, 145, 4312, 571, 571, 571, 261, 3972, 550, 266, 4246, 266, 266, 266, 533, 266, 558, 559, 560, 561, 562, 563, 564, 565, 566, 266, 95, 249, 572, 571, 5289, 573, 573, 288, 289, 242, 5876, 573, 570, 573, 573, 323, 356, 6083, 486, 128, 4225, 529, 303, 573, 4562, 4361, 350, 242, 4428, 288, 450, 201, 4237, 4238, 5900, 571, 573, 368, 208, 571, 571, 211, 4247, 571, 571, 203, 571, 4252, 571, 4254, 571, 5202, 570, 573, 4247, 571, 242, 378, 4246, 571, 486, 4246, 317, 344, 571, 340, 571, 4312, 238, 4313, 367, 571, 570, 526, 570, 5275, 549, 358, 508, 4323, 361, 4072, 312, 526, 558, 559, 560, 561, 562, 563, 564, 565, 566, 551, 516, 356, 574, 4302, 570, 358, 128, 570, 272, 3667, 570, 560, 3670, 356, 3672, 3673, 573, 573, 571, 560, 571, 359, 4361, 4361, 4560, 356, 223, 270, 486, 486, 2372, 570, 570, 486, 346, 570, 550, 278, 4337, 4338, 226, 486, 341, 4579, 223, 5202, 155, 561, 562, 563, 564, 565, 566, 445, 437, 223, 223, 437, 437, 6378, 302, 270, 226, 356, 560, 226, 486, 510, 304, 5363, 432, 526, 379, 337, 379, 450, 507, 341, 5432, 226, 4379, 486, 486, 4247, 314, 461, 486, 351, 2430, 486, 314, 314, 699, 432, 196, 432, 360, 486, 486, 4568, 4569, 4570, 4571, 341, 486, 486, 432, 432, 372, 445, 223, 116, 571, 288, 4199, 288, 486, 571, 486, 571, 569, 486, 254, 486, 117, 571, 486, 486, 4526, 360, 571, 573, 237, 2475, 181, 571, 573, 5372, 5373, 496, 5375, 237, 570, 107, 571, 223, 486, 411, 223, 4526, 414, 415, 560, 237, 254, 351, 570, 569, 3816, 570, 510, 6121, 510, 223, 237, 4452, 5460, 432, 359, 432, 4526, 432, 432, 432, 5647, 550, 442, 573, 221, 221, 288, 445, 288, 558, 559, 560, 561, 562, 563, 564, 565, 566, 214, 288, 288, 5986, 4576, 5988, 573, 4579, 4247, 288, 288, 288, 83, 558, 559, 560, 561, 562, 563, 564, 565, 566, 288, 573, 5663, 288, 3876, 368, 6542, 568, 242, 4270, 521, 6547, 3884, 571, 340, 242, 571, 526, 552, 251, 483, 570, 4535, 571, 571, 571, 515, 560, 419, 573, 4526, 573, 158, 4526, 571, 513, 560, 4620, 573, 4620, 4620, 571, 4620, 4620, 237, 570, 107, 5940, 496, 510, 510, 294, 486, 278, 128, 477, 223, 461, 246, 486, 496, 437, 226, 6152, 432, 486, 486, 486, 4620, 571, 486, 571, 432, 571, 4452, 570, 411, 570, 6167, 128, 901, 477, 529, 516, 905, 237, 356, 4681, 909, 147, 223, 181, 288, 288, 496, 571, 288, 918, 919, 5992, 4399, 288, 570, 292, 273, 926, 2662, 928, 929, 486, 356, 4372, 571, 107, 377, 533, 570, 570, 4379, 354, 113, 942, 4421, 356, 6213, 6214, 496, 573, 5997, 570, 573, 573, 80, 486, 80, 83, 6310, 442, 570, 569, 961, 4753, 571, 248, 181, 242, 4758, 4446, 4760, 288, 242, 5019, 128, 5019, 527, 5802, 571, 571, 571, 980, 527, 573, 5823, 571, 368, 986, 114, 4758, 291, 4760, 4799, 570, 4784, 121, 571, 366, 571, 998, 570, 291, 476, 4810, 570, 4753, 363, 128, 255, 571, 4758, 483, 4760, 4452, 351, 4784, 5895, 560, 1017, 242, 529, 147, 486, 496, 147, 260, 272, 260, 1027, 80, 346, 5882, 83, 1032, 346, 560, 4784, 6108, 1037, 5725, 128, 477, 1041, 1042, 573, 573, 486, 141, 5685, 1048, 223, 1050, 1051, 486, 486, 486, 226, 288, 195, 571, 570, 244, 107, 114, 1063, 1064, 188, 266, 4759, 351, 121, 570, 1071, 510, 442, 107, 341, 239, 442, 4753, 4759, 1080, 4753, 222, 4758, 351, 4760, 4758, 6440, 4760, 216, 529, 128, 153, 4785, 107, 147, 477, 242, 5736, 529, 356, 570, 237, 6371, 359, 4785, 406, 275, 4800, 4784, 573, 4803, 4784, 4805, 571, 570, 286, 458, 515, 571, 571, 242, 570, 377, 570, 291, 570, 528, 435, 5981, 5982, 160, 5735, 204, 261, 5685, 356, 267, 107, 266, 571, 1141, 405, 571, 486, 223, 223, 486, 107, 570, 570, 570, 570, 570, 570, 237, 346, 6205, 510, 4851, 5736, 315, 570, 80, 216, 570, 83, 442, 4941, 4942, 223, 571, 1172, 1173, 5724, 4867, 303, 5780, 181, 1179, 4872, 1181, 107, 1183, 571, 360, 5736, 6455, 6456, 6542, 496, 242, 456, 571, 6547, 456, 237, 114, 560, 128, 107, 150, 4759, 1203, 121, 180, 4886, 4887, 1208, 261, 1210, 570, 515, 510, 266, 4655, 6223, 570, 477, 570, 1220, 525, 237, 570, 4702, 5997, 477, 259, 4785, 337, 147, 358, 270, 570, 76, 571, 4967, 356, 230, 533, 570, 429, 4799, 429, 141, 359, 141, 574, 204, 529, 529, 303, 209, 4810, 514, 525, 80, 515, 573, 570, 570, 570, 107, 6115, 234, 573, 234, 445, 104, 316, 5019, 242, 1272, 1273, 3009, 5903, 477, 346, 272, 4971, 6132, 477, 402, 356, 4976, 570, 5914, 6139, 356, 442, 107, 107, 359, 359, 267, 222, 4976, 570, 244, 216, 244, 128, 570, 1303, 486, 5036, 358, 128, 573, 571, 128, 193, 76, 570, 465, 482, 508, 209, 570, 4759, 219, 571, 571, 450, 3059, 442, 570, 428, 5020, 5021, 5022, 5023, 5024, 363, 107, 482, 412, 570, 93, 104, 428, 5019, 573, 573, 261, 4785, 346, 570, 445, 266, 486, 342, 4830, 242, 428, 4833, 570, 1357, 1358, 4799, 364, 150, 5990, 5043, 342, 222, 456, 573, 188, 456, 4810, 5063, 5064, 5065, 5066, 516, 5068, 5069, 5070, 5071, 5072, 1381, 1382, 1383, 515, 5241, 303, 570, 244, 1389, 6462, 244, 529, 570, 1394, 529, 384, 510, 450, 1399, 1400, 5174, 571, 515, 1404, 5178, 1406, 516, 5851, 94, 1410, 2137, 3830, 1315, 3466, 100, 1810, 1358, 1357, 4976, 3358, 3269, 4023, 550, 4758, 6172, 1426, 4733, 6362, 4238, 3384, 6479, 3438, 5778, 561, 562, 563, 564, 565, 566, 6203, 358, 6479, 5825, 4731, 5422, 4886, 4887, 4921, 5801, 3952, 3614, 6342, 5684, 6467, 6233, 4934, 6232, 6382, 3956, 145, 6503, 5467, 4968, 4953, 6177, 4911, 6319, 1468, 6321, 1470, 1471, 4048, 4951, 3452, 5283, 4942, 3452, 4753, 1353, 4286, 5461, 5213, 5214, 5808, 5293, 5043, 4937, 4332, 5004, 6095, 6591, 6709, 6690, 5792, 4246, 6394, 5738, 550, 5968, 2215, 6129, 6186, 5195, 5741, 154, 5198, 5199, 4975, 561, 562, 563, 564, 565, 566, 183, 201, 1517, 5198, 4419, 963, 5938, 6587, 208, 1638, 4576, 211, 5048, 4579, 2258, 4979, 6169, 3468, 450, 5226, 3929, 4976, 3128, 2255, 2275, 6083, 4343, 5851, 2330, 1061, 1028, 5226, 4180, 3383, 4784, 2433, 2433, 4099, 238, 6638, 6420, 3414, 1557, 5983, 6399, 1956, 5012, 5010, 3021, 6657, 2168, 1196, 5215, 5935, 4651, 5048, 6335, 5997, 1599, 3598, 1828, 1781, 3847, 3057, 1849, 5020, 5021, 5022, 5023, 5024, 1585, 1586, 272, 1588, 3862, 3031, 1850, 6450, 6323, 4592, 5196, 1596, 4579, 5180, 5163, 4576, 3056, 6118, 5043, 5911, 4652, 1852, 6117, 4576, 5289, 6645, 6444, 6545, 6310, 5880, 4528, 5651, 6324, 2942, 6169, 6325, 2471, 3784, 3683, 3413, 3782, 2945, 699, 4358, 3528, 4681, 3093, 2268, 550, 6293, 1870, 1480, 1637, 394, 1864, 6678, 3068, 3109, 3824, 561, 562, 563, 564, 565, 566, 5441, 1651, 337, 1653, 1295, 3101, 341, 1275, 94, 3102, 1650, 1275, 4658, 1073, 100, 5197, 351, 1667, 4659, 1868, 4617, 1671, 1784, 427, 3113, 360, 3610, 1585, 2, 115, 2394, 5663, 1682, 1106, -1, -1, -1, 372, -1, -1, -1, -1, 5441, -1, 5467, -1, -1, -1, -1, -1, 5392, 5393, -1, -1, -1, -1, -1, -1, -1, 145, -1, -1, 1712, 5405, -1, 5407, 5408, 5409, 6570, -1, -1, -1, -1, -1, -1, -1, 5283, -1, -1, 414, 415, -1, 5289, -1, -1, -1, 5293, -1, -1, -1, 1740, 1741, 1742, -1, 1744, -1, 6349, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1756, -1, 5198, -1, 445, -1, -1, 199, 1764, 201, 5441, -1, -1, 5441, -1, -1, 208, -1, -1, 211, -1, -1, -1, -1, 6205, 5473, -1, -1, -1, -1, 5226, -1, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, 1801, 238, -1, 1804, -1, -1, -1, -1, 1809, 1810, -1, 6692, -1, -1, -1, -1, -1, 6421, 6422, -1, 5513, 114, -1, -1, -1, 6573, 6574, 513, 121, 6682, -1, -1, -1, -1, -1, 272, -1, -1, 5317, -1, -1, 1842, 5283, -1, -1, 1846, 1847, -1, 5289, -1, 5329, 5625, 5293, -1, 147, -1, -1, -1, 5632, -1, -1, 1862, -1, 5637, -1, -1, 5640, 1868, 1869, 1870, -1, -1, 5565, -1, -1, -1, -1, -1, -1, 5320, 5321, -1, -1, -1, 5325, 5326, -1, -1, 1889, 4941, 4942, -1, -1, -1, -1, 5669, -1, -1, -1, -1, 337, -1, -1, -1, 341, -1, -1, -1, -1, -1, 5684, -1, -1, -1, 351, -1, -1, 1918, -1, -1, -1, -1, -1, 360, -1, 1926, -1, -1, -1, -1, -1, 1932, -1, -1, -1, 372, 6362, 1938, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1949, -1, -1, 1952, 5840, -1, -1, 1956, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, 5662, -1, 5653, 266, 411, -1, -1, 414, 415, 3715, -1, -1, -1, 5775, -1, 107, -1, -1, -1, 1990, -1, -1, -1, -1, 5818, 288, 289, -1, -1, 2000, -1, -1, -1, -1, 5775, -1, -1, 129, 445, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5775, 3762, -1, -1, -1, -1, 5724, -1, 155, -1, -1, 2037, -1, -1, -1, -1, -1, -1, 5724, -1, 2046, -1, -1, 3784, -1, -1, 344, -1, 6479, -1, -1, -1, -1, 180, 181, -1, -1, 2063, -1, 3800, 358, 188, 5841, -1, 2070, -1, -1, -1, -1, 5806, -1, 513, 5770, 5557, -1, 3816, -1, -1, -1, -1, 5818, 5779, 5819, 5851, 5851, 5851, 5851, -1, 5851, 5851, 6699, 6700, 5851, 5851, 5775, -1, -1, 5775, -1, 5851, 5837, 5851, -1, 5851, 5851, -1, 5851, 5851, 5851, 5851, 5851, 5851, -1, -1, 5851, 80, -1, 5174, 83, 246, -1, 5178, 87, 88, 89, -1, -1, -1, -1, 2135, -1, 5910, -1, -1, -1, 3876, -1, -1, -1, 3880, -1, -1, 269, 3884, -1, 2151, 2152, 2153, -1, 114, -1, -1, 450, -1, -1, -1, 121, -1, -1, -1, -1, 5724, 2168, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2180, -1, -1, -1, -1, -1, -1, -1, 147, -1, -1, 2191, -1, -1, -1, -1, -1, 318, -1, -1, 5678, 322, 5680, 2203, -1, 2205, -1, 2207, -1, -1, 6139, -1, -1, 5653, -1, -1, 337, -1, -1, -1, 341, -1, 80, -1, -1, 83, 2226, -1, -1, -1, -1, -1, -1, -1, 2234, -1, -1, 6028, -1, -1, -1, -1, 2242, -1, -1, -1, -1, -1, -1, -1, 371, -1, -1, -1, -1, -1, 114, -1, 550, -1, 2260, -1, -1, 121, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 2275, -1, -1, 2278, 6028, 6053, 2281, -1, -1, 5724, -1, -1, -1, 2288, 147, -1, -1, -1, -1, 2294, 416, -1, -1, -1, -1, -1, -1, 261, -1, -1, 5997, 2306, 266, -1, 6001, -1, -1, -1, -1, -1, -1, -1, 5997, 439, 2319, 2320, -1, 2322, 2323, 6055, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2334, -1, 2336, 2337, 459, -1, 461, -1, -1, 464, 303, 6118, 2346, 2347, -1, 2349, 2350, -1, -1, 6028, -1, -1, 6028, -1, 216, -1, -1, 2361, -1, -1, 2364, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6157, 5436, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, 261, -1, 2405, -1, -1, 266, 2409, 2410, -1, 6203, -1, -1, -1, 5467, -1, -1, -1, -1, -1, -1, 6154, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6203, -1, -1, -1, -1, -1, -1, 5997, -1, -1, -1, -1, 303, 2446, 2447, -1, 570, -1, -1, 2452, 2453, 6203, -1, 107, -1, 2458, 2459, 2460, 2461, -1, -1, 2464, -1, 2466, -1, 2468, 2469, 2470, 2471, 2472, 2473, -1, -1, 2476, -1, 2478, 2479, 131, -1, 2482, -1, -1, -1, 6259, -1, -1, -1, -1, 450, -1, -1, -1, -1, 2496, 2497, 2498, 2499, 358, -1, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, 6205, 2514, 166, 2516, 6209, -1, 6211, 6311, -1, -1, 6215, 6216, -1, 104, -1, 6203, -1, -1, 6203, -1, -1, -1, -1, 114, -1, -1, -1, -1, 6311, -1, 121, -1, -1, -1, -1, 6105, -1, -1, -1, -1, -1, -1, -1, -1, 5997, -1, -1, -1, -1, 6311, -1, -1, -1, -1, -1, -1, 147, -1, -1, -1, -1, 5625, -1, 227, -1, 4313, -1, -1, 5632, -1, -1, 6513, -1, 5637, -1, 4323, 5640, 5641, 550, 450, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, -1, -1, 263, -1, -1, -1, -1, -1, 5669, -1, -1, -1, -1, -1, -1, -1, 4361, -1, -1, -1, -1, -1, -1, 5684, -1, -1, 6311, -1, -1, 6311, 6413, -1, -1, 294, -1, -1, -1, -1, 299, -1, -1, -1, -1, -1, -1, -1, -1, 2657, 6420, -1, 6420, 6420, -1, 6420, 6395, 6105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, 5735, -1, -1, -1, 266, 6420, 341, -1, 550, -1, -1, -1, -1, 2697, -1, -1, -1, -1, -1, 561, 562, 563, 564, 565, 566, -1, 288, 289, -1, -1, -1, -1, -1, -1, -1, -1, -1, 112, 373, -1, -1, 303, -1, -1, -1, 5780, 6503, -1, -1, -1, -1, -1, 6509, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2750, 6513, -1, 6513, 6513, 6195, 6513, -1, -1, -1, -1, -1, -1, -1, 415, -1, 344, -1, -1, 420, -1, -1, 166, -1, -1, -1, 167, -1, 429, -1, 358, -1, 6513, 361, -1, -1, 437, 6479, -1, -1, 5841, -1, -1, -1, 445, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 457, -1, -1, -1, -1, -1, -1, -1, -1, 466, -1, -1, -1, 470, -1, -1, -1, -1, -1, 4560, -1, 218, -1, -1, -1, -1, -1, 227, -1, -1, -1, -1, 489, -1, 231, 4576, -1, -1, 4579, -1, 237, -1, -1, -1, 6641, 242, -1, -1, -1, -1, -1, 248, 6336, 5910, 251, 6634, -1, -1, 255, -1, -1, -1, -1, 263, -1, 6641, 450, 524, -1, 1037, 6638, 528, 6638, 6638, -1, 6638, -1, -1, -1, 4620, -1, -1, -1, -1, -1, -1, 6641, 284, -1, 286, -1, -1, -1, 6690, -1, 1063, -1, -1, -1, 299, -1, 6638, -1, -1, -1, -1, -1, 304, -1, -1, -1, -1, 6709, -1, 6690, -1, -1, -1, -1, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, -1, 2935, -1, -1, -1, 6709, -1, 6690, -1, -1, -1, 2945, -1, 341, 2948, 6641, -1, -1, -1, -1, -1, -1, -1, 6649, -1, -1, 6709, 6641, 353, -1, -1, 356, 6641, -1, -1, 6641, -1, 362, 550, -1, 6025, -1, -1, -1, -1, 373, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, -1, -1, -1, -1, 573, -1, -1, 6690, -1, -1, 3001, 6053, -1, 3004, -1, -1, -1, 3008, -1, 6690, 3011, -1, 3013, -1, 6690, 3016, 6709, 6690, -1, 6712, 415, -1, 417, -1, -1, 420, -1, 419, 6709, -1, 3031, -1, -1, 6709, 429, -1, 6709, -1, -1, 3040, 3041, -1, 437, -1, -1, -1, -1, -1, -1, 80, 445, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, 457, -1, -1, -1, 6118, -1, -1, -1, 3071, 466, 3073, 104, -1, 470, -1, -1, -1, 471, -1, -1, -1, 114, -1, -1, -1, -1, -1, -1, 121, -1, 3093, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6157, -1, -1, -1, -1, 502, 3112, 3113, -1, -1, 3116, 147, -1, -1, -1, -1, -1, 3123, -1, -1, -1, 3127, 3128, -1, 524, -1, -1, -1, 3134, 526, -1, 528, 529, 3139, 3140, -1, -1, -1, 3144, -1, -1, -1, -1, -1, -1, -1, -1, 3153, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3171, -1, -1, 3174, -1, -1, -1, -1, -1, 571, -1, 573, 574, -1, 3185, -1, 3187, 3188, -1, 3190, 3191, -1, 3193, -1, -1, -1, -1, -1, -1, -1, 6641, -1, -1, -1, 3205, 4941, -1, 6259, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3218, -1, -1, -1, -1, -1, -1, 3225, 3226, -1, -1, -1, -1, 261, 4967, -1, 3234, -1, 266, 1399, -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, 1410, -1, 6690, -1, 97, -1, -1, -1, 3256, 3257, 288, 289, 3260, -1, -1, -1, 1426, -1, -1, -1, -1, 6709, -1, -1, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, 3282, -1, 3284, -1, -1, -1, 3288, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6349, -1, -1, 5036, 3302, 148, 149, -1, -1, 3307, -1, 3309, 3310, -1, 3312, -1, 344, -1, -1, -1, 3318, 164, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, 361, -1, -1, -1, -1, -1, 182, 3338, -1, -1, -1, -1, -1, 3344, -1, -1, -1, -1, -1, -1, 3351, -1, -1, -1, -1, -1, -1, -1, -1, -1, 206, 6413, -1, -1, 3365, -1, -1, -1, -1, 6421, 6422, 217, -1, -1, -1, -1, -1, 3378, -1, -1, 226, -1, 3383, -1, -1, -1, -1, -1, 3389, 3390, -1, -1, -1, 239, -1, -1, -1, -1, 244, -1, -1, -1, -1, -1, -1, -1, 3407, 3408, 3409, -1, -1, -1, 3413, -1, -1, -1, -1, -1, -1, 450, -1, -1, -1, -1, 270, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5174, 3440, 3441, -1, 5178, -1, -1, -1, -1, -1, 3449, 295, -1, 6503, -1, -1, -1, 3456, -1, 6509, -1, -1, -1, -1, -1, -1, 3465, -1, -1, -1, -1, -1, -1, 317, -1, -1, -1, 6527, -1, 5213, 5214, -1, -1, 3482, -1, -1, -1, -1, -1, -1, 1651, -1, -1, -1, -1, -1, 3495, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3514, -1, -1, -1, 3518, -1, 550, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, -1, 3540, 571, -1, -1, -1, -1, -1, 392, 393, -1, -1, 396, -1, -1, -1, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, 6616, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 423, 104, -1, 426, -1, 6634, -1, -1, -1, 432, -1, 114, -1, -1, -1, -1, 439, -1, 121, 442, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 461, -1, -1, -1, -1, -1, 147, 468, -1, -1, -1, -1, 6679, 474, -1, -1, 477, -1, -1, 6686, 481, -1, 3638, -1, 910, 911, -1, -1, 914, -1, -1, -1, 6699, 6700, -1, 496, -1, -1, 3654, -1, 3656, -1, -1, -1, -1, -1, -1, 3663, 934, -1, -1, 3667, -1, 3669, 3670, 941, 3672, 3673, 3674, -1, -1, 522, -1, -1, -1, -1, 3682, 80, -1, -1, 83, 3687, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, 970, -1, 972, -1, -1, 975, -1, 104, -1, -1, -1, -1, -1, 3713, 3714, 3715, -1, 114, 3718, 989, -1, -1, -1, -1, 121, 995, 3726, 3727, 3728, 3729, -1, -1, -1, -1, -1, -1, 261, 3737, -1, -1, -1, 266, 3742, 3743, -1, 3745, -1, 3747, -1, -1, 147, -1, -1, -1, -1, -1, -1, -1, 3758, 3759, -1, -1, 3762, 288, 289, 107, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 303, 80, -1, 3781, 83, 3783, -1, 3785, 87, 88, 89, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, -1, 3805, -1, -1, -1, -1, -1, -1, -1, 114, -1, -1, 3816, -1, -1, 344, 121, -1, -1, -1, 166, -1, -1, -1, -1, -1, 3830, -1, -1, 358, -1, -1, 361, -1, -1, -1, -1, -1, -1, -1, -1, -1, 147, 3847, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3862, -1, 261, -1, -1, -1, -1, 266, -1, -1, -1, -1, -1, 2037, 3876, -1, -1, -1, -1, -1, -1, -1, 3884, 227, -1, -1, -1, -1, -1, 288, 289, -1, -1, -1, -1, 5632, -1, -1, -1, -1, 5637, -1, -1, 5640, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3919, -1, 263, 3922, -1, 3924, 450, -1, -1, -1, 3929, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3945, 3946, 344, -1, -1, -1, 3951, 294, -1, -1, -1, -1, 299, -1, -1, 261, 358, -1, -1, 361, 266, -1, -1, -1, -1, -1, -1, 3972, -1, -1, 3975, -1, -1, 3978, -1, -1, -1, -1, -1, -1, -1, 3986, 288, 289, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 341, -1, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, 4011, -1, -1, -1, -1, -1, -1, 2180, -1, -1, -1, -1, -1, -1, 550, -1, -1, -1, 2191, -1, 373, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, 344, -1, 2207, 571, 4047, 4048, 4049, -1, -1, -1, 450, -1, 1325, 1326, 358, -1, -1, 361, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5806, 4072, 415, -1, -1, -1, -1, 420, -1, -1, 4081, -1, 4083, 5819, -1, -1, 429, -1, -1, -1, 4091, -1, -1, -1, 437, -1, -1, 2260, -1, -1, -1, 5837, 445, -1, -1, -1, -1, -1, -1, -1, -1, 4112, -1, -1, 457, 5851, -1, -1, 2281, -1, -1, -1, -1, 466, -1, 1396, -1, 470, -1, -1, -1, 2294, -1, -1, -1, -1, -1, -1, -1, -1, 1411, -1, -1, 2306, -1, -1, 489, -1, 450, -1, -1, -1, 550, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, 1441, 1442, -1, 571, 5910, -1, 4177, -1, -1, -1, -1, 524, -1, 2346, 2347, 528, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1466, -1, -1, 4199, -1, -1, -1, -1, 4204, -1, -1, -1, -1, -1, 4210, -1, -1, -1, -1, -1, -1, -1, -1, 4219, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4246, 4247, -1, 550, -1, -1, 4252, -1, 4254, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, 4267, -1, 4269, 571, -1, -1, -1, -1, -1, -1, 4277, -1, -1, -1, -1, 1552, 1553, -1, -1, -1, -1, -1, 4289, -1, 94, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, -1, -1, 4317, 6053, -1, 6055, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2496, -1, -1, -1, 4338, 4339, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, 83, 4363, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, 83, -1, -1, 104, 87, 88, 89, -1, -1, -1, -1, -1, -1, 114, -1, -1, 199, -1, 201, 4399, 121, 104, -1, -1, 6139, 208, 80, -1, 211, 83, -1, 114, -1, 87, 88, 89, -1, -1, 121, 6154, -1, 4421, -1, -1, -1, -1, 147, -1, -1, -1, 104, -1, -1, -1, -1, 238, -1, -1, -1, -1, 114, -1, -1, 4443, 147, -1, 4446, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4463, -1, -1, 4466, -1, -1, 272, -1, -1, 4472, 147, -1, -1, -1, -1, -1, -1, 4480, -1, 4482, -1, -1, 4485, -1, -1, -1, 4489, 4490, 4491, 4492, 4493, -1, -1, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4505, -1, -1, -1, 4509, 4510, 4511, 73, -1, 4514, -1, -1, -1, 79, 4519, -1, -1, 83, -1, 4524, -1, 4526, -1, 4528, -1, -1, -1, -1, -1, 337, -1, 4536, -1, 341, 4539, 261, 4541, -1, -1, -1, 266, -1, -1, 351, 110, -1, 4551, -1, -1, 4554, 4555, -1, 360, 261, 4559, 4560, -1, -1, 266, -1, -1, 4566, 288, 289, 372, -1, -1, -1, -1, -1, -1, 4576, -1, -1, 4579, -1, -1, 303, -1, -1, 288, 289, 261, -1, 4589, -1, -1, 266, -1, -1, 156, -1, -1, -1, -1, 303, -1, -1, -1, -1, -1, -1, -1, 411, -1, -1, 414, 415, -1, 288, 289, -1, -1, -1, -1, -1, -1, -1, 344, -1, -1, -1, -1, 167, 303, -1, -1, -1, -1, -1, -1, 4636, 358, -1, -1, 361, 344, 445, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4653, -1, 358, -1, -1, 361, -1, 6395, -1, -1, -1, -1, -1, -1, 228, -1, 4669, 344, -1, -1, -1, -1, -1, -1, -1, -1, 218, -1, 4681, -1, -1, 358, 6420, -1, 361, -1, -1, -1, -1, 231, -1, -1, -1, -1, -1, 237, -1, -1, -1, 4702, 242, -1, -1, -1, -1, -1, 248, 513, -1, 251, -1, -1, -1, 255, -1, -1, -1, -1, -1, -1, 1993, -1, -1, -1, -1, -1, 450, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, -1, 450, 2018, -1, -1, -1, -1, 4753, -1, -1, -1, -1, 4758, 4759, 4760, -1, -1, -1, -1, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 450, -1, 6513, -1, -1, -1, -1, -1, 4784, 4785, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, 356, -1, -1, -1, 2091, -1, 362, -1, -1, -1, -1, -1, 550, 4830, -1, 393, 4833, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, 550, -1, -1, 571, 2121, 2122, 2123, 2124, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, -1, 428, 571, -1, -1, -1, -1, -1, -1, -1, 550, -1, -1, -1, 419, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, 569, -1, 4897, -1, -1, -1, -1, -1, 6638, -1, -1, 80, -1, -1, 83, -1, 131, -1, 87, 88, 89, 2186, 2187, -1, -1, -1, -1, -1, 4923, 4924, -1, -1, 4927, -1, -1, 104, -1, 2202, -1, 4934, 474, -1, -1, -1, -1, 114, 4941, 4942, -1, -1, -1, 166, 121, -1, -1, 94, 4951, 92, -1, -1, -1, 100, 97, -1, -1, -1, -1, -1, 502, -1, -1, 2236, 2237, 2238, 2239, -1, 115, -1, 147, -1, 4975, 4976, -1, -1, 4979, 4980, 4981, -1, -1, -1, -1, -1, 526, -1, 528, 529, 4991, -1, -1, -1, 135, -1, -1, -1, -1, -1, 145, -1, -1, -1, -1, -1, 227, 148, 149, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5019, 160, -1, -1, -1, 164, 3187, -1, -1, -1, 568, -1, 3193, 571, 572, -1, 574, -1, -1, -1, -1, -1, -1, 182, 263, -1, -1, -1, -1, 5048, -1, -1, -1, -1, -1, -1, -1, -1, 201, -1, -1, -1, -1, -1, -1, 208, -1, 206, 211, -1, -1, -1, -1, 3234, -1, 5074, -1, -1, 217, -1, 299, -1, -1, -1, 2353, -1, 5085, 226, 261, -1, 2359, -1, -1, 266, -1, 238, -1, -1, -1, -1, 239, -1, -1, -1, -1, 244, -1, -1, -1, -1, -1, -1, -1, -1, 5113, 288, 289, 5116, 337, -1, -1, -1, 341, -1, -1, 5124, 5125, -1, 5127, 272, 303, 270, 5131, 5132, -1, -1, -1, 5136, -1, -1, -1, 5140, -1, -1, 5143, 5144, -1, -1, -1, 5148, -1, -1, -1, 372, 373, 5154, 295, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5166, -1, -1, -1, 344, -1, -1, -1, 5174, -1, -1, 317, 5178, -1, -1, -1, -1, -1, 358, -1, -1, 361, -1, -1, -1, 411, -1, 337, -1, 415, -1, 341, -1, -1, 420, -1, -1, -1, -1, -1, -1, 351, -1, 429, -1, 5211, -1, -1, -1, -1, 360, 437, 358, 5219, -1, -1, -1, -1, 80, 445, 5226, 83, 372, -1, -1, 87, 88, 89, -1, -1, -1, 457, -1, -1, -1, -1, 382, -1, 5244, -1, 466, -1, 104, -1, 470, -1, 392, 393, -1, -1, 396, -1, 114, -1, -1, -1, 5262, -1, -1, 121, -1, 411, -1, -1, 414, 415, -1, -1, -1, 5275, 450, -1, -1, 3441, -1, -1, -1, 423, 2554, -1, 426, -1, -1, -1, 430, 147, 432, -1, -1, -1, -1, -1, -1, 439, 5300, 445, 442, -1, 524, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5317, -1, -1, -1, 461, 5322, -1, -1, -1, -1, -1, 468, 5329, -1, -1, -1, -1, 474, -1, -1, 477, -1, -1, 901, 481, -1, -1, 905, 5345, -1, -1, -1, 489, -1, 491, 5352, -1, -1, -1, 496, 918, 919, -1, -1, -1, -1, 5363, -1, 926, -1, 928, 929, 513, -1, -1, -1, -1, -1, -1, 550, -1, -1, -1, -1, 942, 522, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, 5394, -1, -1, 571, -1, -1, 961, -1, -1, -1, -1, 261, -1, -1, -1, -1, 266, -1, -1, -1, -1, -1, -1, -1, -1, 980, 5420, -1, -1, -1, -1, 986, -1, -1, -1, -1, -1, -1, 288, 289, -1, -1, 5436, 998, -1, -1, -1, 5441, -1, -1, -1, -1, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5460, -1, -1, -1, -1, -1, 1027, 5467, -1, -1, -1, -1, -1, -1, -1, -1, 131, -1, -1, 94, 1041, 1042, -1, -1, -1, 100, -1, 1048, 344, 1050, 1051, 5, 3654, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, 1064, -1, 361, -1, 3669, -1, -1, 24, 166, 3674, -1, 5514, -1, 5516, -1, -1, 1080, 34, 35, -1, -1, -1, -1, -1, 41, 42, -1, 145, 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, 5557, -1, 73, -1, 75, 76, -1, -1, -1, -1, 81, -1, -1, -1, -1, 227, -1, -1, 5575, -1, -1, 5578, -1, 1141, 5581, 5582, 5583, -1, -1, 201, -1, -1, -1, -1, -1, -1, 208, 450, -1, 211, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5606, 5607, 263, -1, 5610, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1181, -1, -1, 238, 138, 5625, -1, -1, -1, -1, -1, -1, 5632, -1, -1, -1, -1, 5637, -1, -1, 5640, 5641, 1203, -1, 299, -1, -1, 1208, 5648, -1, -1, -1, -1, -1, -1, -1, -1, 272, -1, 1220, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5669, -1, -1, 5672, -1, -1, -1, -1, -1, 5678, -1, 5680, -1, 337, -1, 5684, -1, 341, -1, -1, -1, -1, -1, -1, -1, 550, -1, -1, -1, -1, -1, -1, 215, 558, 559, 560, 561, 562, 563, 564, 565, 566, 1272, 1273, -1, -1, 571, -1, 372, 373, -1, -1, 235, 337, -1, 5724, 5725, 341, -1, -1, -1, -1, -1, -1, -1, -1, 5735, 351, 3007, -1, -1, -1, -1, -1, -1, 258, 360, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 411, 372, -1, -1, 415, -1, -1, -1, -1, 420, -1, -1, 282, -1, -1, -1, -1, -1, 429, 5775, -1, -1, -1, -1, 5780, -1, 437, -1, -1, -1, -1, -1, 131, -1, 445, -1, -1, -1, -1, -1, 411, -1, -1, 414, 415, -1, 457, -1, -1, -1, -1, 321, -1, -1, 324, 466, -1, -1, -1, 470, 3978, -1, -1, -1, -1, 167, 1383, 166, 3986, -1, -1, -1, 1389, -1, 445, -1, 346, -1, -1, -1, -1, -1, -1, 1400, -1, 5841, -1, 1404, 5844, 1406, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 524, -1, -1, 218, -1, -1, -1, 5876, -1, -1, -1, 5880, -1, 5882, -1, 227, 231, -1, -1, -1, -1, -1, 237, -1, -1, -1, -1, 242, -1, 513, -1, 5900, -1, 248, -1, -1, 251, 5906, -1, -1, 255, 5910, -1, -1, -1, -1, -1, 5916, 5917, -1, 4081, 263, 4083, 436, -1, 3194, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 299, -1, 304, -1, -1, -1, -1, -1, -1, 5965, -1, -1, -1, -1, 5970, 5971, 486, -1, -1, 5975, -1, -1, -1, -1, -1, 5981, 5982, 5983, -1, -1, -1, -1, 502, -1, -1, -1, -1, -1, 337, -1, 1557, 5997, 341, -1, -1, -1, -1, 517, -1, -1, -1, 353, -1, -1, 356, 80, -1, -1, 83, 4177, 362, 6017, 87, 88, 89, -1, -1, -1, -1, 6025, -1, -1, 6028, 372, 373, -1, -1, 547, 73, 104, -1, -1, -1, -1, 79, -1, -1, -1, 83, 114, 560, 561, 562, 563, 564, 565, 121, 6053, 568, 569, 570, 4219, -1, -1, 3330, 575, 576, 3333, -1, -1, -1, -1, 411, -1, -1, 110, 415, 419, -1, -1, 1637, 420, 147, -1, -1, -1, -1, 6083, 6084, -1, 429, -1, -1, -1, -1, -1, 1653, -1, 437, -1, -1, -1, -1, -1, -1, -1, 445, -1, -1, 6105, 1667, -1, -1, 6109, 1671, -1, -1, -1, 457, 6115, 94, 156, 6118, -1, -1, 6121, 100, 466, -1, -1, -1, 470, 474, -1, -1, -1, 6132, -1, -1, -1, -1, -1, -1, 6139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3421, -1, -1, -1, 4317, 502, 6157, -1, -1, -1, -1, -1, -1, 3434, -1, 205, 145, -1, -1, -1, -1, 3442, -1, 213, -1, 215, -1, 6178, -1, 526, 524, 528, 529, -1, -1, -1, -1, -1, 228, -1, -1, 261, -1, -1, -1, -1, 266, -1, -1, -1, 4363, -1, 6203, -1, 6205, -1, -1, -1, -1, -1, 3481, -1, -1, -1, -1, -1, -1, -1, 288, 289, -1, 568, 201, -1, 571, 572, -1, 574, -1, 208, -1, 3502, 211, 303, -1, -1, -1, -1, -1, 1801, -1, -1, -1, -1, -1, -1, -1, 1809, 1810, 92, -1, -1, -1, -1, 97, -1, -1, -1, 6259, 238, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, 361, 135, 272, -1, 3566, -1, 3568, -1, -1, 6301, 6302, 6303, 4466, -1, 148, 1868, 1869, 1870, 6310, 6311, -1, -1, 6314, -1, -1, -1, -1, 6319, -1, 6321, 164, 6323, -1, -1, -1, 4489, 1889, -1, -1, -1, -1, 6333, -1, -1, 6336, -1, -1, -1, 182, -1, -1, -1, -1, -1, -1, -1, -1, 6349, -1, -1, 4514, -1, 393, -1, -1, 1918, -1, 337, -1, -1, 6362, 341, 206, 1926, -1, -1, -1, -1, -1, -1, -1, 351, -1, 217, -1, 1938, -1, -1, -1, 450, 360, -1, 226, -1, -1, -1, -1, 428, -1, -1, -1, -1, 372, -1, -1, 239, 3668, -1, -1, -1, 244, 6403, -1, 3675, -1, -1, -1, -1, -1, -1, -1, 6413, -1, -1, -1, -1, -1, -1, -1, 6421, 6422, -1, -1, -1, -1, 6427, 270, -1, 6430, -1, -1, 411, -1, -1, 414, 415, -1, -1, 6440, -1, -1, -1, -1, -1, 6446, -1, -1, -1, 6450, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 445, -1, -1, -1, -1, -1, -1, -1, 317, -1, -1, -1, 6479, -1, 550, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, -1, -1, 571, 6503, -1, -1, -1, -1, -1, 6509, -1, -1, -1, -1, 83, -1, 358, -1, -1, 88, -1, 90, -1, -1, -1, -1, -1, 6527, -1, -1, -1, 100, -1, -1, -1, 513, -1, -1, -1, -1, -1, -1, 6542, -1, -1, 6545, -1, 6547, -1, -1, 392, 393, -1, -1, 396, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, -1, 6570, -1, -1, -1, 2135, -1, -1, -1, 147, 148, -1, 423, 151, -1, 426, -1, -1, -1, 157, -1, 432, -1, 161, -1, -1, -1, -1, 439, -1, -1, 442, 6601, -1, -1, -1, -1, -1, 2168, -1, -1, -1, -1, 6612, -1, 183, -1, 6616, -1, -1, 461, -1, -1, -1, -1, -1, -1, 468, -1, -1, -1, 199, -1, 474, -1, 6634, 477, -1, -1, -1, 481, -1, 6641, 2203, -1, -1, -1, -1, 489, -1, -1, -1, -1, -1, -1, 496, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2226, -1, -1, -1, -1, -1, -1, 1037, 2234, -1, -1, -1, -1, 6678, 6679, 522, 2242, 6682, -1, -1, -1, 6686, -1, -1, -1, 6690, -1, -1, -1, -1, -1, -1, -1, 1063, 6699, 6700, -1, -1, -1, -1, -1, -1, -1, -1, 6709, -1, 3981, 3982, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2319, 2320, -1, 2322, 2323, -1, -1, 4927, -1, 5, -1, -1, -1, -1, -1, 2334, -1, 2336, 2337, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, -1, 2349, 2350, -1, -1, -1, -1, -1, -1, 34, 35, -1, -1, -1, 39, -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, 71, -1, 73, -1, 75, 76, -1, -1, -1, -1, 81, 2405, -1, -1, -1, 2409, 2410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 429, -1, 901, -1, -1, -1, 905, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 919, -1, -1, -1, -1, -1, -1, 80, -1, 928, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, 138, -1, -1, 942, -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, 961, -1, -1, -1, 80, -1, 121, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, 980, -1, -1, -1, -1, -1, 986, -1, -1, 104, 4221, -1, -1, 147, 2516, -1, -1, -1, 998, 114, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, 215, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1027, -1, -1, -1, -1, 147, -1, -1, -1, 235, -1, -1, -1, -1, -1, 1042, -1, 80, -1, -1, 83, -1, -1, 1050, 87, 88, 89, -1, 1381, -1, -1, -1, 258, -1, -1, -1, -1, 1064, -1, -1, -1, 104, -1, -1, -1, -1, 1399, -1, -1, -1, -1, 114, -1, 1080, -1, -1, 282, 1410, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1426, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, 147, 266, -1, -1, -1, -1, -1, -1, -1, -1, -1, 321, -1, -1, 324, -1, -1, -1, -1, -1, -1, -1, -1, 288, 289, -1, -1, -1, 5262, -1, 1141, -1, -1, -1, -1, 261, 346, -1, 303, -1, 266, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 699, -1, 4402, -1, 288, 289, -1, -1, 5300, -1, 1179, -1, 1181, -1, 1183, -1, -1, -1, -1, 303, -1, 344, 1517, -1, -1, -1, -1, -1, -1, -1, 5322, -1, -1, -1, 1203, 358, -1, -1, 361, 1208, -1, -1, -1, -1, -1, 80, 83, -1, 83, 748, 749, 1220, 87, 88, 89, -1, 261, -1, -1, -1, 344, 266, -1, -1, -1, -1, -1, -1, 436, 104, -1, -1, -1, 110, 358, -1, -1, 361, -1, 114, -1, -1, -1, 288, 289, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, 795, -1, 303, -1, -1, -1, 5394, 1272, 1273, -1, -1, -1, -1, -1, -1, -1, 147, -1, -1, -1, -1, -1, 486, 156, -1, -1, -1, -1, -1, -1, -1, 450, -1, -1, -1, -1, -1, -1, 502, -1, -1, -1, -1, 344, -1, -1, -1, -1, -1, -1, -1, -1, -1, 517, -1, -1, -1, 358, -1, -1, 1651, -1, -1, -1, -1, -1, -1, -1, -1, -1, 450, -1, 205, -1, -1, -1, -1, -1, -1, -1, 213, -1, 215, 547, -1, -1, -1, -1, -1, -1, -1, -1, 1357, 1358, -1, 228, 560, 561, 562, 563, 564, 565, -1, -1, 568, 569, 570, 571, -1, 573, 574, 575, 576, 577, -1, -1, -1, -1, 1383, -1, -1, -1, -1, -1, 1389, -1, -1, -1, 5516, -1, 261, 550, -1, -1, -1, 266, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, 450, -1, -1, 571, -1, -1, -1, -1, 288, 289, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 550, -1, 303, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, -1, -1, 571, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, 3001, 1010, 1011, -1, 1013, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, 361, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 550, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1074, -1, -1, 1077, 1078, 3071, -1, 3073, -1, -1, -1, -1, -1, 1557, -1, -1, -1, -1, -1, 1093, -1, 1095, -1, 1097, -1, -1, -1, 3093, -1, 1103, -1, -1, -1, 1107, -1, -1, -1, -1, -1, -1, 450, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3116, -1, -1, -1, 1128, 1129, -1, -1, -1, -1, -1, -1, 1932, -1, -1, -1, -1, -1, 3134, -1, -1, -1, -1, 3139, 3140, -1, -1, -1, 3144, -1, -1, -1, -1, -1, -1, -1, -1, 3153, -1, -1, -1, -1, -1, 1637, -1, -1, -1, -1, -1, -1, -1, 1175, -1, 1177, -1, 3171, 4881, -1, -1, 1653, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4895, -1, 3188, 1667, 3190, 3191, -1, 1671, -1, -1, 2000, -1, -1, -1, -1, -1, -1, -1, -1, 3205, 550, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, 3225, 3226, 571, -1, -1, -1, -1, -1, 2037, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1258, -1, -1, -1, -1, -1, 3256, 3257, -1, -1, 3260, -1, -1, -1, 1272, 1273, 2070, -1, 1276, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3282, -1, 3284, -1, -1, -1, 3288, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3302, -1, -1, -1, -1, -1, -1, 3309, -1, 1319, 3312, -1, -1, 5916, -1, -1, 3318, -1, -1, -1, -1, 1801, -1, -1, -1, -1, -1, -1, -1, 1809, 1810, -1, -1, -1, -1, -1, 3338, -1, -1, -1, -1, -1, 3344, -1, -1, 2151, 2152, 2153, -1, 3351, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5965, 3365, -1, -1, -1, 5970, 5971, -1, -1, -1, -1, -1, 2180, -1, 3378, -1, -1, 1389, -1, 3383, -1, -1, -1, 2191, -1, 3389, 1868, 1869, 1870, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2207, -1, -1, -1, -1, -1, -1, -1, 1889, -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, 80, -1, 1918, 83, -1, -1, 104, 87, 88, 89, 1926, 3449, -1, -1, -1, -1, 114, -1, 2260, -1, -1, -1, 1938, 121, 104, -1, -1, -1, -1, -1, -1, -1, -1, 1949, 114, -1, -1, -1, -1, 2281, -1, 121, -1, -1, -1, 6084, -1, -1, -1, 147, -1, -1, 2294, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2306, -1, -1, 147, -1, -1, -1, -1, -1, -1, 1990, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, -1, 2346, 2347, -1, -1, -1, 114, -1, -1, -1, -1, -1, -1, 121, 901, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2046, -1, -1, -1, -1, 919, -1, -1, -1, -1, -1, -1, 147, -1, 928, -1, -1, 2063, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 942, 1605, -1, 1607, -1, 261, 1610, -1, 1612, -1, 266, 1615, 1616, 1617, -1, -1, -1, 1621, -1, 961, -1, -1, -1, 261, 1628, -1, -1, -1, 266, -1, -1, -1, 288, 289, -1, -1, -1, -1, 980, 1643, -1, 1645, 3638, -1, 986, -1, 1650, 303, -1, -1, 288, 289, -1, -1, -1, -1, 998, -1, -1, -1, 3656, 2135, -1, -1, -1, 303, -1, 3663, 2468, 5374, -1, 2471, -1, -1, 3670, -1, 3672, 3673, -1, -1, -1, -1, -1, -1, 5389, 1027, -1, -1, 344, -1, -1, -1, -1, -1, 2168, -1, 2496, -1, 261, -1, 1042, -1, 358, 266, -1, 361, 344, -1, 1050, -1, -1, -1, -1, -1, -1, -1, -1, 6314, -1, -1, 358, -1, 1064, 361, -1, 288, 289, -1, -1, 2203, -1, -1, -1, -1, -1, -1, -1, -1, 1080, -1, 303, 3737, -1, -1, -1, -1, -1, 3743, 80, -1, -1, 83, 2226, -1, -1, 87, 88, 89, -1, -1, 2234, -1, -1, -1, -1, -1, -1, -1, 2242, -1, -1, 1775, 104, -1, -1, 5480, -1, -1, -1, -1, -1, 344, 114, 1787, 1788, -1, -1, -1, -1, 121, -1, -1, -1, -1, 450, 358, -1, -1, 361, 1141, 1804, -1, -1, -1, -1, 1809, 1810, -1, -1, -1, -1, -1, 450, -1, -1, 147, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, 3830, -1, -1, 1179, -1, 1181, -1, 1183, -1, -1, -1, -1, -1, 104, 2322, 2323, -1, -1, -1, -1, -1, -1, -1, 114, -1, -1, -1, -1, 2336, -1, 121, -1, 1208, -1, -1, -1, -1, -1, -1, -1, -1, 2349, 2350, -1, 1220, -1, -1, -1, -1, 1887, -1, 1889, -1, 450, -1, -1, 147, -1, -1, -1, 550, 1899, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, 550, -1, -1, 571, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 261, 1272, 1273, -1, 571, 266, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3945, 3946, -1, -1, -1, -1, -1, 288, 289, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 303, -1, -1, 1978, -1, 3972, -1, -1, 3975, -1, 5686, -1, 5688, 1988, -1, -1, 550, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 261, -1, -1, -1, 571, 266, -1, -1, 344, -1, 80, 1357, 1358, 83, -1, -1, -1, 87, 88, 89, -1, -1, 358, -1, -1, 361, -1, 288, 289, -1, -1, -1, -1, -1, -1, -1, -1, 1383, 2516, -1, -1, -1, 303, 1389, 114, -1, -1, 4047, 4048, 4049, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2071, -1, -1, 2074, 2075, -1, -1, -1, -1, 4072, -1, -1, -1, -1, 147, -1, -1, -1, -1, -1, 344, -1, -1, -1, 94, -1, -1, -1, 4091, -1, 100, -1, -1, -1, 358, -1, -1, 361, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4112, -1, 450, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, 5839, 83, -1, -1, -1, 87, 88, 89, 145, -1, -1, -1, -1, -1, 2948, -1, 80, -1, -1, 83, -1, -1, 104, 87, 88, 89, -1, -1, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, -1, 121, 104, -1, -1, -1, 108, -1, -1, 2185, -1, -1, 114, -1, -1, -1, -1, -1, -1, 121, -1, 450, -1, 261, -1, -1, 201, 147, 266, -1, -1, 4199, -1, 208, -1, -1, 211, -1, -1, -1, -1, -1, -1, 1557, -1, 147, 550, -1, -1, -1, 288, 289, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 238, -1, 303, -1, 571, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4246, -1, -1, -1, -1, -1, 4252, 80, 4254, -1, 83, -1, -1, -1, 87, 88, 89, -1, 198, 272, -1, 4267, -1, 4269, -1, -1, -1, -1, 344, -1, -1, 104, 5987, -1, 5989, -1, -1, -1, -1, -1, -1, 114, 358, 550, -1, 1637, -1, -1, 121, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, 1653, -1, 261, 571, -1, -1, -1, 266, -1, -1, -1, -1, 3123, 147, 1667, -1, 3127, 3128, 1671, -1, 261, -1, -1, 337, -1, 266, -1, 341, -1, 288, 289, 4338, -1, -1, -1, -1, -1, 351, -1, -1, -1, -1, -1, -1, 303, -1, 360, 288, 289, -1, -1, -1, -1, -1, -1, -1, -1, -1, 372, 2374, -1, 2376, 303, -1, -1, 2380, -1, 2382, -1, -1, 2385, -1, -1, 450, 2389, -1, 3187, -1, -1, 2394, -1, -1, 3193, -1, -1, 344, -1, -1, -1, -1, -1, -1, 4399, -1, -1, -1, -1, 411, -1, 358, 414, 415, 361, 344, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4421, -1, -1, 358, -1, -1, 361, -1, -1, 3234, -1, -1, -1, 261, -1, -1, -1, 445, 266, -1, -1, -1, 4443, -1, -1, 4446, -1, -1, -1, -1, -1, -1, -1, -1, 1801, -1, -1, -1, -1, -1, 288, 289, 1809, 1810, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 303, -1, 80, -1, 550, 83, -1, -1, -1, 87, 88, 89, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, 450, -1, -1, -1, 104, -1, -1, -1, 513, -1, -1, -1, -1, -1, 114, -1, -1, -1, 450, 344, -1, 121, -1, -1, 1868, 3001, -1, -1, 4526, -1, -1, -1, -1, 358, -1, -1, 361, 6244, -1, -1, -1, -1, -1, -1, -1, 1889, -1, 147, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 510, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1938, 3071, -1, 3073, -1, -1, 550, -1, -1, -1, -1, 1949, -1, 3409, 558, 559, 560, 561, 562, 563, 564, 565, 566, 3093, 550, -1, -1, 571, -1, -1, -1, 450, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, -1, -1, 3441, 3116, -1, -1, -1, -1, -1, 1990, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6364, 3134, -1, -1, 261, -1, 3139, 3140, -1, 266, -1, 3144, -1, -1, -1, -1, -1, -1, -1, -1, 3153, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 288, 289, -1, -1, -1, -1, -1, 3171, -1, -1, -1, -1, -1, -1, 2046, 303, 4702, -1, -1, -1, -1, -1, -1, -1, 3514, -1, -1, -1, 3518, -1, -1, 2063, -1, -1, -1, -1, -1, 550, -1, -1, -1, 3205, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 3218, -1, 344, -1, 571, -1, -1, 3225, 3226, -1, -1, -1, -1, 4753, -1, -1, 358, -1, 4758, 361, 4760, -1, -1, -1, 6473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3256, 3257, -1, -1, 3260, -1, 4784, -1, -1, -1, -1, 2135, -1, -1, -1, -1, -1, 6504, 6505, -1, -1, -1, -1, -1, -1, -1, 3282, -1, 3284, -1, -1, -1, 3288, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, 2168, -1, 3302, -1, -1, 100, -1, 3307, 4830, 3309, -1, 4833, 3312, -1, -1, -1, -1, -1, 3318, -1, -1, -1, -1, -1, -1, -1, 450, -1, 3654, -1, -1, -1, -1, -1, -1, 2203, -1, -1, 3338, -1, -1, -1, -1, 3669, 3344, -1, -1, -1, 3674, -1, 145, 3351, -1, 80, -1, -1, 83, -1, 2226, -1, 87, 88, 89, -1, -1, 3365, 2234, -1, -1, -1, -1, -1, -1, -1, 2242, -1, -1, 104, 3378, -1, -1, -1, -1, 3383, -1, -1, -1, 114, -1, 3389, -1, -1, -1, -1, 121, -1, -1, -1, -1, -1, 6631, 4923, 4924, -1, -1, -1, 201, -1, -1, -1, -1, -1, 4934, 208, 2944, -1, 211, -1, -1, -1, 147, 2951, -1, -1, -1, -1, 550, -1, -1, 4951, -1, 2961, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 238, -1, -1, -1, 571, -1, 3449, -1, -1, -1, -1, 2322, 2323, -1, -1, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, 2336, -1, -1, -1, -1, -1, -1, -1, -1, 272, 24, -1, -1, 2349, 2350, -1, -1, -1, -1, -1, 34, 35, -1, -1, 94, -1, -1, 41, 42, 5019, 100, 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, 5048, 73, -1, 75, 76, -1, -1, -1, 261, 81, -1, -1, -1, 266, -1, -1, 337, 145, 94, -1, 341, -1, -1, -1, 100, -1, -1, -1, -1, -1, 351, -1, -1, 3089, -1, 288, 289, 3093, -1, 360, -1, -1, -1, 3099, -1, 3101, -1, -1, 3104, -1, 303, 372, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, 3919, -1, 145, 3922, -1, 3924, 201, -1, -1, -1, 3929, -1, -1, 208, -1, -1, 211, -1, -1, -1, -1, -1, -1, 411, 344, -1, 414, 415, -1, -1, 3153, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, 361, -1, 238, -1, 3638, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2516, -1, 445, 201, 3978, -1, -1, -1, 3656, -1, 208, -1, 3986, 211, -1, 3663, -1, -1, -1, -1, -1, 215, 272, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4011, -1, -1, 238, 235, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, 258, -1, -1, -1, -1, -1, 513, -1, -1, -1, 272, 450, 104, -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, 337, 282, 3737, -1, 341, -1, 121, -1, 3743, -1, -1, -1, -1, -1, 351, -1, -1, -1, 5275, -1, 4081, -1, 4083, 360, -1, -1, -1, -1, -1, -1, -1, -1, 147, -1, -1, 372, 1037, -1, -1, -1, 321, -1, -1, 324, -1, -1, -1, -1, -1, -1, -1, -1, 337, -1, -1, -1, 341, -1, -1, 3324, 5317, -1, 1063, -1, -1, 346, 351, 3332, -1, -1, 3335, -1, 5329, -1, 411, 360, -1, 414, 415, -1, -1, -1, 3347, -1, -1, -1, -1, 372, 550, -1, -1, -1, -1, -1, -1, 3830, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, 5363, -1, 445, 571, -1, 80, -1, -1, 83, -1, 4177, -1, 87, 88, 89, -1, 237, -1, -1, -1, 411, 242, -1, 414, 415, -1, -1, -1, -1, 104, -1, -1, -1, -1, -1, -1, -1, 4204, -1, 114, 261, -1, -1, 4210, -1, 266, 121, -1, -1, 436, -1, -1, 4219, -1, 445, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 288, 289, -1, 513, -1, 147, -1, -1, -1, -1, -1, 5441, -1, 4247, -1, 303, -1, -1, -1, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, 5460, -1, 486, -1, -1, -1, -1, 3945, 3946, -1, -1, -1, -1, 104, -1, -1, -1, -1, 502, -1, -1, -1, -1, 114, -1, 513, 344, -1, -1, -1, 121, -1, -1, 517, 3972, -1, -1, 3975, -1, -1, 358, -1, -1, 361, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4317, -1, -1, 147, -1, -1, -1, -1, -1, -1, 547, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4339, 560, 561, 562, 563, 564, 565, -1, -1, 568, 569, 570, 571, -1, 261, -1, 575, -1, -1, 266, -1, -1, 5557, -1, 4363, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4047, 4048, 4049, -1, -1, -1, -1, 288, 289, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 303, 450, -1, 4072, -1, -1, -1, -1, -1, -1, 3609, 3610, -1, -1, 236, -1, -1, -1, -1, -1, -1, -1, 4091, -1, -1, -1, -1, -1, 3627, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, 344, -1, 4112, 266, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, 358, -1, -1, 361, -1, -1, -1, -1, -1, 1399, -1, 288, 289, -1, -1, -1, 4466, -1, -1, -1, 1410, -1, -1, -1, -1, -1, 303, -1, 386, -1, -1, -1, 5678, -1, 5680, -1, 1426, -1, -1, 4489, -1, -1, -1, -1, -1, -1, 550, -1, -1, -1, 218, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 231, 4514, -1, -1, 344, -1, 237, -1, -1, -1, -1, 242, 4199, -1, -1, -1, 5725, 248, 358, -1, 251, 361, -1, -1, 255, -1, 5735, -1, 80, 450, -1, 83, -1, -1, -1, 87, 88, 89, 3093, -1, -1, -1, -1, -1, 384, -1, 467, -1, -1, -1, -1, -1, 104, 284, -1, 107, -1, -1, -1, 4246, -1, 3116, 114, -1, 1517, 4252, 5775, 4254, -1, 121, -1, 5780, -1, 304, -1, -1, -1, -1, -1, 3134, 4267, -1, 4269, -1, 3139, 3140, -1, -1, -1, 3144, -1, -1, -1, -1, -1, 147, -1, -1, 3153, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3825, -1, 450, -1, -1, 3830, -1, -1, 3171, -1, -1, -1, -1, -1, 353, -1, -1, 356, -1, -1, -1, 550, -1, 362, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, -1, -1, 3205, 4338, -1, -1, -1, -1, 4669, -1, -1, -1, -1, -1, -1, 3218, -1, -1, -1, -1, -1, -1, 3225, 3226, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 419, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1651, -1, -1, 3256, 3257, -1, -1, 3260, -1, -1, -1, 261, 550, -1, 4399, -1, 266, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 3282, -1, 3284, -1, -1, -1, 3288, 4421, -1, 288, 289, -1, -1, -1, -1, -1, 474, -1, -1, 4759, 3302, -1, -1, -1, 303, 3307, -1, 3309, -1, 4443, 3312, -1, 4446, -1, -1, -1, 3318, -1, -1, -1, -1, -1, -1, -1, 502, 4785, -1, 5983, -1, -1, -1, -1, -1, -1, -1, -1, 3338, -1, -1, -1, -1, 5997, 3344, -1, -1, 344, -1, -1, 526, 3351, 528, 529, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, 361, 3365, -1, -1, -1, -1, -1, -1, -1, -1, 6028, -1, -1, -1, 3378, -1, -1, -1, -1, 3383, -1, -1, -1, -1, -1, 3389, -1, -1, 568, -1, 4526, 571, 572, -1, 574, -1, -1, -1, -1, -1, -1, -1, 1804, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, -1, 133, -1, -1, -1, 3449, -1, -1, -1, 450, -1, -1, -1, -1, -1, -1, -1, -1, 24, -1, -1, -1, -1, -1, 156, 4927, -1, -1, 34, 35, -1, -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, 205, 4976, 81, -1, 4979, -1, -1, -1, 213, -1, 215, -1, -1, -1, -1, -1, -1, 1932, -1, -1, -1, -1, -1, 228, -1, -1, -1, -1, -1, -1, -1, -1, 6203, -1, 6205, -1, 550, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 4702, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, 4247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2000, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4753, -1, -1, -1, -1, 4758, -1, 4760, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3638, 2037, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4312, -1, 4784, 215, -1, -1, 3656, 6311, -1, -1, -1, -1, -1, 3663, -1, -1, -1, -1, -1, 5127, -1, -1, 2070, 235, -1, -1, -1, -1, -1, -1, -1, -1, 6336, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6349, 258, -1, 4830, 4361, -1, 4833, -1, -1, -1, -1, -1, -1, 6362, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 282, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3737, -1, -1, -1, -1, -1, 3743, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 321, -1, -1, 324, -1, -1, -1, -1, 6421, 6422, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2180, -1, 346, -1, -1, -1, -1, -1, 4452, 4923, 4924, 2191, -1, -1, -1, -1, -1, -1, -1, -1, 4934, -1, 5262, -1, -1, -1, -1, 2207, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4951, -1, -1, -1, -1, -1, 6479, -1, -1, -1, -1, 3830, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5300, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2260, -1, 5322, -1, -1, -1, -1, -1, -1, -1, -1, -1, 436, -1, -1, -1, -1, -1, -1, -1, -1, 2281, -1, -1, -1, 5019, -1, -1, -1, -1, -1, -1, -1, -1, 2294, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2306, -1, -1, -1, -1, -1, -1, -1, 5048, -1, -1, -1, -1, -1, -1, 80, 486, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, 5394, -1, -1, -1, 502, -1, -1, -1, -1, 3945, 3946, 104, 2346, 2347, -1, -1, -1, -1, -1, 517, -1, 114, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, 3972, -1, -1, 3975, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, -1, 6641, -1, -1, 147, -1, -1, -1, -1, -1, 4658, -1, 560, 561, 562, 563, 564, 565, -1, -1, 568, 569, 570, 571, -1, -1, -1, 575, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6690, -1, -1, -1, -1, -1, -1, -1, -1, 6699, 6700, 4047, 4048, 4049, -1, -1, -1, -1, -1, 6709, 5514, -1, 5516, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4072, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, 83, 4091, -1, -1, 87, 88, 89, 4759, 2496, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, 266, -1, 104, 4112, -1, 107, -1, -1, -1, -1, -1, 5, 114, -1, 4785, -1, -1, -1, 1037, 121, -1, -1, 288, 289, -1, -1, -1, -1, 4799, -1, 24, -1, -1, -1, 5275, -1, -1, 303, -1, 4810, 34, 35, -1, -1, 1063, 147, -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, 5317, -1, 344, 73, -1, 75, 76, -1, -1, -1, -1, 81, 5329, -1, 4199, -1, 358, -1, -1, 361, -1, -1, -1, -1, -1, -1, -1, -1, 901, -1, -1, -1, -1, -1, -1, -1, 909, -1, 380, -1, -1, -1, -1, -1, -1, 918, 5363, -1, -1, -1, -1, -1, -1, 926, -1, -1, 929, -1, -1, -1, -1, 4246, -1, -1, -1, -1, -1, 4252, 138, 4254, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5724, 4267, 261, 4269, -1, -1, -1, 266, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 450, -1, 288, 289, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5441, 303, -1, -1, -1, 4976, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5460, -1, 215, -1, -1, 80, -1, -1, 83, -1, 4338, -1, 87, 88, 89, -1, 1032, -1, -1, -1, -1, 1037, 235, 344, -1, 1041, -1, -1, -1, 104, -1, -1, 1048, -1, -1, 1051, -1, 358, -1, 114, 361, -1, -1, -1, -1, 258, 121, 1063, -1, -1, -1, -1, -1, 5043, -1, -1, -1, -1, 5844, -1, -1, -1, -1, -1, -1, 550, -1, -1, -1, 282, -1, 4399, 147, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4421, -1, -1, -1, 5557, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 321, -1, -1, 324, -1, -1, -1, 4443, -1, -1, 4446, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 450, 5916, -1, -1, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1172, 1173, -1, -1, -1, 1399, -1, 1179, -1, -1, -1, 1183, -1, -1, -1, -1, 1410, -1, -1, -1, -1, -1, -1, 5965, -1, -1, -1, -1, 5970, 5971, 261, -1, 1426, -1, -1, 266, -1, -1, 1210, -1, -1, -1, 4526, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5198, -1, -1, -1, -1, 288, 289, -1, -1, -1, 5678, -1, 5680, -1, -1, 436, -1, -1, -1, -1, 303, 550, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5725, -1, -1, -1, 344, -1, -1, -1, 486, -1, -1, -1, -1, -1, 1517, -1, -1, -1, 358, -1, -1, 361, -1, -1, 502, -1, -1, -1, 5283, -1, -1, -1, 6083, 6084, 5289, -1, -1, -1, 5293, 517, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5775, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, -1, 80, -1, -1, 83, -1, 1357, 1358, 87, 88, 89, -1, 560, 561, 562, 563, 564, 565, -1, -1, 568, 569, 570, -1, -1, 104, -1, 575, -1, -1, 1381, 1382, 1383, -1, -1, 114, -1, -1, -1, 4702, 450, -1, 121, 1394, -1, -1, -1, -1, 1399, 1400, -1, -1, -1, 1404, -1, 1406, -1, -1, -1, 1410, -1, -1, 3123, -1, -1, -1, 3127, 3128, 147, -1, -1, -1, 482, -1, -1, 1426, -1, -1, 1651, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4753, -1, -1, -1, -1, 4758, -1, 4760, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1468, -1, 1470, 1471, 4784, -1, -1, -1, -1, 3187, -1, -1, -1, -1, -1, 3193, -1, -1, -1, -1, -1, -1, -1, 550, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, -1, -1, -1, -1, 242, -1, -1, 1517, 4830, -1, -1, 4833, -1, -1, 3234, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, 266, 5983, -1, -1, -1, -1, 6314, -1, -1, -1, -1, -1, -1, -1, -1, 5997, -1, -1, -1, -1, -1, -1, 288, 289, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, 6028, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1596, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4923, 4924, -1, -1, -1, 344, -1, -1, -1, -1, -1, 4934, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, 361, -1, -1, -1, -1, -1, 4951, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1651, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1682, -1, -1, -1, -1, 80, 5662, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1932, 104, 1712, -1, 107, -1, -1, -1, -1, -1, -1, 114, 450, -1, -1, -1, -1, -1, 121, -1, -1, 3441, -1, -1, -1, -1, 5048, -1, -1, -1, 1740, 1741, 1742, -1, 1744, -1, -1, -1, -1, -1, 5724, -1, -1, -1, 147, -1, -1, -1, -1, 6203, -1, 6205, -1, -1, 1764, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2000, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3514, -1, -1, -1, 3518, -1, -1, -1, -1, -1, -1, 2037, -1, -1, -1, -1, -1, -1, 550, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, -1, 1842, -1, 5818, -1, 1846, 1847, 2070, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1862, -1, -1, -1, 94, 6311, 261, -1, -1, -1, 100, 266, -1, -1, -1, -1, -1, 107, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6336, -1, -1, 288, 289, -1, -1, -1, -1, 129, -1, -1, -1, -1, -1, -1, 6678, -1, 303, -1, -1, -1, -1, -1, -1, 145, 6362, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1932, -1, -1, -1, -1, -1, 1938, -1, -1, -1, -1, -1, 3654, -1, -1, -1, -1, 1949, -1, 344, 180, -1, -1, -1, -1, -1, 2180, 3669, -1, -1, -1, 5275, 3674, 358, -1, -1, 361, 2191, -1, -1, -1, 201, -1, -1, -1, -1, -1, -1, 208, -1, -1, 211, -1, 2207, -1, -1, -1, -1, 1990, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2000, -1, -1, -1, -1, 5317, -1, -1, -1, -1, 238, -1, -1, -1, -1, -1, -1, 5329, -1, -1, -1, -1, -1, 5997, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6479, -1, 2037, 2260, -1, -1, 269, -1, -1, 272, -1, 2046, -1, -1, -1, -1, 5363, -1, -1, -1, -1, -1, 450, -1, 2281, -1, -1, -1, 2063, -1, -1, -1, -1, -1, -1, 2070, -1, 2294, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2306, -1, -1, -1, -1, -1, 318, -1, -1, -1, 322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, -1, -1, -1, 341, -1, -1, -1, -1, -1, -1, -1, -1, -1, 351, 2346, 2347, -1, -1, -1, 5441, -1, 6105, 360, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 371, 372, -1, -1, -1, 5460, -1, -1, 2151, 2152, 2153, -1, -1, -1, 550, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, -1, -1, -1, -1, 2180, -1, -1, 411, -1, -1, 414, 415, 416, -1, -1, 2191, -1, -1, -1, -1, -1, 6641, -1, -1, -1, -1, -1, 2203, -1, -1, -1, 2207, -1, 3919, -1, 439, 3922, -1, 3924, -1, -1, 445, -1, 3929, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 459, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5557, 6690, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2260, -1, -1, -1, -1, 6709, -1, -1, 3978, -1, -1, -1, -1, -1, 2496, 2275, 3986, -1, 2278, -1, -1, 2281, -1, -1, -1, 513, -1, -1, 2288, -1, -1, -1, -1, -1, 2294, -1, -1, -1, -1, -1, -1, 4011, -1, -1, -1, -1, 2306, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2319, 2320, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2334, -1, -1, 2337, -1, -1, -1, -1, -1, -1, -1, -1, 2346, 2347, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5678, -1, 5680, -1, -1, 4081, -1, 4083, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, 8, -1, -1, -1, 12, -1, 14, -1, 16, 17, 2405, -1, -1, -1, 2409, 2410, -1, -1, 5725, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2446, 2447, -1, -1, -1, -1, 2452, 2453, -1, -1, -1, -1, -1, 2459, 2460, 2461, -1, 5775, 2464, -1, 2466, 4177, 2468, 2469, 2470, 2471, 2472, 2473, -1, -1, 2476, 90, 2478, 2479, -1, -1, 2482, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, 2496, 2497, 2498, 2499, -1, -1, -1, -1, -1, -1, -1, 120, -1, 4219, -1, -1, -1, -1, 2514, -1, 2516, 130, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, -1, 144, 145, -1, -1, -1, -1, 4247, 151, -1, 153, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 165, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 182, -1, 184, -1, -1, 187, -1, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, 202, -1, 204, -1, -1, -1, 208, -1, -1, -1, -1, 104, 214, -1, 107, -1, -1, -1, 4317, -1, 222, 114, 224, -1, -1, -1, -1, -1, 121, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4339, -1, -1, -1, -1, -1, 248, -1, -1, -1, -1, -1, -1, -1, 147, -1, -1, -1, -1, -1, -1, -1, -1, 265, 4363, -1, -1, -1, 2657, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5983, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5997, -1, -1, -1, -1, -1, -1, 305, 306, -1, -1, -1, 2697, 311, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 325, -1, -1, -1, 6028, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, 343, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2750, -1, -1, 104, -1, -1, 4466, 261, -1, -1, -1, -1, 266, 114, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, 387, -1, -1, -1, -1, 4489, -1, -1, -1, -1, 288, 289, -1, -1, 401, -1, -1, -1, -1, -1, 407, 408, 147, 410, -1, 303, -1, -1, 415, -1, 4514, -1, -1, -1, 421, -1, -1, 424, -1, -1, -1, -1, -1, -1, 431, 80, -1, -1, 83, -1, 437, 438, 87, 88, 89, -1, -1, -1, 445, -1, -1, -1, 449, -1, -1, -1, 344, -1, -1, 104, -1, -1, 459, -1, -1, -1, -1, -1, -1, 114, 358, -1, -1, 361, -1, -1, 121, 474, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 494, -1, 496, -1, -1, 147, -1, -1, -1, -1, 6203, 505, 6205, -1, -1, -1, -1, 511, -1, -1, 3123, -1, 516, -1, 3127, 3128, -1, -1, -1, 261, -1, -1, -1, -1, 266, 529, -1, -1, -1, -1, -1, -1, -1, -1, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, -1, 2935, -1, 288, 289, 552, -1, -1, -1, -1, -1, 2945, 450, -1, 2948, -1, -1, -1, 303, -1, -1, -1, -1, 570, -1, 4669, -1, 574, -1, -1, -1, 3187, -1, -1, -1, -1, -1, 3193, -1, -1, -1, -1, -1, -1, -1, -1, -1, 242, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, -1, -1, -1, -1, -1, 6311, 261, -1, -1, -1, 3004, 266, -1, 358, 3008, -1, 361, 3011, 3234, 3013, -1, -1, 3016, -1, -1, -1, -1, -1, -1, -1, 6336, -1, -1, 288, 289, -1, -1, 3031, -1, -1, -1, -1, -1, -1, -1, -1, 3040, 3041, 303, -1, -1, -1, 550, -1, -1, 4759, 6362, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, 4785, -1, -1, -1, -1, -1, -1, -1, 344, -1, -1, -1, -1, 104, -1, -1, -1, -1, -1, -1, -1, -1, 358, 114, 450, 361, -1, -1, -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3123, -1, -1, -1, 3127, 3128, -1, -1, 147, -1, -1, -1, -1, -1, -1, 80, 3139, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, -1, 6479, -1, -1, -1, -1, 114, -1, 3174, -1, -1, -1, -1, 121, -1, -1, -1, -1, -1, 3185, -1, 3187, 3188, 450, 3190, 3191, -1, 3193, -1, -1, -1, -1, -1, 550, -1, -1, -1, -1, -1, 147, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, 4927, 3218, 3441, -1, -1, -1, -1, -1, -1, 242, -1, -1, -1, -1, -1, -1, -1, 3234, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, 266, -1, -1, -1, -1, -1, 3256, -1, -1, -1, 3260, -1, -1, -1, -1, -1, 4976, -1, -1, 4979, -1, -1, 288, 289, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3284, -1, -1, 303, -1, 550, -1, -1, 3514, -1, -1, 237, 3518, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, 3307, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, 266, -1, -1, -1, 344, 6641, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, 361, 288, 289, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6690, -1, -1, -1, -1, 3383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6709, -1, -1, -1, -1, 344, -1, -1, -1, -1, 3407, 3408, 3409, -1, -1, -1, 3413, -1, -1, 358, 5127, -1, 361, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3654, -1, 450, -1, -1, -1, -1, -1, 3440, 3441, -1, -1, -1, -1, -1, 3669, -1, 3449, -1, -1, 3674, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, -1, 3482, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 450, -1, -1, -1, -1, -1, 3514, -1, -1, -1, 3518, -1, 147, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 550, -1, -1, -1, -1, -1, 3540, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, 5262, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5300, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, 550, -1, -1, -1, 5322, -1, -1, 104, 558, 559, 560, 561, 562, 563, 564, 565, 566, 114, -1, -1, -1, -1, -1, -1, 121, -1, 261, -1, -1, -1, -1, 266, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3654, -1, -1, -1, 147, -1, -1, 288, 289, -1, -1, -1, -1, 3667, -1, 3669, 3670, -1, 3672, 3673, 3674, -1, 303, -1, -1, -1, -1, -1, 3682, -1, 5394, -1, -1, 3687, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3919, -1, -1, 3922, -1, 3924, -1, -1, -1, -1, 3929, -1, -1, -1, -1, -1, 3713, 3714, 3715, -1, 344, 3718, -1, -1, -1, -1, -1, -1, -1, 3726, 3727, 3728, 3729, -1, 358, -1, -1, 361, -1, -1, 3737, -1, -1, -1, -1, 3742, 3743, -1, 3745, -1, 3747, 237, -1, -1, -1, -1, -1, -1, -1, 3978, -1, 3758, 3759, -1, -1, 3762, -1, 3986, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, 266, -1, -1, -1, 3781, -1, 3783, -1, 3785, -1, -1, -1, 4011, -1, -1, -1, -1, -1, -1, -1, -1, -1, 288, 289, -1, -1, -1, -1, 3805, 5516, -1, -1, -1, -1, -1, -1, -1, 303, -1, 3816, 3, -1, -1, -1, -1, 8, 450, -1, -1, 12, -1, 14, -1, 16, 17, -1, -1, -1, -1, -1, -1, -1, -1, -1, 27, -1, -1, -1, -1, -1, 3847, -1, -1, -1, -1, -1, -1, -1, 344, -1, 43, 44, 4081, -1, 4083, 3862, -1, -1, -1, -1, -1, -1, 358, -1, -1, 361, -1, -1, -1, 3876, -1, -1, -1, -1, -1, -1, -1, 3884, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 525, -1, -1, -1, -1, -1, 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, 3919, -1, -1, 3922, 550, 3924, -1, -1, -1, -1, 3929, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, -1, -1, 130, -1, -1, -1, -1, -1, -1, 3951, -1, -1, -1, 4177, 142, -1, 144, 145, -1, 450, -1, -1, -1, 151, -1, 153, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3978, 165, -1, 167, -1, -1, -1, -1, 3986, -1, -1, -1, -1, -1, -1, -1, -1, -1, 182, 4219, 184, -1, -1, 187, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4011, -1, -1, 5724, -1, 202, -1, 204, -1, -1, -1, 208, -1, -1, 4247, -1, -1, 214, -1, -1, -1, -1, -1, -1, -1, 222, -1, 224, -1, -1, -1, -1, -1, -1, 231, -1, 4047, 4048, 4049, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 550, 248, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, 265, -1, 4081, -1, 4083, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4317, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4339, -1, 305, 306, -1, -1, -1, -1, 311, -1, -1, -1, -1, -1, -1, -1, -1, 5844, -1, -1, -1, -1, 325, -1, 4363, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, 343, -1, -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, 4177, -1, -1, -1, -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 387, -1, -1, 4204, -1, 5916, -1, -1, 147, 4210, -1, -1, -1, -1, 401, -1, -1, -1, 4219, -1, 407, 408, -1, 410, -1, -1, -1, -1, 415, -1, -1, 418, -1, -1, 421, -1, -1, 424, -1, -1, -1, -1, -1, 4466, 431, 4246, 4247, -1, -1, -1, 437, 438, -1, -1, 5965, -1, -1, -1, 445, 5970, 5971, -1, 449, -1, -1, -1, 4489, -1, -1, -1, -1, -1, 459, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 474, 4289, -1, -1, 4514, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 494, -1, 496, -1, -1, -1, -1, -1, -1, 4317, -1, 505, -1, -1, -1, 261, -1, 511, -1, -1, 266, -1, 516, -1, -1, -1, -1, -1, -1, -1, -1, 4339, -1, -1, -1, 529, -1, -1, -1, -1, -1, -1, 288, 289, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4363, -1, 303, 552, -1, -1, -1, -1, -1, -1, -1, 6084, -1, -1, -1, -1, -1, -1, -1, -1, -1, 570, -1, -1, -1, 574, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, 361, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4669, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4463, -1, -1, 4466, -1, -1, -1, -1, -1, 4472, -1, -1, -1, -1, -1, -1, -1, 4480, -1, 4482, -1, -1, 4485, -1, -1, -1, 4489, 4490, 4491, 4492, 4493, -1, -1, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4505, -1, -1, -1, 4509, 4510, 4511, 450, -1, 4514, -1, -1, -1, -1, 4519, -1, -1, -1, -1, 4524, -1, 4526, -1, 4528, -1, -1, -1, -1, -1, -1, -1, 4536, 4759, -1, 4539, -1, 4541, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4551, -1, -1, 4554, 4555, -1, -1, -1, 4559, 4560, -1, -1, 4785, -1, 94, 4566, -1, -1, -1, -1, 100, -1, -1, -1, -1, 4576, -1, 107, 4579, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4589, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 129, -1, -1, -1, 6314, -1, -1, -1, -1, -1, -1, -1, 550, -1, 92, -1, 145, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, -1, -1, -1, 110, -1, -1, -1, 4636, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 180, -1, 4653, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4669, 148, -1, 201, 92, -1, -1, -1, -1, 97, 208, -1, 4681, 211, -1, -1, -1, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 182, 4927, -1, -1, -1, 238, 188, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 206, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, 217, 269, -1, -1, 272, -1, 164, -1, -1, 226, -1, -1, -1, -1, 4753, 4976, -1, -1, 4979, 4758, 4759, 4760, 239, -1, 182, -1, -1, -1, -1, -1, 247, -1, -1, -1, 251, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4784, 4785, -1, 206, -1, 318, -1, -1, 270, 322, -1, -1, -1, -1, 217, -1, -1, -1, -1, -1, -1, -1, -1, 226, 337, -1, -1, -1, 341, -1, -1, -1, -1, -1, -1, -1, 239, -1, 351, -1, -1, 244, -1, -1, -1, 307, -1, 360, 251, -1, -1, -1, -1, -1, -1, 317, -1, -1, 371, 372, -1, -1, -1, -1, -1, -1, -1, 270, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, 411, 361, -1, 414, 415, 416, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4897, 317, -1, -1, -1, -1, -1, 382, 5127, -1, -1, -1, -1, 439, -1, -1, -1, -1, -1, 445, -1, 396, -1, -1, -1, -1, -1, -1, 403, -1, 4927, -1, -1, 459, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, 4941, 4942, -1, -1, 423, -1, -1, -1, -1, -1, -1, 371, -1, 432, -1, -1, -1, -1, -1, -1, 439, -1, 382, 442, -1, -1, -1, -1, -1, -1, -1, -1, 392, 393, -1, 4976, 396, -1, 4979, 4980, 4981, -1, 461, 513, -1, -1, -1, -1, -1, 468, 4991, -1, -1, -1, -1, 474, -1, -1, 477, 478, -1, 480, 481, 423, -1, -1, 426, -1, -1, -1, 430, -1, 432, -1, -1, -1, -1, 496, -1, 439, -1, -1, 442, -1, 503, -1, -1, 506, -1, -1, 509, -1, -1, -1, -1, -1, -1, -1, -1, 5262, -1, 461, -1, 522, -1, -1, -1, 97, 468, -1, -1, -1, -1, -1, 474, -1, -1, 477, -1, -1, -1, 481, -1, -1, -1, -1, -1, -1, -1, 489, -1, 491, -1, 5074, -1, -1, 496, 5300, -1, -1, -1, -1, -1, -1, 5085, -1, -1, -1, -1, 509, -1, -1, -1, -1, -1, -1, -1, -1, 148, 5322, -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5113, -1, 164, 5116, -1, -1, -1, -1, -1, -1, -1, 5124, 5125, -1, 5127, -1, -1, -1, 5131, 5132, 182, -1, -1, 5136, -1, -1, 188, 5140, -1, -1, 5143, 5144, -1, -1, -1, 5148, -1, -1, -1, -1, -1, 5154, -1, -1, 206, -1, -1, -1, -1, -1, -1, -1, -1, 5166, -1, 217, -1, -1, -1, 5394, -1, 5174, -1, -1, 226, 5178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 239, -1, -1, -1, -1, 244, -1, -1, -1, -1, -1, -1, 251, -1, -1, -1, -1, -1, 133, -1, -1, 5211, -1, -1, -1, -1, -1, -1, -1, 5219, -1, 270, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 165, -1, -1, -1, 5244, -1, 295, -1, -1, -1, -1, -1, -1, -1, -1, 180, -1, -1, -1, -1, -1, -1, 5262, -1, 189, -1, -1, -1, 317, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 204, -1, 206, -1, -1, -1, 210, -1, -1, -1, -1, -1, -1, -1, -1, 5516, 220, -1, -1, -1, -1, 5300, -1, -1, -1, 229, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 382, -1, -1, -1, -1, -1, -1, -1, -1, -1, 392, 393, 5345, -1, 396, -1, -1, -1, -1, 5352, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 423, -1, -1, 426, -1, -1, -1, 430, -1, 432, -1, -1, -1, -1, -1, -1, 439, -1, -1, 442, 5394, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 461, -1, -1, -1, -1, -1, -1, 468, 5420, -1, -1, -1, 473, 474, -1, -1, 477, -1, -1, -1, 481, -1, -1, -1, 5436, -1, -1, -1, -1, 5441, 491, -1, -1, -1, -1, 496, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 509, -1, -1, -1, -1, -1, -1, 5467, -1, -1, -1, -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5724, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5514, -1, 5516, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5575, -1, -1, 5578, -1, -1, 5581, 5582, 5583, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5606, 5607, -1, -1, 5610, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5844, -1, -1, 5625, -1, -1, -1, -1, -1, -1, 5632, -1, -1, -1, -1, 5637, -1, -1, 5640, 5641, -1, -1, -1, -1, -1, -1, 5648, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5669, -1, -1, 5672, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5684, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5916, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5724, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5735, -1, -1, -1, -1, -1, -1, -1, 5965, -1, -1, -1, -1, 5970, 5971, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5775, -1, -1, -1, -1, 5780, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1037, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1063, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5841, -1, -1, 5844, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6084, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5876, -1, -1, -1, 5880, -1, 5882, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5900, -1, -1, -1, -1, -1, 5906, -1, -1, -1, 5910, -1, -1, -1, -1, -1, 5916, 5917, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5965, -1, -1, -1, -1, 5970, 5971, -1, -1, -1, 5975, -1, -1, -1, -1, -1, 5981, 5982, -1, 909, 910, 911, -1, -1, 914, -1, -1, -1, 918, -1, 920, -1, -1, 923, -1, -1, 926, -1, -1, 929, -1, -1, 932, -1, 934, -1, -1, 937, -1, -1, -1, 941, 6017, 943, -1, -1, -1, -1, -1, -1, 6025, -1, -1, 6028, -1, -1, -1, -1, -1, -1, -1, -1, 962, -1, -1, -1, -1, -1, 968, -1, 970, -1, 972, -1, -1, 975, -1, -1, 6053, -1, -1, -1, 982, -1, -1, -1, -1, 987, -1, 989, -1, -1, -1, -1, -1, 995, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6083, 6084, -1, -1, -1, -1, -1, -1, -1, 6314, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1032, -1, 6109, -1, -1, -1, -1, -1, 6115, 1041, -1, 6118, -1, 1045, 6121, -1, 1048, -1, -1, 1051, -1, -1, -1, -1, -1, 6132, -1, -1, -1, -1, -1, -1, 6139, -1, -1, 1067, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6157, -1, -1, -1, -1, 1399, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1410, -1, -1, -1, -1, 6178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1426, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1127, 6203, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1172, 1173, -1, -1, -1, -1, 1178, -1, -1, -1, -1, -1, 6259, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1197, -1, -1, -1, -1, 1202, -1, -1, 1517, -1, -1, -1, -1, 1210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1221, -1, -1, -1, -1, 6301, 6302, 6303, -1, -1, -1, -1, -1, 1234, 6310, 6311, -1, -1, 6314, -1, -1, -1, -1, 6319, -1, 6321, -1, 6323, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6349, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1309, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1320, -1, -1, -1, -1, 1325, 1326, -1, 6403, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6413, 1651, -1, -1, -1, -1, -1, -1, 6421, 6422, -1, -1, -1, -1, 6427, -1, -1, 6430, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6440, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6450, -1, -1, -1, -1, -1, 1381, 1382, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1394, -1, 1396, -1, -1, -1, 1400, -1, -1, 1403, 1404, -1, 1406, -1, -1, -1, -1, 1411, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6503, -1, -1, -1, -1, -1, 6509, 1435, -1, -1, -1, -1, -1, 1441, 1442, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6527, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1462, 1463, 1464, -1, 1466, 6542, 1468, -1, 1470, 1471, 6547, -1, -1, -1, -1, 1477, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6570, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6601, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6612, -1, -1, -1, 6616, -1, -1, -1, -1, -1, -1, -1, -1, 1550, -1, 1552, 1553, -1, -1, -1, -1, -1, 6634, -1, -1, -1, -1, -1, -1, 6641, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1596, -1, -1, -1, -1, -1, -1, 6678, 6679, -1, -1, 6682, -1, -1, -1, 6686, -1, -1, -1, 6690, -1, -1, -1, -1, 1932, -1, -1, -1, 6699, 6700, -1, -1, -1, -1, 1630, -1, 1632, -1, 6709, -1, 1636, -1, 1638, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1657, -1, -1, -1, -1, -1, 1663, -1, -1, 1666, -1, -1, 1669, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1682, -1, -1, -1, -1, -1, 2000, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1712, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2037, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1740, 1741, 1742, -1, 1744, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2070, -1, -1, -1, -1, -1, 1764, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1816, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1842, -1, -1, -1, 1846, 1847, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1857, 1858, 1859, 1860, -1, 1862, -1, -1, -1, -1, -1, 2180, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2191, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2207, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2260, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2281, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2294, -1, -1, 1985, -1, -1, -1, -1, -1, -1, -1, 1993, 2306, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2006, 2007, -1, -1, -1, -1, -1, -1, -1, 2015, -1, -1, 2018, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2346, 2347, -1, -1, -1, -1, -1, 2041, -1, 2043, -1, -1, -1, -1, -1, 2049, 2050, -1, -1, 2053, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2066, -1, -1, 2069, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2091, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2121, 2122, 2123, 2124, 2125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2151, 2152, 2153, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2167, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2178, -1, -1, -1, -1, -1, 2496, -1, 2186, 2187, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2202, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2220, 2221, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2236, 2237, 2238, 2239, -1, -1, -1, -1, -1, 2245, -1, -1, -1, -1, -1, -1, 2252, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2275, -1, -1, 2278, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2288, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2319, 2320, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2330, 2331, -1, -1, 2334, -1, -1, 2337, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2352, 2353, -1, -1, -1, -1, -1, 2359, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2370, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2396, -1, -1, -1, -1, -1, -1, 2403, -1, 2405, -1, -1, 2408, 2409, 2410, -1, 2412, 2413, -1, 2415, -1, -1, -1, -1, -1, -1, 2422, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2432, -1, -1, -1, -1, -1, 2438, 2439, -1, -1, 2442, -1, -1, -1, 2446, 2447, -1, -1, -1, -1, 2452, 2453, -1, -1, -1, -1, -1, 2459, 2460, 2461, -1, -1, 2464, -1, 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2473, -1, -1, 2476, -1, 2478, 2479, -1, -1, 2482, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2497, 2498, 2499, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2514, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2554, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2657, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2697, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2750, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3123, -1, -1, -1, 3127, 3128, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3187, -1, -1, -1, -1, -1, 3193, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3234, -1, -1, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, -1, 2935, -1, -1, -1, -1, -1, -1, -1, -1, 2944, 2945, -1, -1, 2948, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2970, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3002, -1, 3004, -1, -1, 3007, 3008, -1, -1, 3011, -1, 3013, -1, -1, 3016, -1, -1, -1, 3020, 3021, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3031, -1, -1, -1, -1, -1, -1, -1, -1, 3040, 3041, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3054, -1, -1, -1, -1, -1, -1, -1, 3062, -1, 3064, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3441, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3155, -1, 3157, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3185, -1, -1, 3188, 3189, 3190, 3191, -1, -1, 3194, -1, -1, 3197, -1, -1, -1, -1, 3514, -1, -1, -1, 3518, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3229, -1, -1, -1, -1, -1, -1, -1, 3237, 3238, -1, -1, -1, -1, -1, 3244, -1, -1, -1, -1, -1, -1, -1, -1, 3253, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3294, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3330, -1, -1, 3333, -1, -1, -1, -1, -1, -1, -1, -1, 3654, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3669, -1, 3359, 3360, -1, 3674, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3374, -1, 3376, 3377, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3407, 3408, 3409, -1, -1, -1, 3413, -1, -1, -1, -1, -1, -1, -1, 3421, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3434, -1, -1, -1, -1, -1, 3440, -1, 3442, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3455, -1, -1, -1, -1, 3460, -1, -1, -1, -1, -1, 3466, -1, -1, 3469, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3481, 3482, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3492, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3502, -1, 3504, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3528, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3540, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3554, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3564, -1, 3566, -1, 3568, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3919, -1, -1, 3922, -1, 3924, -1, 3614, -1, -1, 3929, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3978, 3667, 3668, -1, 3670, -1, 3672, 3673, 3986, 3675, -1, -1, -1, -1, -1, -1, 3682, -1, -1, -1, -1, 3687, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4011, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3713, 3714, 3715, -1, -1, 3718, -1, -1, -1, -1, -1, -1, -1, 3726, 3727, 3728, 3729, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3742, -1, -1, 3745, -1, 3747, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3758, 3759, -1, -1, 3762, -1, -1, -1, -1, -1, -1, 4081, -1, 4083, -1, -1, -1, -1, -1, -1, -1, 3779, -1, 3781, -1, 3783, -1, 3785, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3805, -1, -1, -1, 3809, -1, -1, -1, -1, -1, -1, 3816, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3839, -1, -1, -1, -1, -1, -1, -1, 3847, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3862, -1, -1, 4177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3876, -1, -1, -1, 3880, -1, -1, 3883, 3884, -1, 3886, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4219, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3951, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3981, 3982, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4317, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4363, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4089, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4099, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4466, -1, -1, -1, -1, 1037, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4489, -1, -1, -1, -1, -1, -1, -1, 1063, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4514, -1, 4204, -1, -1, -1, -1, -1, 4210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4221, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4258, 4259, 4260, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4275, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4289, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4309, 4310, 4311, -1, -1, -1, 4315, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4327, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4669, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4379, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4402, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4419, 4420, -1, -1, -1, -1, -1, -1, -1, 4428, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4441, -1, -1, 4444, -1, -1, 4759, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4463, -1, -1, -1, -1, -1, -1, -1, -1, 4472, 4785, -1, -1, -1, -1, -1, -1, 4480, -1, 4482, -1, -1, 4485, -1, -1, -1, -1, 4490, 4491, 4492, 4493, -1, -1, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4505, -1, -1, -1, 4509, 4510, 4511, -1, -1, -1, -1, -1, -1, -1, 4519, -1, 1399, -1, -1, 4524, -1, -1, -1, 4528, -1, -1, -1, 1410, -1, -1, -1, 4536, -1, -1, 4539, -1, 4541, -1, -1, -1, -1, -1, -1, 1426, -1, -1, 4551, -1, -1, 4554, 4555, -1, -1, -1, 4559, 4560, -1, -1, -1, 4564, -1, 4566, -1, -1, -1, -1, -1, -1, 4573, 4574, 4575, 4576, -1, -1, 4579, 4580, -1, -1, -1, 4584, 4585, 4586, -1, -1, 4589, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4927, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4636, -1, -1, 1517, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4651, -1, 4653, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4976, -1, -1, 4979, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4681, 4682, 4683, -1, -1, 4686, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4721, 4722, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4740, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1651, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4793, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5127, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4848, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4881, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4895, -1, 4897, -1, -1, -1, -1, -1, -1, 4904, -1, -1, -1, -1, -1, 4910, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4921, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4936, -1, -1, -1, -1, 4941, 4942, -1, -1, -1, -1, -1, -1, 4949, 5262, -1, -1, -1, -1, -1, -1, -1, 4958, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4968, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4980, 4981, -1, -1, -1, -1, -1, -1, 5300, -1, -1, 4991, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5002, 5003, -1, -1, -1, -1, -1, -1, 5322, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5020, 5021, 5022, 5023, 5024, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5035, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1932, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5074, -1, -1, -1, -1, -1, -1, -1, 5394, -1, -1, 5085, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5113, -1, -1, 5116, -1, -1, -1, -1, -1, 2000, -1, 5124, 5125, -1, -1, -1, -1, -1, 5131, 5132, -1, -1, -1, 5136, -1, -1, -1, 5140, -1, -1, 5143, 5144, -1, -1, -1, 5148, 5149, -1, -1, -1, -1, 5154, 5155, 5156, 5157, 5158, 2037, -1, -1, 5162, 5163, 5164, -1, 5166, 5167, -1, -1, 5170, -1, -1, -1, 5174, -1, 133, -1, 5178, -1, -1, -1, -1, -1, 5184, -1, -1, -1, -1, -1, -1, -1, 2070, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5202, -1, 5516, -1, -1, -1, -1, -1, -1, 5211, -1, -1, -1, 5215, -1, -1, -1, 5219, -1, 5221, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5241, -1, -1, 5244, -1, -1, -1, 205, -1, -1, -1, -1, -1, -1, -1, 213, -1, 215, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5278, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5294, -1, -1, -1, -1, -1, -1, -1, 2180, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2191, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2207, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5345, -1, -1, -1, -1, -1, -1, 5352, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5374, -1, -1, -1, -1, -1, -1, 1037, 2260, -1, -1, -1, -1, -1, -1, 5389, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2281, -1, -1, -1, 1063, -1, -1, -1, -1, 5724, -1, -1, -1, 2294, -1, -1, -1, 5420, -1, -1, -1, -1, -1, -1, -1, 2306, -1, -1, -1, -1, -1, -1, -1, 5436, -1, -1, -1, -1, -1, -1, 5443, -1, -1, -1, -1, -1, -1, -1, -1, 5452, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5467, 2346, 2347, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5480, -1, 5482, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5520, -1, -1, -1, -1, -1, 5526, -1, -1, -1, -1, -1, 5844, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5575, -1, -1, 5578, -1, -1, 5581, 5582, 5583, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5916, -1, 5606, 5607, -1, -1, 5610, -1, -1, -1, -1, -1, -1, -1, 2496, -1, -1, -1, -1, -1, -1, 5625, -1, -1, 5628, -1, -1, -1, 5632, -1, -1, -1, -1, 5637, -1, -1, 5640, 5641, -1, 5643, -1, 5645, -1, -1, 5648, -1, -1, -1, -1, 5965, -1, -1, -1, -1, 5970, 5971, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5669, -1, -1, 5672, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5684, 5685, 5686, -1, 5688, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5735, 5736, -1, -1, -1, -1, -1, -1, 1399, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1426, -1, 6084, -1, -1, -1, -1, -1, -1, -1, 5780, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5792, -1, -1, -1, -1, 5797, -1, -1, -1, -1, 5802, -1, -1, -1, -1, -1, -1, -1, -1, 5811, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5821, -1, -1, -1, 5825, -1, -1, 5828, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5839, 5840, 5841, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1517, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5876, -1, -1, -1, 5880, -1, 5882, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5900, -1, -1, -1, -1, -1, 5906, -1, -1, -1, 5910, -1, -1, -1, 5914, -1, -1, 5917, -1, 5919, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5950, -1, 909, -1, -1, -1, -1, -1, -1, -1, -1, 918, -1, -1, -1, -1, -1, -1, -1, 926, -1, -1, 929, -1, -1, 5975, -1, -1, -1, -1, -1, 5981, 5982, -1, -1, -1, 5986, 5987, 5988, 5989, -1, -1, -1, -1, -1, 1651, -1, -1, -1, -1, -1, -1, 6314, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6017, -1, -1, -1, -1, -1, -1, -1, 6025, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6050, -1, -1, 6053, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1032, -1, -1, -1, 6079, 1037, -1, -1, -1, 1041, -1, -1, -1, -1, -1, -1, 1048, -1, -1, 1051, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1063, -1, -1, 6109, -1, -1, -1, -1, -1, 6115, -1, -1, 6118, -1, -1, 6121, -1, -1, -1, 6125, -1, -1, -1, -1, -1, -1, 6132, -1, -1, -1, -1, -1, -1, 6139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6152, -1, -1, -1, -1, 6157, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6167, -1, 6169, -1, -1, -1, -1, -1, -1, -1, -1, 6178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6213, 6214, 1172, 1173, -1, -1, -1, -1, -1, 1179, -1, -1, -1, 1183, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6244, 3123, -1, -1, -1, 3127, 3128, -1, -1, 1210, -1, -1, -1, -1, -1, 6259, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1932, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6293, -1, -1, -1, -1, -1, -1, -1, 6301, 6302, 6303, -1, -1, -1, 6307, -1, 3187, 6310, -1, -1, -1, -1, 3193, -1, -1, -1, 6319, -1, 6321, -1, 6323, 6324, -1, -1, -1, -1, -1, -1, -1, 6332, 6333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2000, -1, -1, -1, -1, 6349, -1, -1, -1, -1, -1, -1, 3234, -1, -1, -1, -1, -1, -1, -1, 6364, -1, -1, -1, -1, -1, -1, 6371, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2037, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6396, -1, -1, -1, 1357, 1358, -1, 6403, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6413, 2070, -1, -1, -1, -1, -1, -1, 6421, 6422, 6423, 1381, 1382, -1, 6427, -1, -1, 6430, -1, -1, -1, -1, -1, -1, 1394, -1, -1, 6440, -1, 1399, 1400, 6444, -1, -1, 1404, -1, 1406, 6450, -1, -1, 1410, -1, 6455, 6456, 6457, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1426, -1, -1, -1, 6473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6503, 6504, 6505, -1, -1, -1, 6509, -1, 1468, -1, 1470, 1471, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2180, -1, -1, 6527, -1, -1, -1, -1, -1, -1, -1, 2191, -1, -1, -1, -1, -1, -1, 6542, -1, -1, -1, -1, 6547, 6548, -1, -1, 2207, -1, -1, -1, -1, -1, -1, -1, -1, 1517, -1, -1, 3441, -1, -1, -1, -1, -1, -1, 6570, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6601, -1, -1, 2260, -1, -1, -1, -1, -1, -1, -1, 6612, -1, 6614, 6615, 6616, 6617, -1, 6619, -1, -1, -1, -1, -1, 2281, -1, -1, -1, -1, -1, 6631, -1, -1, 6634, -1, 3514, -1, 2294, 1596, 3518, -1, -1, -1, -1, 6645, -1, -1, -1, -1, 2306, -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, 6678, 6679, -1, -1, 6682, -1, -1, -1, 6686, -1, -1, -1, 2346, 2347, -1, -1, 1651, -1, -1, -1, -1, 6699, 6700, -1, -1, 6703, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1682, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1712, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3654, -1, -1, -1, -1, -1, -1, 1740, 1741, 1742, -1, 1744, -1, -1, -1, 3669, -1, -1, -1, -1, 3674, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1764, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2496, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1842, -1, -1, -1, 1846, 1847, -1, -1, -1, -1, 6, 7, -1, 9, 10, 11, -1, -1, -1, 15, 1862, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, -1, -1, -1, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, -1, -1, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, -1, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1932, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1949, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, 121, 122, 123, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 139, -1, -1, -1, -1, 1990, -1, 146, -1, 148, -1, -1, -1, 3919, -1, 2000, 3922, 156, 3924, -1, -1, -1, -1, 3929, -1, -1, -1, -1, -1, 168, -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, 185, 186, -1, -1, -1, -1, 2037, -1, -1, -1, -1, -1, -1, -1, -1, 2046, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3978, -1, -1, -1, 215, -1, 2063, -1, 3986, -1, -1, -1, 223, 2070, -1, -1, -1, 228, -1, -1, -1, -1, -1, -1, 235, -1, -1, -1, -1, -1, 241, -1, 243, 4011, -1, -1, -1, -1, -1, 250, -1, 252, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 276, 277, -1, -1, -1, -1, -1, 283, -1, 285, -1, -1, 288, 289, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, 300, 301, -1, 303, -1, 2151, 2152, 2153, -1, -1, -1, -1, -1, -1, 4081, -1, 4083, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 328, 329, 330, -1, -1, -1, 2180, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 2191, -1, 347, -1, 349, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2207, -1, -1, -1, 365, 366, -1, 368, 369, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 383, -1, 385, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4177, -1, -1, -1, 2260, -1, -1, -1, -1, -1, -1, -1, 422, -1, -1, -1, -1, -1, 428, 2275, -1, -1, 2278, -1, -1, 2281, -1, -1, -1, -1, -1, -1, 2288, -1, -1, -1, -1, 447, 2294, -1, 450, -1, 4219, 453, -1, -1, -1, -1, -1, -1, 2306, -1, -1, -1, -1, -1, -1, -1, -1, 469, -1, -1, -1, 2319, 2320, -1, 476, -1, -1, -1, 4247, -1, -1, -1, 484, 485, -1, -1, 2334, -1, 490, 2337, 492, -1, -1, -1, -1, -1, -1, -1, 2346, 2347, 502, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 517, -1, -1, 520, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, -1, -1, -1, 4317, -1, -1, -1, -1, -1, -1, -1, -1, 2405, -1, -1, -1, 2409, 2410, -1, -1, -1, -1, -1, -1, -1, 4339, -1, -1, -1, -1, 577, 3123, -1, -1, -1, 3127, 3128, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4363, -1, -1, -1, 2446, 2447, -1, -1, -1, -1, 2452, 2453, -1, -1, -1, -1, -1, 2459, 2460, 2461, -1, -1, 2464, -1, 2466, -1, 2468, 2469, 2470, 2471, 2472, 2473, -1, -1, 2476, -1, 2478, 2479, -1, -1, 2482, -1, -1, -1, -1, -1, 3187, -1, -1, -1, -1, -1, 3193, -1, 2496, 2497, 2498, 2499, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2514, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3234, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4466, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4489, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4514, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2657, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2697, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3441, -1, -1, -1, -1, -1, 4669, -1, 2750, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3514, -1, -1, -1, 3518, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4759, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4785, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, -1, 2935, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2945, -1, -1, 2948, -1, -1, -1, -1, -1, -1, 3654, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3669, -1, -1, -1, -1, 3674, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3004, -1, 4927, -1, 3008, -1, -1, 3011, -1, 3013, -1, -1, 3016, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3031, -1, -1, -1, -1, -1, -1, -1, -1, 3040, 3041, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4976, -1, -1, 4979, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3123, -1, -1, -1, 3127, 3128, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, 3185, -1, 3187, 3188, -1, 3190, 3191, -1, 3193, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5127, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3218, -1, 3919, -1, -1, 3922, -1, 3924, -1, -1, -1, -1, 3929, -1, -1, -1, 3234, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3978, -1, -1, -1, -1, -1, -1, -1, 3986, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3307, -1, -1, -1, -1, 4011, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5262, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5300, -1, -1, 4081, -1, 4083, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5322, -1, -1, -1, -1, -1, 3407, 3408, 3409, -1, -1, -1, 3413, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3440, 3441, -1, -1, -1, 1037, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1063, -1, 5394, -1, -1, -1, -1, 4177, -1, -1, -1, 3482, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3514, -1, -1, -1, 3518, -1, 4219, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3540, -1, -1, -1, -1, -1, -1, -1, 4247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5516, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4317, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3654, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4363, -1, -1, 3667, -1, 3669, 3670, -1, 3672, 3673, 3674, -1, -1, -1, -1, -1, -1, -1, 3682, -1, -1, -1, -1, 3687, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3713, 3714, 3715, -1, -1, 3718, -1, -1, -1, -1, -1, -1, -1, 3726, 3727, 3728, 3729, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3742, -1, -1, 3745, -1, 3747, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3758, 3759, -1, -1, 3762, -1, -1, -1, -1, 4466, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3781, -1, 3783, -1, 3785, -1, -1, -1, -1, 4489, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5724, -1, 3805, -1, 1399, -1, -1, -1, -1, -1, -1, -1, 4514, 3816, -1, 1410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1426, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3847, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3862, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3876, -1, -1, -1, -1, -1, -1, -1, 3884, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, -1, -1, -1, 3919, -1, -1, 3922, 5844, 3924, 1517, -1, -1, -1, 3929, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3951, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4669, -1, -1, -1, -1, -1, -1, -1, 3978, -1, -1, -1, -1, -1, -1, -1, 3986, -1, -1, -1, -1, -1, -1, -1, -1, 5916, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4011, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5965, -1, -1, -1, -1, 5970, 5971, -1, -1, -1, -1, -1, -1, -1, -1, 1651, 4759, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4081, -1, 4083, -1, -1, 4785, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6084, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4204, -1, -1, -1, -1, -1, 4210, -1, -1, -1, -1, -1, -1, -1, -1, 4219, -1, -1, -1, -1, -1, -1, -1, -1, 4927, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4976, -1, -1, 4979, -1, -1, -1, -1, -1, -1, -1, -1, 4289, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4317, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4339, 1932, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4363, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6314, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2000, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5127, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2037, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4463, -1, -1, 4466, -1, -1, -1, -1, -1, 4472, -1, -1, -1, -1, -1, 2070, -1, 4480, -1, 4482, -1, -1, 4485, -1, -1, -1, 4489, 4490, 4491, 4492, 4493, -1, -1, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4505, -1, -1, -1, 4509, 4510, 4511, -1, -1, 4514, -1, -1, -1, -1, 4519, -1, -1, -1, -1, 4524, -1, -1, -1, 4528, -1, -1, -1, -1, -1, -1, -1, 4536, -1, -1, 4539, -1, 4541, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4551, -1, -1, 4554, 4555, -1, -1, -1, 4559, 4560, -1, -1, 5262, -1, -1, 4566, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4576, -1, -1, 4579, -1, -1, -1, -1, -1, -1, -1, -1, 2180, 4589, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2191, -1, 5300, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2207, -1, -1, -1, -1, -1, -1, -1, 5322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4636, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4653, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2260, 4669, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4681, -1, -1, -1, -1, -1, -1, -1, 2281, -1, 909, -1, -1, -1, 5394, -1, -1, -1, -1, 918, -1, 2294, -1, -1, -1, -1, -1, 926, -1, -1, 929, -1, -1, 2306, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2346, 2347, -1, -1, -1, 4759, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4785, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1032, -1, -1, 5516, -1, 1037, -1, -1, -1, 1041, -1, -1, -1, -1, -1, -1, 1048, -1, -1, 1051, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1063, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4897, -1, -1, -1, -1, -1, -1, 2496, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4927, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4941, 4942, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1172, 1173, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4976, -1, -1, 4979, 4980, 4981, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4991, 1210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5724, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5074, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5085, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5113, -1, -1, 5116, -1, -1, -1, -1, -1, -1, -1, 5124, 5125, -1, 5127, -1, -1, -1, 5131, 5132, -1, -1, -1, 5136, -1, -1, -1, 5140, -1, -1, 5143, 5144, 5844, -1, -1, 5148, -1, -1, -1, -1, -1, 5154, -1, -1, -1, -1, -1, -1, -1, -1, 1381, 1382, -1, 5166, -1, -1, -1, -1, -1, -1, -1, 5174, -1, 1394, -1, 5178, -1, -1, 1399, 1400, -1, -1, -1, 1404, -1, 1406, -1, -1, -1, 1410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1426, -1, -1, 5211, -1, -1, -1, -1, -1, 5916, -1, 5219, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5244, -1, -1, -1, -1, -1, 1468, -1, 1470, 1471, -1, -1, -1, -1, -1, -1, -1, -1, 5262, -1, -1, -1, 5965, -1, -1, -1, -1, 5970, 5971, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1517, 5300, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5345, -1, -1, -1, -1, -1, -1, 5352, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1596, -1, -1, -1, -1, -1, -1, 6084, -1, -1, -1, -1, -1, -1, -1, -1, 5394, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5420, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1651, -1, -1, 5436, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1682, -1, -1, 5467, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1712, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5514, -1, 5516, -1, -1, -1, -1, -1, 1740, 1741, 1742, -1, 1744, -1, -1, -1, -1, 3123, -1, -1, -1, 3127, 3128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1764, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5575, -1, -1, 5578, -1, -1, 5581, 5582, 5583, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3187, -1, -1, -1, -1, -1, 3193, -1, -1, -1, -1, 5606, 5607, -1, -1, 5610, -1, -1, -1, -1, 6314, -1, -1, -1, -1, -1, -1, -1, -1, 1842, 5625, -1, -1, 1846, 1847, -1, -1, 5632, -1, -1, -1, -1, 5637, -1, -1, 5640, 5641, 3234, -1, 1862, -1, -1, -1, 5648, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5669, -1, -1, 5672, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5684, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1932, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5724, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5735, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5780, -1, 2000, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2037, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5841, -1, -1, 5844, -1, -1, -1, -1, 3441, -1, -1, 2070, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5876, -1, -1, -1, 5880, -1, 5882, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5900, -1, -1, -1, -1, -1, 5906, -1, -1, -1, 5910, -1, -1, -1, -1, -1, 5916, 5917, -1, -1, -1, -1, 3514, -1, -1, -1, 3518, -1, -1, -1, -1, -1, -1, 2151, 2152, 2153, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2180, -1, -1, 5965, -1, -1, -1, -1, 5970, 5971, -1, 2191, -1, 5975, -1, -1, -1, -1, -1, 5981, 5982, -1, -1, -1, -1, -1, -1, 2207, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6017, -1, -1, -1, -1, -1, -1, -1, 6025, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2260, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6053, -1, -1, -1, 2275, -1, -1, 2278, -1, 3654, 2281, -1, -1, -1, -1, -1, -1, 2288, -1, -1, -1, -1, -1, 2294, 3669, -1, -1, -1, -1, 3674, 6083, 6084, -1, -1, -1, 2306, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2319, 2320, -1, -1, -1, -1, -1, -1, 6109, -1, -1, -1, -1, -1, 6115, 2334, -1, 6118, 2337, -1, 6121, -1, -1, -1, -1, -1, -1, 2346, 2347, -1, -1, 6132, -1, -1, -1, -1, -1, -1, 6139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6157, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6178, -1, -1, -1, -1, -1, -1, -1, -1, 2405, -1, -1, -1, 2409, 2410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2446, 2447, -1, -1, -1, -1, 2452, 2453, -1, -1, -1, -1, -1, 2459, 2460, 2461, -1, -1, 2464, -1, 2466, -1, 2468, 2469, 2470, 2471, 2472, 2473, -1, -1, 2476, 6259, 2478, 2479, -1, -1, 2482, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2496, 2497, 2498, 2499, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2514, -1, -1, -1, -1, 6301, 6302, 6303, -1, -1, -1, -1, -1, -1, 6310, -1, -1, -1, 6314, -1, -1, -1, -1, 6319, -1, 6321, -1, 6323, -1, -1, -1, 3919, -1, -1, 3922, -1, 3924, 6333, -1, -1, -1, 3929, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6349, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3978, -1, -1, -1, -1, -1, -1, -1, 3986, -1, -1, -1, -1, -1, -1, -1, -1, 6403, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6413, -1, -1, -1, -1, -1, 4011, -1, 6421, 6422, -1, -1, -1, -1, 6427, -1, -1, 6430, -1, -1, -1, -1, -1, -1, -1, -1, 2657, 6440, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6450, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2697, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4081, -1, 4083, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6503, -1, -1, -1, -1, -1, 6509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6527, -1, -1, -1, -1, 2750, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6542, -1, -1, -1, -1, 6547, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6570, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6601, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6612, -1, -1, -1, 6616, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4219, -1, -1, -1, -1, -1, -1, 6634, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6678, 6679, -1, -1, 6682, -1, -1, -1, 6686, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6699, 6700, -1, -1, -1, -1, -1, -1, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, -1, 2935, -1, -1, -1, -1, -1, -1, -1, 4317, -1, 2945, -1, -1, 2948, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4363, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3004, -1, -1, -1, 3008, -1, -1, 3011, -1, 3013, -1, -1, 3016, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3031, -1, 6, 7, -1, 9, 10, 11, -1, 3040, 3041, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, -1, -1, -1, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4466, -1, -1, -1, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4489, -1, -1, -1, -1, -1, -1, -1, 3123, -1, -1, -1, 3127, 3128, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4514, -1, -1, -1, 117, -1, -1, -1, 121, 122, 123, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 139, -1, -1, -1, -1, -1, -1, 146, 3174, 148, -1, -1, -1, -1, -1, -1, -1, 156, -1, 3185, -1, 3187, 3188, -1, 3190, 3191, -1, 3193, -1, 168, -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, 185, 186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3234, -1, -1, -1, -1, -1, -1, -1, 215, -1, -1, -1, -1, -1, -1, -1, 223, -1, -1, -1, -1, 228, -1, -1, -1, -1, -1, -1, 235, -1, -1, -1, -1, -1, 241, -1, 243, -1, -1, -1, -1, -1, -1, 250, -1, 252, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, 4669, -1, -1, -1, -1, -1, -1, -1, 276, 277, -1, -1, -1, -1, -1, 283, -1, 285, -1, -1, 288, 289, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, 300, 301, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 328, 329, 330, -1, -1, -1, -1, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, -1, -1, 347, -1, 349, -1, -1, -1, -1, -1, -1, -1, -1, 4759, -1, -1, -1, -1, -1, -1, 365, 366, -1, 368, 369, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3407, 3408, 3409, 383, 4785, 385, 3413, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3440, 3441, -1, -1, -1, -1, -1, -1, -1, 422, -1, -1, -1, -1, -1, 428, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 447, -1, -1, 450, -1, -1, 453, -1, 3482, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 469, -1, -1, -1, -1, -1, -1, 476, -1, -1, -1, -1, -1, -1, -1, 484, 485, -1, 3514, -1, -1, 490, 3518, 492, -1, -1, -1, -1, -1, -1, -1, -1, -1, 502, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3540, -1, -1, -1, 517, -1, -1, 520, -1, -1, -1, -1, -1, 4927, -1, -1, -1, -1, -1, -1, -1, -1, -1, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4976, -1, -1, 4979, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3654, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3667, -1, 3669, 3670, -1, 3672, 3673, 3674, -1, -1, -1, -1, -1, -1, -1, 3682, -1, -1, -1, -1, 3687, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3713, 3714, 3715, -1, -1, 3718, -1, -1, -1, -1, -1, -1, -1, 3726, 3727, 3728, 3729, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3742, -1, -1, 3745, -1, 3747, -1, -1, -1, -1, -1, 5127, -1, -1, -1, -1, 3758, 3759, -1, -1, 3762, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3781, -1, 3783, -1, 3785, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3805, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3816, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 88, 3847, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3862, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3876, -1, -1, -1, -1, -1, -1, 125, 3884, -1, -1, -1, 5262, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 147, 148, -1, -1, 151, -1, -1, -1, -1, -1, 157, -1, -1, -1, 3919, -1, -1, 3922, -1, 3924, -1, 5300, -1, -1, 3929, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5322, -1, -1, 3951, -1, -1, -1, -1, -1, 199, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3978, -1, -1, -1, -1, -1, -1, -1, 3986, -1, -1, -1, -1, -1, 234, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 246, -1, -1, -1, -1, -1, -1, 4011, -1, -1, -1, -1, -1, -1, -1, -1, 5394, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4081, -1, 4083, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 920, -1, -1, -1, -1, -1, -1, -1, 5516, -1, -1, -1, 932, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 943, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 962, 4177, -1, -1, -1, -1, 968, -1, -1, -1, -1, 429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4204, -1, -1, -1, -1, -1, 4210, -1, -1, -1, -1, -1, -1, -1, -1, 4219, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4289, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4317, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5724, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4363, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1197, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1221, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 699, -1, -1, -1, -1, -1, 4463, -1, -1, 4466, -1, -1, -1, 5844, -1, 4472, -1, -1, -1, -1, -1, -1, -1, 4480, -1, 4482, -1, -1, 4485, -1, -1, -1, 4489, 4490, 4491, 4492, 4493, -1, -1, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4505, 748, 749, -1, 4509, 4510, 4511, -1, -1, 4514, -1, -1, -1, -1, 4519, -1, -1, -1, -1, 4524, -1, -1, -1, 4528, -1, -1, -1, -1, -1, 1320, -1, 4536, -1, -1, 4539, -1, 4541, 5916, -1, -1, -1, -1, -1, -1, -1, -1, 4551, -1, 795, 4554, 4555, -1, -1, -1, 4559, 4560, -1, -1, -1, -1, -1, 4566, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4576, -1, -1, 4579, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4589, -1, 5965, -1, -1, -1, -1, 5970, 5971, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4636, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1435, -1, -1, -1, 4653, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4669, 912, -1, -1, -1, 916, -1, 1462, 1463, 1464, -1, -1, 4681, 924, -1, -1, 927, -1, -1, 930, 931, -1, 933, -1, 935, -1, -1, 938, -1, 940, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6084, -1, -1, -1, -1, -1, -1, -1, -1, -1, 962, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 973, -1, -1, -1, 977, -1, -1, -1, -1, -1, -1, 984, 985, -1, -1, 988, -1, 990, 991, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4759, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1011, -1, 1013, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4785, -1, -1, -1, -1, -1, -1, -1, -1, 1036, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1057, -1, 1059, -1, -1, -1, -1, -1, -1, -1, -1, 1068, 1069, -1, -1, -1, -1, -1, -1, -1, -1, 1078, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1636, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1657, -1, -1, -1, -1, -1, -1, -1, -1, 1666, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4897, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4927, -1, -1, -1, -1, -1, 1175, -1, 1177, -1, -1, -1, -1, 6314, 4941, 4942, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1211, -1, -1, -1, -1, -1, -1, 4976, -1, -1, 4979, 4980, 4981, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4991, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1172, 1173, 1816, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1286, -1, -1, 1289, -1, 1291, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1306, -1, -1, -1, -1, -1, -1, -1, 1858, -1, 5074, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5085, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5113, -1, -1, 5116, -1, -1, -1, -1, -1, -1, -1, 5124, 5125, -1, 5127, -1, -1, 1372, 5131, 5132, -1, -1, -1, 5136, -1, -1, -1, 5140, -1, -1, 5143, 5144, -1, -1, -1, 5148, -1, -1, -1, -1, -1, 5154, 1397, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5166, -1, -1, -1, 1412, -1, 1414, -1, 5174, -1, -1, -1, 5178, -1, -1, -1, 1424, -1, -1, -1, -1, -1, -1, 1431, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5211, -1, -1, -1, -1, -1, -1, -1, 5219, 2006, -1, -1, -1, -1, -1, -1, -1, 1037, 2015, 1472, -1, 1474, -1, -1, -1, -1, 1381, 1382, -1, -1, -1, -1, -1, 5244, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1063, -1, -1, 2043, -1, -1, -1, -1, 5262, 2049, 2050, -1, -1, 2053, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2066, -1, -1, 2069, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 5322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2125, -1, -1, -1, -1, -1, 5345, -1, -1, -1, -1, -1, -1, 5352, 2139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2167, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2178, -1, 5394, -1, -1, -1, 1640, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1658, -1, -1, -1, 5420, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2220, 2221, 5436, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2245, -1, -1, -1, -1, -1, -1, 2252, 5467, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5514, -1, 5516, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1682, -1, -1, -1, -1, -1, -1, 1787, 1788, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1712, -1, -1, -1, -1, -1, -1, 5575, -1, -1, 5578, -1, -1, 5581, 5582, 5583, 2370, -1, 1828, 1829, -1, -1, 1399, -1, -1, -1, -1, -1, 1740, 1741, 1742, -1, 1744, 1410, -1, -1, -1, -1, 5606, 5607, -1, -1, 5610, -1, -1, -1, -1, -1, -1, 1426, -1, -1, 1764, -1, -1, -1, -1, 5625, 2412, 2413, -1, -1, -1, -1, 5632, -1, -1, -1, -1, 5637, -1, -1, 5640, 5641, -1, -1, -1, 1887, 2432, -1, 5648, -1, 1892, -1, -1, 1895, -1, -1, -1, -1, -1, -1, -1, 1903, -1, -1, -1, -1, -1, -1, -1, 5669, -1, -1, 5672, -1, -1, -1, -1, 1919, -1, -1, -1, -1, -1, -1, 5684, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1842, -1, -1, -1, 1846, 1847, -1, -1, -1, -1, 1517, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5724, -1, -1, -1, -1, -1, -1, -1, 1974, -1, -1, 5735, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5780, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2042, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5841, 1651, -1, 5844, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5876, -1, -1, -1, 5880, -1, 5882, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5900, -1, -1, -1, -1, -1, 5906, -1, -1, -1, 5910, -1, -1, -1, -1, -1, 5916, 5917, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2176, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5965, -1, -1, -1, 2211, 5970, 5971, -1, -1, -1, 5975, -1, -1, -1, -1, -1, 5981, 5982, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2151, 2152, 2153, -1, -1, 2254, -1, 2256, -1, -1, 6017, -1, -1, -1, -1, -1, -1, -1, 6025, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2282, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6053, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6083, 6084, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2339, -1, 2341, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6109, -1, -1, -1, 2355, 2356, 6115, 2358, -1, 6118, -1, -1, 6121, -1, 1932, -1, -1, -1, -1, -1, -1, -1, -1, 6132, -1, -1, -1, -1, -1, -1, 6139, -1, -1, -1, -1, -1, -1, -1, -1, 2390, -1, -1, -1, -1, -1, -1, -1, -1, 6157, 2944, -1, 2402, -1, -1, -1, 2406, -1, -1, -1, -1, 2411, -1, -1, 2414, -1, -1, -1, -1, -1, 6178, -1, -1, -1, -1, -1, 2970, -1, -1, -1, -1, -1, -1, 2000, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3002, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2037, -1, -1, -1, -1, -1, 3020, 3021, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6259, -1, 2070, -1, -1, -1, -1, -1, -1, 3054, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6301, 6302, 6303, -1, -1, -1, -1, 2452, -1, 6310, -1, -1, -1, 6314, -1, -1, -1, -1, 6319, 2464, 6321, 2466, 6323, 2468, -1, -1, 2471, 2472, 2473, -1, -1, -1, 6333, -1, 2479, -1, -1, 2482, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6349, -1, -1, -1, 2497, 2498, 2499, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2514, 2180, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2191, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2207, -1, -1, -1, -1, 6403, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6413, -1, -1, -1, -1, -1, -1, -1, 6421, 6422, -1, -1, -1, -1, 6427, -1, -1, 6430, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6440, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6450, 2260, 3238, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3253, -1, -1, -1, -1, 2281, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2294, -1, 3273, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2306, -1, -1, -1, -1, -1, 6503, -1, -1, -1, -1, -1, 6509, -1, -1, -1, 2657, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6527, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2346, 2347, -1, -1, -1, 6542, -1, -1, -1, -1, 6547, -1, -1, -1, -1, -1, 2697, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6570, -1, -1, 3359, 3360, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6601, -1, -1, -1, -1, 2750, -1, -1, -1, -1, -1, 6612, -1, -1, -1, 6616, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6634, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3460, -1, -1, -1, 6678, 6679, -1, -1, 6682, -1, -1, -1, 6686, 2496, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6699, 6700, -1, -1, -1, -1, -1, -1, -1, -1, 2951, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, -1, 2935, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2945, -1, -1, 2948, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3004, -1, 3104, -1, 3008, -1, -1, 3011, -1, 3013, -1, -1, 3016, -1, -1, 3117, 3118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3136, 3137, 3040, 3041, -1, 3141, 3142, -1, -1, -1, 3146, 3147, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3161, -1, -1, -1, -1, -1, -1, 3168, -1, -1, -1, 3172, 3173, -1, -1, 3176, 3177, -1, -1, -1, -1, -1, 3183, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3207, -1, -1, -1, -1, 3212, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3227, -1, -1, -1, -1, -1, -1, -1, -1, 3236, -1, -1, 3239, -1, 3241, 3242, 3243, -1, -1, -1, -1, 3248, 3249, -1, -1, -1, -1, -1, -1, -1, -1, 3258, -1, -1, -1, -1, -1, 3264, 3809, -1, -1, 3268, -1, -1, -1, 3174, -1, -1, -1, -1, -1, 3278, 3279, -1, -1, -1, 3283, -1, -1, -1, -1, -1, 3289, 3290, -1, -1, -1, -1, 3839, -1, -1, -1, -1, -1, -1, -1, 3303, -1, -1, 3306, -1, -1, -1, -1, -1, -1, 3313, 3314, -1, -1, -1, -1, 3319, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3331, -1, -1, 3334, -1, -1, -1, -1, 3339, -1, -1, -1, -1, -1, 3345, 3346, -1, 3348, -1, 3350, -1, -1, 3353, 3354, -1, -1, 3357, -1, -1, -1, 3361, 3362, 3363, 3364, -1, 3366, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3379, 3380, -1, 3382, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3393, 3394, 3395, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3450, -1, -1, -1, -1, -1, -1, -1, 3458, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3477, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3407, 3408, 3409, -1, -1, -1, 3413, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3527, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3440, -1, -1, -1, -1, -1, -1, 4089, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4099, 3123, -1, -1, -1, 3127, 3128, -1, -1, -1, -1, -1, 3567, -1, 3569, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3609, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3187, -1, -1, -1, 3624, -1, 3193, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3234, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4258, 4259, 4260, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4275, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4310, 4311, -1, -1, -1, 4315, -1, -1, -1, -1, -1, -1, -1, -1, 3682, -1, -1, -1, -1, 3687, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3715, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3726, -1, 3728, 3729, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3742, -1, -1, 3745, -1, 3747, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3441, -1, -1, -1, -1, 3781, -1, 3783, -1, 3785, -1, -1, -1, -1, 1756, -1, -1, -1, -1, -1, -1, -1, -1, 4441, -1, -1, 4444, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3847, -1, 3514, 3948, -1, -1, 3518, -1, 3953, -1, -1, -1, 1825, -1, -1, 3862, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3973, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3990, -1, -1, -1, 3994, -1, -1, -1, -1, 3999, 4000, 4001, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4573, 4574, 4575, -1, -1, -1, 4035, 4036, 4037, 4038, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3951, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4065, -1, -1, -1, -1, -1, -1, -1, 4073, -1, 4075, 4076, 4077, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3654, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3669, -1, -1, -1, -1, 3674, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4191, -1, -1, -1, -1, -1, -1, -1, -1, 4200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4226, 4227, -1, -1, -1, 4231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4253, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2157, -1, -1, -1, 2161, -1, -1, 4296, -1, -1, -1, -1, -1, 4204, -1, -1, -1, -1, 4307, 4210, -1, -1, -1, 4312, -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, 4348, -1, -1, -1, 3919, -1, -1, 3922, -1, 3924, 4358, -1, 4904, 4361, 3929, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4289, -1, -1, -1, -1, 4936, -1, -1, -1, 4396, -1, 4398, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3978, -1, -1, -1, 4415, -1, -1, -1, 3986, -1, -1, -1, -1, 4968, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4442, -1, 4011, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5003, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5035, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4081, -1, 4083, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4463, -1, -1, -1, -1, -1, -1, -1, -1, 4472, -1, -1, -1, -1, -1, -1, -1, 4480, -1, 4482, -1, 2450, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2465, -1, -1, -1, 2469, -1, -1, -1, -1, -1, 4509, 4510, 4511, 4177, 5155, 5156, 5157, 5158, -1, 2484, 2485, 2486, -1, -1, 2489, -1, -1, -1, -1, 4528, -1, -1, -1, -1, -1, -1, -1, 4536, -1, -1, 4539, -1, 4541, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4551, -1, -1, 4219, -1, -1, -1, -1, 4559, 4560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4247, -1, -1, -1, -1, 4685, -1, 4589, 4688, -1, 4690, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4703, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4715, -1, -1, -1, 4719, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4636, -1, -1, -1, 4738, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4317, 4653, -1, -1, -1, -1, 4756, -1, -1, -1, -1, -1, 4762, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4787, -1, -1, -1, 4791, -1, -1, -1, -1, 4363, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4806, 4807, 4808, 4809, -1, -1, -1, -1, -1, -1, 4816, 4817, 4818, 4819, -1, -1, -1, -1, -1, 4825, 4826, -1, -1, -1, -1, 4831, 4832, -1, 4834, 4835, 4836, 4837, 4838, 4839, 4840, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4850, -1, -1, -1, 4854, 4855, 4856, 4857, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4878, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4896, -1, -1, 4466, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4489, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4514, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5509, -1, -1, -1, -1, -1, -1, 4972, -1, -1, -1, 5520, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5027, -1, 5029, -1, -1, -1, -1, -1, -1, -1, 5037, 5038, 5039, 5040, 5041, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5052, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2943, -1, -1, 4980, 4981, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4991, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4669, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3027, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3039, 5074, -1, -1, -1, 3044, -1, -1, -1, -1, -1, -1, 5085, -1, -1, -1, -1, -1, -1, -1, -1, 4759, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4785, -1, -1, -1, 5124, 5125, -1, -1, -1, -1, -1, 5131, 5132, -1, -1, -1, 5136, -1, -1, -1, 5140, -1, -1, 5143, 5144, -1, -1, -1, 5148, -1, -1, -1, -1, -1, 5154, 5797, -1, -1, -1, -1, 5802, -1, -1, -1, -1, 5263, 5264, 5265, -1, -1, -1, 5269, 5270, 5271, 5272, -1, -1, -1, 5276, 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, -1, -1, -1, -1, -1, -1, -1, 5211, -1, -1, 5312, 5313, 5314, 5315, 5316, 5219, 5318, 5319, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5330, 5331, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4927, -1, -1, -1, 5364, -1, -1, -1, -1, -1, -1, -1, 5372, 5373, -1, 5375, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5950, -1, -1, 4976, -1, -1, 4979, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5345, -1, -1, -1, -1, -1, -1, 5352, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5466, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6050, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5420, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6079, -1, -1, -1, -1, -1, -1, 5542, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5127, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5630, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5645, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5575, -1, -1, -1, -1, -1, 5581, 5582, 5583, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5262, -1, -1, -1, -1, -1, -1, -1, -1, 5606, 5607, -1, -1, 5610, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5726, -1, -1, -1, -1, -1, -1, 5300, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5745, 5648, -1, -1, -1, -1, 5751, 5752, -1, -1, 5322, -1, -1, -1, -1, -1, 5761, -1, -1, -1, -1, -1, -1, 5768, -1, 5672, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5803, 5804, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5816, 3685, 5818, -1, -1, -1, -1, -1, -1, -1, -1, 5394, -1, -1, -1, -1, -1, 5833, -1, -1, -1, 3705, 3706, -1, 3708, -1, -1, -1, -1, 3713, 3714, -1, 3716, -1, 3718, -1, -1, -1, 3722, -1, -1, 3725, 5858, -1, -1, -1, 3730, -1, -1, -1, -1, -1, -1, 5869, -1, 3739, -1, -1, -1, -1, 3744, -1, -1, -1, -1, -1, -1, 3751, 3752, 3753, 3754, -1, -1, -1, 3758, 3759, -1, 3761, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5903, -1, -1, -1, -1, -1, -1, 3778, -1, 3780, -1, 5914, -1, -1, -1, -1, 3787, 3788, 3789, 3790, 3791, 3792, 3793, 3794, 3795, 3796, -1, 5930, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5516, -1, -1, -1, -1, 5954, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5964, -1, -1, -1, -1, -1, -1, -1, 3840, -1, -1, -1, -1, -1, 5880, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5990, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5906, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5917, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6031, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5975, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3966, -1, -1, -1, 6102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6017, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6129, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5724, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6176, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6190, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6249, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6178, 5844, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4208, 4209, -1, -1, -1, 4213, -1, -1, 6348, 5916, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4242, -1, -1, -1, -1, -1, 6380, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6391, -1, -1, -1, -1, -1, -1, 5965, 6301, 6302, 6303, -1, 5970, 5971, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6323, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6333, -1, -1, -1, -1, 6, 7, -1, 9, 10, 11, -1, -1, -1, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, -1, -1, -1, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, -1, -1, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, 6492, 63, -1, 65, -1, 67, -1, 69, -1, 6403, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6084, -1, -1, -1, -1, -1, -1, -1, 6427, -1, -1, 6430, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, 6450, -1, -1, 121, 122, 123, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 139, -1, -1, -1, -1, -1, -1, 146, -1, 148, -1, -1, -1, -1, -1, -1, -1, 156, -1, -1, -1, -1, -1, -1, -1, 4462, -1, -1, -1, 168, -1, 4468, -1, -1, -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, 185, 186, -1, 4486, 4487, -1, -1, 4490, 4491, 4492, 4493, -1, -1, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4505, 4506, -1, -1, -1, -1, -1, -1, 215, -1, -1, -1, -1, -1, -1, -1, 223, -1, -1, -1, -1, 228, -1, -1, 4529, -1, -1, 4532, 235, 4534, -1, -1, 4537, 4538, 241, -1, 243, -1, -1, -1, -1, -1, -1, 250, -1, 252, -1, -1, 4553, 4554, 4555, 4556, -1, 4558, 261, -1, -1, -1, -1, -1, -1, -1, 6601, -1, -1, -1, -1, -1, -1, 276, 277, -1, -1, 6612, -1, -1, 283, -1, 285, -1, -1, 288, 289, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, 300, 301, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6314, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 328, 329, 330, -1, -1, -1, -1, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, -1, 6678, 347, -1, 349, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 365, 366, -1, 368, 369, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4678, -1, -1, 383, -1, 385, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 422, -1, -1, -1, -1, -1, 428, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 447, -1, -1, 450, -1, -1, 453, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 469, -1, -1, -1, -1, -1, -1, 476, -1, -1, -1, -1, -1, -1, -1, 484, 485, -1, -1, -1, -1, 490, -1, 492, -1, -1, -1, -1, -1, -1, -1, -1, -1, 502, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 517, -1, -1, 520, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 577, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4897, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4940, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, 7, -1, 9, 10, 11, -1, -1, -1, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, -1, -1, -1, 30, 31, 32, 33, -1, 35, 36, 37, 38, -1, 40, 41, 42, -1, -1, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, -1, 69, -1, 5075, -1, 73, -1, 5079, -1, 5081, 5082, -1, -1, -1, -1, 5087, 5088, 5089, 5090, -1, -1, -1, 5094, 5095, 5096, 5097, 5098, 5099, 5100, 5101, 5102, 5103, 5104, 5105, 5106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, 121, 122, 123, 124, 125, 5130, -1, -1, 5133, -1, 5135, -1, -1, 5138, -1, -1, 5141, 5142, 139, -1, 5145, 5146, -1, -1, -1, 146, -1, 148, -1, -1, -1, -1, -1, -1, -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 168, -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, 185, 186, -1, 5192, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5210, -1, -1, -1, -1, -1, -1, -1, -1, 215, -1, -1, -1, -1, 5224, -1, -1, 223, -1, -1, -1, -1, 228, -1, -1, -1, -1, -1, -1, 235, -1, -1, -1, -1, -1, 241, -1, 243, -1, -1, -1, -1, -1, -1, 250, -1, 252, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 276, 277, -1, -1, -1, -1, -1, 283, -1, 285, -1, -1, 288, 289, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, 300, 301, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 328, 329, 330, -1, -1, -1, -1, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, -1, -1, 347, -1, 349, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 365, 366, -1, 368, 369, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 383, -1, 385, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5423, -1, -1, 422, -1, -1, -1, -1, -1, 428, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 447, -1, -1, 450, -1, -1, 453, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 469, -1, -1, -1, -1, -1, -1, 476, -1, -1, -1, -1, -1, -1, -1, 484, 485, -1, -1, -1, -1, 490, -1, 492, -1, -1, -1, -1, -1, -1, -1, -1, -1, 502, -1, -1, -1, -1, 5511, 5512, -1, -1, -1, -1, -1, -1, 5519, -1, 517, -1, -1, 520, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5571, -1, -1, -1, -1, -1, 5577, 5578, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5596, -1, 5598, -1, -1, -1, 5602, 5603, 5604, 5605, -1, -1, 5608, 5609, -1, -1, -1, 5613, -1, -1, -1, 5617, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5671, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5682, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5746, -1, 5748, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5783, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5873, -1, 5875, 5876, 5877, 5878, 5879, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5890, 5891, 5892, -1, -1, -1, -1, -1, -1, -1, 5900, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5918, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 5937, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, -1, -1, 117, -1, -1, 120, 121, 122, 123, 124, 125, -1, -1, -1, -1, 130, -1, -1, -1, -1, -1, -1, -1, -1, 139, -1, -1, 142, -1, 144, 145, 146, -1, 148, -1, -1, 151, -1, 153, -1, -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, 165, -1, 167, 168, -1, -1, -1, -1, -1, -1, 175, -1, 6110, -1, -1, -1, -1, 182, -1, 184, 185, 186, 187, 6121, -1, -1, 6124, -1, 193, -1, 6128, -1, -1, -1, -1, -1, -1, 202, -1, 204, -1, -1, -1, 208, -1, -1, -1, -1, 6146, 214, 215, -1, -1, -1, -1, -1, -1, 222, 223, 224, -1, -1, -1, 228, -1, -1, 231, -1, -1, -1, 235, -1, -1, -1, -1, -1, 241, -1, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, -1, -1, -1, 6189, -1, -1, -1, -1, 261, -1, -1, -1, 265, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 276, 277, -1, -1, 280, -1, -1, 283, -1, 285, -1, -1, 288, 289, -1, 291, 6225, -1, -1, -1, -1, -1, -1, -1, 300, 301, -1, 303, -1, 305, 306, -1, -1, -1, -1, 311, -1, -1, -1, -1, -1, -1, -1, 319, -1, -1, -1, -1, -1, 325, -1, -1, 328, 329, 330, -1, -1, -1, -1, -1, -1, -1, 338, 339, -1, -1, -1, 343, 344, -1, -1, 347, -1, 349, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6296, -1, 365, 366, -1, 368, 369, -1, -1, -1, -1, -1, 6308, -1, 6310, -1, -1, -1, -1, -1, 383, -1, 385, -1, 387, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, 401, -1, -1, -1, -1, -1, 407, 408, -1, 410, -1, -1, -1, 6347, 415, -1, -1, -1, -1, -1, 421, 422, -1, 424, -1, -1, -1, 428, -1, -1, 431, -1, -1, -1, -1, -1, 437, 438, -1, -1, -1, -1, -1, -1, 445, -1, 447, -1, 449, 450, -1, -1, 453, -1, -1, -1, -1, -1, 459, -1, -1, -1, -1, -1, -1, -1, -1, -1, 469, -1, -1, -1, -1, 474, -1, 476, -1, -1, -1, -1, -1, -1, -1, 484, 485, -1, -1, -1, -1, 490, -1, 492, -1, 494, -1, 496, -1, -1, -1, 6433, -1, 502, -1, -1, 505, -1, -1, 508, -1, -1, 511, -1, -1, -1, -1, 516, 517, -1, -1, 520, -1, -1, -1, -1, -1, 6459, -1, -1, 529, -1, -1, -1, -1, -1, -1, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, 552, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6501, -1, 570, -1, -1, -1, 574, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6526, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6542, -1, -1, -1, -1, 6547, -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, 6607, -1, -1, 6610, 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, 6646, 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, -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, 576, 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, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, 563, -1, -1, -1, -1, -1, -1, 570, 571, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 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, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, 552, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 571, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 571, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 571, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 571, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, -1, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, -1, 224, 225, 226, 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, -1, -1, -1, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, -1, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, -1, 340, -1, 342, 343, 344, 345, -1, -1, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, -1, 384, -1, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, -1, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, -1, 491, -1, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, 518, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 571, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, -1, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, -1, 224, 225, 226, 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, -1, -1, -1, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, -1, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, -1, 340, -1, 342, 343, 344, 345, -1, -1, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, -1, 384, -1, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, -1, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, -1, 491, -1, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, 518, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 571, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 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, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, 552, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 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, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, 242, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, 298, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, -1, -1, 105, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 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, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, -1, -1, 105, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 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, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, 568, 569, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, 563, -1, -1, -1, -1, -1, -1, 570, 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, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, 242, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, -1, -1, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 345, 346, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, 106, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, -1, 299, 300, 301, 302, 303, -1, 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, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, 357, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 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, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, 552, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, -1, 299, 300, 301, 302, 303, -1, 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, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, 357, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, 107, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, -1, -1, 305, 306, 307, -1, -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, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 571, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, 474, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, 552, -1, -1, -1, -1, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, 474, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, 552, -1, -1, -1, -1, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, 357, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, 474, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, 569, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 570, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 570, 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, -1, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -1, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, 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, -1, 224, 225, 226, 227, -1, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, -1, 251, -1, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -1, -1, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, -1, 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, -1, 340, 341, 342, 343, 344, 345, 346, -1, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, -1, 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, -1, 384, -1, 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, -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, 465, 466, 467, 468, -1, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -1, 487, 488, 489, -1, 491, -1, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, -1, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 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, -1, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -1, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, -1, 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, -1, 224, 225, 226, 227, -1, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, -1, 251, -1, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -1, -1, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, -1, 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, -1, 340, 341, 342, 343, 344, 345, 346, -1, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, -1, 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, -1, 384, -1, 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, -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, 465, 466, 467, 468, -1, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, -1, 487, 488, 489, -1, 491, -1, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, -1, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 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, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 563, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, -1, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, -1, 224, 225, 226, 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, -1, -1, -1, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, -1, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, -1, 340, -1, 342, 343, 344, 345, -1, -1, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, 362, 363, 364, 365, 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, -1, 384, -1, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, -1, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, -1, 491, -1, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, 518, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, 548, 549, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 563, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 563, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 563, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, 242, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, 561, 562, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, 242, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, 561, 562, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, 242, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, 561, 562, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, 242, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, 561, 562, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, 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, 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, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 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, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, -1, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, -1, 224, 225, 226, 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, -1, -1, -1, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, -1, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, -1, 340, -1, 342, 343, 344, 345, -1, -1, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, -1, 384, -1, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, -1, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, -1, 491, -1, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, 518, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, -1, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, -1, 224, 225, 226, 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, -1, -1, -1, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, -1, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, -1, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, -1, 340, -1, 342, 343, 344, 345, 346, -1, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, -1, 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, -1, 384, -1, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, -1, 470, -1, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, -1, 491, -1, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, -1, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, -1, 224, 225, 226, 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, -1, -1, -1, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, -1, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, -1, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, 340, -1, 342, 343, 344, 345, -1, -1, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, -1, 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, -1, 384, -1, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, -1, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, -1, 491, -1, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, -1, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, -1, 224, 225, 226, 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, -1, -1, -1, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, -1, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, -1, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, 340, -1, 342, 343, 344, 345, -1, -1, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, -1, 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, -1, 384, -1, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, -1, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, -1, 491, -1, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, -1, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, -1, 224, 225, 226, 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, 237, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, -1, -1, -1, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, -1, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, -1, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, -1, 340, -1, 342, 343, 344, 345, -1, -1, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, -1, 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, -1, 384, -1, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, -1, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, -1, 491, -1, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, -1, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, -1, 224, 225, 226, 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, -1, -1, -1, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, -1, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, -1, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, -1, 340, -1, 342, 343, 344, 345, -1, -1, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, -1, 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, -1, 384, -1, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, -1, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, -1, 491, -1, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, -1, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, -1, 224, 225, 226, 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, -1, -1, -1, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, -1, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, -1, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, -1, 340, -1, 342, 343, 344, 345, -1, -1, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, -1, 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, -1, 384, -1, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, -1, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, -1, 491, -1, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, -1, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, -1, 224, 225, 226, 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, -1, -1, -1, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, -1, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, -1, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, -1, 340, -1, 342, 343, 344, 345, -1, -1, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, -1, 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, -1, 384, -1, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, -1, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, -1, 491, -1, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, -1, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, -1, 224, 225, 226, 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, -1, -1, -1, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, -1, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, -1, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, -1, 340, -1, 342, 343, 344, 345, -1, -1, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, -1, 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, -1, 384, -1, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, -1, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, -1, 491, -1, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, -1, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, -1, 224, 225, 226, 227, -1, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, -1, -1, -1, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, -1, -1, 279, 280, 281, 282, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, -1, 301, 302, 303, -1, 305, 306, 307, -1, -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, -1, -1, 340, -1, 342, 343, 344, 345, -1, -1, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, -1, 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, -1, 384, -1, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, -1, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, -1, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, -1, 491, -1, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, -1, -1, 123, -1, -1, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, -1, 140, -1, 142, 143, 144, 145, -1, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, -1, -1, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, -1, 224, 225, 226, 227, -1, -1, 230, -1, 232, 233, 234, -1, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, -1, -1, -1, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, -1, -1, 279, 280, 281, -1, -1, -1, -1, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, -1, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, -1, 329, -1, 331, 332, 333, 334, 335, 336, 337, -1, -1, 340, -1, 342, 343, 344, 345, -1, -1, 348, -1, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, -1, 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, -1, 384, -1, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, -1, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, -1, 448, 449, 450, 451, 452, -1, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, -1, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, -1, -1, -1, -1, 488, 489, -1, 491, -1, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, -1, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 547, 548, 549, 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, -1, 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, -1, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, -1, 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, -1, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, -1, 279, 280, 281, -1, 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, -1, 322, 323, -1, 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, -1, 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, -1, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, -1, 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, -1, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, -1, -1, 149, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, 239, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, 239, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, 167, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, 248, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 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, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, 167, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, 248, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 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, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, 239, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, 171, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, 167, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 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, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, 357, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, 474, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, 239, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, 474, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, 167, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 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, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, 357, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, 474, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, 474, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, 357, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, 357, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, 357, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, 107, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, 107, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, 107, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, -1, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, 138, 139, 140, -1, 142, 143, 144, 145, 146, -1, -1, -1, 150, 151, 152, 153, 154, 155, -1, 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, -1, -1, 169, 170, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, 182, 183, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, -1, -1, -1, 244, 245, 246, 247, -1, 249, 250, -1, 252, -1, 254, -1, 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, -1, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, -1, -1, 290, -1, 292, 293, 294, 295, 296, -1, -1, 299, 300, -1, 302, -1, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, -1, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, -1, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, -1, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, -1, 423, 424, 425, 426, 427, 428, -1, 430, 431, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, -1, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, -1, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 6, 7, -1, 9, 10, 11, -1, -1, -1, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, -1, -1, -1, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, -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, 71, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, 121, 122, 123, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 139, -1, -1, -1, -1, -1, -1, 146, -1, 148, -1, -1, -1, -1, -1, -1, -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 168, -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, 185, 186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 215, -1, -1, -1, -1, -1, -1, -1, 223, -1, -1, -1, -1, 228, -1, -1, -1, -1, -1, -1, 235, -1, -1, -1, -1, -1, 241, -1, 243, -1, -1, -1, -1, -1, -1, 250, -1, 252, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 276, 277, -1, -1, -1, -1, -1, 283, -1, 285, -1, -1, 288, 289, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, 300, 301, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 328, 329, 330, -1, -1, -1, -1, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, -1, -1, 347, -1, 349, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 365, 366, -1, 368, 369, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 383, -1, 385, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 422, -1, -1, -1, -1, -1, 428, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 447, -1, -1, 450, -1, -1, 453, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 469, -1, -1, -1, -1, -1, -1, 476, -1, -1, -1, -1, -1, -1, -1, 484, 485, -1, -1, -1, -1, 490, -1, 492, -1, -1, -1, -1, -1, -1, -1, -1, -1, 502, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 517, -1, -1, 520, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 6, 7, -1, 9, 10, 11, -1, -1, -1, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, -1, -1, -1, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, -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, 71, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, 121, 122, 123, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 139, -1, -1, -1, -1, -1, -1, 146, -1, 148, -1, -1, -1, -1, -1, -1, -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 168, -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, 185, 186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 215, -1, -1, -1, -1, -1, -1, -1, 223, -1, -1, -1, -1, 228, -1, -1, -1, -1, -1, -1, 235, -1, -1, -1, -1, -1, 241, -1, 243, -1, -1, -1, -1, -1, -1, 250, -1, 252, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 276, 277, -1, -1, -1, -1, -1, 283, -1, 285, -1, -1, 288, 289, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, 300, 301, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 328, 329, 330, -1, -1, -1, -1, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, -1, -1, 347, -1, 349, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 365, 366, -1, 368, 369, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 383, -1, 385, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 422, -1, -1, -1, -1, -1, 428, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 447, -1, -1, 450, -1, -1, 453, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 469, -1, -1, -1, -1, -1, -1, 476, -1, -1, -1, -1, -1, -1, -1, 484, 485, -1, -1, -1, -1, 490, -1, 492, -1, -1, -1, -1, -1, -1, -1, -1, -1, 502, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 517, -1, -1, 520, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 6, 7, -1, 9, 10, 11, -1, -1, -1, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, -1, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, 121, 122, 123, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 139, -1, -1, -1, -1, -1, -1, 146, -1, 148, -1, -1, -1, -1, -1, -1, -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 168, -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, 185, 186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 223, -1, -1, -1, -1, 228, -1, -1, -1, -1, -1, -1, 235, -1, -1, -1, -1, -1, 241, -1, 243, -1, -1, -1, -1, -1, -1, 250, -1, 252, -1, -1, -1, -1, -1, -1, -1, -1, 261, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 276, 277, -1, -1, -1, -1, -1, 283, -1, 285, -1, -1, 288, 289, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, 300, 301, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 328, 329, 330, -1, -1, -1, -1, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, -1, -1, 347, -1, 349, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 365, 366, -1, 368, 369, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 383, -1, 385, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 422, -1, -1, -1, -1, -1, 428, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 447, -1, -1, 450, -1, -1, 453, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 469, -1, -1, -1, -1, -1, -1, 476, -1, -1, -1, -1, -1, -1, -1, 484, 485, -1, -1, -1, -1, 490, -1, 492, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 517, -1, -1, 520, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, 356, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, -1, 548, 549, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, 561, 562, 563, -1, -1, -1, -1, -1, -1, 570, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, 100, 101, 102, 103, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, 516, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, -1, 548, 549, -1, -1, 552, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, 80, -1, -1, 83, -1, -1, 570, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, -1, 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, -1, -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, -1, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, -1, 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, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, -1, 233, 234, 235, 236, -1, 238, 239, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 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, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, -1, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 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, -1, 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, -1, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, -1, 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, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 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, -1, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, -1, 520, 521, 522, 523, 524, 525, -1, 527, -1, -1, -1, -1, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, -1, 548, 549, 550, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 561, 562, 563, 564, 565, 566, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, 356, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, -1, 548, 549, -1, 69, 70, -1, -1, 73, -1, 75, 76, -1, -1, 561, 562, 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, 356, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, -1, 548, 549, -1, 69, 70, -1, -1, 73, -1, 75, 76, -1, -1, 561, 562, 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, 356, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, -1, 548, 549, -1, 69, 70, -1, -1, 73, -1, 75, 76, -1, -1, 561, 562, 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, 356, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, -1, 548, 549, 69, 70, -1, -1, 73, -1, -1, 76, -1, -1, -1, 561, 562, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, 174, 175, -1, -1, 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, -1, 548, 549, 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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, 174, 175, -1, -1, 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 69, 548, 549, -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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, 174, 175, -1, -1, 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 69, 548, 549, -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, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, 174, 175, -1, -1, 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 69, 548, 549, -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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, 174, 175, -1, -1, 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, 509, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 69, 548, 549, -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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, 174, 175, -1, -1, 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, 251, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 69, 548, 549, -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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, 356, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 69, 548, 549, -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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, 174, 175, -1, -1, 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 69, 548, 549, -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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, 174, 175, -1, -1, 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 69, 548, 549, -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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, 174, 175, -1, -1, 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 69, 548, 549, -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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, 174, 175, -1, -1, 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 69, 548, 549, -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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, 174, 175, -1, -1, 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 69, 548, 549, -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, -1, 99, 100, 101, 102, 103, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 69, 548, 549, -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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, -1, 184, 185, 186, 187, 188, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 69, 548, 549, -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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 69, 548, 549, -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, -1, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, 132, 133, -1, -1, 136, 137, -1, 139, 140, -1, 142, 143, 144, 145, 146, -1, 148, -1, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, -1, -1, -1, -1, 175, -1, -1, -1, 179, 180, 181, 182, -1, 184, 185, 186, 187, -1, 189, -1, 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, -1, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, 216, 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, 235, 236, -1, 238, -1, 240, 241, -1, 243, 244, 245, 246, 247, -1, 249, 250, -1, 252, 253, 254, -1, 256, 257, -1, 259, 260, 261, 262, 263, 264, 265, -1, 267, 268, 269, 270, 271, 272, 273, -1, 275, 276, 277, -1, 279, 280, 281, -1, 283, -1, 285, -1, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, -1, 305, 306, 307, -1, -1, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, -1, 354, 355, -1, -1, 358, 359, 360, -1, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, -1, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, -1, 437, -1, 439, 440, 441, 442, 443, -1, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, -1, 472, 473, -1, 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, 485, -1, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, 508, -1, -1, 511, 512, 513, 514, 515, -1, 517, -1, 519, 520, 521, 522, 523, 524, -1, -1, 527, -1, -1, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, -1, 548, 549 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { 0, 579, 1254, 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, 138, 215, 235, 258, 282, 321, 324, 346, 436, 486, 502, 517, 547, 560, 561, 562, 563, 564, 565, 568, 569, 570, 571, 573, 574, 575, 576, 577, 1242, 1255, 1285, 1287, 1378, 1388, 1389, 1391, 1397, 1398, 1286, 3, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 30, 31, 32, 33, 35, 36, 37, 38, 40, 41, 42, 43, 44, 48, 49, 54, 63, 65, 67, 68, 90, 100, 102, 103, 114, 117, 120, 121, 122, 123, 124, 125, 130, 139, 142, 144, 145, 146, 148, 151, 153, 156, 165, 167, 168, 175, 182, 184, 185, 186, 187, 202, 204, 208, 214, 215, 222, 223, 224, 228, 231, 235, 241, 243, 248, 250, 252, 261, 265, 276, 277, 283, 285, 288, 289, 291, 300, 301, 303, 305, 306, 311, 325, 328, 329, 330, 338, 339, 343, 344, 347, 349, 365, 366, 368, 369, 383, 385, 387, 400, 401, 407, 408, 410, 415, 421, 422, 424, 428, 431, 437, 438, 445, 447, 449, 450, 453, 459, 469, 474, 476, 484, 485, 490, 492, 494, 496, 502, 505, 511, 516, 517, 520, 529, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 552, 570, 580, 581, 582, 583, 589, 590, 592, 593, 594, 595, 597, 601, 613, 618, 619, 622, 623, 624, 643, 646, 647, 662, 709, 712, 715, 718, 719, 720, 728, 735, 737, 738, 741, 744, 745, 749, 758, 762, 763, 764, 767, 769, 770, 771, 772, 780, 782, 802, 806, 808, 809, 819, 821, 828, 829, 832, 833, 834, 835, 836, 845, 847, 849, 852, 856, 857, 867, 868, 871, 876, 890, 922, 925, 926, 927, 932, 935, 937, 939, 941, 942, 945, 946, 949, 951, 952, 956, 957, 958, 961, 962, 963, 964, 965, 972, 974, 975, 976, 977, 983, 985, 986, 992, 993, 994, 997, 998, 999, 1000, 1002, 1003, 1005, 1006, 1008, 1009, 1011, 1023, 1025, 1028, 1030, 1039, 1041, 1046, 1051, 1059, 1063, 1064, 1065, 1066, 1067, 1068, 1074, 1109, 1250, 1251, 1256, 1259, 1260, 1277, 1278, 1279, 1280, 1281, 1292, 1294, 1298, 1299, 1300, 1301, 1302, 1304, 1306, 1308, 1309, 1310, 1311, 1313, 1318, 1319, 1323, 1324, 1333, 1335, 1336, 1337, 1340, 1345, 1348, 1353, 1355, 1356, 1359, 1361, 1364, 1373, 1391, 1399, 71, 1281, 1289, 1290, 13, 70, 90, 91, 92, 93, 94, 95, 96, 97, 99, 100, 101, 109, 110, 111, 113, 114, 115, 116, 118, 119, 120, 127, 128, 129, 130, 131, 132, 133, 136, 137, 140, 142, 143, 144, 145, 150, 151, 152, 153, 154, 155, 157, 158, 161, 162, 163, 164, 165, 166, 169, 170, 174, 178, 179, 180, 181, 182, 184, 187, 189, 191, 192, 193, 194, 195, 196, 197, 199, 200, 201, 202, 205, 206, 207, 208, 209, 211, 212, 213, 215, 216, 217, 219, 220, 221, 222, 224, 225, 226, 227, 230, 232, 233, 234, 236, 238, 240, 244, 245, 246, 247, 249, 253, 254, 256, 257, 259, 260, 262, 263, 264, 265, 267, 268, 269, 270, 271, 272, 273, 275, 279, 280, 281, 287, 290, 292, 293, 294, 295, 296, 299, 302, 305, 306, 307, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 322, 323, 325, 326, 327, 331, 332, 333, 334, 335, 336, 337, 340, 342, 343, 345, 348, 350, 351, 352, 354, 355, 358, 359, 360, 363, 364, 367, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 381, 382, 384, 386, 387, 388, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 401, 402, 403, 404, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 423, 424, 425, 426, 427, 429, 430, 431, 432, 433, 434, 435, 437, 439, 440, 441, 442, 443, 444, 445, 446, 448, 449, 451, 452, 454, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 470, 472, 473, 475, 477, 478, 479, 480, 481, 483, 486, 488, 489, 491, 494, 495, 496, 497, 498, 499, 500, 501, 504, 505, 506, 507, 508, 511, 512, 513, 514, 515, 519, 521, 522, 523, 524, 527, 530, 531, 532, 533, 534, 535, 548, 549, 1244, 1245, 1247, 1249, 1250, 1251, 1270, 1271, 1383, 1385, 1389, 1391, 28, 278, 1334, 8, 12, 14, 27, 43, 44, 48, 49, 54, 63, 65, 67, 68, 98, 138, 159, 171, 183, 188, 258, 321, 324, 436, 516, 547, 1237, 1249, 1250, 1272, 1320, 1321, 1363, 1364, 1365, 1369, 1374, 1375, 1376, 1385, 1391, 98, 1060, 1237, 1272, 1382, 13, 1060, 5, 24, 28, 34, 35, 41, 42, 98, 102, 103, 104, 105, 106, 107, 108, 112, 126, 134, 135, 138, 141, 147, 149, 159, 160, 167, 171, 172, 173, 174, 176, 177, 178, 188, 190, 198, 203, 204, 210, 214, 218, 229, 231, 237, 239, 242, 248, 251, 255, 266, 274, 278, 282, 284, 286, 297, 298, 304, 308, 309, 341, 346, 353, 356, 357, 361, 362, 380, 389, 405, 419, 438, 444, 455, 471, 474, 482, 486, 487, 493, 502, 503, 509, 510, 516, 518, 525, 526, 528, 529, 1249, 1252, 1365, 1366, 1367, 1371, 1372, 1373, 1374, 1376, 24, 34, 138, 282, 1360, 36, 38, 341, 1293, 488, 532, 978, 97, 148, 164, 182, 188, 206, 217, 226, 239, 244, 251, 270, 295, 317, 358, 382, 392, 393, 396, 423, 426, 430, 432, 439, 442, 461, 468, 473, 474, 477, 481, 491, 496, 509, 522, 734, 1321, 187, 978, 1170, 1240, 1251, 1363, 1366, 1369, 1370, 1374, 1375, 1391, 98, 1060, 520, 570, 1016, 356, 388, 978, 123, 570, 654, 92, 110, 135, 148, 182, 188, 206, 217, 226, 239, 247, 251, 307, 358, 361, 382, 396, 423, 432, 442, 461, 468, 477, 478, 480, 481, 496, 503, 506, 509, 663, 717, 824, 877, 891, 1237, 1261, 1262, 1263, 1272, 1389, 1391, 13, 98, 387, 1237, 1272, 1276, 460, 1060, 1237, 1272, 1276, 98, 381, 440, 478, 480, 294, 933, 934, 1389, 92, 97, 135, 148, 164, 182, 206, 217, 226, 239, 244, 251, 270, 317, 358, 371, 382, 393, 396, 423, 426, 430, 432, 439, 442, 461, 468, 474, 477, 481, 489, 491, 496, 509, 522, 734, 837, 839, 840, 978, 576, 1303, 1367, 262, 1276, 167, 187, 222, 520, 570, 715, 718, 1011, 1024, 1028, 1030, 1039, 1046, 1051, 1059, 1063, 1256, 91, 98, 118, 234, 240, 242, 266, 296, 332, 390, 409, 561, 562, 853, 854, 1060, 1242, 1243, 1383, 1385, 98, 100, 167, 405, 438, 858, 859, 860, 1369, 239, 1369, 1239, 1389, 474, 1077, 118, 240, 853, 1369, 488, 1276, 371, 317, 182, 270, 432, 473, 474, 570, 943, 944, 431, 1369, 98, 138, 443, 484, 488, 516, 605, 614, 615, 1249, 1250, 1363, 1368, 1374, 1376, 1391, 95, 248, 858, 859, 388, 978, 1369, 293, 98, 203, 1079, 1080, 4, 13, 136, 159, 161, 307, 327, 423, 432, 443, 484, 488, 535, 602, 603, 604, 605, 98, 443, 484, 488, 605, 488, 357, 1121, 1122, 1235, 1369, 1077, 1357, 1367, 563, 1369, 243, 570, 1017, 570, 403, 1069, 1070, 1237, 1069, 1064, 1065, 1068, 574, 570, 1016, 218, 284, 362, 502, 1081, 1082, 1064, 1066, 1067, 193, 280, 319, 508, 573, 120, 580, 1301, 1304, 1300, 1296, 574, 1305, 1307, 5, 24, 34, 138, 207, 282, 1312, 183, 258, 321, 324, 436, 547, 570, 1165, 1166, 1284, 1288, 1378, 71, 1281, 1237, 1272, 1392, 188, 1261, 20, 510, 564, 1276, 1276, 1392, 510, 1325, 1326, 1327, 24, 282, 282, 1371, 18, 19, 37, 40, 130, 163, 204, 1362, 1362, 15, 1301, 104, 982, 907, 1240, 842, 1369, 842, 1237, 391, 842, 491, 1237, 181, 474, 895, 1240, 1251, 1369, 1244, 1245, 98, 260, 1235, 350, 522, 80, 87, 88, 89, 143, 230, 558, 559, 560, 561, 562, 563, 564, 565, 566, 929, 931, 1200, 1201, 1369, 260, 1237, 895, 1237, 98, 1244, 1245, 895, 1237, 1237, 260, 1235, 1237, 260, 842, 1237, 415, 445, 98, 260, 1121, 1237, 435, 1237, 842, 98, 314, 1244, 1245, 260, 1235, 294, 33, 190, 290, 341, 399, 979, 980, 981, 570, 568, 572, 1226, 1228, 1010, 1011, 1012, 1013, 1247, 1235, 1237, 1369, 97, 135, 149, 160, 182, 206, 244, 270, 295, 358, 393, 423, 426, 468, 477, 489, 496, 837, 838, 839, 840, 1389, 982, 1027, 1030, 1039, 1046, 1051, 1063, 1235, 320, 842, 570, 260, 842, 1237, 842, 491, 260, 1237, 181, 474, 478, 480, 1244, 478, 480, 143, 230, 929, 413, 1237, 1237, 1244, 260, 598, 1369, 260, 1237, 260, 842, 1237, 1237, 435, 842, 314, 1244, 403, 439, 474, 522, 317, 164, 270, 97, 160, 244, 393, 430, 489, 491, 495, 729, 80, 1264, 1265, 575, 1385, 1392, 98, 1276, 1391, 1061, 460, 612, 1247, 1389, 934, 320, 260, 907, 908, 260, 938, 260, 1237, 122, 124, 125, 138, 139, 185, 186, 207, 235, 260, 282, 283, 285, 328, 330, 349, 400, 447, 453, 484, 485, 517, 844, 1144, 1146, 1148, 1150, 1152, 1154, 1155, 1156, 1158, 1159, 1160, 1162, 1163, 1363, 1370, 1374, 1375, 1391, 491, 181, 474, 260, 894, 895, 260, 1245, 1246, 156, 522, 143, 230, 260, 930, 931, 128, 260, 894, 260, 1246, 260, 894, 260, 1237, 260, 1237, 435, 938, 260, 844, 260, 314, 1246, 294, 260, 841, 842, 260, 1236, 1237, 260, 1237, 982, 570, 576, 1393, 1394, 1395, 1396, 1398, 1303, 69, 1272, 1322, 570, 1029, 663, 1060, 1024, 1010, 1016, 1243, 854, 855, 98, 854, 1060, 1243, 855, 98, 854, 1060, 1243, 855, 855, 855, 1243, 1242, 1242, 286, 510, 1327, 1328, 1402, 1404, 1060, 855, 391, 570, 473, 570, 686, 686, 686, 356, 486, 573, 686, 432, 1121, 1123, 854, 1060, 854, 1060, 573, 973, 1389, 242, 570, 1026, 128, 522, 1010, 156, 878, 878, 1369, 117, 549, 290, 572, 359, 359, 356, 242, 1389, 486, 982, 237, 850, 356, 78, 79, 80, 82, 106, 122, 124, 125, 134, 135, 138, 139, 146, 148, 172, 173, 174, 175, 176, 177, 178, 185, 186, 188, 223, 228, 229, 235, 250, 252, 283, 285, 300, 308, 309, 328, 330, 339, 341, 346, 347, 349, 358, 369, 383, 400, 428, 444, 453, 469, 484, 485, 490, 492, 493, 503, 509, 517, 537, 538, 539, 540, 542, 543, 544, 545, 550, 561, 562, 563, 570, 1064, 1147, 1150, 1153, 1154, 1155, 1157, 1158, 1159, 1162, 1163, 1167, 1169, 1170, 1171, 1173, 1196, 1197, 1198, 1202, 1220, 1225, 1232, 1233, 1240, 1241, 1242, 1369, 1381, 1383, 1385, 1386, 1387, 1388, 1389, 1390, 1231, 1232, 486, 560, 1392, 1389, 486, 560, 1321, 98, 620, 1234, 1235, 443, 602, 188, 611, 1389, 612, 1389, 117, 140, 602, 549, 454, 980, 359, 242, 486, 560, 117, 549, 290, 1402, 981, 570, 1235, 563, 1228, 1123, 1373, 1010, 241, 1018, 1167, 1205, 1069, 573, 570, 1019, 571, 571, 1010, 1020, 1021, 1022, 1235, 98, 203, 1078, 1078, 128, 1078, 231, 237, 304, 353, 1085, 1087, 1088, 1103, 1105, 1106, 1107, 1081, 1082, 242, 286, 286, 1121, 1124, 570, 574, 1295, 563, 1314, 1315, 1317, 576, 576, 24, 282, 282, 486, 486, 486, 486, 570, 486, 561, 562, 726, 1243, 1282, 1388, 214, 107, 1268, 128, 1271, 1271, 286, 1327, 1329, 286, 1327, 1328, 1329, 515, 1338, 1339, 1385, 13, 456, 561, 562, 1242, 1330, 1331, 1332, 1381, 1383, 1387, 1388, 1389, 1390, 282, 288, 486, 1237, 1237, 6, 163, 1237, 1362, 1317, 137, 337, 372, 411, 445, 570, 905, 372, 407, 411, 445, 572, 843, 372, 411, 445, 159, 212, 310, 372, 407, 411, 445, 477, 479, 529, 613, 616, 987, 988, 989, 990, 1391, 872, 94, 208, 372, 411, 445, 513, 629, 1237, 94, 208, 445, 508, 596, 533, 260, 1121, 131, 166, 227, 263, 299, 337, 341, 372, 373, 411, 420, 429, 437, 445, 457, 466, 470, 524, 613, 617, 911, 923, 950, 570, 892, 1228, 411, 596, 266, 223, 94, 100, 115, 145, 201, 208, 211, 238, 272, 337, 341, 351, 360, 372, 411, 414, 415, 445, 513, 625, 627, 628, 752, 950, 726, 98, 260, 1235, 842, 842, 570, 928, 372, 445, 572, 223, 356, 372, 411, 445, 923, 950, 94, 208, 372, 411, 445, 266, 591, 411, 529, 552, 584, 591, 372, 411, 445, 923, 950, 356, 372, 411, 223, 107, 129, 180, 269, 318, 322, 337, 371, 411, 416, 439, 445, 459, 625, 723, 724, 372, 411, 521, 752, 760, 223, 372, 411, 445, 94, 159, 201, 208, 211, 372, 407, 411, 445, 452, 615, 603, 605, 266, 223, 115, 199, 337, 411, 445, 625, 626, 372, 411, 415, 445, 157, 200, 375, 479, 356, 94, 100, 208, 372, 411, 445, 644, 645, 591, 237, 411, 584, 591, 223, 411, 445, 625, 1237, 574, 302, 190, 357, 534, 573, 979, 98, 203, 518, 563, 571, 900, 1167, 1206, 1207, 1370, 1167, 1227, 563, 1238, 1371, 1226, 571, 573, 229, 356, 493, 609, 612, 726, 1014, 510, 1007, 356, 907, 570, 842, 1237, 1144, 895, 350, 143, 230, 931, 895, 895, 237, 1144, 842, 1237, 1237, 571, 686, 1237, 141, 1144, 341, 242, 570, 810, 584, 107, 1001, 1237, 341, 584, 533, 260, 1235, 584, 842, 842, 810, 506, 663, 356, 237, 529, 919, 584, 341, 117, 599, 341, 496, 759, 341, 1019, 159, 372, 736, 157, 200, 375, 479, 107, 810, 237, 260, 584, 522, 260, 1235, 260, 713, 1235, 1235, 522, 842, 878, 1240, 491, 1240, 1240, 1237, 237, 1237, 734, 72, 1266, 1369, 575, 1267, 1264, 109, 123, 179, 279, 337, 434, 223, 132, 417, 573, 630, 223, 570, 223, 584, 519, 1161, 1161, 1161, 570, 1149, 1149, 385, 570, 1151, 223, 138, 139, 1161, 1149, 1146, 531, 552, 570, 1164, 570, 1164, 573, 630, 106, 1145, 570, 183, 324, 547, 570, 1165, 843, 1149, 533, 223, 573, 630, 223, 573, 260, 841, 260, 842, 260, 842, 223, 573, 630, 1246, 223, 630, 223, 223, 630, 223, 630, 223, 157, 200, 375, 479, 237, 223, 630, 223, 237, 260, 223, 573, 630, 223, 573, 630, 223, 356, 571, 1394, 1395, 1393, 573, 577, 1205, 1326, 1401, 1402, 474, 1061, 571, 1024, 855, 1060, 855, 1060, 1404, 1405, 855, 1060, 855, 1060, 1405, 855, 1060, 1060, 1060, 855, 13, 456, 1377, 1380, 1385, 1060, 570, 687, 688, 1369, 687, 98, 182, 206, 239, 244, 294, 295, 374, 393, 426, 432, 439, 474, 477, 496, 863, 1234, 1246, 860, 1237, 266, 573, 1042, 1060, 1060, 1389, 1322, 1144, 1209, 107, 1246, 878, 571, 1235, 1237, 302, 1369, 237, 237, 863, 1246, 431, 1369, 612, 356, 570, 568, 1064, 1210, 1167, 1224, 570, 570, 237, 570, 570, 1064, 570, 570, 570, 570, 570, 570, 570, 1167, 570, 570, 570, 570, 570, 570, 570, 570, 348, 677, 570, 570, 570, 570, 570, 570, 570, 570, 1167, 1167, 1167, 516, 1064, 1167, 1205, 1228, 1389, 570, 1389, 80, 83, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 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, 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, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 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, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 233, 234, 235, 236, 238, 239, 240, 241, 243, 244, 245, 246, 247, 249, 250, 252, 253, 254, 256, 257, 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, 285, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 322, 323, 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, 354, 355, 357, 358, 359, 360, 361, 363, 364, 365, 366, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 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, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 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, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 520, 521, 522, 523, 524, 525, 527, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 548, 549, 550, 558, 559, 560, 561, 562, 563, 564, 565, 566, 1200, 1202, 1204, 1248, 1253, 1391, 530, 1183, 368, 1167, 286, 573, 1075, 1402, 570, 1389, 1228, 21, 1384, 1385, 1229, 1075, 352, 356, 1354, 1354, 9, 515, 1341, 1342, 1344, 1321, 1321, 191, 262, 621, 573, 140, 188, 612, 107, 188, 307, 610, 726, 1163, 1389, 1391, 1389, 162, 205, 1179, 171, 188, 606, 607, 609, 726, 188, 606, 1402, 1402, 302, 1235, 163, 416, 846, 288, 571, 1016, 104, 114, 121, 147, 261, 266, 288, 303, 358, 361, 450, 571, 573, 1070, 1236, 107, 571, 573, 1019, 1066, 1066, 1083, 1084, 1167, 1066, 234, 332, 1094, 292, 337, 399, 448, 508, 98, 1089, 1167, 561, 562, 1090, 1091, 1167, 1169, 1103, 1104, 1088, 1087, 1085, 1086, 237, 1106, 351, 1108, 1085, 1103, 1124, 1031, 1235, 1124, 107, 1369, 445, 1205, 1314, 563, 573, 574, 1372, 1291, 1294, 1291, 282, 183, 258, 321, 1166, 321, 1166, 1166, 324, 1242, 321, 324, 436, 1388, 1388, 573, 1283, 187, 1321, 509, 1269, 1271, 1237, 456, 1242, 1343, 1385, 573, 560, 1237, 13, 1242, 1388, 1242, 1388, 573, 1301, 1237, 570, 570, 1373, 137, 486, 486, 432, 266, 277, 362, 365, 447, 518, 563, 898, 899, 900, 902, 904, 906, 1144, 1370, 486, 521, 486, 432, 1238, 572, 486, 486, 432, 304, 486, 148, 486, 477, 602, 372, 987, 989, 560, 991, 237, 248, 266, 421, 873, 874, 141, 160, 219, 239, 389, 503, 683, 684, 160, 188, 341, 486, 160, 486, 188, 341, 432, 160, 201, 211, 372, 411, 807, 432, 742, 97, 135, 206, 244, 358, 393, 426, 489, 496, 837, 838, 1237, 223, 411, 445, 625, 356, 726, 437, 299, 486, 1369, 486, 346, 726, 192, 287, 432, 443, 488, 604, 842, 417, 445, 911, 924, 196, 571, 893, 898, 486, 509, 477, 1235, 149, 219, 260, 670, 683, 1369, 149, 160, 947, 377, 356, 428, 430, 491, 160, 947, 101, 414, 428, 430, 491, 428, 1235, 238, 272, 351, 842, 570, 486, 486, 259, 570, 634, 92, 313, 477, 506, 531, 634, 160, 573, 196, 372, 266, 223, 411, 445, 625, 950, 510, 510, 338, 1144, 486, 432, 570, 929, 1237, 1235, 486, 486, 432, 924, 196, 175, 474, 475, 959, 960, 1122, 1235, 1369, 960, 486, 486, 810, 960, 182, 445, 616, 486, 586, 616, 486, 486, 432, 924, 196, 1235, 486, 486, 1235, 1146, 726, 128, 725, 726, 726, 180, 318, 322, 128, 486, 584, 326, 432, 584, 337, 724, 486, 486, 346, 1389, 752, 842, 486, 486, 432, 461, 396, 1389, 396, 486, 396, 486, 396, 810, 810, 477, 1121, 377, 377, 160, 486, 947, 432, 486, 486, 634, 634, 842, 842, 842, 842, 1235, 116, 515, 116, 116, 486, 116, 486, 515, 432, 570, 573, 616, 509, 768, 1245, 486, 586, 616, 1235, 486, 947, 432, 372, 411, 399, 412, 441, 608, 979, 1206, 1206, 1207, 571, 85, 86, 573, 1081, 1082, 569, 575, 1235, 1012, 1237, 1235, 288, 1144, 288, 356, 288, 288, 726, 842, 842, 288, 288, 288, 1144, 288, 288, 288, 356, 486, 242, 486, 648, 496, 570, 107, 223, 842, 811, 812, 1371, 987, 1144, 356, 223, 739, 1237, 341, 377, 570, 585, 824, 510, 403, 522, 1235, 98, 960, 810, 585, 223, 1245, 167, 248, 600, 662, 719, 782, 856, 876, 983, 223, 1389, 760, 761, 223, 356, 1389, 1245, 310, 842, 842, 842, 842, 215, 398, 570, 768, 341, 585, 1235, 341, 721, 723, 341, 107, 351, 377, 570, 686, 686, 260, 716, 1235, 237, 260, 879, 1237, 570, 814, 905, 1237, 570, 896, 896, 107, 1144, 96, 119, 281, 783, 294, 572, 1242, 1267, 529, 531, 1062, 434, 908, 907, 1144, 1237, 570, 570, 1205, 1242, 844, 1161, 1161, 106, 1145, 484, 484, 1242, 1242, 1144, 568, 568, 1242, 486, 486, 1242, 1149, 894, 895, 1246, 1245, 223, 630, 223, 510, 223, 510, 930, 931, 630, 894, 1246, 894, 1237, 1237, 1144, 844, 1246, 768, 223, 841, 842, 1236, 1237, 1237, 842, 571, 577, 1396, 571, 1402, 1403, 1326, 260, 1235, 179, 1024, 1060, 1060, 1405, 1060, 1060, 1405, 1060, 1060, 1237, 13, 573, 1384, 687, 571, 573, 571, 245, 394, 427, 440, 475, 1236, 841, 181, 442, 894, 1236, 350, 861, 862, 1369, 894, 894, 1236, 1234, 1234, 1236, 841, 486, 529, 869, 218, 304, 765, 766, 92, 221, 428, 448, 1043, 1121, 345, 1044, 571, 573, 1027, 486, 1235, 943, 944, 859, 858, 859, 242, 249, 870, 1369, 97, 149, 206, 244, 295, 393, 426, 496, 837, 838, 1205, 569, 1205, 1210, 1211, 525, 1221, 1222, 1167, 1205, 570, 1242, 1242, 183, 258, 321, 324, 436, 547, 1212, 1213, 1389, 1391, 1205, 1205, 1205, 1242, 1242, 1167, 1167, 929, 1167, 1206, 1208, 1215, 428, 561, 562, 570, 1168, 1169, 1202, 1216, 571, 1205, 1167, 1208, 1217, 1167, 126, 242, 298, 487, 1167, 1205, 1218, 203, 341, 1064, 1205, 326, 1169, 1167, 1177, 1178, 1179, 326, 1167, 1179, 571, 573, 1242, 1165, 1144, 1167, 1167, 1167, 1167, 1371, 484, 112, 471, 1230, 842, 1167, 570, 1064, 1219, 203, 205, 229, 333, 334, 335, 336, 340, 341, 346, 493, 504, 1214, 1167, 570, 1167, 486, 121, 261, 266, 303, 450, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 98, 105, 455, 1199, 251, 232, 1184, 428, 570, 1196, 247, 307, 474, 478, 480, 506, 1076, 1235, 1233, 242, 1110, 1206, 1237, 1385, 1226, 1110, 1343, 573, 560, 1235, 488, 570, 1389, 573, 1402, 571, 259, 259, 630, 1301, 1022, 1011, 1015, 1167, 571, 317, 341, 1071, 1022, 1020, 573, 108, 198, 510, 888, 428, 429, 561, 562, 1091, 1093, 1169, 448, 292, 357, 573, 1092, 1242, 1388, 1092, 428, 429, 1093, 1234, 345, 452, 1045, 1104, 1086, 510, 1040, 188, 370, 570, 1032, 1063, 107, 510, 1369, 570, 1047, 1048, 1049, 1369, 571, 574, 1315, 1145, 577, 1294, 577, 571, 726, 571, 33, 1270, 1346, 1347, 1385, 1339, 1344, 1392, 1330, 1145, 1379, 1395, 1379, 1145, 1245, 1237, 1237, 365, 128, 1370, 571, 900, 902, 899, 902, 1370, 362, 571, 573, 843, 1245, 1237, 1237, 1238, 1245, 1237, 1237, 1245, 521, 1237, 1237, 188, 609, 726, 423, 509, 858, 432, 248, 858, 570, 1237, 510, 880, 292, 292, 510, 677, 708, 260, 1237, 346, 1245, 1237, 1237, 1167, 346, 1237, 1237, 101, 414, 486, 486, 1237, 486, 743, 907, 570, 1144, 895, 143, 230, 931, 895, 895, 237, 1144, 842, 1237, 254, 337, 372, 411, 514, 746, 747, 748, 1121, 486, 947, 432, 346, 192, 287, 1245, 1237, 356, 1237, 356, 571, 573, 1244, 1246, 1237, 411, 625, 260, 670, 341, 1144, 1237, 1242, 1369, 1235, 1237, 302, 1237, 98, 509, 1237, 260, 1237, 260, 1369, 430, 491, 430, 491, 302, 1237, 98, 509, 1237, 302, 428, 1235, 94, 208, 445, 753, 754, 755, 756, 1371, 1245, 1237, 188, 243, 342, 510, 633, 636, 637, 1371, 320, 1237, 145, 354, 1237, 628, 356, 486, 477, 1235, 486, 947, 432, 196, 1237, 1237, 573, 571, 573, 1245, 1237, 953, 954, 1371, 356, 411, 486, 776, 1245, 1237, 1237, 356, 1121, 266, 573, 686, 686, 1228, 1245, 1237, 1237, 1244, 159, 213, 272, 379, 501, 509, 512, 587, 1391, 1245, 1237, 1237, 356, 411, 1245, 1237, 411, 445, 625, 723, 726, 842, 1237, 726, 842, 1237, 726, 1245, 1237, 445, 1245, 1237, 1237, 1243, 1236, 1236, 1245, 919, 1237, 1236, 1237, 411, 445, 625, 626, 1235, 1235, 1237, 1237, 1237, 1237, 1245, 1237, 94, 100, 208, 372, 411, 445, 372, 411, 445, 810, 411, 445, 411, 445, 411, 950, 1136, 1369, 260, 820, 1369, 260, 1369, 1245, 1237, 1237, 1389, 1237, 953, 94, 645, 442, 1244, 411, 445, 625, 1237, 1237, 1237, 486, 486, 154, 500, 399, 573, 1081, 1081, 1081, 1167, 1167, 518, 1207, 571, 1167, 1227, 1007, 346, 848, 1389, 107, 848, 206, 842, 848, 848, 288, 510, 510, 848, 848, 848, 294, 848, 848, 848, 842, 395, 649, 649, 270, 474, 781, 1167, 1144, 842, 571, 573, 560, 674, 1371, 1237, 132, 242, 432, 521, 740, 747, 748, 223, 351, 303, 664, 666, 668, 670, 680, 683, 95, 266, 423, 472, 587, 588, 237, 1237, 522, 1235, 107, 777, 475, 919, 598, 1369, 599, 663, 891, 1237, 239, 842, 570, 710, 711, 1170, 1172, 1173, 1369, 396, 1389, 810, 810, 810, 810, 570, 810, 1134, 1135, 1136, 442, 223, 570, 223, 223, 222, 1257, 842, 351, 664, 1369, 510, 703, 529, 635, 341, 107, 686, 1389, 341, 356, 815, 816, 1391, 810, 96, 571, 897, 898, 903, 107, 294, 420, 489, 528, 909, 910, 911, 912, 909, 356, 294, 351, 193, 280, 494, 508, 784, 785, 1237, 1266, 564, 257, 257, 237, 630, 107, 584, 238, 995, 996, 1205, 571, 571, 630, 568, 549, 549, 571, 571, 1242, 569, 570, 1242, 1369, 1389, 1400, 571, 571, 630, 841, 842, 1237, 842, 1237, 630, 630, 630, 630, 294, 630, 442, 237, 630, 630, 356, 630, 341, 1062, 1392, 1380, 571, 688, 266, 266, 266, 266, 266, 533, 1236, 726, 727, 573, 572, 251, 864, 865, 1245, 95, 870, 486, 570, 242, 221, 448, 221, 448, 428, 508, 323, 1144, 1245, 529, 714, 878, 878, 242, 356, 864, 128, 630, 907, 842, 1144, 895, 350, 895, 895, 1144, 842, 1237, 571, 569, 569, 573, 1167, 210, 1222, 1223, 107, 571, 1167, 571, 571, 571, 242, 571, 571, 571, 571, 571, 571, 573, 573, 571, 380, 571, 571, 570, 1168, 1168, 1205, 83, 87, 88, 89, 266, 288, 358, 558, 559, 560, 561, 562, 563, 564, 565, 566, 1202, 1168, 571, 571, 237, 242, 450, 571, 571, 107, 1218, 1205, 1218, 1218, 242, 571, 203, 571, 1371, 378, 1181, 107, 571, 573, 1167, 1371, 573, 1167, 1229, 1167, 571, 549, 1168, 1168, 216, 1205, 242, 203, 205, 229, 340, 346, 493, 504, 1214, 340, 216, 929, 1167, 471, 1230, 1167, 1219, 1167, 486, 570, 1064, 570, 570, 367, 1188, 570, 1205, 478, 480, 478, 480, 1235, 1077, 1077, 1077, 297, 429, 546, 570, 1064, 1111, 1112, 1113, 1121, 1127, 1137, 1172, 1369, 526, 1132, 1081, 1132, 7, 10, 11, 21, 22, 23, 25, 26, 30, 31, 32, 181, 326, 385, 496, 1349, 1350, 1352, 1342, 1343, 980, 1242, 1165, 607, 1145, 1022, 317, 570, 1084, 358, 1200, 1203, 551, 889, 1242, 1388, 1093, 357, 529, 508, 1090, 312, 1111, 526, 1133, 516, 473, 509, 1033, 1034, 1035, 1369, 356, 1036, 1369, 1112, 1049, 1050, 573, 1110, 560, 1229, 575, 1297, 574, 573, 560, 29, 1358, 571, 571, 574, 906, 843, 902, 902, 128, 904, 565, 1246, 1246, 356, 1236, 359, 356, 1167, 684, 1237, 570, 570, 570, 708, 270, 570, 800, 223, 630, 486, 1245, 1237, 612, 1144, 842, 842, 1144, 730, 1237, 254, 514, 486, 486, 730, 746, 752, 411, 445, 625, 1237, 1237, 1237, 278, 346, 226, 898, 371, 445, 486, 341, 223, 155, 672, 673, 800, 445, 94, 208, 415, 416, 445, 629, 638, 639, 752, 948, 437, 223, 630, 223, 630, 1237, 1237, 1237, 1237, 437, 437, 302, 755, 756, 755, 571, 573, 757, 1389, 270, 571, 573, 560, 572, 1237, 226, 1245, 1237, 411, 445, 625, 1237, 1237, 1237, 356, 372, 411, 445, 94, 208, 372, 411, 445, 1144, 338, 1144, 571, 573, 560, 1235, 486, 1246, 510, 773, 226, 686, 432, 959, 526, 693, 693, 686, 304, 379, 346, 1389, 379, 1246, 507, 226, 486, 486, 432, 461, 919, 919, 919, 371, 445, 160, 486, 947, 432, 188, 237, 640, 233, 878, 486, 486, 314, 314, 314, 486, 486, 432, 486, 486, 432, 486, 432, 486, 432, 486, 196, 630, 1144, 341, 1389, 445, 948, 223, 630, 486, 486, 571, 1237, 486, 947, 432, 486, 1245, 1237, 571, 571, 571, 1207, 569, 1144, 842, 288, 848, 1237, 1237, 1237, 288, 462, 463, 650, 1389, 650, 254, 571, 571, 242, 810, 812, 338, 358, 561, 562, 726, 813, 902, 1203, 1252, 1389, 141, 147, 160, 188, 190, 246, 274, 341, 346, 389, 405, 503, 675, 676, 679, 222, 525, 584, 612, 1237, 612, 360, 750, 1235, 1235, 1235, 571, 573, 1246, 251, 423, 1246, 1242, 496, 1235, 686, 1391, 237, 778, 919, 117, 599, 474, 759, 181, 1019, 1167, 242, 573, 1236, 635, 817, 818, 1389, 571, 573, 1237, 237, 687, 1235, 713, 1235, 1276, 1063, 570, 665, 1235, 571, 1237, 529, 531, 704, 634, 107, 223, 1063, 703, 486, 223, 1121, 571, 573, 560, 784, 571, 573, 188, 560, 913, 1389, 612, 474, 901, 902, 237, 918, 120, 418, 914, 915, 912, 915, 193, 280, 438, 508, 970, 1237, 351, 356, 361, 254, 1262, 1063, 1276, 1144, 570, 571, 573, 571, 1242, 1164, 1164, 569, 1400, 570, 561, 562, 563, 564, 565, 569, 630, 510, 630, 510, 630, 1237, 1237, 768, 842, 223, 237, 432, 432, 432, 432, 432, 1236, 573, 862, 1369, 1245, 529, 573, 866, 359, 1123, 442, 221, 221, 181, 337, 1235, 1237, 1246, 863, 870, 1245, 288, 288, 288, 288, 726, 288, 288, 288, 288, 288, 1210, 482, 1167, 214, 1144, 571, 1167, 1214, 1167, 1167, 571, 1205, 573, 1144, 1168, 1168, 1168, 1168, 203, 205, 341, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1167, 1167, 1167, 1144, 571, 571, 571, 1205, 571, 573, 128, 1169, 1182, 571, 1371, 1178, 386, 467, 1180, 571, 573, 521, 1174, 107, 571, 1389, 1167, 104, 104, 1167, 571, 1167, 242, 340, 1167, 571, 216, 1168, 1168, 216, 216, 1167, 1167, 1082, 526, 570, 1189, 1369, 571, 1205, 573, 1077, 1077, 1077, 1077, 1235, 1235, 1235, 1064, 1127, 1137, 242, 570, 1064, 1112, 1113, 107, 1114, 1115, 1369, 573, 168, 243, 276, 291, 301, 329, 422, 1118, 1115, 107, 1114, 1117, 1369, 1115, 552, 1131, 1228, 1167, 251, 1095, 571, 1095, 573, 560, 571, 1358, 1027, 570, 889, 234, 296, 357, 529, 483, 171, 1167, 419, 1038, 515, 571, 573, 1229, 158, 1038, 356, 571, 573, 1048, 1133, 1167, 1242, 560, 1316, 1347, 1352, 571, 565, 906, 496, 245, 427, 433, 440, 475, 497, 875, 237, 875, 571, 570, 691, 692, 883, 1172, 1369, 687, 687, 800, 1237, 687, 190, 274, 337, 341, 801, 1237, 1237, 107, 510, 510, 294, 843, 1245, 1237, 486, 947, 432, 486, 278, 1237, 128, 477, 1237, 223, 670, 188, 1369, 750, 461, 246, 225, 259, 341, 634, 584, 181, 246, 341, 461, 464, 634, 672, 724, 445, 639, 496, 1237, 1369, 437, 754, 1237, 637, 813, 1371, 1237, 371, 445, 486, 947, 432, 486, 226, 486, 486, 432, 244, 358, 464, 822, 823, 244, 358, 830, 831, 486, 486, 432, 571, 571, 571, 954, 338, 726, 902, 955, 1203, 1252, 1389, 411, 1237, 570, 529, 774, 1237, 693, 175, 1369, 570, 693, 1243, 1389, 1389, 1389, 1237, 1237, 1237, 1237, 1243, 128, 477, 1237, 1237, 1237, 1237, 516, 1237, 1237, 237, 237, 413, 237, 260, 1245, 1237, 1237, 1245, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 356, 147, 631, 223, 96, 119, 496, 1369, 1237, 1389, 752, 1237, 1237, 1237, 1237, 1081, 571, 288, 848, 288, 288, 288, 848, 584, 510, 655, 656, 730, 800, 529, 531, 842, 570, 842, 1237, 1168, 101, 128, 678, 191, 262, 190, 346, 292, 1235, 677, 244, 393, 796, 803, 804, 1369, 739, 570, 377, 570, 665, 681, 273, 698, 668, 1246, 1246, 1144, 570, 635, 98, 193, 280, 438, 508, 779, 486, 775, 1245, 260, 1235, 761, 533, 356, 571, 1111, 711, 919, 571, 573, 1136, 750, 768, 571, 721, 107, 351, 377, 570, 1029, 714, 667, 669, 671, 683, 1369, 377, 699, 700, 665, 698, 634, 354, 356, 705, 1063, 716, 714, 635, 1389, 1237, 880, 816, 1391, 813, 356, 903, 1167, 1167, 573, 570, 909, 496, 573, 113, 1167, 486, 570, 687, 1235, 785, 730, 80, 1273, 571, 995, 996, 569, 571, 1301, 1400, 1400, 1400, 1400, 1400, 1237, 1237, 630, 442, 630, 1236, 1236, 1236, 1236, 1236, 726, 248, 865, 870, 571, 1237, 181, 870, 242, 630, 346, 851, 1389, 851, 851, 851, 288, 851, 851, 851, 851, 851, 1167, 571, 571, 571, 242, 571, 1167, 242, 203, 205, 242, 237, 216, 571, 536, 1176, 1205, 404, 515, 128, 1182, 1169, 527, 527, 571, 1167, 337, 1167, 573, 1175, 1146, 1167, 1167, 1167, 1167, 104, 104, 1167, 1167, 216, 571, 571, 1167, 1190, 1369, 571, 1167, 1235, 1235, 1235, 1235, 1115, 1117, 1115, 570, 541, 1169, 571, 1369, 570, 1112, 291, 366, 1119, 1112, 1119, 291, 1118, 1119, 291, 476, 1125, 570, 1369, 570, 363, 128, 255, 1102, 1389, 1102, 1350, 562, 1343, 1351, 1388, 1389, 1389, 571, 929, 483, 351, 1232, 1063, 370, 1063, 1035, 356, 570, 1037, 1167, 560, 1049, 1038, 1396, 496, 571, 486, 858, 242, 800, 1167, 571, 573, 529, 147, 882, 886, 882, 571, 571, 571, 191, 262, 272, 190, 512, 630, 1144, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1246, 1237, 670, 674, 1243, 678, 260, 260, 346, 726, 678, 346, 1243, 1369, 1144, 630, 630, 560, 128, 477, 1237, 1237, 1237, 1237, 1237, 1245, 1237, 1237, 1242, 1242, 1144, 573, 1242, 1242, 573, 1245, 1237, 1237, 486, 1167, 141, 1167, 1246, 1237, 486, 486, 242, 266, 529, 1236, 1236, 842, 1236, 223, 226, 842, 1389, 1389, 1144, 630, 630, 486, 571, 288, 848, 848, 848, 848, 570, 651, 652, 584, 195, 244, 277, 244, 1167, 341, 676, 188, 107, 919, 686, 919, 1240, 104, 222, 266, 751, 755, 351, 664, 640, 220, 268, 570, 442, 510, 687, 107, 1246, 773, 599, 341, 570, 239, 1237, 710, 1389, 442, 635, 222, 1258, 842, 351, 664, 714, 571, 573, 529, 674, 128, 703, 640, 699, 153, 477, 706, 529, 984, 107, 706, 242, 356, 570, 1235, 1389, 900, 920, 921, 1370, 915, 1144, 237, 916, 1235, 242, 486, 940, 406, 786, 275, 731, 1274, 1369, 630, 571, 571, 630, 630, 1237, 359, 286, 630, 864, 851, 1167, 571, 1168, 242, 1167, 1167, 1167, 570, 571, 573, 571, 1182, 571, 515, 458, 571, 571, 1167, 1167, 1167, 571, 377, 1191, 571, 1128, 1129, 1172, 570, 1181, 1114, 570, 1236, 1112, 356, 510, 1120, 1112, 291, 1112, 1240, 1135, 570, 1135, 1369, 1078, 1167, 528, 1185, 1185, 1242, 1388, 435, 1072, 571, 1060, 1403, 1033, 160, 881, 883, 204, 525, 1052, 1053, 1167, 864, 356, 864, 571, 267, 689, 692, 358, 929, 842, 842, 887, 405, 689, 689, 571, 486, 445, 1044, 107, 223, 223, 631, 813, 1246, 1237, 486, 570, 895, 929, 931, 823, 570, 570, 831, 1237, 571, 570, 571, 445, 1044, 1237, 1237, 570, 570, 570, 529, 552, 1004, 413, 1004, 1004, 237, 1237, 631, 1237, 848, 657, 658, 1371, 123, 169, 194, 212, 216, 238, 241, 256, 346, 397, 653, 651, 1389, 895, 107, 936, 936, 571, 259, 570, 510, 707, 315, 690, 707, 570, 804, 796, 570, 571, 573, 1235, 571, 442, 98, 152, 155, 161, 189, 246, 259, 271, 461, 464, 682, 682, 1234, 1237, 1237, 571, 1063, 774, 223, 181, 750, 242, 1237, 107, 1276, 1063, 665, 1235, 571, 1401, 669, 360, 1369, 704, 699, 703, 193, 208, 386, 1237, 133, 141, 307, 1063, 842, 1121, 881, 242, 799, 902, 571, 573, 496, 214, 581, 914, 917, 1132, 456, 456, 571, 331, 355, 787, 788, 789, 237, 792, 730, 337, 514, 732, 733, 560, 1275, 1237, 870, 237, 1168, 1177, 1205, 337, 548, 128, 1081, 571, 573, 107, 1130, 188, 1142, 1143, 1168, 150, 1236, 571, 1167, 570, 1112, 1120, 570, 571, 1135, 571, 170, 252, 425, 570, 1096, 1097, 1098, 1099, 1100, 1101, 1167, 1186, 1187, 1369, 127, 197, 180, 1073, 515, 1237, 571, 573, 342, 508, 316, 341, 1053, 866, 875, 630, 882, 570, 919, 570, 634, 888, 1235, 919, 919, 1237, 477, 259, 510, 632, 445, 1044, 1237, 1209, 237, 826, 826, 1209, 1209, 1167, 477, 1205, 1205, 641, 642, 1247, 841, 842, 841, 842, 1236, 630, 571, 573, 563, 570, 609, 659, 726, 1001, 1389, 1001, 341, 346, 397, 1001, 1001, 1132, 936, 111, 264, 337, 685, 570, 722, 1167, 270, 243, 376, 451, 356, 694, 695, 696, 571, 1240, 76, 805, 755, 665, 698, 1237, 571, 750, 230, 825, 635, 984, 1235, 533, 1111, 750, 1063, 1029, 714, 699, 665, 698, 674, 570, 705, 703, 704, 429, 429, 141, 359, 141, 714, 880, 571, 1235, 800, 909, 920, 1144, 574, 204, 529, 529, 788, 428, 474, 790, 209, 793, 525, 795, 514, 730, 1242, 1383, 1391, 80, 750, 630, 1167, 571, 571, 515, 1205, 253, 398, 429, 1192, 1131, 1128, 570, 1168, 571, 573, 107, 1138, 1139, 1369, 571, 1236, 1205, 571, 570, 446, 570, 571, 573, 573, 107, 234, 234, 687, 1063, 1132, 883, 445, 104, 1054, 316, 242, 687, 707, 929, 888, 889, 686, 707, 707, 1237, 722, 1167, 477, 571, 362, 435, 402, 827, 827, 571, 571, 571, 1237, 571, 571, 571, 573, 1242, 1004, 658, 609, 660, 661, 1389, 1389, 346, 687, 563, 687, 1389, 1389, 272, 723, 571, 477, 193, 508, 356, 696, 356, 695, 570, 571, 573, 640, 442, 750, 842, 107, 107, 570, 1237, 984, 714, 703, 640, 699, 570, 701, 702, 1172, 1369, 706, 704, 705, 359, 359, 570, 267, 884, 237, 915, 99, 281, 971, 244, 244, 1001, 428, 460, 794, 570, 222, 1274, 121, 171, 499, 1167, 1193, 1194, 1193, 1193, 571, 1135, 573, 1143, 1371, 571, 573, 237, 1144, 571, 571, 1205, 570, 1205, 1097, 1187, 1189, 128, 128, 445, 1047, 1167, 482, 1054, 864, 571, 693, 571, 889, 690, 800, 800, 1044, 1237, 895, 128, 1044, 486, 641, 842, 571, 573, 687, 571, 465, 1237, 132, 337, 417, 445, 697, 697, 571, 76, 442, 1237, 822, 1063, 750, 1401, 704, 699, 703, 1167, 571, 573, 886, 886, 705, 706, 881, 570, 677, 209, 342, 570, 966, 968, 972, 1030, 1039, 1046, 1063, 1074, 895, 895, 791, 1369, 1167, 796, 1194, 428, 236, 384, 236, 384, 219, 1195, 1195, 1195, 571, 1169, 1139, 363, 188, 341, 346, 1140, 1141, 1391, 107, 1116, 412, 1126, 571, 1096, 571, 687, 687, 1369, 1132, 193, 204, 508, 1055, 1056, 482, 630, 800, 694, 1044, 842, 570, 661, 93, 188, 346, 1237, 750, 984, 705, 703, 704, 571, 702, 842, 887, 887, 706, 571, 883, 885, 635, 428, 967, 968, 969, 1064, 1065, 573, 573, 571, 1240, 104, 171, 251, 337, 483, 1181, 1168, 346, 1141, 1168, 1369, 570, 571, 445, 445, 486, 510, 342, 445, 204, 280, 1057, 800, 1205, 686, 686, 750, 706, 704, 705, 886, 884, 571, 573, 706, 795, 571, 574, 486, 242, 570, 1194, 428, 364, 150, 1167, 1369, 1369, 1240, 1241, 1369, 1047, 342, 188, 370, 516, 570, 1058, 571, 705, 706, 887, 677, 883, 1132, 222, 969, 456, 456, 797, 798, 1242, 1371, 1388, 1389, 1138, 571, 570, 188, 516, 1033, 570, 1034, 706, 635, 796, 529, 529, 571, 573, 571, 1206, 1241, 515, 1205, 571, 706, 1240, 244, 244, 798, 1081, 510, 1058, 571, 370, 1058, 1132, 570, 895, 895, 571, 1369, 1033, 797, 515, 571, 1058 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_int16 yyr1[] = { 0, 578, 579, 580, 580, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 582, 583, 584, 584, 584, 585, 585, 586, 586, 587, 587, 587, 587, 587, 587, 587, 587, 587, 588, 588, 588, 588, 588, 588, 589, 590, 590, 591, 591, 592, 592, 592, 592, 593, 593, 593, 593, 593, 593, 594, 595, 596, 596, 597, 597, 597, 597, 598, 598, 599, 599, 600, 600, 600, 600, 600, 600, 601, 601, 601, 602, 602, 602, 603, 603, 603, 603, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 605, 605, 606, 606, 607, 607, 608, 608, 608, 608, 609, 609, 609, 609, 610, 610, 610, 610, 610, 610, 610, 611, 611, 611, 612, 612, 613, 614, 614, 614, 614, 615, 615, 616, 616, 617, 617, 618, 618, 618, 618, 618, 619, 620, 620, 621, 621, 622, 623, 623, 623, 623, 623, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 625, 625, 626, 626, 626, 627, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 629, 629, 630, 630, 630, 631, 631, 632, 632, 633, 633, 633, 633, 634, 635, 635, 636, 636, 637, 637, 637, 637, 638, 638, 639, 639, 639, 639, 640, 640, 640, 640, 641, 642, 642, 643, 644, 644, 645, 645, 645, 645, 646, 646, 647, 647, 648, 648, 649, 649, 650, 650, 650, 651, 651, 652, 652, 653, 653, 653, 653, 653, 653, 653, 653, 653, 653, 653, 653, 653, 654, 654, 655, 655, 656, 656, 657, 657, 658, 659, 659, 659, 659, 659, 660, 660, 661, 662, 662, 662, 662, 662, 662, 663, 663, 663, 663, 663, 663, 663, 663, 664, 664, 665, 665, 666, 666, 667, 667, 668, 668, 668, 669, 669, 670, 671, 671, 672, 672, 673, 673, 674, 674, 675, 675, 675, 675, 676, 676, 676, 676, 676, 676, 676, 676, 676, 677, 677, 677, 678, 678, 679, 679, 679, 679, 680, 681, 681, 681, 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 683, 683, 684, 684, 684, 684, 684, 684, 684, 685, 685, 686, 686, 687, 687, 688, 689, 689, 690, 690, 690, 690, 691, 691, 692, 692, 693, 693, 694, 694, 694, 694, 694, 695, 696, 697, 697, 697, 697, 697, 698, 698, 699, 699, 700, 701, 701, 702, 702, 702, 703, 703, 704, 704, 704, 705, 705, 705, 705, 706, 706, 707, 707, 708, 709, 709, 710, 710, 711, 711, 711, 712, 712, 713, 714, 714, 714, 715, 715, 716, 717, 717, 718, 719, 719, 720, 720, 721, 721, 722, 722, 723, 723, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 725, 725, 726, 726, 726, 726, 727, 727, 728, 728, 729, 729, 730, 730, 731, 731, 732, 732, 733, 733, 734, 734, 735, 736, 736, 737, 737, 738, 738, 739, 739, 740, 740, 740, 740, 741, 742, 742, 743, 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, 745, 746, 746, 746, 746, 747, 747, 748, 748, 749, 749, 750, 750, 751, 751, 752, 753, 753, 754, 754, 754, 754, 755, 756, 757, 758, 758, 759, 759, 760, 760, 761, 761, 762, 762, 762, 763, 763, 763, 763, 764, 765, 765, 766, 766, 767, 767, 768, 768, 769, 769, 770, 771, 772, 773, 773, 774, 774, 775, 775, 776, 776, 777, 777, 778, 778, 779, 779, 779, 779, 779, 780, 781, 781, 782, 782, 783, 783, 783, 784, 784, 785, 785, 785, 785, 785, 786, 786, 787, 787, 788, 789, 789, 790, 790, 791, 792, 792, 793, 793, 794, 794, 795, 795, 796, 796, 797, 797, 797, 798, 798, 798, 798, 799, 799, 800, 800, 801, 801, 801, 801, 801, 801, 802, 802, 803, 803, 804, 805, 805, 806, 807, 807, 807, 807, 808, 809, 809, 809, 809, 809, 809, 809, 809, 809, 809, 809, 809, 809, 809, 809, 809, 810, 811, 811, 812, 812, 813, 813, 813, 813, 813, 813, 814, 815, 815, 816, 817, 817, 818, 818, 819, 819, 819, 819, 820, 820, 821, 822, 822, 823, 823, 823, 823, 823, 824, 824, 825, 825, 826, 826, 826, 827, 827, 828, 829, 829, 830, 830, 831, 831, 832, 832, 833, 833, 834, 835, 836, 836, 836, 836, 836, 836, 836, 836, 836, 836, 836, 836, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 838, 838, 838, 838, 838, 839, 839, 839, 839, 839, 839, 839, 839, 840, 840, 840, 841, 841, 842, 842, 843, 843, 844, 844, 845, 846, 846, 846, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 848, 848, 849, 849, 849, 849, 849, 849, 849, 849, 849, 849, 850, 850, 851, 851, 852, 852, 852, 852, 852, 852, 852, 852, 852, 852, 852, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 854, 854, 855, 855, 856, 857, 857, 858, 858, 858, 858, 858, 859, 859, 860, 860, 860, 860, 860, 861, 861, 862, 862, 863, 863, 863, 863, 863, 863, 863, 863, 863, 863, 863, 863, 863, 863, 863, 863, 863, 863, 863, 863, 863, 864, 864, 865, 865, 866, 866, 867, 868, 868, 869, 869, 870, 870, 871, 872, 872, 873, 873, 873, 874, 874, 874, 875, 875, 875, 875, 875, 875, 876, 876, 877, 877, 878, 878, 879, 879, 880, 880, 881, 881, 882, 882, 883, 883, 883, 884, 884, 885, 885, 886, 886, 887, 887, 888, 888, 888, 889, 889, 889, 890, 890, 890, 890, 891, 891, 892, 892, 893, 893, 894, 894, 895, 895, 895, 895, 896, 896, 897, 897, 898, 898, 898, 898, 898, 899, 899, 899, 899, 899, 900, 901, 902, 902, 902, 903, 903, 903, 904, 905, 905, 905, 905, 906, 906, 907, 908, 908, 909, 909, 910, 910, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 912, 912, 912, 912, 912, 913, 913, 914, 915, 915, 915, 916, 916, 917, 917, 918, 918, 919, 919, 920, 921, 921, 922, 922, 922, 923, 923, 924, 924, 925, 925, 925, 925, 925, 925, 926, 926, 927, 927, 928, 928, 928, 928, 929, 929, 930, 930, 931, 932, 933, 933, 934, 934, 935, 935, 935, 936, 936, 936, 937, 938, 938, 939, 940, 940, 940, 940, 941, 942, 942, 942, 942, 943, 943, 944, 944, 944, 945, 945, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, 947, 947, 948, 948, 949, 949, 949, 949, 949, 949, 950, 950, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, 952, 953, 953, 954, 954, 955, 955, 955, 955, 955, 956, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 958, 958, 958, 959, 959, 959, 959, 959, 959, 959, 960, 960, 961, 961, 961, 961, 962, 963, 963, 963, 963, 963, 963, 963, 963, 963, 964, 964, 965, 966, 966, 966, 967, 967, 968, 968, 968, 968, 968, 969, 969, 970, 970, 970, 970, 971, 971, 971, 972, 973, 973, 974, 975, 975, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 977, 977, 978, 978, 978, 979, 979, 979, 979, 979, 980, 980, 980, 981, 981, 982, 982, 982, 983, 983, 983, 983, 984, 984, 984, 984, 985, 986, 987, 987, 988, 988, 989, 989, 989, 990, 990, 990, 990, 990, 990, 990, 991, 991, 992, 992, 992, 992, 993, 994, 994, 994, 994, 995, 995, 996, 997, 998, 998, 999, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1001, 1001, 1002, 1003, 1003, 1003, 1003, 1003, 1003, 1004, 1004, 1005, 1006, 1006, 1006, 1006, 1007, 1007, 1008, 1008, 1009, 1009, 1010, 1010, 1011, 1011, 1012, 1013, 1013, 1014, 1014, 1014, 1015, 1015, 1016, 1016, 1017, 1017, 1018, 1018, 1019, 1019, 1020, 1021, 1021, 1022, 1022, 1023, 1023, 1023, 1023, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1025, 1026, 1026, 1027, 1027, 1027, 1027, 1027, 1028, 1028, 1028, 1029, 1029, 1030, 1031, 1031, 1032, 1032, 1032, 1032, 1032, 1033, 1033, 1034, 1034, 1035, 1036, 1036, 1036, 1037, 1037, 1037, 1038, 1038, 1039, 1040, 1040, 1041, 1042, 1042, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1044, 1044, 1045, 1045, 1045, 1046, 1047, 1047, 1048, 1048, 1049, 1050, 1050, 1051, 1052, 1052, 1053, 1053, 1053, 1053, 1053, 1054, 1054, 1055, 1056, 1057, 1057, 1057, 1057, 1057, 1058, 1059, 1060, 1060, 1061, 1061, 1061, 1061, 1061, 1061, 1062, 1062, 1062, 1063, 1063, 1064, 1064, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1066, 1066, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1068, 1068, 1068, 1069, 1069, 1070, 1071, 1071, 1071, 1072, 1072, 1072, 1073, 1073, 1073, 1074, 1074, 1075, 1075, 1075, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1077, 1077, 1078, 1078, 1078, 1079, 1079, 1080, 1080, 1081, 1081, 1082, 1083, 1083, 1084, 1084, 1085, 1085, 1085, 1085, 1086, 1086, 1087, 1087, 1087, 1087, 1087, 1087, 1088, 1088, 1089, 1089, 1090, 1091, 1091, 1091, 1092, 1092, 1093, 1093, 1094, 1094, 1095, 1095, 1096, 1096, 1097, 1097, 1097, 1097, 1097, 1098, 1099, 1100, 1101, 1102, 1102, 1103, 1103, 1104, 1104, 1105, 1105, 1106, 1107, 1107, 1107, 1107, 1108, 1108, 1109, 1109, 1110, 1110, 1111, 1111, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1113, 1113, 1113, 1113, 1113, 1113, 1114, 1114, 1114, 1114, 1115, 1115, 1116, 1116, 1117, 1117, 1117, 1117, 1117, 1118, 1118, 1118, 1118, 1119, 1119, 1120, 1120, 1121, 1121, 1122, 1122, 1122, 1123, 1123, 1124, 1124, 1124, 1125, 1126, 1126, 1127, 1127, 1128, 1129, 1129, 1130, 1130, 1131, 1131, 1132, 1132, 1133, 1133, 1133, 1134, 1134, 1135, 1135, 1136, 1137, 1137, 1138, 1138, 1139, 1139, 1139, 1140, 1140, 1141, 1141, 1141, 1141, 1142, 1142, 1143, 1143, 1144, 1144, 1144, 1144, 1144, 1144, 1145, 1145, 1145, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1147, 1147, 1147, 1147, 1148, 1148, 1149, 1149, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1151, 1151, 1152, 1152, 1153, 1153, 1154, 1155, 1156, 1156, 1157, 1157, 1158, 1159, 1160, 1160, 1160, 1160, 1160, 1160, 1161, 1161, 1162, 1162, 1162, 1162, 1163, 1164, 1164, 1164, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1166, 1166, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1171, 1171, 1172, 1172, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1174, 1174, 1175, 1175, 1175, 1175, 1176, 1177, 1177, 1178, 1178, 1179, 1179, 1180, 1180, 1180, 1181, 1181, 1181, 1181, 1182, 1182, 1183, 1183, 1184, 1184, 1185, 1185, 1186, 1186, 1187, 1188, 1188, 1188, 1189, 1190, 1190, 1191, 1191, 1192, 1192, 1192, 1192, 1193, 1193, 1194, 1194, 1194, 1194, 1194, 1195, 1195, 1195, 1195, 1195, 1196, 1196, 1196, 1197, 1197, 1198, 1199, 1199, 1199, 1200, 1200, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1202, 1202, 1203, 1203, 1204, 1204, 1204, 1204, 1204, 1204, 1205, 1205, 1206, 1206, 1207, 1207, 1207, 1208, 1208, 1209, 1209, 1210, 1210, 1210, 1211, 1211, 1212, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1214, 1214, 1215, 1215, 1216, 1217, 1217, 1217, 1217, 1217, 1218, 1218, 1218, 1219, 1219, 1220, 1221, 1221, 1222, 1223, 1223, 1224, 1224, 1225, 1225, 1226, 1226, 1226, 1226, 1227, 1227, 1228, 1228, 1229, 1229, 1230, 1230, 1231, 1231, 1232, 1232, 1233, 1233, 1233, 1233, 1234, 1234, 1235, 1235, 1236, 1236, 1237, 1238, 1239, 1240, 1240, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1242, 1243, 1243, 1243, 1243, 1244, 1245, 1245, 1245, 1245, 1246, 1246, 1247, 1247, 1247, 1247, 1248, 1248, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1254, 1254, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1257, 1256, 1258, 1256, 1259, 1260, 1260, 1260, 1260, 1261, 1261, 1261, 1261, 1262, 1262, 1263, 1264, 1265, 1265, 1266, 1266, 1266, 1267, 1267, 1268, 1268, 1269, 1269, 1270, 1270, 1270, 1270, 1271, 1271, 1271, 1272, 1273, 1273, 1274, 1274, 1275, 1275, 1275, 1275, 1276, 1276, 1277, 1278, 1279, 1280, 1281, 1281, 1282, 1283, 1283, 1284, 1284, 1284, 1284, 1284, 1286, 1285, 1287, 1288, 1289, 1289, 1290, 1290, 1290, 1290, 1291, 1291, 1293, 1292, 1295, 1294, 1296, 1294, 1294, 1297, 1297, 1298, 1298, 1298, 1299, 1299, 1299, 1299, 1300, 1300, 1301, 1301, 1301, 1301, 1301, 1301, 1302, 1302, 1302, 1303, 1305, 1304, 1306, 1307, 1306, 1308, 1308, 1309, 1309, 1310, 1310, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1313, 1313, 1314, 1314, 1315, 1316, 1316, 1317, 1317, 1317, 1318, 1319, 1320, 1320, 1320, 1320, 1321, 1321, 1321, 1322, 1322, 1323, 1323, 1324, 1325, 1325, 1326, 1326, 1327, 1327, 1328, 1328, 1329, 1330, 1330, 1331, 1331, 1331, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1333, 1333, 1333, 1333, 1333, 1334, 1334, 1335, 1336, 1337, 1338, 1338, 1339, 1340, 1341, 1341, 1342, 1343, 1343, 1344, 1345, 1346, 1346, 1347, 1348, 1349, 1349, 1350, 1351, 1351, 1351, 1351, 1351, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1353, 1353, 1354, 1354, 1355, 1355, 1355, 1357, 1356, 1358, 1358, 1360, 1359, 1361, 1361, 1361, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1363, 1363, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1365, 1365, 1365, 1365, 1365, 1365, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1367, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1370, 1370, 1370, 1370, 1370, 1370, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1372, 1372, 1372, 1372, 1372, 1373, 1373, 1373, 1373, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1375, 1375, 1375, 1376, 1376, 1376, 1376, 1376, 1376, 1377, 1377, 1378, 1379, 1379, 1380, 1380, 1381, 1382, 1383, 1384, 1384, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1391, 1392, 1392, 1393, 1393, 1393, 1394, 1394, 1395, 1395, 1396, 1396, 1397, 1397, 1397, 1397, 1397, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1399, 1399, 1399, 1399, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1401, 1401, 1401, 1401, 1402, 1402, 1403, 1403, 1404, 1404, 1405, 1405 }; /* 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, 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, 1, 0, 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, 6, 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, 1, 1, 0, 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, 5, 2, 4, 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, 6, 6, 9, 3, 0, 3, 0, 5, 2, 0, 3, 3, 3, 7, 7, 10, 1, 1, 1, 1, 1, 1, 16, 19, 1, 0, 1, 0, 1, 0, 2, 0, 1, 3, 4, 5, 2, 2, 4, 4, 0, 1, 3, 2, 0, 1, 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, 4, 4, 7, 7, 1, 1, 1, 1, 1, 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, 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, 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, 1, 1, 1, 5, 1, 1, 4, 1, 4, 1, 4, 1, 4, 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, 7, 2, 3, 3, 3, 4, 0, 4, 1, 3, 3, 1, 1, 1, 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, 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, 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, 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, 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 1677 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 37174 "preproc.c" break; case 4: /* toplevel_stmt: TransactionStmtLegacy */ #line 1681 "preproc.y" { fprintf(base_yyout, "{ ECPGtrans(__LINE__, %s, \"%s\");", connection ? connection : "NULL", (yyvsp[0].str)); whenever_action(2); free((yyvsp[0].str)); } #line 37184 "preproc.c" break; case 5: /* stmt: AlterEventTrigStmt */ #line 1691 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37190 "preproc.c" break; case 6: /* stmt: AlterCollationStmt */ #line 1693 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37196 "preproc.c" break; case 7: /* stmt: AlterDatabaseStmt */ #line 1695 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37202 "preproc.c" break; case 8: /* stmt: AlterDatabaseSetStmt */ #line 1697 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37208 "preproc.c" break; case 9: /* stmt: AlterDefaultPrivilegesStmt */ #line 1699 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37214 "preproc.c" break; case 10: /* stmt: AlterDomainStmt */ #line 1701 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37220 "preproc.c" break; case 11: /* stmt: AlterEnumStmt */ #line 1703 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37226 "preproc.c" break; case 12: /* stmt: AlterExtensionStmt */ #line 1705 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37232 "preproc.c" break; case 13: /* stmt: AlterExtensionContentsStmt */ #line 1707 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37238 "preproc.c" break; case 14: /* stmt: AlterFdwStmt */ #line 1709 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37244 "preproc.c" break; case 15: /* stmt: AlterForeignServerStmt */ #line 1711 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37250 "preproc.c" break; case 16: /* stmt: AlterFunctionStmt */ #line 1713 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37256 "preproc.c" break; case 17: /* stmt: AlterGroupStmt */ #line 1715 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37262 "preproc.c" break; case 18: /* stmt: AlterObjectDependsStmt */ #line 1717 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37268 "preproc.c" break; case 19: /* stmt: AlterObjectSchemaStmt */ #line 1719 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37274 "preproc.c" break; case 20: /* stmt: AlterOwnerStmt */ #line 1721 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37280 "preproc.c" break; case 21: /* stmt: AlterOperatorStmt */ #line 1723 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37286 "preproc.c" break; case 22: /* stmt: AlterTypeStmt */ #line 1725 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37292 "preproc.c" break; case 23: /* stmt: AlterPolicyStmt */ #line 1727 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37298 "preproc.c" break; case 24: /* stmt: AlterSeqStmt */ #line 1729 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37304 "preproc.c" break; case 25: /* stmt: AlterSystemStmt */ #line 1731 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37310 "preproc.c" break; case 26: /* stmt: AlterTableStmt */ #line 1733 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37316 "preproc.c" break; case 27: /* stmt: AlterTblSpcStmt */ #line 1735 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37322 "preproc.c" break; case 28: /* stmt: AlterCompositeTypeStmt */ #line 1737 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37328 "preproc.c" break; case 29: /* stmt: AlterPublicationStmt */ #line 1739 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37334 "preproc.c" break; case 30: /* stmt: AlterRoleSetStmt */ #line 1741 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37340 "preproc.c" break; case 31: /* stmt: AlterRoleStmt */ #line 1743 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37346 "preproc.c" break; case 32: /* stmt: AlterSubscriptionStmt */ #line 1745 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37352 "preproc.c" break; case 33: /* stmt: AlterStatsStmt */ #line 1747 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37358 "preproc.c" break; case 34: /* stmt: AlterTSConfigurationStmt */ #line 1749 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37364 "preproc.c" break; case 35: /* stmt: AlterTSDictionaryStmt */ #line 1751 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37370 "preproc.c" break; case 36: /* stmt: AlterUserMappingStmt */ #line 1753 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37376 "preproc.c" break; case 37: /* stmt: AnalyzeStmt */ #line 1755 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37382 "preproc.c" break; case 38: /* stmt: CallStmt */ #line 1757 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37388 "preproc.c" break; case 39: /* stmt: CheckPointStmt */ #line 1759 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37394 "preproc.c" break; case 40: /* stmt: ClosePortalStmt */ #line 1761 "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 37416 "preproc.c" break; case 41: /* stmt: ClusterStmt */ #line 1779 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37422 "preproc.c" break; case 42: /* stmt: CommentStmt */ #line 1781 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37428 "preproc.c" break; case 43: /* stmt: ConstraintsSetStmt */ #line 1783 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37434 "preproc.c" break; case 44: /* stmt: CopyStmt */ #line 1785 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37440 "preproc.c" break; case 45: /* stmt: CreateAmStmt */ #line 1787 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37446 "preproc.c" break; case 46: /* stmt: CreateAsStmt */ #line 1789 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37452 "preproc.c" break; case 47: /* stmt: CreateAssertionStmt */ #line 1791 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37458 "preproc.c" break; case 48: /* stmt: CreateCastStmt */ #line 1793 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37464 "preproc.c" break; case 49: /* stmt: CreateConversionStmt */ #line 1795 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37470 "preproc.c" break; case 50: /* stmt: CreateDomainStmt */ #line 1797 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37476 "preproc.c" break; case 51: /* stmt: CreateExtensionStmt */ #line 1799 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37482 "preproc.c" break; case 52: /* stmt: CreateFdwStmt */ #line 1801 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37488 "preproc.c" break; case 53: /* stmt: CreateForeignServerStmt */ #line 1803 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37494 "preproc.c" break; case 54: /* stmt: CreateForeignTableStmt */ #line 1805 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37500 "preproc.c" break; case 55: /* stmt: CreateFunctionStmt */ #line 1807 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37506 "preproc.c" break; case 56: /* stmt: CreateGroupStmt */ #line 1809 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37512 "preproc.c" break; case 57: /* stmt: CreateMatViewStmt */ #line 1811 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37518 "preproc.c" break; case 58: /* stmt: CreateOpClassStmt */ #line 1813 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37524 "preproc.c" break; case 59: /* stmt: CreateOpFamilyStmt */ #line 1815 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37530 "preproc.c" break; case 60: /* stmt: CreatePublicationStmt */ #line 1817 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37536 "preproc.c" break; case 61: /* stmt: AlterOpFamilyStmt */ #line 1819 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37542 "preproc.c" break; case 62: /* stmt: CreatePolicyStmt */ #line 1821 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37548 "preproc.c" break; case 63: /* stmt: CreatePLangStmt */ #line 1823 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37554 "preproc.c" break; case 64: /* stmt: CreateSchemaStmt */ #line 1825 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37560 "preproc.c" break; case 65: /* stmt: CreateSeqStmt */ #line 1827 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37566 "preproc.c" break; case 66: /* stmt: CreateStmt */ #line 1829 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37572 "preproc.c" break; case 67: /* stmt: CreateSubscriptionStmt */ #line 1831 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37578 "preproc.c" break; case 68: /* stmt: CreateStatsStmt */ #line 1833 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37584 "preproc.c" break; case 69: /* stmt: CreateTableSpaceStmt */ #line 1835 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37590 "preproc.c" break; case 70: /* stmt: CreateTransformStmt */ #line 1837 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37596 "preproc.c" break; case 71: /* stmt: CreateTrigStmt */ #line 1839 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37602 "preproc.c" break; case 72: /* stmt: CreateEventTrigStmt */ #line 1841 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37608 "preproc.c" break; case 73: /* stmt: CreateRoleStmt */ #line 1843 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37614 "preproc.c" break; case 74: /* stmt: CreateUserStmt */ #line 1845 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37620 "preproc.c" break; case 75: /* stmt: CreateUserMappingStmt */ #line 1847 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37626 "preproc.c" break; case 76: /* stmt: CreatedbStmt */ #line 1849 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37632 "preproc.c" break; case 77: /* stmt: DeallocateStmt */ #line 1851 "preproc.y" { output_deallocate_prepare_statement((yyvsp[0].str)); } #line 37640 "preproc.c" break; case 78: /* stmt: DeclareCursorStmt */ #line 1855 "preproc.y" { output_simple_statement((yyvsp[0].str), (strncmp((yyvsp[0].str), "ECPGset_var", strlen("ECPGset_var")) == 0) ? 4 : 0); } #line 37646 "preproc.c" break; case 79: /* stmt: DefineStmt */ #line 1857 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37652 "preproc.c" break; case 80: /* stmt: DeleteStmt */ #line 1859 "preproc.y" { output_statement((yyvsp[0].str), 1, ECPGst_prepnormal); } #line 37658 "preproc.c" break; case 81: /* stmt: DiscardStmt */ #line 1861 "preproc.y" { output_statement((yyvsp[0].str), 1, ECPGst_normal); } #line 37664 "preproc.c" break; case 82: /* stmt: DoStmt */ #line 1863 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37670 "preproc.c" break; case 83: /* stmt: DropCastStmt */ #line 1865 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37676 "preproc.c" break; case 84: /* stmt: DropOpClassStmt */ #line 1867 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37682 "preproc.c" break; case 85: /* stmt: DropOpFamilyStmt */ #line 1869 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37688 "preproc.c" break; case 86: /* stmt: DropOwnedStmt */ #line 1871 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37694 "preproc.c" break; case 87: /* stmt: DropStmt */ #line 1873 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37700 "preproc.c" break; case 88: /* stmt: DropSubscriptionStmt */ #line 1875 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37706 "preproc.c" break; case 89: /* stmt: DropTableSpaceStmt */ #line 1877 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37712 "preproc.c" break; case 90: /* stmt: DropTransformStmt */ #line 1879 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37718 "preproc.c" break; case 91: /* stmt: DropRoleStmt */ #line 1881 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37724 "preproc.c" break; case 92: /* stmt: DropUserMappingStmt */ #line 1883 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37730 "preproc.c" break; case 93: /* stmt: DropdbStmt */ #line 1885 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37736 "preproc.c" break; case 94: /* stmt: ExecuteStmt */ #line 1887 "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 37764 "preproc.c" break; case 95: /* stmt: ExplainStmt */ #line 1911 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37770 "preproc.c" break; case 96: /* stmt: FetchStmt */ #line 1913 "preproc.y" { output_statement((yyvsp[0].str), 1, ECPGst_normal); } #line 37776 "preproc.c" break; case 97: /* stmt: GrantStmt */ #line 1915 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37782 "preproc.c" break; case 98: /* stmt: GrantRoleStmt */ #line 1917 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37788 "preproc.c" break; case 99: /* stmt: ImportForeignSchemaStmt */ #line 1919 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37794 "preproc.c" break; case 100: /* stmt: IndexStmt */ #line 1921 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37800 "preproc.c" break; case 101: /* stmt: InsertStmt */ #line 1923 "preproc.y" { output_statement((yyvsp[0].str), 1, ECPGst_prepnormal); } #line 37806 "preproc.c" break; case 102: /* stmt: ListenStmt */ #line 1925 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37812 "preproc.c" break; case 103: /* stmt: RefreshMatViewStmt */ #line 1927 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37818 "preproc.c" break; case 104: /* stmt: LoadStmt */ #line 1929 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37824 "preproc.c" break; case 105: /* stmt: LockStmt */ #line 1931 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37830 "preproc.c" break; case 106: /* stmt: MergeStmt */ #line 1933 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37836 "preproc.c" break; case 107: /* stmt: NotifyStmt */ #line 1935 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37842 "preproc.c" break; case 108: /* stmt: PrepareStmt */ #line 1937 "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 37874 "preproc.c" break; case 109: /* stmt: ReassignOwnedStmt */ #line 1965 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37880 "preproc.c" break; case 110: /* stmt: ReindexStmt */ #line 1967 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37886 "preproc.c" break; case 111: /* stmt: RemoveAggrStmt */ #line 1969 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37892 "preproc.c" break; case 112: /* stmt: RemoveFuncStmt */ #line 1971 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37898 "preproc.c" break; case 113: /* stmt: RemoveOperStmt */ #line 1973 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37904 "preproc.c" break; case 114: /* stmt: RenameStmt */ #line 1975 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37910 "preproc.c" break; case 115: /* stmt: RevokeStmt */ #line 1977 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37916 "preproc.c" break; case 116: /* stmt: RevokeRoleStmt */ #line 1979 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37922 "preproc.c" break; case 117: /* stmt: RuleStmt */ #line 1981 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37928 "preproc.c" break; case 118: /* stmt: SecLabelStmt */ #line 1983 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37934 "preproc.c" break; case 119: /* stmt: SelectStmt */ #line 1985 "preproc.y" { output_statement((yyvsp[0].str), 1, ECPGst_prepnormal); } #line 37940 "preproc.c" break; case 120: /* stmt: TransactionStmt */ #line 1987 "preproc.y" { fprintf(base_yyout, "{ ECPGtrans(__LINE__, %s, \"%s\");", connection ? connection : "NULL", (yyvsp[0].str)); whenever_action(2); free((yyvsp[0].str)); } #line 37950 "preproc.c" break; case 121: /* stmt: TruncateStmt */ #line 1993 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37956 "preproc.c" break; case 122: /* stmt: UnlistenStmt */ #line 1995 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37962 "preproc.c" break; case 123: /* stmt: UpdateStmt */ #line 1997 "preproc.y" { output_statement((yyvsp[0].str), 1, ECPGst_prepnormal); } #line 37968 "preproc.c" break; case 124: /* stmt: VacuumStmt */ #line 1999 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37974 "preproc.c" break; case 125: /* stmt: VariableResetStmt */ #line 2001 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37980 "preproc.c" break; case 126: /* stmt: VariableSetStmt */ #line 2003 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37986 "preproc.c" break; case 127: /* stmt: VariableShowStmt */ #line 2005 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37992 "preproc.c" break; case 128: /* stmt: ViewStmt */ #line 2007 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37998 "preproc.c" break; case 129: /* stmt: ECPGAllocateDescr */ #line 2009 "preproc.y" { fprintf(base_yyout,"ECPGallocate_desc(__LINE__, %s);",(yyvsp[0].str)); whenever_action(0); free((yyvsp[0].str)); } #line 38008 "preproc.c" break; case 130: /* stmt: ECPGConnect */ #line 2015 "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 38022 "preproc.c" break; case 131: /* stmt: ECPGDeclareStmt */ #line 2025 "preproc.y" { output_simple_statement((yyvsp[0].str), 0); } #line 38030 "preproc.c" break; case 132: /* stmt: ECPGCursorStmt */ #line 2029 "preproc.y" { output_simple_statement((yyvsp[0].str), (strncmp((yyvsp[0].str), "ECPGset_var", strlen("ECPGset_var")) == 0) ? 4 : 0); } #line 38038 "preproc.c" break; case 133: /* stmt: ECPGDeallocateDescr */ #line 2033 "preproc.y" { fprintf(base_yyout,"ECPGdeallocate_desc(__LINE__, %s);",(yyvsp[0].str)); whenever_action(0); free((yyvsp[0].str)); } #line 38048 "preproc.c" break; case 134: /* stmt: ECPGDeclare */ #line 2039 "preproc.y" { output_simple_statement((yyvsp[0].str), 0); } #line 38056 "preproc.c" break; case 135: /* stmt: ECPGDescribe */ #line 2043 "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 38072 "preproc.c" break; case 136: /* stmt: ECPGDisconnect */ #line 2055 "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 38086 "preproc.c" break; case 137: /* stmt: ECPGExecuteImmediateStmt */ #line 2064 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_exec_immediate); } #line 38092 "preproc.c" break; case 138: /* stmt: ECPGFree */ #line 2066 "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 38110 "preproc.c" break; case 139: /* stmt: ECPGGetDescriptor */ #line 2080 "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 38121 "preproc.c" break; case 140: /* stmt: ECPGGetDescriptorHeader */ #line 2087 "preproc.y" { lookup_descriptor((yyvsp[0].str), connection); output_get_descr_header((yyvsp[0].str)); free((yyvsp[0].str)); } #line 38131 "preproc.c" break; case 141: /* stmt: ECPGOpen */ #line 2093 "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 38146 "preproc.c" break; case 142: /* stmt: ECPGSetAutocommit */ #line 2104 "preproc.y" { fprintf(base_yyout, "{ ECPGsetcommit(__LINE__, \"%s\", %s);", (yyvsp[0].str), connection ? connection : "NULL"); whenever_action(2); free((yyvsp[0].str)); } #line 38156 "preproc.c" break; case 143: /* stmt: ECPGSetConnection */ #line 2110 "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 38169 "preproc.c" break; case 144: /* stmt: ECPGSetDescriptor */ #line 2119 "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 38180 "preproc.c" break; case 145: /* stmt: ECPGSetDescriptorHeader */ #line 2126 "preproc.y" { lookup_descriptor((yyvsp[0].str), connection); output_set_descr_header((yyvsp[0].str)); free((yyvsp[0].str)); } #line 38190 "preproc.c" break; case 146: /* stmt: ECPGTypedef */ #line 2132 "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 38203 "preproc.c" break; case 147: /* stmt: ECPGVar */ #line 2141 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "AT option not allowed in VAR statement"); output_simple_statement((yyvsp[0].str), 0); } #line 38214 "preproc.c" break; case 148: /* stmt: ECPGWhenever */ #line 2148 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "AT option not allowed in WHENEVER statement"); output_simple_statement((yyvsp[0].str), 0); } #line 38225 "preproc.c" break; case 149: /* stmt: %empty */ #line 2155 "preproc.y" { (yyval.str) = NULL; } #line 38231 "preproc.c" break; case 150: /* CallStmt: CALL func_application */ #line 2161 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("call"),(yyvsp[0].str)); } #line 38239 "preproc.c" break; case 151: /* CreateRoleStmt: CREATE ROLE RoleId opt_with OptRoleList */ #line 2169 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create role"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38247 "preproc.c" break; case 152: /* opt_with: WITH */ #line 2177 "preproc.y" { (yyval.str) = mm_strdup("with"); } #line 38255 "preproc.c" break; case 153: /* opt_with: WITH_LA */ #line 2181 "preproc.y" { (yyval.str) = mm_strdup("with"); } #line 38263 "preproc.c" break; case 154: /* opt_with: %empty */ #line 2185 "preproc.y" { (yyval.str)=EMPTY; } #line 38270 "preproc.c" break; case 155: /* OptRoleList: OptRoleList CreateOptRoleElem */ #line 2192 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 38278 "preproc.c" break; case 156: /* OptRoleList: %empty */ #line 2196 "preproc.y" { (yyval.str)=EMPTY; } #line 38285 "preproc.c" break; case 157: /* AlterOptRoleList: AlterOptRoleList AlterOptRoleElem */ #line 2203 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 38293 "preproc.c" break; case 158: /* AlterOptRoleList: %empty */ #line 2207 "preproc.y" { (yyval.str)=EMPTY; } #line 38300 "preproc.c" break; case 159: /* AlterOptRoleElem: PASSWORD ecpg_sconst */ #line 2214 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("password"),(yyvsp[0].str)); } #line 38308 "preproc.c" break; case 160: /* AlterOptRoleElem: PASSWORD NULL_P */ #line 2218 "preproc.y" { (yyval.str) = mm_strdup("password null"); } #line 38316 "preproc.c" break; case 161: /* AlterOptRoleElem: ENCRYPTED PASSWORD ecpg_sconst */ #line 2222 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("encrypted password"),(yyvsp[0].str)); } #line 38324 "preproc.c" break; case 162: /* AlterOptRoleElem: UNENCRYPTED PASSWORD ecpg_sconst */ #line 2226 "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 38333 "preproc.c" break; case 163: /* AlterOptRoleElem: INHERIT */ #line 2231 "preproc.y" { (yyval.str) = mm_strdup("inherit"); } #line 38341 "preproc.c" break; case 164: /* AlterOptRoleElem: CONNECTION LIMIT SignedIconst */ #line 2235 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("connection limit"),(yyvsp[0].str)); } #line 38349 "preproc.c" break; case 165: /* AlterOptRoleElem: VALID UNTIL ecpg_sconst */ #line 2239 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("valid until"),(yyvsp[0].str)); } #line 38357 "preproc.c" break; case 166: /* AlterOptRoleElem: USER role_list */ #line 2243 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("user"),(yyvsp[0].str)); } #line 38365 "preproc.c" break; case 167: /* AlterOptRoleElem: ecpg_ident */ #line 2247 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38373 "preproc.c" break; case 168: /* CreateOptRoleElem: AlterOptRoleElem */ #line 2255 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38381 "preproc.c" break; case 169: /* CreateOptRoleElem: SYSID Iconst */ #line 2259 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("sysid"),(yyvsp[0].str)); } #line 38389 "preproc.c" break; case 170: /* CreateOptRoleElem: ADMIN role_list */ #line 2263 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("admin"),(yyvsp[0].str)); } #line 38397 "preproc.c" break; case 171: /* CreateOptRoleElem: ROLE role_list */ #line 2267 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("role"),(yyvsp[0].str)); } #line 38405 "preproc.c" break; case 172: /* CreateOptRoleElem: IN_P ROLE role_list */ #line 2271 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("in role"),(yyvsp[0].str)); } #line 38413 "preproc.c" break; case 173: /* CreateOptRoleElem: IN_P GROUP_P role_list */ #line 2275 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("in group"),(yyvsp[0].str)); } #line 38421 "preproc.c" break; case 174: /* CreateUserStmt: CREATE USER RoleId opt_with OptRoleList */ #line 2283 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create user"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38429 "preproc.c" break; case 175: /* AlterRoleStmt: ALTER ROLE RoleSpec opt_with AlterOptRoleList */ #line 2291 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter role"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38437 "preproc.c" break; case 176: /* AlterRoleStmt: ALTER USER RoleSpec opt_with AlterOptRoleList */ #line 2295 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter user"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38445 "preproc.c" break; case 177: /* opt_in_database: %empty */ #line 2303 "preproc.y" { (yyval.str)=EMPTY; } #line 38452 "preproc.c" break; case 178: /* opt_in_database: IN_P DATABASE name */ #line 2306 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("in database"),(yyvsp[0].str)); } #line 38460 "preproc.c" break; case 179: /* AlterRoleSetStmt: ALTER ROLE RoleSpec opt_in_database SetResetClause */ #line 2314 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter role"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38468 "preproc.c" break; case 180: /* AlterRoleSetStmt: ALTER ROLE ALL opt_in_database SetResetClause */ #line 2318 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter role all"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38476 "preproc.c" break; case 181: /* AlterRoleSetStmt: ALTER USER RoleSpec opt_in_database SetResetClause */ #line 2322 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter user"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38484 "preproc.c" break; case 182: /* AlterRoleSetStmt: ALTER USER ALL opt_in_database SetResetClause */ #line 2326 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter user all"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38492 "preproc.c" break; case 183: /* DropRoleStmt: DROP ROLE role_list */ #line 2334 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop role"),(yyvsp[0].str)); } #line 38500 "preproc.c" break; case 184: /* DropRoleStmt: DROP ROLE IF_P EXISTS role_list */ #line 2338 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop role if exists"),(yyvsp[0].str)); } #line 38508 "preproc.c" break; case 185: /* DropRoleStmt: DROP USER role_list */ #line 2342 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop user"),(yyvsp[0].str)); } #line 38516 "preproc.c" break; case 186: /* DropRoleStmt: DROP USER IF_P EXISTS role_list */ #line 2346 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop user if exists"),(yyvsp[0].str)); } #line 38524 "preproc.c" break; case 187: /* DropRoleStmt: DROP GROUP_P role_list */ #line 2350 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop group"),(yyvsp[0].str)); } #line 38532 "preproc.c" break; case 188: /* DropRoleStmt: DROP GROUP_P IF_P EXISTS role_list */ #line 2354 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop group if exists"),(yyvsp[0].str)); } #line 38540 "preproc.c" break; case 189: /* CreateGroupStmt: CREATE GROUP_P RoleId opt_with OptRoleList */ #line 2362 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create group"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38548 "preproc.c" break; case 190: /* AlterGroupStmt: ALTER GROUP_P RoleSpec add_drop USER role_list */ #line 2370 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter group"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("user"),(yyvsp[0].str)); } #line 38556 "preproc.c" break; case 191: /* add_drop: ADD_P */ #line 2378 "preproc.y" { (yyval.str) = mm_strdup("add"); } #line 38564 "preproc.c" break; case 192: /* add_drop: DROP */ #line 2382 "preproc.y" { (yyval.str) = mm_strdup("drop"); } #line 38572 "preproc.c" break; case 193: /* CreateSchemaStmt: CREATE SCHEMA OptSchemaName AUTHORIZATION RoleSpec OptSchemaEltList */ #line 2390 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create schema"),(yyvsp[-3].str),mm_strdup("authorization"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38580 "preproc.c" break; case 194: /* CreateSchemaStmt: CREATE SCHEMA ColId OptSchemaEltList */ #line 2394 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create schema"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38588 "preproc.c" break; case 195: /* CreateSchemaStmt: CREATE SCHEMA IF_P NOT EXISTS OptSchemaName AUTHORIZATION RoleSpec OptSchemaEltList */ #line 2398 "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 38596 "preproc.c" break; case 196: /* CreateSchemaStmt: CREATE SCHEMA IF_P NOT EXISTS ColId OptSchemaEltList */ #line 2402 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create schema if not exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38604 "preproc.c" break; case 197: /* OptSchemaName: ColId */ #line 2410 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38612 "preproc.c" break; case 198: /* OptSchemaName: %empty */ #line 2414 "preproc.y" { (yyval.str)=EMPTY; } #line 38619 "preproc.c" break; case 199: /* OptSchemaEltList: OptSchemaEltList schema_stmt */ #line 2421 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 38627 "preproc.c" break; case 200: /* OptSchemaEltList: %empty */ #line 2425 "preproc.y" { (yyval.str)=EMPTY; } #line 38634 "preproc.c" break; case 201: /* schema_stmt: CreateStmt */ #line 2432 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38642 "preproc.c" break; case 202: /* schema_stmt: IndexStmt */ #line 2436 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38650 "preproc.c" break; case 203: /* schema_stmt: CreateSeqStmt */ #line 2440 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38658 "preproc.c" break; case 204: /* schema_stmt: CreateTrigStmt */ #line 2444 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38666 "preproc.c" break; case 205: /* schema_stmt: GrantStmt */ #line 2448 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38674 "preproc.c" break; case 206: /* schema_stmt: ViewStmt */ #line 2452 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38682 "preproc.c" break; case 207: /* VariableSetStmt: SET set_rest */ #line 2460 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } #line 38690 "preproc.c" break; case 208: /* VariableSetStmt: SET LOCAL set_rest */ #line 2464 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set local"),(yyvsp[0].str)); } #line 38698 "preproc.c" break; case 209: /* VariableSetStmt: SET SESSION set_rest */ #line 2468 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set session"),(yyvsp[0].str)); } #line 38706 "preproc.c" break; case 210: /* set_rest: TRANSACTION transaction_mode_list */ #line 2476 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("transaction"),(yyvsp[0].str)); } #line 38714 "preproc.c" break; case 211: /* set_rest: SESSION CHARACTERISTICS AS TRANSACTION transaction_mode_list */ #line 2480 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("session characteristics as transaction"),(yyvsp[0].str)); } #line 38722 "preproc.c" break; case 212: /* set_rest: set_rest_more */ #line 2484 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38730 "preproc.c" break; case 213: /* generic_set: var_name TO var_list */ #line 2492 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 38738 "preproc.c" break; case 214: /* generic_set: var_name '=' var_list */ #line 2496 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 38746 "preproc.c" break; case 215: /* generic_set: var_name TO DEFAULT */ #line 2500 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("to default")); } #line 38754 "preproc.c" break; case 216: /* generic_set: var_name '=' DEFAULT */ #line 2504 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("= default")); } #line 38762 "preproc.c" break; case 217: /* set_rest_more: generic_set */ #line 2512 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38770 "preproc.c" break; case 218: /* set_rest_more: var_name FROM CURRENT_P */ #line 2516 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("from current")); } #line 38778 "preproc.c" break; case 219: /* set_rest_more: TIME ZONE zone_value */ #line 2520 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("time zone"),(yyvsp[0].str)); } #line 38786 "preproc.c" break; case 220: /* set_rest_more: CATALOG_P ecpg_sconst */ #line 2524 "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 38795 "preproc.c" break; case 221: /* set_rest_more: SCHEMA ecpg_sconst */ #line 2529 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("schema"),(yyvsp[0].str)); } #line 38803 "preproc.c" break; case 222: /* set_rest_more: NAMES opt_encoding */ #line 2533 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("names"),(yyvsp[0].str)); } #line 38811 "preproc.c" break; case 223: /* set_rest_more: ROLE NonReservedWord_or_Sconst */ #line 2537 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("role"),(yyvsp[0].str)); } #line 38819 "preproc.c" break; case 224: /* set_rest_more: SESSION AUTHORIZATION NonReservedWord_or_Sconst */ #line 2541 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("session authorization"),(yyvsp[0].str)); } #line 38827 "preproc.c" break; case 225: /* set_rest_more: SESSION AUTHORIZATION DEFAULT */ #line 2545 "preproc.y" { (yyval.str) = mm_strdup("session authorization default"); } #line 38835 "preproc.c" break; case 226: /* set_rest_more: XML_P OPTION document_or_content */ #line 2549 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("xml option"),(yyvsp[0].str)); } #line 38843 "preproc.c" break; case 227: /* set_rest_more: TRANSACTION SNAPSHOT ecpg_sconst */ #line 2553 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("transaction snapshot"),(yyvsp[0].str)); } #line 38851 "preproc.c" break; case 228: /* var_name: ECPGColId */ #line 2561 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38859 "preproc.c" break; case 229: /* var_name: var_name '.' ColId */ #line 2565 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("."),(yyvsp[0].str)); } #line 38867 "preproc.c" break; case 230: /* var_list: var_value */ #line 2573 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38875 "preproc.c" break; case 231: /* var_list: var_list ',' var_value */ #line 2577 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 38883 "preproc.c" break; case 232: /* var_value: opt_boolean_or_string */ #line 2585 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38891 "preproc.c" break; case 233: /* var_value: NumericOnly */ #line 2589 "preproc.y" { if ((yyvsp[0].str)[0] == '$') { free((yyvsp[0].str)); (yyvsp[0].str) = mm_strdup("$0"); } (yyval.str) = (yyvsp[0].str); } #line 38905 "preproc.c" break; case 234: /* iso_level: READ UNCOMMITTED */ #line 2603 "preproc.y" { (yyval.str) = mm_strdup("read uncommitted"); } #line 38913 "preproc.c" break; case 235: /* iso_level: READ COMMITTED */ #line 2607 "preproc.y" { (yyval.str) = mm_strdup("read committed"); } #line 38921 "preproc.c" break; case 236: /* iso_level: REPEATABLE READ */ #line 2611 "preproc.y" { (yyval.str) = mm_strdup("repeatable read"); } #line 38929 "preproc.c" break; case 237: /* iso_level: SERIALIZABLE */ #line 2615 "preproc.y" { (yyval.str) = mm_strdup("serializable"); } #line 38937 "preproc.c" break; case 238: /* opt_boolean_or_string: TRUE_P */ #line 2623 "preproc.y" { (yyval.str) = mm_strdup("true"); } #line 38945 "preproc.c" break; case 239: /* opt_boolean_or_string: FALSE_P */ #line 2627 "preproc.y" { (yyval.str) = mm_strdup("false"); } #line 38953 "preproc.c" break; case 240: /* opt_boolean_or_string: ON */ #line 2631 "preproc.y" { (yyval.str) = mm_strdup("on"); } #line 38961 "preproc.c" break; case 241: /* opt_boolean_or_string: NonReservedWord_or_Sconst */ #line 2635 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38969 "preproc.c" break; case 242: /* zone_value: ecpg_sconst */ #line 2643 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38977 "preproc.c" break; case 243: /* zone_value: ecpg_ident */ #line 2647 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38985 "preproc.c" break; case 244: /* zone_value: ConstInterval ecpg_sconst opt_interval */ #line 2651 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38993 "preproc.c" break; case 245: /* zone_value: ConstInterval '(' Iconst ')' ecpg_sconst */ #line 2655 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 39001 "preproc.c" break; case 246: /* zone_value: NumericOnly */ #line 2659 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39009 "preproc.c" break; case 247: /* zone_value: DEFAULT */ #line 2663 "preproc.y" { (yyval.str) = mm_strdup("default"); } #line 39017 "preproc.c" break; case 248: /* zone_value: LOCAL */ #line 2667 "preproc.y" { (yyval.str) = mm_strdup("local"); } #line 39025 "preproc.c" break; case 249: /* opt_encoding: ecpg_sconst */ #line 2675 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39033 "preproc.c" break; case 250: /* opt_encoding: DEFAULT */ #line 2679 "preproc.y" { (yyval.str) = mm_strdup("default"); } #line 39041 "preproc.c" break; case 251: /* opt_encoding: %empty */ #line 2683 "preproc.y" { (yyval.str)=EMPTY; } #line 39048 "preproc.c" break; case 252: /* NonReservedWord_or_Sconst: NonReservedWord */ #line 2690 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39056 "preproc.c" break; case 253: /* NonReservedWord_or_Sconst: ecpg_sconst */ #line 2694 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39064 "preproc.c" break; case 254: /* VariableResetStmt: RESET reset_rest */ #line 2702 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("reset"),(yyvsp[0].str)); } #line 39072 "preproc.c" break; case 255: /* reset_rest: generic_reset */ #line 2710 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39080 "preproc.c" break; case 256: /* reset_rest: TIME ZONE */ #line 2714 "preproc.y" { (yyval.str) = mm_strdup("time zone"); } #line 39088 "preproc.c" break; case 257: /* reset_rest: TRANSACTION ISOLATION LEVEL */ #line 2718 "preproc.y" { (yyval.str) = mm_strdup("transaction isolation level"); } #line 39096 "preproc.c" break; case 258: /* reset_rest: SESSION AUTHORIZATION */ #line 2722 "preproc.y" { (yyval.str) = mm_strdup("session authorization"); } #line 39104 "preproc.c" break; case 259: /* generic_reset: var_name */ #line 2730 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39112 "preproc.c" break; case 260: /* generic_reset: ALL */ #line 2734 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 39120 "preproc.c" break; case 261: /* SetResetClause: SET set_rest */ #line 2742 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } #line 39128 "preproc.c" break; case 262: /* SetResetClause: VariableResetStmt */ #line 2746 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39136 "preproc.c" break; case 263: /* FunctionSetResetClause: SET set_rest_more */ #line 2754 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } #line 39144 "preproc.c" break; case 264: /* FunctionSetResetClause: VariableResetStmt */ #line 2758 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39152 "preproc.c" break; case 265: /* VariableShowStmt: SHOW var_name ecpg_into */ #line 2766 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("show"),(yyvsp[-1].str)); } #line 39160 "preproc.c" break; case 266: /* VariableShowStmt: SHOW TIME ZONE ecpg_into */ #line 2770 "preproc.y" { (yyval.str) = mm_strdup("show time zone"); } #line 39168 "preproc.c" break; case 267: /* VariableShowStmt: SHOW TRANSACTION ISOLATION LEVEL ecpg_into */ #line 2774 "preproc.y" { (yyval.str) = mm_strdup("show transaction isolation level"); } #line 39176 "preproc.c" break; case 268: /* VariableShowStmt: SHOW SESSION AUTHORIZATION ecpg_into */ #line 2778 "preproc.y" { (yyval.str) = mm_strdup("show session authorization"); } #line 39184 "preproc.c" break; case 269: /* VariableShowStmt: SHOW ALL */ #line 2782 "preproc.y" { mmerror(PARSE_ERROR, ET_ERROR, "SHOW ALL is not implemented"); (yyval.str) = EMPTY; } #line 39193 "preproc.c" break; case 270: /* ConstraintsSetStmt: SET CONSTRAINTS constraints_set_list constraints_set_mode */ #line 2791 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("set constraints"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39201 "preproc.c" break; case 271: /* constraints_set_list: ALL */ #line 2799 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 39209 "preproc.c" break; case 272: /* constraints_set_list: qualified_name_list */ #line 2803 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39217 "preproc.c" break; case 273: /* constraints_set_mode: DEFERRED */ #line 2811 "preproc.y" { (yyval.str) = mm_strdup("deferred"); } #line 39225 "preproc.c" break; case 274: /* constraints_set_mode: IMMEDIATE */ #line 2815 "preproc.y" { (yyval.str) = mm_strdup("immediate"); } #line 39233 "preproc.c" break; case 275: /* CheckPointStmt: CHECKPOINT */ #line 2823 "preproc.y" { (yyval.str) = mm_strdup("checkpoint"); } #line 39241 "preproc.c" break; case 276: /* DiscardStmt: DISCARD ALL */ #line 2831 "preproc.y" { (yyval.str) = mm_strdup("discard all"); } #line 39249 "preproc.c" break; case 277: /* DiscardStmt: DISCARD TEMP */ #line 2835 "preproc.y" { (yyval.str) = mm_strdup("discard temp"); } #line 39257 "preproc.c" break; case 278: /* DiscardStmt: DISCARD TEMPORARY */ #line 2839 "preproc.y" { (yyval.str) = mm_strdup("discard temporary"); } #line 39265 "preproc.c" break; case 279: /* DiscardStmt: DISCARD PLANS */ #line 2843 "preproc.y" { (yyval.str) = mm_strdup("discard plans"); } #line 39273 "preproc.c" break; case 280: /* DiscardStmt: DISCARD SEQUENCES */ #line 2847 "preproc.y" { (yyval.str) = mm_strdup("discard sequences"); } #line 39281 "preproc.c" break; case 281: /* AlterTableStmt: ALTER TABLE relation_expr alter_table_cmds */ #line 2855 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter table"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39289 "preproc.c" break; case 282: /* AlterTableStmt: ALTER TABLE IF_P EXISTS relation_expr alter_table_cmds */ #line 2859 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter table if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39297 "preproc.c" break; case 283: /* AlterTableStmt: ALTER TABLE relation_expr partition_cmd */ #line 2863 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter table"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39305 "preproc.c" break; case 284: /* AlterTableStmt: ALTER TABLE IF_P EXISTS relation_expr partition_cmd */ #line 2867 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter table if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39313 "preproc.c" break; case 285: /* AlterTableStmt: ALTER TABLE ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait */ #line 2871 "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 39321 "preproc.c" break; case 286: /* AlterTableStmt: ALTER TABLE ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait */ #line 2875 "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 39329 "preproc.c" break; case 287: /* AlterTableStmt: ALTER INDEX qualified_name alter_table_cmds */ #line 2879 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter index"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39337 "preproc.c" break; case 288: /* AlterTableStmt: ALTER INDEX IF_P EXISTS qualified_name alter_table_cmds */ #line 2883 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter index if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39345 "preproc.c" break; case 289: /* AlterTableStmt: ALTER INDEX qualified_name index_partition_cmd */ #line 2887 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter index"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39353 "preproc.c" break; case 290: /* AlterTableStmt: ALTER INDEX ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait */ #line 2891 "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 39361 "preproc.c" break; case 291: /* AlterTableStmt: ALTER INDEX ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait */ #line 2895 "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 39369 "preproc.c" break; case 292: /* AlterTableStmt: ALTER SEQUENCE qualified_name alter_table_cmds */ #line 2899 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter sequence"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39377 "preproc.c" break; case 293: /* AlterTableStmt: ALTER SEQUENCE IF_P EXISTS qualified_name alter_table_cmds */ #line 2903 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter sequence if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39385 "preproc.c" break; case 294: /* AlterTableStmt: ALTER VIEW qualified_name alter_table_cmds */ #line 2907 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter view"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39393 "preproc.c" break; case 295: /* AlterTableStmt: ALTER VIEW IF_P EXISTS qualified_name alter_table_cmds */ #line 2911 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter view if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39401 "preproc.c" break; case 296: /* AlterTableStmt: ALTER MATERIALIZED VIEW qualified_name alter_table_cmds */ #line 2915 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter materialized view"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39409 "preproc.c" break; case 297: /* AlterTableStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name alter_table_cmds */ #line 2919 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter materialized view if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39417 "preproc.c" break; case 298: /* AlterTableStmt: ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait */ #line 2923 "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 39425 "preproc.c" break; case 299: /* AlterTableStmt: ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait */ #line 2927 "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 39433 "preproc.c" break; case 300: /* AlterTableStmt: ALTER FOREIGN TABLE relation_expr alter_table_cmds */ #line 2931 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter foreign table"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39441 "preproc.c" break; case 301: /* AlterTableStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr alter_table_cmds */ #line 2935 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter foreign table if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39449 "preproc.c" break; case 302: /* alter_table_cmds: alter_table_cmd */ #line 2943 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39457 "preproc.c" break; case 303: /* alter_table_cmds: alter_table_cmds ',' alter_table_cmd */ #line 2947 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 39465 "preproc.c" break; case 304: /* partition_cmd: ATTACH PARTITION qualified_name PartitionBoundSpec */ #line 2955 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("attach partition"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39473 "preproc.c" break; case 305: /* partition_cmd: DETACH PARTITION qualified_name opt_concurrently */ #line 2959 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("detach partition"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39481 "preproc.c" break; case 306: /* partition_cmd: DETACH PARTITION qualified_name FINALIZE */ #line 2963 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("detach partition"),(yyvsp[-1].str),mm_strdup("finalize")); } #line 39489 "preproc.c" break; case 307: /* index_partition_cmd: ATTACH PARTITION qualified_name */ #line 2971 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("attach partition"),(yyvsp[0].str)); } #line 39497 "preproc.c" break; case 308: /* alter_table_cmd: ADD_P columnDef */ #line 2979 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add"),(yyvsp[0].str)); } #line 39505 "preproc.c" break; case 309: /* alter_table_cmd: ADD_P IF_P NOT EXISTS columnDef */ #line 2983 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add if not exists"),(yyvsp[0].str)); } #line 39513 "preproc.c" break; case 310: /* alter_table_cmd: ADD_P COLUMN columnDef */ #line 2987 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add column"),(yyvsp[0].str)); } #line 39521 "preproc.c" break; case 311: /* alter_table_cmd: ADD_P COLUMN IF_P NOT EXISTS columnDef */ #line 2991 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add column if not exists"),(yyvsp[0].str)); } #line 39529 "preproc.c" break; case 312: /* alter_table_cmd: ALTER opt_column ColId alter_column_default */ #line 2995 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39537 "preproc.c" break; case 313: /* alter_table_cmd: ALTER opt_column ColId DROP NOT NULL_P */ #line 2999 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("drop not null")); } #line 39545 "preproc.c" break; case 314: /* alter_table_cmd: ALTER opt_column ColId SET NOT NULL_P */ #line 3003 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("set not null")); } #line 39553 "preproc.c" break; case 315: /* alter_table_cmd: ALTER opt_column ColId DROP EXPRESSION */ #line 3007 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("drop expression")); } #line 39561 "preproc.c" break; case 316: /* alter_table_cmd: ALTER opt_column ColId DROP EXPRESSION IF_P EXISTS */ #line 3011 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("drop expression if exists")); } #line 39569 "preproc.c" break; case 317: /* alter_table_cmd: ALTER opt_column ColId SET STATISTICS SignedIconst */ #line 3015 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("set statistics"),(yyvsp[0].str)); } #line 39577 "preproc.c" break; case 318: /* alter_table_cmd: ALTER opt_column Iconst SET STATISTICS SignedIconst */ #line 3019 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("set statistics"),(yyvsp[0].str)); } #line 39585 "preproc.c" break; case 319: /* alter_table_cmd: ALTER opt_column ColId SET reloptions */ #line 3023 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 39593 "preproc.c" break; case 320: /* alter_table_cmd: ALTER opt_column ColId RESET reloptions */ #line 3027 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("reset"),(yyvsp[0].str)); } #line 39601 "preproc.c" break; case 321: /* alter_table_cmd: ALTER opt_column ColId SET STORAGE ColId */ #line 3031 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("set storage"),(yyvsp[0].str)); } #line 39609 "preproc.c" break; case 322: /* alter_table_cmd: ALTER opt_column ColId SET column_compression */ #line 3035 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 39617 "preproc.c" break; case 323: /* alter_table_cmd: ALTER opt_column ColId ADD_P GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList */ #line 3039 "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 39625 "preproc.c" break; case 324: /* alter_table_cmd: ALTER opt_column ColId alter_identity_column_option_list */ #line 3043 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39633 "preproc.c" break; case 325: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P */ #line 3047 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("drop identity")); } #line 39641 "preproc.c" break; case 326: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P IF_P EXISTS */ #line 3051 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("drop identity if exists")); } #line 39649 "preproc.c" break; case 327: /* alter_table_cmd: DROP opt_column IF_P EXISTS ColId opt_drop_behavior */ #line 3055 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop"),(yyvsp[-4].str),mm_strdup("if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39657 "preproc.c" break; case 328: /* alter_table_cmd: DROP opt_column ColId opt_drop_behavior */ #line 3059 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("drop"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39665 "preproc.c" break; case 329: /* alter_table_cmd: ALTER opt_column ColId opt_set_data TYPE_P Typename opt_collate_clause alter_using */ #line 3063 "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 39673 "preproc.c" break; case 330: /* alter_table_cmd: ALTER opt_column ColId alter_generic_options */ #line 3067 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39681 "preproc.c" break; case 331: /* alter_table_cmd: ADD_P TableConstraint */ #line 3071 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add"),(yyvsp[0].str)); } #line 39689 "preproc.c" break; case 332: /* alter_table_cmd: ALTER CONSTRAINT name ConstraintAttributeSpec */ #line 3075 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter constraint"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39697 "preproc.c" break; case 333: /* alter_table_cmd: VALIDATE CONSTRAINT name */ #line 3079 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("validate constraint"),(yyvsp[0].str)); } #line 39705 "preproc.c" break; case 334: /* alter_table_cmd: DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior */ #line 3083 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop constraint if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39713 "preproc.c" break; case 335: /* alter_table_cmd: DROP CONSTRAINT name opt_drop_behavior */ #line 3087 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop constraint"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39721 "preproc.c" break; case 336: /* alter_table_cmd: SET WITHOUT OIDS */ #line 3091 "preproc.y" { (yyval.str) = mm_strdup("set without oids"); } #line 39729 "preproc.c" break; case 337: /* alter_table_cmd: CLUSTER ON name */ #line 3095 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("cluster on"),(yyvsp[0].str)); } #line 39737 "preproc.c" break; case 338: /* alter_table_cmd: SET WITHOUT CLUSTER */ #line 3099 "preproc.y" { (yyval.str) = mm_strdup("set without cluster"); } #line 39745 "preproc.c" break; case 339: /* alter_table_cmd: SET LOGGED */ #line 3103 "preproc.y" { (yyval.str) = mm_strdup("set logged"); } #line 39753 "preproc.c" break; case 340: /* alter_table_cmd: SET UNLOGGED */ #line 3107 "preproc.y" { (yyval.str) = mm_strdup("set unlogged"); } #line 39761 "preproc.c" break; case 341: /* alter_table_cmd: ENABLE_P TRIGGER name */ #line 3111 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable trigger"),(yyvsp[0].str)); } #line 39769 "preproc.c" break; case 342: /* alter_table_cmd: ENABLE_P ALWAYS TRIGGER name */ #line 3115 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable always trigger"),(yyvsp[0].str)); } #line 39777 "preproc.c" break; case 343: /* alter_table_cmd: ENABLE_P REPLICA TRIGGER name */ #line 3119 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable replica trigger"),(yyvsp[0].str)); } #line 39785 "preproc.c" break; case 344: /* alter_table_cmd: ENABLE_P TRIGGER ALL */ #line 3123 "preproc.y" { (yyval.str) = mm_strdup("enable trigger all"); } #line 39793 "preproc.c" break; case 345: /* alter_table_cmd: ENABLE_P TRIGGER USER */ #line 3127 "preproc.y" { (yyval.str) = mm_strdup("enable trigger user"); } #line 39801 "preproc.c" break; case 346: /* alter_table_cmd: DISABLE_P TRIGGER name */ #line 3131 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("disable trigger"),(yyvsp[0].str)); } #line 39809 "preproc.c" break; case 347: /* alter_table_cmd: DISABLE_P TRIGGER ALL */ #line 3135 "preproc.y" { (yyval.str) = mm_strdup("disable trigger all"); } #line 39817 "preproc.c" break; case 348: /* alter_table_cmd: DISABLE_P TRIGGER USER */ #line 3139 "preproc.y" { (yyval.str) = mm_strdup("disable trigger user"); } #line 39825 "preproc.c" break; case 349: /* alter_table_cmd: ENABLE_P RULE name */ #line 3143 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable rule"),(yyvsp[0].str)); } #line 39833 "preproc.c" break; case 350: /* alter_table_cmd: ENABLE_P ALWAYS RULE name */ #line 3147 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable always rule"),(yyvsp[0].str)); } #line 39841 "preproc.c" break; case 351: /* alter_table_cmd: ENABLE_P REPLICA RULE name */ #line 3151 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable replica rule"),(yyvsp[0].str)); } #line 39849 "preproc.c" break; case 352: /* alter_table_cmd: DISABLE_P RULE name */ #line 3155 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("disable rule"),(yyvsp[0].str)); } #line 39857 "preproc.c" break; case 353: /* alter_table_cmd: INHERIT qualified_name */ #line 3159 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("inherit"),(yyvsp[0].str)); } #line 39865 "preproc.c" break; case 354: /* alter_table_cmd: NO INHERIT qualified_name */ #line 3163 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("no inherit"),(yyvsp[0].str)); } #line 39873 "preproc.c" break; case 355: /* alter_table_cmd: OF any_name */ #line 3167 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("of"),(yyvsp[0].str)); } #line 39881 "preproc.c" break; case 356: /* alter_table_cmd: NOT OF */ #line 3171 "preproc.y" { (yyval.str) = mm_strdup("not of"); } #line 39889 "preproc.c" break; case 357: /* alter_table_cmd: OWNER TO RoleSpec */ #line 3175 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("owner to"),(yyvsp[0].str)); } #line 39897 "preproc.c" break; case 358: /* alter_table_cmd: SET ACCESS METHOD name */ #line 3179 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set access method"),(yyvsp[0].str)); } #line 39905 "preproc.c" break; case 359: /* alter_table_cmd: SET TABLESPACE name */ #line 3183 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set tablespace"),(yyvsp[0].str)); } #line 39913 "preproc.c" break; case 360: /* alter_table_cmd: SET reloptions */ #line 3187 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } #line 39921 "preproc.c" break; case 361: /* alter_table_cmd: RESET reloptions */ #line 3191 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("reset"),(yyvsp[0].str)); } #line 39929 "preproc.c" break; case 362: /* alter_table_cmd: REPLICA IDENTITY_P replica_identity */ #line 3195 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("replica identity"),(yyvsp[0].str)); } #line 39937 "preproc.c" break; case 363: /* alter_table_cmd: ENABLE_P ROW LEVEL SECURITY */ #line 3199 "preproc.y" { (yyval.str) = mm_strdup("enable row level security"); } #line 39945 "preproc.c" break; case 364: /* alter_table_cmd: DISABLE_P ROW LEVEL SECURITY */ #line 3203 "preproc.y" { (yyval.str) = mm_strdup("disable row level security"); } #line 39953 "preproc.c" break; case 365: /* alter_table_cmd: FORCE ROW LEVEL SECURITY */ #line 3207 "preproc.y" { (yyval.str) = mm_strdup("force row level security"); } #line 39961 "preproc.c" break; case 366: /* alter_table_cmd: NO FORCE ROW LEVEL SECURITY */ #line 3211 "preproc.y" { (yyval.str) = mm_strdup("no force row level security"); } #line 39969 "preproc.c" break; case 367: /* alter_table_cmd: alter_generic_options */ #line 3215 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39977 "preproc.c" break; case 368: /* alter_column_default: SET DEFAULT a_expr */ #line 3223 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set default"),(yyvsp[0].str)); } #line 39985 "preproc.c" break; case 369: /* alter_column_default: DROP DEFAULT */ #line 3227 "preproc.y" { (yyval.str) = mm_strdup("drop default"); } #line 39993 "preproc.c" break; case 370: /* opt_drop_behavior: CASCADE */ #line 3235 "preproc.y" { (yyval.str) = mm_strdup("cascade"); } #line 40001 "preproc.c" break; case 371: /* opt_drop_behavior: RESTRICT */ #line 3239 "preproc.y" { (yyval.str) = mm_strdup("restrict"); } #line 40009 "preproc.c" break; case 372: /* opt_drop_behavior: %empty */ #line 3243 "preproc.y" { (yyval.str)=EMPTY; } #line 40016 "preproc.c" break; case 373: /* opt_collate_clause: COLLATE any_name */ #line 3250 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("collate"),(yyvsp[0].str)); } #line 40024 "preproc.c" break; case 374: /* opt_collate_clause: %empty */ #line 3254 "preproc.y" { (yyval.str)=EMPTY; } #line 40031 "preproc.c" break; case 375: /* alter_using: USING a_expr */ #line 3261 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using"),(yyvsp[0].str)); } #line 40039 "preproc.c" break; case 376: /* alter_using: %empty */ #line 3265 "preproc.y" { (yyval.str)=EMPTY; } #line 40046 "preproc.c" break; case 377: /* replica_identity: NOTHING */ #line 3272 "preproc.y" { (yyval.str) = mm_strdup("nothing"); } #line 40054 "preproc.c" break; case 378: /* replica_identity: FULL */ #line 3276 "preproc.y" { (yyval.str) = mm_strdup("full"); } #line 40062 "preproc.c" break; case 379: /* replica_identity: DEFAULT */ #line 3280 "preproc.y" { (yyval.str) = mm_strdup("default"); } #line 40070 "preproc.c" break; case 380: /* replica_identity: USING INDEX name */ #line 3284 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using index"),(yyvsp[0].str)); } #line 40078 "preproc.c" break; case 381: /* reloptions: '(' reloption_list ')' */ #line 3292 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 40086 "preproc.c" break; case 382: /* opt_reloptions: WITH reloptions */ #line 3300 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with"),(yyvsp[0].str)); } #line 40094 "preproc.c" break; case 383: /* opt_reloptions: %empty */ #line 3304 "preproc.y" { (yyval.str)=EMPTY; } #line 40101 "preproc.c" break; case 384: /* reloption_list: reloption_elem */ #line 3311 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40109 "preproc.c" break; case 385: /* reloption_list: reloption_list ',' reloption_elem */ #line 3315 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 40117 "preproc.c" break; case 386: /* reloption_elem: ColLabel '=' def_arg */ #line 3323 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 40125 "preproc.c" break; case 387: /* reloption_elem: ColLabel */ #line 3327 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40133 "preproc.c" break; case 388: /* reloption_elem: ColLabel '.' ColLabel '=' def_arg */ #line 3331 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("."),(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 40141 "preproc.c" break; case 389: /* reloption_elem: ColLabel '.' ColLabel */ #line 3335 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("."),(yyvsp[0].str)); } #line 40149 "preproc.c" break; case 390: /* alter_identity_column_option_list: alter_identity_column_option */ #line 3343 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40157 "preproc.c" break; case 391: /* alter_identity_column_option_list: alter_identity_column_option_list alter_identity_column_option */ #line 3347 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 40165 "preproc.c" break; case 392: /* alter_identity_column_option: RESTART */ #line 3355 "preproc.y" { (yyval.str) = mm_strdup("restart"); } #line 40173 "preproc.c" break; case 393: /* alter_identity_column_option: RESTART opt_with NumericOnly */ #line 3359 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("restart"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40181 "preproc.c" break; case 394: /* alter_identity_column_option: SET SeqOptElem */ #line 3363 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } #line 40189 "preproc.c" break; case 395: /* alter_identity_column_option: SET GENERATED generated_when */ #line 3367 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set generated"),(yyvsp[0].str)); } #line 40197 "preproc.c" break; case 396: /* PartitionBoundSpec: FOR VALUES WITH '(' hash_partbound ')' */ #line 3375 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("for values with ("),(yyvsp[-1].str),mm_strdup(")")); } #line 40205 "preproc.c" break; case 397: /* PartitionBoundSpec: FOR VALUES IN_P '(' expr_list ')' */ #line 3379 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("for values in ("),(yyvsp[-1].str),mm_strdup(")")); } #line 40213 "preproc.c" break; case 398: /* PartitionBoundSpec: FOR VALUES FROM '(' expr_list ')' TO '(' expr_list ')' */ #line 3383 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("for values from ("),(yyvsp[-5].str),mm_strdup(") to ("),(yyvsp[-1].str),mm_strdup(")")); } #line 40221 "preproc.c" break; case 399: /* PartitionBoundSpec: DEFAULT */ #line 3387 "preproc.y" { (yyval.str) = mm_strdup("default"); } #line 40229 "preproc.c" break; case 400: /* hash_partbound_elem: NonReservedWord Iconst */ #line 3395 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 40237 "preproc.c" break; case 401: /* hash_partbound: hash_partbound_elem */ #line 3403 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40245 "preproc.c" break; case 402: /* hash_partbound: hash_partbound ',' hash_partbound_elem */ #line 3407 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 40253 "preproc.c" break; case 403: /* AlterCompositeTypeStmt: ALTER TYPE_P any_name alter_type_cmds */ #line 3415 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter type"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40261 "preproc.c" break; case 404: /* alter_type_cmds: alter_type_cmd */ #line 3423 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40269 "preproc.c" break; case 405: /* alter_type_cmds: alter_type_cmds ',' alter_type_cmd */ #line 3427 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 40277 "preproc.c" break; case 406: /* alter_type_cmd: ADD_P ATTRIBUTE TableFuncElement opt_drop_behavior */ #line 3435 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("add attribute"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40285 "preproc.c" break; case 407: /* alter_type_cmd: DROP ATTRIBUTE IF_P EXISTS ColId opt_drop_behavior */ #line 3439 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop attribute if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40293 "preproc.c" break; case 408: /* alter_type_cmd: DROP ATTRIBUTE ColId opt_drop_behavior */ #line 3443 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop attribute"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40301 "preproc.c" break; case 409: /* alter_type_cmd: ALTER ATTRIBUTE ColId opt_set_data TYPE_P Typename opt_collate_clause opt_drop_behavior */ #line 3447 "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 40309 "preproc.c" break; case 410: /* ClosePortalStmt: CLOSE cursor_name */ #line 3455 "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 40329 "preproc.c" break; case 411: /* ClosePortalStmt: CLOSE ALL */ #line 3471 "preproc.y" { (yyval.str) = mm_strdup("close all"); } #line 40337 "preproc.c" break; case 412: /* 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 3479 "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 40349 "preproc.c" break; case 413: /* CopyStmt: COPY '(' PreparableStmt ')' TO opt_program copy_file_name opt_with copy_options */ #line 3487 "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 40357 "preproc.c" break; case 414: /* copy_from: FROM */ #line 3495 "preproc.y" { (yyval.str) = mm_strdup("from"); } #line 40365 "preproc.c" break; case 415: /* copy_from: TO */ #line 3499 "preproc.y" { (yyval.str) = mm_strdup("to"); } #line 40373 "preproc.c" break; case 416: /* opt_program: PROGRAM */ #line 3507 "preproc.y" { (yyval.str) = mm_strdup("program"); } #line 40381 "preproc.c" break; case 417: /* opt_program: %empty */ #line 3511 "preproc.y" { (yyval.str)=EMPTY; } #line 40388 "preproc.c" break; case 418: /* copy_file_name: ecpg_sconst */ #line 3518 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40396 "preproc.c" break; case 419: /* copy_file_name: STDIN */ #line 3522 "preproc.y" { (yyval.str) = mm_strdup("stdin"); } #line 40404 "preproc.c" break; case 420: /* copy_file_name: STDOUT */ #line 3526 "preproc.y" { (yyval.str) = mm_strdup("stdout"); } #line 40412 "preproc.c" break; case 421: /* copy_options: copy_opt_list */ #line 3534 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40420 "preproc.c" break; case 422: /* copy_options: '(' copy_generic_opt_list ')' */ #line 3538 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 40428 "preproc.c" break; case 423: /* copy_opt_list: copy_opt_list copy_opt_item */ #line 3546 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 40436 "preproc.c" break; case 424: /* copy_opt_list: %empty */ #line 3550 "preproc.y" { (yyval.str)=EMPTY; } #line 40443 "preproc.c" break; case 425: /* copy_opt_item: BINARY */ #line 3557 "preproc.y" { (yyval.str) = mm_strdup("binary"); } #line 40451 "preproc.c" break; case 426: /* copy_opt_item: FREEZE */ #line 3561 "preproc.y" { (yyval.str) = mm_strdup("freeze"); } #line 40459 "preproc.c" break; case 427: /* copy_opt_item: DELIMITER opt_as ecpg_sconst */ #line 3565 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("delimiter"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40467 "preproc.c" break; case 428: /* copy_opt_item: NULL_P opt_as ecpg_sconst */ #line 3569 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("null"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40475 "preproc.c" break; case 429: /* copy_opt_item: CSV */ #line 3573 "preproc.y" { (yyval.str) = mm_strdup("csv"); } #line 40483 "preproc.c" break; case 430: /* copy_opt_item: HEADER_P */ #line 3577 "preproc.y" { (yyval.str) = mm_strdup("header"); } #line 40491 "preproc.c" break; case 431: /* copy_opt_item: QUOTE opt_as ecpg_sconst */ #line 3581 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("quote"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40499 "preproc.c" break; case 432: /* copy_opt_item: ESCAPE opt_as ecpg_sconst */ #line 3585 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("escape"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40507 "preproc.c" break; case 433: /* copy_opt_item: FORCE QUOTE columnList */ #line 3589 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("force quote"),(yyvsp[0].str)); } #line 40515 "preproc.c" break; case 434: /* copy_opt_item: FORCE QUOTE '*' */ #line 3593 "preproc.y" { (yyval.str) = mm_strdup("force quote *"); } #line 40523 "preproc.c" break; case 435: /* copy_opt_item: FORCE NOT NULL_P columnList */ #line 3597 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("force not null"),(yyvsp[0].str)); } #line 40531 "preproc.c" break; case 436: /* copy_opt_item: FORCE NULL_P columnList */ #line 3601 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("force null"),(yyvsp[0].str)); } #line 40539 "preproc.c" break; case 437: /* copy_opt_item: ENCODING ecpg_sconst */ #line 3605 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("encoding"),(yyvsp[0].str)); } #line 40547 "preproc.c" break; case 438: /* opt_binary: BINARY */ #line 3613 "preproc.y" { (yyval.str) = mm_strdup("binary"); } #line 40555 "preproc.c" break; case 439: /* opt_binary: %empty */ #line 3617 "preproc.y" { (yyval.str)=EMPTY; } #line 40562 "preproc.c" break; case 440: /* copy_delimiter: opt_using DELIMITERS ecpg_sconst */ #line 3624 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("delimiters"),(yyvsp[0].str)); } #line 40570 "preproc.c" break; case 441: /* copy_delimiter: %empty */ #line 3628 "preproc.y" { (yyval.str)=EMPTY; } #line 40577 "preproc.c" break; case 442: /* opt_using: USING */ #line 3635 "preproc.y" { (yyval.str) = mm_strdup("using"); } #line 40585 "preproc.c" break; case 443: /* opt_using: %empty */ #line 3639 "preproc.y" { (yyval.str)=EMPTY; } #line 40592 "preproc.c" break; case 444: /* copy_generic_opt_list: copy_generic_opt_elem */ #line 3646 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40600 "preproc.c" break; case 445: /* copy_generic_opt_list: copy_generic_opt_list ',' copy_generic_opt_elem */ #line 3650 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 40608 "preproc.c" break; case 446: /* copy_generic_opt_elem: ColLabel copy_generic_opt_arg */ #line 3658 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 40616 "preproc.c" break; case 447: /* copy_generic_opt_arg: opt_boolean_or_string */ #line 3666 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40624 "preproc.c" break; case 448: /* copy_generic_opt_arg: NumericOnly */ #line 3670 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40632 "preproc.c" break; case 449: /* copy_generic_opt_arg: '*' */ #line 3674 "preproc.y" { (yyval.str) = mm_strdup("*"); } #line 40640 "preproc.c" break; case 450: /* copy_generic_opt_arg: '(' copy_generic_opt_arg_list ')' */ #line 3678 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 40648 "preproc.c" break; case 451: /* copy_generic_opt_arg: %empty */ #line 3682 "preproc.y" { (yyval.str)=EMPTY; } #line 40655 "preproc.c" break; case 452: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list_item */ #line 3689 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40663 "preproc.c" break; case 453: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list ',' copy_generic_opt_arg_list_item */ #line 3693 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 40671 "preproc.c" break; case 454: /* copy_generic_opt_arg_list_item: opt_boolean_or_string */ #line 3701 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40679 "preproc.c" break; case 455: /* CreateStmt: CREATE OptTemp TABLE qualified_name '(' OptTableElementList ')' OptInherit OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ #line 3709 "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 40687 "preproc.c" break; case 456: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptInherit OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ #line 3713 "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 40695 "preproc.c" break; case 457: /* CreateStmt: CREATE OptTemp TABLE qualified_name OF any_name OptTypedTableElementList OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ #line 3717 "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 40703 "preproc.c" break; case 458: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name OF any_name OptTypedTableElementList OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ #line 3721 "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 40711 "preproc.c" break; case 459: /* CreateStmt: CREATE OptTemp TABLE qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ #line 3725 "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 40719 "preproc.c" break; case 460: /* 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 3729 "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 40727 "preproc.c" break; case 461: /* OptTemp: TEMPORARY */ #line 3737 "preproc.y" { (yyval.str) = mm_strdup("temporary"); } #line 40735 "preproc.c" break; case 462: /* OptTemp: TEMP */ #line 3741 "preproc.y" { (yyval.str) = mm_strdup("temp"); } #line 40743 "preproc.c" break; case 463: /* OptTemp: LOCAL TEMPORARY */ #line 3745 "preproc.y" { (yyval.str) = mm_strdup("local temporary"); } #line 40751 "preproc.c" break; case 464: /* OptTemp: LOCAL TEMP */ #line 3749 "preproc.y" { (yyval.str) = mm_strdup("local temp"); } #line 40759 "preproc.c" break; case 465: /* OptTemp: GLOBAL TEMPORARY */ #line 3753 "preproc.y" { (yyval.str) = mm_strdup("global temporary"); } #line 40767 "preproc.c" break; case 466: /* OptTemp: GLOBAL TEMP */ #line 3757 "preproc.y" { (yyval.str) = mm_strdup("global temp"); } #line 40775 "preproc.c" break; case 467: /* OptTemp: UNLOGGED */ #line 3761 "preproc.y" { (yyval.str) = mm_strdup("unlogged"); } #line 40783 "preproc.c" break; case 468: /* OptTemp: %empty */ #line 3765 "preproc.y" { (yyval.str)=EMPTY; } #line 40790 "preproc.c" break; case 469: /* OptTableElementList: TableElementList */ #line 3772 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40798 "preproc.c" break; case 470: /* OptTableElementList: %empty */ #line 3776 "preproc.y" { (yyval.str)=EMPTY; } #line 40805 "preproc.c" break; case 471: /* OptTypedTableElementList: '(' TypedTableElementList ')' */ #line 3783 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 40813 "preproc.c" break; case 472: /* OptTypedTableElementList: %empty */ #line 3787 "preproc.y" { (yyval.str)=EMPTY; } #line 40820 "preproc.c" break; case 473: /* TableElementList: TableElement */ #line 3794 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40828 "preproc.c" break; case 474: /* TableElementList: TableElementList ',' TableElement */ #line 3798 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 40836 "preproc.c" break; case 475: /* TypedTableElementList: TypedTableElement */ #line 3806 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40844 "preproc.c" break; case 476: /* TypedTableElementList: TypedTableElementList ',' TypedTableElement */ #line 3810 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 40852 "preproc.c" break; case 477: /* TableElement: columnDef */ #line 3818 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40860 "preproc.c" break; case 478: /* TableElement: TableLikeClause */ #line 3822 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40868 "preproc.c" break; case 479: /* TableElement: TableConstraint */ #line 3826 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40876 "preproc.c" break; case 480: /* TypedTableElement: columnOptions */ #line 3834 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40884 "preproc.c" break; case 481: /* TypedTableElement: TableConstraint */ #line 3838 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40892 "preproc.c" break; case 482: /* columnDef: ColId Typename opt_column_compression create_generic_options ColQualList */ #line 3846 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40900 "preproc.c" break; case 483: /* columnOptions: ColId ColQualList */ #line 3854 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 40908 "preproc.c" break; case 484: /* columnOptions: ColId WITH OPTIONS ColQualList */ #line 3858 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("with options"),(yyvsp[0].str)); } #line 40916 "preproc.c" break; case 485: /* column_compression: COMPRESSION ColId */ #line 3866 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("compression"),(yyvsp[0].str)); } #line 40924 "preproc.c" break; case 486: /* column_compression: COMPRESSION DEFAULT */ #line 3870 "preproc.y" { (yyval.str) = mm_strdup("compression default"); } #line 40932 "preproc.c" break; case 487: /* opt_column_compression: column_compression */ #line 3878 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40940 "preproc.c" break; case 488: /* opt_column_compression: %empty */ #line 3882 "preproc.y" { (yyval.str)=EMPTY; } #line 40947 "preproc.c" break; case 489: /* ColQualList: ColQualList ColConstraint */ #line 3889 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 40955 "preproc.c" break; case 490: /* ColQualList: %empty */ #line 3893 "preproc.y" { (yyval.str)=EMPTY; } #line 40962 "preproc.c" break; case 491: /* ColConstraint: CONSTRAINT name ColConstraintElem */ #line 3900 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("constraint"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40970 "preproc.c" break; case 492: /* ColConstraint: ColConstraintElem */ #line 3904 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40978 "preproc.c" break; case 493: /* ColConstraint: ConstraintAttr */ #line 3908 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40986 "preproc.c" break; case 494: /* ColConstraint: COLLATE any_name */ #line 3912 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("collate"),(yyvsp[0].str)); } #line 40994 "preproc.c" break; case 495: /* ColConstraintElem: NOT NULL_P */ #line 3920 "preproc.y" { (yyval.str) = mm_strdup("not null"); } #line 41002 "preproc.c" break; case 496: /* ColConstraintElem: NULL_P */ #line 3924 "preproc.y" { (yyval.str) = mm_strdup("null"); } #line 41010 "preproc.c" break; case 497: /* ColConstraintElem: UNIQUE opt_unique_null_treatment opt_definition OptConsTableSpace */ #line 3928 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("unique"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41018 "preproc.c" break; case 498: /* ColConstraintElem: PRIMARY KEY opt_definition OptConsTableSpace */ #line 3932 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("primary key"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41026 "preproc.c" break; case 499: /* ColConstraintElem: CHECK '(' a_expr ')' opt_no_inherit */ #line 3936 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("check ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 41034 "preproc.c" break; case 500: /* ColConstraintElem: DEFAULT b_expr */ #line 3940 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("default"),(yyvsp[0].str)); } #line 41042 "preproc.c" break; case 501: /* ColConstraintElem: GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList */ #line 3944 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("generated"),(yyvsp[-3].str),mm_strdup("as identity"),(yyvsp[0].str)); } #line 41050 "preproc.c" break; case 502: /* ColConstraintElem: GENERATED generated_when AS '(' a_expr ')' STORED */ #line 3948 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("generated"),(yyvsp[-5].str),mm_strdup("as ("),(yyvsp[-2].str),mm_strdup(") stored")); } #line 41058 "preproc.c" break; case 503: /* ColConstraintElem: REFERENCES qualified_name opt_column_list key_match key_actions */ #line 3952 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("references"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41066 "preproc.c" break; case 504: /* opt_unique_null_treatment: NULLS_P DISTINCT */ #line 3960 "preproc.y" { (yyval.str) = mm_strdup("nulls distinct"); } #line 41074 "preproc.c" break; case 505: /* opt_unique_null_treatment: NULLS_P NOT DISTINCT */ #line 3964 "preproc.y" { (yyval.str) = mm_strdup("nulls not distinct"); } #line 41082 "preproc.c" break; case 506: /* opt_unique_null_treatment: %empty */ #line 3968 "preproc.y" { (yyval.str)=EMPTY; } #line 41089 "preproc.c" break; case 507: /* generated_when: ALWAYS */ #line 3975 "preproc.y" { (yyval.str) = mm_strdup("always"); } #line 41097 "preproc.c" break; case 508: /* generated_when: BY DEFAULT */ #line 3979 "preproc.y" { (yyval.str) = mm_strdup("by default"); } #line 41105 "preproc.c" break; case 509: /* ConstraintAttr: DEFERRABLE */ #line 3987 "preproc.y" { (yyval.str) = mm_strdup("deferrable"); } #line 41113 "preproc.c" break; case 510: /* ConstraintAttr: NOT DEFERRABLE */ #line 3991 "preproc.y" { (yyval.str) = mm_strdup("not deferrable"); } #line 41121 "preproc.c" break; case 511: /* ConstraintAttr: INITIALLY DEFERRED */ #line 3995 "preproc.y" { (yyval.str) = mm_strdup("initially deferred"); } #line 41129 "preproc.c" break; case 512: /* ConstraintAttr: INITIALLY IMMEDIATE */ #line 3999 "preproc.y" { (yyval.str) = mm_strdup("initially immediate"); } #line 41137 "preproc.c" break; case 513: /* TableLikeClause: LIKE qualified_name TableLikeOptionList */ #line 4007 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("like"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41145 "preproc.c" break; case 514: /* TableLikeOptionList: TableLikeOptionList INCLUDING TableLikeOption */ #line 4015 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("including"),(yyvsp[0].str)); } #line 41153 "preproc.c" break; case 515: /* TableLikeOptionList: TableLikeOptionList EXCLUDING TableLikeOption */ #line 4019 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("excluding"),(yyvsp[0].str)); } #line 41161 "preproc.c" break; case 516: /* TableLikeOptionList: %empty */ #line 4023 "preproc.y" { (yyval.str)=EMPTY; } #line 41168 "preproc.c" break; case 517: /* TableLikeOption: COMMENTS */ #line 4030 "preproc.y" { (yyval.str) = mm_strdup("comments"); } #line 41176 "preproc.c" break; case 518: /* TableLikeOption: COMPRESSION */ #line 4034 "preproc.y" { (yyval.str) = mm_strdup("compression"); } #line 41184 "preproc.c" break; case 519: /* TableLikeOption: CONSTRAINTS */ #line 4038 "preproc.y" { (yyval.str) = mm_strdup("constraints"); } #line 41192 "preproc.c" break; case 520: /* TableLikeOption: DEFAULTS */ #line 4042 "preproc.y" { (yyval.str) = mm_strdup("defaults"); } #line 41200 "preproc.c" break; case 521: /* TableLikeOption: IDENTITY_P */ #line 4046 "preproc.y" { (yyval.str) = mm_strdup("identity"); } #line 41208 "preproc.c" break; case 522: /* TableLikeOption: GENERATED */ #line 4050 "preproc.y" { (yyval.str) = mm_strdup("generated"); } #line 41216 "preproc.c" break; case 523: /* TableLikeOption: INDEXES */ #line 4054 "preproc.y" { (yyval.str) = mm_strdup("indexes"); } #line 41224 "preproc.c" break; case 524: /* TableLikeOption: STATISTICS */ #line 4058 "preproc.y" { (yyval.str) = mm_strdup("statistics"); } #line 41232 "preproc.c" break; case 525: /* TableLikeOption: STORAGE */ #line 4062 "preproc.y" { (yyval.str) = mm_strdup("storage"); } #line 41240 "preproc.c" break; case 526: /* TableLikeOption: ALL */ #line 4066 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 41248 "preproc.c" break; case 527: /* TableConstraint: CONSTRAINT name ConstraintElem */ #line 4074 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("constraint"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41256 "preproc.c" break; case 528: /* TableConstraint: ConstraintElem */ #line 4078 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41264 "preproc.c" break; case 529: /* ConstraintElem: CHECK '(' a_expr ')' ConstraintAttributeSpec */ #line 4086 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("check ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 41272 "preproc.c" break; case 530: /* ConstraintElem: UNIQUE opt_unique_null_treatment '(' columnList ')' opt_c_include opt_definition OptConsTableSpace ConstraintAttributeSpec */ #line 4090 "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 41280 "preproc.c" break; case 531: /* ConstraintElem: UNIQUE ExistingIndex ConstraintAttributeSpec */ #line 4094 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("unique"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41288 "preproc.c" break; case 532: /* ConstraintElem: PRIMARY KEY '(' columnList ')' opt_c_include opt_definition OptConsTableSpace ConstraintAttributeSpec */ #line 4098 "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 41296 "preproc.c" break; case 533: /* ConstraintElem: PRIMARY KEY ExistingIndex ConstraintAttributeSpec */ #line 4102 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("primary key"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41304 "preproc.c" break; case 534: /* ConstraintElem: EXCLUDE access_method_clause '(' ExclusionConstraintList ')' opt_c_include opt_definition OptConsTableSpace OptWhereClause ConstraintAttributeSpec */ #line 4106 "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 41312 "preproc.c" break; case 535: /* ConstraintElem: FOREIGN KEY '(' columnList ')' REFERENCES qualified_name opt_column_list key_match key_actions ConstraintAttributeSpec */ #line 4110 "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 41320 "preproc.c" break; case 536: /* opt_no_inherit: NO INHERIT */ #line 4118 "preproc.y" { (yyval.str) = mm_strdup("no inherit"); } #line 41328 "preproc.c" break; case 537: /* opt_no_inherit: %empty */ #line 4122 "preproc.y" { (yyval.str)=EMPTY; } #line 41335 "preproc.c" break; case 538: /* opt_column_list: '(' columnList ')' */ #line 4129 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 41343 "preproc.c" break; case 539: /* opt_column_list: %empty */ #line 4133 "preproc.y" { (yyval.str)=EMPTY; } #line 41350 "preproc.c" break; case 540: /* columnList: columnElem */ #line 4140 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41358 "preproc.c" break; case 541: /* columnList: columnList ',' columnElem */ #line 4144 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 41366 "preproc.c" break; case 542: /* columnElem: ColId */ #line 4152 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41374 "preproc.c" break; case 543: /* opt_c_include: INCLUDE '(' columnList ')' */ #line 4160 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("include ("),(yyvsp[-1].str),mm_strdup(")")); } #line 41382 "preproc.c" break; case 544: /* opt_c_include: %empty */ #line 4164 "preproc.y" { (yyval.str)=EMPTY; } #line 41389 "preproc.c" break; case 545: /* key_match: MATCH FULL */ #line 4171 "preproc.y" { (yyval.str) = mm_strdup("match full"); } #line 41397 "preproc.c" break; case 546: /* key_match: MATCH PARTIAL */ #line 4175 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = mm_strdup("match partial"); } #line 41406 "preproc.c" break; case 547: /* key_match: MATCH SIMPLE */ #line 4180 "preproc.y" { (yyval.str) = mm_strdup("match simple"); } #line 41414 "preproc.c" break; case 548: /* key_match: %empty */ #line 4184 "preproc.y" { (yyval.str)=EMPTY; } #line 41421 "preproc.c" break; case 549: /* ExclusionConstraintList: ExclusionConstraintElem */ #line 4191 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41429 "preproc.c" break; case 550: /* ExclusionConstraintList: ExclusionConstraintList ',' ExclusionConstraintElem */ #line 4195 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 41437 "preproc.c" break; case 551: /* ExclusionConstraintElem: index_elem WITH any_operator */ #line 4203 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("with"),(yyvsp[0].str)); } #line 41445 "preproc.c" break; case 552: /* ExclusionConstraintElem: index_elem WITH OPERATOR '(' any_operator ')' */ #line 4207 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-5].str),mm_strdup("with operator ("),(yyvsp[-1].str),mm_strdup(")")); } #line 41453 "preproc.c" break; case 553: /* OptWhereClause: WHERE '(' a_expr ')' */ #line 4215 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("where ("),(yyvsp[-1].str),mm_strdup(")")); } #line 41461 "preproc.c" break; case 554: /* OptWhereClause: %empty */ #line 4219 "preproc.y" { (yyval.str)=EMPTY; } #line 41468 "preproc.c" break; case 555: /* key_actions: key_update */ #line 4226 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41476 "preproc.c" break; case 556: /* key_actions: key_delete */ #line 4230 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41484 "preproc.c" break; case 557: /* key_actions: key_update key_delete */ #line 4234 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 41492 "preproc.c" break; case 558: /* key_actions: key_delete key_update */ #line 4238 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 41500 "preproc.c" break; case 559: /* key_actions: %empty */ #line 4242 "preproc.y" { (yyval.str)=EMPTY; } #line 41507 "preproc.c" break; case 560: /* key_update: ON UPDATE key_action */ #line 4249 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("on update"),(yyvsp[0].str)); } #line 41515 "preproc.c" break; case 561: /* key_delete: ON DELETE_P key_action */ #line 4257 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("on delete"),(yyvsp[0].str)); } #line 41523 "preproc.c" break; case 562: /* key_action: NO ACTION */ #line 4265 "preproc.y" { (yyval.str) = mm_strdup("no action"); } #line 41531 "preproc.c" break; case 563: /* key_action: RESTRICT */ #line 4269 "preproc.y" { (yyval.str) = mm_strdup("restrict"); } #line 41539 "preproc.c" break; case 564: /* key_action: CASCADE */ #line 4273 "preproc.y" { (yyval.str) = mm_strdup("cascade"); } #line 41547 "preproc.c" break; case 565: /* key_action: SET NULL_P opt_column_list */ #line 4277 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set null"),(yyvsp[0].str)); } #line 41555 "preproc.c" break; case 566: /* key_action: SET DEFAULT opt_column_list */ #line 4281 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set default"),(yyvsp[0].str)); } #line 41563 "preproc.c" break; case 567: /* OptInherit: INHERITS '(' qualified_name_list ')' */ #line 4289 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("inherits ("),(yyvsp[-1].str),mm_strdup(")")); } #line 41571 "preproc.c" break; case 568: /* OptInherit: %empty */ #line 4293 "preproc.y" { (yyval.str)=EMPTY; } #line 41578 "preproc.c" break; case 569: /* OptPartitionSpec: PartitionSpec */ #line 4300 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41586 "preproc.c" break; case 570: /* OptPartitionSpec: %empty */ #line 4304 "preproc.y" { (yyval.str)=EMPTY; } #line 41593 "preproc.c" break; case 571: /* PartitionSpec: PARTITION BY ColId '(' part_params ')' */ #line 4311 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("partition by"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 41601 "preproc.c" break; case 572: /* part_params: part_elem */ #line 4319 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41609 "preproc.c" break; case 573: /* part_params: part_params ',' part_elem */ #line 4323 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 41617 "preproc.c" break; case 574: /* part_elem: ColId opt_collate opt_class */ #line 4331 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41625 "preproc.c" break; case 575: /* part_elem: func_expr_windowless opt_collate opt_class */ #line 4335 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41633 "preproc.c" break; case 576: /* part_elem: '(' a_expr ')' opt_collate opt_class */ #line 4339 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("("),(yyvsp[-3].str),mm_strdup(")"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41641 "preproc.c" break; case 577: /* table_access_method_clause: USING name */ #line 4347 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using"),(yyvsp[0].str)); } #line 41649 "preproc.c" break; case 578: /* table_access_method_clause: %empty */ #line 4351 "preproc.y" { (yyval.str)=EMPTY; } #line 41656 "preproc.c" break; case 579: /* OptWith: WITH reloptions */ #line 4358 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with"),(yyvsp[0].str)); } #line 41664 "preproc.c" break; case 580: /* OptWith: WITHOUT OIDS */ #line 4362 "preproc.y" { (yyval.str) = mm_strdup("without oids"); } #line 41672 "preproc.c" break; case 581: /* OptWith: %empty */ #line 4366 "preproc.y" { (yyval.str)=EMPTY; } #line 41679 "preproc.c" break; case 582: /* OnCommitOption: ON COMMIT DROP */ #line 4373 "preproc.y" { (yyval.str) = mm_strdup("on commit drop"); } #line 41687 "preproc.c" break; case 583: /* OnCommitOption: ON COMMIT DELETE_P ROWS */ #line 4377 "preproc.y" { (yyval.str) = mm_strdup("on commit delete rows"); } #line 41695 "preproc.c" break; case 584: /* OnCommitOption: ON COMMIT PRESERVE ROWS */ #line 4381 "preproc.y" { (yyval.str) = mm_strdup("on commit preserve rows"); } #line 41703 "preproc.c" break; case 585: /* OnCommitOption: %empty */ #line 4385 "preproc.y" { (yyval.str)=EMPTY; } #line 41710 "preproc.c" break; case 586: /* OptTableSpace: TABLESPACE name */ #line 4392 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("tablespace"),(yyvsp[0].str)); } #line 41718 "preproc.c" break; case 587: /* OptTableSpace: %empty */ #line 4396 "preproc.y" { (yyval.str)=EMPTY; } #line 41725 "preproc.c" break; case 588: /* OptConsTableSpace: USING INDEX TABLESPACE name */ #line 4403 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using index tablespace"),(yyvsp[0].str)); } #line 41733 "preproc.c" break; case 589: /* OptConsTableSpace: %empty */ #line 4407 "preproc.y" { (yyval.str)=EMPTY; } #line 41740 "preproc.c" break; case 590: /* ExistingIndex: USING INDEX name */ #line 4414 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using index"),(yyvsp[0].str)); } #line 41748 "preproc.c" break; case 591: /* CreateStatsStmt: CREATE STATISTICS any_name opt_name_list ON stats_params FROM from_list */ #line 4422 "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 41756 "preproc.c" break; case 592: /* CreateStatsStmt: CREATE STATISTICS IF_P NOT EXISTS any_name opt_name_list ON stats_params FROM from_list */ #line 4426 "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 41764 "preproc.c" break; case 593: /* stats_params: stats_param */ #line 4434 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41772 "preproc.c" break; case 594: /* stats_params: stats_params ',' stats_param */ #line 4438 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 41780 "preproc.c" break; case 595: /* stats_param: ColId */ #line 4446 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41788 "preproc.c" break; case 596: /* stats_param: func_expr_windowless */ #line 4450 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41796 "preproc.c" break; case 597: /* stats_param: '(' a_expr ')' */ #line 4454 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 41804 "preproc.c" break; case 598: /* AlterStatsStmt: ALTER STATISTICS any_name SET STATISTICS SignedIconst */ #line 4462 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter statistics"),(yyvsp[-3].str),mm_strdup("set statistics"),(yyvsp[0].str)); } #line 41812 "preproc.c" break; case 599: /* AlterStatsStmt: ALTER STATISTICS IF_P EXISTS any_name SET STATISTICS SignedIconst */ #line 4466 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter statistics if exists"),(yyvsp[-3].str),mm_strdup("set statistics"),(yyvsp[0].str)); } #line 41820 "preproc.c" break; case 600: /* create_as_target: qualified_name opt_column_list table_access_method_clause OptWith OnCommitOption OptTableSpace */ #line 4474 "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 41828 "preproc.c" break; case 601: /* opt_with_data: WITH DATA_P */ #line 4482 "preproc.y" { (yyval.str) = mm_strdup("with data"); } #line 41836 "preproc.c" break; case 602: /* opt_with_data: WITH NO DATA_P */ #line 4486 "preproc.y" { (yyval.str) = mm_strdup("with no data"); } #line 41844 "preproc.c" break; case 603: /* opt_with_data: %empty */ #line 4490 "preproc.y" { (yyval.str)=EMPTY; } #line 41851 "preproc.c" break; case 604: /* CreateMatViewStmt: CREATE OptNoLog MATERIALIZED VIEW create_mv_target AS SelectStmt opt_with_data */ #line 4497 "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 41859 "preproc.c" break; case 605: /* CreateMatViewStmt: CREATE OptNoLog MATERIALIZED VIEW IF_P NOT EXISTS create_mv_target AS SelectStmt opt_with_data */ #line 4501 "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 41867 "preproc.c" break; case 606: /* create_mv_target: qualified_name opt_column_list table_access_method_clause opt_reloptions OptTableSpace */ #line 4509 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41875 "preproc.c" break; case 607: /* OptNoLog: UNLOGGED */ #line 4517 "preproc.y" { (yyval.str) = mm_strdup("unlogged"); } #line 41883 "preproc.c" break; case 608: /* OptNoLog: %empty */ #line 4521 "preproc.y" { (yyval.str)=EMPTY; } #line 41890 "preproc.c" break; case 609: /* RefreshMatViewStmt: REFRESH MATERIALIZED VIEW opt_concurrently qualified_name opt_with_data */ #line 4528 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("refresh materialized view"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41898 "preproc.c" break; case 610: /* CreateSeqStmt: CREATE OptTemp SEQUENCE qualified_name OptSeqOptList */ #line 4536 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create"),(yyvsp[-3].str),mm_strdup("sequence"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41906 "preproc.c" break; case 611: /* CreateSeqStmt: CREATE OptTemp SEQUENCE IF_P NOT EXISTS qualified_name OptSeqOptList */ #line 4540 "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 41914 "preproc.c" break; case 612: /* AlterSeqStmt: ALTER SEQUENCE qualified_name SeqOptList */ #line 4548 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter sequence"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41922 "preproc.c" break; case 613: /* AlterSeqStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SeqOptList */ #line 4552 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter sequence if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41930 "preproc.c" break; case 614: /* OptSeqOptList: SeqOptList */ #line 4560 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41938 "preproc.c" break; case 615: /* OptSeqOptList: %empty */ #line 4564 "preproc.y" { (yyval.str)=EMPTY; } #line 41945 "preproc.c" break; case 616: /* OptParenthesizedSeqOptList: '(' SeqOptList ')' */ #line 4571 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 41953 "preproc.c" break; case 617: /* OptParenthesizedSeqOptList: %empty */ #line 4575 "preproc.y" { (yyval.str)=EMPTY; } #line 41960 "preproc.c" break; case 618: /* SeqOptList: SeqOptElem */ #line 4582 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41968 "preproc.c" break; case 619: /* SeqOptList: SeqOptList SeqOptElem */ #line 4586 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 41976 "preproc.c" break; case 620: /* SeqOptElem: AS SimpleTypename */ #line 4594 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("as"),(yyvsp[0].str)); } #line 41984 "preproc.c" break; case 621: /* SeqOptElem: CACHE NumericOnly */ #line 4598 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("cache"),(yyvsp[0].str)); } #line 41992 "preproc.c" break; case 622: /* SeqOptElem: CYCLE */ #line 4602 "preproc.y" { (yyval.str) = mm_strdup("cycle"); } #line 42000 "preproc.c" break; case 623: /* SeqOptElem: NO CYCLE */ #line 4606 "preproc.y" { (yyval.str) = mm_strdup("no cycle"); } #line 42008 "preproc.c" break; case 624: /* SeqOptElem: INCREMENT opt_by NumericOnly */ #line 4610 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("increment"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42016 "preproc.c" break; case 625: /* SeqOptElem: MAXVALUE NumericOnly */ #line 4614 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("maxvalue"),(yyvsp[0].str)); } #line 42024 "preproc.c" break; case 626: /* SeqOptElem: MINVALUE NumericOnly */ #line 4618 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("minvalue"),(yyvsp[0].str)); } #line 42032 "preproc.c" break; case 627: /* SeqOptElem: NO MAXVALUE */ #line 4622 "preproc.y" { (yyval.str) = mm_strdup("no maxvalue"); } #line 42040 "preproc.c" break; case 628: /* SeqOptElem: NO MINVALUE */ #line 4626 "preproc.y" { (yyval.str) = mm_strdup("no minvalue"); } #line 42048 "preproc.c" break; case 629: /* SeqOptElem: OWNED BY any_name */ #line 4630 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("owned by"),(yyvsp[0].str)); } #line 42056 "preproc.c" break; case 630: /* SeqOptElem: SEQUENCE NAME_P any_name */ #line 4634 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("sequence name"),(yyvsp[0].str)); } #line 42064 "preproc.c" break; case 631: /* SeqOptElem: START opt_with NumericOnly */ #line 4638 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("start"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42072 "preproc.c" break; case 632: /* SeqOptElem: RESTART */ #line 4642 "preproc.y" { (yyval.str) = mm_strdup("restart"); } #line 42080 "preproc.c" break; case 633: /* SeqOptElem: RESTART opt_with NumericOnly */ #line 4646 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("restart"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42088 "preproc.c" break; case 634: /* opt_by: BY */ #line 4654 "preproc.y" { (yyval.str) = mm_strdup("by"); } #line 42096 "preproc.c" break; case 635: /* opt_by: %empty */ #line 4658 "preproc.y" { (yyval.str)=EMPTY; } #line 42103 "preproc.c" break; case 636: /* NumericOnly: ecpg_fconst */ #line 4665 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42111 "preproc.c" break; case 637: /* NumericOnly: '+' ecpg_fconst */ #line 4669 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("+"),(yyvsp[0].str)); } #line 42119 "preproc.c" break; case 638: /* NumericOnly: '-' ecpg_fconst */ #line 4673 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("-"),(yyvsp[0].str)); } #line 42127 "preproc.c" break; case 639: /* NumericOnly: SignedIconst */ #line 4677 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42135 "preproc.c" break; case 640: /* NumericOnly_list: NumericOnly */ #line 4685 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42143 "preproc.c" break; case 641: /* NumericOnly_list: NumericOnly_list ',' NumericOnly */ #line 4689 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 42151 "preproc.c" break; case 642: /* CreatePLangStmt: CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name */ #line 4697 "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 42159 "preproc.c" break; case 643: /* CreatePLangStmt: CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name HANDLER handler_name opt_inline_handler opt_validator */ #line 4701 "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 42167 "preproc.c" break; case 644: /* opt_trusted: TRUSTED */ #line 4709 "preproc.y" { (yyval.str) = mm_strdup("trusted"); } #line 42175 "preproc.c" break; case 645: /* opt_trusted: %empty */ #line 4713 "preproc.y" { (yyval.str)=EMPTY; } #line 42182 "preproc.c" break; case 646: /* handler_name: name */ #line 4720 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42190 "preproc.c" break; case 647: /* handler_name: name attrs */ #line 4724 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 42198 "preproc.c" break; case 648: /* opt_inline_handler: INLINE_P handler_name */ #line 4732 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("inline"),(yyvsp[0].str)); } #line 42206 "preproc.c" break; case 649: /* opt_inline_handler: %empty */ #line 4736 "preproc.y" { (yyval.str)=EMPTY; } #line 42213 "preproc.c" break; case 650: /* validator_clause: VALIDATOR handler_name */ #line 4743 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("validator"),(yyvsp[0].str)); } #line 42221 "preproc.c" break; case 651: /* validator_clause: NO VALIDATOR */ #line 4747 "preproc.y" { (yyval.str) = mm_strdup("no validator"); } #line 42229 "preproc.c" break; case 652: /* opt_validator: validator_clause */ #line 4755 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42237 "preproc.c" break; case 653: /* opt_validator: %empty */ #line 4759 "preproc.y" { (yyval.str)=EMPTY; } #line 42244 "preproc.c" break; case 654: /* opt_procedural: PROCEDURAL */ #line 4766 "preproc.y" { (yyval.str) = mm_strdup("procedural"); } #line 42252 "preproc.c" break; case 655: /* opt_procedural: %empty */ #line 4770 "preproc.y" { (yyval.str)=EMPTY; } #line 42259 "preproc.c" break; case 656: /* CreateTableSpaceStmt: CREATE TABLESPACE name OptTableSpaceOwner LOCATION ecpg_sconst opt_reloptions */ #line 4777 "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 42267 "preproc.c" break; case 657: /* OptTableSpaceOwner: OWNER RoleSpec */ #line 4785 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("owner"),(yyvsp[0].str)); } #line 42275 "preproc.c" break; case 658: /* OptTableSpaceOwner: %empty */ #line 4789 "preproc.y" { (yyval.str)=EMPTY; } #line 42282 "preproc.c" break; case 659: /* DropTableSpaceStmt: DROP TABLESPACE name */ #line 4796 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop tablespace"),(yyvsp[0].str)); } #line 42290 "preproc.c" break; case 660: /* DropTableSpaceStmt: DROP TABLESPACE IF_P EXISTS name */ #line 4800 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop tablespace if exists"),(yyvsp[0].str)); } #line 42298 "preproc.c" break; case 661: /* CreateExtensionStmt: CREATE EXTENSION name opt_with create_extension_opt_list */ #line 4808 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create extension"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42306 "preproc.c" break; case 662: /* CreateExtensionStmt: CREATE EXTENSION IF_P NOT EXISTS name opt_with create_extension_opt_list */ #line 4812 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create extension if not exists"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42314 "preproc.c" break; case 663: /* create_extension_opt_list: create_extension_opt_list create_extension_opt_item */ #line 4820 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 42322 "preproc.c" break; case 664: /* create_extension_opt_list: %empty */ #line 4824 "preproc.y" { (yyval.str)=EMPTY; } #line 42329 "preproc.c" break; case 665: /* create_extension_opt_item: SCHEMA name */ #line 4831 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("schema"),(yyvsp[0].str)); } #line 42337 "preproc.c" break; case 666: /* create_extension_opt_item: VERSION_P NonReservedWord_or_Sconst */ #line 4835 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("version"),(yyvsp[0].str)); } #line 42345 "preproc.c" break; case 667: /* create_extension_opt_item: FROM NonReservedWord_or_Sconst */ #line 4839 "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 42354 "preproc.c" break; case 668: /* create_extension_opt_item: CASCADE */ #line 4844 "preproc.y" { (yyval.str) = mm_strdup("cascade"); } #line 42362 "preproc.c" break; case 669: /* AlterExtensionStmt: ALTER EXTENSION name UPDATE alter_extension_opt_list */ #line 4852 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter extension"),(yyvsp[-2].str),mm_strdup("update"),(yyvsp[0].str)); } #line 42370 "preproc.c" break; case 670: /* alter_extension_opt_list: alter_extension_opt_list alter_extension_opt_item */ #line 4860 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 42378 "preproc.c" break; case 671: /* alter_extension_opt_list: %empty */ #line 4864 "preproc.y" { (yyval.str)=EMPTY; } #line 42385 "preproc.c" break; case 672: /* alter_extension_opt_item: TO NonReservedWord_or_Sconst */ #line 4871 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("to"),(yyvsp[0].str)); } #line 42393 "preproc.c" break; case 673: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop object_type_name name */ #line 4879 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42401 "preproc.c" break; case 674: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop object_type_any_name any_name */ #line 4883 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42409 "preproc.c" break; case 675: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop AGGREGATE aggregate_with_argtypes */ #line 4887 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("aggregate"),(yyvsp[0].str)); } #line 42417 "preproc.c" break; case 676: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop CAST '(' Typename AS Typename ')' */ #line 4891 "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 42425 "preproc.c" break; case 677: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop DOMAIN_P Typename */ #line 4895 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("domain"),(yyvsp[0].str)); } #line 42433 "preproc.c" break; case 678: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop FUNCTION function_with_argtypes */ #line 4899 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("function"),(yyvsp[0].str)); } #line 42441 "preproc.c" break; case 679: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR operator_with_argtypes */ #line 4903 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("operator"),(yyvsp[0].str)); } #line 42449 "preproc.c" break; case 680: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR CLASS any_name USING name */ #line 4907 "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 42457 "preproc.c" break; case 681: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR FAMILY any_name USING name */ #line 4911 "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 42465 "preproc.c" break; case 682: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop PROCEDURE function_with_argtypes */ #line 4915 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("procedure"),(yyvsp[0].str)); } #line 42473 "preproc.c" break; case 683: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop ROUTINE function_with_argtypes */ #line 4919 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("routine"),(yyvsp[0].str)); } #line 42481 "preproc.c" break; case 684: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop TRANSFORM FOR Typename LANGUAGE name */ #line 4923 "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 42489 "preproc.c" break; case 685: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop TYPE_P Typename */ #line 4927 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("type"),(yyvsp[0].str)); } #line 42497 "preproc.c" break; case 686: /* CreateFdwStmt: CREATE FOREIGN DATA_P WRAPPER name opt_fdw_options create_generic_options */ #line 4935 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create foreign data wrapper"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42505 "preproc.c" break; case 687: /* fdw_option: HANDLER handler_name */ #line 4943 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("handler"),(yyvsp[0].str)); } #line 42513 "preproc.c" break; case 688: /* fdw_option: NO HANDLER */ #line 4947 "preproc.y" { (yyval.str) = mm_strdup("no handler"); } #line 42521 "preproc.c" break; case 689: /* fdw_option: VALIDATOR handler_name */ #line 4951 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("validator"),(yyvsp[0].str)); } #line 42529 "preproc.c" break; case 690: /* fdw_option: NO VALIDATOR */ #line 4955 "preproc.y" { (yyval.str) = mm_strdup("no validator"); } #line 42537 "preproc.c" break; case 691: /* fdw_options: fdw_option */ #line 4963 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42545 "preproc.c" break; case 692: /* fdw_options: fdw_options fdw_option */ #line 4967 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 42553 "preproc.c" break; case 693: /* opt_fdw_options: fdw_options */ #line 4975 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42561 "preproc.c" break; case 694: /* opt_fdw_options: %empty */ #line 4979 "preproc.y" { (yyval.str)=EMPTY; } #line 42568 "preproc.c" break; case 695: /* AlterFdwStmt: ALTER FOREIGN DATA_P WRAPPER name opt_fdw_options alter_generic_options */ #line 4986 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign data wrapper"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42576 "preproc.c" break; case 696: /* AlterFdwStmt: ALTER FOREIGN DATA_P WRAPPER name fdw_options */ #line 4990 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter foreign data wrapper"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42584 "preproc.c" break; case 697: /* create_generic_options: OPTIONS '(' generic_option_list ')' */ #line 4998 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("options ("),(yyvsp[-1].str),mm_strdup(")")); } #line 42592 "preproc.c" break; case 698: /* create_generic_options: %empty */ #line 5002 "preproc.y" { (yyval.str)=EMPTY; } #line 42599 "preproc.c" break; case 699: /* generic_option_list: generic_option_elem */ #line 5009 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42607 "preproc.c" break; case 700: /* generic_option_list: generic_option_list ',' generic_option_elem */ #line 5013 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 42615 "preproc.c" break; case 701: /* alter_generic_options: OPTIONS '(' alter_generic_option_list ')' */ #line 5021 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("options ("),(yyvsp[-1].str),mm_strdup(")")); } #line 42623 "preproc.c" break; case 702: /* alter_generic_option_list: alter_generic_option_elem */ #line 5029 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42631 "preproc.c" break; case 703: /* alter_generic_option_list: alter_generic_option_list ',' alter_generic_option_elem */ #line 5033 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 42639 "preproc.c" break; case 704: /* alter_generic_option_elem: generic_option_elem */ #line 5041 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42647 "preproc.c" break; case 705: /* alter_generic_option_elem: SET generic_option_elem */ #line 5045 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } #line 42655 "preproc.c" break; case 706: /* alter_generic_option_elem: ADD_P generic_option_elem */ #line 5049 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add"),(yyvsp[0].str)); } #line 42663 "preproc.c" break; case 707: /* alter_generic_option_elem: DROP generic_option_name */ #line 5053 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop"),(yyvsp[0].str)); } #line 42671 "preproc.c" break; case 708: /* generic_option_elem: generic_option_name generic_option_arg */ #line 5061 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 42679 "preproc.c" break; case 709: /* generic_option_name: ColLabel */ #line 5069 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42687 "preproc.c" break; case 710: /* generic_option_arg: ecpg_sconst */ #line 5077 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42695 "preproc.c" break; case 711: /* CreateForeignServerStmt: CREATE SERVER name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options */ #line 5085 "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 42703 "preproc.c" break; case 712: /* CreateForeignServerStmt: CREATE SERVER IF_P NOT EXISTS name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options */ #line 5089 "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 42711 "preproc.c" break; case 713: /* opt_type: TYPE_P ecpg_sconst */ #line 5097 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("type"),(yyvsp[0].str)); } #line 42719 "preproc.c" break; case 714: /* opt_type: %empty */ #line 5101 "preproc.y" { (yyval.str)=EMPTY; } #line 42726 "preproc.c" break; case 715: /* foreign_server_version: VERSION_P ecpg_sconst */ #line 5108 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("version"),(yyvsp[0].str)); } #line 42734 "preproc.c" break; case 716: /* foreign_server_version: VERSION_P NULL_P */ #line 5112 "preproc.y" { (yyval.str) = mm_strdup("version null"); } #line 42742 "preproc.c" break; case 717: /* opt_foreign_server_version: foreign_server_version */ #line 5120 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42750 "preproc.c" break; case 718: /* opt_foreign_server_version: %empty */ #line 5124 "preproc.y" { (yyval.str)=EMPTY; } #line 42757 "preproc.c" break; case 719: /* AlterForeignServerStmt: ALTER SERVER name foreign_server_version alter_generic_options */ #line 5131 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter server"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42765 "preproc.c" break; case 720: /* AlterForeignServerStmt: ALTER SERVER name foreign_server_version */ #line 5135 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter server"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42773 "preproc.c" break; case 721: /* AlterForeignServerStmt: ALTER SERVER name alter_generic_options */ #line 5139 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter server"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42781 "preproc.c" break; case 722: /* CreateForeignTableStmt: CREATE FOREIGN TABLE qualified_name '(' OptTableElementList ')' OptInherit SERVER name create_generic_options */ #line 5147 "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 42789 "preproc.c" break; case 723: /* CreateForeignTableStmt: CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptInherit SERVER name create_generic_options */ #line 5151 "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 42797 "preproc.c" break; case 724: /* CreateForeignTableStmt: CREATE FOREIGN TABLE qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec SERVER name create_generic_options */ #line 5155 "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 42805 "preproc.c" break; case 725: /* CreateForeignTableStmt: CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec SERVER name create_generic_options */ #line 5159 "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 42813 "preproc.c" break; case 726: /* ImportForeignSchemaStmt: IMPORT_P FOREIGN SCHEMA name import_qualification FROM SERVER name INTO name create_generic_options */ #line 5167 "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 42821 "preproc.c" break; case 727: /* import_qualification_type: LIMIT TO */ #line 5175 "preproc.y" { (yyval.str) = mm_strdup("limit to"); } #line 42829 "preproc.c" break; case 728: /* import_qualification_type: EXCEPT */ #line 5179 "preproc.y" { (yyval.str) = mm_strdup("except"); } #line 42837 "preproc.c" break; case 729: /* import_qualification: import_qualification_type '(' relation_expr_list ')' */ #line 5187 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 42845 "preproc.c" break; case 730: /* import_qualification: %empty */ #line 5191 "preproc.y" { (yyval.str)=EMPTY; } #line 42852 "preproc.c" break; case 731: /* CreateUserMappingStmt: CREATE USER MAPPING FOR auth_ident SERVER name create_generic_options */ #line 5198 "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 42860 "preproc.c" break; case 732: /* CreateUserMappingStmt: CREATE USER MAPPING IF_P NOT EXISTS FOR auth_ident SERVER name create_generic_options */ #line 5202 "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 42868 "preproc.c" break; case 733: /* auth_ident: RoleSpec */ #line 5210 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42876 "preproc.c" break; case 734: /* auth_ident: USER */ #line 5214 "preproc.y" { (yyval.str) = mm_strdup("user"); } #line 42884 "preproc.c" break; case 735: /* DropUserMappingStmt: DROP USER MAPPING FOR auth_ident SERVER name */ #line 5222 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("drop user mapping for"),(yyvsp[-2].str),mm_strdup("server"),(yyvsp[0].str)); } #line 42892 "preproc.c" break; case 736: /* DropUserMappingStmt: DROP USER MAPPING IF_P EXISTS FOR auth_ident SERVER name */ #line 5226 "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 42900 "preproc.c" break; case 737: /* AlterUserMappingStmt: ALTER USER MAPPING FOR auth_ident SERVER name alter_generic_options */ #line 5234 "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 42908 "preproc.c" break; case 738: /* CreatePolicyStmt: CREATE POLICY name ON qualified_name RowSecurityDefaultPermissive RowSecurityDefaultForCmd RowSecurityDefaultToRole RowSecurityOptionalExpr RowSecurityOptionalWithCheck */ #line 5242 "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 42916 "preproc.c" break; case 739: /* AlterPolicyStmt: ALTER POLICY name ON qualified_name RowSecurityOptionalToRole RowSecurityOptionalExpr RowSecurityOptionalWithCheck */ #line 5250 "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 42924 "preproc.c" break; case 740: /* RowSecurityOptionalExpr: USING '(' a_expr ')' */ #line 5258 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("using ("),(yyvsp[-1].str),mm_strdup(")")); } #line 42932 "preproc.c" break; case 741: /* RowSecurityOptionalExpr: %empty */ #line 5262 "preproc.y" { (yyval.str)=EMPTY; } #line 42939 "preproc.c" break; case 742: /* RowSecurityOptionalWithCheck: WITH CHECK '(' a_expr ')' */ #line 5269 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("with check ("),(yyvsp[-1].str),mm_strdup(")")); } #line 42947 "preproc.c" break; case 743: /* RowSecurityOptionalWithCheck: %empty */ #line 5273 "preproc.y" { (yyval.str)=EMPTY; } #line 42954 "preproc.c" break; case 744: /* RowSecurityDefaultToRole: TO role_list */ #line 5280 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("to"),(yyvsp[0].str)); } #line 42962 "preproc.c" break; case 745: /* RowSecurityDefaultToRole: %empty */ #line 5284 "preproc.y" { (yyval.str)=EMPTY; } #line 42969 "preproc.c" break; case 746: /* RowSecurityOptionalToRole: TO role_list */ #line 5291 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("to"),(yyvsp[0].str)); } #line 42977 "preproc.c" break; case 747: /* RowSecurityOptionalToRole: %empty */ #line 5295 "preproc.y" { (yyval.str)=EMPTY; } #line 42984 "preproc.c" break; case 748: /* RowSecurityDefaultPermissive: AS ecpg_ident */ #line 5302 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("as"),(yyvsp[0].str)); } #line 42992 "preproc.c" break; case 749: /* RowSecurityDefaultPermissive: %empty */ #line 5306 "preproc.y" { (yyval.str)=EMPTY; } #line 42999 "preproc.c" break; case 750: /* RowSecurityDefaultForCmd: FOR row_security_cmd */ #line 5313 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for"),(yyvsp[0].str)); } #line 43007 "preproc.c" break; case 751: /* RowSecurityDefaultForCmd: %empty */ #line 5317 "preproc.y" { (yyval.str)=EMPTY; } #line 43014 "preproc.c" break; case 752: /* row_security_cmd: ALL */ #line 5324 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 43022 "preproc.c" break; case 753: /* row_security_cmd: SELECT */ #line 5328 "preproc.y" { (yyval.str) = mm_strdup("select"); } #line 43030 "preproc.c" break; case 754: /* row_security_cmd: INSERT */ #line 5332 "preproc.y" { (yyval.str) = mm_strdup("insert"); } #line 43038 "preproc.c" break; case 755: /* row_security_cmd: UPDATE */ #line 5336 "preproc.y" { (yyval.str) = mm_strdup("update"); } #line 43046 "preproc.c" break; case 756: /* row_security_cmd: DELETE_P */ #line 5340 "preproc.y" { (yyval.str) = mm_strdup("delete"); } #line 43054 "preproc.c" break; case 757: /* CreateAmStmt: CREATE ACCESS METHOD name TYPE_P am_type HANDLER handler_name */ #line 5348 "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 43062 "preproc.c" break; case 758: /* am_type: INDEX */ #line 5356 "preproc.y" { (yyval.str) = mm_strdup("index"); } #line 43070 "preproc.c" break; case 759: /* am_type: TABLE */ #line 5360 "preproc.y" { (yyval.str) = mm_strdup("table"); } #line 43078 "preproc.c" break; case 760: /* CreateTrigStmt: CREATE opt_or_replace TRIGGER name TriggerActionTime TriggerEvents ON qualified_name TriggerReferencing TriggerForSpec TriggerWhen EXECUTE FUNCTION_or_PROCEDURE func_name '(' TriggerFuncArgs ')' */ #line 5368 "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 43086 "preproc.c" break; case 761: /* 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 5372 "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 43094 "preproc.c" break; case 762: /* TriggerActionTime: BEFORE */ #line 5380 "preproc.y" { (yyval.str) = mm_strdup("before"); } #line 43102 "preproc.c" break; case 763: /* TriggerActionTime: AFTER */ #line 5384 "preproc.y" { (yyval.str) = mm_strdup("after"); } #line 43110 "preproc.c" break; case 764: /* TriggerActionTime: INSTEAD OF */ #line 5388 "preproc.y" { (yyval.str) = mm_strdup("instead of"); } #line 43118 "preproc.c" break; case 765: /* TriggerEvents: TriggerOneEvent */ #line 5396 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43126 "preproc.c" break; case 766: /* TriggerEvents: TriggerEvents OR TriggerOneEvent */ #line 5400 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("or"),(yyvsp[0].str)); } #line 43134 "preproc.c" break; case 767: /* TriggerOneEvent: INSERT */ #line 5408 "preproc.y" { (yyval.str) = mm_strdup("insert"); } #line 43142 "preproc.c" break; case 768: /* TriggerOneEvent: DELETE_P */ #line 5412 "preproc.y" { (yyval.str) = mm_strdup("delete"); } #line 43150 "preproc.c" break; case 769: /* TriggerOneEvent: UPDATE */ #line 5416 "preproc.y" { (yyval.str) = mm_strdup("update"); } #line 43158 "preproc.c" break; case 770: /* TriggerOneEvent: UPDATE OF columnList */ #line 5420 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("update of"),(yyvsp[0].str)); } #line 43166 "preproc.c" break; case 771: /* TriggerOneEvent: TRUNCATE */ #line 5424 "preproc.y" { (yyval.str) = mm_strdup("truncate"); } #line 43174 "preproc.c" break; case 772: /* TriggerReferencing: REFERENCING TriggerTransitions */ #line 5432 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("referencing"),(yyvsp[0].str)); } #line 43182 "preproc.c" break; case 773: /* TriggerReferencing: %empty */ #line 5436 "preproc.y" { (yyval.str)=EMPTY; } #line 43189 "preproc.c" break; case 774: /* TriggerTransitions: TriggerTransition */ #line 5443 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43197 "preproc.c" break; case 775: /* TriggerTransitions: TriggerTransitions TriggerTransition */ #line 5447 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 43205 "preproc.c" break; case 776: /* TriggerTransition: TransitionOldOrNew TransitionRowOrTable opt_as TransitionRelName */ #line 5455 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43213 "preproc.c" break; case 777: /* TransitionOldOrNew: NEW */ #line 5463 "preproc.y" { (yyval.str) = mm_strdup("new"); } #line 43221 "preproc.c" break; case 778: /* TransitionOldOrNew: OLD */ #line 5467 "preproc.y" { (yyval.str) = mm_strdup("old"); } #line 43229 "preproc.c" break; case 779: /* TransitionRowOrTable: TABLE */ #line 5475 "preproc.y" { (yyval.str) = mm_strdup("table"); } #line 43237 "preproc.c" break; case 780: /* TransitionRowOrTable: ROW */ #line 5479 "preproc.y" { (yyval.str) = mm_strdup("row"); } #line 43245 "preproc.c" break; case 781: /* TransitionRelName: ColId */ #line 5487 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43253 "preproc.c" break; case 782: /* TriggerForSpec: FOR TriggerForOptEach TriggerForType */ #line 5495 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("for"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43261 "preproc.c" break; case 783: /* TriggerForSpec: %empty */ #line 5499 "preproc.y" { (yyval.str)=EMPTY; } #line 43268 "preproc.c" break; case 784: /* TriggerForOptEach: EACH */ #line 5506 "preproc.y" { (yyval.str) = mm_strdup("each"); } #line 43276 "preproc.c" break; case 785: /* TriggerForOptEach: %empty */ #line 5510 "preproc.y" { (yyval.str)=EMPTY; } #line 43283 "preproc.c" break; case 786: /* TriggerForType: ROW */ #line 5517 "preproc.y" { (yyval.str) = mm_strdup("row"); } #line 43291 "preproc.c" break; case 787: /* TriggerForType: STATEMENT */ #line 5521 "preproc.y" { (yyval.str) = mm_strdup("statement"); } #line 43299 "preproc.c" break; case 788: /* TriggerWhen: WHEN '(' a_expr ')' */ #line 5529 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("when ("),(yyvsp[-1].str),mm_strdup(")")); } #line 43307 "preproc.c" break; case 789: /* TriggerWhen: %empty */ #line 5533 "preproc.y" { (yyval.str)=EMPTY; } #line 43314 "preproc.c" break; case 790: /* FUNCTION_or_PROCEDURE: FUNCTION */ #line 5540 "preproc.y" { (yyval.str) = mm_strdup("function"); } #line 43322 "preproc.c" break; case 791: /* FUNCTION_or_PROCEDURE: PROCEDURE */ #line 5544 "preproc.y" { (yyval.str) = mm_strdup("procedure"); } #line 43330 "preproc.c" break; case 792: /* TriggerFuncArgs: TriggerFuncArg */ #line 5552 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43338 "preproc.c" break; case 793: /* TriggerFuncArgs: TriggerFuncArgs ',' TriggerFuncArg */ #line 5556 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 43346 "preproc.c" break; case 794: /* TriggerFuncArgs: %empty */ #line 5560 "preproc.y" { (yyval.str)=EMPTY; } #line 43353 "preproc.c" break; case 795: /* TriggerFuncArg: Iconst */ #line 5567 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43361 "preproc.c" break; case 796: /* TriggerFuncArg: ecpg_fconst */ #line 5571 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43369 "preproc.c" break; case 797: /* TriggerFuncArg: ecpg_sconst */ #line 5575 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43377 "preproc.c" break; case 798: /* TriggerFuncArg: ColLabel */ #line 5579 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43385 "preproc.c" break; case 799: /* OptConstrFromTable: FROM qualified_name */ #line 5587 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("from"),(yyvsp[0].str)); } #line 43393 "preproc.c" break; case 800: /* OptConstrFromTable: %empty */ #line 5591 "preproc.y" { (yyval.str)=EMPTY; } #line 43400 "preproc.c" break; case 801: /* ConstraintAttributeSpec: %empty */ #line 5598 "preproc.y" { (yyval.str)=EMPTY; } #line 43407 "preproc.c" break; case 802: /* ConstraintAttributeSpec: ConstraintAttributeSpec ConstraintAttributeElem */ #line 5601 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 43415 "preproc.c" break; case 803: /* ConstraintAttributeElem: NOT DEFERRABLE */ #line 5609 "preproc.y" { (yyval.str) = mm_strdup("not deferrable"); } #line 43423 "preproc.c" break; case 804: /* ConstraintAttributeElem: DEFERRABLE */ #line 5613 "preproc.y" { (yyval.str) = mm_strdup("deferrable"); } #line 43431 "preproc.c" break; case 805: /* ConstraintAttributeElem: INITIALLY IMMEDIATE */ #line 5617 "preproc.y" { (yyval.str) = mm_strdup("initially immediate"); } #line 43439 "preproc.c" break; case 806: /* ConstraintAttributeElem: INITIALLY DEFERRED */ #line 5621 "preproc.y" { (yyval.str) = mm_strdup("initially deferred"); } #line 43447 "preproc.c" break; case 807: /* ConstraintAttributeElem: NOT VALID */ #line 5625 "preproc.y" { (yyval.str) = mm_strdup("not valid"); } #line 43455 "preproc.c" break; case 808: /* ConstraintAttributeElem: NO INHERIT */ #line 5629 "preproc.y" { (yyval.str) = mm_strdup("no inherit"); } #line 43463 "preproc.c" break; case 809: /* CreateEventTrigStmt: CREATE EVENT TRIGGER name ON ColLabel EXECUTE FUNCTION_or_PROCEDURE func_name '(' ')' */ #line 5637 "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 43471 "preproc.c" break; case 810: /* CreateEventTrigStmt: CREATE EVENT TRIGGER name ON ColLabel WHEN event_trigger_when_list EXECUTE FUNCTION_or_PROCEDURE func_name '(' ')' */ #line 5641 "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 43479 "preproc.c" break; case 811: /* event_trigger_when_list: event_trigger_when_item */ #line 5649 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43487 "preproc.c" break; case 812: /* event_trigger_when_list: event_trigger_when_list AND event_trigger_when_item */ #line 5653 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } #line 43495 "preproc.c" break; case 813: /* event_trigger_when_item: ColId IN_P '(' event_trigger_value_list ')' */ #line 5661 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-4].str),mm_strdup("in ("),(yyvsp[-1].str),mm_strdup(")")); } #line 43503 "preproc.c" break; case 814: /* event_trigger_value_list: SCONST */ #line 5669 "preproc.y" { (yyval.str) = mm_strdup("sconst"); } #line 43511 "preproc.c" break; case 815: /* event_trigger_value_list: event_trigger_value_list ',' SCONST */ #line 5673 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup(", sconst")); } #line 43519 "preproc.c" break; case 816: /* AlterEventTrigStmt: ALTER EVENT TRIGGER name enable_trigger */ #line 5681 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter event trigger"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43527 "preproc.c" break; case 817: /* enable_trigger: ENABLE_P */ #line 5689 "preproc.y" { (yyval.str) = mm_strdup("enable"); } #line 43535 "preproc.c" break; case 818: /* enable_trigger: ENABLE_P REPLICA */ #line 5693 "preproc.y" { (yyval.str) = mm_strdup("enable replica"); } #line 43543 "preproc.c" break; case 819: /* enable_trigger: ENABLE_P ALWAYS */ #line 5697 "preproc.y" { (yyval.str) = mm_strdup("enable always"); } #line 43551 "preproc.c" break; case 820: /* enable_trigger: DISABLE_P */ #line 5701 "preproc.y" { (yyval.str) = mm_strdup("disable"); } #line 43559 "preproc.c" break; case 821: /* CreateAssertionStmt: CREATE ASSERTION any_name CHECK '(' a_expr ')' ConstraintAttributeSpec */ #line 5709 "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 43568 "preproc.c" break; case 822: /* DefineStmt: CREATE opt_or_replace AGGREGATE func_name aggr_args definition */ #line 5718 "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 43576 "preproc.c" break; case 823: /* DefineStmt: CREATE opt_or_replace AGGREGATE func_name old_aggr_definition */ #line 5722 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create"),(yyvsp[-3].str),mm_strdup("aggregate"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43584 "preproc.c" break; case 824: /* DefineStmt: CREATE OPERATOR any_operator definition */ #line 5726 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create operator"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43592 "preproc.c" break; case 825: /* DefineStmt: CREATE TYPE_P any_name definition */ #line 5730 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create type"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43600 "preproc.c" break; case 826: /* DefineStmt: CREATE TYPE_P any_name */ #line 5734 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("create type"),(yyvsp[0].str)); } #line 43608 "preproc.c" break; case 827: /* DefineStmt: CREATE TYPE_P any_name AS '(' OptTableFuncElementList ')' */ #line 5738 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create type"),(yyvsp[-4].str),mm_strdup("as ("),(yyvsp[-1].str),mm_strdup(")")); } #line 43616 "preproc.c" break; case 828: /* DefineStmt: CREATE TYPE_P any_name AS ENUM_P '(' opt_enum_val_list ')' */ #line 5742 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create type"),(yyvsp[-5].str),mm_strdup("as enum ("),(yyvsp[-1].str),mm_strdup(")")); } #line 43624 "preproc.c" break; case 829: /* DefineStmt: CREATE TYPE_P any_name AS RANGE definition */ #line 5746 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create type"),(yyvsp[-3].str),mm_strdup("as range"),(yyvsp[0].str)); } #line 43632 "preproc.c" break; case 830: /* DefineStmt: CREATE TEXT_P SEARCH PARSER any_name definition */ #line 5750 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create text search parser"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43640 "preproc.c" break; case 831: /* DefineStmt: CREATE TEXT_P SEARCH DICTIONARY any_name definition */ #line 5754 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create text search dictionary"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43648 "preproc.c" break; case 832: /* DefineStmt: CREATE TEXT_P SEARCH TEMPLATE any_name definition */ #line 5758 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create text search template"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43656 "preproc.c" break; case 833: /* DefineStmt: CREATE TEXT_P SEARCH CONFIGURATION any_name definition */ #line 5762 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create text search configuration"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43664 "preproc.c" break; case 834: /* DefineStmt: CREATE COLLATION any_name definition */ #line 5766 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create collation"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43672 "preproc.c" break; case 835: /* DefineStmt: CREATE COLLATION IF_P NOT EXISTS any_name definition */ #line 5770 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create collation if not exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43680 "preproc.c" break; case 836: /* DefineStmt: CREATE COLLATION any_name FROM any_name */ #line 5774 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create collation"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 43688 "preproc.c" break; case 837: /* DefineStmt: CREATE COLLATION IF_P NOT EXISTS any_name FROM any_name */ #line 5778 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create collation if not exists"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 43696 "preproc.c" break; case 838: /* definition: '(' def_list ')' */ #line 5786 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 43704 "preproc.c" break; case 839: /* def_list: def_elem */ #line 5794 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43712 "preproc.c" break; case 840: /* def_list: def_list ',' def_elem */ #line 5798 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 43720 "preproc.c" break; case 841: /* def_elem: ColLabel '=' def_arg */ #line 5806 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 43728 "preproc.c" break; case 842: /* def_elem: ColLabel */ #line 5810 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43736 "preproc.c" break; case 843: /* def_arg: func_type */ #line 5818 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43744 "preproc.c" break; case 844: /* def_arg: reserved_keyword */ #line 5822 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43752 "preproc.c" break; case 845: /* def_arg: qual_all_Op */ #line 5826 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43760 "preproc.c" break; case 846: /* def_arg: NumericOnly */ #line 5830 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43768 "preproc.c" break; case 847: /* def_arg: ecpg_sconst */ #line 5834 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43776 "preproc.c" break; case 848: /* def_arg: NONE */ #line 5838 "preproc.y" { (yyval.str) = mm_strdup("none"); } #line 43784 "preproc.c" break; case 849: /* old_aggr_definition: '(' old_aggr_list ')' */ #line 5846 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 43792 "preproc.c" break; case 850: /* old_aggr_list: old_aggr_elem */ #line 5854 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43800 "preproc.c" break; case 851: /* old_aggr_list: old_aggr_list ',' old_aggr_elem */ #line 5858 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 43808 "preproc.c" break; case 852: /* old_aggr_elem: ecpg_ident '=' def_arg */ #line 5866 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 43816 "preproc.c" break; case 853: /* opt_enum_val_list: enum_val_list */ #line 5874 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43824 "preproc.c" break; case 854: /* opt_enum_val_list: %empty */ #line 5878 "preproc.y" { (yyval.str)=EMPTY; } #line 43831 "preproc.c" break; case 855: /* enum_val_list: ecpg_sconst */ #line 5885 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43839 "preproc.c" break; case 856: /* enum_val_list: enum_val_list ',' ecpg_sconst */ #line 5889 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 43847 "preproc.c" break; case 857: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists ecpg_sconst */ #line 5897 "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 43855 "preproc.c" break; case 858: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists ecpg_sconst BEFORE ecpg_sconst */ #line 5901 "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 43863 "preproc.c" break; case 859: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists ecpg_sconst AFTER ecpg_sconst */ #line 5905 "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 43871 "preproc.c" break; case 860: /* AlterEnumStmt: ALTER TYPE_P any_name RENAME VALUE_P ecpg_sconst TO ecpg_sconst */ #line 5909 "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 43879 "preproc.c" break; case 861: /* opt_if_not_exists: IF_P NOT EXISTS */ #line 5917 "preproc.y" { (yyval.str) = mm_strdup("if not exists"); } #line 43887 "preproc.c" break; case 862: /* opt_if_not_exists: %empty */ #line 5921 "preproc.y" { (yyval.str)=EMPTY; } #line 43894 "preproc.c" break; case 863: /* CreateOpClassStmt: CREATE OPERATOR CLASS any_name opt_default FOR TYPE_P Typename USING name opt_opfamily AS opclass_item_list */ #line 5928 "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 43902 "preproc.c" break; case 864: /* opclass_item_list: opclass_item */ #line 5936 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43910 "preproc.c" break; case 865: /* opclass_item_list: opclass_item_list ',' opclass_item */ #line 5940 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 43918 "preproc.c" break; case 866: /* opclass_item: OPERATOR Iconst any_operator opclass_purpose opt_recheck */ #line 5948 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("operator"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43926 "preproc.c" break; case 867: /* opclass_item: OPERATOR Iconst operator_with_argtypes opclass_purpose opt_recheck */ #line 5952 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("operator"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43934 "preproc.c" break; case 868: /* opclass_item: FUNCTION Iconst function_with_argtypes */ #line 5956 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("function"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43942 "preproc.c" break; case 869: /* opclass_item: FUNCTION Iconst '(' type_list ')' function_with_argtypes */ #line 5960 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("function"),(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 43950 "preproc.c" break; case 870: /* opclass_item: STORAGE Typename */ #line 5964 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("storage"),(yyvsp[0].str)); } #line 43958 "preproc.c" break; case 871: /* opt_default: DEFAULT */ #line 5972 "preproc.y" { (yyval.str) = mm_strdup("default"); } #line 43966 "preproc.c" break; case 872: /* opt_default: %empty */ #line 5976 "preproc.y" { (yyval.str)=EMPTY; } #line 43973 "preproc.c" break; case 873: /* opt_opfamily: FAMILY any_name */ #line 5983 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("family"),(yyvsp[0].str)); } #line 43981 "preproc.c" break; case 874: /* opt_opfamily: %empty */ #line 5987 "preproc.y" { (yyval.str)=EMPTY; } #line 43988 "preproc.c" break; case 875: /* opclass_purpose: FOR SEARCH */ #line 5994 "preproc.y" { (yyval.str) = mm_strdup("for search"); } #line 43996 "preproc.c" break; case 876: /* opclass_purpose: FOR ORDER BY any_name */ #line 5998 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for order by"),(yyvsp[0].str)); } #line 44004 "preproc.c" break; case 877: /* opclass_purpose: %empty */ #line 6002 "preproc.y" { (yyval.str)=EMPTY; } #line 44011 "preproc.c" break; case 878: /* opt_recheck: RECHECK */ #line 6009 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = mm_strdup("recheck"); } #line 44020 "preproc.c" break; case 879: /* opt_recheck: %empty */ #line 6014 "preproc.y" { (yyval.str)=EMPTY; } #line 44027 "preproc.c" break; case 880: /* CreateOpFamilyStmt: CREATE OPERATOR FAMILY any_name USING name */ #line 6021 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create operator family"),(yyvsp[-2].str),mm_strdup("using"),(yyvsp[0].str)); } #line 44035 "preproc.c" break; case 881: /* AlterOpFamilyStmt: ALTER OPERATOR FAMILY any_name USING name ADD_P opclass_item_list */ #line 6029 "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 44043 "preproc.c" break; case 882: /* AlterOpFamilyStmt: ALTER OPERATOR FAMILY any_name USING name DROP opclass_drop_list */ #line 6033 "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 44051 "preproc.c" break; case 883: /* opclass_drop_list: opclass_drop */ #line 6041 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44059 "preproc.c" break; case 884: /* opclass_drop_list: opclass_drop_list ',' opclass_drop */ #line 6045 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 44067 "preproc.c" break; case 885: /* opclass_drop: OPERATOR Iconst '(' type_list ')' */ #line 6053 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("operator"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 44075 "preproc.c" break; case 886: /* opclass_drop: FUNCTION Iconst '(' type_list ')' */ #line 6057 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("function"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 44083 "preproc.c" break; case 887: /* DropOpClassStmt: DROP OPERATOR CLASS any_name USING name opt_drop_behavior */ #line 6065 "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 44091 "preproc.c" break; case 888: /* DropOpClassStmt: DROP OPERATOR CLASS IF_P EXISTS any_name USING name opt_drop_behavior */ #line 6069 "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 44099 "preproc.c" break; case 889: /* DropOpFamilyStmt: DROP OPERATOR FAMILY any_name USING name opt_drop_behavior */ #line 6077 "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 44107 "preproc.c" break; case 890: /* DropOpFamilyStmt: DROP OPERATOR FAMILY IF_P EXISTS any_name USING name opt_drop_behavior */ #line 6081 "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 44115 "preproc.c" break; case 891: /* DropOwnedStmt: DROP OWNED BY role_list opt_drop_behavior */ #line 6089 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop owned by"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44123 "preproc.c" break; case 892: /* ReassignOwnedStmt: REASSIGN OWNED BY role_list TO RoleSpec */ #line 6097 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("reassign owned by"),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 44131 "preproc.c" break; case 893: /* DropStmt: DROP object_type_any_name IF_P EXISTS any_name_list opt_drop_behavior */ #line 6105 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop"),(yyvsp[-4].str),mm_strdup("if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44139 "preproc.c" break; case 894: /* DropStmt: DROP object_type_any_name any_name_list opt_drop_behavior */ #line 6109 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("drop"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44147 "preproc.c" break; case 895: /* DropStmt: DROP drop_type_name IF_P EXISTS name_list opt_drop_behavior */ #line 6113 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop"),(yyvsp[-4].str),mm_strdup("if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44155 "preproc.c" break; case 896: /* DropStmt: DROP drop_type_name name_list opt_drop_behavior */ #line 6117 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("drop"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44163 "preproc.c" break; case 897: /* DropStmt: DROP object_type_name_on_any_name name ON any_name opt_drop_behavior */ #line 6121 "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 44171 "preproc.c" break; case 898: /* DropStmt: DROP object_type_name_on_any_name IF_P EXISTS name ON any_name opt_drop_behavior */ #line 6125 "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 44179 "preproc.c" break; case 899: /* DropStmt: DROP TYPE_P type_name_list opt_drop_behavior */ #line 6129 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop type"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44187 "preproc.c" break; case 900: /* DropStmt: DROP TYPE_P IF_P EXISTS type_name_list opt_drop_behavior */ #line 6133 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop type if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44195 "preproc.c" break; case 901: /* DropStmt: DROP DOMAIN_P type_name_list opt_drop_behavior */ #line 6137 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop domain"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44203 "preproc.c" break; case 902: /* DropStmt: DROP DOMAIN_P IF_P EXISTS type_name_list opt_drop_behavior */ #line 6141 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop domain if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44211 "preproc.c" break; case 903: /* DropStmt: DROP INDEX CONCURRENTLY any_name_list opt_drop_behavior */ #line 6145 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop index concurrently"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44219 "preproc.c" break; case 904: /* DropStmt: DROP INDEX CONCURRENTLY IF_P EXISTS any_name_list opt_drop_behavior */ #line 6149 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop index concurrently if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44227 "preproc.c" break; case 905: /* object_type_any_name: TABLE */ #line 6157 "preproc.y" { (yyval.str) = mm_strdup("table"); } #line 44235 "preproc.c" break; case 906: /* object_type_any_name: SEQUENCE */ #line 6161 "preproc.y" { (yyval.str) = mm_strdup("sequence"); } #line 44243 "preproc.c" break; case 907: /* object_type_any_name: VIEW */ #line 6165 "preproc.y" { (yyval.str) = mm_strdup("view"); } #line 44251 "preproc.c" break; case 908: /* object_type_any_name: MATERIALIZED VIEW */ #line 6169 "preproc.y" { (yyval.str) = mm_strdup("materialized view"); } #line 44259 "preproc.c" break; case 909: /* object_type_any_name: INDEX */ #line 6173 "preproc.y" { (yyval.str) = mm_strdup("index"); } #line 44267 "preproc.c" break; case 910: /* object_type_any_name: FOREIGN TABLE */ #line 6177 "preproc.y" { (yyval.str) = mm_strdup("foreign table"); } #line 44275 "preproc.c" break; case 911: /* object_type_any_name: COLLATION */ #line 6181 "preproc.y" { (yyval.str) = mm_strdup("collation"); } #line 44283 "preproc.c" break; case 912: /* object_type_any_name: CONVERSION_P */ #line 6185 "preproc.y" { (yyval.str) = mm_strdup("conversion"); } #line 44291 "preproc.c" break; case 913: /* object_type_any_name: STATISTICS */ #line 6189 "preproc.y" { (yyval.str) = mm_strdup("statistics"); } #line 44299 "preproc.c" break; case 914: /* object_type_any_name: TEXT_P SEARCH PARSER */ #line 6193 "preproc.y" { (yyval.str) = mm_strdup("text search parser"); } #line 44307 "preproc.c" break; case 915: /* object_type_any_name: TEXT_P SEARCH DICTIONARY */ #line 6197 "preproc.y" { (yyval.str) = mm_strdup("text search dictionary"); } #line 44315 "preproc.c" break; case 916: /* object_type_any_name: TEXT_P SEARCH TEMPLATE */ #line 6201 "preproc.y" { (yyval.str) = mm_strdup("text search template"); } #line 44323 "preproc.c" break; case 917: /* object_type_any_name: TEXT_P SEARCH CONFIGURATION */ #line 6205 "preproc.y" { (yyval.str) = mm_strdup("text search configuration"); } #line 44331 "preproc.c" break; case 918: /* object_type_name: drop_type_name */ #line 6213 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44339 "preproc.c" break; case 919: /* object_type_name: DATABASE */ #line 6217 "preproc.y" { (yyval.str) = mm_strdup("database"); } #line 44347 "preproc.c" break; case 920: /* object_type_name: ROLE */ #line 6221 "preproc.y" { (yyval.str) = mm_strdup("role"); } #line 44355 "preproc.c" break; case 921: /* object_type_name: SUBSCRIPTION */ #line 6225 "preproc.y" { (yyval.str) = mm_strdup("subscription"); } #line 44363 "preproc.c" break; case 922: /* object_type_name: TABLESPACE */ #line 6229 "preproc.y" { (yyval.str) = mm_strdup("tablespace"); } #line 44371 "preproc.c" break; case 923: /* drop_type_name: ACCESS METHOD */ #line 6237 "preproc.y" { (yyval.str) = mm_strdup("access method"); } #line 44379 "preproc.c" break; case 924: /* drop_type_name: EVENT TRIGGER */ #line 6241 "preproc.y" { (yyval.str) = mm_strdup("event trigger"); } #line 44387 "preproc.c" break; case 925: /* drop_type_name: EXTENSION */ #line 6245 "preproc.y" { (yyval.str) = mm_strdup("extension"); } #line 44395 "preproc.c" break; case 926: /* drop_type_name: FOREIGN DATA_P WRAPPER */ #line 6249 "preproc.y" { (yyval.str) = mm_strdup("foreign data wrapper"); } #line 44403 "preproc.c" break; case 927: /* drop_type_name: opt_procedural LANGUAGE */ #line 6253 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("language")); } #line 44411 "preproc.c" break; case 928: /* drop_type_name: PUBLICATION */ #line 6257 "preproc.y" { (yyval.str) = mm_strdup("publication"); } #line 44419 "preproc.c" break; case 929: /* drop_type_name: SCHEMA */ #line 6261 "preproc.y" { (yyval.str) = mm_strdup("schema"); } #line 44427 "preproc.c" break; case 930: /* drop_type_name: SERVER */ #line 6265 "preproc.y" { (yyval.str) = mm_strdup("server"); } #line 44435 "preproc.c" break; case 931: /* object_type_name_on_any_name: POLICY */ #line 6273 "preproc.y" { (yyval.str) = mm_strdup("policy"); } #line 44443 "preproc.c" break; case 932: /* object_type_name_on_any_name: RULE */ #line 6277 "preproc.y" { (yyval.str) = mm_strdup("rule"); } #line 44451 "preproc.c" break; case 933: /* object_type_name_on_any_name: TRIGGER */ #line 6281 "preproc.y" { (yyval.str) = mm_strdup("trigger"); } #line 44459 "preproc.c" break; case 934: /* any_name_list: any_name */ #line 6289 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44467 "preproc.c" break; case 935: /* any_name_list: any_name_list ',' any_name */ #line 6293 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 44475 "preproc.c" break; case 936: /* any_name: ColId */ #line 6301 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44483 "preproc.c" break; case 937: /* any_name: ColId attrs */ #line 6305 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 44491 "preproc.c" break; case 938: /* attrs: '.' attr_name */ #line 6313 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("."),(yyvsp[0].str)); } #line 44499 "preproc.c" break; case 939: /* attrs: attrs '.' attr_name */ #line 6317 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("."),(yyvsp[0].str)); } #line 44507 "preproc.c" break; case 940: /* type_name_list: Typename */ #line 6325 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44515 "preproc.c" break; case 941: /* type_name_list: type_name_list ',' Typename */ #line 6329 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 44523 "preproc.c" break; case 942: /* TruncateStmt: TRUNCATE opt_table relation_expr_list opt_restart_seqs opt_drop_behavior */ #line 6337 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("truncate"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44531 "preproc.c" break; case 943: /* opt_restart_seqs: CONTINUE_P IDENTITY_P */ #line 6345 "preproc.y" { (yyval.str) = mm_strdup("continue identity"); } #line 44539 "preproc.c" break; case 944: /* opt_restart_seqs: RESTART IDENTITY_P */ #line 6349 "preproc.y" { (yyval.str) = mm_strdup("restart identity"); } #line 44547 "preproc.c" break; case 945: /* opt_restart_seqs: %empty */ #line 6353 "preproc.y" { (yyval.str)=EMPTY; } #line 44554 "preproc.c" break; case 946: /* CommentStmt: COMMENT ON object_type_any_name any_name IS comment_text */ #line 6360 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("comment on"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 44562 "preproc.c" break; case 947: /* CommentStmt: COMMENT ON COLUMN any_name IS comment_text */ #line 6364 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on column"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 44570 "preproc.c" break; case 948: /* CommentStmt: COMMENT ON object_type_name name IS comment_text */ #line 6368 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("comment on"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 44578 "preproc.c" break; case 949: /* CommentStmt: COMMENT ON TYPE_P Typename IS comment_text */ #line 6372 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on type"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 44586 "preproc.c" break; case 950: /* CommentStmt: COMMENT ON DOMAIN_P Typename IS comment_text */ #line 6376 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on domain"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 44594 "preproc.c" break; case 951: /* CommentStmt: COMMENT ON AGGREGATE aggregate_with_argtypes IS comment_text */ #line 6380 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on aggregate"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 44602 "preproc.c" break; case 952: /* CommentStmt: COMMENT ON FUNCTION function_with_argtypes IS comment_text */ #line 6384 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on function"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 44610 "preproc.c" break; case 953: /* CommentStmt: COMMENT ON OPERATOR operator_with_argtypes IS comment_text */ #line 6388 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on operator"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 44618 "preproc.c" break; case 954: /* CommentStmt: COMMENT ON CONSTRAINT name ON any_name IS comment_text */ #line 6392 "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 44626 "preproc.c" break; case 955: /* CommentStmt: COMMENT ON CONSTRAINT name ON DOMAIN_P any_name IS comment_text */ #line 6396 "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 44634 "preproc.c" break; case 956: /* CommentStmt: COMMENT ON object_type_name_on_any_name name ON any_name IS comment_text */ #line 6400 "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 44642 "preproc.c" break; case 957: /* CommentStmt: COMMENT ON PROCEDURE function_with_argtypes IS comment_text */ #line 6404 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on procedure"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 44650 "preproc.c" break; case 958: /* CommentStmt: COMMENT ON ROUTINE function_with_argtypes IS comment_text */ #line 6408 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on routine"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 44658 "preproc.c" break; case 959: /* CommentStmt: COMMENT ON TRANSFORM FOR Typename LANGUAGE name IS comment_text */ #line 6412 "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 44666 "preproc.c" break; case 960: /* CommentStmt: COMMENT ON OPERATOR CLASS any_name USING name IS comment_text */ #line 6416 "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 44674 "preproc.c" break; case 961: /* CommentStmt: COMMENT ON OPERATOR FAMILY any_name USING name IS comment_text */ #line 6420 "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 44682 "preproc.c" break; case 962: /* CommentStmt: COMMENT ON LARGE_P OBJECT_P NumericOnly IS comment_text */ #line 6424 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on large object"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 44690 "preproc.c" break; case 963: /* CommentStmt: COMMENT ON CAST '(' Typename AS Typename ')' IS comment_text */ #line 6428 "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 44698 "preproc.c" break; case 964: /* comment_text: ecpg_sconst */ #line 6436 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44706 "preproc.c" break; case 965: /* comment_text: NULL_P */ #line 6440 "preproc.y" { (yyval.str) = mm_strdup("null"); } #line 44714 "preproc.c" break; case 966: /* SecLabelStmt: SECURITY LABEL opt_provider ON object_type_any_name any_name IS security_label */ #line 6448 "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 44722 "preproc.c" break; case 967: /* SecLabelStmt: SECURITY LABEL opt_provider ON COLUMN any_name IS security_label */ #line 6452 "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 44730 "preproc.c" break; case 968: /* SecLabelStmt: SECURITY LABEL opt_provider ON object_type_name name IS security_label */ #line 6456 "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 44738 "preproc.c" break; case 969: /* SecLabelStmt: SECURITY LABEL opt_provider ON TYPE_P Typename IS security_label */ #line 6460 "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 44746 "preproc.c" break; case 970: /* SecLabelStmt: SECURITY LABEL opt_provider ON DOMAIN_P Typename IS security_label */ #line 6464 "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 44754 "preproc.c" break; case 971: /* SecLabelStmt: SECURITY LABEL opt_provider ON AGGREGATE aggregate_with_argtypes IS security_label */ #line 6468 "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 44762 "preproc.c" break; case 972: /* SecLabelStmt: SECURITY LABEL opt_provider ON FUNCTION function_with_argtypes IS security_label */ #line 6472 "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 44770 "preproc.c" break; case 973: /* SecLabelStmt: SECURITY LABEL opt_provider ON LARGE_P OBJECT_P NumericOnly IS security_label */ #line 6476 "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 44778 "preproc.c" break; case 974: /* SecLabelStmt: SECURITY LABEL opt_provider ON PROCEDURE function_with_argtypes IS security_label */ #line 6480 "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 44786 "preproc.c" break; case 975: /* SecLabelStmt: SECURITY LABEL opt_provider ON ROUTINE function_with_argtypes IS security_label */ #line 6484 "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 44794 "preproc.c" break; case 976: /* opt_provider: FOR NonReservedWord_or_Sconst */ #line 6492 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for"),(yyvsp[0].str)); } #line 44802 "preproc.c" break; case 977: /* opt_provider: %empty */ #line 6496 "preproc.y" { (yyval.str)=EMPTY; } #line 44809 "preproc.c" break; case 978: /* security_label: ecpg_sconst */ #line 6503 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44817 "preproc.c" break; case 979: /* security_label: NULL_P */ #line 6507 "preproc.y" { (yyval.str) = mm_strdup("null"); } #line 44825 "preproc.c" break; case 980: /* FetchStmt: FETCH fetch_args */ #line 6515 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("fetch"),(yyvsp[0].str)); } #line 44833 "preproc.c" break; case 981: /* FetchStmt: MOVE fetch_args */ #line 6519 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("move"),(yyvsp[0].str)); } #line 44841 "preproc.c" break; case 982: /* FetchStmt: FETCH fetch_args ecpg_fetch_into */ #line 6523 "preproc.y" { (yyval.str) = cat2_str(mm_strdup("fetch"), (yyvsp[-1].str)); } #line 44849 "preproc.c" break; case 983: /* FetchStmt: FETCH FORWARD cursor_name opt_ecpg_fetch_into */ #line 6527 "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 44862 "preproc.c" break; case 984: /* FetchStmt: FETCH FORWARD from_in cursor_name opt_ecpg_fetch_into */ #line 6536 "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 44875 "preproc.c" break; case 985: /* FetchStmt: FETCH BACKWARD cursor_name opt_ecpg_fetch_into */ #line 6545 "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 44888 "preproc.c" break; case 986: /* FetchStmt: FETCH BACKWARD from_in cursor_name opt_ecpg_fetch_into */ #line 6554 "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 44901 "preproc.c" break; case 987: /* FetchStmt: MOVE FORWARD cursor_name */ #line 6563 "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 44914 "preproc.c" break; case 988: /* FetchStmt: MOVE FORWARD from_in cursor_name */ #line 6572 "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 44927 "preproc.c" break; case 989: /* FetchStmt: MOVE BACKWARD cursor_name */ #line 6581 "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 44940 "preproc.c" break; case 990: /* FetchStmt: MOVE BACKWARD from_in cursor_name */ #line 6590 "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 44953 "preproc.c" break; case 991: /* fetch_args: cursor_name */ #line 6603 "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 44971 "preproc.c" break; case 992: /* fetch_args: from_in cursor_name */ #line 6617 "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 44989 "preproc.c" break; case 993: /* fetch_args: NEXT opt_from_in cursor_name */ #line 6631 "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 45007 "preproc.c" break; case 994: /* fetch_args: PRIOR opt_from_in cursor_name */ #line 6645 "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 45025 "preproc.c" break; case 995: /* fetch_args: FIRST_P opt_from_in cursor_name */ #line 6659 "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 45043 "preproc.c" break; case 996: /* fetch_args: LAST_P opt_from_in 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) = cat_str(3,mm_strdup("last"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45061 "preproc.c" break; case 997: /* fetch_args: ABSOLUTE_P SignedIconst opt_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"); } 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 45084 "preproc.c" break; case 998: /* fetch_args: RELATIVE_P SignedIconst opt_from_in cursor_name */ #line 6706 "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 45107 "preproc.c" break; case 999: /* fetch_args: SignedIconst opt_from_in cursor_name */ #line 6725 "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 45130 "preproc.c" break; case 1000: /* fetch_args: ALL opt_from_in cursor_name */ #line 6744 "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 45148 "preproc.c" break; case 1001: /* fetch_args: FORWARD SignedIconst opt_from_in cursor_name */ #line 6758 "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 45171 "preproc.c" break; case 1002: /* fetch_args: FORWARD ALL opt_from_in cursor_name */ #line 6777 "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 45189 "preproc.c" break; case 1003: /* fetch_args: BACKWARD SignedIconst opt_from_in cursor_name */ #line 6791 "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 45212 "preproc.c" break; case 1004: /* fetch_args: BACKWARD ALL opt_from_in cursor_name */ #line 6810 "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 45230 "preproc.c" break; case 1005: /* from_in: FROM */ #line 6828 "preproc.y" { (yyval.str) = mm_strdup("from"); } #line 45238 "preproc.c" break; case 1006: /* from_in: IN_P */ #line 6832 "preproc.y" { (yyval.str) = mm_strdup("in"); } #line 45246 "preproc.c" break; case 1007: /* opt_from_in: from_in */ #line 6840 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45254 "preproc.c" break; case 1008: /* opt_from_in: %empty */ #line 6844 "preproc.y" { (yyval.str)=EMPTY; } #line 45261 "preproc.c" break; case 1009: /* GrantStmt: GRANT privileges ON privilege_target TO grantee_list opt_grant_grant_option opt_granted_by */ #line 6851 "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 45269 "preproc.c" break; case 1010: /* RevokeStmt: REVOKE privileges ON privilege_target FROM grantee_list opt_granted_by opt_drop_behavior */ #line 6859 "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 45277 "preproc.c" break; case 1011: /* RevokeStmt: REVOKE GRANT OPTION FOR privileges ON privilege_target FROM grantee_list opt_granted_by opt_drop_behavior */ #line 6863 "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 45285 "preproc.c" break; case 1012: /* privileges: privilege_list */ #line 6871 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45293 "preproc.c" break; case 1013: /* privileges: ALL */ #line 6875 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 45301 "preproc.c" break; case 1014: /* privileges: ALL PRIVILEGES */ #line 6879 "preproc.y" { (yyval.str) = mm_strdup("all privileges"); } #line 45309 "preproc.c" break; case 1015: /* privileges: ALL '(' columnList ')' */ #line 6883 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("all ("),(yyvsp[-1].str),mm_strdup(")")); } #line 45317 "preproc.c" break; case 1016: /* privileges: ALL PRIVILEGES '(' columnList ')' */ #line 6887 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("all privileges ("),(yyvsp[-1].str),mm_strdup(")")); } #line 45325 "preproc.c" break; case 1017: /* privilege_list: privilege */ #line 6895 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45333 "preproc.c" break; case 1018: /* privilege_list: privilege_list ',' privilege */ #line 6899 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 45341 "preproc.c" break; case 1019: /* privilege: SELECT opt_column_list */ #line 6907 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("select"),(yyvsp[0].str)); } #line 45349 "preproc.c" break; case 1020: /* privilege: REFERENCES opt_column_list */ #line 6911 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("references"),(yyvsp[0].str)); } #line 45357 "preproc.c" break; case 1021: /* privilege: CREATE opt_column_list */ #line 6915 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("create"),(yyvsp[0].str)); } #line 45365 "preproc.c" break; case 1022: /* privilege: ALTER SYSTEM_P */ #line 6919 "preproc.y" { (yyval.str) = mm_strdup("alter system"); } #line 45373 "preproc.c" break; case 1023: /* privilege: ColId opt_column_list */ #line 6923 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 45381 "preproc.c" break; case 1024: /* parameter_name_list: parameter_name */ #line 6931 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45389 "preproc.c" break; case 1025: /* parameter_name_list: parameter_name_list ',' parameter_name */ #line 6935 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 45397 "preproc.c" break; case 1026: /* parameter_name: ColId */ #line 6943 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45405 "preproc.c" break; case 1027: /* parameter_name: parameter_name '.' ColId */ #line 6947 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("."),(yyvsp[0].str)); } #line 45413 "preproc.c" break; case 1028: /* privilege_target: qualified_name_list */ #line 6955 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45421 "preproc.c" break; case 1029: /* privilege_target: TABLE qualified_name_list */ #line 6959 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("table"),(yyvsp[0].str)); } #line 45429 "preproc.c" break; case 1030: /* privilege_target: SEQUENCE qualified_name_list */ #line 6963 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("sequence"),(yyvsp[0].str)); } #line 45437 "preproc.c" break; case 1031: /* privilege_target: FOREIGN DATA_P WRAPPER name_list */ #line 6967 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("foreign data wrapper"),(yyvsp[0].str)); } #line 45445 "preproc.c" break; case 1032: /* privilege_target: FOREIGN SERVER name_list */ #line 6971 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("foreign server"),(yyvsp[0].str)); } #line 45453 "preproc.c" break; case 1033: /* privilege_target: FUNCTION function_with_argtypes_list */ #line 6975 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("function"),(yyvsp[0].str)); } #line 45461 "preproc.c" break; case 1034: /* privilege_target: PROCEDURE function_with_argtypes_list */ #line 6979 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("procedure"),(yyvsp[0].str)); } #line 45469 "preproc.c" break; case 1035: /* privilege_target: ROUTINE function_with_argtypes_list */ #line 6983 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("routine"),(yyvsp[0].str)); } #line 45477 "preproc.c" break; case 1036: /* privilege_target: DATABASE name_list */ #line 6987 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("database"),(yyvsp[0].str)); } #line 45485 "preproc.c" break; case 1037: /* privilege_target: DOMAIN_P any_name_list */ #line 6991 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("domain"),(yyvsp[0].str)); } #line 45493 "preproc.c" break; case 1038: /* privilege_target: LANGUAGE name_list */ #line 6995 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("language"),(yyvsp[0].str)); } #line 45501 "preproc.c" break; case 1039: /* privilege_target: LARGE_P OBJECT_P NumericOnly_list */ #line 6999 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("large object"),(yyvsp[0].str)); } #line 45509 "preproc.c" break; case 1040: /* privilege_target: PARAMETER parameter_name_list */ #line 7003 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("parameter"),(yyvsp[0].str)); } #line 45517 "preproc.c" break; case 1041: /* privilege_target: SCHEMA name_list */ #line 7007 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("schema"),(yyvsp[0].str)); } #line 45525 "preproc.c" break; case 1042: /* privilege_target: TABLESPACE name_list */ #line 7011 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("tablespace"),(yyvsp[0].str)); } #line 45533 "preproc.c" break; case 1043: /* privilege_target: TYPE_P any_name_list */ #line 7015 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("type"),(yyvsp[0].str)); } #line 45541 "preproc.c" break; case 1044: /* privilege_target: ALL TABLES IN_P SCHEMA name_list */ #line 7019 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("all tables in schema"),(yyvsp[0].str)); } #line 45549 "preproc.c" break; case 1045: /* privilege_target: ALL SEQUENCES IN_P SCHEMA name_list */ #line 7023 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("all sequences in schema"),(yyvsp[0].str)); } #line 45557 "preproc.c" break; case 1046: /* privilege_target: ALL FUNCTIONS IN_P SCHEMA name_list */ #line 7027 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("all functions in schema"),(yyvsp[0].str)); } #line 45565 "preproc.c" break; case 1047: /* privilege_target: ALL PROCEDURES IN_P SCHEMA name_list */ #line 7031 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("all procedures in schema"),(yyvsp[0].str)); } #line 45573 "preproc.c" break; case 1048: /* privilege_target: ALL ROUTINES IN_P SCHEMA name_list */ #line 7035 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("all routines in schema"),(yyvsp[0].str)); } #line 45581 "preproc.c" break; case 1049: /* grantee_list: grantee */ #line 7043 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45589 "preproc.c" break; case 1050: /* grantee_list: grantee_list ',' grantee */ #line 7047 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 45597 "preproc.c" break; case 1051: /* grantee: RoleSpec */ #line 7055 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45605 "preproc.c" break; case 1052: /* grantee: GROUP_P RoleSpec */ #line 7059 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("group"),(yyvsp[0].str)); } #line 45613 "preproc.c" break; case 1053: /* opt_grant_grant_option: WITH GRANT OPTION */ #line 7067 "preproc.y" { (yyval.str) = mm_strdup("with grant option"); } #line 45621 "preproc.c" break; case 1054: /* opt_grant_grant_option: %empty */ #line 7071 "preproc.y" { (yyval.str)=EMPTY; } #line 45628 "preproc.c" break; case 1055: /* GrantRoleStmt: GRANT privilege_list TO role_list opt_grant_admin_option opt_granted_by */ #line 7078 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("grant"),(yyvsp[-4].str),mm_strdup("to"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45636 "preproc.c" break; case 1056: /* RevokeRoleStmt: REVOKE privilege_list FROM role_list opt_granted_by opt_drop_behavior */ #line 7086 "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 45644 "preproc.c" break; case 1057: /* RevokeRoleStmt: REVOKE ADMIN OPTION FOR privilege_list FROM role_list opt_granted_by opt_drop_behavior */ #line 7090 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("revoke admin option for"),(yyvsp[-4].str),mm_strdup("from"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45652 "preproc.c" break; case 1058: /* opt_grant_admin_option: WITH ADMIN OPTION */ #line 7098 "preproc.y" { (yyval.str) = mm_strdup("with admin option"); } #line 45660 "preproc.c" break; case 1059: /* opt_grant_admin_option: %empty */ #line 7102 "preproc.y" { (yyval.str)=EMPTY; } #line 45667 "preproc.c" break; case 1060: /* opt_granted_by: GRANTED BY RoleSpec */ #line 7109 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("granted by"),(yyvsp[0].str)); } #line 45675 "preproc.c" break; case 1061: /* opt_granted_by: %empty */ #line 7113 "preproc.y" { (yyval.str)=EMPTY; } #line 45682 "preproc.c" break; case 1062: /* AlterDefaultPrivilegesStmt: ALTER DEFAULT PRIVILEGES DefACLOptionList DefACLAction */ #line 7120 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter default privileges"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45690 "preproc.c" break; case 1063: /* DefACLOptionList: DefACLOptionList DefACLOption */ #line 7128 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 45698 "preproc.c" break; case 1064: /* DefACLOptionList: %empty */ #line 7132 "preproc.y" { (yyval.str)=EMPTY; } #line 45705 "preproc.c" break; case 1065: /* DefACLOption: IN_P SCHEMA name_list */ #line 7139 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("in schema"),(yyvsp[0].str)); } #line 45713 "preproc.c" break; case 1066: /* DefACLOption: FOR ROLE role_list */ #line 7143 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for role"),(yyvsp[0].str)); } #line 45721 "preproc.c" break; case 1067: /* DefACLOption: FOR USER role_list */ #line 7147 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for user"),(yyvsp[0].str)); } #line 45729 "preproc.c" break; case 1068: /* DefACLAction: GRANT privileges ON defacl_privilege_target TO grantee_list opt_grant_grant_option */ #line 7155 "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 45737 "preproc.c" break; case 1069: /* DefACLAction: REVOKE privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior */ #line 7159 "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 45745 "preproc.c" break; case 1070: /* DefACLAction: REVOKE GRANT OPTION FOR privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior */ #line 7163 "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 45753 "preproc.c" break; case 1071: /* defacl_privilege_target: TABLES */ #line 7171 "preproc.y" { (yyval.str) = mm_strdup("tables"); } #line 45761 "preproc.c" break; case 1072: /* defacl_privilege_target: FUNCTIONS */ #line 7175 "preproc.y" { (yyval.str) = mm_strdup("functions"); } #line 45769 "preproc.c" break; case 1073: /* defacl_privilege_target: ROUTINES */ #line 7179 "preproc.y" { (yyval.str) = mm_strdup("routines"); } #line 45777 "preproc.c" break; case 1074: /* defacl_privilege_target: SEQUENCES */ #line 7183 "preproc.y" { (yyval.str) = mm_strdup("sequences"); } #line 45785 "preproc.c" break; case 1075: /* defacl_privilege_target: TYPES_P */ #line 7187 "preproc.y" { (yyval.str) = mm_strdup("types"); } #line 45793 "preproc.c" break; case 1076: /* defacl_privilege_target: SCHEMAS */ #line 7191 "preproc.y" { (yyval.str) = mm_strdup("schemas"); } #line 45801 "preproc.c" break; case 1077: /* IndexStmt: CREATE opt_unique INDEX opt_concurrently opt_index_name ON relation_expr access_method_clause '(' index_params ')' opt_include opt_unique_null_treatment opt_reloptions OptTableSpace where_clause */ #line 7199 "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 45809 "preproc.c" break; case 1078: /* 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 7203 "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 45817 "preproc.c" break; case 1079: /* opt_unique: UNIQUE */ #line 7211 "preproc.y" { (yyval.str) = mm_strdup("unique"); } #line 45825 "preproc.c" break; case 1080: /* opt_unique: %empty */ #line 7215 "preproc.y" { (yyval.str)=EMPTY; } #line 45832 "preproc.c" break; case 1081: /* opt_concurrently: CONCURRENTLY */ #line 7222 "preproc.y" { (yyval.str) = mm_strdup("concurrently"); } #line 45840 "preproc.c" break; case 1082: /* opt_concurrently: %empty */ #line 7226 "preproc.y" { (yyval.str)=EMPTY; } #line 45847 "preproc.c" break; case 1083: /* opt_index_name: name */ #line 7233 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45855 "preproc.c" break; case 1084: /* opt_index_name: %empty */ #line 7237 "preproc.y" { (yyval.str)=EMPTY; } #line 45862 "preproc.c" break; case 1085: /* access_method_clause: USING name */ #line 7244 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using"),(yyvsp[0].str)); } #line 45870 "preproc.c" break; case 1086: /* access_method_clause: %empty */ #line 7248 "preproc.y" { (yyval.str)=EMPTY; } #line 45877 "preproc.c" break; case 1087: /* index_params: index_elem */ #line 7255 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45885 "preproc.c" break; case 1088: /* index_params: index_params ',' index_elem */ #line 7259 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 45893 "preproc.c" break; case 1089: /* index_elem_options: opt_collate opt_class opt_asc_desc opt_nulls_order */ #line 7267 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45901 "preproc.c" break; case 1090: /* index_elem_options: opt_collate any_name reloptions opt_asc_desc opt_nulls_order */ #line 7271 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45909 "preproc.c" break; case 1091: /* index_elem: ColId index_elem_options */ #line 7279 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 45917 "preproc.c" break; case 1092: /* index_elem: func_expr_windowless index_elem_options */ #line 7283 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 45925 "preproc.c" break; case 1093: /* index_elem: '(' a_expr ')' index_elem_options */ #line 7287 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 45933 "preproc.c" break; case 1094: /* opt_include: INCLUDE '(' index_including_params ')' */ #line 7295 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("include ("),(yyvsp[-1].str),mm_strdup(")")); } #line 45941 "preproc.c" break; case 1095: /* opt_include: %empty */ #line 7299 "preproc.y" { (yyval.str)=EMPTY; } #line 45948 "preproc.c" break; case 1096: /* index_including_params: index_elem */ #line 7306 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45956 "preproc.c" break; case 1097: /* index_including_params: index_including_params ',' index_elem */ #line 7310 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 45964 "preproc.c" break; case 1098: /* opt_collate: COLLATE any_name */ #line 7318 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("collate"),(yyvsp[0].str)); } #line 45972 "preproc.c" break; case 1099: /* opt_collate: %empty */ #line 7322 "preproc.y" { (yyval.str)=EMPTY; } #line 45979 "preproc.c" break; case 1100: /* opt_class: any_name */ #line 7329 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45987 "preproc.c" break; case 1101: /* opt_class: %empty */ #line 7333 "preproc.y" { (yyval.str)=EMPTY; } #line 45994 "preproc.c" break; case 1102: /* opt_asc_desc: ASC */ #line 7340 "preproc.y" { (yyval.str) = mm_strdup("asc"); } #line 46002 "preproc.c" break; case 1103: /* opt_asc_desc: DESC */ #line 7344 "preproc.y" { (yyval.str) = mm_strdup("desc"); } #line 46010 "preproc.c" break; case 1104: /* opt_asc_desc: %empty */ #line 7348 "preproc.y" { (yyval.str)=EMPTY; } #line 46017 "preproc.c" break; case 1105: /* opt_nulls_order: NULLS_LA FIRST_P */ #line 7355 "preproc.y" { (yyval.str) = mm_strdup("nulls first"); } #line 46025 "preproc.c" break; case 1106: /* opt_nulls_order: NULLS_LA LAST_P */ #line 7359 "preproc.y" { (yyval.str) = mm_strdup("nulls last"); } #line 46033 "preproc.c" break; case 1107: /* opt_nulls_order: %empty */ #line 7363 "preproc.y" { (yyval.str)=EMPTY; } #line 46040 "preproc.c" break; case 1108: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults RETURNS func_return opt_createfunc_opt_list opt_routine_body */ #line 7370 "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 46048 "preproc.c" break; case 1109: /* 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 7374 "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 46056 "preproc.c" break; case 1110: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults opt_createfunc_opt_list opt_routine_body */ #line 7378 "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 46064 "preproc.c" break; case 1111: /* CreateFunctionStmt: CREATE opt_or_replace PROCEDURE func_name func_args_with_defaults opt_createfunc_opt_list opt_routine_body */ #line 7382 "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 46072 "preproc.c" break; case 1112: /* opt_or_replace: OR REPLACE */ #line 7390 "preproc.y" { (yyval.str) = mm_strdup("or replace"); } #line 46080 "preproc.c" break; case 1113: /* opt_or_replace: %empty */ #line 7394 "preproc.y" { (yyval.str)=EMPTY; } #line 46087 "preproc.c" break; case 1114: /* func_args: '(' func_args_list ')' */ #line 7401 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 46095 "preproc.c" break; case 1115: /* func_args: '(' ')' */ #line 7405 "preproc.y" { (yyval.str) = mm_strdup("( )"); } #line 46103 "preproc.c" break; case 1116: /* func_args_list: func_arg */ #line 7413 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46111 "preproc.c" break; case 1117: /* func_args_list: func_args_list ',' func_arg */ #line 7417 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46119 "preproc.c" break; case 1118: /* function_with_argtypes_list: function_with_argtypes */ #line 7425 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46127 "preproc.c" break; case 1119: /* function_with_argtypes_list: function_with_argtypes_list ',' function_with_argtypes */ #line 7429 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46135 "preproc.c" break; case 1120: /* function_with_argtypes: func_name func_args */ #line 7437 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46143 "preproc.c" break; case 1121: /* function_with_argtypes: type_func_name_keyword */ #line 7441 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46151 "preproc.c" break; case 1122: /* function_with_argtypes: ColId */ #line 7445 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46159 "preproc.c" break; case 1123: /* function_with_argtypes: ColId indirection */ #line 7449 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46167 "preproc.c" break; case 1124: /* func_args_with_defaults: '(' func_args_with_defaults_list ')' */ #line 7457 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 46175 "preproc.c" break; case 1125: /* func_args_with_defaults: '(' ')' */ #line 7461 "preproc.y" { (yyval.str) = mm_strdup("( )"); } #line 46183 "preproc.c" break; case 1126: /* func_args_with_defaults_list: func_arg_with_default */ #line 7469 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46191 "preproc.c" break; case 1127: /* func_args_with_defaults_list: func_args_with_defaults_list ',' func_arg_with_default */ #line 7473 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46199 "preproc.c" break; case 1128: /* func_arg: arg_class param_name func_type */ #line 7481 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46207 "preproc.c" break; case 1129: /* func_arg: param_name arg_class func_type */ #line 7485 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46215 "preproc.c" break; case 1130: /* func_arg: param_name func_type */ #line 7489 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46223 "preproc.c" break; case 1131: /* func_arg: arg_class func_type */ #line 7493 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46231 "preproc.c" break; case 1132: /* func_arg: func_type */ #line 7497 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46239 "preproc.c" break; case 1133: /* arg_class: IN_P */ #line 7505 "preproc.y" { (yyval.str) = mm_strdup("in"); } #line 46247 "preproc.c" break; case 1134: /* arg_class: OUT_P */ #line 7509 "preproc.y" { (yyval.str) = mm_strdup("out"); } #line 46255 "preproc.c" break; case 1135: /* arg_class: INOUT */ #line 7513 "preproc.y" { (yyval.str) = mm_strdup("inout"); } #line 46263 "preproc.c" break; case 1136: /* arg_class: IN_P OUT_P */ #line 7517 "preproc.y" { (yyval.str) = mm_strdup("in out"); } #line 46271 "preproc.c" break; case 1137: /* arg_class: VARIADIC */ #line 7521 "preproc.y" { (yyval.str) = mm_strdup("variadic"); } #line 46279 "preproc.c" break; case 1138: /* param_name: type_function_name */ #line 7529 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46287 "preproc.c" break; case 1139: /* func_return: func_type */ #line 7537 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46295 "preproc.c" break; case 1140: /* func_type: Typename */ #line 7545 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46303 "preproc.c" break; case 1141: /* func_type: type_function_name attrs '%' TYPE_P */ #line 7549 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("% type")); } #line 46311 "preproc.c" break; case 1142: /* func_type: SETOF type_function_name attrs '%' TYPE_P */ #line 7553 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("setof"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("% type")); } #line 46319 "preproc.c" break; case 1143: /* func_arg_with_default: func_arg */ #line 7561 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46327 "preproc.c" break; case 1144: /* func_arg_with_default: func_arg DEFAULT a_expr */ #line 7565 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("default"),(yyvsp[0].str)); } #line 46335 "preproc.c" break; case 1145: /* func_arg_with_default: func_arg '=' a_expr */ #line 7569 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 46343 "preproc.c" break; case 1146: /* aggr_arg: func_arg */ #line 7577 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46351 "preproc.c" break; case 1147: /* aggr_args: '(' '*' ')' */ #line 7585 "preproc.y" { (yyval.str) = mm_strdup("( * )"); } #line 46359 "preproc.c" break; case 1148: /* aggr_args: '(' aggr_args_list ')' */ #line 7589 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 46367 "preproc.c" break; case 1149: /* aggr_args: '(' ORDER BY aggr_args_list ')' */ #line 7593 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("( order by"),(yyvsp[-1].str),mm_strdup(")")); } #line 46375 "preproc.c" break; case 1150: /* aggr_args: '(' aggr_args_list ORDER BY aggr_args_list ')' */ #line 7597 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("("),(yyvsp[-4].str),mm_strdup("order by"),(yyvsp[-1].str),mm_strdup(")")); } #line 46383 "preproc.c" break; case 1151: /* aggr_args_list: aggr_arg */ #line 7605 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46391 "preproc.c" break; case 1152: /* aggr_args_list: aggr_args_list ',' aggr_arg */ #line 7609 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46399 "preproc.c" break; case 1153: /* aggregate_with_argtypes: func_name aggr_args */ #line 7617 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46407 "preproc.c" break; case 1154: /* aggregate_with_argtypes_list: aggregate_with_argtypes */ #line 7625 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46415 "preproc.c" break; case 1155: /* aggregate_with_argtypes_list: aggregate_with_argtypes_list ',' aggregate_with_argtypes */ #line 7629 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46423 "preproc.c" break; case 1156: /* opt_createfunc_opt_list: createfunc_opt_list */ #line 7637 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46431 "preproc.c" break; case 1157: /* opt_createfunc_opt_list: %empty */ #line 7641 "preproc.y" { (yyval.str)=EMPTY; } #line 46438 "preproc.c" break; case 1158: /* createfunc_opt_list: createfunc_opt_item */ #line 7648 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46446 "preproc.c" break; case 1159: /* createfunc_opt_list: createfunc_opt_list createfunc_opt_item */ #line 7652 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46454 "preproc.c" break; case 1160: /* common_func_opt_item: CALLED ON NULL_P INPUT_P */ #line 7660 "preproc.y" { (yyval.str) = mm_strdup("called on null input"); } #line 46462 "preproc.c" break; case 1161: /* common_func_opt_item: RETURNS NULL_P ON NULL_P INPUT_P */ #line 7664 "preproc.y" { (yyval.str) = mm_strdup("returns null on null input"); } #line 46470 "preproc.c" break; case 1162: /* common_func_opt_item: STRICT_P */ #line 7668 "preproc.y" { (yyval.str) = mm_strdup("strict"); } #line 46478 "preproc.c" break; case 1163: /* common_func_opt_item: IMMUTABLE */ #line 7672 "preproc.y" { (yyval.str) = mm_strdup("immutable"); } #line 46486 "preproc.c" break; case 1164: /* common_func_opt_item: STABLE */ #line 7676 "preproc.y" { (yyval.str) = mm_strdup("stable"); } #line 46494 "preproc.c" break; case 1165: /* common_func_opt_item: VOLATILE */ #line 7680 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } #line 46502 "preproc.c" break; case 1166: /* common_func_opt_item: EXTERNAL SECURITY DEFINER */ #line 7684 "preproc.y" { (yyval.str) = mm_strdup("external security definer"); } #line 46510 "preproc.c" break; case 1167: /* common_func_opt_item: EXTERNAL SECURITY INVOKER */ #line 7688 "preproc.y" { (yyval.str) = mm_strdup("external security invoker"); } #line 46518 "preproc.c" break; case 1168: /* common_func_opt_item: SECURITY DEFINER */ #line 7692 "preproc.y" { (yyval.str) = mm_strdup("security definer"); } #line 46526 "preproc.c" break; case 1169: /* common_func_opt_item: SECURITY INVOKER */ #line 7696 "preproc.y" { (yyval.str) = mm_strdup("security invoker"); } #line 46534 "preproc.c" break; case 1170: /* common_func_opt_item: LEAKPROOF */ #line 7700 "preproc.y" { (yyval.str) = mm_strdup("leakproof"); } #line 46542 "preproc.c" break; case 1171: /* common_func_opt_item: NOT LEAKPROOF */ #line 7704 "preproc.y" { (yyval.str) = mm_strdup("not leakproof"); } #line 46550 "preproc.c" break; case 1172: /* common_func_opt_item: COST NumericOnly */ #line 7708 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("cost"),(yyvsp[0].str)); } #line 46558 "preproc.c" break; case 1173: /* common_func_opt_item: ROWS NumericOnly */ #line 7712 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("rows"),(yyvsp[0].str)); } #line 46566 "preproc.c" break; case 1174: /* common_func_opt_item: SUPPORT any_name */ #line 7716 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("support"),(yyvsp[0].str)); } #line 46574 "preproc.c" break; case 1175: /* common_func_opt_item: FunctionSetResetClause */ #line 7720 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46582 "preproc.c" break; case 1176: /* common_func_opt_item: PARALLEL ColId */ #line 7724 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("parallel"),(yyvsp[0].str)); } #line 46590 "preproc.c" break; case 1177: /* createfunc_opt_item: AS func_as */ #line 7732 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("as"),(yyvsp[0].str)); } #line 46598 "preproc.c" break; case 1178: /* createfunc_opt_item: LANGUAGE NonReservedWord_or_Sconst */ #line 7736 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("language"),(yyvsp[0].str)); } #line 46606 "preproc.c" break; case 1179: /* createfunc_opt_item: TRANSFORM transform_type_list */ #line 7740 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("transform"),(yyvsp[0].str)); } #line 46614 "preproc.c" break; case 1180: /* createfunc_opt_item: WINDOW */ #line 7744 "preproc.y" { (yyval.str) = mm_strdup("window"); } #line 46622 "preproc.c" break; case 1181: /* createfunc_opt_item: common_func_opt_item */ #line 7748 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46630 "preproc.c" break; case 1182: /* func_as: ecpg_sconst */ #line 7756 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46638 "preproc.c" break; case 1183: /* func_as: ecpg_sconst ',' ecpg_sconst */ #line 7760 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46646 "preproc.c" break; case 1184: /* ReturnStmt: RETURN a_expr */ #line 7768 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("return"),(yyvsp[0].str)); } #line 46654 "preproc.c" break; case 1185: /* opt_routine_body: ReturnStmt */ #line 7776 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46662 "preproc.c" break; case 1186: /* opt_routine_body: BEGIN_P ATOMIC routine_body_stmt_list END_P */ #line 7780 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("begin atomic"),(yyvsp[-1].str),mm_strdup("end")); } #line 46670 "preproc.c" break; case 1187: /* opt_routine_body: %empty */ #line 7784 "preproc.y" { (yyval.str)=EMPTY; } #line 46677 "preproc.c" break; case 1188: /* routine_body_stmt_list: routine_body_stmt_list routine_body_stmt ';' */ #line 7791 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(";")); } #line 46685 "preproc.c" break; case 1189: /* routine_body_stmt_list: %empty */ #line 7795 "preproc.y" { (yyval.str)=EMPTY; } #line 46692 "preproc.c" break; case 1190: /* routine_body_stmt: stmt */ #line 7802 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46700 "preproc.c" break; case 1191: /* routine_body_stmt: ReturnStmt */ #line 7806 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46708 "preproc.c" break; case 1192: /* transform_type_list: FOR TYPE_P Typename */ #line 7814 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for type"),(yyvsp[0].str)); } #line 46716 "preproc.c" break; case 1193: /* transform_type_list: transform_type_list ',' FOR TYPE_P Typename */ #line 7818 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-4].str),mm_strdup(", for type"),(yyvsp[0].str)); } #line 46724 "preproc.c" break; case 1194: /* opt_definition: WITH definition */ #line 7826 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with"),(yyvsp[0].str)); } #line 46732 "preproc.c" break; case 1195: /* opt_definition: %empty */ #line 7830 "preproc.y" { (yyval.str)=EMPTY; } #line 46739 "preproc.c" break; case 1196: /* table_func_column: param_name func_type */ #line 7837 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46747 "preproc.c" break; case 1197: /* table_func_column_list: table_func_column */ #line 7845 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46755 "preproc.c" break; case 1198: /* table_func_column_list: table_func_column_list ',' table_func_column */ #line 7849 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46763 "preproc.c" break; case 1199: /* AlterFunctionStmt: ALTER FUNCTION function_with_argtypes alterfunc_opt_list opt_restrict */ #line 7857 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter function"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46771 "preproc.c" break; case 1200: /* AlterFunctionStmt: ALTER PROCEDURE function_with_argtypes alterfunc_opt_list opt_restrict */ #line 7861 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter procedure"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46779 "preproc.c" break; case 1201: /* AlterFunctionStmt: ALTER ROUTINE function_with_argtypes alterfunc_opt_list opt_restrict */ #line 7865 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter routine"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46787 "preproc.c" break; case 1202: /* alterfunc_opt_list: common_func_opt_item */ #line 7873 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46795 "preproc.c" break; case 1203: /* alterfunc_opt_list: alterfunc_opt_list common_func_opt_item */ #line 7877 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46803 "preproc.c" break; case 1204: /* opt_restrict: RESTRICT */ #line 7885 "preproc.y" { (yyval.str) = mm_strdup("restrict"); } #line 46811 "preproc.c" break; case 1205: /* opt_restrict: %empty */ #line 7889 "preproc.y" { (yyval.str)=EMPTY; } #line 46818 "preproc.c" break; case 1206: /* RemoveFuncStmt: DROP FUNCTION function_with_argtypes_list opt_drop_behavior */ #line 7896 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop function"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46826 "preproc.c" break; case 1207: /* RemoveFuncStmt: DROP FUNCTION IF_P EXISTS function_with_argtypes_list opt_drop_behavior */ #line 7900 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop function if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46834 "preproc.c" break; case 1208: /* RemoveFuncStmt: DROP PROCEDURE function_with_argtypes_list opt_drop_behavior */ #line 7904 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop procedure"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46842 "preproc.c" break; case 1209: /* RemoveFuncStmt: DROP PROCEDURE IF_P EXISTS function_with_argtypes_list opt_drop_behavior */ #line 7908 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop procedure if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46850 "preproc.c" break; case 1210: /* RemoveFuncStmt: DROP ROUTINE function_with_argtypes_list opt_drop_behavior */ #line 7912 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop routine"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46858 "preproc.c" break; case 1211: /* RemoveFuncStmt: DROP ROUTINE IF_P EXISTS function_with_argtypes_list opt_drop_behavior */ #line 7916 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop routine if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46866 "preproc.c" break; case 1212: /* RemoveAggrStmt: DROP AGGREGATE aggregate_with_argtypes_list opt_drop_behavior */ #line 7924 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop aggregate"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46874 "preproc.c" break; case 1213: /* RemoveAggrStmt: DROP AGGREGATE IF_P EXISTS aggregate_with_argtypes_list opt_drop_behavior */ #line 7928 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop aggregate if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46882 "preproc.c" break; case 1214: /* RemoveOperStmt: DROP OPERATOR operator_with_argtypes_list opt_drop_behavior */ #line 7936 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop operator"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46890 "preproc.c" break; case 1215: /* RemoveOperStmt: DROP OPERATOR IF_P EXISTS operator_with_argtypes_list opt_drop_behavior */ #line 7940 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop operator if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46898 "preproc.c" break; case 1216: /* oper_argtypes: '(' Typename ')' */ #line 7948 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 46906 "preproc.c" break; case 1217: /* oper_argtypes: '(' Typename ',' Typename ')' */ #line 7952 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("("),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 46914 "preproc.c" break; case 1218: /* oper_argtypes: '(' NONE ',' Typename ')' */ #line 7956 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("( none ,"),(yyvsp[-1].str),mm_strdup(")")); } #line 46922 "preproc.c" break; case 1219: /* oper_argtypes: '(' Typename ',' NONE ')' */ #line 7960 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-3].str),mm_strdup(", none )")); } #line 46930 "preproc.c" break; case 1220: /* any_operator: all_Op */ #line 7968 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46938 "preproc.c" break; case 1221: /* any_operator: ColId '.' any_operator */ #line 7972 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("."),(yyvsp[0].str)); } #line 46946 "preproc.c" break; case 1222: /* operator_with_argtypes_list: operator_with_argtypes */ #line 7980 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46954 "preproc.c" break; case 1223: /* operator_with_argtypes_list: operator_with_argtypes_list ',' operator_with_argtypes */ #line 7984 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46962 "preproc.c" break; case 1224: /* operator_with_argtypes: any_operator oper_argtypes */ #line 7992 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46970 "preproc.c" break; case 1225: /* DoStmt: DO dostmt_opt_list */ #line 8000 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("do"),(yyvsp[0].str)); } #line 46978 "preproc.c" break; case 1226: /* dostmt_opt_list: dostmt_opt_item */ #line 8008 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46986 "preproc.c" break; case 1227: /* dostmt_opt_list: dostmt_opt_list dostmt_opt_item */ #line 8012 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46994 "preproc.c" break; case 1228: /* dostmt_opt_item: ecpg_sconst */ #line 8020 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 47002 "preproc.c" break; case 1229: /* dostmt_opt_item: LANGUAGE NonReservedWord_or_Sconst */ #line 8024 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("language"),(yyvsp[0].str)); } #line 47010 "preproc.c" break; case 1230: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITH FUNCTION function_with_argtypes cast_context */ #line 8032 "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 47018 "preproc.c" break; case 1231: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITHOUT FUNCTION cast_context */ #line 8036 "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 47026 "preproc.c" break; case 1232: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITH INOUT cast_context */ #line 8040 "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 47034 "preproc.c" break; case 1233: /* cast_context: AS IMPLICIT_P */ #line 8048 "preproc.y" { (yyval.str) = mm_strdup("as implicit"); } #line 47042 "preproc.c" break; case 1234: /* cast_context: AS ASSIGNMENT */ #line 8052 "preproc.y" { (yyval.str) = mm_strdup("as assignment"); } #line 47050 "preproc.c" break; case 1235: /* cast_context: %empty */ #line 8056 "preproc.y" { (yyval.str)=EMPTY; } #line 47057 "preproc.c" break; case 1236: /* DropCastStmt: DROP CAST opt_if_exists '(' Typename AS Typename ')' opt_drop_behavior */ #line 8063 "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 47065 "preproc.c" break; case 1237: /* opt_if_exists: IF_P EXISTS */ #line 8071 "preproc.y" { (yyval.str) = mm_strdup("if exists"); } #line 47073 "preproc.c" break; case 1238: /* opt_if_exists: %empty */ #line 8075 "preproc.y" { (yyval.str)=EMPTY; } #line 47080 "preproc.c" break; case 1239: /* CreateTransformStmt: CREATE opt_or_replace TRANSFORM FOR Typename LANGUAGE name '(' transform_element_list ')' */ #line 8082 "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 47088 "preproc.c" break; case 1240: /* transform_element_list: FROM SQL_P WITH FUNCTION function_with_argtypes ',' TO SQL_P WITH FUNCTION function_with_argtypes */ #line 8090 "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 47096 "preproc.c" break; case 1241: /* transform_element_list: TO SQL_P WITH FUNCTION function_with_argtypes ',' FROM SQL_P WITH FUNCTION function_with_argtypes */ #line 8094 "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 47104 "preproc.c" break; case 1242: /* transform_element_list: FROM SQL_P WITH FUNCTION function_with_argtypes */ #line 8098 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("from sql with function"),(yyvsp[0].str)); } #line 47112 "preproc.c" break; case 1243: /* transform_element_list: TO SQL_P WITH FUNCTION function_with_argtypes */ #line 8102 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("to sql with function"),(yyvsp[0].str)); } #line 47120 "preproc.c" break; case 1244: /* DropTransformStmt: DROP TRANSFORM opt_if_exists FOR Typename LANGUAGE name opt_drop_behavior */ #line 8110 "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 47128 "preproc.c" break; case 1245: /* ReindexStmt: REINDEX reindex_target_type opt_concurrently qualified_name */ #line 8118 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("reindex"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47136 "preproc.c" break; case 1246: /* ReindexStmt: REINDEX reindex_target_multitable opt_concurrently name */ #line 8122 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("reindex"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47144 "preproc.c" break; case 1247: /* ReindexStmt: REINDEX '(' utility_option_list ')' reindex_target_type opt_concurrently qualified_name */ #line 8126 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("reindex ("),(yyvsp[-4].str),mm_strdup(")"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47152 "preproc.c" break; case 1248: /* ReindexStmt: REINDEX '(' utility_option_list ')' reindex_target_multitable opt_concurrently name */ #line 8130 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("reindex ("),(yyvsp[-4].str),mm_strdup(")"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47160 "preproc.c" break; case 1249: /* reindex_target_type: INDEX */ #line 8138 "preproc.y" { (yyval.str) = mm_strdup("index"); } #line 47168 "preproc.c" break; case 1250: /* reindex_target_type: TABLE */ #line 8142 "preproc.y" { (yyval.str) = mm_strdup("table"); } #line 47176 "preproc.c" break; case 1251: /* reindex_target_multitable: SCHEMA */ #line 8150 "preproc.y" { (yyval.str) = mm_strdup("schema"); } #line 47184 "preproc.c" break; case 1252: /* reindex_target_multitable: SYSTEM_P */ #line 8154 "preproc.y" { (yyval.str) = mm_strdup("system"); } #line 47192 "preproc.c" break; case 1253: /* reindex_target_multitable: DATABASE */ #line 8158 "preproc.y" { (yyval.str) = mm_strdup("database"); } #line 47200 "preproc.c" break; case 1254: /* AlterTblSpcStmt: ALTER TABLESPACE name SET reloptions */ #line 8166 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter tablespace"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 47208 "preproc.c" break; case 1255: /* AlterTblSpcStmt: ALTER TABLESPACE name RESET reloptions */ #line 8170 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter tablespace"),(yyvsp[-2].str),mm_strdup("reset"),(yyvsp[0].str)); } #line 47216 "preproc.c" break; case 1256: /* RenameStmt: ALTER AGGREGATE aggregate_with_argtypes RENAME TO name */ #line 8178 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter aggregate"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47224 "preproc.c" break; case 1257: /* RenameStmt: ALTER COLLATION any_name RENAME TO name */ #line 8182 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter collation"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47232 "preproc.c" break; case 1258: /* RenameStmt: ALTER CONVERSION_P any_name RENAME TO name */ #line 8186 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter conversion"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47240 "preproc.c" break; case 1259: /* RenameStmt: ALTER DATABASE name RENAME TO name */ #line 8190 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter database"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47248 "preproc.c" break; case 1260: /* RenameStmt: ALTER DOMAIN_P any_name RENAME TO name */ #line 8194 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47256 "preproc.c" break; case 1261: /* RenameStmt: ALTER DOMAIN_P any_name RENAME CONSTRAINT name TO name */ #line 8198 "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 47264 "preproc.c" break; case 1262: /* RenameStmt: ALTER FOREIGN DATA_P WRAPPER name RENAME TO name */ #line 8202 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign data wrapper"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47272 "preproc.c" break; case 1263: /* RenameStmt: ALTER FUNCTION function_with_argtypes RENAME TO name */ #line 8206 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter function"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47280 "preproc.c" break; case 1264: /* RenameStmt: ALTER GROUP_P RoleId RENAME TO RoleId */ #line 8210 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter group"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47288 "preproc.c" break; case 1265: /* RenameStmt: ALTER opt_procedural LANGUAGE name RENAME TO name */ #line 8214 "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 47296 "preproc.c" break; case 1266: /* RenameStmt: ALTER OPERATOR CLASS any_name USING name RENAME TO name */ #line 8218 "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 47304 "preproc.c" break; case 1267: /* RenameStmt: ALTER OPERATOR FAMILY any_name USING name RENAME TO name */ #line 8222 "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 47312 "preproc.c" break; case 1268: /* RenameStmt: ALTER POLICY name ON qualified_name RENAME TO name */ #line 8226 "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 47320 "preproc.c" break; case 1269: /* RenameStmt: ALTER POLICY IF_P EXISTS name ON qualified_name RENAME TO name */ #line 8230 "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 47328 "preproc.c" break; case 1270: /* RenameStmt: ALTER PROCEDURE function_with_argtypes RENAME TO name */ #line 8234 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter procedure"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47336 "preproc.c" break; case 1271: /* RenameStmt: ALTER PUBLICATION name RENAME TO name */ #line 8238 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47344 "preproc.c" break; case 1272: /* RenameStmt: ALTER ROUTINE function_with_argtypes RENAME TO name */ #line 8242 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter routine"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47352 "preproc.c" break; case 1273: /* RenameStmt: ALTER SCHEMA name RENAME TO name */ #line 8246 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter schema"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47360 "preproc.c" break; case 1274: /* RenameStmt: ALTER SERVER name RENAME TO name */ #line 8250 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter server"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47368 "preproc.c" break; case 1275: /* RenameStmt: ALTER SUBSCRIPTION name RENAME TO name */ #line 8254 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47376 "preproc.c" break; case 1276: /* RenameStmt: ALTER TABLE relation_expr RENAME TO name */ #line 8258 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter table"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47384 "preproc.c" break; case 1277: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME TO name */ #line 8262 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter table if exists"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47392 "preproc.c" break; case 1278: /* RenameStmt: ALTER SEQUENCE qualified_name RENAME TO name */ #line 8266 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter sequence"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47400 "preproc.c" break; case 1279: /* RenameStmt: ALTER SEQUENCE IF_P EXISTS qualified_name RENAME TO name */ #line 8270 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter sequence if exists"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47408 "preproc.c" break; case 1280: /* RenameStmt: ALTER VIEW qualified_name RENAME TO name */ #line 8274 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter view"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47416 "preproc.c" break; case 1281: /* RenameStmt: ALTER VIEW IF_P EXISTS qualified_name RENAME TO name */ #line 8278 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter view if exists"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47424 "preproc.c" break; case 1282: /* RenameStmt: ALTER MATERIALIZED VIEW qualified_name RENAME TO name */ #line 8282 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter materialized view"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47432 "preproc.c" break; case 1283: /* RenameStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME TO name */ #line 8286 "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 47440 "preproc.c" break; case 1284: /* RenameStmt: ALTER INDEX qualified_name RENAME TO name */ #line 8290 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter index"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47448 "preproc.c" break; case 1285: /* RenameStmt: ALTER INDEX IF_P EXISTS qualified_name RENAME TO name */ #line 8294 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter index if exists"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47456 "preproc.c" break; case 1286: /* RenameStmt: ALTER FOREIGN TABLE relation_expr RENAME TO name */ #line 8298 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign table"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47464 "preproc.c" break; case 1287: /* RenameStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME TO name */ #line 8302 "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 47472 "preproc.c" break; case 1288: /* RenameStmt: ALTER TABLE relation_expr RENAME opt_column name TO name */ #line 8306 "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 47480 "preproc.c" break; case 1289: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name */ #line 8310 "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 47488 "preproc.c" break; case 1290: /* RenameStmt: ALTER VIEW qualified_name RENAME opt_column name TO name */ #line 8314 "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 47496 "preproc.c" break; case 1291: /* RenameStmt: ALTER VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name */ #line 8318 "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 47504 "preproc.c" break; case 1292: /* RenameStmt: ALTER MATERIALIZED VIEW qualified_name RENAME opt_column name TO name */ #line 8322 "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 47512 "preproc.c" break; case 1293: /* RenameStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name */ #line 8326 "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 47520 "preproc.c" break; case 1294: /* RenameStmt: ALTER TABLE relation_expr RENAME CONSTRAINT name TO name */ #line 8330 "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 47528 "preproc.c" break; case 1295: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME CONSTRAINT name TO name */ #line 8334 "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 47536 "preproc.c" break; case 1296: /* RenameStmt: ALTER FOREIGN TABLE relation_expr RENAME opt_column name TO name */ #line 8338 "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 47544 "preproc.c" break; case 1297: /* RenameStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name */ #line 8342 "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 47552 "preproc.c" break; case 1298: /* RenameStmt: ALTER RULE name ON qualified_name RENAME TO name */ #line 8346 "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 47560 "preproc.c" break; case 1299: /* RenameStmt: ALTER TRIGGER name ON qualified_name RENAME TO name */ #line 8350 "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 47568 "preproc.c" break; case 1300: /* RenameStmt: ALTER EVENT TRIGGER name RENAME TO name */ #line 8354 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter event trigger"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47576 "preproc.c" break; case 1301: /* RenameStmt: ALTER ROLE RoleId RENAME TO RoleId */ #line 8358 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter role"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47584 "preproc.c" break; case 1302: /* RenameStmt: ALTER USER RoleId RENAME TO RoleId */ #line 8362 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter user"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47592 "preproc.c" break; case 1303: /* RenameStmt: ALTER TABLESPACE name RENAME TO name */ #line 8366 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter tablespace"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47600 "preproc.c" break; case 1304: /* RenameStmt: ALTER STATISTICS any_name RENAME TO name */ #line 8370 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter statistics"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47608 "preproc.c" break; case 1305: /* RenameStmt: ALTER TEXT_P SEARCH PARSER any_name RENAME TO name */ #line 8374 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search parser"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47616 "preproc.c" break; case 1306: /* RenameStmt: ALTER TEXT_P SEARCH DICTIONARY any_name RENAME TO name */ #line 8378 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search dictionary"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47624 "preproc.c" break; case 1307: /* RenameStmt: ALTER TEXT_P SEARCH TEMPLATE any_name RENAME TO name */ #line 8382 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search template"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47632 "preproc.c" break; case 1308: /* RenameStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name RENAME TO name */ #line 8386 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search configuration"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47640 "preproc.c" break; case 1309: /* RenameStmt: ALTER TYPE_P any_name RENAME TO name */ #line 8390 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter type"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47648 "preproc.c" break; case 1310: /* RenameStmt: ALTER TYPE_P any_name RENAME ATTRIBUTE name TO name opt_drop_behavior */ #line 8394 "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 47656 "preproc.c" break; case 1311: /* opt_column: COLUMN */ #line 8402 "preproc.y" { (yyval.str) = mm_strdup("column"); } #line 47664 "preproc.c" break; case 1312: /* opt_column: %empty */ #line 8406 "preproc.y" { (yyval.str)=EMPTY; } #line 47671 "preproc.c" break; case 1313: /* opt_set_data: SET DATA_P */ #line 8413 "preproc.y" { (yyval.str) = mm_strdup("set data"); } #line 47679 "preproc.c" break; case 1314: /* opt_set_data: %empty */ #line 8417 "preproc.y" { (yyval.str)=EMPTY; } #line 47686 "preproc.c" break; case 1315: /* AlterObjectDependsStmt: ALTER FUNCTION function_with_argtypes opt_no DEPENDS ON EXTENSION name */ #line 8424 "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 47694 "preproc.c" break; case 1316: /* AlterObjectDependsStmt: ALTER PROCEDURE function_with_argtypes opt_no DEPENDS ON EXTENSION name */ #line 8428 "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 47702 "preproc.c" break; case 1317: /* AlterObjectDependsStmt: ALTER ROUTINE function_with_argtypes opt_no DEPENDS ON EXTENSION name */ #line 8432 "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 47710 "preproc.c" break; case 1318: /* AlterObjectDependsStmt: ALTER TRIGGER name ON qualified_name opt_no DEPENDS ON EXTENSION name */ #line 8436 "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 47718 "preproc.c" break; case 1319: /* AlterObjectDependsStmt: ALTER MATERIALIZED VIEW qualified_name opt_no DEPENDS ON EXTENSION name */ #line 8440 "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 47726 "preproc.c" break; case 1320: /* AlterObjectDependsStmt: ALTER INDEX qualified_name opt_no DEPENDS ON EXTENSION name */ #line 8444 "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 47734 "preproc.c" break; case 1321: /* opt_no: NO */ #line 8452 "preproc.y" { (yyval.str) = mm_strdup("no"); } #line 47742 "preproc.c" break; case 1322: /* opt_no: %empty */ #line 8456 "preproc.y" { (yyval.str)=EMPTY; } #line 47749 "preproc.c" break; case 1323: /* AlterObjectSchemaStmt: ALTER AGGREGATE aggregate_with_argtypes SET SCHEMA name */ #line 8463 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter aggregate"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47757 "preproc.c" break; case 1324: /* AlterObjectSchemaStmt: ALTER COLLATION any_name SET SCHEMA name */ #line 8467 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter collation"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47765 "preproc.c" break; case 1325: /* AlterObjectSchemaStmt: ALTER CONVERSION_P any_name SET SCHEMA name */ #line 8471 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter conversion"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47773 "preproc.c" break; case 1326: /* AlterObjectSchemaStmt: ALTER DOMAIN_P any_name SET SCHEMA name */ #line 8475 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47781 "preproc.c" break; case 1327: /* AlterObjectSchemaStmt: ALTER EXTENSION name SET SCHEMA name */ #line 8479 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter extension"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47789 "preproc.c" break; case 1328: /* AlterObjectSchemaStmt: ALTER FUNCTION function_with_argtypes SET SCHEMA name */ #line 8483 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter function"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47797 "preproc.c" break; case 1329: /* AlterObjectSchemaStmt: ALTER OPERATOR operator_with_argtypes SET SCHEMA name */ #line 8487 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter operator"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47805 "preproc.c" break; case 1330: /* AlterObjectSchemaStmt: ALTER OPERATOR CLASS any_name USING name SET SCHEMA name */ #line 8491 "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 47813 "preproc.c" break; case 1331: /* AlterObjectSchemaStmt: ALTER OPERATOR FAMILY any_name USING name SET SCHEMA name */ #line 8495 "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 47821 "preproc.c" break; case 1332: /* AlterObjectSchemaStmt: ALTER PROCEDURE function_with_argtypes SET SCHEMA name */ #line 8499 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter procedure"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47829 "preproc.c" break; case 1333: /* AlterObjectSchemaStmt: ALTER ROUTINE function_with_argtypes SET SCHEMA name */ #line 8503 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter routine"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47837 "preproc.c" break; case 1334: /* AlterObjectSchemaStmt: ALTER TABLE relation_expr SET SCHEMA name */ #line 8507 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter table"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47845 "preproc.c" break; case 1335: /* AlterObjectSchemaStmt: ALTER TABLE IF_P EXISTS relation_expr SET SCHEMA name */ #line 8511 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter table if exists"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47853 "preproc.c" break; case 1336: /* AlterObjectSchemaStmt: ALTER STATISTICS any_name SET SCHEMA name */ #line 8515 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter statistics"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47861 "preproc.c" break; case 1337: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH PARSER any_name SET SCHEMA name */ #line 8519 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search parser"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47869 "preproc.c" break; case 1338: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH DICTIONARY any_name SET SCHEMA name */ #line 8523 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search dictionary"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47877 "preproc.c" break; case 1339: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH TEMPLATE any_name SET SCHEMA name */ #line 8527 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search template"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47885 "preproc.c" break; case 1340: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name SET SCHEMA name */ #line 8531 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search configuration"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47893 "preproc.c" break; case 1341: /* AlterObjectSchemaStmt: ALTER SEQUENCE qualified_name SET SCHEMA name */ #line 8535 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter sequence"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47901 "preproc.c" break; case 1342: /* AlterObjectSchemaStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SET SCHEMA name */ #line 8539 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter sequence if exists"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47909 "preproc.c" break; case 1343: /* AlterObjectSchemaStmt: ALTER VIEW qualified_name SET SCHEMA name */ #line 8543 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter view"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47917 "preproc.c" break; case 1344: /* AlterObjectSchemaStmt: ALTER VIEW IF_P EXISTS qualified_name SET SCHEMA name */ #line 8547 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter view if exists"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47925 "preproc.c" break; case 1345: /* AlterObjectSchemaStmt: ALTER MATERIALIZED VIEW qualified_name SET SCHEMA name */ #line 8551 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter materialized view"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47933 "preproc.c" break; case 1346: /* AlterObjectSchemaStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name SET SCHEMA name */ #line 8555 "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 47941 "preproc.c" break; case 1347: /* AlterObjectSchemaStmt: ALTER FOREIGN TABLE relation_expr SET SCHEMA name */ #line 8559 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign table"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47949 "preproc.c" break; case 1348: /* AlterObjectSchemaStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr SET SCHEMA name */ #line 8563 "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 47957 "preproc.c" break; case 1349: /* AlterObjectSchemaStmt: ALTER TYPE_P any_name SET SCHEMA name */ #line 8567 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter type"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 47965 "preproc.c" break; case 1350: /* AlterOperatorStmt: ALTER OPERATOR operator_with_argtypes SET '(' operator_def_list ')' */ #line 8575 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter operator"),(yyvsp[-4].str),mm_strdup("set ("),(yyvsp[-1].str),mm_strdup(")")); } #line 47973 "preproc.c" break; case 1351: /* operator_def_list: operator_def_elem */ #line 8583 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 47981 "preproc.c" break; case 1352: /* operator_def_list: operator_def_list ',' operator_def_elem */ #line 8587 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 47989 "preproc.c" break; case 1353: /* operator_def_elem: ColLabel '=' NONE */ #line 8595 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("= none")); } #line 47997 "preproc.c" break; case 1354: /* operator_def_elem: ColLabel '=' operator_def_arg */ #line 8599 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 48005 "preproc.c" break; case 1355: /* operator_def_arg: func_type */ #line 8607 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48013 "preproc.c" break; case 1356: /* operator_def_arg: reserved_keyword */ #line 8611 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48021 "preproc.c" break; case 1357: /* operator_def_arg: qual_all_Op */ #line 8615 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48029 "preproc.c" break; case 1358: /* operator_def_arg: NumericOnly */ #line 8619 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48037 "preproc.c" break; case 1359: /* operator_def_arg: ecpg_sconst */ #line 8623 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48045 "preproc.c" break; case 1360: /* AlterTypeStmt: ALTER TYPE_P any_name SET '(' operator_def_list ')' */ #line 8631 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter type"),(yyvsp[-4].str),mm_strdup("set ("),(yyvsp[-1].str),mm_strdup(")")); } #line 48053 "preproc.c" break; case 1361: /* AlterOwnerStmt: ALTER AGGREGATE aggregate_with_argtypes OWNER TO RoleSpec */ #line 8639 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter aggregate"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48061 "preproc.c" break; case 1362: /* AlterOwnerStmt: ALTER COLLATION any_name OWNER TO RoleSpec */ #line 8643 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter collation"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48069 "preproc.c" break; case 1363: /* AlterOwnerStmt: ALTER CONVERSION_P any_name OWNER TO RoleSpec */ #line 8647 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter conversion"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48077 "preproc.c" break; case 1364: /* AlterOwnerStmt: ALTER DATABASE name OWNER TO RoleSpec */ #line 8651 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter database"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48085 "preproc.c" break; case 1365: /* AlterOwnerStmt: ALTER DOMAIN_P any_name OWNER TO RoleSpec */ #line 8655 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48093 "preproc.c" break; case 1366: /* AlterOwnerStmt: ALTER FUNCTION function_with_argtypes OWNER TO RoleSpec */ #line 8659 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter function"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48101 "preproc.c" break; case 1367: /* AlterOwnerStmt: ALTER opt_procedural LANGUAGE name OWNER TO RoleSpec */ #line 8663 "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 48109 "preproc.c" break; case 1368: /* AlterOwnerStmt: ALTER LARGE_P OBJECT_P NumericOnly OWNER TO RoleSpec */ #line 8667 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter large object"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48117 "preproc.c" break; case 1369: /* AlterOwnerStmt: ALTER OPERATOR operator_with_argtypes OWNER TO RoleSpec */ #line 8671 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter operator"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48125 "preproc.c" break; case 1370: /* AlterOwnerStmt: ALTER OPERATOR CLASS any_name USING name OWNER TO RoleSpec */ #line 8675 "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 48133 "preproc.c" break; case 1371: /* AlterOwnerStmt: ALTER OPERATOR FAMILY any_name USING name OWNER TO RoleSpec */ #line 8679 "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 48141 "preproc.c" break; case 1372: /* AlterOwnerStmt: ALTER PROCEDURE function_with_argtypes OWNER TO RoleSpec */ #line 8683 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter procedure"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48149 "preproc.c" break; case 1373: /* AlterOwnerStmt: ALTER ROUTINE function_with_argtypes OWNER TO RoleSpec */ #line 8687 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter routine"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48157 "preproc.c" break; case 1374: /* AlterOwnerStmt: ALTER SCHEMA name OWNER TO RoleSpec */ #line 8691 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter schema"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48165 "preproc.c" break; case 1375: /* AlterOwnerStmt: ALTER TYPE_P any_name OWNER TO RoleSpec */ #line 8695 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter type"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48173 "preproc.c" break; case 1376: /* AlterOwnerStmt: ALTER TABLESPACE name OWNER TO RoleSpec */ #line 8699 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter tablespace"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48181 "preproc.c" break; case 1377: /* AlterOwnerStmt: ALTER STATISTICS any_name OWNER TO RoleSpec */ #line 8703 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter statistics"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48189 "preproc.c" break; case 1378: /* AlterOwnerStmt: ALTER TEXT_P SEARCH DICTIONARY any_name OWNER TO RoleSpec */ #line 8707 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search dictionary"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48197 "preproc.c" break; case 1379: /* AlterOwnerStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name OWNER TO RoleSpec */ #line 8711 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search configuration"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48205 "preproc.c" break; case 1380: /* AlterOwnerStmt: ALTER FOREIGN DATA_P WRAPPER name OWNER TO RoleSpec */ #line 8715 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign data wrapper"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48213 "preproc.c" break; case 1381: /* AlterOwnerStmt: ALTER SERVER name OWNER TO RoleSpec */ #line 8719 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter server"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48221 "preproc.c" break; case 1382: /* AlterOwnerStmt: ALTER EVENT TRIGGER name OWNER TO RoleSpec */ #line 8723 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter event trigger"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48229 "preproc.c" break; case 1383: /* AlterOwnerStmt: ALTER PUBLICATION name OWNER TO RoleSpec */ #line 8727 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48237 "preproc.c" break; case 1384: /* AlterOwnerStmt: ALTER SUBSCRIPTION name OWNER TO RoleSpec */ #line 8731 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48245 "preproc.c" break; case 1385: /* CreatePublicationStmt: CREATE PUBLICATION name opt_definition */ #line 8739 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create publication"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48253 "preproc.c" break; case 1386: /* CreatePublicationStmt: CREATE PUBLICATION name FOR ALL TABLES opt_definition */ #line 8743 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create publication"),(yyvsp[-4].str),mm_strdup("for all tables"),(yyvsp[0].str)); } #line 48261 "preproc.c" break; case 1387: /* CreatePublicationStmt: CREATE PUBLICATION name FOR pub_obj_list opt_definition */ #line 8747 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create publication"),(yyvsp[-3].str),mm_strdup("for"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48269 "preproc.c" break; case 1388: /* PublicationObjSpec: TABLE relation_expr opt_column_list OptWhereClause */ #line 8755 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("table"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48277 "preproc.c" break; case 1389: /* PublicationObjSpec: TABLES IN_P SCHEMA ColId */ #line 8759 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("tables in schema"),(yyvsp[0].str)); } #line 48285 "preproc.c" break; case 1390: /* PublicationObjSpec: TABLES IN_P SCHEMA CURRENT_SCHEMA */ #line 8763 "preproc.y" { (yyval.str) = mm_strdup("tables in schema current_schema"); } #line 48293 "preproc.c" break; case 1391: /* PublicationObjSpec: ColId opt_column_list OptWhereClause */ #line 8767 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48301 "preproc.c" break; case 1392: /* PublicationObjSpec: ColId indirection opt_column_list OptWhereClause */ #line 8771 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48309 "preproc.c" break; case 1393: /* PublicationObjSpec: extended_relation_expr opt_column_list OptWhereClause */ #line 8775 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48317 "preproc.c" break; case 1394: /* PublicationObjSpec: CURRENT_SCHEMA */ #line 8779 "preproc.y" { (yyval.str) = mm_strdup("current_schema"); } #line 48325 "preproc.c" break; case 1395: /* pub_obj_list: PublicationObjSpec */ #line 8787 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48333 "preproc.c" break; case 1396: /* pub_obj_list: pub_obj_list ',' PublicationObjSpec */ #line 8791 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 48341 "preproc.c" break; case 1397: /* AlterPublicationStmt: ALTER PUBLICATION name SET definition */ #line 8799 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 48349 "preproc.c" break; case 1398: /* AlterPublicationStmt: ALTER PUBLICATION name ADD_P pub_obj_list */ #line 8803 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-2].str),mm_strdup("add"),(yyvsp[0].str)); } #line 48357 "preproc.c" break; case 1399: /* AlterPublicationStmt: ALTER PUBLICATION name SET pub_obj_list */ #line 8807 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 48365 "preproc.c" break; case 1400: /* AlterPublicationStmt: ALTER PUBLICATION name DROP pub_obj_list */ #line 8811 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-2].str),mm_strdup("drop"),(yyvsp[0].str)); } #line 48373 "preproc.c" break; case 1401: /* CreateSubscriptionStmt: CREATE SUBSCRIPTION name CONNECTION ecpg_sconst PUBLICATION name_list opt_definition */ #line 8819 "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 48381 "preproc.c" break; case 1402: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SET definition */ #line 8827 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 48389 "preproc.c" break; case 1403: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name CONNECTION ecpg_sconst */ #line 8831 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-2].str),mm_strdup("connection"),(yyvsp[0].str)); } #line 48397 "preproc.c" break; case 1404: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name REFRESH PUBLICATION opt_definition */ #line 8835 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-3].str),mm_strdup("refresh publication"),(yyvsp[0].str)); } #line 48405 "preproc.c" break; case 1405: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name ADD_P PUBLICATION name_list opt_definition */ #line 8839 "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 48413 "preproc.c" break; case 1406: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name DROP PUBLICATION name_list opt_definition */ #line 8843 "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 48421 "preproc.c" break; case 1407: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SET PUBLICATION name_list opt_definition */ #line 8847 "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 48429 "preproc.c" break; case 1408: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name ENABLE_P */ #line 8851 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter subscription"),(yyvsp[-1].str),mm_strdup("enable")); } #line 48437 "preproc.c" break; case 1409: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name DISABLE_P */ #line 8855 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter subscription"),(yyvsp[-1].str),mm_strdup("disable")); } #line 48445 "preproc.c" break; case 1410: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SKIP definition */ #line 8859 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-2].str),mm_strdup("skip"),(yyvsp[0].str)); } #line 48453 "preproc.c" break; case 1411: /* DropSubscriptionStmt: DROP SUBSCRIPTION name opt_drop_behavior */ #line 8867 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop subscription"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48461 "preproc.c" break; case 1412: /* DropSubscriptionStmt: DROP SUBSCRIPTION IF_P EXISTS name opt_drop_behavior */ #line 8871 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop subscription if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48469 "preproc.c" break; case 1413: /* RuleStmt: CREATE opt_or_replace RULE name AS ON event TO qualified_name where_clause DO opt_instead RuleActionList */ #line 8879 "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 48477 "preproc.c" break; case 1414: /* RuleActionList: NOTHING */ #line 8887 "preproc.y" { (yyval.str) = mm_strdup("nothing"); } #line 48485 "preproc.c" break; case 1415: /* RuleActionList: RuleActionStmt */ #line 8891 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48493 "preproc.c" break; case 1416: /* RuleActionList: '(' RuleActionMulti ')' */ #line 8895 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 48501 "preproc.c" break; case 1417: /* RuleActionMulti: RuleActionMulti ';' RuleActionStmtOrEmpty */ #line 8903 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(";"),(yyvsp[0].str)); } #line 48509 "preproc.c" break; case 1418: /* RuleActionMulti: RuleActionStmtOrEmpty */ #line 8907 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48517 "preproc.c" break; case 1419: /* RuleActionStmt: SelectStmt */ #line 8915 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48525 "preproc.c" break; case 1420: /* RuleActionStmt: InsertStmt */ #line 8919 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48533 "preproc.c" break; case 1421: /* RuleActionStmt: UpdateStmt */ #line 8923 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48541 "preproc.c" break; case 1422: /* RuleActionStmt: DeleteStmt */ #line 8927 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48549 "preproc.c" break; case 1423: /* RuleActionStmt: NotifyStmt */ #line 8931 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48557 "preproc.c" break; case 1424: /* RuleActionStmtOrEmpty: RuleActionStmt */ #line 8939 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48565 "preproc.c" break; case 1425: /* RuleActionStmtOrEmpty: %empty */ #line 8943 "preproc.y" { (yyval.str)=EMPTY; } #line 48572 "preproc.c" break; case 1426: /* event: SELECT */ #line 8950 "preproc.y" { (yyval.str) = mm_strdup("select"); } #line 48580 "preproc.c" break; case 1427: /* event: UPDATE */ #line 8954 "preproc.y" { (yyval.str) = mm_strdup("update"); } #line 48588 "preproc.c" break; case 1428: /* event: DELETE_P */ #line 8958 "preproc.y" { (yyval.str) = mm_strdup("delete"); } #line 48596 "preproc.c" break; case 1429: /* event: INSERT */ #line 8962 "preproc.y" { (yyval.str) = mm_strdup("insert"); } #line 48604 "preproc.c" break; case 1430: /* opt_instead: INSTEAD */ #line 8970 "preproc.y" { (yyval.str) = mm_strdup("instead"); } #line 48612 "preproc.c" break; case 1431: /* opt_instead: ALSO */ #line 8974 "preproc.y" { (yyval.str) = mm_strdup("also"); } #line 48620 "preproc.c" break; case 1432: /* opt_instead: %empty */ #line 8978 "preproc.y" { (yyval.str)=EMPTY; } #line 48627 "preproc.c" break; case 1433: /* NotifyStmt: NOTIFY ColId notify_payload */ #line 8985 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("notify"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48635 "preproc.c" break; case 1434: /* notify_payload: ',' ecpg_sconst */ #line 8993 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup(","),(yyvsp[0].str)); } #line 48643 "preproc.c" break; case 1435: /* notify_payload: %empty */ #line 8997 "preproc.y" { (yyval.str)=EMPTY; } #line 48650 "preproc.c" break; case 1436: /* ListenStmt: LISTEN ColId */ #line 9004 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("listen"),(yyvsp[0].str)); } #line 48658 "preproc.c" break; case 1437: /* UnlistenStmt: UNLISTEN ColId */ #line 9012 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("unlisten"),(yyvsp[0].str)); } #line 48666 "preproc.c" break; case 1438: /* UnlistenStmt: UNLISTEN '*' */ #line 9016 "preproc.y" { (yyval.str) = mm_strdup("unlisten *"); } #line 48674 "preproc.c" break; case 1439: /* TransactionStmt: ABORT_P opt_transaction opt_transaction_chain */ #line 9024 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("abort"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48682 "preproc.c" break; case 1440: /* TransactionStmt: START TRANSACTION transaction_mode_list_or_empty */ #line 9028 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("start transaction"),(yyvsp[0].str)); } #line 48690 "preproc.c" break; case 1441: /* TransactionStmt: COMMIT opt_transaction opt_transaction_chain */ #line 9032 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("commit"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48698 "preproc.c" break; case 1442: /* TransactionStmt: ROLLBACK opt_transaction opt_transaction_chain */ #line 9036 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("rollback"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48706 "preproc.c" break; case 1443: /* TransactionStmt: SAVEPOINT ColId */ #line 9040 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("savepoint"),(yyvsp[0].str)); } #line 48714 "preproc.c" break; case 1444: /* TransactionStmt: RELEASE SAVEPOINT ColId */ #line 9044 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("release savepoint"),(yyvsp[0].str)); } #line 48722 "preproc.c" break; case 1445: /* TransactionStmt: RELEASE ColId */ #line 9048 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("release"),(yyvsp[0].str)); } #line 48730 "preproc.c" break; case 1446: /* TransactionStmt: ROLLBACK opt_transaction TO SAVEPOINT ColId */ #line 9052 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("rollback"),(yyvsp[-3].str),mm_strdup("to savepoint"),(yyvsp[0].str)); } #line 48738 "preproc.c" break; case 1447: /* TransactionStmt: ROLLBACK opt_transaction TO ColId */ #line 9056 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("rollback"),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 48746 "preproc.c" break; case 1448: /* TransactionStmt: PREPARE TRANSACTION ecpg_sconst */ #line 9060 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("prepare transaction"),(yyvsp[0].str)); } #line 48754 "preproc.c" break; case 1449: /* TransactionStmt: COMMIT PREPARED ecpg_sconst */ #line 9064 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("commit prepared"),(yyvsp[0].str)); } #line 48762 "preproc.c" break; case 1450: /* TransactionStmt: ROLLBACK PREPARED ecpg_sconst */ #line 9068 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("rollback prepared"),(yyvsp[0].str)); } #line 48770 "preproc.c" break; case 1451: /* TransactionStmtLegacy: BEGIN_P opt_transaction transaction_mode_list_or_empty */ #line 9076 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("begin"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48778 "preproc.c" break; case 1452: /* TransactionStmtLegacy: END_P opt_transaction opt_transaction_chain */ #line 9080 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("end"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48786 "preproc.c" break; case 1453: /* opt_transaction: WORK */ #line 9088 "preproc.y" { (yyval.str) = mm_strdup("work"); } #line 48794 "preproc.c" break; case 1454: /* opt_transaction: TRANSACTION */ #line 9092 "preproc.y" { (yyval.str) = mm_strdup("transaction"); } #line 48802 "preproc.c" break; case 1455: /* opt_transaction: %empty */ #line 9096 "preproc.y" { (yyval.str)=EMPTY; } #line 48809 "preproc.c" break; case 1456: /* transaction_mode_item: ISOLATION LEVEL iso_level */ #line 9103 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("isolation level"),(yyvsp[0].str)); } #line 48817 "preproc.c" break; case 1457: /* transaction_mode_item: READ ONLY */ #line 9107 "preproc.y" { (yyval.str) = mm_strdup("read only"); } #line 48825 "preproc.c" break; case 1458: /* transaction_mode_item: READ WRITE */ #line 9111 "preproc.y" { (yyval.str) = mm_strdup("read write"); } #line 48833 "preproc.c" break; case 1459: /* transaction_mode_item: DEFERRABLE */ #line 9115 "preproc.y" { (yyval.str) = mm_strdup("deferrable"); } #line 48841 "preproc.c" break; case 1460: /* transaction_mode_item: NOT DEFERRABLE */ #line 9119 "preproc.y" { (yyval.str) = mm_strdup("not deferrable"); } #line 48849 "preproc.c" break; case 1461: /* transaction_mode_list: transaction_mode_item */ #line 9127 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48857 "preproc.c" break; case 1462: /* transaction_mode_list: transaction_mode_list ',' transaction_mode_item */ #line 9131 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 48865 "preproc.c" break; case 1463: /* transaction_mode_list: transaction_mode_list transaction_mode_item */ #line 9135 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 48873 "preproc.c" break; case 1464: /* transaction_mode_list_or_empty: transaction_mode_list */ #line 9143 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48881 "preproc.c" break; case 1465: /* transaction_mode_list_or_empty: %empty */ #line 9147 "preproc.y" { (yyval.str)=EMPTY; } #line 48888 "preproc.c" break; case 1466: /* opt_transaction_chain: AND CHAIN */ #line 9154 "preproc.y" { (yyval.str) = mm_strdup("and chain"); } #line 48896 "preproc.c" break; case 1467: /* opt_transaction_chain: AND NO CHAIN */ #line 9158 "preproc.y" { (yyval.str) = mm_strdup("and no chain"); } #line 48904 "preproc.c" break; case 1468: /* opt_transaction_chain: %empty */ #line 9162 "preproc.y" { (yyval.str)=EMPTY; } #line 48911 "preproc.c" break; case 1469: /* ViewStmt: CREATE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option */ #line 9169 "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 48919 "preproc.c" break; case 1470: /* ViewStmt: CREATE OR REPLACE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option */ #line 9173 "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 48927 "preproc.c" break; case 1471: /* ViewStmt: CREATE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option */ #line 9177 "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 48935 "preproc.c" break; case 1472: /* ViewStmt: CREATE OR REPLACE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option */ #line 9181 "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 48943 "preproc.c" break; case 1473: /* opt_check_option: WITH CHECK OPTION */ #line 9189 "preproc.y" { (yyval.str) = mm_strdup("with check option"); } #line 48951 "preproc.c" break; case 1474: /* opt_check_option: WITH CASCADED CHECK OPTION */ #line 9193 "preproc.y" { (yyval.str) = mm_strdup("with cascaded check option"); } #line 48959 "preproc.c" break; case 1475: /* opt_check_option: WITH LOCAL CHECK OPTION */ #line 9197 "preproc.y" { (yyval.str) = mm_strdup("with local check option"); } #line 48967 "preproc.c" break; case 1476: /* opt_check_option: %empty */ #line 9201 "preproc.y" { (yyval.str)=EMPTY; } #line 48974 "preproc.c" break; case 1477: /* LoadStmt: LOAD file_name */ #line 9208 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("load"),(yyvsp[0].str)); } #line 48982 "preproc.c" break; case 1478: /* CreatedbStmt: CREATE DATABASE name opt_with createdb_opt_list */ #line 9216 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create database"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48990 "preproc.c" break; case 1479: /* createdb_opt_list: createdb_opt_items */ #line 9224 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48998 "preproc.c" break; case 1480: /* createdb_opt_list: %empty */ #line 9228 "preproc.y" { (yyval.str)=EMPTY; } #line 49005 "preproc.c" break; case 1481: /* createdb_opt_items: createdb_opt_item */ #line 9235 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49013 "preproc.c" break; case 1482: /* createdb_opt_items: createdb_opt_items createdb_opt_item */ #line 9239 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 49021 "preproc.c" break; case 1483: /* createdb_opt_item: createdb_opt_name opt_equal NumericOnly */ #line 9247 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49029 "preproc.c" break; case 1484: /* createdb_opt_item: createdb_opt_name opt_equal opt_boolean_or_string */ #line 9251 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49037 "preproc.c" break; case 1485: /* createdb_opt_item: createdb_opt_name opt_equal DEFAULT */ #line 9255 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup("default")); } #line 49045 "preproc.c" break; case 1486: /* createdb_opt_name: ecpg_ident */ #line 9263 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49053 "preproc.c" break; case 1487: /* createdb_opt_name: CONNECTION LIMIT */ #line 9267 "preproc.y" { (yyval.str) = mm_strdup("connection limit"); } #line 49061 "preproc.c" break; case 1488: /* createdb_opt_name: ENCODING */ #line 9271 "preproc.y" { (yyval.str) = mm_strdup("encoding"); } #line 49069 "preproc.c" break; case 1489: /* createdb_opt_name: LOCATION */ #line 9275 "preproc.y" { (yyval.str) = mm_strdup("location"); } #line 49077 "preproc.c" break; case 1490: /* createdb_opt_name: OWNER */ #line 9279 "preproc.y" { (yyval.str) = mm_strdup("owner"); } #line 49085 "preproc.c" break; case 1491: /* createdb_opt_name: TABLESPACE */ #line 9283 "preproc.y" { (yyval.str) = mm_strdup("tablespace"); } #line 49093 "preproc.c" break; case 1492: /* createdb_opt_name: TEMPLATE */ #line 9287 "preproc.y" { (yyval.str) = mm_strdup("template"); } #line 49101 "preproc.c" break; case 1493: /* opt_equal: '=' */ #line 9295 "preproc.y" { (yyval.str) = mm_strdup("="); } #line 49109 "preproc.c" break; case 1494: /* opt_equal: %empty */ #line 9299 "preproc.y" { (yyval.str)=EMPTY; } #line 49116 "preproc.c" break; case 1495: /* AlterDatabaseStmt: ALTER DATABASE name WITH createdb_opt_list */ #line 9306 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter database"),(yyvsp[-2].str),mm_strdup("with"),(yyvsp[0].str)); } #line 49124 "preproc.c" break; case 1496: /* AlterDatabaseStmt: ALTER DATABASE name createdb_opt_list */ #line 9310 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter database"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49132 "preproc.c" break; case 1497: /* AlterDatabaseStmt: ALTER DATABASE name SET TABLESPACE name */ #line 9314 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter database"),(yyvsp[-3].str),mm_strdup("set tablespace"),(yyvsp[0].str)); } #line 49140 "preproc.c" break; case 1498: /* AlterDatabaseStmt: ALTER DATABASE name REFRESH COLLATION VERSION_P */ #line 9318 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter database"),(yyvsp[-3].str),mm_strdup("refresh collation version")); } #line 49148 "preproc.c" break; case 1499: /* AlterDatabaseSetStmt: ALTER DATABASE name SetResetClause */ #line 9326 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter database"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49156 "preproc.c" break; case 1500: /* DropdbStmt: DROP DATABASE name */ #line 9334 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop database"),(yyvsp[0].str)); } #line 49164 "preproc.c" break; case 1501: /* DropdbStmt: DROP DATABASE IF_P EXISTS name */ #line 9338 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop database if exists"),(yyvsp[0].str)); } #line 49172 "preproc.c" break; case 1502: /* DropdbStmt: DROP DATABASE name opt_with '(' drop_option_list ')' */ #line 9342 "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 49180 "preproc.c" break; case 1503: /* DropdbStmt: DROP DATABASE IF_P EXISTS name opt_with '(' drop_option_list ')' */ #line 9346 "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 49188 "preproc.c" break; case 1504: /* drop_option_list: drop_option */ #line 9354 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49196 "preproc.c" break; case 1505: /* drop_option_list: drop_option_list ',' drop_option */ #line 9358 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 49204 "preproc.c" break; case 1506: /* drop_option: FORCE */ #line 9366 "preproc.y" { (yyval.str) = mm_strdup("force"); } #line 49212 "preproc.c" break; case 1507: /* AlterCollationStmt: ALTER COLLATION any_name REFRESH VERSION_P */ #line 9374 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter collation"),(yyvsp[-2].str),mm_strdup("refresh version")); } #line 49220 "preproc.c" break; case 1508: /* AlterSystemStmt: ALTER SYSTEM_P SET generic_set */ #line 9382 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("alter system set"),(yyvsp[0].str)); } #line 49228 "preproc.c" break; case 1509: /* AlterSystemStmt: ALTER SYSTEM_P RESET generic_reset */ #line 9386 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("alter system reset"),(yyvsp[0].str)); } #line 49236 "preproc.c" break; case 1510: /* CreateDomainStmt: CREATE DOMAIN_P any_name opt_as Typename ColQualList */ #line 9394 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create domain"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49244 "preproc.c" break; case 1511: /* AlterDomainStmt: ALTER DOMAIN_P any_name alter_column_default */ #line 9402 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter domain"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49252 "preproc.c" break; case 1512: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP NOT NULL_P */ #line 9406 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("drop not null")); } #line 49260 "preproc.c" break; case 1513: /* AlterDomainStmt: ALTER DOMAIN_P any_name SET NOT NULL_P */ #line 9410 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("set not null")); } #line 49268 "preproc.c" break; case 1514: /* AlterDomainStmt: ALTER DOMAIN_P any_name ADD_P TableConstraint */ #line 9414 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter domain"),(yyvsp[-2].str),mm_strdup("add"),(yyvsp[0].str)); } #line 49276 "preproc.c" break; case 1515: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP CONSTRAINT name opt_drop_behavior */ #line 9418 "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 49284 "preproc.c" break; case 1516: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior */ #line 9422 "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 49292 "preproc.c" break; case 1517: /* AlterDomainStmt: ALTER DOMAIN_P any_name VALIDATE CONSTRAINT name */ #line 9426 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("validate constraint"),(yyvsp[0].str)); } #line 49300 "preproc.c" break; case 1518: /* opt_as: AS */ #line 9434 "preproc.y" { (yyval.str) = mm_strdup("as"); } #line 49308 "preproc.c" break; case 1519: /* opt_as: %empty */ #line 9438 "preproc.y" { (yyval.str)=EMPTY; } #line 49315 "preproc.c" break; case 1520: /* AlterTSDictionaryStmt: ALTER TEXT_P SEARCH DICTIONARY any_name definition */ #line 9445 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter text search dictionary"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49323 "preproc.c" break; case 1521: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ADD_P MAPPING FOR name_list any_with any_name_list */ #line 9453 "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 49331 "preproc.c" break; case 1522: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list any_with any_name_list */ #line 9457 "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 49339 "preproc.c" break; case 1523: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING REPLACE any_name any_with any_name */ #line 9461 "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 49347 "preproc.c" break; case 1524: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list REPLACE any_name any_with any_name */ #line 9465 "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 49355 "preproc.c" break; case 1525: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING FOR name_list */ #line 9469 "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 49363 "preproc.c" break; case 1526: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING IF_P EXISTS FOR name_list */ #line 9473 "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 49371 "preproc.c" break; case 1527: /* any_with: WITH */ #line 9481 "preproc.y" { (yyval.str) = mm_strdup("with"); } #line 49379 "preproc.c" break; case 1528: /* any_with: WITH_LA */ #line 9485 "preproc.y" { (yyval.str) = mm_strdup("with"); } #line 49387 "preproc.c" break; case 1529: /* CreateConversionStmt: CREATE opt_default CONVERSION_P any_name FOR ecpg_sconst TO ecpg_sconst FROM any_name */ #line 9493 "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 49395 "preproc.c" break; case 1530: /* ClusterStmt: CLUSTER opt_verbose qualified_name cluster_index_specification */ #line 9501 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("cluster"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49403 "preproc.c" break; case 1531: /* ClusterStmt: CLUSTER '(' utility_option_list ')' qualified_name cluster_index_specification */ #line 9505 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("cluster ("),(yyvsp[-3].str),mm_strdup(")"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49411 "preproc.c" break; case 1532: /* ClusterStmt: CLUSTER opt_verbose */ #line 9509 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("cluster"),(yyvsp[0].str)); } #line 49419 "preproc.c" break; case 1533: /* ClusterStmt: CLUSTER opt_verbose name ON qualified_name */ #line 9513 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("cluster"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("on"),(yyvsp[0].str)); } #line 49427 "preproc.c" break; case 1534: /* cluster_index_specification: USING name */ #line 9521 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using"),(yyvsp[0].str)); } #line 49435 "preproc.c" break; case 1535: /* cluster_index_specification: %empty */ #line 9525 "preproc.y" { (yyval.str)=EMPTY; } #line 49442 "preproc.c" break; case 1536: /* VacuumStmt: VACUUM opt_full opt_freeze opt_verbose opt_analyze opt_vacuum_relation_list */ #line 9532 "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 49450 "preproc.c" break; case 1537: /* VacuumStmt: VACUUM '(' utility_option_list ')' opt_vacuum_relation_list */ #line 9536 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("vacuum ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 49458 "preproc.c" break; case 1538: /* AnalyzeStmt: analyze_keyword opt_verbose opt_vacuum_relation_list */ #line 9544 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49466 "preproc.c" break; case 1539: /* AnalyzeStmt: analyze_keyword '(' utility_option_list ')' opt_vacuum_relation_list */ #line 9548 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 49474 "preproc.c" break; case 1540: /* utility_option_list: utility_option_elem */ #line 9556 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49482 "preproc.c" break; case 1541: /* utility_option_list: utility_option_list ',' utility_option_elem */ #line 9560 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 49490 "preproc.c" break; case 1542: /* analyze_keyword: ANALYZE */ #line 9568 "preproc.y" { (yyval.str) = mm_strdup("analyze"); } #line 49498 "preproc.c" break; case 1543: /* analyze_keyword: ANALYSE */ #line 9572 "preproc.y" { (yyval.str) = mm_strdup("analyse"); } #line 49506 "preproc.c" break; case 1544: /* utility_option_elem: utility_option_name utility_option_arg */ #line 9580 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 49514 "preproc.c" break; case 1545: /* utility_option_name: NonReservedWord */ #line 9588 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49522 "preproc.c" break; case 1546: /* utility_option_name: analyze_keyword */ #line 9592 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49530 "preproc.c" break; case 1547: /* utility_option_arg: opt_boolean_or_string */ #line 9600 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49538 "preproc.c" break; case 1548: /* utility_option_arg: NumericOnly */ #line 9604 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49546 "preproc.c" break; case 1549: /* utility_option_arg: %empty */ #line 9608 "preproc.y" { (yyval.str)=EMPTY; } #line 49553 "preproc.c" break; case 1550: /* opt_analyze: analyze_keyword */ #line 9615 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49561 "preproc.c" break; case 1551: /* opt_analyze: %empty */ #line 9619 "preproc.y" { (yyval.str)=EMPTY; } #line 49568 "preproc.c" break; case 1552: /* opt_verbose: VERBOSE */ #line 9626 "preproc.y" { (yyval.str) = mm_strdup("verbose"); } #line 49576 "preproc.c" break; case 1553: /* opt_verbose: %empty */ #line 9630 "preproc.y" { (yyval.str)=EMPTY; } #line 49583 "preproc.c" break; case 1554: /* opt_full: FULL */ #line 9637 "preproc.y" { (yyval.str) = mm_strdup("full"); } #line 49591 "preproc.c" break; case 1555: /* opt_full: %empty */ #line 9641 "preproc.y" { (yyval.str)=EMPTY; } #line 49598 "preproc.c" break; case 1556: /* opt_freeze: FREEZE */ #line 9648 "preproc.y" { (yyval.str) = mm_strdup("freeze"); } #line 49606 "preproc.c" break; case 1557: /* opt_freeze: %empty */ #line 9652 "preproc.y" { (yyval.str)=EMPTY; } #line 49613 "preproc.c" break; case 1558: /* opt_name_list: '(' name_list ')' */ #line 9659 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 49621 "preproc.c" break; case 1559: /* opt_name_list: %empty */ #line 9663 "preproc.y" { (yyval.str)=EMPTY; } #line 49628 "preproc.c" break; case 1560: /* vacuum_relation: qualified_name opt_name_list */ #line 9670 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 49636 "preproc.c" break; case 1561: /* vacuum_relation_list: vacuum_relation */ #line 9678 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49644 "preproc.c" break; case 1562: /* vacuum_relation_list: vacuum_relation_list ',' vacuum_relation */ #line 9682 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 49652 "preproc.c" break; case 1563: /* opt_vacuum_relation_list: vacuum_relation_list */ #line 9690 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49660 "preproc.c" break; case 1564: /* opt_vacuum_relation_list: %empty */ #line 9694 "preproc.y" { (yyval.str)=EMPTY; } #line 49667 "preproc.c" break; case 1565: /* ExplainStmt: EXPLAIN ExplainableStmt */ #line 9701 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("explain"),(yyvsp[0].str)); } #line 49675 "preproc.c" break; case 1566: /* ExplainStmt: EXPLAIN analyze_keyword opt_verbose ExplainableStmt */ #line 9705 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("explain"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49683 "preproc.c" break; case 1567: /* ExplainStmt: EXPLAIN VERBOSE ExplainableStmt */ #line 9709 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("explain verbose"),(yyvsp[0].str)); } #line 49691 "preproc.c" break; case 1568: /* ExplainStmt: EXPLAIN '(' utility_option_list ')' ExplainableStmt */ #line 9713 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("explain ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 49699 "preproc.c" break; case 1569: /* ExplainableStmt: SelectStmt */ #line 9721 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49707 "preproc.c" break; case 1570: /* ExplainableStmt: InsertStmt */ #line 9725 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49715 "preproc.c" break; case 1571: /* ExplainableStmt: UpdateStmt */ #line 9729 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49723 "preproc.c" break; case 1572: /* ExplainableStmt: DeleteStmt */ #line 9733 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49731 "preproc.c" break; case 1573: /* ExplainableStmt: MergeStmt */ #line 9737 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49739 "preproc.c" break; case 1574: /* ExplainableStmt: DeclareCursorStmt */ #line 9741 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49747 "preproc.c" break; case 1575: /* ExplainableStmt: CreateAsStmt */ #line 9745 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49755 "preproc.c" break; case 1576: /* ExplainableStmt: CreateMatViewStmt */ #line 9749 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49763 "preproc.c" break; case 1577: /* ExplainableStmt: RefreshMatViewStmt */ #line 9753 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49771 "preproc.c" break; case 1578: /* ExplainableStmt: ExecuteStmt */ #line 9757 "preproc.y" { (yyval.str) = (yyvsp[0].exec).name; } #line 49779 "preproc.c" break; case 1579: /* PrepareStmt: PREPARE prepared_name prep_type_clause AS PreparableStmt */ #line 9765 "preproc.y" { (yyval.prep).name = (yyvsp[-3].str); (yyval.prep).type = (yyvsp[-2].str); (yyval.prep).stmt = (yyvsp[0].str); } #line 49789 "preproc.c" break; case 1580: /* PrepareStmt: PREPARE prepared_name FROM execstring */ #line 9771 "preproc.y" { (yyval.prep).name = (yyvsp[-2].str); (yyval.prep).type = NULL; (yyval.prep).stmt = (yyvsp[0].str); } #line 49799 "preproc.c" break; case 1581: /* prep_type_clause: '(' type_list ')' */ #line 9781 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 49807 "preproc.c" break; case 1582: /* prep_type_clause: %empty */ #line 9785 "preproc.y" { (yyval.str)=EMPTY; } #line 49814 "preproc.c" break; case 1583: /* PreparableStmt: SelectStmt */ #line 9792 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49822 "preproc.c" break; case 1584: /* PreparableStmt: InsertStmt */ #line 9796 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49830 "preproc.c" break; case 1585: /* PreparableStmt: UpdateStmt */ #line 9800 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49838 "preproc.c" break; case 1586: /* PreparableStmt: DeleteStmt */ #line 9804 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49846 "preproc.c" break; case 1587: /* PreparableStmt: MergeStmt */ #line 9808 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49854 "preproc.c" break; case 1588: /* ExecuteStmt: EXECUTE prepared_name execute_param_clause execute_rest */ #line 9816 "preproc.y" { (yyval.exec).name = (yyvsp[-2].str); (yyval.exec).type = (yyvsp[-1].str); } #line 49863 "preproc.c" break; case 1589: /* ExecuteStmt: CREATE OptTemp TABLE create_as_target AS EXECUTE prepared_name execute_param_clause opt_with_data execute_rest */ #line 9821 "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 49871 "preproc.c" break; case 1590: /* ExecuteStmt: CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS EXECUTE prepared_name execute_param_clause opt_with_data execute_rest */ #line 9825 "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 49879 "preproc.c" break; case 1591: /* execute_param_clause: '(' expr_list ')' */ #line 9833 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 49887 "preproc.c" break; case 1592: /* execute_param_clause: %empty */ #line 9837 "preproc.y" { (yyval.str)=EMPTY; } #line 49894 "preproc.c" break; case 1593: /* InsertStmt: opt_with_clause INSERT INTO insert_target insert_rest opt_on_conflict returning_clause */ #line 9844 "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 49902 "preproc.c" break; case 1594: /* insert_target: qualified_name */ #line 9852 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49910 "preproc.c" break; case 1595: /* insert_target: qualified_name AS ColId */ #line 9856 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } #line 49918 "preproc.c" break; case 1596: /* insert_rest: SelectStmt */ #line 9864 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49926 "preproc.c" break; case 1597: /* insert_rest: OVERRIDING override_kind VALUE_P SelectStmt */ #line 9868 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("overriding"),(yyvsp[-2].str),mm_strdup("value"),(yyvsp[0].str)); } #line 49934 "preproc.c" break; case 1598: /* insert_rest: '(' insert_column_list ')' SelectStmt */ #line 9872 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 49942 "preproc.c" break; case 1599: /* insert_rest: '(' insert_column_list ')' OVERRIDING override_kind VALUE_P SelectStmt */ #line 9876 "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 49950 "preproc.c" break; case 1600: /* insert_rest: DEFAULT VALUES */ #line 9880 "preproc.y" { (yyval.str) = mm_strdup("default values"); } #line 49958 "preproc.c" break; case 1601: /* override_kind: USER */ #line 9888 "preproc.y" { (yyval.str) = mm_strdup("user"); } #line 49966 "preproc.c" break; case 1602: /* override_kind: SYSTEM_P */ #line 9892 "preproc.y" { (yyval.str) = mm_strdup("system"); } #line 49974 "preproc.c" break; case 1603: /* insert_column_list: insert_column_item */ #line 9900 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49982 "preproc.c" break; case 1604: /* insert_column_list: insert_column_list ',' insert_column_item */ #line 9904 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 49990 "preproc.c" break; case 1605: /* insert_column_item: ColId opt_indirection */ #line 9912 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 49998 "preproc.c" break; case 1606: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO UPDATE SET set_clause_list where_clause */ #line 9920 "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 50006 "preproc.c" break; case 1607: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO NOTHING */ #line 9924 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("on conflict"),(yyvsp[-2].str),mm_strdup("do nothing")); } #line 50014 "preproc.c" break; case 1608: /* opt_on_conflict: %empty */ #line 9928 "preproc.y" { (yyval.str)=EMPTY; } #line 50021 "preproc.c" break; case 1609: /* opt_conf_expr: '(' index_params ')' where_clause */ #line 9935 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 50029 "preproc.c" break; case 1610: /* opt_conf_expr: ON CONSTRAINT name */ #line 9939 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("on constraint"),(yyvsp[0].str)); } #line 50037 "preproc.c" break; case 1611: /* opt_conf_expr: %empty */ #line 9943 "preproc.y" { (yyval.str)=EMPTY; } #line 50044 "preproc.c" break; case 1612: /* returning_clause: RETURNING target_list opt_ecpg_into */ #line 9950 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("returning"),(yyvsp[-1].str)); } #line 50052 "preproc.c" break; case 1613: /* returning_clause: %empty */ #line 9954 "preproc.y" { (yyval.str)=EMPTY; } #line 50059 "preproc.c" break; case 1614: /* DeleteStmt: opt_with_clause DELETE_P FROM relation_expr_opt_alias using_clause where_or_current_clause returning_clause */ #line 9961 "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 50067 "preproc.c" break; case 1615: /* using_clause: USING from_list */ #line 9969 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using"),(yyvsp[0].str)); } #line 50075 "preproc.c" break; case 1616: /* using_clause: %empty */ #line 9973 "preproc.y" { (yyval.str)=EMPTY; } #line 50082 "preproc.c" break; case 1617: /* LockStmt: LOCK_P opt_table relation_expr_list opt_lock opt_nowait */ #line 9980 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("lock"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50090 "preproc.c" break; case 1618: /* opt_lock: IN_P lock_type MODE */ #line 9988 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("in"),(yyvsp[-1].str),mm_strdup("mode")); } #line 50098 "preproc.c" break; case 1619: /* opt_lock: %empty */ #line 9992 "preproc.y" { (yyval.str)=EMPTY; } #line 50105 "preproc.c" break; case 1620: /* lock_type: ACCESS SHARE */ #line 9999 "preproc.y" { (yyval.str) = mm_strdup("access share"); } #line 50113 "preproc.c" break; case 1621: /* lock_type: ROW SHARE */ #line 10003 "preproc.y" { (yyval.str) = mm_strdup("row share"); } #line 50121 "preproc.c" break; case 1622: /* lock_type: ROW EXCLUSIVE */ #line 10007 "preproc.y" { (yyval.str) = mm_strdup("row exclusive"); } #line 50129 "preproc.c" break; case 1623: /* lock_type: SHARE UPDATE EXCLUSIVE */ #line 10011 "preproc.y" { (yyval.str) = mm_strdup("share update exclusive"); } #line 50137 "preproc.c" break; case 1624: /* lock_type: SHARE */ #line 10015 "preproc.y" { (yyval.str) = mm_strdup("share"); } #line 50145 "preproc.c" break; case 1625: /* lock_type: SHARE ROW EXCLUSIVE */ #line 10019 "preproc.y" { (yyval.str) = mm_strdup("share row exclusive"); } #line 50153 "preproc.c" break; case 1626: /* lock_type: EXCLUSIVE */ #line 10023 "preproc.y" { (yyval.str) = mm_strdup("exclusive"); } #line 50161 "preproc.c" break; case 1627: /* lock_type: ACCESS EXCLUSIVE */ #line 10027 "preproc.y" { (yyval.str) = mm_strdup("access exclusive"); } #line 50169 "preproc.c" break; case 1628: /* opt_nowait: NOWAIT */ #line 10035 "preproc.y" { (yyval.str) = mm_strdup("nowait"); } #line 50177 "preproc.c" break; case 1629: /* opt_nowait: %empty */ #line 10039 "preproc.y" { (yyval.str)=EMPTY; } #line 50184 "preproc.c" break; case 1630: /* opt_nowait_or_skip: NOWAIT */ #line 10046 "preproc.y" { (yyval.str) = mm_strdup("nowait"); } #line 50192 "preproc.c" break; case 1631: /* opt_nowait_or_skip: SKIP LOCKED */ #line 10050 "preproc.y" { (yyval.str) = mm_strdup("skip locked"); } #line 50200 "preproc.c" break; case 1632: /* opt_nowait_or_skip: %empty */ #line 10054 "preproc.y" { (yyval.str)=EMPTY; } #line 50207 "preproc.c" break; case 1633: /* UpdateStmt: opt_with_clause UPDATE relation_expr_opt_alias SET set_clause_list from_clause where_or_current_clause returning_clause */ #line 10061 "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 50215 "preproc.c" break; case 1634: /* set_clause_list: set_clause */ #line 10069 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50223 "preproc.c" break; case 1635: /* set_clause_list: set_clause_list ',' set_clause */ #line 10073 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 50231 "preproc.c" break; case 1636: /* set_clause: set_target '=' a_expr */ #line 10081 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 50239 "preproc.c" break; case 1637: /* set_clause: '(' set_target_list ')' '=' a_expr */ #line 10085 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-3].str),mm_strdup(") ="),(yyvsp[0].str)); } #line 50247 "preproc.c" break; case 1638: /* set_target: ColId opt_indirection */ #line 10093 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 50255 "preproc.c" break; case 1639: /* set_target_list: set_target */ #line 10101 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50263 "preproc.c" break; case 1640: /* set_target_list: set_target_list ',' set_target */ #line 10105 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 50271 "preproc.c" break; case 1641: /* MergeStmt: opt_with_clause MERGE INTO relation_expr_opt_alias USING table_ref ON a_expr merge_when_list */ #line 10113 "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 50279 "preproc.c" break; case 1642: /* merge_when_list: merge_when_clause */ #line 10121 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50287 "preproc.c" break; case 1643: /* merge_when_list: merge_when_list merge_when_clause */ #line 10125 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 50295 "preproc.c" break; case 1644: /* merge_when_clause: WHEN MATCHED opt_merge_when_condition THEN merge_update */ #line 10133 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("when matched"),(yyvsp[-2].str),mm_strdup("then"),(yyvsp[0].str)); } #line 50303 "preproc.c" break; case 1645: /* merge_when_clause: WHEN MATCHED opt_merge_when_condition THEN merge_delete */ #line 10137 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("when matched"),(yyvsp[-2].str),mm_strdup("then"),(yyvsp[0].str)); } #line 50311 "preproc.c" break; case 1646: /* merge_when_clause: WHEN NOT MATCHED opt_merge_when_condition THEN merge_insert */ #line 10141 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("when not matched"),(yyvsp[-2].str),mm_strdup("then"),(yyvsp[0].str)); } #line 50319 "preproc.c" break; case 1647: /* merge_when_clause: WHEN MATCHED opt_merge_when_condition THEN DO NOTHING */ #line 10145 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("when matched"),(yyvsp[-3].str),mm_strdup("then do nothing")); } #line 50327 "preproc.c" break; case 1648: /* merge_when_clause: WHEN NOT MATCHED opt_merge_when_condition THEN DO NOTHING */ #line 10149 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("when not matched"),(yyvsp[-3].str),mm_strdup("then do nothing")); } #line 50335 "preproc.c" break; case 1649: /* opt_merge_when_condition: AND a_expr */ #line 10157 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("and"),(yyvsp[0].str)); } #line 50343 "preproc.c" break; case 1650: /* opt_merge_when_condition: %empty */ #line 10161 "preproc.y" { (yyval.str)=EMPTY; } #line 50350 "preproc.c" break; case 1651: /* merge_update: UPDATE SET set_clause_list */ #line 10168 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("update set"),(yyvsp[0].str)); } #line 50358 "preproc.c" break; case 1652: /* merge_delete: DELETE_P */ #line 10176 "preproc.y" { (yyval.str) = mm_strdup("delete"); } #line 50366 "preproc.c" break; case 1653: /* merge_insert: INSERT merge_values_clause */ #line 10184 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("insert"),(yyvsp[0].str)); } #line 50374 "preproc.c" break; case 1654: /* merge_insert: INSERT OVERRIDING override_kind VALUE_P merge_values_clause */ #line 10188 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("insert overriding"),(yyvsp[-2].str),mm_strdup("value"),(yyvsp[0].str)); } #line 50382 "preproc.c" break; case 1655: /* merge_insert: INSERT '(' insert_column_list ')' merge_values_clause */ #line 10192 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("insert ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 50390 "preproc.c" break; case 1656: /* merge_insert: INSERT '(' insert_column_list ')' OVERRIDING override_kind VALUE_P merge_values_clause */ #line 10196 "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 50398 "preproc.c" break; case 1657: /* merge_insert: INSERT DEFAULT VALUES */ #line 10200 "preproc.y" { (yyval.str) = mm_strdup("insert default values"); } #line 50406 "preproc.c" break; case 1658: /* merge_values_clause: VALUES '(' expr_list ')' */ #line 10208 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("values ("),(yyvsp[-1].str),mm_strdup(")")); } #line 50414 "preproc.c" break; case 1659: /* DeclareCursorStmt: DECLARE cursor_name cursor_options CURSOR opt_hold FOR SelectStmt */ #line 10216 "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 50465 "preproc.c" break; case 1660: /* cursor_name: name */ #line 10267 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50473 "preproc.c" break; case 1661: /* cursor_name: char_civar */ #line 10271 "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 50485 "preproc.c" break; case 1662: /* cursor_options: %empty */ #line 10283 "preproc.y" { (yyval.str)=EMPTY; } #line 50492 "preproc.c" break; case 1663: /* cursor_options: cursor_options NO SCROLL */ #line 10286 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("no scroll")); } #line 50500 "preproc.c" break; case 1664: /* cursor_options: cursor_options SCROLL */ #line 10290 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("scroll")); } #line 50508 "preproc.c" break; case 1665: /* cursor_options: cursor_options BINARY */ #line 10294 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("binary")); } #line 50516 "preproc.c" break; case 1666: /* cursor_options: cursor_options ASENSITIVE */ #line 10298 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("asensitive")); } #line 50524 "preproc.c" break; case 1667: /* cursor_options: cursor_options INSENSITIVE */ #line 10302 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("insensitive")); } #line 50532 "preproc.c" break; case 1668: /* opt_hold: %empty */ #line 10310 "preproc.y" { if (compat == ECPG_COMPAT_INFORMIX_SE && autocommit) (yyval.str) = mm_strdup("with hold"); else (yyval.str) = EMPTY; } #line 50543 "preproc.c" break; case 1669: /* opt_hold: WITH HOLD */ #line 10317 "preproc.y" { (yyval.str) = mm_strdup("with hold"); } #line 50551 "preproc.c" break; case 1670: /* opt_hold: WITHOUT HOLD */ #line 10321 "preproc.y" { (yyval.str) = mm_strdup("without hold"); } #line 50559 "preproc.c" break; case 1671: /* SelectStmt: select_no_parens */ #line 10329 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50567 "preproc.c" break; case 1672: /* SelectStmt: select_with_parens */ #line 10333 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50575 "preproc.c" break; case 1673: /* select_with_parens: '(' select_no_parens ')' */ #line 10341 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 50583 "preproc.c" break; case 1674: /* select_with_parens: '(' select_with_parens ')' */ #line 10345 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 50591 "preproc.c" break; case 1675: /* select_no_parens: simple_select */ #line 10353 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50599 "preproc.c" break; case 1676: /* select_no_parens: select_clause sort_clause */ #line 10357 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 50607 "preproc.c" break; case 1677: /* select_no_parens: select_clause opt_sort_clause for_locking_clause opt_select_limit */ #line 10361 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50615 "preproc.c" break; case 1678: /* select_no_parens: select_clause opt_sort_clause select_limit opt_for_locking_clause */ #line 10365 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50623 "preproc.c" break; case 1679: /* select_no_parens: with_clause select_clause */ #line 10369 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 50631 "preproc.c" break; case 1680: /* select_no_parens: with_clause select_clause sort_clause */ #line 10373 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50639 "preproc.c" break; case 1681: /* select_no_parens: with_clause select_clause opt_sort_clause for_locking_clause opt_select_limit */ #line 10377 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50647 "preproc.c" break; case 1682: /* select_no_parens: with_clause select_clause opt_sort_clause select_limit opt_for_locking_clause */ #line 10381 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50655 "preproc.c" break; case 1683: /* select_clause: simple_select */ #line 10389 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50663 "preproc.c" break; case 1684: /* select_clause: select_with_parens */ #line 10393 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50671 "preproc.c" break; case 1685: /* simple_select: SELECT opt_all_clause opt_target_list into_clause from_clause where_clause group_clause having_clause window_clause */ #line 10401 "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 50679 "preproc.c" break; case 1686: /* simple_select: SELECT distinct_clause target_list into_clause from_clause where_clause group_clause having_clause window_clause */ #line 10405 "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 50687 "preproc.c" break; case 1687: /* simple_select: values_clause */ #line 10409 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50695 "preproc.c" break; case 1688: /* simple_select: TABLE relation_expr */ #line 10413 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("table"),(yyvsp[0].str)); } #line 50703 "preproc.c" break; case 1689: /* simple_select: select_clause UNION set_quantifier select_clause */ #line 10417 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("union"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50711 "preproc.c" break; case 1690: /* simple_select: select_clause INTERSECT set_quantifier select_clause */ #line 10421 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("intersect"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50719 "preproc.c" break; case 1691: /* simple_select: select_clause EXCEPT set_quantifier select_clause */ #line 10425 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("except"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50727 "preproc.c" break; case 1692: /* with_clause: WITH cte_list */ #line 10433 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with"),(yyvsp[0].str)); } #line 50735 "preproc.c" break; case 1693: /* with_clause: WITH_LA cte_list */ #line 10437 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with"),(yyvsp[0].str)); } #line 50743 "preproc.c" break; case 1694: /* with_clause: WITH RECURSIVE cte_list */ #line 10441 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with recursive"),(yyvsp[0].str)); } #line 50751 "preproc.c" break; case 1695: /* cte_list: common_table_expr */ #line 10449 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50759 "preproc.c" break; case 1696: /* cte_list: cte_list ',' common_table_expr */ #line 10453 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 50767 "preproc.c" break; case 1697: /* common_table_expr: name opt_name_list AS opt_materialized '(' PreparableStmt ')' opt_search_clause opt_cycle_clause */ #line 10461 "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 50775 "preproc.c" break; case 1698: /* opt_materialized: MATERIALIZED */ #line 10469 "preproc.y" { (yyval.str) = mm_strdup("materialized"); } #line 50783 "preproc.c" break; case 1699: /* opt_materialized: NOT MATERIALIZED */ #line 10473 "preproc.y" { (yyval.str) = mm_strdup("not materialized"); } #line 50791 "preproc.c" break; case 1700: /* opt_materialized: %empty */ #line 10477 "preproc.y" { (yyval.str)=EMPTY; } #line 50798 "preproc.c" break; case 1701: /* opt_search_clause: SEARCH DEPTH FIRST_P BY columnList SET ColId */ #line 10484 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("search depth first by"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 50806 "preproc.c" break; case 1702: /* opt_search_clause: SEARCH BREADTH FIRST_P BY columnList SET ColId */ #line 10488 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("search breadth first by"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 50814 "preproc.c" break; case 1703: /* opt_search_clause: %empty */ #line 10492 "preproc.y" { (yyval.str)=EMPTY; } #line 50821 "preproc.c" break; case 1704: /* opt_cycle_clause: CYCLE columnList SET ColId TO AexprConst DEFAULT AexprConst USING ColId */ #line 10499 "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 50829 "preproc.c" break; case 1705: /* opt_cycle_clause: CYCLE columnList SET ColId USING ColId */ #line 10503 "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 50837 "preproc.c" break; case 1706: /* opt_cycle_clause: %empty */ #line 10507 "preproc.y" { (yyval.str)=EMPTY; } #line 50844 "preproc.c" break; case 1707: /* opt_with_clause: with_clause */ #line 10514 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50852 "preproc.c" break; case 1708: /* opt_with_clause: %empty */ #line 10518 "preproc.y" { (yyval.str)=EMPTY; } #line 50859 "preproc.c" break; case 1709: /* into_clause: INTO OptTempTableName */ #line 10525 "preproc.y" { FoundInto = 1; (yyval.str)= cat2_str(mm_strdup("into"), (yyvsp[0].str)); } #line 50868 "preproc.c" break; case 1710: /* into_clause: ecpg_into */ #line 10529 "preproc.y" { (yyval.str) = EMPTY; } #line 50874 "preproc.c" break; case 1711: /* into_clause: %empty */ #line 10531 "preproc.y" { (yyval.str)=EMPTY; } #line 50881 "preproc.c" break; case 1712: /* OptTempTableName: TEMPORARY opt_table qualified_name */ #line 10538 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("temporary"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50889 "preproc.c" break; case 1713: /* OptTempTableName: TEMP opt_table qualified_name */ #line 10542 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("temp"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50897 "preproc.c" break; case 1714: /* OptTempTableName: LOCAL TEMPORARY opt_table qualified_name */ #line 10546 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("local temporary"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50905 "preproc.c" break; case 1715: /* OptTempTableName: LOCAL TEMP opt_table qualified_name */ #line 10550 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("local temp"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50913 "preproc.c" break; case 1716: /* OptTempTableName: GLOBAL TEMPORARY opt_table qualified_name */ #line 10554 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("global temporary"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50921 "preproc.c" break; case 1717: /* OptTempTableName: GLOBAL TEMP opt_table qualified_name */ #line 10558 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("global temp"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50929 "preproc.c" break; case 1718: /* OptTempTableName: UNLOGGED opt_table qualified_name */ #line 10562 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("unlogged"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50937 "preproc.c" break; case 1719: /* OptTempTableName: TABLE qualified_name */ #line 10566 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("table"),(yyvsp[0].str)); } #line 50945 "preproc.c" break; case 1720: /* OptTempTableName: qualified_name */ #line 10570 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50953 "preproc.c" break; case 1721: /* opt_table: TABLE */ #line 10578 "preproc.y" { (yyval.str) = mm_strdup("table"); } #line 50961 "preproc.c" break; case 1722: /* opt_table: %empty */ #line 10582 "preproc.y" { (yyval.str)=EMPTY; } #line 50968 "preproc.c" break; case 1723: /* set_quantifier: ALL */ #line 10589 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 50976 "preproc.c" break; case 1724: /* set_quantifier: DISTINCT */ #line 10593 "preproc.y" { (yyval.str) = mm_strdup("distinct"); } #line 50984 "preproc.c" break; case 1725: /* set_quantifier: %empty */ #line 10597 "preproc.y" { (yyval.str)=EMPTY; } #line 50991 "preproc.c" break; case 1726: /* distinct_clause: DISTINCT */ #line 10604 "preproc.y" { (yyval.str) = mm_strdup("distinct"); } #line 50999 "preproc.c" break; case 1727: /* distinct_clause: DISTINCT ON '(' expr_list ')' */ #line 10608 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("distinct on ("),(yyvsp[-1].str),mm_strdup(")")); } #line 51007 "preproc.c" break; case 1728: /* opt_all_clause: ALL */ #line 10616 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 51015 "preproc.c" break; case 1729: /* opt_all_clause: %empty */ #line 10620 "preproc.y" { (yyval.str)=EMPTY; } #line 51022 "preproc.c" break; case 1730: /* opt_sort_clause: sort_clause */ #line 10627 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51030 "preproc.c" break; case 1731: /* opt_sort_clause: %empty */ #line 10631 "preproc.y" { (yyval.str)=EMPTY; } #line 51037 "preproc.c" break; case 1732: /* sort_clause: ORDER BY sortby_list */ #line 10638 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("order by"),(yyvsp[0].str)); } #line 51045 "preproc.c" break; case 1733: /* sortby_list: sortby */ #line 10646 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51053 "preproc.c" break; case 1734: /* sortby_list: sortby_list ',' sortby */ #line 10650 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 51061 "preproc.c" break; case 1735: /* sortby: a_expr USING qual_all_Op opt_nulls_order */ #line 10658 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("using"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51069 "preproc.c" break; case 1736: /* sortby: a_expr opt_asc_desc opt_nulls_order */ #line 10662 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51077 "preproc.c" break; case 1737: /* select_limit: limit_clause offset_clause */ #line 10670 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 51085 "preproc.c" break; case 1738: /* select_limit: offset_clause limit_clause */ #line 10674 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 51093 "preproc.c" break; case 1739: /* select_limit: limit_clause */ #line 10678 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51101 "preproc.c" break; case 1740: /* select_limit: offset_clause */ #line 10682 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51109 "preproc.c" break; case 1741: /* opt_select_limit: select_limit */ #line 10690 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51117 "preproc.c" break; case 1742: /* opt_select_limit: %empty */ #line 10694 "preproc.y" { (yyval.str)=EMPTY; } #line 51124 "preproc.c" break; case 1743: /* limit_clause: LIMIT select_limit_value */ #line 10701 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("limit"),(yyvsp[0].str)); } #line 51132 "preproc.c" break; case 1744: /* limit_clause: LIMIT select_limit_value ',' select_offset_value */ #line 10705 "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 51141 "preproc.c" break; case 1745: /* limit_clause: FETCH first_or_next select_fetch_first_value row_or_rows ONLY */ #line 10710 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("fetch"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup("only")); } #line 51149 "preproc.c" break; case 1746: /* limit_clause: FETCH first_or_next select_fetch_first_value row_or_rows WITH TIES */ #line 10714 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("fetch"),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("with ties")); } #line 51157 "preproc.c" break; case 1747: /* limit_clause: FETCH first_or_next row_or_rows ONLY */ #line 10718 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("fetch"),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup("only")); } #line 51165 "preproc.c" break; case 1748: /* limit_clause: FETCH first_or_next row_or_rows WITH TIES */ #line 10722 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("fetch"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("with ties")); } #line 51173 "preproc.c" break; case 1749: /* offset_clause: OFFSET select_offset_value */ #line 10730 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("offset"),(yyvsp[0].str)); } #line 51181 "preproc.c" break; case 1750: /* offset_clause: OFFSET select_fetch_first_value row_or_rows */ #line 10734 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("offset"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51189 "preproc.c" break; case 1751: /* select_limit_value: a_expr */ #line 10742 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51197 "preproc.c" break; case 1752: /* select_limit_value: ALL */ #line 10746 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 51205 "preproc.c" break; case 1753: /* select_offset_value: a_expr */ #line 10754 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51213 "preproc.c" break; case 1754: /* select_fetch_first_value: c_expr */ #line 10762 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51221 "preproc.c" break; case 1755: /* select_fetch_first_value: '+' I_or_F_const */ #line 10766 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("+"),(yyvsp[0].str)); } #line 51229 "preproc.c" break; case 1756: /* select_fetch_first_value: '-' I_or_F_const */ #line 10770 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("-"),(yyvsp[0].str)); } #line 51237 "preproc.c" break; case 1757: /* I_or_F_const: Iconst */ #line 10778 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51245 "preproc.c" break; case 1758: /* I_or_F_const: ecpg_fconst */ #line 10782 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51253 "preproc.c" break; case 1759: /* row_or_rows: ROW */ #line 10790 "preproc.y" { (yyval.str) = mm_strdup("row"); } #line 51261 "preproc.c" break; case 1760: /* row_or_rows: ROWS */ #line 10794 "preproc.y" { (yyval.str) = mm_strdup("rows"); } #line 51269 "preproc.c" break; case 1761: /* first_or_next: FIRST_P */ #line 10802 "preproc.y" { (yyval.str) = mm_strdup("first"); } #line 51277 "preproc.c" break; case 1762: /* first_or_next: NEXT */ #line 10806 "preproc.y" { (yyval.str) = mm_strdup("next"); } #line 51285 "preproc.c" break; case 1763: /* group_clause: GROUP_P BY set_quantifier group_by_list */ #line 10814 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("group by"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51293 "preproc.c" break; case 1764: /* group_clause: %empty */ #line 10818 "preproc.y" { (yyval.str)=EMPTY; } #line 51300 "preproc.c" break; case 1765: /* group_by_list: group_by_item */ #line 10825 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51308 "preproc.c" break; case 1766: /* group_by_list: group_by_list ',' group_by_item */ #line 10829 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 51316 "preproc.c" break; case 1767: /* group_by_item: a_expr */ #line 10837 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51324 "preproc.c" break; case 1768: /* group_by_item: empty_grouping_set */ #line 10841 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51332 "preproc.c" break; case 1769: /* group_by_item: cube_clause */ #line 10845 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51340 "preproc.c" break; case 1770: /* group_by_item: rollup_clause */ #line 10849 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51348 "preproc.c" break; case 1771: /* group_by_item: grouping_sets_clause */ #line 10853 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51356 "preproc.c" break; case 1772: /* empty_grouping_set: '(' ')' */ #line 10861 "preproc.y" { (yyval.str) = mm_strdup("( )"); } #line 51364 "preproc.c" break; case 1773: /* rollup_clause: ROLLUP '(' expr_list ')' */ #line 10869 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("rollup ("),(yyvsp[-1].str),mm_strdup(")")); } #line 51372 "preproc.c" break; case 1774: /* cube_clause: CUBE '(' expr_list ')' */ #line 10877 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("cube ("),(yyvsp[-1].str),mm_strdup(")")); } #line 51380 "preproc.c" break; case 1775: /* grouping_sets_clause: GROUPING SETS '(' group_by_list ')' */ #line 10885 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("grouping sets ("),(yyvsp[-1].str),mm_strdup(")")); } #line 51388 "preproc.c" break; case 1776: /* having_clause: HAVING a_expr */ #line 10893 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("having"),(yyvsp[0].str)); } #line 51396 "preproc.c" break; case 1777: /* having_clause: %empty */ #line 10897 "preproc.y" { (yyval.str)=EMPTY; } #line 51403 "preproc.c" break; case 1778: /* for_locking_clause: for_locking_items */ #line 10904 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51411 "preproc.c" break; case 1779: /* for_locking_clause: FOR READ ONLY */ #line 10908 "preproc.y" { (yyval.str) = mm_strdup("for read only"); } #line 51419 "preproc.c" break; case 1780: /* opt_for_locking_clause: for_locking_clause */ #line 10916 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51427 "preproc.c" break; case 1781: /* opt_for_locking_clause: %empty */ #line 10920 "preproc.y" { (yyval.str)=EMPTY; } #line 51434 "preproc.c" break; case 1782: /* for_locking_items: for_locking_item */ #line 10927 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51442 "preproc.c" break; case 1783: /* for_locking_items: for_locking_items for_locking_item */ #line 10931 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 51450 "preproc.c" break; case 1784: /* for_locking_item: for_locking_strength locked_rels_list opt_nowait_or_skip */ #line 10939 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51458 "preproc.c" break; case 1785: /* for_locking_strength: FOR UPDATE */ #line 10947 "preproc.y" { (yyval.str) = mm_strdup("for update"); } #line 51466 "preproc.c" break; case 1786: /* for_locking_strength: FOR NO KEY UPDATE */ #line 10951 "preproc.y" { (yyval.str) = mm_strdup("for no key update"); } #line 51474 "preproc.c" break; case 1787: /* for_locking_strength: FOR SHARE */ #line 10955 "preproc.y" { (yyval.str) = mm_strdup("for share"); } #line 51482 "preproc.c" break; case 1788: /* for_locking_strength: FOR KEY SHARE */ #line 10959 "preproc.y" { (yyval.str) = mm_strdup("for key share"); } #line 51490 "preproc.c" break; case 1789: /* locked_rels_list: OF qualified_name_list */ #line 10967 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("of"),(yyvsp[0].str)); } #line 51498 "preproc.c" break; case 1790: /* locked_rels_list: %empty */ #line 10971 "preproc.y" { (yyval.str)=EMPTY; } #line 51505 "preproc.c" break; case 1791: /* values_clause: VALUES '(' expr_list ')' */ #line 10978 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("values ("),(yyvsp[-1].str),mm_strdup(")")); } #line 51513 "preproc.c" break; case 1792: /* values_clause: values_clause ',' '(' expr_list ')' */ #line 10982 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-4].str),mm_strdup(", ("),(yyvsp[-1].str),mm_strdup(")")); } #line 51521 "preproc.c" break; case 1793: /* from_clause: FROM from_list */ #line 10990 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("from"),(yyvsp[0].str)); } #line 51529 "preproc.c" break; case 1794: /* from_clause: %empty */ #line 10994 "preproc.y" { (yyval.str)=EMPTY; } #line 51536 "preproc.c" break; case 1795: /* from_list: table_ref */ #line 11001 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51544 "preproc.c" break; case 1796: /* from_list: from_list ',' table_ref */ #line 11005 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 51552 "preproc.c" break; case 1797: /* table_ref: relation_expr opt_alias_clause */ #line 11013 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 51560 "preproc.c" break; case 1798: /* table_ref: relation_expr opt_alias_clause tablesample_clause */ #line 11017 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51568 "preproc.c" break; case 1799: /* table_ref: func_table func_alias_clause */ #line 11021 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 51576 "preproc.c" break; case 1800: /* table_ref: LATERAL_P func_table func_alias_clause */ #line 11025 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("lateral"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51584 "preproc.c" break; case 1801: /* table_ref: xmltable opt_alias_clause */ #line 11029 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 51592 "preproc.c" break; case 1802: /* table_ref: LATERAL_P xmltable opt_alias_clause */ #line 11033 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("lateral"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51600 "preproc.c" break; case 1803: /* table_ref: select_with_parens opt_alias_clause */ #line 11037 "preproc.y" { if ((yyvsp[0].str) == NULL) mmerror(PARSE_ERROR, ET_ERROR, "subquery in FROM must have an alias"); (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 51611 "preproc.c" break; case 1804: /* table_ref: LATERAL_P select_with_parens opt_alias_clause */ #line 11044 "preproc.y" { if ((yyvsp[0].str) == NULL) mmerror(PARSE_ERROR, ET_ERROR, "subquery in FROM must have an alias"); (yyval.str) = cat_str(3,mm_strdup("lateral"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51622 "preproc.c" break; case 1805: /* table_ref: joined_table */ #line 11051 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51630 "preproc.c" break; case 1806: /* table_ref: '(' joined_table ')' alias_clause */ #line 11055 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 51638 "preproc.c" break; case 1807: /* joined_table: '(' joined_table ')' */ #line 11063 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 51646 "preproc.c" break; case 1808: /* joined_table: table_ref CROSS JOIN table_ref */ #line 11067 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("cross join"),(yyvsp[0].str)); } #line 51654 "preproc.c" break; case 1809: /* joined_table: table_ref join_type JOIN table_ref join_qual */ #line 11071 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("join"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51662 "preproc.c" break; case 1810: /* joined_table: table_ref JOIN table_ref join_qual */ #line 11075 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("join"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51670 "preproc.c" break; case 1811: /* joined_table: table_ref NATURAL join_type JOIN table_ref */ #line 11079 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("natural"),(yyvsp[-2].str),mm_strdup("join"),(yyvsp[0].str)); } #line 51678 "preproc.c" break; case 1812: /* joined_table: table_ref NATURAL JOIN table_ref */ #line 11083 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("natural join"),(yyvsp[0].str)); } #line 51686 "preproc.c" break; case 1813: /* alias_clause: AS ColId '(' name_list ')' */ #line 11091 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("as"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 51694 "preproc.c" break; case 1814: /* alias_clause: AS ColId */ #line 11095 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("as"),(yyvsp[0].str)); } #line 51702 "preproc.c" break; case 1815: /* alias_clause: ColId '(' name_list ')' */ #line 11099 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 51710 "preproc.c" break; case 1816: /* alias_clause: ColId */ #line 11103 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51718 "preproc.c" break; case 1817: /* opt_alias_clause: alias_clause */ #line 11111 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51726 "preproc.c" break; case 1818: /* opt_alias_clause: %empty */ #line 11115 "preproc.y" { (yyval.str)=EMPTY; } #line 51733 "preproc.c" break; case 1819: /* opt_alias_clause_for_join_using: AS ColId */ #line 11122 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("as"),(yyvsp[0].str)); } #line 51741 "preproc.c" break; case 1820: /* opt_alias_clause_for_join_using: %empty */ #line 11126 "preproc.y" { (yyval.str)=EMPTY; } #line 51748 "preproc.c" break; case 1821: /* func_alias_clause: alias_clause */ #line 11133 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51756 "preproc.c" break; case 1822: /* func_alias_clause: AS '(' TableFuncElementList ')' */ #line 11137 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("as ("),(yyvsp[-1].str),mm_strdup(")")); } #line 51764 "preproc.c" break; case 1823: /* func_alias_clause: AS ColId '(' TableFuncElementList ')' */ #line 11141 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("as"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 51772 "preproc.c" break; case 1824: /* func_alias_clause: ColId '(' TableFuncElementList ')' */ #line 11145 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 51780 "preproc.c" break; case 1825: /* func_alias_clause: %empty */ #line 11149 "preproc.y" { (yyval.str)=EMPTY; } #line 51787 "preproc.c" break; case 1826: /* join_type: FULL opt_outer */ #line 11156 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("full"),(yyvsp[0].str)); } #line 51795 "preproc.c" break; case 1827: /* join_type: LEFT opt_outer */ #line 11160 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("left"),(yyvsp[0].str)); } #line 51803 "preproc.c" break; case 1828: /* join_type: RIGHT opt_outer */ #line 11164 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("right"),(yyvsp[0].str)); } #line 51811 "preproc.c" break; case 1829: /* join_type: INNER_P */ #line 11168 "preproc.y" { (yyval.str) = mm_strdup("inner"); } #line 51819 "preproc.c" break; case 1830: /* opt_outer: OUTER_P */ #line 11176 "preproc.y" { (yyval.str) = mm_strdup("outer"); } #line 51827 "preproc.c" break; case 1831: /* opt_outer: %empty */ #line 11180 "preproc.y" { (yyval.str)=EMPTY; } #line 51834 "preproc.c" break; case 1832: /* join_qual: USING '(' name_list ')' opt_alias_clause_for_join_using */ #line 11187 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("using ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 51842 "preproc.c" break; case 1833: /* join_qual: ON a_expr */ #line 11191 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("on"),(yyvsp[0].str)); } #line 51850 "preproc.c" break; case 1834: /* relation_expr: qualified_name */ #line 11199 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51858 "preproc.c" break; case 1835: /* relation_expr: extended_relation_expr */ #line 11203 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51866 "preproc.c" break; case 1836: /* extended_relation_expr: qualified_name '*' */ #line 11211 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("*")); } #line 51874 "preproc.c" break; case 1837: /* extended_relation_expr: ONLY qualified_name */ #line 11215 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("only"),(yyvsp[0].str)); } #line 51882 "preproc.c" break; case 1838: /* extended_relation_expr: ONLY '(' qualified_name ')' */ #line 11219 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("only ("),(yyvsp[-1].str),mm_strdup(")")); } #line 51890 "preproc.c" break; case 1839: /* relation_expr_list: relation_expr */ #line 11227 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51898 "preproc.c" break; case 1840: /* relation_expr_list: relation_expr_list ',' relation_expr */ #line 11231 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 51906 "preproc.c" break; case 1841: /* relation_expr_opt_alias: relation_expr */ #line 11239 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51914 "preproc.c" break; case 1842: /* relation_expr_opt_alias: relation_expr ColId */ #line 11243 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 51922 "preproc.c" break; case 1843: /* relation_expr_opt_alias: relation_expr AS ColId */ #line 11247 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } #line 51930 "preproc.c" break; case 1844: /* tablesample_clause: TABLESAMPLE func_name '(' expr_list ')' opt_repeatable_clause */ #line 11255 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("tablesample"),(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 51938 "preproc.c" break; case 1845: /* opt_repeatable_clause: REPEATABLE '(' a_expr ')' */ #line 11263 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("repeatable ("),(yyvsp[-1].str),mm_strdup(")")); } #line 51946 "preproc.c" break; case 1846: /* opt_repeatable_clause: %empty */ #line 11267 "preproc.y" { (yyval.str)=EMPTY; } #line 51953 "preproc.c" break; case 1847: /* func_table: func_expr_windowless opt_ordinality */ #line 11274 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 51961 "preproc.c" break; case 1848: /* func_table: ROWS FROM '(' rowsfrom_list ')' opt_ordinality */ #line 11278 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("rows from ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 51969 "preproc.c" break; case 1849: /* rowsfrom_item: func_expr_windowless opt_col_def_list */ #line 11286 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 51977 "preproc.c" break; case 1850: /* rowsfrom_list: rowsfrom_item */ #line 11294 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51985 "preproc.c" break; case 1851: /* rowsfrom_list: rowsfrom_list ',' rowsfrom_item */ #line 11298 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 51993 "preproc.c" break; case 1852: /* opt_col_def_list: AS '(' TableFuncElementList ')' */ #line 11306 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("as ("),(yyvsp[-1].str),mm_strdup(")")); } #line 52001 "preproc.c" break; case 1853: /* opt_col_def_list: %empty */ #line 11310 "preproc.y" { (yyval.str)=EMPTY; } #line 52008 "preproc.c" break; case 1854: /* opt_ordinality: WITH_LA ORDINALITY */ #line 11317 "preproc.y" { (yyval.str) = mm_strdup("with ordinality"); } #line 52016 "preproc.c" break; case 1855: /* opt_ordinality: %empty */ #line 11321 "preproc.y" { (yyval.str)=EMPTY; } #line 52023 "preproc.c" break; case 1856: /* where_clause: WHERE a_expr */ #line 11328 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("where"),(yyvsp[0].str)); } #line 52031 "preproc.c" break; case 1857: /* where_clause: %empty */ #line 11332 "preproc.y" { (yyval.str)=EMPTY; } #line 52038 "preproc.c" break; case 1858: /* where_or_current_clause: WHERE a_expr */ #line 11339 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("where"),(yyvsp[0].str)); } #line 52046 "preproc.c" break; case 1859: /* where_or_current_clause: WHERE CURRENT_P OF cursor_name */ #line 11343 "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 52055 "preproc.c" break; case 1860: /* where_or_current_clause: %empty */ #line 11348 "preproc.y" { (yyval.str)=EMPTY; } #line 52062 "preproc.c" break; case 1861: /* OptTableFuncElementList: TableFuncElementList */ #line 11355 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52070 "preproc.c" break; case 1862: /* OptTableFuncElementList: %empty */ #line 11359 "preproc.y" { (yyval.str)=EMPTY; } #line 52077 "preproc.c" break; case 1863: /* TableFuncElementList: TableFuncElement */ #line 11366 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52085 "preproc.c" break; case 1864: /* TableFuncElementList: TableFuncElementList ',' TableFuncElement */ #line 11370 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 52093 "preproc.c" break; case 1865: /* TableFuncElement: ColId Typename opt_collate_clause */ #line 11378 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 52101 "preproc.c" break; case 1866: /* xmltable: XMLTABLE '(' c_expr xmlexists_argument COLUMNS xmltable_column_list ')' */ #line 11386 "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 52109 "preproc.c" break; case 1867: /* xmltable: XMLTABLE '(' XMLNAMESPACES '(' xml_namespace_list ')' ',' c_expr xmlexists_argument COLUMNS xmltable_column_list ')' */ #line 11390 "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 52117 "preproc.c" break; case 1868: /* xmltable_column_list: xmltable_column_el */ #line 11398 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52125 "preproc.c" break; case 1869: /* xmltable_column_list: xmltable_column_list ',' xmltable_column_el */ #line 11402 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 52133 "preproc.c" break; case 1870: /* xmltable_column_el: ColId Typename */ #line 11410 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52141 "preproc.c" break; case 1871: /* xmltable_column_el: ColId Typename xmltable_column_option_list */ #line 11414 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 52149 "preproc.c" break; case 1872: /* xmltable_column_el: ColId FOR ORDINALITY */ #line 11418 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("for ordinality")); } #line 52157 "preproc.c" break; case 1873: /* xmltable_column_option_list: xmltable_column_option_el */ #line 11426 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52165 "preproc.c" break; case 1874: /* xmltable_column_option_list: xmltable_column_option_list xmltable_column_option_el */ #line 11430 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52173 "preproc.c" break; case 1875: /* xmltable_column_option_el: ecpg_ident b_expr */ #line 11438 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52181 "preproc.c" break; case 1876: /* xmltable_column_option_el: DEFAULT b_expr */ #line 11442 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("default"),(yyvsp[0].str)); } #line 52189 "preproc.c" break; case 1877: /* xmltable_column_option_el: NOT NULL_P */ #line 11446 "preproc.y" { (yyval.str) = mm_strdup("not null"); } #line 52197 "preproc.c" break; case 1878: /* xmltable_column_option_el: NULL_P */ #line 11450 "preproc.y" { (yyval.str) = mm_strdup("null"); } #line 52205 "preproc.c" break; case 1879: /* xml_namespace_list: xml_namespace_el */ #line 11458 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52213 "preproc.c" break; case 1880: /* xml_namespace_list: xml_namespace_list ',' xml_namespace_el */ #line 11462 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 52221 "preproc.c" break; case 1881: /* xml_namespace_el: b_expr AS ColLabel */ #line 11470 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } #line 52229 "preproc.c" break; case 1882: /* xml_namespace_el: DEFAULT b_expr */ #line 11474 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("default"),(yyvsp[0].str)); } #line 52237 "preproc.c" break; case 1883: /* Typename: SimpleTypename opt_array_bounds */ #line 11482 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), (yyvsp[0].index).str); } #line 52243 "preproc.c" break; case 1884: /* Typename: SETOF SimpleTypename opt_array_bounds */ #line 11484 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("setof"), (yyvsp[-1].str), (yyvsp[0].index).str); } #line 52249 "preproc.c" break; case 1885: /* Typename: SimpleTypename ARRAY '[' Iconst ']' */ #line 11486 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-4].str),mm_strdup("array ["),(yyvsp[-1].str),mm_strdup("]")); } #line 52257 "preproc.c" break; case 1886: /* Typename: SETOF SimpleTypename ARRAY '[' Iconst ']' */ #line 11490 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("setof"),(yyvsp[-4].str),mm_strdup("array ["),(yyvsp[-1].str),mm_strdup("]")); } #line 52265 "preproc.c" break; case 1887: /* Typename: SimpleTypename ARRAY */ #line 11494 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("array")); } #line 52273 "preproc.c" break; case 1888: /* Typename: SETOF SimpleTypename ARRAY */ #line 11498 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("setof"),(yyvsp[-1].str),mm_strdup("array")); } #line 52281 "preproc.c" break; case 1889: /* opt_array_bounds: opt_array_bounds '[' ']' */ #line 11506 "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 52295 "preproc.c" break; case 1890: /* opt_array_bounds: opt_array_bounds '[' Iresult ']' */ #line 11516 "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 52309 "preproc.c" break; case 1891: /* opt_array_bounds: %empty */ #line 11526 "preproc.y" { (yyval.index).index1 = mm_strdup("-1"); (yyval.index).index2 = mm_strdup("-1"); (yyval.index).str= EMPTY; } #line 52319 "preproc.c" break; case 1892: /* SimpleTypename: GenericType */ #line 11536 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52327 "preproc.c" break; case 1893: /* SimpleTypename: Numeric */ #line 11540 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52335 "preproc.c" break; case 1894: /* SimpleTypename: Bit */ #line 11544 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52343 "preproc.c" break; case 1895: /* SimpleTypename: Character */ #line 11548 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52351 "preproc.c" break; case 1896: /* SimpleTypename: ConstDatetime */ #line 11552 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52359 "preproc.c" break; case 1897: /* SimpleTypename: ConstInterval opt_interval */ #line 11556 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52367 "preproc.c" break; case 1898: /* SimpleTypename: ConstInterval '(' Iconst ')' */ #line 11560 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 52375 "preproc.c" break; case 1899: /* ConstTypename: Numeric */ #line 11568 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52383 "preproc.c" break; case 1900: /* ConstTypename: ConstBit */ #line 11572 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52391 "preproc.c" break; case 1901: /* ConstTypename: ConstCharacter */ #line 11576 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52399 "preproc.c" break; case 1902: /* ConstTypename: ConstDatetime */ #line 11580 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52407 "preproc.c" break; case 1903: /* GenericType: type_function_name opt_type_modifiers */ #line 11588 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52415 "preproc.c" break; case 1904: /* GenericType: type_function_name attrs opt_type_modifiers */ #line 11592 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 52423 "preproc.c" break; case 1905: /* opt_type_modifiers: '(' expr_list ')' */ #line 11600 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 52431 "preproc.c" break; case 1906: /* opt_type_modifiers: %empty */ #line 11604 "preproc.y" { (yyval.str)=EMPTY; } #line 52438 "preproc.c" break; case 1907: /* Numeric: INT_P */ #line 11611 "preproc.y" { (yyval.str) = mm_strdup("int"); } #line 52446 "preproc.c" break; case 1908: /* Numeric: INTEGER */ #line 11615 "preproc.y" { (yyval.str) = mm_strdup("integer"); } #line 52454 "preproc.c" break; case 1909: /* Numeric: SMALLINT */ #line 11619 "preproc.y" { (yyval.str) = mm_strdup("smallint"); } #line 52462 "preproc.c" break; case 1910: /* Numeric: BIGINT */ #line 11623 "preproc.y" { (yyval.str) = mm_strdup("bigint"); } #line 52470 "preproc.c" break; case 1911: /* Numeric: REAL */ #line 11627 "preproc.y" { (yyval.str) = mm_strdup("real"); } #line 52478 "preproc.c" break; case 1912: /* Numeric: FLOAT_P opt_float */ #line 11631 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("float"),(yyvsp[0].str)); } #line 52486 "preproc.c" break; case 1913: /* Numeric: DOUBLE_P PRECISION */ #line 11635 "preproc.y" { (yyval.str) = mm_strdup("double precision"); } #line 52494 "preproc.c" break; case 1914: /* Numeric: DECIMAL_P opt_type_modifiers */ #line 11639 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("decimal"),(yyvsp[0].str)); } #line 52502 "preproc.c" break; case 1915: /* Numeric: DEC opt_type_modifiers */ #line 11643 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("dec"),(yyvsp[0].str)); } #line 52510 "preproc.c" break; case 1916: /* Numeric: NUMERIC opt_type_modifiers */ #line 11647 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("numeric"),(yyvsp[0].str)); } #line 52518 "preproc.c" break; case 1917: /* Numeric: BOOLEAN_P */ #line 11651 "preproc.y" { (yyval.str) = mm_strdup("boolean"); } #line 52526 "preproc.c" break; case 1918: /* opt_float: '(' Iconst ')' */ #line 11659 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 52534 "preproc.c" break; case 1919: /* opt_float: %empty */ #line 11663 "preproc.y" { (yyval.str)=EMPTY; } #line 52541 "preproc.c" break; case 1920: /* Bit: BitWithLength */ #line 11670 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52549 "preproc.c" break; case 1921: /* Bit: BitWithoutLength */ #line 11674 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52557 "preproc.c" break; case 1922: /* ConstBit: BitWithLength */ #line 11682 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52565 "preproc.c" break; case 1923: /* ConstBit: BitWithoutLength */ #line 11686 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52573 "preproc.c" break; case 1924: /* BitWithLength: BIT opt_varying '(' expr_list ')' */ #line 11694 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("bit"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 52581 "preproc.c" break; case 1925: /* BitWithoutLength: BIT opt_varying */ #line 11702 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("bit"),(yyvsp[0].str)); } #line 52589 "preproc.c" break; case 1926: /* Character: CharacterWithLength */ #line 11710 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52597 "preproc.c" break; case 1927: /* Character: CharacterWithoutLength */ #line 11714 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52605 "preproc.c" break; case 1928: /* ConstCharacter: CharacterWithLength */ #line 11722 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52613 "preproc.c" break; case 1929: /* ConstCharacter: CharacterWithoutLength */ #line 11726 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52621 "preproc.c" break; case 1930: /* CharacterWithLength: character '(' Iconst ')' */ #line 11734 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 52629 "preproc.c" break; case 1931: /* CharacterWithoutLength: character */ #line 11742 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52637 "preproc.c" break; case 1932: /* character: CHARACTER opt_varying */ #line 11750 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("character"),(yyvsp[0].str)); } #line 52645 "preproc.c" break; case 1933: /* character: CHAR_P opt_varying */ #line 11754 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("char"),(yyvsp[0].str)); } #line 52653 "preproc.c" break; case 1934: /* character: VARCHAR */ #line 11758 "preproc.y" { (yyval.str) = mm_strdup("varchar"); } #line 52661 "preproc.c" break; case 1935: /* character: NATIONAL CHARACTER opt_varying */ #line 11762 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("national character"),(yyvsp[0].str)); } #line 52669 "preproc.c" break; case 1936: /* character: NATIONAL CHAR_P opt_varying */ #line 11766 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("national char"),(yyvsp[0].str)); } #line 52677 "preproc.c" break; case 1937: /* character: NCHAR opt_varying */ #line 11770 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("nchar"),(yyvsp[0].str)); } #line 52685 "preproc.c" break; case 1938: /* opt_varying: VARYING */ #line 11778 "preproc.y" { (yyval.str) = mm_strdup("varying"); } #line 52693 "preproc.c" break; case 1939: /* opt_varying: %empty */ #line 11782 "preproc.y" { (yyval.str)=EMPTY; } #line 52700 "preproc.c" break; case 1940: /* ConstDatetime: TIMESTAMP '(' Iconst ')' opt_timezone */ #line 11789 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("timestamp ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 52708 "preproc.c" break; case 1941: /* ConstDatetime: TIMESTAMP opt_timezone */ #line 11793 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("timestamp"),(yyvsp[0].str)); } #line 52716 "preproc.c" break; case 1942: /* ConstDatetime: TIME '(' Iconst ')' opt_timezone */ #line 11797 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("time ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 52724 "preproc.c" break; case 1943: /* ConstDatetime: TIME opt_timezone */ #line 11801 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("time"),(yyvsp[0].str)); } #line 52732 "preproc.c" break; case 1944: /* ConstInterval: INTERVAL */ #line 11809 "preproc.y" { (yyval.str) = mm_strdup("interval"); } #line 52740 "preproc.c" break; case 1945: /* opt_timezone: WITH_LA TIME ZONE */ #line 11817 "preproc.y" { (yyval.str) = mm_strdup("with time zone"); } #line 52748 "preproc.c" break; case 1946: /* opt_timezone: WITHOUT TIME ZONE */ #line 11821 "preproc.y" { (yyval.str) = mm_strdup("without time zone"); } #line 52756 "preproc.c" break; case 1947: /* opt_timezone: %empty */ #line 11825 "preproc.y" { (yyval.str)=EMPTY; } #line 52763 "preproc.c" break; case 1948: /* opt_interval: YEAR_P */ #line 11832 "preproc.y" { (yyval.str) = mm_strdup("year"); } #line 52771 "preproc.c" break; case 1949: /* opt_interval: MONTH_P */ #line 11836 "preproc.y" { (yyval.str) = mm_strdup("month"); } #line 52779 "preproc.c" break; case 1950: /* opt_interval: DAY_P */ #line 11840 "preproc.y" { (yyval.str) = mm_strdup("day"); } #line 52787 "preproc.c" break; case 1951: /* opt_interval: HOUR_P */ #line 11844 "preproc.y" { (yyval.str) = mm_strdup("hour"); } #line 52795 "preproc.c" break; case 1952: /* opt_interval: MINUTE_P */ #line 11848 "preproc.y" { (yyval.str) = mm_strdup("minute"); } #line 52803 "preproc.c" break; case 1953: /* opt_interval: interval_second */ #line 11852 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52811 "preproc.c" break; case 1954: /* opt_interval: YEAR_P TO MONTH_P */ #line 11856 "preproc.y" { (yyval.str) = mm_strdup("year to month"); } #line 52819 "preproc.c" break; case 1955: /* opt_interval: DAY_P TO HOUR_P */ #line 11860 "preproc.y" { (yyval.str) = mm_strdup("day to hour"); } #line 52827 "preproc.c" break; case 1956: /* opt_interval: DAY_P TO MINUTE_P */ #line 11864 "preproc.y" { (yyval.str) = mm_strdup("day to minute"); } #line 52835 "preproc.c" break; case 1957: /* opt_interval: DAY_P TO interval_second */ #line 11868 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("day to"),(yyvsp[0].str)); } #line 52843 "preproc.c" break; case 1958: /* opt_interval: HOUR_P TO MINUTE_P */ #line 11872 "preproc.y" { (yyval.str) = mm_strdup("hour to minute"); } #line 52851 "preproc.c" break; case 1959: /* opt_interval: HOUR_P TO interval_second */ #line 11876 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("hour to"),(yyvsp[0].str)); } #line 52859 "preproc.c" break; case 1960: /* opt_interval: MINUTE_P TO interval_second */ #line 11880 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("minute to"),(yyvsp[0].str)); } #line 52867 "preproc.c" break; case 1961: /* opt_interval: %empty */ #line 11884 "preproc.y" { (yyval.str)=EMPTY; } #line 52874 "preproc.c" break; case 1962: /* interval_second: SECOND_P */ #line 11891 "preproc.y" { (yyval.str) = mm_strdup("second"); } #line 52882 "preproc.c" break; case 1963: /* interval_second: SECOND_P '(' Iconst ')' */ #line 11895 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("second ("),(yyvsp[-1].str),mm_strdup(")")); } #line 52890 "preproc.c" break; case 1964: /* a_expr: c_expr */ #line 11903 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52898 "preproc.c" break; case 1965: /* a_expr: a_expr TYPECAST Typename */ #line 11907 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("::"),(yyvsp[0].str)); } #line 52906 "preproc.c" break; case 1966: /* a_expr: a_expr COLLATE any_name */ #line 11911 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("collate"),(yyvsp[0].str)); } #line 52914 "preproc.c" break; case 1967: /* a_expr: a_expr AT TIME ZONE a_expr */ #line 11915 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-4].str),mm_strdup("at time zone"),(yyvsp[0].str)); } #line 52922 "preproc.c" break; case 1968: /* a_expr: '+' a_expr */ #line 11919 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("+"),(yyvsp[0].str)); } #line 52930 "preproc.c" break; case 1969: /* a_expr: '-' a_expr */ #line 11923 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("-"),(yyvsp[0].str)); } #line 52938 "preproc.c" break; case 1970: /* a_expr: a_expr '+' a_expr */ #line 11927 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("+"),(yyvsp[0].str)); } #line 52946 "preproc.c" break; case 1971: /* a_expr: a_expr '-' a_expr */ #line 11931 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("-"),(yyvsp[0].str)); } #line 52954 "preproc.c" break; case 1972: /* a_expr: a_expr '*' a_expr */ #line 11935 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("*"),(yyvsp[0].str)); } #line 52962 "preproc.c" break; case 1973: /* a_expr: a_expr '/' a_expr */ #line 11939 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("/"),(yyvsp[0].str)); } #line 52970 "preproc.c" break; case 1974: /* a_expr: a_expr '%' a_expr */ #line 11943 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("%"),(yyvsp[0].str)); } #line 52978 "preproc.c" break; case 1975: /* a_expr: a_expr '^' a_expr */ #line 11947 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("^"),(yyvsp[0].str)); } #line 52986 "preproc.c" break; case 1976: /* a_expr: a_expr '<' a_expr */ #line 11951 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<"),(yyvsp[0].str)); } #line 52994 "preproc.c" break; case 1977: /* a_expr: a_expr '>' a_expr */ #line 11955 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(">"),(yyvsp[0].str)); } #line 53002 "preproc.c" break; case 1978: /* a_expr: a_expr '=' a_expr */ #line 11959 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 53010 "preproc.c" break; case 1979: /* a_expr: a_expr LESS_EQUALS a_expr */ #line 11963 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<="),(yyvsp[0].str)); } #line 53018 "preproc.c" break; case 1980: /* a_expr: a_expr GREATER_EQUALS a_expr */ #line 11967 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(">="),(yyvsp[0].str)); } #line 53026 "preproc.c" break; case 1981: /* a_expr: a_expr NOT_EQUALS a_expr */ #line 11971 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<>"),(yyvsp[0].str)); } #line 53034 "preproc.c" break; case 1982: /* a_expr: a_expr qual_Op a_expr */ #line 11975 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 53042 "preproc.c" break; case 1983: /* a_expr: qual_Op a_expr */ #line 11979 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 53050 "preproc.c" break; case 1984: /* a_expr: a_expr AND a_expr */ #line 11983 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } #line 53058 "preproc.c" break; case 1985: /* a_expr: a_expr OR a_expr */ #line 11987 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("or"),(yyvsp[0].str)); } #line 53066 "preproc.c" break; case 1986: /* a_expr: NOT a_expr */ #line 11991 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("not"),(yyvsp[0].str)); } #line 53074 "preproc.c" break; case 1987: /* a_expr: NOT_LA a_expr */ #line 11995 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("not"),(yyvsp[0].str)); } #line 53082 "preproc.c" break; case 1988: /* a_expr: a_expr LIKE a_expr */ #line 11999 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("like"),(yyvsp[0].str)); } #line 53090 "preproc.c" break; case 1989: /* a_expr: a_expr LIKE a_expr ESCAPE a_expr */ #line 12003 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("like"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } #line 53098 "preproc.c" break; case 1990: /* a_expr: a_expr NOT_LA LIKE a_expr */ #line 12007 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("not like"),(yyvsp[0].str)); } #line 53106 "preproc.c" break; case 1991: /* a_expr: a_expr NOT_LA LIKE a_expr ESCAPE a_expr */ #line 12011 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("not like"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } #line 53114 "preproc.c" break; case 1992: /* a_expr: a_expr ILIKE a_expr */ #line 12015 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("ilike"),(yyvsp[0].str)); } #line 53122 "preproc.c" break; case 1993: /* a_expr: a_expr ILIKE a_expr ESCAPE a_expr */ #line 12019 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("ilike"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } #line 53130 "preproc.c" break; case 1994: /* a_expr: a_expr NOT_LA ILIKE a_expr */ #line 12023 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("not ilike"),(yyvsp[0].str)); } #line 53138 "preproc.c" break; case 1995: /* a_expr: a_expr NOT_LA ILIKE a_expr ESCAPE a_expr */ #line 12027 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("not ilike"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } #line 53146 "preproc.c" break; case 1996: /* a_expr: a_expr SIMILAR TO a_expr */ #line 12031 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("similar to"),(yyvsp[0].str)); } #line 53154 "preproc.c" break; case 1997: /* a_expr: a_expr SIMILAR TO a_expr ESCAPE a_expr */ #line 12035 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("similar to"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } #line 53162 "preproc.c" break; case 1998: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr */ #line 12039 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-4].str),mm_strdup("not similar to"),(yyvsp[0].str)); } #line 53170 "preproc.c" break; case 1999: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr ESCAPE a_expr */ #line 12043 "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 53178 "preproc.c" break; case 2000: /* a_expr: a_expr IS NULL_P */ #line 12047 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is null")); } #line 53186 "preproc.c" break; case 2001: /* a_expr: a_expr ISNULL */ #line 12051 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("isnull")); } #line 53194 "preproc.c" break; case 2002: /* a_expr: a_expr IS NOT NULL_P */ #line 12055 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not null")); } #line 53202 "preproc.c" break; case 2003: /* a_expr: a_expr NOTNULL */ #line 12059 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("notnull")); } #line 53210 "preproc.c" break; case 2004: /* a_expr: row OVERLAPS row */ #line 12063 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("overlaps"),(yyvsp[0].str)); } #line 53218 "preproc.c" break; case 2005: /* a_expr: a_expr IS TRUE_P */ #line 12067 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is true")); } #line 53226 "preproc.c" break; case 2006: /* a_expr: a_expr IS NOT TRUE_P */ #line 12071 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not true")); } #line 53234 "preproc.c" break; case 2007: /* a_expr: a_expr IS FALSE_P */ #line 12075 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is false")); } #line 53242 "preproc.c" break; case 2008: /* a_expr: a_expr IS NOT FALSE_P */ #line 12079 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not false")); } #line 53250 "preproc.c" break; case 2009: /* a_expr: a_expr IS UNKNOWN */ #line 12083 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is unknown")); } #line 53258 "preproc.c" break; case 2010: /* a_expr: a_expr IS NOT UNKNOWN */ #line 12087 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not unknown")); } #line 53266 "preproc.c" break; case 2011: /* a_expr: a_expr IS DISTINCT FROM a_expr */ #line 12091 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-4].str),mm_strdup("is distinct from"),(yyvsp[0].str)); } #line 53274 "preproc.c" break; case 2012: /* a_expr: a_expr IS NOT DISTINCT FROM a_expr */ #line 12095 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-5].str),mm_strdup("is not distinct from"),(yyvsp[0].str)); } #line 53282 "preproc.c" break; case 2013: /* a_expr: a_expr BETWEEN opt_asymmetric b_expr AND a_expr */ #line 12099 "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 53290 "preproc.c" break; case 2014: /* a_expr: a_expr NOT_LA BETWEEN opt_asymmetric b_expr AND a_expr */ #line 12103 "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 53298 "preproc.c" break; case 2015: /* a_expr: a_expr BETWEEN SYMMETRIC b_expr AND a_expr */ #line 12107 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("between symmetric"),(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } #line 53306 "preproc.c" break; case 2016: /* a_expr: a_expr NOT_LA BETWEEN SYMMETRIC b_expr AND a_expr */ #line 12111 "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 53314 "preproc.c" break; case 2017: /* a_expr: a_expr IN_P in_expr */ #line 12115 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("in"),(yyvsp[0].str)); } #line 53322 "preproc.c" break; case 2018: /* a_expr: a_expr NOT_LA IN_P in_expr */ #line 12119 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("not in"),(yyvsp[0].str)); } #line 53330 "preproc.c" break; case 2019: /* a_expr: a_expr subquery_Op sub_type select_with_parens */ #line 12123 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 53338 "preproc.c" break; case 2020: /* a_expr: a_expr subquery_Op sub_type '(' a_expr ')' */ #line 12127 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 53346 "preproc.c" break; case 2021: /* a_expr: UNIQUE opt_unique_null_treatment select_with_parens */ #line 12131 "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 53355 "preproc.c" break; case 2022: /* a_expr: a_expr IS DOCUMENT_P */ #line 12136 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is document")); } #line 53363 "preproc.c" break; case 2023: /* a_expr: a_expr IS NOT DOCUMENT_P */ #line 12140 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not document")); } #line 53371 "preproc.c" break; case 2024: /* a_expr: a_expr IS NORMALIZED */ #line 12144 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is normalized")); } #line 53379 "preproc.c" break; case 2025: /* a_expr: a_expr IS unicode_normal_form NORMALIZED */ #line 12148 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("is"),(yyvsp[-1].str),mm_strdup("normalized")); } #line 53387 "preproc.c" break; case 2026: /* a_expr: a_expr IS NOT NORMALIZED */ #line 12152 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not normalized")); } #line 53395 "preproc.c" break; case 2027: /* a_expr: a_expr IS NOT unicode_normal_form NORMALIZED */ #line 12156 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-4].str),mm_strdup("is not"),(yyvsp[-1].str),mm_strdup("normalized")); } #line 53403 "preproc.c" break; case 2028: /* a_expr: DEFAULT */ #line 12160 "preproc.y" { (yyval.str) = mm_strdup("default"); } #line 53411 "preproc.c" break; case 2029: /* b_expr: c_expr */ #line 12168 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53419 "preproc.c" break; case 2030: /* b_expr: b_expr TYPECAST Typename */ #line 12172 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("::"),(yyvsp[0].str)); } #line 53427 "preproc.c" break; case 2031: /* b_expr: '+' b_expr */ #line 12176 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("+"),(yyvsp[0].str)); } #line 53435 "preproc.c" break; case 2032: /* b_expr: '-' b_expr */ #line 12180 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("-"),(yyvsp[0].str)); } #line 53443 "preproc.c" break; case 2033: /* b_expr: b_expr '+' b_expr */ #line 12184 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("+"),(yyvsp[0].str)); } #line 53451 "preproc.c" break; case 2034: /* b_expr: b_expr '-' b_expr */ #line 12188 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("-"),(yyvsp[0].str)); } #line 53459 "preproc.c" break; case 2035: /* b_expr: b_expr '*' b_expr */ #line 12192 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("*"),(yyvsp[0].str)); } #line 53467 "preproc.c" break; case 2036: /* b_expr: b_expr '/' b_expr */ #line 12196 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("/"),(yyvsp[0].str)); } #line 53475 "preproc.c" break; case 2037: /* b_expr: b_expr '%' b_expr */ #line 12200 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("%"),(yyvsp[0].str)); } #line 53483 "preproc.c" break; case 2038: /* b_expr: b_expr '^' b_expr */ #line 12204 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("^"),(yyvsp[0].str)); } #line 53491 "preproc.c" break; case 2039: /* b_expr: b_expr '<' b_expr */ #line 12208 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<"),(yyvsp[0].str)); } #line 53499 "preproc.c" break; case 2040: /* b_expr: b_expr '>' b_expr */ #line 12212 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(">"),(yyvsp[0].str)); } #line 53507 "preproc.c" break; case 2041: /* b_expr: b_expr '=' b_expr */ #line 12216 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 53515 "preproc.c" break; case 2042: /* b_expr: b_expr LESS_EQUALS b_expr */ #line 12220 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<="),(yyvsp[0].str)); } #line 53523 "preproc.c" break; case 2043: /* b_expr: b_expr GREATER_EQUALS b_expr */ #line 12224 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(">="),(yyvsp[0].str)); } #line 53531 "preproc.c" break; case 2044: /* b_expr: b_expr NOT_EQUALS b_expr */ #line 12228 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<>"),(yyvsp[0].str)); } #line 53539 "preproc.c" break; case 2045: /* b_expr: b_expr qual_Op b_expr */ #line 12232 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 53547 "preproc.c" break; case 2046: /* b_expr: qual_Op b_expr */ #line 12236 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 53555 "preproc.c" break; case 2047: /* b_expr: b_expr IS DISTINCT FROM b_expr */ #line 12240 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-4].str),mm_strdup("is distinct from"),(yyvsp[0].str)); } #line 53563 "preproc.c" break; case 2048: /* b_expr: b_expr IS NOT DISTINCT FROM b_expr */ #line 12244 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-5].str),mm_strdup("is not distinct from"),(yyvsp[0].str)); } #line 53571 "preproc.c" break; case 2049: /* b_expr: b_expr IS DOCUMENT_P */ #line 12248 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is document")); } #line 53579 "preproc.c" break; case 2050: /* b_expr: b_expr IS NOT DOCUMENT_P */ #line 12252 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not document")); } #line 53587 "preproc.c" break; case 2051: /* c_expr: columnref */ #line 12260 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53595 "preproc.c" break; case 2052: /* c_expr: AexprConst */ #line 12264 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53603 "preproc.c" break; case 2053: /* c_expr: ecpg_param opt_indirection */ #line 12268 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 53611 "preproc.c" break; case 2054: /* c_expr: '(' a_expr ')' opt_indirection */ #line 12272 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 53619 "preproc.c" break; case 2055: /* c_expr: case_expr */ #line 12276 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53627 "preproc.c" break; case 2056: /* c_expr: func_expr */ #line 12280 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53635 "preproc.c" break; case 2057: /* c_expr: select_with_parens */ #line 12284 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53643 "preproc.c" break; case 2058: /* c_expr: select_with_parens indirection */ #line 12288 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 53651 "preproc.c" break; case 2059: /* c_expr: EXISTS select_with_parens */ #line 12292 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("exists"),(yyvsp[0].str)); } #line 53659 "preproc.c" break; case 2060: /* c_expr: ARRAY select_with_parens */ #line 12296 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("array"),(yyvsp[0].str)); } #line 53667 "preproc.c" break; case 2061: /* c_expr: ARRAY array_expr */ #line 12300 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("array"),(yyvsp[0].str)); } #line 53675 "preproc.c" break; case 2062: /* c_expr: explicit_row */ #line 12304 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53683 "preproc.c" break; case 2063: /* c_expr: implicit_row */ #line 12308 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53691 "preproc.c" break; case 2064: /* c_expr: GROUPING '(' expr_list ')' */ #line 12312 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("grouping ("),(yyvsp[-1].str),mm_strdup(")")); } #line 53699 "preproc.c" break; case 2065: /* func_application: func_name '(' ')' */ #line 12320 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("( )")); } #line 53707 "preproc.c" break; case 2066: /* func_application: func_name '(' func_arg_list opt_sort_clause ')' */ #line 12324 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 53715 "preproc.c" break; case 2067: /* func_application: func_name '(' VARIADIC func_arg_expr opt_sort_clause ')' */ #line 12328 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("( variadic"),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 53723 "preproc.c" break; case 2068: /* func_application: func_name '(' func_arg_list ',' VARIADIC func_arg_expr opt_sort_clause ')' */ #line 12332 "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 53731 "preproc.c" break; case 2069: /* func_application: func_name '(' ALL func_arg_list opt_sort_clause ')' */ #line 12336 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("( all"),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 53739 "preproc.c" break; case 2070: /* func_application: func_name '(' DISTINCT func_arg_list opt_sort_clause ')' */ #line 12340 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("( distinct"),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 53747 "preproc.c" break; case 2071: /* func_application: func_name '(' '*' ')' */ #line 12344 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("( * )")); } #line 53755 "preproc.c" break; case 2072: /* func_expr: func_application within_group_clause filter_clause over_clause */ #line 12352 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 53763 "preproc.c" break; case 2073: /* func_expr: func_expr_common_subexpr */ #line 12356 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53771 "preproc.c" break; case 2074: /* func_expr_windowless: func_application */ #line 12364 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53779 "preproc.c" break; case 2075: /* func_expr_windowless: func_expr_common_subexpr */ #line 12368 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53787 "preproc.c" break; case 2076: /* func_expr_common_subexpr: COLLATION FOR '(' a_expr ')' */ #line 12376 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("collation for ("),(yyvsp[-1].str),mm_strdup(")")); } #line 53795 "preproc.c" break; case 2077: /* func_expr_common_subexpr: CURRENT_DATE */ #line 12380 "preproc.y" { (yyval.str) = mm_strdup("current_date"); } #line 53803 "preproc.c" break; case 2078: /* func_expr_common_subexpr: CURRENT_TIME */ #line 12384 "preproc.y" { (yyval.str) = mm_strdup("current_time"); } #line 53811 "preproc.c" break; case 2079: /* func_expr_common_subexpr: CURRENT_TIME '(' Iconst ')' */ #line 12388 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("current_time ("),(yyvsp[-1].str),mm_strdup(")")); } #line 53819 "preproc.c" break; case 2080: /* func_expr_common_subexpr: CURRENT_TIMESTAMP */ #line 12392 "preproc.y" { (yyval.str) = mm_strdup("current_timestamp"); } #line 53827 "preproc.c" break; case 2081: /* func_expr_common_subexpr: CURRENT_TIMESTAMP '(' Iconst ')' */ #line 12396 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("current_timestamp ("),(yyvsp[-1].str),mm_strdup(")")); } #line 53835 "preproc.c" break; case 2082: /* func_expr_common_subexpr: LOCALTIME */ #line 12400 "preproc.y" { (yyval.str) = mm_strdup("localtime"); } #line 53843 "preproc.c" break; case 2083: /* func_expr_common_subexpr: LOCALTIME '(' Iconst ')' */ #line 12404 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("localtime ("),(yyvsp[-1].str),mm_strdup(")")); } #line 53851 "preproc.c" break; case 2084: /* func_expr_common_subexpr: LOCALTIMESTAMP */ #line 12408 "preproc.y" { (yyval.str) = mm_strdup("localtimestamp"); } #line 53859 "preproc.c" break; case 2085: /* func_expr_common_subexpr: LOCALTIMESTAMP '(' Iconst ')' */ #line 12412 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("localtimestamp ("),(yyvsp[-1].str),mm_strdup(")")); } #line 53867 "preproc.c" break; case 2086: /* func_expr_common_subexpr: CURRENT_ROLE */ #line 12416 "preproc.y" { (yyval.str) = mm_strdup("current_role"); } #line 53875 "preproc.c" break; case 2087: /* func_expr_common_subexpr: CURRENT_USER */ #line 12420 "preproc.y" { (yyval.str) = mm_strdup("current_user"); } #line 53883 "preproc.c" break; case 2088: /* func_expr_common_subexpr: SESSION_USER */ #line 12424 "preproc.y" { (yyval.str) = mm_strdup("session_user"); } #line 53891 "preproc.c" break; case 2089: /* func_expr_common_subexpr: USER */ #line 12428 "preproc.y" { (yyval.str) = mm_strdup("user"); } #line 53899 "preproc.c" break; case 2090: /* func_expr_common_subexpr: CURRENT_CATALOG */ #line 12432 "preproc.y" { (yyval.str) = mm_strdup("current_catalog"); } #line 53907 "preproc.c" break; case 2091: /* func_expr_common_subexpr: CURRENT_SCHEMA */ #line 12436 "preproc.y" { (yyval.str) = mm_strdup("current_schema"); } #line 53915 "preproc.c" break; case 2092: /* func_expr_common_subexpr: CAST '(' a_expr AS Typename ')' */ #line 12440 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("cast ("),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),mm_strdup(")")); } #line 53923 "preproc.c" break; case 2093: /* func_expr_common_subexpr: EXTRACT '(' extract_list ')' */ #line 12444 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("extract ("),(yyvsp[-1].str),mm_strdup(")")); } #line 53931 "preproc.c" break; case 2094: /* func_expr_common_subexpr: NORMALIZE '(' a_expr ')' */ #line 12448 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("normalize ("),(yyvsp[-1].str),mm_strdup(")")); } #line 53939 "preproc.c" break; case 2095: /* func_expr_common_subexpr: NORMALIZE '(' a_expr ',' unicode_normal_form ')' */ #line 12452 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("normalize ("),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 53947 "preproc.c" break; case 2096: /* func_expr_common_subexpr: OVERLAY '(' overlay_list ')' */ #line 12456 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("overlay ("),(yyvsp[-1].str),mm_strdup(")")); } #line 53955 "preproc.c" break; case 2097: /* func_expr_common_subexpr: OVERLAY '(' func_arg_list_opt ')' */ #line 12460 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("overlay ("),(yyvsp[-1].str),mm_strdup(")")); } #line 53963 "preproc.c" break; case 2098: /* func_expr_common_subexpr: POSITION '(' position_list ')' */ #line 12464 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("position ("),(yyvsp[-1].str),mm_strdup(")")); } #line 53971 "preproc.c" break; case 2099: /* func_expr_common_subexpr: SUBSTRING '(' substr_list ')' */ #line 12468 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("substring ("),(yyvsp[-1].str),mm_strdup(")")); } #line 53979 "preproc.c" break; case 2100: /* func_expr_common_subexpr: SUBSTRING '(' func_arg_list_opt ')' */ #line 12472 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("substring ("),(yyvsp[-1].str),mm_strdup(")")); } #line 53987 "preproc.c" break; case 2101: /* func_expr_common_subexpr: TREAT '(' a_expr AS Typename ')' */ #line 12476 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("treat ("),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),mm_strdup(")")); } #line 53995 "preproc.c" break; case 2102: /* func_expr_common_subexpr: TRIM '(' BOTH trim_list ')' */ #line 12480 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("trim ( both"),(yyvsp[-1].str),mm_strdup(")")); } #line 54003 "preproc.c" break; case 2103: /* func_expr_common_subexpr: TRIM '(' LEADING trim_list ')' */ #line 12484 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("trim ( leading"),(yyvsp[-1].str),mm_strdup(")")); } #line 54011 "preproc.c" break; case 2104: /* func_expr_common_subexpr: TRIM '(' TRAILING trim_list ')' */ #line 12488 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("trim ( trailing"),(yyvsp[-1].str),mm_strdup(")")); } #line 54019 "preproc.c" break; case 2105: /* func_expr_common_subexpr: TRIM '(' trim_list ')' */ #line 12492 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("trim ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54027 "preproc.c" break; case 2106: /* func_expr_common_subexpr: NULLIF '(' a_expr ',' a_expr ')' */ #line 12496 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("nullif ("),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 54035 "preproc.c" break; case 2107: /* func_expr_common_subexpr: COALESCE '(' expr_list ')' */ #line 12500 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("coalesce ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54043 "preproc.c" break; case 2108: /* func_expr_common_subexpr: GREATEST '(' expr_list ')' */ #line 12504 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("greatest ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54051 "preproc.c" break; case 2109: /* func_expr_common_subexpr: LEAST '(' expr_list ')' */ #line 12508 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("least ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54059 "preproc.c" break; case 2110: /* func_expr_common_subexpr: XMLCONCAT '(' expr_list ')' */ #line 12512 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("xmlconcat ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54067 "preproc.c" break; case 2111: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ')' */ #line 12516 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("xmlelement ( name"),(yyvsp[-1].str),mm_strdup(")")); } #line 54075 "preproc.c" break; case 2112: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ')' */ #line 12520 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("xmlelement ( name"),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 54083 "preproc.c" break; case 2113: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' expr_list ')' */ #line 12524 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("xmlelement ( name"),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 54091 "preproc.c" break; case 2114: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ',' expr_list ')' */ #line 12528 "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 54099 "preproc.c" break; case 2115: /* func_expr_common_subexpr: XMLEXISTS '(' c_expr xmlexists_argument ')' */ #line 12532 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("xmlexists ("),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 54107 "preproc.c" break; case 2116: /* func_expr_common_subexpr: XMLFOREST '(' xml_attribute_list ')' */ #line 12536 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("xmlforest ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54115 "preproc.c" break; case 2117: /* func_expr_common_subexpr: XMLPARSE '(' document_or_content a_expr xml_whitespace_option ')' */ #line 12540 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("xmlparse ("),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 54123 "preproc.c" break; case 2118: /* func_expr_common_subexpr: XMLPI '(' NAME_P ColLabel ')' */ #line 12544 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("xmlpi ( name"),(yyvsp[-1].str),mm_strdup(")")); } #line 54131 "preproc.c" break; case 2119: /* func_expr_common_subexpr: XMLPI '(' NAME_P ColLabel ',' a_expr ')' */ #line 12548 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("xmlpi ( name"),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 54139 "preproc.c" break; case 2120: /* func_expr_common_subexpr: XMLROOT '(' a_expr ',' xml_root_version opt_xml_root_standalone ')' */ #line 12552 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("xmlroot ("),(yyvsp[-4].str),mm_strdup(","),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 54147 "preproc.c" break; case 2121: /* func_expr_common_subexpr: XMLSERIALIZE '(' document_or_content a_expr AS SimpleTypename ')' */ #line 12556 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("xmlserialize ("),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),mm_strdup(")")); } #line 54155 "preproc.c" break; case 2122: /* xml_root_version: VERSION_P a_expr */ #line 12564 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("version"),(yyvsp[0].str)); } #line 54163 "preproc.c" break; case 2123: /* xml_root_version: VERSION_P NO VALUE_P */ #line 12568 "preproc.y" { (yyval.str) = mm_strdup("version no value"); } #line 54171 "preproc.c" break; case 2124: /* opt_xml_root_standalone: ',' STANDALONE_P YES_P */ #line 12576 "preproc.y" { (yyval.str) = mm_strdup(", standalone yes"); } #line 54179 "preproc.c" break; case 2125: /* opt_xml_root_standalone: ',' STANDALONE_P NO */ #line 12580 "preproc.y" { (yyval.str) = mm_strdup(", standalone no"); } #line 54187 "preproc.c" break; case 2126: /* opt_xml_root_standalone: ',' STANDALONE_P NO VALUE_P */ #line 12584 "preproc.y" { (yyval.str) = mm_strdup(", standalone no value"); } #line 54195 "preproc.c" break; case 2127: /* opt_xml_root_standalone: %empty */ #line 12588 "preproc.y" { (yyval.str)=EMPTY; } #line 54202 "preproc.c" break; case 2128: /* xml_attributes: XMLATTRIBUTES '(' xml_attribute_list ')' */ #line 12595 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("xmlattributes ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54210 "preproc.c" break; case 2129: /* xml_attribute_list: xml_attribute_el */ #line 12603 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54218 "preproc.c" break; case 2130: /* xml_attribute_list: xml_attribute_list ',' xml_attribute_el */ #line 12607 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 54226 "preproc.c" break; case 2131: /* xml_attribute_el: a_expr AS ColLabel */ #line 12615 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } #line 54234 "preproc.c" break; case 2132: /* xml_attribute_el: a_expr */ #line 12619 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54242 "preproc.c" break; case 2133: /* document_or_content: DOCUMENT_P */ #line 12627 "preproc.y" { (yyval.str) = mm_strdup("document"); } #line 54250 "preproc.c" break; case 2134: /* document_or_content: CONTENT_P */ #line 12631 "preproc.y" { (yyval.str) = mm_strdup("content"); } #line 54258 "preproc.c" break; case 2135: /* xml_whitespace_option: PRESERVE WHITESPACE_P */ #line 12639 "preproc.y" { (yyval.str) = mm_strdup("preserve whitespace"); } #line 54266 "preproc.c" break; case 2136: /* xml_whitespace_option: STRIP_P WHITESPACE_P */ #line 12643 "preproc.y" { (yyval.str) = mm_strdup("strip whitespace"); } #line 54274 "preproc.c" break; case 2137: /* xml_whitespace_option: %empty */ #line 12647 "preproc.y" { (yyval.str)=EMPTY; } #line 54281 "preproc.c" break; case 2138: /* xmlexists_argument: PASSING c_expr */ #line 12654 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("passing"),(yyvsp[0].str)); } #line 54289 "preproc.c" break; case 2139: /* xmlexists_argument: PASSING c_expr xml_passing_mech */ #line 12658 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("passing"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 54297 "preproc.c" break; case 2140: /* xmlexists_argument: PASSING xml_passing_mech c_expr */ #line 12662 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("passing"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 54305 "preproc.c" break; case 2141: /* xmlexists_argument: PASSING xml_passing_mech c_expr xml_passing_mech */ #line 12666 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("passing"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 54313 "preproc.c" break; case 2142: /* xml_passing_mech: BY REF_P */ #line 12674 "preproc.y" { (yyval.str) = mm_strdup("by ref"); } #line 54321 "preproc.c" break; case 2143: /* xml_passing_mech: BY VALUE_P */ #line 12678 "preproc.y" { (yyval.str) = mm_strdup("by value"); } #line 54329 "preproc.c" break; case 2144: /* within_group_clause: WITHIN GROUP_P '(' sort_clause ')' */ #line 12686 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("within group ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54337 "preproc.c" break; case 2145: /* within_group_clause: %empty */ #line 12690 "preproc.y" { (yyval.str)=EMPTY; } #line 54344 "preproc.c" break; case 2146: /* filter_clause: FILTER '(' WHERE a_expr ')' */ #line 12697 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("filter ( where"),(yyvsp[-1].str),mm_strdup(")")); } #line 54352 "preproc.c" break; case 2147: /* filter_clause: %empty */ #line 12701 "preproc.y" { (yyval.str)=EMPTY; } #line 54359 "preproc.c" break; case 2148: /* window_clause: WINDOW window_definition_list */ #line 12708 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("window"),(yyvsp[0].str)); } #line 54367 "preproc.c" break; case 2149: /* window_clause: %empty */ #line 12712 "preproc.y" { (yyval.str)=EMPTY; } #line 54374 "preproc.c" break; case 2150: /* window_definition_list: window_definition */ #line 12719 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54382 "preproc.c" break; case 2151: /* window_definition_list: window_definition_list ',' window_definition */ #line 12723 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 54390 "preproc.c" break; case 2152: /* window_definition: ColId AS window_specification */ #line 12731 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } #line 54398 "preproc.c" break; case 2153: /* over_clause: OVER window_specification */ #line 12739 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("over"),(yyvsp[0].str)); } #line 54406 "preproc.c" break; case 2154: /* over_clause: OVER ColId */ #line 12743 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("over"),(yyvsp[0].str)); } #line 54414 "preproc.c" break; case 2155: /* over_clause: %empty */ #line 12747 "preproc.y" { (yyval.str)=EMPTY; } #line 54421 "preproc.c" break; case 2156: /* window_specification: '(' opt_existing_window_name opt_partition_clause opt_sort_clause opt_frame_clause ')' */ #line 12754 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("("),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 54429 "preproc.c" break; case 2157: /* opt_existing_window_name: ColId */ #line 12762 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54437 "preproc.c" break; case 2158: /* opt_existing_window_name: %empty */ #line 12766 "preproc.y" { (yyval.str)=EMPTY; } #line 54444 "preproc.c" break; case 2159: /* opt_partition_clause: PARTITION BY expr_list */ #line 12773 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("partition by"),(yyvsp[0].str)); } #line 54452 "preproc.c" break; case 2160: /* opt_partition_clause: %empty */ #line 12777 "preproc.y" { (yyval.str)=EMPTY; } #line 54459 "preproc.c" break; case 2161: /* opt_frame_clause: RANGE frame_extent opt_window_exclusion_clause */ #line 12784 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("range"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 54467 "preproc.c" break; case 2162: /* opt_frame_clause: ROWS frame_extent opt_window_exclusion_clause */ #line 12788 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("rows"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 54475 "preproc.c" break; case 2163: /* opt_frame_clause: GROUPS frame_extent opt_window_exclusion_clause */ #line 12792 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("groups"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 54483 "preproc.c" break; case 2164: /* opt_frame_clause: %empty */ #line 12796 "preproc.y" { (yyval.str)=EMPTY; } #line 54490 "preproc.c" break; case 2165: /* frame_extent: frame_bound */ #line 12803 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54498 "preproc.c" break; case 2166: /* frame_extent: BETWEEN frame_bound AND frame_bound */ #line 12807 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("between"),(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } #line 54506 "preproc.c" break; case 2167: /* frame_bound: UNBOUNDED PRECEDING */ #line 12815 "preproc.y" { (yyval.str) = mm_strdup("unbounded preceding"); } #line 54514 "preproc.c" break; case 2168: /* frame_bound: UNBOUNDED FOLLOWING */ #line 12819 "preproc.y" { (yyval.str) = mm_strdup("unbounded following"); } #line 54522 "preproc.c" break; case 2169: /* frame_bound: CURRENT_P ROW */ #line 12823 "preproc.y" { (yyval.str) = mm_strdup("current row"); } #line 54530 "preproc.c" break; case 2170: /* frame_bound: a_expr PRECEDING */ #line 12827 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("preceding")); } #line 54538 "preproc.c" break; case 2171: /* frame_bound: a_expr FOLLOWING */ #line 12831 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("following")); } #line 54546 "preproc.c" break; case 2172: /* opt_window_exclusion_clause: EXCLUDE CURRENT_P ROW */ #line 12839 "preproc.y" { (yyval.str) = mm_strdup("exclude current row"); } #line 54554 "preproc.c" break; case 2173: /* opt_window_exclusion_clause: EXCLUDE GROUP_P */ #line 12843 "preproc.y" { (yyval.str) = mm_strdup("exclude group"); } #line 54562 "preproc.c" break; case 2174: /* opt_window_exclusion_clause: EXCLUDE TIES */ #line 12847 "preproc.y" { (yyval.str) = mm_strdup("exclude ties"); } #line 54570 "preproc.c" break; case 2175: /* opt_window_exclusion_clause: EXCLUDE NO OTHERS */ #line 12851 "preproc.y" { (yyval.str) = mm_strdup("exclude no others"); } #line 54578 "preproc.c" break; case 2176: /* opt_window_exclusion_clause: %empty */ #line 12855 "preproc.y" { (yyval.str)=EMPTY; } #line 54585 "preproc.c" break; case 2177: /* row: ROW '(' expr_list ')' */ #line 12862 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("row ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54593 "preproc.c" break; case 2178: /* row: ROW '(' ')' */ #line 12866 "preproc.y" { (yyval.str) = mm_strdup("row ( )"); } #line 54601 "preproc.c" break; case 2179: /* row: '(' expr_list ',' a_expr ')' */ #line 12870 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("("),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 54609 "preproc.c" break; case 2180: /* explicit_row: ROW '(' expr_list ')' */ #line 12878 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("row ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54617 "preproc.c" break; case 2181: /* explicit_row: ROW '(' ')' */ #line 12882 "preproc.y" { (yyval.str) = mm_strdup("row ( )"); } #line 54625 "preproc.c" break; case 2182: /* implicit_row: '(' expr_list ',' a_expr ')' */ #line 12890 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("("),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 54633 "preproc.c" break; case 2183: /* sub_type: ANY */ #line 12898 "preproc.y" { (yyval.str) = mm_strdup("any"); } #line 54641 "preproc.c" break; case 2184: /* sub_type: SOME */ #line 12902 "preproc.y" { (yyval.str) = mm_strdup("some"); } #line 54649 "preproc.c" break; case 2185: /* sub_type: ALL */ #line 12906 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 54657 "preproc.c" break; case 2186: /* all_Op: Op */ #line 12914 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54665 "preproc.c" break; case 2187: /* all_Op: MathOp */ #line 12918 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54673 "preproc.c" break; case 2188: /* MathOp: '+' */ #line 12926 "preproc.y" { (yyval.str) = mm_strdup("+"); } #line 54681 "preproc.c" break; case 2189: /* MathOp: '-' */ #line 12930 "preproc.y" { (yyval.str) = mm_strdup("-"); } #line 54689 "preproc.c" break; case 2190: /* MathOp: '*' */ #line 12934 "preproc.y" { (yyval.str) = mm_strdup("*"); } #line 54697 "preproc.c" break; case 2191: /* MathOp: '/' */ #line 12938 "preproc.y" { (yyval.str) = mm_strdup("/"); } #line 54705 "preproc.c" break; case 2192: /* MathOp: '%' */ #line 12942 "preproc.y" { (yyval.str) = mm_strdup("%"); } #line 54713 "preproc.c" break; case 2193: /* MathOp: '^' */ #line 12946 "preproc.y" { (yyval.str) = mm_strdup("^"); } #line 54721 "preproc.c" break; case 2194: /* MathOp: '<' */ #line 12950 "preproc.y" { (yyval.str) = mm_strdup("<"); } #line 54729 "preproc.c" break; case 2195: /* MathOp: '>' */ #line 12954 "preproc.y" { (yyval.str) = mm_strdup(">"); } #line 54737 "preproc.c" break; case 2196: /* MathOp: '=' */ #line 12958 "preproc.y" { (yyval.str) = mm_strdup("="); } #line 54745 "preproc.c" break; case 2197: /* MathOp: LESS_EQUALS */ #line 12962 "preproc.y" { (yyval.str) = mm_strdup("<="); } #line 54753 "preproc.c" break; case 2198: /* MathOp: GREATER_EQUALS */ #line 12966 "preproc.y" { (yyval.str) = mm_strdup(">="); } #line 54761 "preproc.c" break; case 2199: /* MathOp: NOT_EQUALS */ #line 12970 "preproc.y" { (yyval.str) = mm_strdup("<>"); } #line 54769 "preproc.c" break; case 2200: /* qual_Op: Op */ #line 12978 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54777 "preproc.c" break; case 2201: /* qual_Op: OPERATOR '(' any_operator ')' */ #line 12982 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("operator ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54785 "preproc.c" break; case 2202: /* qual_all_Op: all_Op */ #line 12990 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54793 "preproc.c" break; case 2203: /* qual_all_Op: OPERATOR '(' any_operator ')' */ #line 12994 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("operator ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54801 "preproc.c" break; case 2204: /* subquery_Op: all_Op */ #line 13002 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54809 "preproc.c" break; case 2205: /* subquery_Op: OPERATOR '(' any_operator ')' */ #line 13006 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("operator ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54817 "preproc.c" break; case 2206: /* subquery_Op: LIKE */ #line 13010 "preproc.y" { (yyval.str) = mm_strdup("like"); } #line 54825 "preproc.c" break; case 2207: /* subquery_Op: NOT_LA LIKE */ #line 13014 "preproc.y" { (yyval.str) = mm_strdup("not like"); } #line 54833 "preproc.c" break; case 2208: /* subquery_Op: ILIKE */ #line 13018 "preproc.y" { (yyval.str) = mm_strdup("ilike"); } #line 54841 "preproc.c" break; case 2209: /* subquery_Op: NOT_LA ILIKE */ #line 13022 "preproc.y" { (yyval.str) = mm_strdup("not ilike"); } #line 54849 "preproc.c" break; case 2210: /* expr_list: a_expr */ #line 13030 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54857 "preproc.c" break; case 2211: /* expr_list: expr_list ',' a_expr */ #line 13034 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 54865 "preproc.c" break; case 2212: /* func_arg_list: func_arg_expr */ #line 13042 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54873 "preproc.c" break; case 2213: /* func_arg_list: func_arg_list ',' func_arg_expr */ #line 13046 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 54881 "preproc.c" break; case 2214: /* func_arg_expr: a_expr */ #line 13054 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54889 "preproc.c" break; case 2215: /* func_arg_expr: param_name COLON_EQUALS a_expr */ #line 13058 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(":="),(yyvsp[0].str)); } #line 54897 "preproc.c" break; case 2216: /* func_arg_expr: param_name EQUALS_GREATER a_expr */ #line 13062 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("=>"),(yyvsp[0].str)); } #line 54905 "preproc.c" break; case 2217: /* func_arg_list_opt: func_arg_list */ #line 13070 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54913 "preproc.c" break; case 2218: /* func_arg_list_opt: %empty */ #line 13074 "preproc.y" { (yyval.str)=EMPTY; } #line 54920 "preproc.c" break; case 2219: /* type_list: Typename */ #line 13081 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54928 "preproc.c" break; case 2220: /* type_list: type_list ',' Typename */ #line 13085 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 54936 "preproc.c" break; case 2221: /* array_expr: '[' expr_list ']' */ #line 13093 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("["),(yyvsp[-1].str),mm_strdup("]")); } #line 54944 "preproc.c" break; case 2222: /* array_expr: '[' array_expr_list ']' */ #line 13097 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("["),(yyvsp[-1].str),mm_strdup("]")); } #line 54952 "preproc.c" break; case 2223: /* array_expr: '[' ']' */ #line 13101 "preproc.y" { (yyval.str) = mm_strdup("[ ]"); } #line 54960 "preproc.c" break; case 2224: /* array_expr_list: array_expr */ #line 13109 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54968 "preproc.c" break; case 2225: /* array_expr_list: array_expr_list ',' array_expr */ #line 13113 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 54976 "preproc.c" break; case 2226: /* extract_list: extract_arg FROM a_expr */ #line 13121 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 54984 "preproc.c" break; case 2227: /* extract_arg: ecpg_ident */ #line 13129 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54992 "preproc.c" break; case 2228: /* extract_arg: YEAR_P */ #line 13133 "preproc.y" { (yyval.str) = mm_strdup("year"); } #line 55000 "preproc.c" break; case 2229: /* extract_arg: MONTH_P */ #line 13137 "preproc.y" { (yyval.str) = mm_strdup("month"); } #line 55008 "preproc.c" break; case 2230: /* extract_arg: DAY_P */ #line 13141 "preproc.y" { (yyval.str) = mm_strdup("day"); } #line 55016 "preproc.c" break; case 2231: /* extract_arg: HOUR_P */ #line 13145 "preproc.y" { (yyval.str) = mm_strdup("hour"); } #line 55024 "preproc.c" break; case 2232: /* extract_arg: MINUTE_P */ #line 13149 "preproc.y" { (yyval.str) = mm_strdup("minute"); } #line 55032 "preproc.c" break; case 2233: /* extract_arg: SECOND_P */ #line 13153 "preproc.y" { (yyval.str) = mm_strdup("second"); } #line 55040 "preproc.c" break; case 2234: /* extract_arg: ecpg_sconst */ #line 13157 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55048 "preproc.c" break; case 2235: /* unicode_normal_form: NFC */ #line 13165 "preproc.y" { (yyval.str) = mm_strdup("nfc"); } #line 55056 "preproc.c" break; case 2236: /* unicode_normal_form: NFD */ #line 13169 "preproc.y" { (yyval.str) = mm_strdup("nfd"); } #line 55064 "preproc.c" break; case 2237: /* unicode_normal_form: NFKC */ #line 13173 "preproc.y" { (yyval.str) = mm_strdup("nfkc"); } #line 55072 "preproc.c" break; case 2238: /* unicode_normal_form: NFKD */ #line 13177 "preproc.y" { (yyval.str) = mm_strdup("nfkd"); } #line 55080 "preproc.c" break; case 2239: /* overlay_list: a_expr PLACING a_expr FROM a_expr FOR a_expr */ #line 13185 "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 55088 "preproc.c" break; case 2240: /* overlay_list: a_expr PLACING a_expr FROM a_expr */ #line 13189 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("placing"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 55096 "preproc.c" break; case 2241: /* position_list: b_expr IN_P b_expr */ #line 13197 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("in"),(yyvsp[0].str)); } #line 55104 "preproc.c" break; case 2242: /* substr_list: a_expr FROM a_expr FOR a_expr */ #line 13205 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("from"),(yyvsp[-2].str),mm_strdup("for"),(yyvsp[0].str)); } #line 55112 "preproc.c" break; case 2243: /* substr_list: a_expr FOR a_expr FROM a_expr */ #line 13209 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("for"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 55120 "preproc.c" break; case 2244: /* substr_list: a_expr FROM a_expr */ #line 13213 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 55128 "preproc.c" break; case 2245: /* substr_list: a_expr FOR a_expr */ #line 13217 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("for"),(yyvsp[0].str)); } #line 55136 "preproc.c" break; case 2246: /* substr_list: a_expr SIMILAR a_expr ESCAPE a_expr */ #line 13221 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("similar"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } #line 55144 "preproc.c" break; case 2247: /* trim_list: a_expr FROM expr_list */ #line 13229 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 55152 "preproc.c" break; case 2248: /* trim_list: FROM expr_list */ #line 13233 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("from"),(yyvsp[0].str)); } #line 55160 "preproc.c" break; case 2249: /* trim_list: expr_list */ #line 13237 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55168 "preproc.c" break; case 2250: /* in_expr: select_with_parens */ #line 13245 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55176 "preproc.c" break; case 2251: /* in_expr: '(' expr_list ')' */ #line 13249 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 55184 "preproc.c" break; case 2252: /* case_expr: CASE case_arg when_clause_list case_default END_P */ #line 13257 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("case"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup("end")); } #line 55192 "preproc.c" break; case 2253: /* when_clause_list: when_clause */ #line 13265 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55200 "preproc.c" break; case 2254: /* when_clause_list: when_clause_list when_clause */ #line 13269 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 55208 "preproc.c" break; case 2255: /* when_clause: WHEN a_expr THEN a_expr */ #line 13277 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("when"),(yyvsp[-2].str),mm_strdup("then"),(yyvsp[0].str)); } #line 55216 "preproc.c" break; case 2256: /* case_default: ELSE a_expr */ #line 13285 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("else"),(yyvsp[0].str)); } #line 55224 "preproc.c" break; case 2257: /* case_default: %empty */ #line 13289 "preproc.y" { (yyval.str)=EMPTY; } #line 55231 "preproc.c" break; case 2258: /* case_arg: a_expr */ #line 13296 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55239 "preproc.c" break; case 2259: /* case_arg: %empty */ #line 13300 "preproc.y" { (yyval.str)=EMPTY; } #line 55246 "preproc.c" break; case 2260: /* columnref: ColId */ #line 13307 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55254 "preproc.c" break; case 2261: /* columnref: ColId indirection */ #line 13311 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 55262 "preproc.c" break; case 2262: /* indirection_el: '.' attr_name */ #line 13319 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("."),(yyvsp[0].str)); } #line 55270 "preproc.c" break; case 2263: /* indirection_el: '.' '*' */ #line 13323 "preproc.y" { (yyval.str) = mm_strdup(". *"); } #line 55278 "preproc.c" break; case 2264: /* indirection_el: '[' a_expr ']' */ #line 13327 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("["),(yyvsp[-1].str),mm_strdup("]")); } #line 55286 "preproc.c" break; case 2265: /* indirection_el: '[' opt_slice_bound ':' opt_slice_bound ']' */ #line 13331 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("["),(yyvsp[-3].str),mm_strdup(":"),(yyvsp[-1].str),mm_strdup("]")); } #line 55294 "preproc.c" break; case 2266: /* opt_slice_bound: a_expr */ #line 13339 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55302 "preproc.c" break; case 2267: /* opt_slice_bound: %empty */ #line 13343 "preproc.y" { (yyval.str)=EMPTY; } #line 55309 "preproc.c" break; case 2268: /* indirection: indirection_el */ #line 13350 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55317 "preproc.c" break; case 2269: /* indirection: indirection indirection_el */ #line 13354 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 55325 "preproc.c" break; case 2270: /* opt_indirection: %empty */ #line 13362 "preproc.y" { (yyval.str)=EMPTY; } #line 55332 "preproc.c" break; case 2271: /* opt_indirection: opt_indirection indirection_el */ #line 13365 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 55340 "preproc.c" break; case 2272: /* opt_asymmetric: ASYMMETRIC */ #line 13373 "preproc.y" { (yyval.str) = mm_strdup("asymmetric"); } #line 55348 "preproc.c" break; case 2273: /* opt_asymmetric: %empty */ #line 13377 "preproc.y" { (yyval.str)=EMPTY; } #line 55355 "preproc.c" break; case 2274: /* opt_target_list: target_list */ #line 13384 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55363 "preproc.c" break; case 2275: /* opt_target_list: %empty */ #line 13388 "preproc.y" { (yyval.str)=EMPTY; } #line 55370 "preproc.c" break; case 2276: /* target_list: target_el */ #line 13395 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55378 "preproc.c" break; case 2277: /* target_list: target_list ',' target_el */ #line 13399 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 55386 "preproc.c" break; case 2278: /* target_el: a_expr AS ColLabel */ #line 13407 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } #line 55394 "preproc.c" break; case 2279: /* target_el: a_expr BareColLabel */ #line 13411 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 55402 "preproc.c" break; case 2280: /* target_el: a_expr */ #line 13415 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55410 "preproc.c" break; case 2281: /* target_el: '*' */ #line 13419 "preproc.y" { (yyval.str) = mm_strdup("*"); } #line 55418 "preproc.c" break; case 2282: /* qualified_name_list: qualified_name */ #line 13427 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55426 "preproc.c" break; case 2283: /* qualified_name_list: qualified_name_list ',' qualified_name */ #line 13431 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 55434 "preproc.c" break; case 2284: /* qualified_name: ColId */ #line 13439 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55442 "preproc.c" break; case 2285: /* qualified_name: ColId indirection */ #line 13443 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 55450 "preproc.c" break; case 2286: /* name_list: name */ #line 13451 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55458 "preproc.c" break; case 2287: /* name_list: name_list ',' name */ #line 13455 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 55466 "preproc.c" break; case 2288: /* name: ColId */ #line 13463 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55474 "preproc.c" break; case 2289: /* attr_name: ColLabel */ #line 13471 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55482 "preproc.c" break; case 2290: /* file_name: ecpg_sconst */ #line 13479 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55490 "preproc.c" break; case 2291: /* func_name: type_function_name */ #line 13487 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55498 "preproc.c" break; case 2292: /* func_name: ColId indirection */ #line 13491 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 55506 "preproc.c" break; case 2293: /* AexprConst: Iconst */ #line 13499 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55514 "preproc.c" break; case 2294: /* AexprConst: ecpg_fconst */ #line 13503 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55522 "preproc.c" break; case 2295: /* AexprConst: ecpg_sconst */ #line 13507 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55530 "preproc.c" break; case 2296: /* AexprConst: ecpg_bconst */ #line 13511 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55538 "preproc.c" break; case 2297: /* AexprConst: ecpg_xconst */ #line 13515 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55546 "preproc.c" break; case 2298: /* AexprConst: func_name ecpg_sconst */ #line 13519 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 55554 "preproc.c" break; case 2299: /* AexprConst: func_name '(' func_arg_list opt_sort_clause ')' ecpg_sconst */ #line 13523 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-5].str),mm_strdup("("),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 55562 "preproc.c" break; case 2300: /* AexprConst: ConstTypename ecpg_sconst */ #line 13527 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 55570 "preproc.c" break; case 2301: /* AexprConst: ConstInterval ecpg_sconst opt_interval */ #line 13531 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 55578 "preproc.c" break; case 2302: /* AexprConst: ConstInterval '(' Iconst ')' ecpg_sconst */ #line 13535 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 55586 "preproc.c" break; case 2303: /* AexprConst: TRUE_P */ #line 13539 "preproc.y" { (yyval.str) = mm_strdup("true"); } #line 55594 "preproc.c" break; case 2304: /* AexprConst: FALSE_P */ #line 13543 "preproc.y" { (yyval.str) = mm_strdup("false"); } #line 55602 "preproc.c" break; case 2305: /* AexprConst: NULL_P */ #line 13547 "preproc.y" { (yyval.str) = mm_strdup("null"); } #line 55610 "preproc.c" break; case 2306: /* AexprConst: civar */ #line 13550 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55616 "preproc.c" break; case 2307: /* AexprConst: civarind */ #line 13551 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55622 "preproc.c" break; case 2308: /* Iconst: ICONST */ #line 13557 "preproc.y" { (yyval.str) = make_name(); } #line 55628 "preproc.c" break; case 2309: /* SignedIconst: Iconst */ #line 13563 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55636 "preproc.c" break; case 2310: /* SignedIconst: civar */ #line 13566 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55642 "preproc.c" break; case 2311: /* SignedIconst: '+' Iconst */ #line 13568 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("+"),(yyvsp[0].str)); } #line 55650 "preproc.c" break; case 2312: /* SignedIconst: '-' Iconst */ #line 13572 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("-"),(yyvsp[0].str)); } #line 55658 "preproc.c" break; case 2313: /* RoleId: RoleSpec */ #line 13580 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55666 "preproc.c" break; case 2314: /* RoleSpec: NonReservedWord */ #line 13588 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55674 "preproc.c" break; case 2315: /* RoleSpec: CURRENT_ROLE */ #line 13592 "preproc.y" { (yyval.str) = mm_strdup("current_role"); } #line 55682 "preproc.c" break; case 2316: /* RoleSpec: CURRENT_USER */ #line 13596 "preproc.y" { (yyval.str) = mm_strdup("current_user"); } #line 55690 "preproc.c" break; case 2317: /* RoleSpec: SESSION_USER */ #line 13600 "preproc.y" { (yyval.str) = mm_strdup("session_user"); } #line 55698 "preproc.c" break; case 2318: /* role_list: RoleSpec */ #line 13608 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55706 "preproc.c" break; case 2319: /* role_list: role_list ',' RoleSpec */ #line 13612 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 55714 "preproc.c" break; case 2320: /* NonReservedWord: ecpg_ident */ #line 13620 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55722 "preproc.c" break; case 2321: /* NonReservedWord: unreserved_keyword */ #line 13624 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55730 "preproc.c" break; case 2322: /* NonReservedWord: col_name_keyword */ #line 13628 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55738 "preproc.c" break; case 2323: /* NonReservedWord: type_func_name_keyword */ #line 13632 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55746 "preproc.c" break; case 2324: /* BareColLabel: ecpg_ident */ #line 13640 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55754 "preproc.c" break; case 2325: /* BareColLabel: bare_label_keyword */ #line 13644 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55762 "preproc.c" break; case 2326: /* unreserved_keyword: ABORT_P */ #line 13652 "preproc.y" { (yyval.str) = mm_strdup("abort"); } #line 55770 "preproc.c" break; case 2327: /* unreserved_keyword: ABSOLUTE_P */ #line 13656 "preproc.y" { (yyval.str) = mm_strdup("absolute"); } #line 55778 "preproc.c" break; case 2328: /* unreserved_keyword: ACCESS */ #line 13660 "preproc.y" { (yyval.str) = mm_strdup("access"); } #line 55786 "preproc.c" break; case 2329: /* unreserved_keyword: ACTION */ #line 13664 "preproc.y" { (yyval.str) = mm_strdup("action"); } #line 55794 "preproc.c" break; case 2330: /* unreserved_keyword: ADD_P */ #line 13668 "preproc.y" { (yyval.str) = mm_strdup("add"); } #line 55802 "preproc.c" break; case 2331: /* unreserved_keyword: ADMIN */ #line 13672 "preproc.y" { (yyval.str) = mm_strdup("admin"); } #line 55810 "preproc.c" break; case 2332: /* unreserved_keyword: AFTER */ #line 13676 "preproc.y" { (yyval.str) = mm_strdup("after"); } #line 55818 "preproc.c" break; case 2333: /* unreserved_keyword: AGGREGATE */ #line 13680 "preproc.y" { (yyval.str) = mm_strdup("aggregate"); } #line 55826 "preproc.c" break; case 2334: /* unreserved_keyword: ALSO */ #line 13684 "preproc.y" { (yyval.str) = mm_strdup("also"); } #line 55834 "preproc.c" break; case 2335: /* unreserved_keyword: ALTER */ #line 13688 "preproc.y" { (yyval.str) = mm_strdup("alter"); } #line 55842 "preproc.c" break; case 2336: /* unreserved_keyword: ALWAYS */ #line 13692 "preproc.y" { (yyval.str) = mm_strdup("always"); } #line 55850 "preproc.c" break; case 2337: /* unreserved_keyword: ASENSITIVE */ #line 13696 "preproc.y" { (yyval.str) = mm_strdup("asensitive"); } #line 55858 "preproc.c" break; case 2338: /* unreserved_keyword: ASSERTION */ #line 13700 "preproc.y" { (yyval.str) = mm_strdup("assertion"); } #line 55866 "preproc.c" break; case 2339: /* unreserved_keyword: ASSIGNMENT */ #line 13704 "preproc.y" { (yyval.str) = mm_strdup("assignment"); } #line 55874 "preproc.c" break; case 2340: /* unreserved_keyword: AT */ #line 13708 "preproc.y" { (yyval.str) = mm_strdup("at"); } #line 55882 "preproc.c" break; case 2341: /* unreserved_keyword: ATOMIC */ #line 13712 "preproc.y" { (yyval.str) = mm_strdup("atomic"); } #line 55890 "preproc.c" break; case 2342: /* unreserved_keyword: ATTACH */ #line 13716 "preproc.y" { (yyval.str) = mm_strdup("attach"); } #line 55898 "preproc.c" break; case 2343: /* unreserved_keyword: ATTRIBUTE */ #line 13720 "preproc.y" { (yyval.str) = mm_strdup("attribute"); } #line 55906 "preproc.c" break; case 2344: /* unreserved_keyword: BACKWARD */ #line 13724 "preproc.y" { (yyval.str) = mm_strdup("backward"); } #line 55914 "preproc.c" break; case 2345: /* unreserved_keyword: BEFORE */ #line 13728 "preproc.y" { (yyval.str) = mm_strdup("before"); } #line 55922 "preproc.c" break; case 2346: /* unreserved_keyword: BEGIN_P */ #line 13732 "preproc.y" { (yyval.str) = mm_strdup("begin"); } #line 55930 "preproc.c" break; case 2347: /* unreserved_keyword: BREADTH */ #line 13736 "preproc.y" { (yyval.str) = mm_strdup("breadth"); } #line 55938 "preproc.c" break; case 2348: /* unreserved_keyword: BY */ #line 13740 "preproc.y" { (yyval.str) = mm_strdup("by"); } #line 55946 "preproc.c" break; case 2349: /* unreserved_keyword: CACHE */ #line 13744 "preproc.y" { (yyval.str) = mm_strdup("cache"); } #line 55954 "preproc.c" break; case 2350: /* unreserved_keyword: CALL */ #line 13748 "preproc.y" { (yyval.str) = mm_strdup("call"); } #line 55962 "preproc.c" break; case 2351: /* unreserved_keyword: CALLED */ #line 13752 "preproc.y" { (yyval.str) = mm_strdup("called"); } #line 55970 "preproc.c" break; case 2352: /* unreserved_keyword: CASCADE */ #line 13756 "preproc.y" { (yyval.str) = mm_strdup("cascade"); } #line 55978 "preproc.c" break; case 2353: /* unreserved_keyword: CASCADED */ #line 13760 "preproc.y" { (yyval.str) = mm_strdup("cascaded"); } #line 55986 "preproc.c" break; case 2354: /* unreserved_keyword: CATALOG_P */ #line 13764 "preproc.y" { (yyval.str) = mm_strdup("catalog"); } #line 55994 "preproc.c" break; case 2355: /* unreserved_keyword: CHAIN */ #line 13768 "preproc.y" { (yyval.str) = mm_strdup("chain"); } #line 56002 "preproc.c" break; case 2356: /* unreserved_keyword: CHARACTERISTICS */ #line 13772 "preproc.y" { (yyval.str) = mm_strdup("characteristics"); } #line 56010 "preproc.c" break; case 2357: /* unreserved_keyword: CHECKPOINT */ #line 13776 "preproc.y" { (yyval.str) = mm_strdup("checkpoint"); } #line 56018 "preproc.c" break; case 2358: /* unreserved_keyword: CLASS */ #line 13780 "preproc.y" { (yyval.str) = mm_strdup("class"); } #line 56026 "preproc.c" break; case 2359: /* unreserved_keyword: CLOSE */ #line 13784 "preproc.y" { (yyval.str) = mm_strdup("close"); } #line 56034 "preproc.c" break; case 2360: /* unreserved_keyword: CLUSTER */ #line 13788 "preproc.y" { (yyval.str) = mm_strdup("cluster"); } #line 56042 "preproc.c" break; case 2361: /* unreserved_keyword: COLUMNS */ #line 13792 "preproc.y" { (yyval.str) = mm_strdup("columns"); } #line 56050 "preproc.c" break; case 2362: /* unreserved_keyword: COMMENT */ #line 13796 "preproc.y" { (yyval.str) = mm_strdup("comment"); } #line 56058 "preproc.c" break; case 2363: /* unreserved_keyword: COMMENTS */ #line 13800 "preproc.y" { (yyval.str) = mm_strdup("comments"); } #line 56066 "preproc.c" break; case 2364: /* unreserved_keyword: COMMIT */ #line 13804 "preproc.y" { (yyval.str) = mm_strdup("commit"); } #line 56074 "preproc.c" break; case 2365: /* unreserved_keyword: COMMITTED */ #line 13808 "preproc.y" { (yyval.str) = mm_strdup("committed"); } #line 56082 "preproc.c" break; case 2366: /* unreserved_keyword: COMPRESSION */ #line 13812 "preproc.y" { (yyval.str) = mm_strdup("compression"); } #line 56090 "preproc.c" break; case 2367: /* unreserved_keyword: CONFIGURATION */ #line 13816 "preproc.y" { (yyval.str) = mm_strdup("configuration"); } #line 56098 "preproc.c" break; case 2368: /* unreserved_keyword: CONFLICT */ #line 13820 "preproc.y" { (yyval.str) = mm_strdup("conflict"); } #line 56106 "preproc.c" break; case 2369: /* unreserved_keyword: CONSTRAINTS */ #line 13824 "preproc.y" { (yyval.str) = mm_strdup("constraints"); } #line 56114 "preproc.c" break; case 2370: /* unreserved_keyword: CONTENT_P */ #line 13828 "preproc.y" { (yyval.str) = mm_strdup("content"); } #line 56122 "preproc.c" break; case 2371: /* unreserved_keyword: CONTINUE_P */ #line 13832 "preproc.y" { (yyval.str) = mm_strdup("continue"); } #line 56130 "preproc.c" break; case 2372: /* unreserved_keyword: CONVERSION_P */ #line 13836 "preproc.y" { (yyval.str) = mm_strdup("conversion"); } #line 56138 "preproc.c" break; case 2373: /* unreserved_keyword: COPY */ #line 13840 "preproc.y" { (yyval.str) = mm_strdup("copy"); } #line 56146 "preproc.c" break; case 2374: /* unreserved_keyword: COST */ #line 13844 "preproc.y" { (yyval.str) = mm_strdup("cost"); } #line 56154 "preproc.c" break; case 2375: /* unreserved_keyword: CSV */ #line 13848 "preproc.y" { (yyval.str) = mm_strdup("csv"); } #line 56162 "preproc.c" break; case 2376: /* unreserved_keyword: CUBE */ #line 13852 "preproc.y" { (yyval.str) = mm_strdup("cube"); } #line 56170 "preproc.c" break; case 2377: /* unreserved_keyword: CURSOR */ #line 13856 "preproc.y" { (yyval.str) = mm_strdup("cursor"); } #line 56178 "preproc.c" break; case 2378: /* unreserved_keyword: CYCLE */ #line 13860 "preproc.y" { (yyval.str) = mm_strdup("cycle"); } #line 56186 "preproc.c" break; case 2379: /* unreserved_keyword: DATA_P */ #line 13864 "preproc.y" { (yyval.str) = mm_strdup("data"); } #line 56194 "preproc.c" break; case 2380: /* unreserved_keyword: DATABASE */ #line 13868 "preproc.y" { (yyval.str) = mm_strdup("database"); } #line 56202 "preproc.c" break; case 2381: /* unreserved_keyword: DEALLOCATE */ #line 13872 "preproc.y" { (yyval.str) = mm_strdup("deallocate"); } #line 56210 "preproc.c" break; case 2382: /* unreserved_keyword: DECLARE */ #line 13876 "preproc.y" { (yyval.str) = mm_strdup("declare"); } #line 56218 "preproc.c" break; case 2383: /* unreserved_keyword: DEFAULTS */ #line 13880 "preproc.y" { (yyval.str) = mm_strdup("defaults"); } #line 56226 "preproc.c" break; case 2384: /* unreserved_keyword: DEFERRED */ #line 13884 "preproc.y" { (yyval.str) = mm_strdup("deferred"); } #line 56234 "preproc.c" break; case 2385: /* unreserved_keyword: DEFINER */ #line 13888 "preproc.y" { (yyval.str) = mm_strdup("definer"); } #line 56242 "preproc.c" break; case 2386: /* unreserved_keyword: DELETE_P */ #line 13892 "preproc.y" { (yyval.str) = mm_strdup("delete"); } #line 56250 "preproc.c" break; case 2387: /* unreserved_keyword: DELIMITER */ #line 13896 "preproc.y" { (yyval.str) = mm_strdup("delimiter"); } #line 56258 "preproc.c" break; case 2388: /* unreserved_keyword: DELIMITERS */ #line 13900 "preproc.y" { (yyval.str) = mm_strdup("delimiters"); } #line 56266 "preproc.c" break; case 2389: /* unreserved_keyword: DEPENDS */ #line 13904 "preproc.y" { (yyval.str) = mm_strdup("depends"); } #line 56274 "preproc.c" break; case 2390: /* unreserved_keyword: DEPTH */ #line 13908 "preproc.y" { (yyval.str) = mm_strdup("depth"); } #line 56282 "preproc.c" break; case 2391: /* unreserved_keyword: DETACH */ #line 13912 "preproc.y" { (yyval.str) = mm_strdup("detach"); } #line 56290 "preproc.c" break; case 2392: /* unreserved_keyword: DICTIONARY */ #line 13916 "preproc.y" { (yyval.str) = mm_strdup("dictionary"); } #line 56298 "preproc.c" break; case 2393: /* unreserved_keyword: DISABLE_P */ #line 13920 "preproc.y" { (yyval.str) = mm_strdup("disable"); } #line 56306 "preproc.c" break; case 2394: /* unreserved_keyword: DISCARD */ #line 13924 "preproc.y" { (yyval.str) = mm_strdup("discard"); } #line 56314 "preproc.c" break; case 2395: /* unreserved_keyword: DOCUMENT_P */ #line 13928 "preproc.y" { (yyval.str) = mm_strdup("document"); } #line 56322 "preproc.c" break; case 2396: /* unreserved_keyword: DOMAIN_P */ #line 13932 "preproc.y" { (yyval.str) = mm_strdup("domain"); } #line 56330 "preproc.c" break; case 2397: /* unreserved_keyword: DOUBLE_P */ #line 13936 "preproc.y" { (yyval.str) = mm_strdup("double"); } #line 56338 "preproc.c" break; case 2398: /* unreserved_keyword: DROP */ #line 13940 "preproc.y" { (yyval.str) = mm_strdup("drop"); } #line 56346 "preproc.c" break; case 2399: /* unreserved_keyword: EACH */ #line 13944 "preproc.y" { (yyval.str) = mm_strdup("each"); } #line 56354 "preproc.c" break; case 2400: /* unreserved_keyword: ENABLE_P */ #line 13948 "preproc.y" { (yyval.str) = mm_strdup("enable"); } #line 56362 "preproc.c" break; case 2401: /* unreserved_keyword: ENCODING */ #line 13952 "preproc.y" { (yyval.str) = mm_strdup("encoding"); } #line 56370 "preproc.c" break; case 2402: /* unreserved_keyword: ENCRYPTED */ #line 13956 "preproc.y" { (yyval.str) = mm_strdup("encrypted"); } #line 56378 "preproc.c" break; case 2403: /* unreserved_keyword: ENUM_P */ #line 13960 "preproc.y" { (yyval.str) = mm_strdup("enum"); } #line 56386 "preproc.c" break; case 2404: /* unreserved_keyword: ESCAPE */ #line 13964 "preproc.y" { (yyval.str) = mm_strdup("escape"); } #line 56394 "preproc.c" break; case 2405: /* unreserved_keyword: EVENT */ #line 13968 "preproc.y" { (yyval.str) = mm_strdup("event"); } #line 56402 "preproc.c" break; case 2406: /* unreserved_keyword: EXCLUDE */ #line 13972 "preproc.y" { (yyval.str) = mm_strdup("exclude"); } #line 56410 "preproc.c" break; case 2407: /* unreserved_keyword: EXCLUDING */ #line 13976 "preproc.y" { (yyval.str) = mm_strdup("excluding"); } #line 56418 "preproc.c" break; case 2408: /* unreserved_keyword: EXCLUSIVE */ #line 13980 "preproc.y" { (yyval.str) = mm_strdup("exclusive"); } #line 56426 "preproc.c" break; case 2409: /* unreserved_keyword: EXECUTE */ #line 13984 "preproc.y" { (yyval.str) = mm_strdup("execute"); } #line 56434 "preproc.c" break; case 2410: /* unreserved_keyword: EXPLAIN */ #line 13988 "preproc.y" { (yyval.str) = mm_strdup("explain"); } #line 56442 "preproc.c" break; case 2411: /* unreserved_keyword: EXPRESSION */ #line 13992 "preproc.y" { (yyval.str) = mm_strdup("expression"); } #line 56450 "preproc.c" break; case 2412: /* unreserved_keyword: EXTENSION */ #line 13996 "preproc.y" { (yyval.str) = mm_strdup("extension"); } #line 56458 "preproc.c" break; case 2413: /* unreserved_keyword: EXTERNAL */ #line 14000 "preproc.y" { (yyval.str) = mm_strdup("external"); } #line 56466 "preproc.c" break; case 2414: /* unreserved_keyword: FAMILY */ #line 14004 "preproc.y" { (yyval.str) = mm_strdup("family"); } #line 56474 "preproc.c" break; case 2415: /* unreserved_keyword: FILTER */ #line 14008 "preproc.y" { (yyval.str) = mm_strdup("filter"); } #line 56482 "preproc.c" break; case 2416: /* unreserved_keyword: FINALIZE */ #line 14012 "preproc.y" { (yyval.str) = mm_strdup("finalize"); } #line 56490 "preproc.c" break; case 2417: /* unreserved_keyword: FIRST_P */ #line 14016 "preproc.y" { (yyval.str) = mm_strdup("first"); } #line 56498 "preproc.c" break; case 2418: /* unreserved_keyword: FOLLOWING */ #line 14020 "preproc.y" { (yyval.str) = mm_strdup("following"); } #line 56506 "preproc.c" break; case 2419: /* unreserved_keyword: FORCE */ #line 14024 "preproc.y" { (yyval.str) = mm_strdup("force"); } #line 56514 "preproc.c" break; case 2420: /* unreserved_keyword: FORWARD */ #line 14028 "preproc.y" { (yyval.str) = mm_strdup("forward"); } #line 56522 "preproc.c" break; case 2421: /* unreserved_keyword: FUNCTION */ #line 14032 "preproc.y" { (yyval.str) = mm_strdup("function"); } #line 56530 "preproc.c" break; case 2422: /* unreserved_keyword: FUNCTIONS */ #line 14036 "preproc.y" { (yyval.str) = mm_strdup("functions"); } #line 56538 "preproc.c" break; case 2423: /* unreserved_keyword: GENERATED */ #line 14040 "preproc.y" { (yyval.str) = mm_strdup("generated"); } #line 56546 "preproc.c" break; case 2424: /* unreserved_keyword: GLOBAL */ #line 14044 "preproc.y" { (yyval.str) = mm_strdup("global"); } #line 56554 "preproc.c" break; case 2425: /* unreserved_keyword: GRANTED */ #line 14048 "preproc.y" { (yyval.str) = mm_strdup("granted"); } #line 56562 "preproc.c" break; case 2426: /* unreserved_keyword: GROUPS */ #line 14052 "preproc.y" { (yyval.str) = mm_strdup("groups"); } #line 56570 "preproc.c" break; case 2427: /* unreserved_keyword: HANDLER */ #line 14056 "preproc.y" { (yyval.str) = mm_strdup("handler"); } #line 56578 "preproc.c" break; case 2428: /* unreserved_keyword: HEADER_P */ #line 14060 "preproc.y" { (yyval.str) = mm_strdup("header"); } #line 56586 "preproc.c" break; case 2429: /* unreserved_keyword: HOLD */ #line 14064 "preproc.y" { (yyval.str) = mm_strdup("hold"); } #line 56594 "preproc.c" break; case 2430: /* unreserved_keyword: IDENTITY_P */ #line 14068 "preproc.y" { (yyval.str) = mm_strdup("identity"); } #line 56602 "preproc.c" break; case 2431: /* unreserved_keyword: IF_P */ #line 14072 "preproc.y" { (yyval.str) = mm_strdup("if"); } #line 56610 "preproc.c" break; case 2432: /* unreserved_keyword: IMMEDIATE */ #line 14076 "preproc.y" { (yyval.str) = mm_strdup("immediate"); } #line 56618 "preproc.c" break; case 2433: /* unreserved_keyword: IMMUTABLE */ #line 14080 "preproc.y" { (yyval.str) = mm_strdup("immutable"); } #line 56626 "preproc.c" break; case 2434: /* unreserved_keyword: IMPLICIT_P */ #line 14084 "preproc.y" { (yyval.str) = mm_strdup("implicit"); } #line 56634 "preproc.c" break; case 2435: /* unreserved_keyword: IMPORT_P */ #line 14088 "preproc.y" { (yyval.str) = mm_strdup("import"); } #line 56642 "preproc.c" break; case 2436: /* unreserved_keyword: INCLUDE */ #line 14092 "preproc.y" { (yyval.str) = mm_strdup("include"); } #line 56650 "preproc.c" break; case 2437: /* unreserved_keyword: INCLUDING */ #line 14096 "preproc.y" { (yyval.str) = mm_strdup("including"); } #line 56658 "preproc.c" break; case 2438: /* unreserved_keyword: INCREMENT */ #line 14100 "preproc.y" { (yyval.str) = mm_strdup("increment"); } #line 56666 "preproc.c" break; case 2439: /* unreserved_keyword: INDEX */ #line 14104 "preproc.y" { (yyval.str) = mm_strdup("index"); } #line 56674 "preproc.c" break; case 2440: /* unreserved_keyword: INDEXES */ #line 14108 "preproc.y" { (yyval.str) = mm_strdup("indexes"); } #line 56682 "preproc.c" break; case 2441: /* unreserved_keyword: INHERIT */ #line 14112 "preproc.y" { (yyval.str) = mm_strdup("inherit"); } #line 56690 "preproc.c" break; case 2442: /* unreserved_keyword: INHERITS */ #line 14116 "preproc.y" { (yyval.str) = mm_strdup("inherits"); } #line 56698 "preproc.c" break; case 2443: /* unreserved_keyword: INLINE_P */ #line 14120 "preproc.y" { (yyval.str) = mm_strdup("inline"); } #line 56706 "preproc.c" break; case 2444: /* unreserved_keyword: INSENSITIVE */ #line 14124 "preproc.y" { (yyval.str) = mm_strdup("insensitive"); } #line 56714 "preproc.c" break; case 2445: /* unreserved_keyword: INSERT */ #line 14128 "preproc.y" { (yyval.str) = mm_strdup("insert"); } #line 56722 "preproc.c" break; case 2446: /* unreserved_keyword: INSTEAD */ #line 14132 "preproc.y" { (yyval.str) = mm_strdup("instead"); } #line 56730 "preproc.c" break; case 2447: /* unreserved_keyword: INVOKER */ #line 14136 "preproc.y" { (yyval.str) = mm_strdup("invoker"); } #line 56738 "preproc.c" break; case 2448: /* unreserved_keyword: ISOLATION */ #line 14140 "preproc.y" { (yyval.str) = mm_strdup("isolation"); } #line 56746 "preproc.c" break; case 2449: /* unreserved_keyword: KEY */ #line 14144 "preproc.y" { (yyval.str) = mm_strdup("key"); } #line 56754 "preproc.c" break; case 2450: /* unreserved_keyword: LABEL */ #line 14148 "preproc.y" { (yyval.str) = mm_strdup("label"); } #line 56762 "preproc.c" break; case 2451: /* unreserved_keyword: LANGUAGE */ #line 14152 "preproc.y" { (yyval.str) = mm_strdup("language"); } #line 56770 "preproc.c" break; case 2452: /* unreserved_keyword: LARGE_P */ #line 14156 "preproc.y" { (yyval.str) = mm_strdup("large"); } #line 56778 "preproc.c" break; case 2453: /* unreserved_keyword: LAST_P */ #line 14160 "preproc.y" { (yyval.str) = mm_strdup("last"); } #line 56786 "preproc.c" break; case 2454: /* unreserved_keyword: LEAKPROOF */ #line 14164 "preproc.y" { (yyval.str) = mm_strdup("leakproof"); } #line 56794 "preproc.c" break; case 2455: /* unreserved_keyword: LEVEL */ #line 14168 "preproc.y" { (yyval.str) = mm_strdup("level"); } #line 56802 "preproc.c" break; case 2456: /* unreserved_keyword: LISTEN */ #line 14172 "preproc.y" { (yyval.str) = mm_strdup("listen"); } #line 56810 "preproc.c" break; case 2457: /* unreserved_keyword: LOAD */ #line 14176 "preproc.y" { (yyval.str) = mm_strdup("load"); } #line 56818 "preproc.c" break; case 2458: /* unreserved_keyword: LOCAL */ #line 14180 "preproc.y" { (yyval.str) = mm_strdup("local"); } #line 56826 "preproc.c" break; case 2459: /* unreserved_keyword: LOCATION */ #line 14184 "preproc.y" { (yyval.str) = mm_strdup("location"); } #line 56834 "preproc.c" break; case 2460: /* unreserved_keyword: LOCK_P */ #line 14188 "preproc.y" { (yyval.str) = mm_strdup("lock"); } #line 56842 "preproc.c" break; case 2461: /* unreserved_keyword: LOCKED */ #line 14192 "preproc.y" { (yyval.str) = mm_strdup("locked"); } #line 56850 "preproc.c" break; case 2462: /* unreserved_keyword: LOGGED */ #line 14196 "preproc.y" { (yyval.str) = mm_strdup("logged"); } #line 56858 "preproc.c" break; case 2463: /* unreserved_keyword: MAPPING */ #line 14200 "preproc.y" { (yyval.str) = mm_strdup("mapping"); } #line 56866 "preproc.c" break; case 2464: /* unreserved_keyword: MATCH */ #line 14204 "preproc.y" { (yyval.str) = mm_strdup("match"); } #line 56874 "preproc.c" break; case 2465: /* unreserved_keyword: MATCHED */ #line 14208 "preproc.y" { (yyval.str) = mm_strdup("matched"); } #line 56882 "preproc.c" break; case 2466: /* unreserved_keyword: MATERIALIZED */ #line 14212 "preproc.y" { (yyval.str) = mm_strdup("materialized"); } #line 56890 "preproc.c" break; case 2467: /* unreserved_keyword: MAXVALUE */ #line 14216 "preproc.y" { (yyval.str) = mm_strdup("maxvalue"); } #line 56898 "preproc.c" break; case 2468: /* unreserved_keyword: MERGE */ #line 14220 "preproc.y" { (yyval.str) = mm_strdup("merge"); } #line 56906 "preproc.c" break; case 2469: /* unreserved_keyword: METHOD */ #line 14224 "preproc.y" { (yyval.str) = mm_strdup("method"); } #line 56914 "preproc.c" break; case 2470: /* unreserved_keyword: MINVALUE */ #line 14228 "preproc.y" { (yyval.str) = mm_strdup("minvalue"); } #line 56922 "preproc.c" break; case 2471: /* unreserved_keyword: MODE */ #line 14232 "preproc.y" { (yyval.str) = mm_strdup("mode"); } #line 56930 "preproc.c" break; case 2472: /* unreserved_keyword: MOVE */ #line 14236 "preproc.y" { (yyval.str) = mm_strdup("move"); } #line 56938 "preproc.c" break; case 2473: /* unreserved_keyword: NAME_P */ #line 14240 "preproc.y" { (yyval.str) = mm_strdup("name"); } #line 56946 "preproc.c" break; case 2474: /* unreserved_keyword: NAMES */ #line 14244 "preproc.y" { (yyval.str) = mm_strdup("names"); } #line 56954 "preproc.c" break; case 2475: /* unreserved_keyword: NEW */ #line 14248 "preproc.y" { (yyval.str) = mm_strdup("new"); } #line 56962 "preproc.c" break; case 2476: /* unreserved_keyword: NEXT */ #line 14252 "preproc.y" { (yyval.str) = mm_strdup("next"); } #line 56970 "preproc.c" break; case 2477: /* unreserved_keyword: NFC */ #line 14256 "preproc.y" { (yyval.str) = mm_strdup("nfc"); } #line 56978 "preproc.c" break; case 2478: /* unreserved_keyword: NFD */ #line 14260 "preproc.y" { (yyval.str) = mm_strdup("nfd"); } #line 56986 "preproc.c" break; case 2479: /* unreserved_keyword: NFKC */ #line 14264 "preproc.y" { (yyval.str) = mm_strdup("nfkc"); } #line 56994 "preproc.c" break; case 2480: /* unreserved_keyword: NFKD */ #line 14268 "preproc.y" { (yyval.str) = mm_strdup("nfkd"); } #line 57002 "preproc.c" break; case 2481: /* unreserved_keyword: NO */ #line 14272 "preproc.y" { (yyval.str) = mm_strdup("no"); } #line 57010 "preproc.c" break; case 2482: /* unreserved_keyword: NORMALIZED */ #line 14276 "preproc.y" { (yyval.str) = mm_strdup("normalized"); } #line 57018 "preproc.c" break; case 2483: /* unreserved_keyword: NOTHING */ #line 14280 "preproc.y" { (yyval.str) = mm_strdup("nothing"); } #line 57026 "preproc.c" break; case 2484: /* unreserved_keyword: NOTIFY */ #line 14284 "preproc.y" { (yyval.str) = mm_strdup("notify"); } #line 57034 "preproc.c" break; case 2485: /* unreserved_keyword: NOWAIT */ #line 14288 "preproc.y" { (yyval.str) = mm_strdup("nowait"); } #line 57042 "preproc.c" break; case 2486: /* unreserved_keyword: NULLS_P */ #line 14292 "preproc.y" { (yyval.str) = mm_strdup("nulls"); } #line 57050 "preproc.c" break; case 2487: /* unreserved_keyword: OBJECT_P */ #line 14296 "preproc.y" { (yyval.str) = mm_strdup("object"); } #line 57058 "preproc.c" break; case 2488: /* unreserved_keyword: OF */ #line 14300 "preproc.y" { (yyval.str) = mm_strdup("of"); } #line 57066 "preproc.c" break; case 2489: /* unreserved_keyword: OFF */ #line 14304 "preproc.y" { (yyval.str) = mm_strdup("off"); } #line 57074 "preproc.c" break; case 2490: /* unreserved_keyword: OIDS */ #line 14308 "preproc.y" { (yyval.str) = mm_strdup("oids"); } #line 57082 "preproc.c" break; case 2491: /* unreserved_keyword: OLD */ #line 14312 "preproc.y" { (yyval.str) = mm_strdup("old"); } #line 57090 "preproc.c" break; case 2492: /* unreserved_keyword: OPERATOR */ #line 14316 "preproc.y" { (yyval.str) = mm_strdup("operator"); } #line 57098 "preproc.c" break; case 2493: /* unreserved_keyword: OPTION */ #line 14320 "preproc.y" { (yyval.str) = mm_strdup("option"); } #line 57106 "preproc.c" break; case 2494: /* unreserved_keyword: OPTIONS */ #line 14324 "preproc.y" { (yyval.str) = mm_strdup("options"); } #line 57114 "preproc.c" break; case 2495: /* unreserved_keyword: ORDINALITY */ #line 14328 "preproc.y" { (yyval.str) = mm_strdup("ordinality"); } #line 57122 "preproc.c" break; case 2496: /* unreserved_keyword: OTHERS */ #line 14332 "preproc.y" { (yyval.str) = mm_strdup("others"); } #line 57130 "preproc.c" break; case 2497: /* unreserved_keyword: OVER */ #line 14336 "preproc.y" { (yyval.str) = mm_strdup("over"); } #line 57138 "preproc.c" break; case 2498: /* unreserved_keyword: OVERRIDING */ #line 14340 "preproc.y" { (yyval.str) = mm_strdup("overriding"); } #line 57146 "preproc.c" break; case 2499: /* unreserved_keyword: OWNED */ #line 14344 "preproc.y" { (yyval.str) = mm_strdup("owned"); } #line 57154 "preproc.c" break; case 2500: /* unreserved_keyword: OWNER */ #line 14348 "preproc.y" { (yyval.str) = mm_strdup("owner"); } #line 57162 "preproc.c" break; case 2501: /* unreserved_keyword: PARALLEL */ #line 14352 "preproc.y" { (yyval.str) = mm_strdup("parallel"); } #line 57170 "preproc.c" break; case 2502: /* unreserved_keyword: PARAMETER */ #line 14356 "preproc.y" { (yyval.str) = mm_strdup("parameter"); } #line 57178 "preproc.c" break; case 2503: /* unreserved_keyword: PARSER */ #line 14360 "preproc.y" { (yyval.str) = mm_strdup("parser"); } #line 57186 "preproc.c" break; case 2504: /* unreserved_keyword: PARTIAL */ #line 14364 "preproc.y" { (yyval.str) = mm_strdup("partial"); } #line 57194 "preproc.c" break; case 2505: /* unreserved_keyword: PARTITION */ #line 14368 "preproc.y" { (yyval.str) = mm_strdup("partition"); } #line 57202 "preproc.c" break; case 2506: /* unreserved_keyword: PASSING */ #line 14372 "preproc.y" { (yyval.str) = mm_strdup("passing"); } #line 57210 "preproc.c" break; case 2507: /* unreserved_keyword: PASSWORD */ #line 14376 "preproc.y" { (yyval.str) = mm_strdup("password"); } #line 57218 "preproc.c" break; case 2508: /* unreserved_keyword: PLANS */ #line 14380 "preproc.y" { (yyval.str) = mm_strdup("plans"); } #line 57226 "preproc.c" break; case 2509: /* unreserved_keyword: POLICY */ #line 14384 "preproc.y" { (yyval.str) = mm_strdup("policy"); } #line 57234 "preproc.c" break; case 2510: /* unreserved_keyword: PRECEDING */ #line 14388 "preproc.y" { (yyval.str) = mm_strdup("preceding"); } #line 57242 "preproc.c" break; case 2511: /* unreserved_keyword: PREPARE */ #line 14392 "preproc.y" { (yyval.str) = mm_strdup("prepare"); } #line 57250 "preproc.c" break; case 2512: /* unreserved_keyword: PREPARED */ #line 14396 "preproc.y" { (yyval.str) = mm_strdup("prepared"); } #line 57258 "preproc.c" break; case 2513: /* unreserved_keyword: PRESERVE */ #line 14400 "preproc.y" { (yyval.str) = mm_strdup("preserve"); } #line 57266 "preproc.c" break; case 2514: /* unreserved_keyword: PRIOR */ #line 14404 "preproc.y" { (yyval.str) = mm_strdup("prior"); } #line 57274 "preproc.c" break; case 2515: /* unreserved_keyword: PRIVILEGES */ #line 14408 "preproc.y" { (yyval.str) = mm_strdup("privileges"); } #line 57282 "preproc.c" break; case 2516: /* unreserved_keyword: PROCEDURAL */ #line 14412 "preproc.y" { (yyval.str) = mm_strdup("procedural"); } #line 57290 "preproc.c" break; case 2517: /* unreserved_keyword: PROCEDURE */ #line 14416 "preproc.y" { (yyval.str) = mm_strdup("procedure"); } #line 57298 "preproc.c" break; case 2518: /* unreserved_keyword: PROCEDURES */ #line 14420 "preproc.y" { (yyval.str) = mm_strdup("procedures"); } #line 57306 "preproc.c" break; case 2519: /* unreserved_keyword: PROGRAM */ #line 14424 "preproc.y" { (yyval.str) = mm_strdup("program"); } #line 57314 "preproc.c" break; case 2520: /* unreserved_keyword: PUBLICATION */ #line 14428 "preproc.y" { (yyval.str) = mm_strdup("publication"); } #line 57322 "preproc.c" break; case 2521: /* unreserved_keyword: QUOTE */ #line 14432 "preproc.y" { (yyval.str) = mm_strdup("quote"); } #line 57330 "preproc.c" break; case 2522: /* unreserved_keyword: RANGE */ #line 14436 "preproc.y" { (yyval.str) = mm_strdup("range"); } #line 57338 "preproc.c" break; case 2523: /* unreserved_keyword: READ */ #line 14440 "preproc.y" { (yyval.str) = mm_strdup("read"); } #line 57346 "preproc.c" break; case 2524: /* unreserved_keyword: REASSIGN */ #line 14444 "preproc.y" { (yyval.str) = mm_strdup("reassign"); } #line 57354 "preproc.c" break; case 2525: /* unreserved_keyword: RECHECK */ #line 14448 "preproc.y" { (yyval.str) = mm_strdup("recheck"); } #line 57362 "preproc.c" break; case 2526: /* unreserved_keyword: RECURSIVE */ #line 14452 "preproc.y" { (yyval.str) = mm_strdup("recursive"); } #line 57370 "preproc.c" break; case 2527: /* unreserved_keyword: REF_P */ #line 14456 "preproc.y" { (yyval.str) = mm_strdup("ref"); } #line 57378 "preproc.c" break; case 2528: /* unreserved_keyword: REFERENCING */ #line 14460 "preproc.y" { (yyval.str) = mm_strdup("referencing"); } #line 57386 "preproc.c" break; case 2529: /* unreserved_keyword: REFRESH */ #line 14464 "preproc.y" { (yyval.str) = mm_strdup("refresh"); } #line 57394 "preproc.c" break; case 2530: /* unreserved_keyword: REINDEX */ #line 14468 "preproc.y" { (yyval.str) = mm_strdup("reindex"); } #line 57402 "preproc.c" break; case 2531: /* unreserved_keyword: RELATIVE_P */ #line 14472 "preproc.y" { (yyval.str) = mm_strdup("relative"); } #line 57410 "preproc.c" break; case 2532: /* unreserved_keyword: RELEASE */ #line 14476 "preproc.y" { (yyval.str) = mm_strdup("release"); } #line 57418 "preproc.c" break; case 2533: /* unreserved_keyword: RENAME */ #line 14480 "preproc.y" { (yyval.str) = mm_strdup("rename"); } #line 57426 "preproc.c" break; case 2534: /* unreserved_keyword: REPEATABLE */ #line 14484 "preproc.y" { (yyval.str) = mm_strdup("repeatable"); } #line 57434 "preproc.c" break; case 2535: /* unreserved_keyword: REPLACE */ #line 14488 "preproc.y" { (yyval.str) = mm_strdup("replace"); } #line 57442 "preproc.c" break; case 2536: /* unreserved_keyword: REPLICA */ #line 14492 "preproc.y" { (yyval.str) = mm_strdup("replica"); } #line 57450 "preproc.c" break; case 2537: /* unreserved_keyword: RESET */ #line 14496 "preproc.y" { (yyval.str) = mm_strdup("reset"); } #line 57458 "preproc.c" break; case 2538: /* unreserved_keyword: RESTART */ #line 14500 "preproc.y" { (yyval.str) = mm_strdup("restart"); } #line 57466 "preproc.c" break; case 2539: /* unreserved_keyword: RESTRICT */ #line 14504 "preproc.y" { (yyval.str) = mm_strdup("restrict"); } #line 57474 "preproc.c" break; case 2540: /* unreserved_keyword: RETURN */ #line 14508 "preproc.y" { (yyval.str) = mm_strdup("return"); } #line 57482 "preproc.c" break; case 2541: /* unreserved_keyword: RETURNS */ #line 14512 "preproc.y" { (yyval.str) = mm_strdup("returns"); } #line 57490 "preproc.c" break; case 2542: /* unreserved_keyword: REVOKE */ #line 14516 "preproc.y" { (yyval.str) = mm_strdup("revoke"); } #line 57498 "preproc.c" break; case 2543: /* unreserved_keyword: ROLE */ #line 14520 "preproc.y" { (yyval.str) = mm_strdup("role"); } #line 57506 "preproc.c" break; case 2544: /* unreserved_keyword: ROLLBACK */ #line 14524 "preproc.y" { (yyval.str) = mm_strdup("rollback"); } #line 57514 "preproc.c" break; case 2545: /* unreserved_keyword: ROLLUP */ #line 14528 "preproc.y" { (yyval.str) = mm_strdup("rollup"); } #line 57522 "preproc.c" break; case 2546: /* unreserved_keyword: ROUTINE */ #line 14532 "preproc.y" { (yyval.str) = mm_strdup("routine"); } #line 57530 "preproc.c" break; case 2547: /* unreserved_keyword: ROUTINES */ #line 14536 "preproc.y" { (yyval.str) = mm_strdup("routines"); } #line 57538 "preproc.c" break; case 2548: /* unreserved_keyword: ROWS */ #line 14540 "preproc.y" { (yyval.str) = mm_strdup("rows"); } #line 57546 "preproc.c" break; case 2549: /* unreserved_keyword: RULE */ #line 14544 "preproc.y" { (yyval.str) = mm_strdup("rule"); } #line 57554 "preproc.c" break; case 2550: /* unreserved_keyword: SAVEPOINT */ #line 14548 "preproc.y" { (yyval.str) = mm_strdup("savepoint"); } #line 57562 "preproc.c" break; case 2551: /* unreserved_keyword: SCHEMA */ #line 14552 "preproc.y" { (yyval.str) = mm_strdup("schema"); } #line 57570 "preproc.c" break; case 2552: /* unreserved_keyword: SCHEMAS */ #line 14556 "preproc.y" { (yyval.str) = mm_strdup("schemas"); } #line 57578 "preproc.c" break; case 2553: /* unreserved_keyword: SCROLL */ #line 14560 "preproc.y" { (yyval.str) = mm_strdup("scroll"); } #line 57586 "preproc.c" break; case 2554: /* unreserved_keyword: SEARCH */ #line 14564 "preproc.y" { (yyval.str) = mm_strdup("search"); } #line 57594 "preproc.c" break; case 2555: /* unreserved_keyword: SECURITY */ #line 14568 "preproc.y" { (yyval.str) = mm_strdup("security"); } #line 57602 "preproc.c" break; case 2556: /* unreserved_keyword: SEQUENCE */ #line 14572 "preproc.y" { (yyval.str) = mm_strdup("sequence"); } #line 57610 "preproc.c" break; case 2557: /* unreserved_keyword: SEQUENCES */ #line 14576 "preproc.y" { (yyval.str) = mm_strdup("sequences"); } #line 57618 "preproc.c" break; case 2558: /* unreserved_keyword: SERIALIZABLE */ #line 14580 "preproc.y" { (yyval.str) = mm_strdup("serializable"); } #line 57626 "preproc.c" break; case 2559: /* unreserved_keyword: SERVER */ #line 14584 "preproc.y" { (yyval.str) = mm_strdup("server"); } #line 57634 "preproc.c" break; case 2560: /* unreserved_keyword: SESSION */ #line 14588 "preproc.y" { (yyval.str) = mm_strdup("session"); } #line 57642 "preproc.c" break; case 2561: /* unreserved_keyword: SET */ #line 14592 "preproc.y" { (yyval.str) = mm_strdup("set"); } #line 57650 "preproc.c" break; case 2562: /* unreserved_keyword: SETS */ #line 14596 "preproc.y" { (yyval.str) = mm_strdup("sets"); } #line 57658 "preproc.c" break; case 2563: /* unreserved_keyword: SHARE */ #line 14600 "preproc.y" { (yyval.str) = mm_strdup("share"); } #line 57666 "preproc.c" break; case 2564: /* unreserved_keyword: SHOW */ #line 14604 "preproc.y" { (yyval.str) = mm_strdup("show"); } #line 57674 "preproc.c" break; case 2565: /* unreserved_keyword: SIMPLE */ #line 14608 "preproc.y" { (yyval.str) = mm_strdup("simple"); } #line 57682 "preproc.c" break; case 2566: /* unreserved_keyword: SKIP */ #line 14612 "preproc.y" { (yyval.str) = mm_strdup("skip"); } #line 57690 "preproc.c" break; case 2567: /* unreserved_keyword: SNAPSHOT */ #line 14616 "preproc.y" { (yyval.str) = mm_strdup("snapshot"); } #line 57698 "preproc.c" break; case 2568: /* unreserved_keyword: SQL_P */ #line 14620 "preproc.y" { (yyval.str) = mm_strdup("sql"); } #line 57706 "preproc.c" break; case 2569: /* unreserved_keyword: STABLE */ #line 14624 "preproc.y" { (yyval.str) = mm_strdup("stable"); } #line 57714 "preproc.c" break; case 2570: /* unreserved_keyword: STANDALONE_P */ #line 14628 "preproc.y" { (yyval.str) = mm_strdup("standalone"); } #line 57722 "preproc.c" break; case 2571: /* unreserved_keyword: START */ #line 14632 "preproc.y" { (yyval.str) = mm_strdup("start"); } #line 57730 "preproc.c" break; case 2572: /* unreserved_keyword: STATEMENT */ #line 14636 "preproc.y" { (yyval.str) = mm_strdup("statement"); } #line 57738 "preproc.c" break; case 2573: /* unreserved_keyword: STATISTICS */ #line 14640 "preproc.y" { (yyval.str) = mm_strdup("statistics"); } #line 57746 "preproc.c" break; case 2574: /* unreserved_keyword: STDIN */ #line 14644 "preproc.y" { (yyval.str) = mm_strdup("stdin"); } #line 57754 "preproc.c" break; case 2575: /* unreserved_keyword: STDOUT */ #line 14648 "preproc.y" { (yyval.str) = mm_strdup("stdout"); } #line 57762 "preproc.c" break; case 2576: /* unreserved_keyword: STORAGE */ #line 14652 "preproc.y" { (yyval.str) = mm_strdup("storage"); } #line 57770 "preproc.c" break; case 2577: /* unreserved_keyword: STORED */ #line 14656 "preproc.y" { (yyval.str) = mm_strdup("stored"); } #line 57778 "preproc.c" break; case 2578: /* unreserved_keyword: STRICT_P */ #line 14660 "preproc.y" { (yyval.str) = mm_strdup("strict"); } #line 57786 "preproc.c" break; case 2579: /* unreserved_keyword: STRIP_P */ #line 14664 "preproc.y" { (yyval.str) = mm_strdup("strip"); } #line 57794 "preproc.c" break; case 2580: /* unreserved_keyword: SUBSCRIPTION */ #line 14668 "preproc.y" { (yyval.str) = mm_strdup("subscription"); } #line 57802 "preproc.c" break; case 2581: /* unreserved_keyword: SUPPORT */ #line 14672 "preproc.y" { (yyval.str) = mm_strdup("support"); } #line 57810 "preproc.c" break; case 2582: /* unreserved_keyword: SYSID */ #line 14676 "preproc.y" { (yyval.str) = mm_strdup("sysid"); } #line 57818 "preproc.c" break; case 2583: /* unreserved_keyword: SYSTEM_P */ #line 14680 "preproc.y" { (yyval.str) = mm_strdup("system"); } #line 57826 "preproc.c" break; case 2584: /* unreserved_keyword: TABLES */ #line 14684 "preproc.y" { (yyval.str) = mm_strdup("tables"); } #line 57834 "preproc.c" break; case 2585: /* unreserved_keyword: TABLESPACE */ #line 14688 "preproc.y" { (yyval.str) = mm_strdup("tablespace"); } #line 57842 "preproc.c" break; case 2586: /* unreserved_keyword: TEMP */ #line 14692 "preproc.y" { (yyval.str) = mm_strdup("temp"); } #line 57850 "preproc.c" break; case 2587: /* unreserved_keyword: TEMPLATE */ #line 14696 "preproc.y" { (yyval.str) = mm_strdup("template"); } #line 57858 "preproc.c" break; case 2588: /* unreserved_keyword: TEMPORARY */ #line 14700 "preproc.y" { (yyval.str) = mm_strdup("temporary"); } #line 57866 "preproc.c" break; case 2589: /* unreserved_keyword: TEXT_P */ #line 14704 "preproc.y" { (yyval.str) = mm_strdup("text"); } #line 57874 "preproc.c" break; case 2590: /* unreserved_keyword: TIES */ #line 14708 "preproc.y" { (yyval.str) = mm_strdup("ties"); } #line 57882 "preproc.c" break; case 2591: /* unreserved_keyword: TRANSACTION */ #line 14712 "preproc.y" { (yyval.str) = mm_strdup("transaction"); } #line 57890 "preproc.c" break; case 2592: /* unreserved_keyword: TRANSFORM */ #line 14716 "preproc.y" { (yyval.str) = mm_strdup("transform"); } #line 57898 "preproc.c" break; case 2593: /* unreserved_keyword: TRIGGER */ #line 14720 "preproc.y" { (yyval.str) = mm_strdup("trigger"); } #line 57906 "preproc.c" break; case 2594: /* unreserved_keyword: TRUNCATE */ #line 14724 "preproc.y" { (yyval.str) = mm_strdup("truncate"); } #line 57914 "preproc.c" break; case 2595: /* unreserved_keyword: TRUSTED */ #line 14728 "preproc.y" { (yyval.str) = mm_strdup("trusted"); } #line 57922 "preproc.c" break; case 2596: /* unreserved_keyword: TYPE_P */ #line 14732 "preproc.y" { (yyval.str) = mm_strdup("type"); } #line 57930 "preproc.c" break; case 2597: /* unreserved_keyword: TYPES_P */ #line 14736 "preproc.y" { (yyval.str) = mm_strdup("types"); } #line 57938 "preproc.c" break; case 2598: /* unreserved_keyword: UESCAPE */ #line 14740 "preproc.y" { (yyval.str) = mm_strdup("uescape"); } #line 57946 "preproc.c" break; case 2599: /* unreserved_keyword: UNBOUNDED */ #line 14744 "preproc.y" { (yyval.str) = mm_strdup("unbounded"); } #line 57954 "preproc.c" break; case 2600: /* unreserved_keyword: UNCOMMITTED */ #line 14748 "preproc.y" { (yyval.str) = mm_strdup("uncommitted"); } #line 57962 "preproc.c" break; case 2601: /* unreserved_keyword: UNENCRYPTED */ #line 14752 "preproc.y" { (yyval.str) = mm_strdup("unencrypted"); } #line 57970 "preproc.c" break; case 2602: /* unreserved_keyword: UNKNOWN */ #line 14756 "preproc.y" { (yyval.str) = mm_strdup("unknown"); } #line 57978 "preproc.c" break; case 2603: /* unreserved_keyword: UNLISTEN */ #line 14760 "preproc.y" { (yyval.str) = mm_strdup("unlisten"); } #line 57986 "preproc.c" break; case 2604: /* unreserved_keyword: UNLOGGED */ #line 14764 "preproc.y" { (yyval.str) = mm_strdup("unlogged"); } #line 57994 "preproc.c" break; case 2605: /* unreserved_keyword: UNTIL */ #line 14768 "preproc.y" { (yyval.str) = mm_strdup("until"); } #line 58002 "preproc.c" break; case 2606: /* unreserved_keyword: UPDATE */ #line 14772 "preproc.y" { (yyval.str) = mm_strdup("update"); } #line 58010 "preproc.c" break; case 2607: /* unreserved_keyword: VACUUM */ #line 14776 "preproc.y" { (yyval.str) = mm_strdup("vacuum"); } #line 58018 "preproc.c" break; case 2608: /* unreserved_keyword: VALID */ #line 14780 "preproc.y" { (yyval.str) = mm_strdup("valid"); } #line 58026 "preproc.c" break; case 2609: /* unreserved_keyword: VALIDATE */ #line 14784 "preproc.y" { (yyval.str) = mm_strdup("validate"); } #line 58034 "preproc.c" break; case 2610: /* unreserved_keyword: VALIDATOR */ #line 14788 "preproc.y" { (yyval.str) = mm_strdup("validator"); } #line 58042 "preproc.c" break; case 2611: /* unreserved_keyword: VALUE_P */ #line 14792 "preproc.y" { (yyval.str) = mm_strdup("value"); } #line 58050 "preproc.c" break; case 2612: /* unreserved_keyword: VARYING */ #line 14796 "preproc.y" { (yyval.str) = mm_strdup("varying"); } #line 58058 "preproc.c" break; case 2613: /* unreserved_keyword: VERSION_P */ #line 14800 "preproc.y" { (yyval.str) = mm_strdup("version"); } #line 58066 "preproc.c" break; case 2614: /* unreserved_keyword: VIEW */ #line 14804 "preproc.y" { (yyval.str) = mm_strdup("view"); } #line 58074 "preproc.c" break; case 2615: /* unreserved_keyword: VIEWS */ #line 14808 "preproc.y" { (yyval.str) = mm_strdup("views"); } #line 58082 "preproc.c" break; case 2616: /* unreserved_keyword: VOLATILE */ #line 14812 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } #line 58090 "preproc.c" break; case 2617: /* unreserved_keyword: WHITESPACE_P */ #line 14816 "preproc.y" { (yyval.str) = mm_strdup("whitespace"); } #line 58098 "preproc.c" break; case 2618: /* unreserved_keyword: WITHIN */ #line 14820 "preproc.y" { (yyval.str) = mm_strdup("within"); } #line 58106 "preproc.c" break; case 2619: /* unreserved_keyword: WITHOUT */ #line 14824 "preproc.y" { (yyval.str) = mm_strdup("without"); } #line 58114 "preproc.c" break; case 2620: /* unreserved_keyword: WORK */ #line 14828 "preproc.y" { (yyval.str) = mm_strdup("work"); } #line 58122 "preproc.c" break; case 2621: /* unreserved_keyword: WRAPPER */ #line 14832 "preproc.y" { (yyval.str) = mm_strdup("wrapper"); } #line 58130 "preproc.c" break; case 2622: /* unreserved_keyword: WRITE */ #line 14836 "preproc.y" { (yyval.str) = mm_strdup("write"); } #line 58138 "preproc.c" break; case 2623: /* unreserved_keyword: XML_P */ #line 14840 "preproc.y" { (yyval.str) = mm_strdup("xml"); } #line 58146 "preproc.c" break; case 2624: /* unreserved_keyword: YES_P */ #line 14844 "preproc.y" { (yyval.str) = mm_strdup("yes"); } #line 58154 "preproc.c" break; case 2625: /* unreserved_keyword: ZONE */ #line 14848 "preproc.y" { (yyval.str) = mm_strdup("zone"); } #line 58162 "preproc.c" break; case 2626: /* col_name_keyword: BETWEEN */ #line 14856 "preproc.y" { (yyval.str) = mm_strdup("between"); } #line 58170 "preproc.c" break; case 2627: /* col_name_keyword: BIGINT */ #line 14860 "preproc.y" { (yyval.str) = mm_strdup("bigint"); } #line 58178 "preproc.c" break; case 2628: /* col_name_keyword: BIT */ #line 14864 "preproc.y" { (yyval.str) = mm_strdup("bit"); } #line 58186 "preproc.c" break; case 2629: /* col_name_keyword: BOOLEAN_P */ #line 14868 "preproc.y" { (yyval.str) = mm_strdup("boolean"); } #line 58194 "preproc.c" break; case 2630: /* col_name_keyword: CHARACTER */ #line 14872 "preproc.y" { (yyval.str) = mm_strdup("character"); } #line 58202 "preproc.c" break; case 2631: /* col_name_keyword: COALESCE */ #line 14876 "preproc.y" { (yyval.str) = mm_strdup("coalesce"); } #line 58210 "preproc.c" break; case 2632: /* col_name_keyword: DEC */ #line 14880 "preproc.y" { (yyval.str) = mm_strdup("dec"); } #line 58218 "preproc.c" break; case 2633: /* col_name_keyword: DECIMAL_P */ #line 14884 "preproc.y" { (yyval.str) = mm_strdup("decimal"); } #line 58226 "preproc.c" break; case 2634: /* col_name_keyword: EXISTS */ #line 14888 "preproc.y" { (yyval.str) = mm_strdup("exists"); } #line 58234 "preproc.c" break; case 2635: /* col_name_keyword: EXTRACT */ #line 14892 "preproc.y" { (yyval.str) = mm_strdup("extract"); } #line 58242 "preproc.c" break; case 2636: /* col_name_keyword: FLOAT_P */ #line 14896 "preproc.y" { (yyval.str) = mm_strdup("float"); } #line 58250 "preproc.c" break; case 2637: /* col_name_keyword: GREATEST */ #line 14900 "preproc.y" { (yyval.str) = mm_strdup("greatest"); } #line 58258 "preproc.c" break; case 2638: /* col_name_keyword: GROUPING */ #line 14904 "preproc.y" { (yyval.str) = mm_strdup("grouping"); } #line 58266 "preproc.c" break; case 2639: /* col_name_keyword: INOUT */ #line 14908 "preproc.y" { (yyval.str) = mm_strdup("inout"); } #line 58274 "preproc.c" break; case 2640: /* col_name_keyword: INTEGER */ #line 14912 "preproc.y" { (yyval.str) = mm_strdup("integer"); } #line 58282 "preproc.c" break; case 2641: /* col_name_keyword: INTERVAL */ #line 14916 "preproc.y" { (yyval.str) = mm_strdup("interval"); } #line 58290 "preproc.c" break; case 2642: /* col_name_keyword: LEAST */ #line 14920 "preproc.y" { (yyval.str) = mm_strdup("least"); } #line 58298 "preproc.c" break; case 2643: /* col_name_keyword: NATIONAL */ #line 14924 "preproc.y" { (yyval.str) = mm_strdup("national"); } #line 58306 "preproc.c" break; case 2644: /* col_name_keyword: NCHAR */ #line 14928 "preproc.y" { (yyval.str) = mm_strdup("nchar"); } #line 58314 "preproc.c" break; case 2645: /* col_name_keyword: NONE */ #line 14932 "preproc.y" { (yyval.str) = mm_strdup("none"); } #line 58322 "preproc.c" break; case 2646: /* col_name_keyword: NORMALIZE */ #line 14936 "preproc.y" { (yyval.str) = mm_strdup("normalize"); } #line 58330 "preproc.c" break; case 2647: /* col_name_keyword: NULLIF */ #line 14940 "preproc.y" { (yyval.str) = mm_strdup("nullif"); } #line 58338 "preproc.c" break; case 2648: /* col_name_keyword: NUMERIC */ #line 14944 "preproc.y" { (yyval.str) = mm_strdup("numeric"); } #line 58346 "preproc.c" break; case 2649: /* col_name_keyword: OUT_P */ #line 14948 "preproc.y" { (yyval.str) = mm_strdup("out"); } #line 58354 "preproc.c" break; case 2650: /* col_name_keyword: OVERLAY */ #line 14952 "preproc.y" { (yyval.str) = mm_strdup("overlay"); } #line 58362 "preproc.c" break; case 2651: /* col_name_keyword: POSITION */ #line 14956 "preproc.y" { (yyval.str) = mm_strdup("position"); } #line 58370 "preproc.c" break; case 2652: /* col_name_keyword: PRECISION */ #line 14960 "preproc.y" { (yyval.str) = mm_strdup("precision"); } #line 58378 "preproc.c" break; case 2653: /* col_name_keyword: REAL */ #line 14964 "preproc.y" { (yyval.str) = mm_strdup("real"); } #line 58386 "preproc.c" break; case 2654: /* col_name_keyword: ROW */ #line 14968 "preproc.y" { (yyval.str) = mm_strdup("row"); } #line 58394 "preproc.c" break; case 2655: /* col_name_keyword: SETOF */ #line 14972 "preproc.y" { (yyval.str) = mm_strdup("setof"); } #line 58402 "preproc.c" break; case 2656: /* col_name_keyword: SMALLINT */ #line 14976 "preproc.y" { (yyval.str) = mm_strdup("smallint"); } #line 58410 "preproc.c" break; case 2657: /* col_name_keyword: SUBSTRING */ #line 14980 "preproc.y" { (yyval.str) = mm_strdup("substring"); } #line 58418 "preproc.c" break; case 2658: /* col_name_keyword: TIME */ #line 14984 "preproc.y" { (yyval.str) = mm_strdup("time"); } #line 58426 "preproc.c" break; case 2659: /* col_name_keyword: TIMESTAMP */ #line 14988 "preproc.y" { (yyval.str) = mm_strdup("timestamp"); } #line 58434 "preproc.c" break; case 2660: /* col_name_keyword: TREAT */ #line 14992 "preproc.y" { (yyval.str) = mm_strdup("treat"); } #line 58442 "preproc.c" break; case 2661: /* col_name_keyword: TRIM */ #line 14996 "preproc.y" { (yyval.str) = mm_strdup("trim"); } #line 58450 "preproc.c" break; case 2662: /* col_name_keyword: VARCHAR */ #line 15000 "preproc.y" { (yyval.str) = mm_strdup("varchar"); } #line 58458 "preproc.c" break; case 2663: /* col_name_keyword: XMLATTRIBUTES */ #line 15004 "preproc.y" { (yyval.str) = mm_strdup("xmlattributes"); } #line 58466 "preproc.c" break; case 2664: /* col_name_keyword: XMLCONCAT */ #line 15008 "preproc.y" { (yyval.str) = mm_strdup("xmlconcat"); } #line 58474 "preproc.c" break; case 2665: /* col_name_keyword: XMLELEMENT */ #line 15012 "preproc.y" { (yyval.str) = mm_strdup("xmlelement"); } #line 58482 "preproc.c" break; case 2666: /* col_name_keyword: XMLEXISTS */ #line 15016 "preproc.y" { (yyval.str) = mm_strdup("xmlexists"); } #line 58490 "preproc.c" break; case 2667: /* col_name_keyword: XMLFOREST */ #line 15020 "preproc.y" { (yyval.str) = mm_strdup("xmlforest"); } #line 58498 "preproc.c" break; case 2668: /* col_name_keyword: XMLNAMESPACES */ #line 15024 "preproc.y" { (yyval.str) = mm_strdup("xmlnamespaces"); } #line 58506 "preproc.c" break; case 2669: /* col_name_keyword: XMLPARSE */ #line 15028 "preproc.y" { (yyval.str) = mm_strdup("xmlparse"); } #line 58514 "preproc.c" break; case 2670: /* col_name_keyword: XMLPI */ #line 15032 "preproc.y" { (yyval.str) = mm_strdup("xmlpi"); } #line 58522 "preproc.c" break; case 2671: /* col_name_keyword: XMLROOT */ #line 15036 "preproc.y" { (yyval.str) = mm_strdup("xmlroot"); } #line 58530 "preproc.c" break; case 2672: /* col_name_keyword: XMLSERIALIZE */ #line 15040 "preproc.y" { (yyval.str) = mm_strdup("xmlserialize"); } #line 58538 "preproc.c" break; case 2673: /* col_name_keyword: XMLTABLE */ #line 15044 "preproc.y" { (yyval.str) = mm_strdup("xmltable"); } #line 58546 "preproc.c" break; case 2674: /* type_func_name_keyword: AUTHORIZATION */ #line 15052 "preproc.y" { (yyval.str) = mm_strdup("authorization"); } #line 58554 "preproc.c" break; case 2675: /* type_func_name_keyword: BINARY */ #line 15056 "preproc.y" { (yyval.str) = mm_strdup("binary"); } #line 58562 "preproc.c" break; case 2676: /* type_func_name_keyword: COLLATION */ #line 15060 "preproc.y" { (yyval.str) = mm_strdup("collation"); } #line 58570 "preproc.c" break; case 2677: /* type_func_name_keyword: CONCURRENTLY */ #line 15064 "preproc.y" { (yyval.str) = mm_strdup("concurrently"); } #line 58578 "preproc.c" break; case 2678: /* type_func_name_keyword: CROSS */ #line 15068 "preproc.y" { (yyval.str) = mm_strdup("cross"); } #line 58586 "preproc.c" break; case 2679: /* type_func_name_keyword: CURRENT_SCHEMA */ #line 15072 "preproc.y" { (yyval.str) = mm_strdup("current_schema"); } #line 58594 "preproc.c" break; case 2680: /* type_func_name_keyword: FREEZE */ #line 15076 "preproc.y" { (yyval.str) = mm_strdup("freeze"); } #line 58602 "preproc.c" break; case 2681: /* type_func_name_keyword: FULL */ #line 15080 "preproc.y" { (yyval.str) = mm_strdup("full"); } #line 58610 "preproc.c" break; case 2682: /* type_func_name_keyword: ILIKE */ #line 15084 "preproc.y" { (yyval.str) = mm_strdup("ilike"); } #line 58618 "preproc.c" break; case 2683: /* type_func_name_keyword: INNER_P */ #line 15088 "preproc.y" { (yyval.str) = mm_strdup("inner"); } #line 58626 "preproc.c" break; case 2684: /* type_func_name_keyword: IS */ #line 15092 "preproc.y" { (yyval.str) = mm_strdup("is"); } #line 58634 "preproc.c" break; case 2685: /* type_func_name_keyword: ISNULL */ #line 15096 "preproc.y" { (yyval.str) = mm_strdup("isnull"); } #line 58642 "preproc.c" break; case 2686: /* type_func_name_keyword: JOIN */ #line 15100 "preproc.y" { (yyval.str) = mm_strdup("join"); } #line 58650 "preproc.c" break; case 2687: /* type_func_name_keyword: LEFT */ #line 15104 "preproc.y" { (yyval.str) = mm_strdup("left"); } #line 58658 "preproc.c" break; case 2688: /* type_func_name_keyword: LIKE */ #line 15108 "preproc.y" { (yyval.str) = mm_strdup("like"); } #line 58666 "preproc.c" break; case 2689: /* type_func_name_keyword: NATURAL */ #line 15112 "preproc.y" { (yyval.str) = mm_strdup("natural"); } #line 58674 "preproc.c" break; case 2690: /* type_func_name_keyword: NOTNULL */ #line 15116 "preproc.y" { (yyval.str) = mm_strdup("notnull"); } #line 58682 "preproc.c" break; case 2691: /* type_func_name_keyword: OUTER_P */ #line 15120 "preproc.y" { (yyval.str) = mm_strdup("outer"); } #line 58690 "preproc.c" break; case 2692: /* type_func_name_keyword: OVERLAPS */ #line 15124 "preproc.y" { (yyval.str) = mm_strdup("overlaps"); } #line 58698 "preproc.c" break; case 2693: /* type_func_name_keyword: RIGHT */ #line 15128 "preproc.y" { (yyval.str) = mm_strdup("right"); } #line 58706 "preproc.c" break; case 2694: /* type_func_name_keyword: SIMILAR */ #line 15132 "preproc.y" { (yyval.str) = mm_strdup("similar"); } #line 58714 "preproc.c" break; case 2695: /* type_func_name_keyword: TABLESAMPLE */ #line 15136 "preproc.y" { (yyval.str) = mm_strdup("tablesample"); } #line 58722 "preproc.c" break; case 2696: /* type_func_name_keyword: VERBOSE */ #line 15140 "preproc.y" { (yyval.str) = mm_strdup("verbose"); } #line 58730 "preproc.c" break; case 2697: /* reserved_keyword: ALL */ #line 15148 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 58738 "preproc.c" break; case 2698: /* reserved_keyword: ANALYSE */ #line 15152 "preproc.y" { (yyval.str) = mm_strdup("analyse"); } #line 58746 "preproc.c" break; case 2699: /* reserved_keyword: ANALYZE */ #line 15156 "preproc.y" { (yyval.str) = mm_strdup("analyze"); } #line 58754 "preproc.c" break; case 2700: /* reserved_keyword: AND */ #line 15160 "preproc.y" { (yyval.str) = mm_strdup("and"); } #line 58762 "preproc.c" break; case 2701: /* reserved_keyword: ANY */ #line 15164 "preproc.y" { (yyval.str) = mm_strdup("any"); } #line 58770 "preproc.c" break; case 2702: /* reserved_keyword: ARRAY */ #line 15168 "preproc.y" { (yyval.str) = mm_strdup("array"); } #line 58778 "preproc.c" break; case 2703: /* reserved_keyword: AS */ #line 15172 "preproc.y" { (yyval.str) = mm_strdup("as"); } #line 58786 "preproc.c" break; case 2704: /* reserved_keyword: ASC */ #line 15176 "preproc.y" { (yyval.str) = mm_strdup("asc"); } #line 58794 "preproc.c" break; case 2705: /* reserved_keyword: ASYMMETRIC */ #line 15180 "preproc.y" { (yyval.str) = mm_strdup("asymmetric"); } #line 58802 "preproc.c" break; case 2706: /* reserved_keyword: BOTH */ #line 15184 "preproc.y" { (yyval.str) = mm_strdup("both"); } #line 58810 "preproc.c" break; case 2707: /* reserved_keyword: CASE */ #line 15188 "preproc.y" { (yyval.str) = mm_strdup("case"); } #line 58818 "preproc.c" break; case 2708: /* reserved_keyword: CAST */ #line 15192 "preproc.y" { (yyval.str) = mm_strdup("cast"); } #line 58826 "preproc.c" break; case 2709: /* reserved_keyword: CHECK */ #line 15196 "preproc.y" { (yyval.str) = mm_strdup("check"); } #line 58834 "preproc.c" break; case 2710: /* reserved_keyword: COLLATE */ #line 15200 "preproc.y" { (yyval.str) = mm_strdup("collate"); } #line 58842 "preproc.c" break; case 2711: /* reserved_keyword: COLUMN */ #line 15204 "preproc.y" { (yyval.str) = mm_strdup("column"); } #line 58850 "preproc.c" break; case 2712: /* reserved_keyword: CONSTRAINT */ #line 15208 "preproc.y" { (yyval.str) = mm_strdup("constraint"); } #line 58858 "preproc.c" break; case 2713: /* reserved_keyword: CREATE */ #line 15212 "preproc.y" { (yyval.str) = mm_strdup("create"); } #line 58866 "preproc.c" break; case 2714: /* reserved_keyword: CURRENT_CATALOG */ #line 15216 "preproc.y" { (yyval.str) = mm_strdup("current_catalog"); } #line 58874 "preproc.c" break; case 2715: /* reserved_keyword: CURRENT_DATE */ #line 15220 "preproc.y" { (yyval.str) = mm_strdup("current_date"); } #line 58882 "preproc.c" break; case 2716: /* reserved_keyword: CURRENT_ROLE */ #line 15224 "preproc.y" { (yyval.str) = mm_strdup("current_role"); } #line 58890 "preproc.c" break; case 2717: /* reserved_keyword: CURRENT_TIME */ #line 15228 "preproc.y" { (yyval.str) = mm_strdup("current_time"); } #line 58898 "preproc.c" break; case 2718: /* reserved_keyword: CURRENT_TIMESTAMP */ #line 15232 "preproc.y" { (yyval.str) = mm_strdup("current_timestamp"); } #line 58906 "preproc.c" break; case 2719: /* reserved_keyword: CURRENT_USER */ #line 15236 "preproc.y" { (yyval.str) = mm_strdup("current_user"); } #line 58914 "preproc.c" break; case 2720: /* reserved_keyword: DEFAULT */ #line 15240 "preproc.y" { (yyval.str) = mm_strdup("default"); } #line 58922 "preproc.c" break; case 2721: /* reserved_keyword: DEFERRABLE */ #line 15244 "preproc.y" { (yyval.str) = mm_strdup("deferrable"); } #line 58930 "preproc.c" break; case 2722: /* reserved_keyword: DESC */ #line 15248 "preproc.y" { (yyval.str) = mm_strdup("desc"); } #line 58938 "preproc.c" break; case 2723: /* reserved_keyword: DISTINCT */ #line 15252 "preproc.y" { (yyval.str) = mm_strdup("distinct"); } #line 58946 "preproc.c" break; case 2724: /* reserved_keyword: DO */ #line 15256 "preproc.y" { (yyval.str) = mm_strdup("do"); } #line 58954 "preproc.c" break; case 2725: /* reserved_keyword: ELSE */ #line 15260 "preproc.y" { (yyval.str) = mm_strdup("else"); } #line 58962 "preproc.c" break; case 2726: /* reserved_keyword: END_P */ #line 15264 "preproc.y" { (yyval.str) = mm_strdup("end"); } #line 58970 "preproc.c" break; case 2727: /* reserved_keyword: EXCEPT */ #line 15268 "preproc.y" { (yyval.str) = mm_strdup("except"); } #line 58978 "preproc.c" break; case 2728: /* reserved_keyword: FALSE_P */ #line 15272 "preproc.y" { (yyval.str) = mm_strdup("false"); } #line 58986 "preproc.c" break; case 2729: /* reserved_keyword: FETCH */ #line 15276 "preproc.y" { (yyval.str) = mm_strdup("fetch"); } #line 58994 "preproc.c" break; case 2730: /* reserved_keyword: FOR */ #line 15280 "preproc.y" { (yyval.str) = mm_strdup("for"); } #line 59002 "preproc.c" break; case 2731: /* reserved_keyword: FOREIGN */ #line 15284 "preproc.y" { (yyval.str) = mm_strdup("foreign"); } #line 59010 "preproc.c" break; case 2732: /* reserved_keyword: FROM */ #line 15288 "preproc.y" { (yyval.str) = mm_strdup("from"); } #line 59018 "preproc.c" break; case 2733: /* reserved_keyword: GRANT */ #line 15292 "preproc.y" { (yyval.str) = mm_strdup("grant"); } #line 59026 "preproc.c" break; case 2734: /* reserved_keyword: GROUP_P */ #line 15296 "preproc.y" { (yyval.str) = mm_strdup("group"); } #line 59034 "preproc.c" break; case 2735: /* reserved_keyword: HAVING */ #line 15300 "preproc.y" { (yyval.str) = mm_strdup("having"); } #line 59042 "preproc.c" break; case 2736: /* reserved_keyword: IN_P */ #line 15304 "preproc.y" { (yyval.str) = mm_strdup("in"); } #line 59050 "preproc.c" break; case 2737: /* reserved_keyword: INITIALLY */ #line 15308 "preproc.y" { (yyval.str) = mm_strdup("initially"); } #line 59058 "preproc.c" break; case 2738: /* reserved_keyword: INTERSECT */ #line 15312 "preproc.y" { (yyval.str) = mm_strdup("intersect"); } #line 59066 "preproc.c" break; case 2739: /* reserved_keyword: INTO */ #line 15316 "preproc.y" { (yyval.str) = mm_strdup("into"); } #line 59074 "preproc.c" break; case 2740: /* reserved_keyword: LATERAL_P */ #line 15320 "preproc.y" { (yyval.str) = mm_strdup("lateral"); } #line 59082 "preproc.c" break; case 2741: /* reserved_keyword: LEADING */ #line 15324 "preproc.y" { (yyval.str) = mm_strdup("leading"); } #line 59090 "preproc.c" break; case 2742: /* reserved_keyword: LIMIT */ #line 15328 "preproc.y" { (yyval.str) = mm_strdup("limit"); } #line 59098 "preproc.c" break; case 2743: /* reserved_keyword: LOCALTIME */ #line 15332 "preproc.y" { (yyval.str) = mm_strdup("localtime"); } #line 59106 "preproc.c" break; case 2744: /* reserved_keyword: LOCALTIMESTAMP */ #line 15336 "preproc.y" { (yyval.str) = mm_strdup("localtimestamp"); } #line 59114 "preproc.c" break; case 2745: /* reserved_keyword: NOT */ #line 15340 "preproc.y" { (yyval.str) = mm_strdup("not"); } #line 59122 "preproc.c" break; case 2746: /* reserved_keyword: NULL_P */ #line 15344 "preproc.y" { (yyval.str) = mm_strdup("null"); } #line 59130 "preproc.c" break; case 2747: /* reserved_keyword: OFFSET */ #line 15348 "preproc.y" { (yyval.str) = mm_strdup("offset"); } #line 59138 "preproc.c" break; case 2748: /* reserved_keyword: ON */ #line 15352 "preproc.y" { (yyval.str) = mm_strdup("on"); } #line 59146 "preproc.c" break; case 2749: /* reserved_keyword: ONLY */ #line 15356 "preproc.y" { (yyval.str) = mm_strdup("only"); } #line 59154 "preproc.c" break; case 2750: /* reserved_keyword: OR */ #line 15360 "preproc.y" { (yyval.str) = mm_strdup("or"); } #line 59162 "preproc.c" break; case 2751: /* reserved_keyword: ORDER */ #line 15364 "preproc.y" { (yyval.str) = mm_strdup("order"); } #line 59170 "preproc.c" break; case 2752: /* reserved_keyword: PLACING */ #line 15368 "preproc.y" { (yyval.str) = mm_strdup("placing"); } #line 59178 "preproc.c" break; case 2753: /* reserved_keyword: PRIMARY */ #line 15372 "preproc.y" { (yyval.str) = mm_strdup("primary"); } #line 59186 "preproc.c" break; case 2754: /* reserved_keyword: REFERENCES */ #line 15376 "preproc.y" { (yyval.str) = mm_strdup("references"); } #line 59194 "preproc.c" break; case 2755: /* reserved_keyword: RETURNING */ #line 15380 "preproc.y" { (yyval.str) = mm_strdup("returning"); } #line 59202 "preproc.c" break; case 2756: /* reserved_keyword: SELECT */ #line 15384 "preproc.y" { (yyval.str) = mm_strdup("select"); } #line 59210 "preproc.c" break; case 2757: /* reserved_keyword: SESSION_USER */ #line 15388 "preproc.y" { (yyval.str) = mm_strdup("session_user"); } #line 59218 "preproc.c" break; case 2758: /* reserved_keyword: SOME */ #line 15392 "preproc.y" { (yyval.str) = mm_strdup("some"); } #line 59226 "preproc.c" break; case 2759: /* reserved_keyword: SYMMETRIC */ #line 15396 "preproc.y" { (yyval.str) = mm_strdup("symmetric"); } #line 59234 "preproc.c" break; case 2760: /* reserved_keyword: TABLE */ #line 15400 "preproc.y" { (yyval.str) = mm_strdup("table"); } #line 59242 "preproc.c" break; case 2761: /* reserved_keyword: THEN */ #line 15404 "preproc.y" { (yyval.str) = mm_strdup("then"); } #line 59250 "preproc.c" break; case 2762: /* reserved_keyword: TRAILING */ #line 15408 "preproc.y" { (yyval.str) = mm_strdup("trailing"); } #line 59258 "preproc.c" break; case 2763: /* reserved_keyword: TRUE_P */ #line 15412 "preproc.y" { (yyval.str) = mm_strdup("true"); } #line 59266 "preproc.c" break; case 2764: /* reserved_keyword: UNIQUE */ #line 15416 "preproc.y" { (yyval.str) = mm_strdup("unique"); } #line 59274 "preproc.c" break; case 2765: /* reserved_keyword: USER */ #line 15420 "preproc.y" { (yyval.str) = mm_strdup("user"); } #line 59282 "preproc.c" break; case 2766: /* reserved_keyword: USING */ #line 15424 "preproc.y" { (yyval.str) = mm_strdup("using"); } #line 59290 "preproc.c" break; case 2767: /* reserved_keyword: VARIADIC */ #line 15428 "preproc.y" { (yyval.str) = mm_strdup("variadic"); } #line 59298 "preproc.c" break; case 2768: /* reserved_keyword: WHEN */ #line 15432 "preproc.y" { (yyval.str) = mm_strdup("when"); } #line 59306 "preproc.c" break; case 2769: /* reserved_keyword: WHERE */ #line 15436 "preproc.y" { (yyval.str) = mm_strdup("where"); } #line 59314 "preproc.c" break; case 2770: /* reserved_keyword: WINDOW */ #line 15440 "preproc.y" { (yyval.str) = mm_strdup("window"); } #line 59322 "preproc.c" break; case 2771: /* reserved_keyword: WITH */ #line 15444 "preproc.y" { (yyval.str) = mm_strdup("with"); } #line 59330 "preproc.c" break; case 2772: /* bare_label_keyword: ABORT_P */ #line 15452 "preproc.y" { (yyval.str) = mm_strdup("abort"); } #line 59338 "preproc.c" break; case 2773: /* bare_label_keyword: ABSOLUTE_P */ #line 15456 "preproc.y" { (yyval.str) = mm_strdup("absolute"); } #line 59346 "preproc.c" break; case 2774: /* bare_label_keyword: ACCESS */ #line 15460 "preproc.y" { (yyval.str) = mm_strdup("access"); } #line 59354 "preproc.c" break; case 2775: /* bare_label_keyword: ACTION */ #line 15464 "preproc.y" { (yyval.str) = mm_strdup("action"); } #line 59362 "preproc.c" break; case 2776: /* bare_label_keyword: ADD_P */ #line 15468 "preproc.y" { (yyval.str) = mm_strdup("add"); } #line 59370 "preproc.c" break; case 2777: /* bare_label_keyword: ADMIN */ #line 15472 "preproc.y" { (yyval.str) = mm_strdup("admin"); } #line 59378 "preproc.c" break; case 2778: /* bare_label_keyword: AFTER */ #line 15476 "preproc.y" { (yyval.str) = mm_strdup("after"); } #line 59386 "preproc.c" break; case 2779: /* bare_label_keyword: AGGREGATE */ #line 15480 "preproc.y" { (yyval.str) = mm_strdup("aggregate"); } #line 59394 "preproc.c" break; case 2780: /* bare_label_keyword: ALL */ #line 15484 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 59402 "preproc.c" break; case 2781: /* bare_label_keyword: ALSO */ #line 15488 "preproc.y" { (yyval.str) = mm_strdup("also"); } #line 59410 "preproc.c" break; case 2782: /* bare_label_keyword: ALTER */ #line 15492 "preproc.y" { (yyval.str) = mm_strdup("alter"); } #line 59418 "preproc.c" break; case 2783: /* bare_label_keyword: ALWAYS */ #line 15496 "preproc.y" { (yyval.str) = mm_strdup("always"); } #line 59426 "preproc.c" break; case 2784: /* bare_label_keyword: ANALYSE */ #line 15500 "preproc.y" { (yyval.str) = mm_strdup("analyse"); } #line 59434 "preproc.c" break; case 2785: /* bare_label_keyword: ANALYZE */ #line 15504 "preproc.y" { (yyval.str) = mm_strdup("analyze"); } #line 59442 "preproc.c" break; case 2786: /* bare_label_keyword: AND */ #line 15508 "preproc.y" { (yyval.str) = mm_strdup("and"); } #line 59450 "preproc.c" break; case 2787: /* bare_label_keyword: ANY */ #line 15512 "preproc.y" { (yyval.str) = mm_strdup("any"); } #line 59458 "preproc.c" break; case 2788: /* bare_label_keyword: ASC */ #line 15516 "preproc.y" { (yyval.str) = mm_strdup("asc"); } #line 59466 "preproc.c" break; case 2789: /* bare_label_keyword: ASENSITIVE */ #line 15520 "preproc.y" { (yyval.str) = mm_strdup("asensitive"); } #line 59474 "preproc.c" break; case 2790: /* bare_label_keyword: ASSERTION */ #line 15524 "preproc.y" { (yyval.str) = mm_strdup("assertion"); } #line 59482 "preproc.c" break; case 2791: /* bare_label_keyword: ASSIGNMENT */ #line 15528 "preproc.y" { (yyval.str) = mm_strdup("assignment"); } #line 59490 "preproc.c" break; case 2792: /* bare_label_keyword: ASYMMETRIC */ #line 15532 "preproc.y" { (yyval.str) = mm_strdup("asymmetric"); } #line 59498 "preproc.c" break; case 2793: /* bare_label_keyword: AT */ #line 15536 "preproc.y" { (yyval.str) = mm_strdup("at"); } #line 59506 "preproc.c" break; case 2794: /* bare_label_keyword: ATOMIC */ #line 15540 "preproc.y" { (yyval.str) = mm_strdup("atomic"); } #line 59514 "preproc.c" break; case 2795: /* bare_label_keyword: ATTACH */ #line 15544 "preproc.y" { (yyval.str) = mm_strdup("attach"); } #line 59522 "preproc.c" break; case 2796: /* bare_label_keyword: ATTRIBUTE */ #line 15548 "preproc.y" { (yyval.str) = mm_strdup("attribute"); } #line 59530 "preproc.c" break; case 2797: /* bare_label_keyword: AUTHORIZATION */ #line 15552 "preproc.y" { (yyval.str) = mm_strdup("authorization"); } #line 59538 "preproc.c" break; case 2798: /* bare_label_keyword: BACKWARD */ #line 15556 "preproc.y" { (yyval.str) = mm_strdup("backward"); } #line 59546 "preproc.c" break; case 2799: /* bare_label_keyword: BEFORE */ #line 15560 "preproc.y" { (yyval.str) = mm_strdup("before"); } #line 59554 "preproc.c" break; case 2800: /* bare_label_keyword: BEGIN_P */ #line 15564 "preproc.y" { (yyval.str) = mm_strdup("begin"); } #line 59562 "preproc.c" break; case 2801: /* bare_label_keyword: BETWEEN */ #line 15568 "preproc.y" { (yyval.str) = mm_strdup("between"); } #line 59570 "preproc.c" break; case 2802: /* bare_label_keyword: BIGINT */ #line 15572 "preproc.y" { (yyval.str) = mm_strdup("bigint"); } #line 59578 "preproc.c" break; case 2803: /* bare_label_keyword: BINARY */ #line 15576 "preproc.y" { (yyval.str) = mm_strdup("binary"); } #line 59586 "preproc.c" break; case 2804: /* bare_label_keyword: BIT */ #line 15580 "preproc.y" { (yyval.str) = mm_strdup("bit"); } #line 59594 "preproc.c" break; case 2805: /* bare_label_keyword: BOOLEAN_P */ #line 15584 "preproc.y" { (yyval.str) = mm_strdup("boolean"); } #line 59602 "preproc.c" break; case 2806: /* bare_label_keyword: BOTH */ #line 15588 "preproc.y" { (yyval.str) = mm_strdup("both"); } #line 59610 "preproc.c" break; case 2807: /* bare_label_keyword: BREADTH */ #line 15592 "preproc.y" { (yyval.str) = mm_strdup("breadth"); } #line 59618 "preproc.c" break; case 2808: /* bare_label_keyword: BY */ #line 15596 "preproc.y" { (yyval.str) = mm_strdup("by"); } #line 59626 "preproc.c" break; case 2809: /* bare_label_keyword: CACHE */ #line 15600 "preproc.y" { (yyval.str) = mm_strdup("cache"); } #line 59634 "preproc.c" break; case 2810: /* bare_label_keyword: CALL */ #line 15604 "preproc.y" { (yyval.str) = mm_strdup("call"); } #line 59642 "preproc.c" break; case 2811: /* bare_label_keyword: CALLED */ #line 15608 "preproc.y" { (yyval.str) = mm_strdup("called"); } #line 59650 "preproc.c" break; case 2812: /* bare_label_keyword: CASCADE */ #line 15612 "preproc.y" { (yyval.str) = mm_strdup("cascade"); } #line 59658 "preproc.c" break; case 2813: /* bare_label_keyword: CASCADED */ #line 15616 "preproc.y" { (yyval.str) = mm_strdup("cascaded"); } #line 59666 "preproc.c" break; case 2814: /* bare_label_keyword: CASE */ #line 15620 "preproc.y" { (yyval.str) = mm_strdup("case"); } #line 59674 "preproc.c" break; case 2815: /* bare_label_keyword: CAST */ #line 15624 "preproc.y" { (yyval.str) = mm_strdup("cast"); } #line 59682 "preproc.c" break; case 2816: /* bare_label_keyword: CATALOG_P */ #line 15628 "preproc.y" { (yyval.str) = mm_strdup("catalog"); } #line 59690 "preproc.c" break; case 2817: /* bare_label_keyword: CHAIN */ #line 15632 "preproc.y" { (yyval.str) = mm_strdup("chain"); } #line 59698 "preproc.c" break; case 2818: /* bare_label_keyword: CHARACTERISTICS */ #line 15636 "preproc.y" { (yyval.str) = mm_strdup("characteristics"); } #line 59706 "preproc.c" break; case 2819: /* bare_label_keyword: CHECK */ #line 15640 "preproc.y" { (yyval.str) = mm_strdup("check"); } #line 59714 "preproc.c" break; case 2820: /* bare_label_keyword: CHECKPOINT */ #line 15644 "preproc.y" { (yyval.str) = mm_strdup("checkpoint"); } #line 59722 "preproc.c" break; case 2821: /* bare_label_keyword: CLASS */ #line 15648 "preproc.y" { (yyval.str) = mm_strdup("class"); } #line 59730 "preproc.c" break; case 2822: /* bare_label_keyword: CLOSE */ #line 15652 "preproc.y" { (yyval.str) = mm_strdup("close"); } #line 59738 "preproc.c" break; case 2823: /* bare_label_keyword: CLUSTER */ #line 15656 "preproc.y" { (yyval.str) = mm_strdup("cluster"); } #line 59746 "preproc.c" break; case 2824: /* bare_label_keyword: COALESCE */ #line 15660 "preproc.y" { (yyval.str) = mm_strdup("coalesce"); } #line 59754 "preproc.c" break; case 2825: /* bare_label_keyword: COLLATE */ #line 15664 "preproc.y" { (yyval.str) = mm_strdup("collate"); } #line 59762 "preproc.c" break; case 2826: /* bare_label_keyword: COLLATION */ #line 15668 "preproc.y" { (yyval.str) = mm_strdup("collation"); } #line 59770 "preproc.c" break; case 2827: /* bare_label_keyword: COLUMN */ #line 15672 "preproc.y" { (yyval.str) = mm_strdup("column"); } #line 59778 "preproc.c" break; case 2828: /* bare_label_keyword: COLUMNS */ #line 15676 "preproc.y" { (yyval.str) = mm_strdup("columns"); } #line 59786 "preproc.c" break; case 2829: /* bare_label_keyword: COMMENT */ #line 15680 "preproc.y" { (yyval.str) = mm_strdup("comment"); } #line 59794 "preproc.c" break; case 2830: /* bare_label_keyword: COMMENTS */ #line 15684 "preproc.y" { (yyval.str) = mm_strdup("comments"); } #line 59802 "preproc.c" break; case 2831: /* bare_label_keyword: COMMIT */ #line 15688 "preproc.y" { (yyval.str) = mm_strdup("commit"); } #line 59810 "preproc.c" break; case 2832: /* bare_label_keyword: COMMITTED */ #line 15692 "preproc.y" { (yyval.str) = mm_strdup("committed"); } #line 59818 "preproc.c" break; case 2833: /* bare_label_keyword: COMPRESSION */ #line 15696 "preproc.y" { (yyval.str) = mm_strdup("compression"); } #line 59826 "preproc.c" break; case 2834: /* bare_label_keyword: CONCURRENTLY */ #line 15700 "preproc.y" { (yyval.str) = mm_strdup("concurrently"); } #line 59834 "preproc.c" break; case 2835: /* bare_label_keyword: CONFIGURATION */ #line 15704 "preproc.y" { (yyval.str) = mm_strdup("configuration"); } #line 59842 "preproc.c" break; case 2836: /* bare_label_keyword: CONFLICT */ #line 15708 "preproc.y" { (yyval.str) = mm_strdup("conflict"); } #line 59850 "preproc.c" break; case 2837: /* bare_label_keyword: CONNECTION */ #line 15712 "preproc.y" { (yyval.str) = mm_strdup("connection"); } #line 59858 "preproc.c" break; case 2838: /* bare_label_keyword: CONSTRAINT */ #line 15716 "preproc.y" { (yyval.str) = mm_strdup("constraint"); } #line 59866 "preproc.c" break; case 2839: /* bare_label_keyword: CONSTRAINTS */ #line 15720 "preproc.y" { (yyval.str) = mm_strdup("constraints"); } #line 59874 "preproc.c" break; case 2840: /* bare_label_keyword: CONTENT_P */ #line 15724 "preproc.y" { (yyval.str) = mm_strdup("content"); } #line 59882 "preproc.c" break; case 2841: /* bare_label_keyword: CONTINUE_P */ #line 15728 "preproc.y" { (yyval.str) = mm_strdup("continue"); } #line 59890 "preproc.c" break; case 2842: /* bare_label_keyword: CONVERSION_P */ #line 15732 "preproc.y" { (yyval.str) = mm_strdup("conversion"); } #line 59898 "preproc.c" break; case 2843: /* bare_label_keyword: COPY */ #line 15736 "preproc.y" { (yyval.str) = mm_strdup("copy"); } #line 59906 "preproc.c" break; case 2844: /* bare_label_keyword: COST */ #line 15740 "preproc.y" { (yyval.str) = mm_strdup("cost"); } #line 59914 "preproc.c" break; case 2845: /* bare_label_keyword: CROSS */ #line 15744 "preproc.y" { (yyval.str) = mm_strdup("cross"); } #line 59922 "preproc.c" break; case 2846: /* bare_label_keyword: CSV */ #line 15748 "preproc.y" { (yyval.str) = mm_strdup("csv"); } #line 59930 "preproc.c" break; case 2847: /* bare_label_keyword: CUBE */ #line 15752 "preproc.y" { (yyval.str) = mm_strdup("cube"); } #line 59938 "preproc.c" break; case 2848: /* bare_label_keyword: CURRENT_P */ #line 15756 "preproc.y" { (yyval.str) = mm_strdup("current"); } #line 59946 "preproc.c" break; case 2849: /* bare_label_keyword: CURRENT_CATALOG */ #line 15760 "preproc.y" { (yyval.str) = mm_strdup("current_catalog"); } #line 59954 "preproc.c" break; case 2850: /* bare_label_keyword: CURRENT_DATE */ #line 15764 "preproc.y" { (yyval.str) = mm_strdup("current_date"); } #line 59962 "preproc.c" break; case 2851: /* bare_label_keyword: CURRENT_ROLE */ #line 15768 "preproc.y" { (yyval.str) = mm_strdup("current_role"); } #line 59970 "preproc.c" break; case 2852: /* bare_label_keyword: CURRENT_SCHEMA */ #line 15772 "preproc.y" { (yyval.str) = mm_strdup("current_schema"); } #line 59978 "preproc.c" break; case 2853: /* bare_label_keyword: CURRENT_TIME */ #line 15776 "preproc.y" { (yyval.str) = mm_strdup("current_time"); } #line 59986 "preproc.c" break; case 2854: /* bare_label_keyword: CURRENT_TIMESTAMP */ #line 15780 "preproc.y" { (yyval.str) = mm_strdup("current_timestamp"); } #line 59994 "preproc.c" break; case 2855: /* bare_label_keyword: CURRENT_USER */ #line 15784 "preproc.y" { (yyval.str) = mm_strdup("current_user"); } #line 60002 "preproc.c" break; case 2856: /* bare_label_keyword: CURSOR */ #line 15788 "preproc.y" { (yyval.str) = mm_strdup("cursor"); } #line 60010 "preproc.c" break; case 2857: /* bare_label_keyword: CYCLE */ #line 15792 "preproc.y" { (yyval.str) = mm_strdup("cycle"); } #line 60018 "preproc.c" break; case 2858: /* bare_label_keyword: DATA_P */ #line 15796 "preproc.y" { (yyval.str) = mm_strdup("data"); } #line 60026 "preproc.c" break; case 2859: /* bare_label_keyword: DATABASE */ #line 15800 "preproc.y" { (yyval.str) = mm_strdup("database"); } #line 60034 "preproc.c" break; case 2860: /* bare_label_keyword: DEALLOCATE */ #line 15804 "preproc.y" { (yyval.str) = mm_strdup("deallocate"); } #line 60042 "preproc.c" break; case 2861: /* bare_label_keyword: DEC */ #line 15808 "preproc.y" { (yyval.str) = mm_strdup("dec"); } #line 60050 "preproc.c" break; case 2862: /* bare_label_keyword: DECIMAL_P */ #line 15812 "preproc.y" { (yyval.str) = mm_strdup("decimal"); } #line 60058 "preproc.c" break; case 2863: /* bare_label_keyword: DECLARE */ #line 15816 "preproc.y" { (yyval.str) = mm_strdup("declare"); } #line 60066 "preproc.c" break; case 2864: /* bare_label_keyword: DEFAULT */ #line 15820 "preproc.y" { (yyval.str) = mm_strdup("default"); } #line 60074 "preproc.c" break; case 2865: /* bare_label_keyword: DEFAULTS */ #line 15824 "preproc.y" { (yyval.str) = mm_strdup("defaults"); } #line 60082 "preproc.c" break; case 2866: /* bare_label_keyword: DEFERRABLE */ #line 15828 "preproc.y" { (yyval.str) = mm_strdup("deferrable"); } #line 60090 "preproc.c" break; case 2867: /* bare_label_keyword: DEFERRED */ #line 15832 "preproc.y" { (yyval.str) = mm_strdup("deferred"); } #line 60098 "preproc.c" break; case 2868: /* bare_label_keyword: DEFINER */ #line 15836 "preproc.y" { (yyval.str) = mm_strdup("definer"); } #line 60106 "preproc.c" break; case 2869: /* bare_label_keyword: DELETE_P */ #line 15840 "preproc.y" { (yyval.str) = mm_strdup("delete"); } #line 60114 "preproc.c" break; case 2870: /* bare_label_keyword: DELIMITER */ #line 15844 "preproc.y" { (yyval.str) = mm_strdup("delimiter"); } #line 60122 "preproc.c" break; case 2871: /* bare_label_keyword: DELIMITERS */ #line 15848 "preproc.y" { (yyval.str) = mm_strdup("delimiters"); } #line 60130 "preproc.c" break; case 2872: /* bare_label_keyword: DEPENDS */ #line 15852 "preproc.y" { (yyval.str) = mm_strdup("depends"); } #line 60138 "preproc.c" break; case 2873: /* bare_label_keyword: DEPTH */ #line 15856 "preproc.y" { (yyval.str) = mm_strdup("depth"); } #line 60146 "preproc.c" break; case 2874: /* bare_label_keyword: DESC */ #line 15860 "preproc.y" { (yyval.str) = mm_strdup("desc"); } #line 60154 "preproc.c" break; case 2875: /* bare_label_keyword: DETACH */ #line 15864 "preproc.y" { (yyval.str) = mm_strdup("detach"); } #line 60162 "preproc.c" break; case 2876: /* bare_label_keyword: DICTIONARY */ #line 15868 "preproc.y" { (yyval.str) = mm_strdup("dictionary"); } #line 60170 "preproc.c" break; case 2877: /* bare_label_keyword: DISABLE_P */ #line 15872 "preproc.y" { (yyval.str) = mm_strdup("disable"); } #line 60178 "preproc.c" break; case 2878: /* bare_label_keyword: DISCARD */ #line 15876 "preproc.y" { (yyval.str) = mm_strdup("discard"); } #line 60186 "preproc.c" break; case 2879: /* bare_label_keyword: DISTINCT */ #line 15880 "preproc.y" { (yyval.str) = mm_strdup("distinct"); } #line 60194 "preproc.c" break; case 2880: /* bare_label_keyword: DO */ #line 15884 "preproc.y" { (yyval.str) = mm_strdup("do"); } #line 60202 "preproc.c" break; case 2881: /* bare_label_keyword: DOCUMENT_P */ #line 15888 "preproc.y" { (yyval.str) = mm_strdup("document"); } #line 60210 "preproc.c" break; case 2882: /* bare_label_keyword: DOMAIN_P */ #line 15892 "preproc.y" { (yyval.str) = mm_strdup("domain"); } #line 60218 "preproc.c" break; case 2883: /* bare_label_keyword: DOUBLE_P */ #line 15896 "preproc.y" { (yyval.str) = mm_strdup("double"); } #line 60226 "preproc.c" break; case 2884: /* bare_label_keyword: DROP */ #line 15900 "preproc.y" { (yyval.str) = mm_strdup("drop"); } #line 60234 "preproc.c" break; case 2885: /* bare_label_keyword: EACH */ #line 15904 "preproc.y" { (yyval.str) = mm_strdup("each"); } #line 60242 "preproc.c" break; case 2886: /* bare_label_keyword: ELSE */ #line 15908 "preproc.y" { (yyval.str) = mm_strdup("else"); } #line 60250 "preproc.c" break; case 2887: /* bare_label_keyword: ENABLE_P */ #line 15912 "preproc.y" { (yyval.str) = mm_strdup("enable"); } #line 60258 "preproc.c" break; case 2888: /* bare_label_keyword: ENCODING */ #line 15916 "preproc.y" { (yyval.str) = mm_strdup("encoding"); } #line 60266 "preproc.c" break; case 2889: /* bare_label_keyword: ENCRYPTED */ #line 15920 "preproc.y" { (yyval.str) = mm_strdup("encrypted"); } #line 60274 "preproc.c" break; case 2890: /* bare_label_keyword: END_P */ #line 15924 "preproc.y" { (yyval.str) = mm_strdup("end"); } #line 60282 "preproc.c" break; case 2891: /* bare_label_keyword: ENUM_P */ #line 15928 "preproc.y" { (yyval.str) = mm_strdup("enum"); } #line 60290 "preproc.c" break; case 2892: /* bare_label_keyword: ESCAPE */ #line 15932 "preproc.y" { (yyval.str) = mm_strdup("escape"); } #line 60298 "preproc.c" break; case 2893: /* bare_label_keyword: EVENT */ #line 15936 "preproc.y" { (yyval.str) = mm_strdup("event"); } #line 60306 "preproc.c" break; case 2894: /* bare_label_keyword: EXCLUDE */ #line 15940 "preproc.y" { (yyval.str) = mm_strdup("exclude"); } #line 60314 "preproc.c" break; case 2895: /* bare_label_keyword: EXCLUDING */ #line 15944 "preproc.y" { (yyval.str) = mm_strdup("excluding"); } #line 60322 "preproc.c" break; case 2896: /* bare_label_keyword: EXCLUSIVE */ #line 15948 "preproc.y" { (yyval.str) = mm_strdup("exclusive"); } #line 60330 "preproc.c" break; case 2897: /* bare_label_keyword: EXECUTE */ #line 15952 "preproc.y" { (yyval.str) = mm_strdup("execute"); } #line 60338 "preproc.c" break; case 2898: /* bare_label_keyword: EXISTS */ #line 15956 "preproc.y" { (yyval.str) = mm_strdup("exists"); } #line 60346 "preproc.c" break; case 2899: /* bare_label_keyword: EXPLAIN */ #line 15960 "preproc.y" { (yyval.str) = mm_strdup("explain"); } #line 60354 "preproc.c" break; case 2900: /* bare_label_keyword: EXPRESSION */ #line 15964 "preproc.y" { (yyval.str) = mm_strdup("expression"); } #line 60362 "preproc.c" break; case 2901: /* bare_label_keyword: EXTENSION */ #line 15968 "preproc.y" { (yyval.str) = mm_strdup("extension"); } #line 60370 "preproc.c" break; case 2902: /* bare_label_keyword: EXTERNAL */ #line 15972 "preproc.y" { (yyval.str) = mm_strdup("external"); } #line 60378 "preproc.c" break; case 2903: /* bare_label_keyword: EXTRACT */ #line 15976 "preproc.y" { (yyval.str) = mm_strdup("extract"); } #line 60386 "preproc.c" break; case 2904: /* bare_label_keyword: FALSE_P */ #line 15980 "preproc.y" { (yyval.str) = mm_strdup("false"); } #line 60394 "preproc.c" break; case 2905: /* bare_label_keyword: FAMILY */ #line 15984 "preproc.y" { (yyval.str) = mm_strdup("family"); } #line 60402 "preproc.c" break; case 2906: /* bare_label_keyword: FINALIZE */ #line 15988 "preproc.y" { (yyval.str) = mm_strdup("finalize"); } #line 60410 "preproc.c" break; case 2907: /* bare_label_keyword: FIRST_P */ #line 15992 "preproc.y" { (yyval.str) = mm_strdup("first"); } #line 60418 "preproc.c" break; case 2908: /* bare_label_keyword: FLOAT_P */ #line 15996 "preproc.y" { (yyval.str) = mm_strdup("float"); } #line 60426 "preproc.c" break; case 2909: /* bare_label_keyword: FOLLOWING */ #line 16000 "preproc.y" { (yyval.str) = mm_strdup("following"); } #line 60434 "preproc.c" break; case 2910: /* bare_label_keyword: FORCE */ #line 16004 "preproc.y" { (yyval.str) = mm_strdup("force"); } #line 60442 "preproc.c" break; case 2911: /* bare_label_keyword: FOREIGN */ #line 16008 "preproc.y" { (yyval.str) = mm_strdup("foreign"); } #line 60450 "preproc.c" break; case 2912: /* bare_label_keyword: FORWARD */ #line 16012 "preproc.y" { (yyval.str) = mm_strdup("forward"); } #line 60458 "preproc.c" break; case 2913: /* bare_label_keyword: FREEZE */ #line 16016 "preproc.y" { (yyval.str) = mm_strdup("freeze"); } #line 60466 "preproc.c" break; case 2914: /* bare_label_keyword: FULL */ #line 16020 "preproc.y" { (yyval.str) = mm_strdup("full"); } #line 60474 "preproc.c" break; case 2915: /* bare_label_keyword: FUNCTION */ #line 16024 "preproc.y" { (yyval.str) = mm_strdup("function"); } #line 60482 "preproc.c" break; case 2916: /* bare_label_keyword: FUNCTIONS */ #line 16028 "preproc.y" { (yyval.str) = mm_strdup("functions"); } #line 60490 "preproc.c" break; case 2917: /* bare_label_keyword: GENERATED */ #line 16032 "preproc.y" { (yyval.str) = mm_strdup("generated"); } #line 60498 "preproc.c" break; case 2918: /* bare_label_keyword: GLOBAL */ #line 16036 "preproc.y" { (yyval.str) = mm_strdup("global"); } #line 60506 "preproc.c" break; case 2919: /* bare_label_keyword: GRANTED */ #line 16040 "preproc.y" { (yyval.str) = mm_strdup("granted"); } #line 60514 "preproc.c" break; case 2920: /* bare_label_keyword: GREATEST */ #line 16044 "preproc.y" { (yyval.str) = mm_strdup("greatest"); } #line 60522 "preproc.c" break; case 2921: /* bare_label_keyword: GROUPING */ #line 16048 "preproc.y" { (yyval.str) = mm_strdup("grouping"); } #line 60530 "preproc.c" break; case 2922: /* bare_label_keyword: GROUPS */ #line 16052 "preproc.y" { (yyval.str) = mm_strdup("groups"); } #line 60538 "preproc.c" break; case 2923: /* bare_label_keyword: HANDLER */ #line 16056 "preproc.y" { (yyval.str) = mm_strdup("handler"); } #line 60546 "preproc.c" break; case 2924: /* bare_label_keyword: HEADER_P */ #line 16060 "preproc.y" { (yyval.str) = mm_strdup("header"); } #line 60554 "preproc.c" break; case 2925: /* bare_label_keyword: HOLD */ #line 16064 "preproc.y" { (yyval.str) = mm_strdup("hold"); } #line 60562 "preproc.c" break; case 2926: /* bare_label_keyword: IDENTITY_P */ #line 16068 "preproc.y" { (yyval.str) = mm_strdup("identity"); } #line 60570 "preproc.c" break; case 2927: /* bare_label_keyword: IF_P */ #line 16072 "preproc.y" { (yyval.str) = mm_strdup("if"); } #line 60578 "preproc.c" break; case 2928: /* bare_label_keyword: ILIKE */ #line 16076 "preproc.y" { (yyval.str) = mm_strdup("ilike"); } #line 60586 "preproc.c" break; case 2929: /* bare_label_keyword: IMMEDIATE */ #line 16080 "preproc.y" { (yyval.str) = mm_strdup("immediate"); } #line 60594 "preproc.c" break; case 2930: /* bare_label_keyword: IMMUTABLE */ #line 16084 "preproc.y" { (yyval.str) = mm_strdup("immutable"); } #line 60602 "preproc.c" break; case 2931: /* bare_label_keyword: IMPLICIT_P */ #line 16088 "preproc.y" { (yyval.str) = mm_strdup("implicit"); } #line 60610 "preproc.c" break; case 2932: /* bare_label_keyword: IMPORT_P */ #line 16092 "preproc.y" { (yyval.str) = mm_strdup("import"); } #line 60618 "preproc.c" break; case 2933: /* bare_label_keyword: IN_P */ #line 16096 "preproc.y" { (yyval.str) = mm_strdup("in"); } #line 60626 "preproc.c" break; case 2934: /* bare_label_keyword: INCLUDE */ #line 16100 "preproc.y" { (yyval.str) = mm_strdup("include"); } #line 60634 "preproc.c" break; case 2935: /* bare_label_keyword: INCLUDING */ #line 16104 "preproc.y" { (yyval.str) = mm_strdup("including"); } #line 60642 "preproc.c" break; case 2936: /* bare_label_keyword: INCREMENT */ #line 16108 "preproc.y" { (yyval.str) = mm_strdup("increment"); } #line 60650 "preproc.c" break; case 2937: /* bare_label_keyword: INDEX */ #line 16112 "preproc.y" { (yyval.str) = mm_strdup("index"); } #line 60658 "preproc.c" break; case 2938: /* bare_label_keyword: INDEXES */ #line 16116 "preproc.y" { (yyval.str) = mm_strdup("indexes"); } #line 60666 "preproc.c" break; case 2939: /* bare_label_keyword: INHERIT */ #line 16120 "preproc.y" { (yyval.str) = mm_strdup("inherit"); } #line 60674 "preproc.c" break; case 2940: /* bare_label_keyword: INHERITS */ #line 16124 "preproc.y" { (yyval.str) = mm_strdup("inherits"); } #line 60682 "preproc.c" break; case 2941: /* bare_label_keyword: INITIALLY */ #line 16128 "preproc.y" { (yyval.str) = mm_strdup("initially"); } #line 60690 "preproc.c" break; case 2942: /* bare_label_keyword: INLINE_P */ #line 16132 "preproc.y" { (yyval.str) = mm_strdup("inline"); } #line 60698 "preproc.c" break; case 2943: /* bare_label_keyword: INNER_P */ #line 16136 "preproc.y" { (yyval.str) = mm_strdup("inner"); } #line 60706 "preproc.c" break; case 2944: /* bare_label_keyword: INOUT */ #line 16140 "preproc.y" { (yyval.str) = mm_strdup("inout"); } #line 60714 "preproc.c" break; case 2945: /* bare_label_keyword: INPUT_P */ #line 16144 "preproc.y" { (yyval.str) = mm_strdup("input"); } #line 60722 "preproc.c" break; case 2946: /* bare_label_keyword: INSENSITIVE */ #line 16148 "preproc.y" { (yyval.str) = mm_strdup("insensitive"); } #line 60730 "preproc.c" break; case 2947: /* bare_label_keyword: INSERT */ #line 16152 "preproc.y" { (yyval.str) = mm_strdup("insert"); } #line 60738 "preproc.c" break; case 2948: /* bare_label_keyword: INSTEAD */ #line 16156 "preproc.y" { (yyval.str) = mm_strdup("instead"); } #line 60746 "preproc.c" break; case 2949: /* bare_label_keyword: INT_P */ #line 16160 "preproc.y" { (yyval.str) = mm_strdup("int"); } #line 60754 "preproc.c" break; case 2950: /* bare_label_keyword: INTEGER */ #line 16164 "preproc.y" { (yyval.str) = mm_strdup("integer"); } #line 60762 "preproc.c" break; case 2951: /* bare_label_keyword: INTERVAL */ #line 16168 "preproc.y" { (yyval.str) = mm_strdup("interval"); } #line 60770 "preproc.c" break; case 2952: /* bare_label_keyword: INVOKER */ #line 16172 "preproc.y" { (yyval.str) = mm_strdup("invoker"); } #line 60778 "preproc.c" break; case 2953: /* bare_label_keyword: IS */ #line 16176 "preproc.y" { (yyval.str) = mm_strdup("is"); } #line 60786 "preproc.c" break; case 2954: /* bare_label_keyword: ISOLATION */ #line 16180 "preproc.y" { (yyval.str) = mm_strdup("isolation"); } #line 60794 "preproc.c" break; case 2955: /* bare_label_keyword: JOIN */ #line 16184 "preproc.y" { (yyval.str) = mm_strdup("join"); } #line 60802 "preproc.c" break; case 2956: /* bare_label_keyword: KEY */ #line 16188 "preproc.y" { (yyval.str) = mm_strdup("key"); } #line 60810 "preproc.c" break; case 2957: /* bare_label_keyword: LABEL */ #line 16192 "preproc.y" { (yyval.str) = mm_strdup("label"); } #line 60818 "preproc.c" break; case 2958: /* bare_label_keyword: LANGUAGE */ #line 16196 "preproc.y" { (yyval.str) = mm_strdup("language"); } #line 60826 "preproc.c" break; case 2959: /* bare_label_keyword: LARGE_P */ #line 16200 "preproc.y" { (yyval.str) = mm_strdup("large"); } #line 60834 "preproc.c" break; case 2960: /* bare_label_keyword: LAST_P */ #line 16204 "preproc.y" { (yyval.str) = mm_strdup("last"); } #line 60842 "preproc.c" break; case 2961: /* bare_label_keyword: LATERAL_P */ #line 16208 "preproc.y" { (yyval.str) = mm_strdup("lateral"); } #line 60850 "preproc.c" break; case 2962: /* bare_label_keyword: LEADING */ #line 16212 "preproc.y" { (yyval.str) = mm_strdup("leading"); } #line 60858 "preproc.c" break; case 2963: /* bare_label_keyword: LEAKPROOF */ #line 16216 "preproc.y" { (yyval.str) = mm_strdup("leakproof"); } #line 60866 "preproc.c" break; case 2964: /* bare_label_keyword: LEAST */ #line 16220 "preproc.y" { (yyval.str) = mm_strdup("least"); } #line 60874 "preproc.c" break; case 2965: /* bare_label_keyword: LEFT */ #line 16224 "preproc.y" { (yyval.str) = mm_strdup("left"); } #line 60882 "preproc.c" break; case 2966: /* bare_label_keyword: LEVEL */ #line 16228 "preproc.y" { (yyval.str) = mm_strdup("level"); } #line 60890 "preproc.c" break; case 2967: /* bare_label_keyword: LIKE */ #line 16232 "preproc.y" { (yyval.str) = mm_strdup("like"); } #line 60898 "preproc.c" break; case 2968: /* bare_label_keyword: LISTEN */ #line 16236 "preproc.y" { (yyval.str) = mm_strdup("listen"); } #line 60906 "preproc.c" break; case 2969: /* bare_label_keyword: LOAD */ #line 16240 "preproc.y" { (yyval.str) = mm_strdup("load"); } #line 60914 "preproc.c" break; case 2970: /* bare_label_keyword: LOCAL */ #line 16244 "preproc.y" { (yyval.str) = mm_strdup("local"); } #line 60922 "preproc.c" break; case 2971: /* bare_label_keyword: LOCALTIME */ #line 16248 "preproc.y" { (yyval.str) = mm_strdup("localtime"); } #line 60930 "preproc.c" break; case 2972: /* bare_label_keyword: LOCALTIMESTAMP */ #line 16252 "preproc.y" { (yyval.str) = mm_strdup("localtimestamp"); } #line 60938 "preproc.c" break; case 2973: /* bare_label_keyword: LOCATION */ #line 16256 "preproc.y" { (yyval.str) = mm_strdup("location"); } #line 60946 "preproc.c" break; case 2974: /* bare_label_keyword: LOCK_P */ #line 16260 "preproc.y" { (yyval.str) = mm_strdup("lock"); } #line 60954 "preproc.c" break; case 2975: /* bare_label_keyword: LOCKED */ #line 16264 "preproc.y" { (yyval.str) = mm_strdup("locked"); } #line 60962 "preproc.c" break; case 2976: /* bare_label_keyword: LOGGED */ #line 16268 "preproc.y" { (yyval.str) = mm_strdup("logged"); } #line 60970 "preproc.c" break; case 2977: /* bare_label_keyword: MAPPING */ #line 16272 "preproc.y" { (yyval.str) = mm_strdup("mapping"); } #line 60978 "preproc.c" break; case 2978: /* bare_label_keyword: MATCH */ #line 16276 "preproc.y" { (yyval.str) = mm_strdup("match"); } #line 60986 "preproc.c" break; case 2979: /* bare_label_keyword: MATCHED */ #line 16280 "preproc.y" { (yyval.str) = mm_strdup("matched"); } #line 60994 "preproc.c" break; case 2980: /* bare_label_keyword: MATERIALIZED */ #line 16284 "preproc.y" { (yyval.str) = mm_strdup("materialized"); } #line 61002 "preproc.c" break; case 2981: /* bare_label_keyword: MAXVALUE */ #line 16288 "preproc.y" { (yyval.str) = mm_strdup("maxvalue"); } #line 61010 "preproc.c" break; case 2982: /* bare_label_keyword: MERGE */ #line 16292 "preproc.y" { (yyval.str) = mm_strdup("merge"); } #line 61018 "preproc.c" break; case 2983: /* bare_label_keyword: METHOD */ #line 16296 "preproc.y" { (yyval.str) = mm_strdup("method"); } #line 61026 "preproc.c" break; case 2984: /* bare_label_keyword: MINVALUE */ #line 16300 "preproc.y" { (yyval.str) = mm_strdup("minvalue"); } #line 61034 "preproc.c" break; case 2985: /* bare_label_keyword: MODE */ #line 16304 "preproc.y" { (yyval.str) = mm_strdup("mode"); } #line 61042 "preproc.c" break; case 2986: /* bare_label_keyword: MOVE */ #line 16308 "preproc.y" { (yyval.str) = mm_strdup("move"); } #line 61050 "preproc.c" break; case 2987: /* bare_label_keyword: NAME_P */ #line 16312 "preproc.y" { (yyval.str) = mm_strdup("name"); } #line 61058 "preproc.c" break; case 2988: /* bare_label_keyword: NAMES */ #line 16316 "preproc.y" { (yyval.str) = mm_strdup("names"); } #line 61066 "preproc.c" break; case 2989: /* bare_label_keyword: NATIONAL */ #line 16320 "preproc.y" { (yyval.str) = mm_strdup("national"); } #line 61074 "preproc.c" break; case 2990: /* bare_label_keyword: NATURAL */ #line 16324 "preproc.y" { (yyval.str) = mm_strdup("natural"); } #line 61082 "preproc.c" break; case 2991: /* bare_label_keyword: NCHAR */ #line 16328 "preproc.y" { (yyval.str) = mm_strdup("nchar"); } #line 61090 "preproc.c" break; case 2992: /* bare_label_keyword: NEW */ #line 16332 "preproc.y" { (yyval.str) = mm_strdup("new"); } #line 61098 "preproc.c" break; case 2993: /* bare_label_keyword: NEXT */ #line 16336 "preproc.y" { (yyval.str) = mm_strdup("next"); } #line 61106 "preproc.c" break; case 2994: /* bare_label_keyword: NFC */ #line 16340 "preproc.y" { (yyval.str) = mm_strdup("nfc"); } #line 61114 "preproc.c" break; case 2995: /* bare_label_keyword: NFD */ #line 16344 "preproc.y" { (yyval.str) = mm_strdup("nfd"); } #line 61122 "preproc.c" break; case 2996: /* bare_label_keyword: NFKC */ #line 16348 "preproc.y" { (yyval.str) = mm_strdup("nfkc"); } #line 61130 "preproc.c" break; case 2997: /* bare_label_keyword: NFKD */ #line 16352 "preproc.y" { (yyval.str) = mm_strdup("nfkd"); } #line 61138 "preproc.c" break; case 2998: /* bare_label_keyword: NO */ #line 16356 "preproc.y" { (yyval.str) = mm_strdup("no"); } #line 61146 "preproc.c" break; case 2999: /* bare_label_keyword: NONE */ #line 16360 "preproc.y" { (yyval.str) = mm_strdup("none"); } #line 61154 "preproc.c" break; case 3000: /* bare_label_keyword: NORMALIZE */ #line 16364 "preproc.y" { (yyval.str) = mm_strdup("normalize"); } #line 61162 "preproc.c" break; case 3001: /* bare_label_keyword: NORMALIZED */ #line 16368 "preproc.y" { (yyval.str) = mm_strdup("normalized"); } #line 61170 "preproc.c" break; case 3002: /* bare_label_keyword: NOT */ #line 16372 "preproc.y" { (yyval.str) = mm_strdup("not"); } #line 61178 "preproc.c" break; case 3003: /* bare_label_keyword: NOTHING */ #line 16376 "preproc.y" { (yyval.str) = mm_strdup("nothing"); } #line 61186 "preproc.c" break; case 3004: /* bare_label_keyword: NOTIFY */ #line 16380 "preproc.y" { (yyval.str) = mm_strdup("notify"); } #line 61194 "preproc.c" break; case 3005: /* bare_label_keyword: NOWAIT */ #line 16384 "preproc.y" { (yyval.str) = mm_strdup("nowait"); } #line 61202 "preproc.c" break; case 3006: /* bare_label_keyword: NULL_P */ #line 16388 "preproc.y" { (yyval.str) = mm_strdup("null"); } #line 61210 "preproc.c" break; case 3007: /* bare_label_keyword: NULLIF */ #line 16392 "preproc.y" { (yyval.str) = mm_strdup("nullif"); } #line 61218 "preproc.c" break; case 3008: /* bare_label_keyword: NULLS_P */ #line 16396 "preproc.y" { (yyval.str) = mm_strdup("nulls"); } #line 61226 "preproc.c" break; case 3009: /* bare_label_keyword: NUMERIC */ #line 16400 "preproc.y" { (yyval.str) = mm_strdup("numeric"); } #line 61234 "preproc.c" break; case 3010: /* bare_label_keyword: OBJECT_P */ #line 16404 "preproc.y" { (yyval.str) = mm_strdup("object"); } #line 61242 "preproc.c" break; case 3011: /* bare_label_keyword: OF */ #line 16408 "preproc.y" { (yyval.str) = mm_strdup("of"); } #line 61250 "preproc.c" break; case 3012: /* bare_label_keyword: OFF */ #line 16412 "preproc.y" { (yyval.str) = mm_strdup("off"); } #line 61258 "preproc.c" break; case 3013: /* bare_label_keyword: OIDS */ #line 16416 "preproc.y" { (yyval.str) = mm_strdup("oids"); } #line 61266 "preproc.c" break; case 3014: /* bare_label_keyword: OLD */ #line 16420 "preproc.y" { (yyval.str) = mm_strdup("old"); } #line 61274 "preproc.c" break; case 3015: /* bare_label_keyword: ONLY */ #line 16424 "preproc.y" { (yyval.str) = mm_strdup("only"); } #line 61282 "preproc.c" break; case 3016: /* bare_label_keyword: OPERATOR */ #line 16428 "preproc.y" { (yyval.str) = mm_strdup("operator"); } #line 61290 "preproc.c" break; case 3017: /* bare_label_keyword: OPTION */ #line 16432 "preproc.y" { (yyval.str) = mm_strdup("option"); } #line 61298 "preproc.c" break; case 3018: /* bare_label_keyword: OPTIONS */ #line 16436 "preproc.y" { (yyval.str) = mm_strdup("options"); } #line 61306 "preproc.c" break; case 3019: /* bare_label_keyword: OR */ #line 16440 "preproc.y" { (yyval.str) = mm_strdup("or"); } #line 61314 "preproc.c" break; case 3020: /* bare_label_keyword: ORDINALITY */ #line 16444 "preproc.y" { (yyval.str) = mm_strdup("ordinality"); } #line 61322 "preproc.c" break; case 3021: /* bare_label_keyword: OTHERS */ #line 16448 "preproc.y" { (yyval.str) = mm_strdup("others"); } #line 61330 "preproc.c" break; case 3022: /* bare_label_keyword: OUT_P */ #line 16452 "preproc.y" { (yyval.str) = mm_strdup("out"); } #line 61338 "preproc.c" break; case 3023: /* bare_label_keyword: OUTER_P */ #line 16456 "preproc.y" { (yyval.str) = mm_strdup("outer"); } #line 61346 "preproc.c" break; case 3024: /* bare_label_keyword: OVERLAY */ #line 16460 "preproc.y" { (yyval.str) = mm_strdup("overlay"); } #line 61354 "preproc.c" break; case 3025: /* bare_label_keyword: OVERRIDING */ #line 16464 "preproc.y" { (yyval.str) = mm_strdup("overriding"); } #line 61362 "preproc.c" break; case 3026: /* bare_label_keyword: OWNED */ #line 16468 "preproc.y" { (yyval.str) = mm_strdup("owned"); } #line 61370 "preproc.c" break; case 3027: /* bare_label_keyword: OWNER */ #line 16472 "preproc.y" { (yyval.str) = mm_strdup("owner"); } #line 61378 "preproc.c" break; case 3028: /* bare_label_keyword: PARALLEL */ #line 16476 "preproc.y" { (yyval.str) = mm_strdup("parallel"); } #line 61386 "preproc.c" break; case 3029: /* bare_label_keyword: PARAMETER */ #line 16480 "preproc.y" { (yyval.str) = mm_strdup("parameter"); } #line 61394 "preproc.c" break; case 3030: /* bare_label_keyword: PARSER */ #line 16484 "preproc.y" { (yyval.str) = mm_strdup("parser"); } #line 61402 "preproc.c" break; case 3031: /* bare_label_keyword: PARTIAL */ #line 16488 "preproc.y" { (yyval.str) = mm_strdup("partial"); } #line 61410 "preproc.c" break; case 3032: /* bare_label_keyword: PARTITION */ #line 16492 "preproc.y" { (yyval.str) = mm_strdup("partition"); } #line 61418 "preproc.c" break; case 3033: /* bare_label_keyword: PASSING */ #line 16496 "preproc.y" { (yyval.str) = mm_strdup("passing"); } #line 61426 "preproc.c" break; case 3034: /* bare_label_keyword: PASSWORD */ #line 16500 "preproc.y" { (yyval.str) = mm_strdup("password"); } #line 61434 "preproc.c" break; case 3035: /* bare_label_keyword: PLACING */ #line 16504 "preproc.y" { (yyval.str) = mm_strdup("placing"); } #line 61442 "preproc.c" break; case 3036: /* bare_label_keyword: PLANS */ #line 16508 "preproc.y" { (yyval.str) = mm_strdup("plans"); } #line 61450 "preproc.c" break; case 3037: /* bare_label_keyword: POLICY */ #line 16512 "preproc.y" { (yyval.str) = mm_strdup("policy"); } #line 61458 "preproc.c" break; case 3038: /* bare_label_keyword: POSITION */ #line 16516 "preproc.y" { (yyval.str) = mm_strdup("position"); } #line 61466 "preproc.c" break; case 3039: /* bare_label_keyword: PRECEDING */ #line 16520 "preproc.y" { (yyval.str) = mm_strdup("preceding"); } #line 61474 "preproc.c" break; case 3040: /* bare_label_keyword: PREPARE */ #line 16524 "preproc.y" { (yyval.str) = mm_strdup("prepare"); } #line 61482 "preproc.c" break; case 3041: /* bare_label_keyword: PREPARED */ #line 16528 "preproc.y" { (yyval.str) = mm_strdup("prepared"); } #line 61490 "preproc.c" break; case 3042: /* bare_label_keyword: PRESERVE */ #line 16532 "preproc.y" { (yyval.str) = mm_strdup("preserve"); } #line 61498 "preproc.c" break; case 3043: /* bare_label_keyword: PRIMARY */ #line 16536 "preproc.y" { (yyval.str) = mm_strdup("primary"); } #line 61506 "preproc.c" break; case 3044: /* bare_label_keyword: PRIOR */ #line 16540 "preproc.y" { (yyval.str) = mm_strdup("prior"); } #line 61514 "preproc.c" break; case 3045: /* bare_label_keyword: PRIVILEGES */ #line 16544 "preproc.y" { (yyval.str) = mm_strdup("privileges"); } #line 61522 "preproc.c" break; case 3046: /* bare_label_keyword: PROCEDURAL */ #line 16548 "preproc.y" { (yyval.str) = mm_strdup("procedural"); } #line 61530 "preproc.c" break; case 3047: /* bare_label_keyword: PROCEDURE */ #line 16552 "preproc.y" { (yyval.str) = mm_strdup("procedure"); } #line 61538 "preproc.c" break; case 3048: /* bare_label_keyword: PROCEDURES */ #line 16556 "preproc.y" { (yyval.str) = mm_strdup("procedures"); } #line 61546 "preproc.c" break; case 3049: /* bare_label_keyword: PROGRAM */ #line 16560 "preproc.y" { (yyval.str) = mm_strdup("program"); } #line 61554 "preproc.c" break; case 3050: /* bare_label_keyword: PUBLICATION */ #line 16564 "preproc.y" { (yyval.str) = mm_strdup("publication"); } #line 61562 "preproc.c" break; case 3051: /* bare_label_keyword: QUOTE */ #line 16568 "preproc.y" { (yyval.str) = mm_strdup("quote"); } #line 61570 "preproc.c" break; case 3052: /* bare_label_keyword: RANGE */ #line 16572 "preproc.y" { (yyval.str) = mm_strdup("range"); } #line 61578 "preproc.c" break; case 3053: /* bare_label_keyword: READ */ #line 16576 "preproc.y" { (yyval.str) = mm_strdup("read"); } #line 61586 "preproc.c" break; case 3054: /* bare_label_keyword: REAL */ #line 16580 "preproc.y" { (yyval.str) = mm_strdup("real"); } #line 61594 "preproc.c" break; case 3055: /* bare_label_keyword: REASSIGN */ #line 16584 "preproc.y" { (yyval.str) = mm_strdup("reassign"); } #line 61602 "preproc.c" break; case 3056: /* bare_label_keyword: RECHECK */ #line 16588 "preproc.y" { (yyval.str) = mm_strdup("recheck"); } #line 61610 "preproc.c" break; case 3057: /* bare_label_keyword: RECURSIVE */ #line 16592 "preproc.y" { (yyval.str) = mm_strdup("recursive"); } #line 61618 "preproc.c" break; case 3058: /* bare_label_keyword: REF_P */ #line 16596 "preproc.y" { (yyval.str) = mm_strdup("ref"); } #line 61626 "preproc.c" break; case 3059: /* bare_label_keyword: REFERENCES */ #line 16600 "preproc.y" { (yyval.str) = mm_strdup("references"); } #line 61634 "preproc.c" break; case 3060: /* bare_label_keyword: REFERENCING */ #line 16604 "preproc.y" { (yyval.str) = mm_strdup("referencing"); } #line 61642 "preproc.c" break; case 3061: /* bare_label_keyword: REFRESH */ #line 16608 "preproc.y" { (yyval.str) = mm_strdup("refresh"); } #line 61650 "preproc.c" break; case 3062: /* bare_label_keyword: REINDEX */ #line 16612 "preproc.y" { (yyval.str) = mm_strdup("reindex"); } #line 61658 "preproc.c" break; case 3063: /* bare_label_keyword: RELATIVE_P */ #line 16616 "preproc.y" { (yyval.str) = mm_strdup("relative"); } #line 61666 "preproc.c" break; case 3064: /* bare_label_keyword: RELEASE */ #line 16620 "preproc.y" { (yyval.str) = mm_strdup("release"); } #line 61674 "preproc.c" break; case 3065: /* bare_label_keyword: RENAME */ #line 16624 "preproc.y" { (yyval.str) = mm_strdup("rename"); } #line 61682 "preproc.c" break; case 3066: /* bare_label_keyword: REPEATABLE */ #line 16628 "preproc.y" { (yyval.str) = mm_strdup("repeatable"); } #line 61690 "preproc.c" break; case 3067: /* bare_label_keyword: REPLACE */ #line 16632 "preproc.y" { (yyval.str) = mm_strdup("replace"); } #line 61698 "preproc.c" break; case 3068: /* bare_label_keyword: REPLICA */ #line 16636 "preproc.y" { (yyval.str) = mm_strdup("replica"); } #line 61706 "preproc.c" break; case 3069: /* bare_label_keyword: RESET */ #line 16640 "preproc.y" { (yyval.str) = mm_strdup("reset"); } #line 61714 "preproc.c" break; case 3070: /* bare_label_keyword: RESTART */ #line 16644 "preproc.y" { (yyval.str) = mm_strdup("restart"); } #line 61722 "preproc.c" break; case 3071: /* bare_label_keyword: RESTRICT */ #line 16648 "preproc.y" { (yyval.str) = mm_strdup("restrict"); } #line 61730 "preproc.c" break; case 3072: /* bare_label_keyword: RETURN */ #line 16652 "preproc.y" { (yyval.str) = mm_strdup("return"); } #line 61738 "preproc.c" break; case 3073: /* bare_label_keyword: RETURNS */ #line 16656 "preproc.y" { (yyval.str) = mm_strdup("returns"); } #line 61746 "preproc.c" break; case 3074: /* bare_label_keyword: REVOKE */ #line 16660 "preproc.y" { (yyval.str) = mm_strdup("revoke"); } #line 61754 "preproc.c" break; case 3075: /* bare_label_keyword: RIGHT */ #line 16664 "preproc.y" { (yyval.str) = mm_strdup("right"); } #line 61762 "preproc.c" break; case 3076: /* bare_label_keyword: ROLE */ #line 16668 "preproc.y" { (yyval.str) = mm_strdup("role"); } #line 61770 "preproc.c" break; case 3077: /* bare_label_keyword: ROLLBACK */ #line 16672 "preproc.y" { (yyval.str) = mm_strdup("rollback"); } #line 61778 "preproc.c" break; case 3078: /* bare_label_keyword: ROLLUP */ #line 16676 "preproc.y" { (yyval.str) = mm_strdup("rollup"); } #line 61786 "preproc.c" break; case 3079: /* bare_label_keyword: ROUTINE */ #line 16680 "preproc.y" { (yyval.str) = mm_strdup("routine"); } #line 61794 "preproc.c" break; case 3080: /* bare_label_keyword: ROUTINES */ #line 16684 "preproc.y" { (yyval.str) = mm_strdup("routines"); } #line 61802 "preproc.c" break; case 3081: /* bare_label_keyword: ROW */ #line 16688 "preproc.y" { (yyval.str) = mm_strdup("row"); } #line 61810 "preproc.c" break; case 3082: /* bare_label_keyword: ROWS */ #line 16692 "preproc.y" { (yyval.str) = mm_strdup("rows"); } #line 61818 "preproc.c" break; case 3083: /* bare_label_keyword: RULE */ #line 16696 "preproc.y" { (yyval.str) = mm_strdup("rule"); } #line 61826 "preproc.c" break; case 3084: /* bare_label_keyword: SAVEPOINT */ #line 16700 "preproc.y" { (yyval.str) = mm_strdup("savepoint"); } #line 61834 "preproc.c" break; case 3085: /* bare_label_keyword: SCHEMA */ #line 16704 "preproc.y" { (yyval.str) = mm_strdup("schema"); } #line 61842 "preproc.c" break; case 3086: /* bare_label_keyword: SCHEMAS */ #line 16708 "preproc.y" { (yyval.str) = mm_strdup("schemas"); } #line 61850 "preproc.c" break; case 3087: /* bare_label_keyword: SCROLL */ #line 16712 "preproc.y" { (yyval.str) = mm_strdup("scroll"); } #line 61858 "preproc.c" break; case 3088: /* bare_label_keyword: SEARCH */ #line 16716 "preproc.y" { (yyval.str) = mm_strdup("search"); } #line 61866 "preproc.c" break; case 3089: /* bare_label_keyword: SECURITY */ #line 16720 "preproc.y" { (yyval.str) = mm_strdup("security"); } #line 61874 "preproc.c" break; case 3090: /* bare_label_keyword: SELECT */ #line 16724 "preproc.y" { (yyval.str) = mm_strdup("select"); } #line 61882 "preproc.c" break; case 3091: /* bare_label_keyword: SEQUENCE */ #line 16728 "preproc.y" { (yyval.str) = mm_strdup("sequence"); } #line 61890 "preproc.c" break; case 3092: /* bare_label_keyword: SEQUENCES */ #line 16732 "preproc.y" { (yyval.str) = mm_strdup("sequences"); } #line 61898 "preproc.c" break; case 3093: /* bare_label_keyword: SERIALIZABLE */ #line 16736 "preproc.y" { (yyval.str) = mm_strdup("serializable"); } #line 61906 "preproc.c" break; case 3094: /* bare_label_keyword: SERVER */ #line 16740 "preproc.y" { (yyval.str) = mm_strdup("server"); } #line 61914 "preproc.c" break; case 3095: /* bare_label_keyword: SESSION */ #line 16744 "preproc.y" { (yyval.str) = mm_strdup("session"); } #line 61922 "preproc.c" break; case 3096: /* bare_label_keyword: SESSION_USER */ #line 16748 "preproc.y" { (yyval.str) = mm_strdup("session_user"); } #line 61930 "preproc.c" break; case 3097: /* bare_label_keyword: SET */ #line 16752 "preproc.y" { (yyval.str) = mm_strdup("set"); } #line 61938 "preproc.c" break; case 3098: /* bare_label_keyword: SETOF */ #line 16756 "preproc.y" { (yyval.str) = mm_strdup("setof"); } #line 61946 "preproc.c" break; case 3099: /* bare_label_keyword: SETS */ #line 16760 "preproc.y" { (yyval.str) = mm_strdup("sets"); } #line 61954 "preproc.c" break; case 3100: /* bare_label_keyword: SHARE */ #line 16764 "preproc.y" { (yyval.str) = mm_strdup("share"); } #line 61962 "preproc.c" break; case 3101: /* bare_label_keyword: SHOW */ #line 16768 "preproc.y" { (yyval.str) = mm_strdup("show"); } #line 61970 "preproc.c" break; case 3102: /* bare_label_keyword: SIMILAR */ #line 16772 "preproc.y" { (yyval.str) = mm_strdup("similar"); } #line 61978 "preproc.c" break; case 3103: /* bare_label_keyword: SIMPLE */ #line 16776 "preproc.y" { (yyval.str) = mm_strdup("simple"); } #line 61986 "preproc.c" break; case 3104: /* bare_label_keyword: SKIP */ #line 16780 "preproc.y" { (yyval.str) = mm_strdup("skip"); } #line 61994 "preproc.c" break; case 3105: /* bare_label_keyword: SMALLINT */ #line 16784 "preproc.y" { (yyval.str) = mm_strdup("smallint"); } #line 62002 "preproc.c" break; case 3106: /* bare_label_keyword: SNAPSHOT */ #line 16788 "preproc.y" { (yyval.str) = mm_strdup("snapshot"); } #line 62010 "preproc.c" break; case 3107: /* bare_label_keyword: SOME */ #line 16792 "preproc.y" { (yyval.str) = mm_strdup("some"); } #line 62018 "preproc.c" break; case 3108: /* bare_label_keyword: SQL_P */ #line 16796 "preproc.y" { (yyval.str) = mm_strdup("sql"); } #line 62026 "preproc.c" break; case 3109: /* bare_label_keyword: STABLE */ #line 16800 "preproc.y" { (yyval.str) = mm_strdup("stable"); } #line 62034 "preproc.c" break; case 3110: /* bare_label_keyword: STANDALONE_P */ #line 16804 "preproc.y" { (yyval.str) = mm_strdup("standalone"); } #line 62042 "preproc.c" break; case 3111: /* bare_label_keyword: START */ #line 16808 "preproc.y" { (yyval.str) = mm_strdup("start"); } #line 62050 "preproc.c" break; case 3112: /* bare_label_keyword: STATEMENT */ #line 16812 "preproc.y" { (yyval.str) = mm_strdup("statement"); } #line 62058 "preproc.c" break; case 3113: /* bare_label_keyword: STATISTICS */ #line 16816 "preproc.y" { (yyval.str) = mm_strdup("statistics"); } #line 62066 "preproc.c" break; case 3114: /* bare_label_keyword: STDIN */ #line 16820 "preproc.y" { (yyval.str) = mm_strdup("stdin"); } #line 62074 "preproc.c" break; case 3115: /* bare_label_keyword: STDOUT */ #line 16824 "preproc.y" { (yyval.str) = mm_strdup("stdout"); } #line 62082 "preproc.c" break; case 3116: /* bare_label_keyword: STORAGE */ #line 16828 "preproc.y" { (yyval.str) = mm_strdup("storage"); } #line 62090 "preproc.c" break; case 3117: /* bare_label_keyword: STORED */ #line 16832 "preproc.y" { (yyval.str) = mm_strdup("stored"); } #line 62098 "preproc.c" break; case 3118: /* bare_label_keyword: STRICT_P */ #line 16836 "preproc.y" { (yyval.str) = mm_strdup("strict"); } #line 62106 "preproc.c" break; case 3119: /* bare_label_keyword: STRIP_P */ #line 16840 "preproc.y" { (yyval.str) = mm_strdup("strip"); } #line 62114 "preproc.c" break; case 3120: /* bare_label_keyword: SUBSCRIPTION */ #line 16844 "preproc.y" { (yyval.str) = mm_strdup("subscription"); } #line 62122 "preproc.c" break; case 3121: /* bare_label_keyword: SUBSTRING */ #line 16848 "preproc.y" { (yyval.str) = mm_strdup("substring"); } #line 62130 "preproc.c" break; case 3122: /* bare_label_keyword: SUPPORT */ #line 16852 "preproc.y" { (yyval.str) = mm_strdup("support"); } #line 62138 "preproc.c" break; case 3123: /* bare_label_keyword: SYMMETRIC */ #line 16856 "preproc.y" { (yyval.str) = mm_strdup("symmetric"); } #line 62146 "preproc.c" break; case 3124: /* bare_label_keyword: SYSID */ #line 16860 "preproc.y" { (yyval.str) = mm_strdup("sysid"); } #line 62154 "preproc.c" break; case 3125: /* bare_label_keyword: SYSTEM_P */ #line 16864 "preproc.y" { (yyval.str) = mm_strdup("system"); } #line 62162 "preproc.c" break; case 3126: /* bare_label_keyword: TABLE */ #line 16868 "preproc.y" { (yyval.str) = mm_strdup("table"); } #line 62170 "preproc.c" break; case 3127: /* bare_label_keyword: TABLES */ #line 16872 "preproc.y" { (yyval.str) = mm_strdup("tables"); } #line 62178 "preproc.c" break; case 3128: /* bare_label_keyword: TABLESAMPLE */ #line 16876 "preproc.y" { (yyval.str) = mm_strdup("tablesample"); } #line 62186 "preproc.c" break; case 3129: /* bare_label_keyword: TABLESPACE */ #line 16880 "preproc.y" { (yyval.str) = mm_strdup("tablespace"); } #line 62194 "preproc.c" break; case 3130: /* bare_label_keyword: TEMP */ #line 16884 "preproc.y" { (yyval.str) = mm_strdup("temp"); } #line 62202 "preproc.c" break; case 3131: /* bare_label_keyword: TEMPLATE */ #line 16888 "preproc.y" { (yyval.str) = mm_strdup("template"); } #line 62210 "preproc.c" break; case 3132: /* bare_label_keyword: TEMPORARY */ #line 16892 "preproc.y" { (yyval.str) = mm_strdup("temporary"); } #line 62218 "preproc.c" break; case 3133: /* bare_label_keyword: TEXT_P */ #line 16896 "preproc.y" { (yyval.str) = mm_strdup("text"); } #line 62226 "preproc.c" break; case 3134: /* bare_label_keyword: THEN */ #line 16900 "preproc.y" { (yyval.str) = mm_strdup("then"); } #line 62234 "preproc.c" break; case 3135: /* bare_label_keyword: TIES */ #line 16904 "preproc.y" { (yyval.str) = mm_strdup("ties"); } #line 62242 "preproc.c" break; case 3136: /* bare_label_keyword: TIME */ #line 16908 "preproc.y" { (yyval.str) = mm_strdup("time"); } #line 62250 "preproc.c" break; case 3137: /* bare_label_keyword: TIMESTAMP */ #line 16912 "preproc.y" { (yyval.str) = mm_strdup("timestamp"); } #line 62258 "preproc.c" break; case 3138: /* bare_label_keyword: TRAILING */ #line 16916 "preproc.y" { (yyval.str) = mm_strdup("trailing"); } #line 62266 "preproc.c" break; case 3139: /* bare_label_keyword: TRANSACTION */ #line 16920 "preproc.y" { (yyval.str) = mm_strdup("transaction"); } #line 62274 "preproc.c" break; case 3140: /* bare_label_keyword: TRANSFORM */ #line 16924 "preproc.y" { (yyval.str) = mm_strdup("transform"); } #line 62282 "preproc.c" break; case 3141: /* bare_label_keyword: TREAT */ #line 16928 "preproc.y" { (yyval.str) = mm_strdup("treat"); } #line 62290 "preproc.c" break; case 3142: /* bare_label_keyword: TRIGGER */ #line 16932 "preproc.y" { (yyval.str) = mm_strdup("trigger"); } #line 62298 "preproc.c" break; case 3143: /* bare_label_keyword: TRIM */ #line 16936 "preproc.y" { (yyval.str) = mm_strdup("trim"); } #line 62306 "preproc.c" break; case 3144: /* bare_label_keyword: TRUE_P */ #line 16940 "preproc.y" { (yyval.str) = mm_strdup("true"); } #line 62314 "preproc.c" break; case 3145: /* bare_label_keyword: TRUNCATE */ #line 16944 "preproc.y" { (yyval.str) = mm_strdup("truncate"); } #line 62322 "preproc.c" break; case 3146: /* bare_label_keyword: TRUSTED */ #line 16948 "preproc.y" { (yyval.str) = mm_strdup("trusted"); } #line 62330 "preproc.c" break; case 3147: /* bare_label_keyword: TYPE_P */ #line 16952 "preproc.y" { (yyval.str) = mm_strdup("type"); } #line 62338 "preproc.c" break; case 3148: /* bare_label_keyword: TYPES_P */ #line 16956 "preproc.y" { (yyval.str) = mm_strdup("types"); } #line 62346 "preproc.c" break; case 3149: /* bare_label_keyword: UESCAPE */ #line 16960 "preproc.y" { (yyval.str) = mm_strdup("uescape"); } #line 62354 "preproc.c" break; case 3150: /* bare_label_keyword: UNBOUNDED */ #line 16964 "preproc.y" { (yyval.str) = mm_strdup("unbounded"); } #line 62362 "preproc.c" break; case 3151: /* bare_label_keyword: UNCOMMITTED */ #line 16968 "preproc.y" { (yyval.str) = mm_strdup("uncommitted"); } #line 62370 "preproc.c" break; case 3152: /* bare_label_keyword: UNENCRYPTED */ #line 16972 "preproc.y" { (yyval.str) = mm_strdup("unencrypted"); } #line 62378 "preproc.c" break; case 3153: /* bare_label_keyword: UNIQUE */ #line 16976 "preproc.y" { (yyval.str) = mm_strdup("unique"); } #line 62386 "preproc.c" break; case 3154: /* bare_label_keyword: UNKNOWN */ #line 16980 "preproc.y" { (yyval.str) = mm_strdup("unknown"); } #line 62394 "preproc.c" break; case 3155: /* bare_label_keyword: UNLISTEN */ #line 16984 "preproc.y" { (yyval.str) = mm_strdup("unlisten"); } #line 62402 "preproc.c" break; case 3156: /* bare_label_keyword: UNLOGGED */ #line 16988 "preproc.y" { (yyval.str) = mm_strdup("unlogged"); } #line 62410 "preproc.c" break; case 3157: /* bare_label_keyword: UNTIL */ #line 16992 "preproc.y" { (yyval.str) = mm_strdup("until"); } #line 62418 "preproc.c" break; case 3158: /* bare_label_keyword: UPDATE */ #line 16996 "preproc.y" { (yyval.str) = mm_strdup("update"); } #line 62426 "preproc.c" break; case 3159: /* bare_label_keyword: USER */ #line 17000 "preproc.y" { (yyval.str) = mm_strdup("user"); } #line 62434 "preproc.c" break; case 3160: /* bare_label_keyword: USING */ #line 17004 "preproc.y" { (yyval.str) = mm_strdup("using"); } #line 62442 "preproc.c" break; case 3161: /* bare_label_keyword: VACUUM */ #line 17008 "preproc.y" { (yyval.str) = mm_strdup("vacuum"); } #line 62450 "preproc.c" break; case 3162: /* bare_label_keyword: VALID */ #line 17012 "preproc.y" { (yyval.str) = mm_strdup("valid"); } #line 62458 "preproc.c" break; case 3163: /* bare_label_keyword: VALIDATE */ #line 17016 "preproc.y" { (yyval.str) = mm_strdup("validate"); } #line 62466 "preproc.c" break; case 3164: /* bare_label_keyword: VALIDATOR */ #line 17020 "preproc.y" { (yyval.str) = mm_strdup("validator"); } #line 62474 "preproc.c" break; case 3165: /* bare_label_keyword: VALUE_P */ #line 17024 "preproc.y" { (yyval.str) = mm_strdup("value"); } #line 62482 "preproc.c" break; case 3166: /* bare_label_keyword: VALUES */ #line 17028 "preproc.y" { (yyval.str) = mm_strdup("values"); } #line 62490 "preproc.c" break; case 3167: /* bare_label_keyword: VARCHAR */ #line 17032 "preproc.y" { (yyval.str) = mm_strdup("varchar"); } #line 62498 "preproc.c" break; case 3168: /* bare_label_keyword: VARIADIC */ #line 17036 "preproc.y" { (yyval.str) = mm_strdup("variadic"); } #line 62506 "preproc.c" break; case 3169: /* bare_label_keyword: VERBOSE */ #line 17040 "preproc.y" { (yyval.str) = mm_strdup("verbose"); } #line 62514 "preproc.c" break; case 3170: /* bare_label_keyword: VERSION_P */ #line 17044 "preproc.y" { (yyval.str) = mm_strdup("version"); } #line 62522 "preproc.c" break; case 3171: /* bare_label_keyword: VIEW */ #line 17048 "preproc.y" { (yyval.str) = mm_strdup("view"); } #line 62530 "preproc.c" break; case 3172: /* bare_label_keyword: VIEWS */ #line 17052 "preproc.y" { (yyval.str) = mm_strdup("views"); } #line 62538 "preproc.c" break; case 3173: /* bare_label_keyword: VOLATILE */ #line 17056 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } #line 62546 "preproc.c" break; case 3174: /* bare_label_keyword: WHEN */ #line 17060 "preproc.y" { (yyval.str) = mm_strdup("when"); } #line 62554 "preproc.c" break; case 3175: /* bare_label_keyword: WHITESPACE_P */ #line 17064 "preproc.y" { (yyval.str) = mm_strdup("whitespace"); } #line 62562 "preproc.c" break; case 3176: /* bare_label_keyword: WORK */ #line 17068 "preproc.y" { (yyval.str) = mm_strdup("work"); } #line 62570 "preproc.c" break; case 3177: /* bare_label_keyword: WRAPPER */ #line 17072 "preproc.y" { (yyval.str) = mm_strdup("wrapper"); } #line 62578 "preproc.c" break; case 3178: /* bare_label_keyword: WRITE */ #line 17076 "preproc.y" { (yyval.str) = mm_strdup("write"); } #line 62586 "preproc.c" break; case 3179: /* bare_label_keyword: XML_P */ #line 17080 "preproc.y" { (yyval.str) = mm_strdup("xml"); } #line 62594 "preproc.c" break; case 3180: /* bare_label_keyword: XMLATTRIBUTES */ #line 17084 "preproc.y" { (yyval.str) = mm_strdup("xmlattributes"); } #line 62602 "preproc.c" break; case 3181: /* bare_label_keyword: XMLCONCAT */ #line 17088 "preproc.y" { (yyval.str) = mm_strdup("xmlconcat"); } #line 62610 "preproc.c" break; case 3182: /* bare_label_keyword: XMLELEMENT */ #line 17092 "preproc.y" { (yyval.str) = mm_strdup("xmlelement"); } #line 62618 "preproc.c" break; case 3183: /* bare_label_keyword: XMLEXISTS */ #line 17096 "preproc.y" { (yyval.str) = mm_strdup("xmlexists"); } #line 62626 "preproc.c" break; case 3184: /* bare_label_keyword: XMLFOREST */ #line 17100 "preproc.y" { (yyval.str) = mm_strdup("xmlforest"); } #line 62634 "preproc.c" break; case 3185: /* bare_label_keyword: XMLNAMESPACES */ #line 17104 "preproc.y" { (yyval.str) = mm_strdup("xmlnamespaces"); } #line 62642 "preproc.c" break; case 3186: /* bare_label_keyword: XMLPARSE */ #line 17108 "preproc.y" { (yyval.str) = mm_strdup("xmlparse"); } #line 62650 "preproc.c" break; case 3187: /* bare_label_keyword: XMLPI */ #line 17112 "preproc.y" { (yyval.str) = mm_strdup("xmlpi"); } #line 62658 "preproc.c" break; case 3188: /* bare_label_keyword: XMLROOT */ #line 17116 "preproc.y" { (yyval.str) = mm_strdup("xmlroot"); } #line 62666 "preproc.c" break; case 3189: /* bare_label_keyword: XMLSERIALIZE */ #line 17120 "preproc.y" { (yyval.str) = mm_strdup("xmlserialize"); } #line 62674 "preproc.c" break; case 3190: /* bare_label_keyword: XMLTABLE */ #line 17124 "preproc.y" { (yyval.str) = mm_strdup("xmltable"); } #line 62682 "preproc.c" break; case 3191: /* bare_label_keyword: YES_P */ #line 17128 "preproc.y" { (yyval.str) = mm_strdup("yes"); } #line 62690 "preproc.c" break; case 3192: /* bare_label_keyword: ZONE */ #line 17132 "preproc.y" { (yyval.str) = mm_strdup("zone"); } #line 62698 "preproc.c" break; case 3195: /* statement: ecpgstart at toplevel_stmt ';' */ #line 17146 "preproc.y" { if (connection) free(connection); connection = NULL; } #line 62708 "preproc.c" break; case 3196: /* statement: ecpgstart toplevel_stmt ';' */ #line 17152 "preproc.y" { if (connection) free(connection); connection = NULL; } #line 62718 "preproc.c" break; case 3197: /* statement: ecpgstart ECPGVarDeclaration */ #line 17158 "preproc.y" { fprintf(base_yyout, "%s", (yyvsp[0].str)); free((yyvsp[0].str)); output_line_number(); } #line 62728 "preproc.c" break; case 3199: /* statement: c_thing */ #line 17164 "preproc.y" { fprintf(base_yyout, "%s", (yyvsp[0].str)); free((yyvsp[0].str)); } #line 62734 "preproc.c" break; case 3200: /* statement: CPP_LINE */ #line 17165 "preproc.y" { fprintf(base_yyout, "%s", (yyvsp[0].str)); free((yyvsp[0].str)); } #line 62740 "preproc.c" break; case 3201: /* statement: '{' */ #line 17166 "preproc.y" { braces_open++; fputs("{", base_yyout); } #line 62746 "preproc.c" break; case 3202: /* statement: '}' */ #line 17168 "preproc.y" { remove_typedefs(braces_open); remove_variables(braces_open--); if (braces_open == 0) { free(current_function); current_function = NULL; } fputs("}", base_yyout); } #line 62761 "preproc.c" break; case 3203: /* $@1: %empty */ #line 17180 "preproc.y" {FoundInto = 0;} #line 62767 "preproc.c" break; case 3204: /* CreateAsStmt: CREATE OptTemp TABLE create_as_target AS $@1 SelectStmt opt_with_data */ #line 17181 "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 62778 "preproc.c" break; case 3205: /* $@2: %empty */ #line 17187 "preproc.y" {FoundInto = 0;} #line 62784 "preproc.c" break; case 3206: /* CreateAsStmt: CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS $@2 SelectStmt opt_with_data */ #line 17188 "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 62795 "preproc.c" break; case 3207: /* at: AT connection_object */ #line 17197 "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 62809 "preproc.c" break; case 3208: /* ECPGConnect: SQL_CONNECT TO connection_target opt_connection_name opt_user */ #line 17212 "preproc.y" { (yyval.str) = cat_str(5, (yyvsp[-2].str), mm_strdup(","), (yyvsp[0].str), mm_strdup(","), (yyvsp[-1].str)); } #line 62815 "preproc.c" break; case 3209: /* ECPGConnect: SQL_CONNECT TO DEFAULT */ #line 17214 "preproc.y" { (yyval.str) = mm_strdup("NULL, NULL, NULL, \"DEFAULT\""); } #line 62821 "preproc.c" break; case 3210: /* ECPGConnect: SQL_CONNECT ora_user */ #line 17217 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("NULL,"), (yyvsp[0].str), mm_strdup(", NULL")); } #line 62827 "preproc.c" break; case 3211: /* ECPGConnect: DATABASE connection_target */ #line 17219 "preproc.y" { (yyval.str) = cat2_str((yyvsp[0].str), mm_strdup(", NULL, NULL, NULL")); } #line 62833 "preproc.c" break; case 3212: /* connection_target: opt_database_name opt_server opt_port */ #line 17223 "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 62849 "preproc.c" break; case 3213: /* connection_target: db_prefix ':' server opt_port '/' opt_database_name opt_options */ #line 17235 "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 62869 "preproc.c" break; case 3214: /* connection_target: char_variable */ #line 17251 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 62877 "preproc.c" break; case 3215: /* connection_target: ecpg_sconst */ #line 17255 "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 62890 "preproc.c" break; case 3216: /* opt_database_name: name */ #line 17265 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 62896 "preproc.c" break; case 3217: /* opt_database_name: %empty */ #line 17266 "preproc.y" { (yyval.str) = EMPTY; } #line 62902 "preproc.c" break; case 3218: /* db_prefix: ecpg_ident cvariable */ #line 17270 "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 62916 "preproc.c" break; case 3219: /* server: Op server_name */ #line 17282 "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 62927 "preproc.c" break; case 3220: /* opt_server: server */ #line 17290 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 62933 "preproc.c" break; case 3221: /* opt_server: %empty */ #line 17291 "preproc.y" { (yyval.str) = EMPTY; } #line 62939 "preproc.c" break; case 3222: /* server_name: ColId */ #line 17294 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 62945 "preproc.c" break; case 3223: /* server_name: ColId '.' server_name */ #line 17295 "preproc.y" { (yyval.str) = make3_str((yyvsp[-2].str), mm_strdup("."), (yyvsp[0].str)); } #line 62951 "preproc.c" break; case 3224: /* server_name: IP */ #line 17296 "preproc.y" { (yyval.str) = make_name(); } #line 62957 "preproc.c" break; case 3225: /* opt_port: ':' Iconst */ #line 17299 "preproc.y" { (yyval.str) = make2_str(mm_strdup(":"), (yyvsp[0].str)); } #line 62963 "preproc.c" break; case 3226: /* opt_port: %empty */ #line 17300 "preproc.y" { (yyval.str) = EMPTY; } #line 62969 "preproc.c" break; case 3227: /* opt_connection_name: AS connection_object */ #line 17303 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 62975 "preproc.c" break; case 3228: /* opt_connection_name: %empty */ #line 17304 "preproc.y" { (yyval.str) = mm_strdup("NULL"); } #line 62981 "preproc.c" break; case 3229: /* opt_user: USER ora_user */ #line 17307 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 62987 "preproc.c" break; case 3230: /* opt_user: %empty */ #line 17308 "preproc.y" { (yyval.str) = mm_strdup("NULL, NULL"); } #line 62993 "preproc.c" break; case 3231: /* ora_user: user_name */ #line 17312 "preproc.y" { (yyval.str) = cat2_str((yyvsp[0].str), mm_strdup(", NULL")); } #line 62999 "preproc.c" break; case 3232: /* ora_user: user_name '/' user_name */ #line 17314 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup(","), (yyvsp[0].str)); } #line 63005 "preproc.c" break; case 3233: /* ora_user: user_name SQL_IDENTIFIED BY user_name */ #line 17316 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-3].str), mm_strdup(","), (yyvsp[0].str)); } #line 63011 "preproc.c" break; case 3234: /* ora_user: user_name USING user_name */ #line 17318 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup(","), (yyvsp[0].str)); } #line 63017 "preproc.c" break; case 3235: /* user_name: RoleId */ #line 17322 "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 63028 "preproc.c" break; case 3236: /* user_name: ecpg_sconst */ #line 17329 "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 63039 "preproc.c" break; case 3237: /* user_name: civar */ #line 17336 "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 63057 "preproc.c" break; case 3238: /* char_variable: cvariable */ #line 17352 "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 63093 "preproc.c" break; case 3239: /* opt_options: Op connect_options */ #line 17386 "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 63107 "preproc.c" break; case 3240: /* opt_options: %empty */ #line 17395 "preproc.y" { (yyval.str) = EMPTY; } #line 63113 "preproc.c" break; case 3241: /* connect_options: ColId opt_opt_value */ #line 17399 "preproc.y" { (yyval.str) = make2_str((yyvsp[-1].str), (yyvsp[0].str)); } #line 63121 "preproc.c" break; case 3242: /* connect_options: ColId opt_opt_value Op connect_options */ #line 17403 "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 63135 "preproc.c" break; case 3243: /* opt_opt_value: %empty */ #line 17415 "preproc.y" { (yyval.str) = EMPTY; } #line 63141 "preproc.c" break; case 3244: /* opt_opt_value: '=' Iconst */ #line 17417 "preproc.y" { (yyval.str) = make2_str(mm_strdup("="), (yyvsp[0].str)); } #line 63147 "preproc.c" break; case 3245: /* opt_opt_value: '=' ecpg_ident */ #line 17419 "preproc.y" { (yyval.str) = make2_str(mm_strdup("="), (yyvsp[0].str)); } #line 63153 "preproc.c" break; case 3246: /* opt_opt_value: '=' civar */ #line 17421 "preproc.y" { (yyval.str) = make2_str(mm_strdup("="), (yyvsp[0].str)); } #line 63159 "preproc.c" break; case 3247: /* prepared_name: name */ #line 17425 "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 63177 "preproc.c" break; case 3248: /* prepared_name: char_variable */ #line 17438 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 63183 "preproc.c" break; case 3249: /* ECPGDeclareStmt: DECLARE prepared_name STATEMENT */ #line 17445 "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 63218 "preproc.c" break; case 3250: /* ECPGCursorStmt: DECLARE cursor_name cursor_options CURSOR opt_hold FOR prepared_name */ #line 17482 "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 63282 "preproc.c" break; case 3251: /* ECPGExecuteImmediateStmt: EXECUTE IMMEDIATE execstring */ #line 17544 "preproc.y" { /* execute immediate means prepare the statement and * immediately execute it */ (yyval.str) = (yyvsp[0].str); } #line 63292 "preproc.c" break; case 3253: /* single_vt_declaration: type_declaration */ #line 17554 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 63298 "preproc.c" break; case 3254: /* single_vt_declaration: var_declaration */ #line 17555 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 63304 "preproc.c" break; case 3255: /* precision: NumericOnly */ #line 17558 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 63310 "preproc.c" break; case 3256: /* opt_scale: ',' NumericOnly */ #line 17560 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 63316 "preproc.c" break; case 3257: /* opt_scale: %empty */ #line 17561 "preproc.y" { (yyval.str) = EMPTY; } #line 63322 "preproc.c" break; case 3258: /* ecpg_interval: opt_interval */ #line 17564 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 63328 "preproc.c" break; case 3259: /* ecpg_interval: YEAR_P TO MINUTE_P */ #line 17565 "preproc.y" { (yyval.str) = mm_strdup("year to minute"); } #line 63334 "preproc.c" break; case 3260: /* ecpg_interval: YEAR_P TO SECOND_P */ #line 17566 "preproc.y" { (yyval.str) = mm_strdup("year to second"); } #line 63340 "preproc.c" break; case 3261: /* ecpg_interval: DAY_P TO DAY_P */ #line 17567 "preproc.y" { (yyval.str) = mm_strdup("day to day"); } #line 63346 "preproc.c" break; case 3262: /* ecpg_interval: MONTH_P TO MONTH_P */ #line 17568 "preproc.y" { (yyval.str) = mm_strdup("month to month"); } #line 63352 "preproc.c" break; case 3263: /* $@3: %empty */ #line 17575 "preproc.y" { fputs("/* exec sql begin declare section */", base_yyout); } #line 63358 "preproc.c" break; case 3264: /* ECPGDeclaration: sql_startdeclare $@3 var_type_declarations sql_enddeclare */ #line 17577 "preproc.y" { fprintf(base_yyout, "%s/* exec sql end declare section */", (yyvsp[-1].str)); free((yyvsp[-1].str)); output_line_number(); } #line 63368 "preproc.c" break; case 3265: /* sql_startdeclare: ecpgstart BEGIN_P DECLARE SQL_SECTION ';' */ #line 17584 "preproc.y" {} #line 63374 "preproc.c" break; case 3266: /* sql_enddeclare: ecpgstart END_P DECLARE SQL_SECTION ';' */ #line 17586 "preproc.y" {} #line 63380 "preproc.c" break; case 3267: /* var_type_declarations: %empty */ #line 17588 "preproc.y" { (yyval.str) = EMPTY; } #line 63386 "preproc.c" break; case 3268: /* var_type_declarations: vt_declarations */ #line 17589 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 63392 "preproc.c" break; case 3269: /* vt_declarations: single_vt_declaration */ #line 17592 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 63398 "preproc.c" break; case 3270: /* vt_declarations: CPP_LINE */ #line 17593 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 63404 "preproc.c" break; case 3271: /* vt_declarations: vt_declarations single_vt_declaration */ #line 17594 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), (yyvsp[0].str)); } #line 63410 "preproc.c" break; case 3272: /* vt_declarations: vt_declarations CPP_LINE */ #line 17595 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), (yyvsp[0].str)); } #line 63416 "preproc.c" break; case 3273: /* variable_declarations: var_declaration */ #line 17598 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 63422 "preproc.c" break; case 3274: /* variable_declarations: variable_declarations var_declaration */ #line 17599 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), (yyvsp[0].str)); } #line 63428 "preproc.c" break; case 3275: /* $@4: %empty */ #line 17603 "preproc.y" { /* reset this variable so we see if there was */ /* an initializer specified */ initializer = 0; } #line 63438 "preproc.c" break; case 3276: /* type_declaration: S_TYPEDEF $@4 var_type opt_pointer ECPGColLabelCommon opt_array_bounds ';' */ #line 17609 "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 63450 "preproc.c" break; case 3277: /* $@5: %empty */ #line 17619 "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 63465 "preproc.c" break; case 3278: /* var_declaration: storage_declaration var_type $@5 variable_list ';' */ #line 17630 "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 63473 "preproc.c" break; case 3279: /* $@6: %empty */ #line 17634 "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 63488 "preproc.c" break; case 3280: /* var_declaration: var_type $@6 variable_list ';' */ #line 17645 "preproc.y" { (yyval.str) = cat_str(4, actual_startline[struct_level], (yyvsp[-3].type).type_str, (yyvsp[-1].str), mm_strdup(";\n")); } #line 63496 "preproc.c" break; case 3281: /* var_declaration: struct_union_type_with_symbol ';' */ #line 17649 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), mm_strdup(";")); } #line 63504 "preproc.c" break; case 3282: /* opt_bit_field: ':' Iconst */ #line 17654 "preproc.y" { (yyval.str) =cat2_str(mm_strdup(":"), (yyvsp[0].str)); } #line 63510 "preproc.c" break; case 3283: /* opt_bit_field: %empty */ #line 17655 "preproc.y" { (yyval.str) = EMPTY; } #line 63516 "preproc.c" break; case 3284: /* storage_declaration: storage_clause storage_modifier */ #line 17659 "preproc.y" {(yyval.str) = cat2_str ((yyvsp[-1].str), (yyvsp[0].str)); } #line 63522 "preproc.c" break; case 3285: /* storage_declaration: storage_clause */ #line 17660 "preproc.y" {(yyval.str) = (yyvsp[0].str); } #line 63528 "preproc.c" break; case 3286: /* storage_declaration: storage_modifier */ #line 17661 "preproc.y" {(yyval.str) = (yyvsp[0].str); } #line 63534 "preproc.c" break; case 3287: /* storage_clause: S_EXTERN */ #line 17664 "preproc.y" { (yyval.str) = mm_strdup("extern"); } #line 63540 "preproc.c" break; case 3288: /* storage_clause: S_STATIC */ #line 17665 "preproc.y" { (yyval.str) = mm_strdup("static"); } #line 63546 "preproc.c" break; case 3289: /* storage_clause: S_REGISTER */ #line 17666 "preproc.y" { (yyval.str) = mm_strdup("register"); } #line 63552 "preproc.c" break; case 3290: /* storage_clause: S_AUTO */ #line 17667 "preproc.y" { (yyval.str) = mm_strdup("auto"); } #line 63558 "preproc.c" break; case 3291: /* storage_modifier: S_CONST */ #line 17670 "preproc.y" { (yyval.str) = mm_strdup("const"); } #line 63564 "preproc.c" break; case 3292: /* storage_modifier: S_VOLATILE */ #line 17671 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } #line 63570 "preproc.c" break; case 3293: /* var_type: simple_type */ #line 17675 "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 63582 "preproc.c" break; case 3294: /* var_type: struct_union_type */ #line 17683 "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 63603 "preproc.c" break; case 3295: /* var_type: enum_type */ #line 17700 "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 63615 "preproc.c" break; case 3296: /* var_type: ECPGColLabelCommon '(' precision opt_scale ')' */ #line 17708 "preproc.y" { 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 63642 "preproc.c" break; case 3297: /* var_type: ECPGColLabelCommon ecpg_interval */ #line 17731 "preproc.y" { 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"); /* * Check for type names that the SQL grammar treats as * unreserved keywords */ 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 { /* this is for typedef'ed types */ struct typedefs *this = get_typedef((yyvsp[-1].str)); (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 63760 "preproc.c" break; case 3298: /* var_type: s_struct_union_symbol */ #line 17845 "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); (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 63796 "preproc.c" break; case 3299: /* enum_type: ENUM_P symbol enum_definition */ #line 17879 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("enum"), (yyvsp[-1].str), (yyvsp[0].str)); } #line 63802 "preproc.c" break; case 3300: /* enum_type: ENUM_P enum_definition */ #line 17881 "preproc.y" { (yyval.str) = cat2_str(mm_strdup("enum"), (yyvsp[0].str)); } #line 63808 "preproc.c" break; case 3301: /* enum_type: ENUM_P symbol */ #line 17883 "preproc.y" { (yyval.str) = cat2_str(mm_strdup("enum"), (yyvsp[0].str)); } #line 63814 "preproc.c" break; case 3302: /* enum_definition: '{' c_list '}' */ #line 17887 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("{"), (yyvsp[-1].str), mm_strdup("}")); } #line 63820 "preproc.c" break; case 3303: /* $@7: %empty */ #line 17890 "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 63831 "preproc.c" break; case 3304: /* struct_union_type_with_symbol: s_struct_union_symbol $@7 '{' variable_declarations '}' */ #line 17897 "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 63877 "preproc.c" break; case 3305: /* struct_union_type: struct_union_type_with_symbol */ #line 17940 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 63883 "preproc.c" break; case 3306: /* $@8: %empty */ #line 17942 "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 63893 "preproc.c" break; case 3307: /* struct_union_type: s_struct_union $@8 '{' variable_declarations '}' */ #line 17948 "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 63904 "preproc.c" break; case 3308: /* s_struct_union_symbol: SQL_STRUCT symbol */ #line 17957 "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 63914 "preproc.c" break; case 3309: /* s_struct_union_symbol: UNION symbol */ #line 17963 "preproc.y" { (yyval.struct_union).su = mm_strdup("union"); (yyval.struct_union).symbol = (yyvsp[0].str); } #line 63923 "preproc.c" break; case 3310: /* s_struct_union: SQL_STRUCT */ #line 17970 "preproc.y" { ECPGstruct_sizeof = mm_strdup(""); /* This must not be NULL to distinguish from simple types. */ (yyval.str) = mm_strdup("struct"); } #line 63932 "preproc.c" break; case 3311: /* s_struct_union: UNION */ #line 17975 "preproc.y" { (yyval.str) = mm_strdup("union"); } #line 63940 "preproc.c" break; case 3312: /* simple_type: unsigned_type */ #line 17980 "preproc.y" { (yyval.type_enum)=(yyvsp[0].type_enum); } #line 63946 "preproc.c" break; case 3313: /* simple_type: opt_signed signed_type */ #line 17981 "preproc.y" { (yyval.type_enum)=(yyvsp[0].type_enum); } #line 63952 "preproc.c" break; case 3314: /* unsigned_type: SQL_UNSIGNED SQL_SHORT */ #line 17984 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_short; } #line 63958 "preproc.c" break; case 3315: /* unsigned_type: SQL_UNSIGNED SQL_SHORT INT_P */ #line 17985 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_short; } #line 63964 "preproc.c" break; case 3316: /* unsigned_type: SQL_UNSIGNED */ #line 17986 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_int; } #line 63970 "preproc.c" break; case 3317: /* unsigned_type: SQL_UNSIGNED INT_P */ #line 17987 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_int; } #line 63976 "preproc.c" break; case 3318: /* unsigned_type: SQL_UNSIGNED SQL_LONG */ #line 17988 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_long; } #line 63982 "preproc.c" break; case 3319: /* unsigned_type: SQL_UNSIGNED SQL_LONG INT_P */ #line 17989 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_long; } #line 63988 "preproc.c" break; case 3320: /* unsigned_type: SQL_UNSIGNED SQL_LONG SQL_LONG */ #line 17990 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_long_long; } #line 63994 "preproc.c" break; case 3321: /* unsigned_type: SQL_UNSIGNED SQL_LONG SQL_LONG INT_P */ #line 17991 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_long_long; } #line 64000 "preproc.c" break; case 3322: /* unsigned_type: SQL_UNSIGNED CHAR_P */ #line 17992 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_char; } #line 64006 "preproc.c" break; case 3323: /* signed_type: SQL_SHORT */ #line 17995 "preproc.y" { (yyval.type_enum) = ECPGt_short; } #line 64012 "preproc.c" break; case 3324: /* signed_type: SQL_SHORT INT_P */ #line 17996 "preproc.y" { (yyval.type_enum) = ECPGt_short; } #line 64018 "preproc.c" break; case 3325: /* signed_type: INT_P */ #line 17997 "preproc.y" { (yyval.type_enum) = ECPGt_int; } #line 64024 "preproc.c" break; case 3326: /* signed_type: SQL_LONG */ #line 17998 "preproc.y" { (yyval.type_enum) = ECPGt_long; } #line 64030 "preproc.c" break; case 3327: /* signed_type: SQL_LONG INT_P */ #line 17999 "preproc.y" { (yyval.type_enum) = ECPGt_long; } #line 64036 "preproc.c" break; case 3328: /* signed_type: SQL_LONG SQL_LONG */ #line 18000 "preproc.y" { (yyval.type_enum) = ECPGt_long_long; } #line 64042 "preproc.c" break; case 3329: /* signed_type: SQL_LONG SQL_LONG INT_P */ #line 18001 "preproc.y" { (yyval.type_enum) = ECPGt_long_long; } #line 64048 "preproc.c" break; case 3330: /* signed_type: SQL_BOOL */ #line 18002 "preproc.y" { (yyval.type_enum) = ECPGt_bool; } #line 64054 "preproc.c" break; case 3331: /* signed_type: CHAR_P */ #line 18003 "preproc.y" { (yyval.type_enum) = ECPGt_char; } #line 64060 "preproc.c" break; case 3332: /* signed_type: DOUBLE_P */ #line 18004 "preproc.y" { (yyval.type_enum) = ECPGt_double; } #line 64066 "preproc.c" break; case 3335: /* variable_list: variable */ #line 18012 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64072 "preproc.c" break; case 3336: /* variable_list: variable_list ',' variable */ #line 18014 "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 64083 "preproc.c" break; case 3337: /* variable: opt_pointer ECPGColLabel opt_array_bounds opt_bit_field opt_initializer */ #line 18023 "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 64184 "preproc.c" break; case 3338: /* opt_initializer: %empty */ #line 18122 "preproc.y" { (yyval.str) = EMPTY; } #line 64190 "preproc.c" break; case 3339: /* opt_initializer: '=' c_term */ #line 18124 "preproc.y" { initializer = 1; (yyval.str) = cat2_str(mm_strdup("="), (yyvsp[0].str)); } #line 64199 "preproc.c" break; case 3340: /* opt_pointer: %empty */ #line 18130 "preproc.y" { (yyval.str) = EMPTY; } #line 64205 "preproc.c" break; case 3341: /* opt_pointer: '*' */ #line 18131 "preproc.y" { (yyval.str) = mm_strdup("*"); } #line 64211 "preproc.c" break; case 3342: /* opt_pointer: '*' '*' */ #line 18132 "preproc.y" { (yyval.str) = mm_strdup("**"); } #line 64217 "preproc.c" break; case 3343: /* ECPGDeclare: DECLARE STATEMENT ecpg_ident */ #line 18139 "preproc.y" { /* this is only supported for compatibility */ (yyval.str) = cat_str(3, mm_strdup("/* declare statement"), (yyvsp[0].str), mm_strdup("*/")); } #line 64226 "preproc.c" break; case 3344: /* ECPGDisconnect: SQL_DISCONNECT dis_name */ #line 18147 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64232 "preproc.c" break; case 3345: /* dis_name: connection_object */ #line 18150 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64238 "preproc.c" break; case 3346: /* dis_name: CURRENT_P */ #line 18151 "preproc.y" { (yyval.str) = mm_strdup("\"CURRENT\""); } #line 64244 "preproc.c" break; case 3347: /* dis_name: ALL */ #line 18152 "preproc.y" { (yyval.str) = mm_strdup("\"ALL\""); } #line 64250 "preproc.c" break; case 3348: /* dis_name: %empty */ #line 18153 "preproc.y" { (yyval.str) = mm_strdup("\"CURRENT\""); } #line 64256 "preproc.c" break; case 3349: /* connection_object: name */ #line 18156 "preproc.y" { (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } #line 64262 "preproc.c" break; case 3350: /* connection_object: DEFAULT */ #line 18157 "preproc.y" { (yyval.str) = mm_strdup("\"DEFAULT\""); } #line 64268 "preproc.c" break; case 3351: /* connection_object: char_variable */ #line 18158 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64274 "preproc.c" break; case 3352: /* execstring: char_variable */ #line 18162 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64280 "preproc.c" break; case 3353: /* execstring: CSTRING */ #line 18164 "preproc.y" { (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } #line 64286 "preproc.c" break; case 3354: /* ECPGFree: SQL_FREE cursor_name */ #line 18171 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64292 "preproc.c" break; case 3355: /* ECPGFree: SQL_FREE ALL */ #line 18172 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 64298 "preproc.c" break; case 3356: /* ECPGOpen: SQL_OPEN cursor_name opt_ecpg_using */ #line 18179 "preproc.y" { if ((yyvsp[-1].str)[0] == ':') remove_variable_from_list(&argsinsert, find_variable((yyvsp[-1].str) + 1)); (yyval.str) = (yyvsp[-1].str); } #line 64308 "preproc.c" break; case 3357: /* opt_ecpg_using: %empty */ #line 18186 "preproc.y" { (yyval.str) = EMPTY; } #line 64314 "preproc.c" break; case 3358: /* opt_ecpg_using: ecpg_using */ #line 18187 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64320 "preproc.c" break; case 3359: /* ecpg_using: USING using_list */ #line 18190 "preproc.y" { (yyval.str) = EMPTY; } #line 64326 "preproc.c" break; case 3360: /* ecpg_using: using_descriptor */ #line 18191 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64332 "preproc.c" break; case 3361: /* using_descriptor: USING SQL_P SQL_DESCRIPTOR quoted_ident_stringvar */ #line 18195 "preproc.y" { add_variable_to_head(&argsinsert, descriptor_variable((yyvsp[0].str),0), &no_indicator); (yyval.str) = EMPTY; } #line 64341 "preproc.c" break; case 3362: /* using_descriptor: USING SQL_DESCRIPTOR name */ #line 18200 "preproc.y" { add_variable_to_head(&argsinsert, sqlda_variable((yyvsp[0].str)), &no_indicator); (yyval.str) = EMPTY; } #line 64350 "preproc.c" break; case 3363: /* into_descriptor: INTO SQL_P SQL_DESCRIPTOR quoted_ident_stringvar */ #line 18207 "preproc.y" { add_variable_to_head(&argsresult, descriptor_variable((yyvsp[0].str),1), &no_indicator); (yyval.str) = EMPTY; } #line 64359 "preproc.c" break; case 3364: /* into_descriptor: INTO SQL_DESCRIPTOR name */ #line 18212 "preproc.y" { add_variable_to_head(&argsresult, sqlda_variable((yyvsp[0].str)), &no_indicator); (yyval.str) = EMPTY; } #line 64368 "preproc.c" break; case 3365: /* into_sqlda: INTO name */ #line 18219 "preproc.y" { add_variable_to_head(&argsresult, sqlda_variable((yyvsp[0].str)), &no_indicator); (yyval.str) = EMPTY; } #line 64377 "preproc.c" break; case 3368: /* UsingValue: UsingConst */ #line 18228 "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 64388 "preproc.c" break; case 3369: /* UsingValue: civar */ #line 18234 "preproc.y" { (yyval.str) = EMPTY; } #line 64394 "preproc.c" break; case 3370: /* UsingValue: civarind */ #line 18235 "preproc.y" { (yyval.str) = EMPTY; } #line 64400 "preproc.c" break; case 3371: /* UsingConst: Iconst */ #line 18238 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64406 "preproc.c" break; case 3372: /* UsingConst: '+' Iconst */ #line 18239 "preproc.y" { (yyval.str) = cat_str(2, mm_strdup("+"), (yyvsp[0].str)); } #line 64412 "preproc.c" break; case 3373: /* UsingConst: '-' Iconst */ #line 18240 "preproc.y" { (yyval.str) = cat_str(2, mm_strdup("-"), (yyvsp[0].str)); } #line 64418 "preproc.c" break; case 3374: /* UsingConst: ecpg_fconst */ #line 18241 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64424 "preproc.c" break; case 3375: /* UsingConst: '+' ecpg_fconst */ #line 18242 "preproc.y" { (yyval.str) = cat_str(2, mm_strdup("+"), (yyvsp[0].str)); } #line 64430 "preproc.c" break; case 3376: /* UsingConst: '-' ecpg_fconst */ #line 18243 "preproc.y" { (yyval.str) = cat_str(2, mm_strdup("-"), (yyvsp[0].str)); } #line 64436 "preproc.c" break; case 3377: /* UsingConst: ecpg_sconst */ #line 18244 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64442 "preproc.c" break; case 3378: /* UsingConst: ecpg_bconst */ #line 18245 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64448 "preproc.c" break; case 3379: /* UsingConst: ecpg_xconst */ #line 18246 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64454 "preproc.c" break; case 3380: /* ECPGDescribe: SQL_DESCRIBE INPUT_P prepared_name using_descriptor */ #line 18253 "preproc.y" { (yyval.describe).input = 1; (yyval.describe).stmt_name = (yyvsp[-1].str); } #line 64463 "preproc.c" break; case 3381: /* ECPGDescribe: SQL_DESCRIBE opt_output prepared_name using_descriptor */ #line 18258 "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 64477 "preproc.c" break; case 3382: /* ECPGDescribe: SQL_DESCRIBE opt_output prepared_name into_descriptor */ #line 18268 "preproc.y" { (yyval.describe).input = 0; (yyval.describe).stmt_name = (yyvsp[-1].str); } #line 64486 "preproc.c" break; case 3383: /* ECPGDescribe: SQL_DESCRIBE INPUT_P prepared_name into_sqlda */ #line 18273 "preproc.y" { (yyval.describe).input = 1; (yyval.describe).stmt_name = (yyvsp[-1].str); } #line 64495 "preproc.c" break; case 3384: /* ECPGDescribe: SQL_DESCRIBE opt_output prepared_name into_sqlda */ #line 18278 "preproc.y" { (yyval.describe).input = 0; (yyval.describe).stmt_name = (yyvsp[-1].str); } #line 64504 "preproc.c" break; case 3385: /* opt_output: SQL_OUTPUT */ #line 18284 "preproc.y" { (yyval.str) = mm_strdup("output"); } #line 64510 "preproc.c" break; case 3386: /* opt_output: %empty */ #line 18285 "preproc.y" { (yyval.str) = EMPTY; } #line 64516 "preproc.c" break; case 3387: /* ECPGAllocateDescr: SQL_ALLOCATE SQL_DESCRIPTOR quoted_ident_stringvar */ #line 18298 "preproc.y" { add_descriptor((yyvsp[0].str),connection); (yyval.str) = (yyvsp[0].str); } #line 64525 "preproc.c" break; case 3388: /* ECPGDeallocateDescr: DEALLOCATE SQL_DESCRIPTOR quoted_ident_stringvar */ #line 18309 "preproc.y" { drop_descriptor((yyvsp[0].str),connection); (yyval.str) = (yyvsp[0].str); } #line 64534 "preproc.c" break; case 3389: /* ECPGGetDescriptorHeader: SQL_GET SQL_DESCRIPTOR quoted_ident_stringvar ECPGGetDescHeaderItems */ #line 18320 "preproc.y" { (yyval.str) = (yyvsp[-1].str); } #line 64540 "preproc.c" break; case 3392: /* ECPGGetDescHeaderItem: cvariable '=' desc_header_item */ #line 18328 "preproc.y" { push_assignment((yyvsp[-2].str), (yyvsp[0].dtype_enum)); } #line 64546 "preproc.c" break; case 3393: /* ECPGSetDescriptorHeader: SET SQL_DESCRIPTOR quoted_ident_stringvar ECPGSetDescHeaderItems */ #line 18333 "preproc.y" { (yyval.str) = (yyvsp[-1].str); } #line 64552 "preproc.c" break; case 3396: /* ECPGSetDescHeaderItem: desc_header_item '=' IntConstVar */ #line 18341 "preproc.y" { push_assignment((yyvsp[0].str), (yyvsp[-2].dtype_enum)); } #line 64560 "preproc.c" break; case 3397: /* IntConstVar: Iconst */ #line 18347 "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 64572 "preproc.c" break; case 3398: /* IntConstVar: cvariable */ #line 18355 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64580 "preproc.c" break; case 3399: /* desc_header_item: SQL_COUNT */ #line 18360 "preproc.y" { (yyval.dtype_enum) = ECPGd_count; } #line 64586 "preproc.c" break; case 3400: /* ECPGGetDescriptor: SQL_GET SQL_DESCRIPTOR quoted_ident_stringvar VALUE_P IntConstVar ECPGGetDescItems */ #line 18368 "preproc.y" { (yyval.descriptor).str = (yyvsp[-1].str); (yyval.descriptor).name = (yyvsp[-3].str); } #line 64592 "preproc.c" break; case 3403: /* ECPGGetDescItem: cvariable '=' descriptor_item */ #line 18375 "preproc.y" { push_assignment((yyvsp[-2].str), (yyvsp[0].dtype_enum)); } #line 64598 "preproc.c" break; case 3404: /* ECPGSetDescriptor: SET SQL_DESCRIPTOR quoted_ident_stringvar VALUE_P IntConstVar ECPGSetDescItems */ #line 18379 "preproc.y" { (yyval.descriptor).str = (yyvsp[-1].str); (yyval.descriptor).name = (yyvsp[-3].str); } #line 64604 "preproc.c" break; case 3407: /* ECPGSetDescItem: descriptor_item '=' AllConstVar */ #line 18387 "preproc.y" { push_assignment((yyvsp[0].str), (yyvsp[-2].dtype_enum)); } #line 64612 "preproc.c" break; case 3408: /* AllConstVar: ecpg_fconst */ #line 18393 "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 64624 "preproc.c" break; case 3409: /* AllConstVar: IntConstVar */ #line 18402 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64632 "preproc.c" break; case 3410: /* AllConstVar: '-' ecpg_fconst */ #line 18407 "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 64645 "preproc.c" break; case 3411: /* AllConstVar: '-' Iconst */ #line 18417 "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 64658 "preproc.c" break; case 3412: /* AllConstVar: ecpg_sconst */ #line 18427 "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 64672 "preproc.c" break; case 3413: /* descriptor_item: SQL_CARDINALITY */ #line 18438 "preproc.y" { (yyval.dtype_enum) = ECPGd_cardinality; } #line 64678 "preproc.c" break; case 3414: /* descriptor_item: DATA_P */ #line 18439 "preproc.y" { (yyval.dtype_enum) = ECPGd_data; } #line 64684 "preproc.c" break; case 3415: /* descriptor_item: SQL_DATETIME_INTERVAL_CODE */ #line 18440 "preproc.y" { (yyval.dtype_enum) = ECPGd_di_code; } #line 64690 "preproc.c" break; case 3416: /* descriptor_item: SQL_DATETIME_INTERVAL_PRECISION */ #line 18441 "preproc.y" { (yyval.dtype_enum) = ECPGd_di_precision; } #line 64696 "preproc.c" break; case 3417: /* descriptor_item: SQL_INDICATOR */ #line 18442 "preproc.y" { (yyval.dtype_enum) = ECPGd_indicator; } #line 64702 "preproc.c" break; case 3418: /* descriptor_item: SQL_KEY_MEMBER */ #line 18443 "preproc.y" { (yyval.dtype_enum) = ECPGd_key_member; } #line 64708 "preproc.c" break; case 3419: /* descriptor_item: SQL_LENGTH */ #line 18444 "preproc.y" { (yyval.dtype_enum) = ECPGd_length; } #line 64714 "preproc.c" break; case 3420: /* descriptor_item: NAME_P */ #line 18445 "preproc.y" { (yyval.dtype_enum) = ECPGd_name; } #line 64720 "preproc.c" break; case 3421: /* descriptor_item: SQL_NULLABLE */ #line 18446 "preproc.y" { (yyval.dtype_enum) = ECPGd_nullable; } #line 64726 "preproc.c" break; case 3422: /* descriptor_item: SQL_OCTET_LENGTH */ #line 18447 "preproc.y" { (yyval.dtype_enum) = ECPGd_octet; } #line 64732 "preproc.c" break; case 3423: /* descriptor_item: PRECISION */ #line 18448 "preproc.y" { (yyval.dtype_enum) = ECPGd_precision; } #line 64738 "preproc.c" break; case 3424: /* descriptor_item: SQL_RETURNED_LENGTH */ #line 18449 "preproc.y" { (yyval.dtype_enum) = ECPGd_length; } #line 64744 "preproc.c" break; case 3425: /* descriptor_item: SQL_RETURNED_OCTET_LENGTH */ #line 18450 "preproc.y" { (yyval.dtype_enum) = ECPGd_ret_octet; } #line 64750 "preproc.c" break; case 3426: /* descriptor_item: SQL_SCALE */ #line 18451 "preproc.y" { (yyval.dtype_enum) = ECPGd_scale; } #line 64756 "preproc.c" break; case 3427: /* descriptor_item: TYPE_P */ #line 18452 "preproc.y" { (yyval.dtype_enum) = ECPGd_type; } #line 64762 "preproc.c" break; case 3428: /* ECPGSetAutocommit: SET SQL_AUTOCOMMIT '=' on_off */ #line 18459 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64768 "preproc.c" break; case 3429: /* ECPGSetAutocommit: SET SQL_AUTOCOMMIT TO on_off */ #line 18460 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64774 "preproc.c" break; case 3430: /* on_off: ON */ #line 18463 "preproc.y" { (yyval.str) = mm_strdup("on"); } #line 64780 "preproc.c" break; case 3431: /* on_off: OFF */ #line 18464 "preproc.y" { (yyval.str) = mm_strdup("off"); } #line 64786 "preproc.c" break; case 3432: /* ECPGSetConnection: SET CONNECTION TO connection_object */ #line 18471 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64792 "preproc.c" break; case 3433: /* ECPGSetConnection: SET CONNECTION '=' connection_object */ #line 18472 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64798 "preproc.c" break; case 3434: /* ECPGSetConnection: SET CONNECTION connection_object */ #line 18473 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64804 "preproc.c" break; case 3435: /* $@9: %empty */ #line 18480 "preproc.y" { /* reset this variable so we see if there was */ /* an initializer specified */ initializer = 0; } #line 64814 "preproc.c" break; case 3436: /* ECPGTypedef: TYPE_P $@9 ECPGColLabelCommon IS var_type opt_array_bounds opt_reference */ #line 18486 "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 64827 "preproc.c" break; case 3437: /* opt_reference: SQL_REFERENCE */ #line 18496 "preproc.y" { (yyval.str) = mm_strdup("reference"); } #line 64833 "preproc.c" break; case 3438: /* opt_reference: %empty */ #line 18497 "preproc.y" { (yyval.str) = EMPTY; } #line 64839 "preproc.c" break; case 3439: /* $@10: %empty */ #line 18504 "preproc.y" { /* reset this variable so we see if there was */ /* an initializer specified */ initializer = 0; } #line 64849 "preproc.c" break; case 3440: /* ECPGVar: SQL_VAR $@10 ColLabel IS var_type opt_array_bounds opt_reference */ #line 18510 "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 64912 "preproc.c" break; case 3441: /* ECPGWhenever: SQL_WHENEVER SQL_SQLERROR action */ #line 18575 "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 64922 "preproc.c" break; case 3442: /* ECPGWhenever: SQL_WHENEVER NOT SQL_FOUND action */ #line 18581 "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 64932 "preproc.c" break; case 3443: /* ECPGWhenever: SQL_WHENEVER SQL_SQLWARNING action */ #line 18587 "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 64942 "preproc.c" break; case 3444: /* action: CONTINUE_P */ #line 18595 "preproc.y" { (yyval.action).code = W_NOTHING; (yyval.action).command = NULL; (yyval.action).str = mm_strdup("continue"); } #line 64952 "preproc.c" break; case 3445: /* action: SQL_SQLPRINT */ #line 18601 "preproc.y" { (yyval.action).code = W_SQLPRINT; (yyval.action).command = NULL; (yyval.action).str = mm_strdup("sqlprint"); } #line 64962 "preproc.c" break; case 3446: /* action: SQL_STOP */ #line 18607 "preproc.y" { (yyval.action).code = W_STOP; (yyval.action).command = NULL; (yyval.action).str = mm_strdup("stop"); } #line 64972 "preproc.c" break; case 3447: /* action: SQL_GOTO name */ #line 18613 "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 64982 "preproc.c" break; case 3448: /* action: SQL_GO TO name */ #line 18619 "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 64992 "preproc.c" break; case 3449: /* action: DO name '(' c_args ')' */ #line 18625 "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 65002 "preproc.c" break; case 3450: /* action: DO SQL_BREAK */ #line 18631 "preproc.y" { (yyval.action).code = W_BREAK; (yyval.action).command = NULL; (yyval.action).str = mm_strdup("break"); } #line 65012 "preproc.c" break; case 3451: /* action: DO CONTINUE_P */ #line 18637 "preproc.y" { (yyval.action).code = W_CONTINUE; (yyval.action).command = NULL; (yyval.action).str = mm_strdup("continue"); } #line 65022 "preproc.c" break; case 3452: /* action: CALL name '(' c_args ')' */ #line 18643 "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 65032 "preproc.c" break; case 3453: /* action: CALL name */ #line 18649 "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 65042 "preproc.c" break; case 3454: /* ECPGKeywords: ECPGKeywords_vanames */ #line 18659 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65048 "preproc.c" break; case 3455: /* ECPGKeywords: ECPGKeywords_rest */ #line 18660 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65054 "preproc.c" break; case 3456: /* ECPGKeywords_vanames: SQL_BREAK */ #line 18663 "preproc.y" { (yyval.str) = mm_strdup("break"); } #line 65060 "preproc.c" break; case 3457: /* ECPGKeywords_vanames: SQL_CARDINALITY */ #line 18664 "preproc.y" { (yyval.str) = mm_strdup("cardinality"); } #line 65066 "preproc.c" break; case 3458: /* ECPGKeywords_vanames: SQL_COUNT */ #line 18665 "preproc.y" { (yyval.str) = mm_strdup("count"); } #line 65072 "preproc.c" break; case 3459: /* ECPGKeywords_vanames: SQL_DATETIME_INTERVAL_CODE */ #line 18666 "preproc.y" { (yyval.str) = mm_strdup("datetime_interval_code"); } #line 65078 "preproc.c" break; case 3460: /* ECPGKeywords_vanames: SQL_DATETIME_INTERVAL_PRECISION */ #line 18667 "preproc.y" { (yyval.str) = mm_strdup("datetime_interval_precision"); } #line 65084 "preproc.c" break; case 3461: /* ECPGKeywords_vanames: SQL_FOUND */ #line 18668 "preproc.y" { (yyval.str) = mm_strdup("found"); } #line 65090 "preproc.c" break; case 3462: /* ECPGKeywords_vanames: SQL_GO */ #line 18669 "preproc.y" { (yyval.str) = mm_strdup("go"); } #line 65096 "preproc.c" break; case 3463: /* ECPGKeywords_vanames: SQL_GOTO */ #line 18670 "preproc.y" { (yyval.str) = mm_strdup("goto"); } #line 65102 "preproc.c" break; case 3464: /* ECPGKeywords_vanames: SQL_IDENTIFIED */ #line 18671 "preproc.y" { (yyval.str) = mm_strdup("identified"); } #line 65108 "preproc.c" break; case 3465: /* ECPGKeywords_vanames: SQL_INDICATOR */ #line 18672 "preproc.y" { (yyval.str) = mm_strdup("indicator"); } #line 65114 "preproc.c" break; case 3466: /* ECPGKeywords_vanames: SQL_KEY_MEMBER */ #line 18673 "preproc.y" { (yyval.str) = mm_strdup("key_member"); } #line 65120 "preproc.c" break; case 3467: /* ECPGKeywords_vanames: SQL_LENGTH */ #line 18674 "preproc.y" { (yyval.str) = mm_strdup("length"); } #line 65126 "preproc.c" break; case 3468: /* ECPGKeywords_vanames: SQL_NULLABLE */ #line 18675 "preproc.y" { (yyval.str) = mm_strdup("nullable"); } #line 65132 "preproc.c" break; case 3469: /* ECPGKeywords_vanames: SQL_OCTET_LENGTH */ #line 18676 "preproc.y" { (yyval.str) = mm_strdup("octet_length"); } #line 65138 "preproc.c" break; case 3470: /* ECPGKeywords_vanames: SQL_RETURNED_LENGTH */ #line 18677 "preproc.y" { (yyval.str) = mm_strdup("returned_length"); } #line 65144 "preproc.c" break; case 3471: /* ECPGKeywords_vanames: SQL_RETURNED_OCTET_LENGTH */ #line 18678 "preproc.y" { (yyval.str) = mm_strdup("returned_octet_length"); } #line 65150 "preproc.c" break; case 3472: /* ECPGKeywords_vanames: SQL_SCALE */ #line 18679 "preproc.y" { (yyval.str) = mm_strdup("scale"); } #line 65156 "preproc.c" break; case 3473: /* ECPGKeywords_vanames: SQL_SECTION */ #line 18680 "preproc.y" { (yyval.str) = mm_strdup("section"); } #line 65162 "preproc.c" break; case 3474: /* ECPGKeywords_vanames: SQL_SQLERROR */ #line 18681 "preproc.y" { (yyval.str) = mm_strdup("sqlerror"); } #line 65168 "preproc.c" break; case 3475: /* ECPGKeywords_vanames: SQL_SQLPRINT */ #line 18682 "preproc.y" { (yyval.str) = mm_strdup("sqlprint"); } #line 65174 "preproc.c" break; case 3476: /* ECPGKeywords_vanames: SQL_SQLWARNING */ #line 18683 "preproc.y" { (yyval.str) = mm_strdup("sqlwarning"); } #line 65180 "preproc.c" break; case 3477: /* ECPGKeywords_vanames: SQL_STOP */ #line 18684 "preproc.y" { (yyval.str) = mm_strdup("stop"); } #line 65186 "preproc.c" break; case 3478: /* ECPGKeywords_rest: SQL_CONNECT */ #line 18687 "preproc.y" { (yyval.str) = mm_strdup("connect"); } #line 65192 "preproc.c" break; case 3479: /* ECPGKeywords_rest: SQL_DESCRIBE */ #line 18688 "preproc.y" { (yyval.str) = mm_strdup("describe"); } #line 65198 "preproc.c" break; case 3480: /* ECPGKeywords_rest: SQL_DISCONNECT */ #line 18689 "preproc.y" { (yyval.str) = mm_strdup("disconnect"); } #line 65204 "preproc.c" break; case 3481: /* ECPGKeywords_rest: SQL_OPEN */ #line 18690 "preproc.y" { (yyval.str) = mm_strdup("open"); } #line 65210 "preproc.c" break; case 3482: /* ECPGKeywords_rest: SQL_VAR */ #line 18691 "preproc.y" { (yyval.str) = mm_strdup("var"); } #line 65216 "preproc.c" break; case 3483: /* ECPGKeywords_rest: SQL_WHENEVER */ #line 18692 "preproc.y" { (yyval.str) = mm_strdup("whenever"); } #line 65222 "preproc.c" break; case 3484: /* ECPGTypeName: SQL_BOOL */ #line 18696 "preproc.y" { (yyval.str) = mm_strdup("bool"); } #line 65228 "preproc.c" break; case 3485: /* ECPGTypeName: SQL_LONG */ #line 18697 "preproc.y" { (yyval.str) = mm_strdup("long"); } #line 65234 "preproc.c" break; case 3486: /* ECPGTypeName: SQL_OUTPUT */ #line 18698 "preproc.y" { (yyval.str) = mm_strdup("output"); } #line 65240 "preproc.c" break; case 3487: /* ECPGTypeName: SQL_SHORT */ #line 18699 "preproc.y" { (yyval.str) = mm_strdup("short"); } #line 65246 "preproc.c" break; case 3488: /* ECPGTypeName: SQL_STRUCT */ #line 18700 "preproc.y" { (yyval.str) = mm_strdup("struct"); } #line 65252 "preproc.c" break; case 3489: /* ECPGTypeName: SQL_SIGNED */ #line 18701 "preproc.y" { (yyval.str) = mm_strdup("signed"); } #line 65258 "preproc.c" break; case 3490: /* ECPGTypeName: SQL_UNSIGNED */ #line 18702 "preproc.y" { (yyval.str) = mm_strdup("unsigned"); } #line 65264 "preproc.c" break; case 3491: /* symbol: ColLabel */ #line 18705 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65270 "preproc.c" break; case 3492: /* ECPGColId: ecpg_ident */ #line 18708 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65276 "preproc.c" break; case 3493: /* ECPGColId: unreserved_keyword */ #line 18709 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65282 "preproc.c" break; case 3494: /* ECPGColId: col_name_keyword */ #line 18710 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65288 "preproc.c" break; case 3495: /* ECPGColId: ECPGunreserved_interval */ #line 18711 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65294 "preproc.c" break; case 3496: /* ECPGColId: ECPGKeywords */ #line 18712 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65300 "preproc.c" break; case 3497: /* ECPGColId: ECPGCKeywords */ #line 18713 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65306 "preproc.c" break; case 3498: /* ECPGColId: CHAR_P */ #line 18714 "preproc.y" { (yyval.str) = mm_strdup("char"); } #line 65312 "preproc.c" break; case 3499: /* ECPGColId: VALUES */ #line 18715 "preproc.y" { (yyval.str) = mm_strdup("values"); } #line 65318 "preproc.c" break; case 3500: /* ColId: ecpg_ident */ #line 18728 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65324 "preproc.c" break; case 3501: /* ColId: all_unreserved_keyword */ #line 18729 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65330 "preproc.c" break; case 3502: /* ColId: col_name_keyword */ #line 18730 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65336 "preproc.c" break; case 3503: /* ColId: ECPGKeywords */ #line 18731 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65342 "preproc.c" break; case 3504: /* ColId: ECPGCKeywords */ #line 18732 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65348 "preproc.c" break; case 3505: /* ColId: CHAR_P */ #line 18733 "preproc.y" { (yyval.str) = mm_strdup("char"); } #line 65354 "preproc.c" break; case 3506: /* ColId: VALUES */ #line 18734 "preproc.y" { (yyval.str) = mm_strdup("values"); } #line 65360 "preproc.c" break; case 3507: /* type_function_name: ecpg_ident */ #line 18739 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65366 "preproc.c" break; case 3508: /* type_function_name: all_unreserved_keyword */ #line 18740 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65372 "preproc.c" break; case 3509: /* type_function_name: type_func_name_keyword */ #line 18741 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65378 "preproc.c" break; case 3510: /* type_function_name: ECPGKeywords */ #line 18742 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65384 "preproc.c" break; case 3511: /* type_function_name: ECPGCKeywords */ #line 18743 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65390 "preproc.c" break; case 3512: /* type_function_name: ECPGTypeName */ #line 18744 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65396 "preproc.c" break; case 3513: /* ColLabel: ECPGColLabel */ #line 18750 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65402 "preproc.c" break; case 3514: /* ColLabel: ECPGTypeName */ #line 18751 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65408 "preproc.c" break; case 3515: /* ColLabel: CHAR_P */ #line 18752 "preproc.y" { (yyval.str) = mm_strdup("char"); } #line 65414 "preproc.c" break; case 3516: /* ColLabel: CURRENT_P */ #line 18753 "preproc.y" { (yyval.str) = mm_strdup("current"); } #line 65420 "preproc.c" break; case 3517: /* ColLabel: INPUT_P */ #line 18754 "preproc.y" { (yyval.str) = mm_strdup("input"); } #line 65426 "preproc.c" break; case 3518: /* ColLabel: INT_P */ #line 18755 "preproc.y" { (yyval.str) = mm_strdup("int"); } #line 65432 "preproc.c" break; case 3519: /* ColLabel: TO */ #line 18756 "preproc.y" { (yyval.str) = mm_strdup("to"); } #line 65438 "preproc.c" break; case 3520: /* ColLabel: UNION */ #line 18757 "preproc.y" { (yyval.str) = mm_strdup("union"); } #line 65444 "preproc.c" break; case 3521: /* ColLabel: VALUES */ #line 18758 "preproc.y" { (yyval.str) = mm_strdup("values"); } #line 65450 "preproc.c" break; case 3522: /* ColLabel: ECPGCKeywords */ #line 18759 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65456 "preproc.c" break; case 3523: /* ColLabel: ECPGunreserved_interval */ #line 18760 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65462 "preproc.c" break; case 3524: /* ECPGColLabel: ECPGColLabelCommon */ #line 18763 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65468 "preproc.c" break; case 3525: /* ECPGColLabel: unreserved_keyword */ #line 18764 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65474 "preproc.c" break; case 3526: /* ECPGColLabel: reserved_keyword */ #line 18765 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65480 "preproc.c" break; case 3527: /* ECPGColLabel: ECPGKeywords_rest */ #line 18766 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65486 "preproc.c" break; case 3528: /* ECPGColLabel: CONNECTION */ #line 18767 "preproc.y" { (yyval.str) = mm_strdup("connection"); } #line 65492 "preproc.c" break; case 3529: /* ECPGColLabelCommon: ecpg_ident */ #line 18770 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65498 "preproc.c" break; case 3530: /* ECPGColLabelCommon: col_name_keyword */ #line 18771 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65504 "preproc.c" break; case 3531: /* ECPGColLabelCommon: type_func_name_keyword */ #line 18772 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65510 "preproc.c" break; case 3532: /* ECPGColLabelCommon: ECPGKeywords_vanames */ #line 18773 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65516 "preproc.c" break; case 3533: /* ECPGCKeywords: S_AUTO */ #line 18776 "preproc.y" { (yyval.str) = mm_strdup("auto"); } #line 65522 "preproc.c" break; case 3534: /* ECPGCKeywords: S_CONST */ #line 18777 "preproc.y" { (yyval.str) = mm_strdup("const"); } #line 65528 "preproc.c" break; case 3535: /* ECPGCKeywords: S_EXTERN */ #line 18778 "preproc.y" { (yyval.str) = mm_strdup("extern"); } #line 65534 "preproc.c" break; case 3536: /* ECPGCKeywords: S_REGISTER */ #line 18779 "preproc.y" { (yyval.str) = mm_strdup("register"); } #line 65540 "preproc.c" break; case 3537: /* ECPGCKeywords: S_STATIC */ #line 18780 "preproc.y" { (yyval.str) = mm_strdup("static"); } #line 65546 "preproc.c" break; case 3538: /* ECPGCKeywords: S_TYPEDEF */ #line 18781 "preproc.y" { (yyval.str) = mm_strdup("typedef"); } #line 65552 "preproc.c" break; case 3539: /* ECPGCKeywords: S_VOLATILE */ #line 18782 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } #line 65558 "preproc.c" break; case 3540: /* all_unreserved_keyword: unreserved_keyword */ #line 18799 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65564 "preproc.c" break; case 3541: /* all_unreserved_keyword: ECPGunreserved_interval */ #line 18800 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65570 "preproc.c" break; case 3542: /* all_unreserved_keyword: CONNECTION */ #line 18801 "preproc.y" { (yyval.str) = mm_strdup("connection"); } #line 65576 "preproc.c" break; case 3543: /* ECPGunreserved_interval: DAY_P */ #line 18804 "preproc.y" { (yyval.str) = mm_strdup("day"); } #line 65582 "preproc.c" break; case 3544: /* ECPGunreserved_interval: HOUR_P */ #line 18805 "preproc.y" { (yyval.str) = mm_strdup("hour"); } #line 65588 "preproc.c" break; case 3545: /* ECPGunreserved_interval: MINUTE_P */ #line 18806 "preproc.y" { (yyval.str) = mm_strdup("minute"); } #line 65594 "preproc.c" break; case 3546: /* ECPGunreserved_interval: MONTH_P */ #line 18807 "preproc.y" { (yyval.str) = mm_strdup("month"); } #line 65600 "preproc.c" break; case 3547: /* ECPGunreserved_interval: SECOND_P */ #line 18808 "preproc.y" { (yyval.str) = mm_strdup("second"); } #line 65606 "preproc.c" break; case 3548: /* ECPGunreserved_interval: YEAR_P */ #line 18809 "preproc.y" { (yyval.str) = mm_strdup("year"); } #line 65612 "preproc.c" break; case 3551: /* ecpgstart: SQL_START */ #line 18816 "preproc.y" { reset_variables(); pacounter = 1; } #line 65621 "preproc.c" break; case 3552: /* c_args: %empty */ #line 18822 "preproc.y" { (yyval.str) = EMPTY; } #line 65627 "preproc.c" break; case 3553: /* c_args: c_list */ #line 18823 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65633 "preproc.c" break; case 3554: /* coutputvariable: cvariable indicator */ #line 18827 "preproc.y" { add_variable_to_head(&argsresult, find_variable((yyvsp[-1].str)), find_variable((yyvsp[0].str))); } #line 65639 "preproc.c" break; case 3555: /* coutputvariable: cvariable */ #line 18829 "preproc.y" { add_variable_to_head(&argsresult, find_variable((yyvsp[0].str)), &no_indicator); } #line 65645 "preproc.c" break; case 3556: /* civarind: cvariable indicator */ #line 18834 "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 65657 "preproc.c" break; case 3557: /* char_civar: char_variable */ #line 18844 "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 65670 "preproc.c" break; case 3558: /* civar: cvariable */ #line 18855 "preproc.y" { add_variable_to_head(&argsinsert, find_variable((yyvsp[0].str)), &no_indicator); (yyval.str) = create_questionmarks((yyvsp[0].str), false); } #line 65679 "preproc.c" break; case 3559: /* indicator: cvariable */ #line 18861 "preproc.y" { check_indicator((find_variable((yyvsp[0].str)))->type); (yyval.str) = (yyvsp[0].str); } #line 65685 "preproc.c" break; case 3560: /* indicator: SQL_INDICATOR cvariable */ #line 18862 "preproc.y" { check_indicator((find_variable((yyvsp[0].str)))->type); (yyval.str) = (yyvsp[0].str); } #line 65691 "preproc.c" break; case 3561: /* indicator: SQL_INDICATOR name */ #line 18863 "preproc.y" { check_indicator((find_variable((yyvsp[0].str)))->type); (yyval.str) = (yyvsp[0].str); } #line 65697 "preproc.c" break; case 3562: /* cvariable: CVARIABLE */ #line 18867 "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 65732 "preproc.c" break; case 3563: /* ecpg_param: PARAM */ #line 18899 "preproc.y" { (yyval.str) = make_name(); } #line 65738 "preproc.c" break; case 3564: /* ecpg_bconst: BCONST */ #line 18901 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65744 "preproc.c" break; case 3565: /* ecpg_fconst: FCONST */ #line 18903 "preproc.y" { (yyval.str) = make_name(); } #line 65750 "preproc.c" break; case 3566: /* ecpg_sconst: SCONST */ #line 18905 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65756 "preproc.c" break; case 3567: /* ecpg_xconst: XCONST */ #line 18907 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65762 "preproc.c" break; case 3568: /* ecpg_ident: IDENT */ #line 18909 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65768 "preproc.c" break; case 3569: /* ecpg_ident: CSTRING */ #line 18910 "preproc.y" { (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } #line 65774 "preproc.c" break; case 3570: /* quoted_ident_stringvar: name */ #line 18914 "preproc.y" { (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } #line 65780 "preproc.c" break; case 3571: /* quoted_ident_stringvar: char_variable */ #line 18916 "preproc.y" { (yyval.str) = make3_str(mm_strdup("("), (yyvsp[0].str), mm_strdup(")")); } #line 65786 "preproc.c" break; case 3572: /* c_stuff_item: c_anything */ #line 18923 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65792 "preproc.c" break; case 3573: /* c_stuff_item: '(' ')' */ #line 18924 "preproc.y" { (yyval.str) = mm_strdup("()"); } #line 65798 "preproc.c" break; case 3574: /* c_stuff_item: '(' c_stuff ')' */ #line 18926 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("("), (yyvsp[-1].str), mm_strdup(")")); } #line 65804 "preproc.c" break; case 3575: /* c_stuff: c_stuff_item */ #line 18929 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65810 "preproc.c" break; case 3576: /* c_stuff: c_stuff c_stuff_item */ #line 18931 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), (yyvsp[0].str)); } #line 65816 "preproc.c" break; case 3577: /* c_list: c_term */ #line 18934 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65822 "preproc.c" break; case 3578: /* c_list: c_list ',' c_term */ #line 18935 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup(","), (yyvsp[0].str)); } #line 65828 "preproc.c" break; case 3579: /* c_term: c_stuff */ #line 18938 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65834 "preproc.c" break; case 3580: /* c_term: '{' c_list '}' */ #line 18939 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("{"), (yyvsp[-1].str), mm_strdup("}")); } #line 65840 "preproc.c" break; case 3581: /* c_thing: c_anything */ #line 18942 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65846 "preproc.c" break; case 3582: /* c_thing: '(' */ #line 18943 "preproc.y" { (yyval.str) = mm_strdup("("); } #line 65852 "preproc.c" break; case 3583: /* c_thing: ')' */ #line 18944 "preproc.y" { (yyval.str) = mm_strdup(")"); } #line 65858 "preproc.c" break; case 3584: /* c_thing: ',' */ #line 18945 "preproc.y" { (yyval.str) = mm_strdup(","); } #line 65864 "preproc.c" break; case 3585: /* c_thing: ';' */ #line 18946 "preproc.y" { (yyval.str) = mm_strdup(";"); } #line 65870 "preproc.c" break; case 3586: /* c_anything: ecpg_ident */ #line 18949 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65876 "preproc.c" break; case 3587: /* c_anything: Iconst */ #line 18950 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65882 "preproc.c" break; case 3588: /* c_anything: ecpg_fconst */ #line 18951 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65888 "preproc.c" break; case 3589: /* c_anything: ecpg_sconst */ #line 18952 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65894 "preproc.c" break; case 3590: /* c_anything: '*' */ #line 18953 "preproc.y" { (yyval.str) = mm_strdup("*"); } #line 65900 "preproc.c" break; case 3591: /* c_anything: '+' */ #line 18954 "preproc.y" { (yyval.str) = mm_strdup("+"); } #line 65906 "preproc.c" break; case 3592: /* c_anything: '-' */ #line 18955 "preproc.y" { (yyval.str) = mm_strdup("-"); } #line 65912 "preproc.c" break; case 3593: /* c_anything: '/' */ #line 18956 "preproc.y" { (yyval.str) = mm_strdup("/"); } #line 65918 "preproc.c" break; case 3594: /* c_anything: '%' */ #line 18957 "preproc.y" { (yyval.str) = mm_strdup("%"); } #line 65924 "preproc.c" break; case 3595: /* c_anything: NULL_P */ #line 18958 "preproc.y" { (yyval.str) = mm_strdup("NULL"); } #line 65930 "preproc.c" break; case 3596: /* c_anything: S_ADD */ #line 18959 "preproc.y" { (yyval.str) = mm_strdup("+="); } #line 65936 "preproc.c" break; case 3597: /* c_anything: S_AND */ #line 18960 "preproc.y" { (yyval.str) = mm_strdup("&&"); } #line 65942 "preproc.c" break; case 3598: /* c_anything: S_ANYTHING */ #line 18961 "preproc.y" { (yyval.str) = make_name(); } #line 65948 "preproc.c" break; case 3599: /* c_anything: S_AUTO */ #line 18962 "preproc.y" { (yyval.str) = mm_strdup("auto"); } #line 65954 "preproc.c" break; case 3600: /* c_anything: S_CONST */ #line 18963 "preproc.y" { (yyval.str) = mm_strdup("const"); } #line 65960 "preproc.c" break; case 3601: /* c_anything: S_DEC */ #line 18964 "preproc.y" { (yyval.str) = mm_strdup("--"); } #line 65966 "preproc.c" break; case 3602: /* c_anything: S_DIV */ #line 18965 "preproc.y" { (yyval.str) = mm_strdup("/="); } #line 65972 "preproc.c" break; case 3603: /* c_anything: S_DOTPOINT */ #line 18966 "preproc.y" { (yyval.str) = mm_strdup(".*"); } #line 65978 "preproc.c" break; case 3604: /* c_anything: S_EQUAL */ #line 18967 "preproc.y" { (yyval.str) = mm_strdup("=="); } #line 65984 "preproc.c" break; case 3605: /* c_anything: S_EXTERN */ #line 18968 "preproc.y" { (yyval.str) = mm_strdup("extern"); } #line 65990 "preproc.c" break; case 3606: /* c_anything: S_INC */ #line 18969 "preproc.y" { (yyval.str) = mm_strdup("++"); } #line 65996 "preproc.c" break; case 3607: /* c_anything: S_LSHIFT */ #line 18970 "preproc.y" { (yyval.str) = mm_strdup("<<"); } #line 66002 "preproc.c" break; case 3608: /* c_anything: S_MEMBER */ #line 18971 "preproc.y" { (yyval.str) = mm_strdup("->"); } #line 66008 "preproc.c" break; case 3609: /* c_anything: S_MEMPOINT */ #line 18972 "preproc.y" { (yyval.str) = mm_strdup("->*"); } #line 66014 "preproc.c" break; case 3610: /* c_anything: S_MOD */ #line 18973 "preproc.y" { (yyval.str) = mm_strdup("%="); } #line 66020 "preproc.c" break; case 3611: /* c_anything: S_MUL */ #line 18974 "preproc.y" { (yyval.str) = mm_strdup("*="); } #line 66026 "preproc.c" break; case 3612: /* c_anything: S_NEQUAL */ #line 18975 "preproc.y" { (yyval.str) = mm_strdup("!="); } #line 66032 "preproc.c" break; case 3613: /* c_anything: S_OR */ #line 18976 "preproc.y" { (yyval.str) = mm_strdup("||"); } #line 66038 "preproc.c" break; case 3614: /* c_anything: S_REGISTER */ #line 18977 "preproc.y" { (yyval.str) = mm_strdup("register"); } #line 66044 "preproc.c" break; case 3615: /* c_anything: S_RSHIFT */ #line 18978 "preproc.y" { (yyval.str) = mm_strdup(">>"); } #line 66050 "preproc.c" break; case 3616: /* c_anything: S_STATIC */ #line 18979 "preproc.y" { (yyval.str) = mm_strdup("static"); } #line 66056 "preproc.c" break; case 3617: /* c_anything: S_SUB */ #line 18980 "preproc.y" { (yyval.str) = mm_strdup("-="); } #line 66062 "preproc.c" break; case 3618: /* c_anything: S_TYPEDEF */ #line 18981 "preproc.y" { (yyval.str) = mm_strdup("typedef"); } #line 66068 "preproc.c" break; case 3619: /* c_anything: S_VOLATILE */ #line 18982 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } #line 66074 "preproc.c" break; case 3620: /* c_anything: SQL_BOOL */ #line 18983 "preproc.y" { (yyval.str) = mm_strdup("bool"); } #line 66080 "preproc.c" break; case 3621: /* c_anything: ENUM_P */ #line 18984 "preproc.y" { (yyval.str) = mm_strdup("enum"); } #line 66086 "preproc.c" break; case 3622: /* c_anything: HOUR_P */ #line 18985 "preproc.y" { (yyval.str) = mm_strdup("hour"); } #line 66092 "preproc.c" break; case 3623: /* c_anything: INT_P */ #line 18986 "preproc.y" { (yyval.str) = mm_strdup("int"); } #line 66098 "preproc.c" break; case 3624: /* c_anything: SQL_LONG */ #line 18987 "preproc.y" { (yyval.str) = mm_strdup("long"); } #line 66104 "preproc.c" break; case 3625: /* c_anything: MINUTE_P */ #line 18988 "preproc.y" { (yyval.str) = mm_strdup("minute"); } #line 66110 "preproc.c" break; case 3626: /* c_anything: MONTH_P */ #line 18989 "preproc.y" { (yyval.str) = mm_strdup("month"); } #line 66116 "preproc.c" break; case 3627: /* c_anything: SECOND_P */ #line 18990 "preproc.y" { (yyval.str) = mm_strdup("second"); } #line 66122 "preproc.c" break; case 3628: /* c_anything: SQL_SHORT */ #line 18991 "preproc.y" { (yyval.str) = mm_strdup("short"); } #line 66128 "preproc.c" break; case 3629: /* c_anything: SQL_SIGNED */ #line 18992 "preproc.y" { (yyval.str) = mm_strdup("signed"); } #line 66134 "preproc.c" break; case 3630: /* c_anything: SQL_STRUCT */ #line 18993 "preproc.y" { (yyval.str) = mm_strdup("struct"); } #line 66140 "preproc.c" break; case 3631: /* c_anything: SQL_UNSIGNED */ #line 18994 "preproc.y" { (yyval.str) = mm_strdup("unsigned"); } #line 66146 "preproc.c" break; case 3632: /* c_anything: YEAR_P */ #line 18995 "preproc.y" { (yyval.str) = mm_strdup("year"); } #line 66152 "preproc.c" break; case 3633: /* c_anything: CHAR_P */ #line 18996 "preproc.y" { (yyval.str) = mm_strdup("char"); } #line 66158 "preproc.c" break; case 3634: /* c_anything: FLOAT_P */ #line 18997 "preproc.y" { (yyval.str) = mm_strdup("float"); } #line 66164 "preproc.c" break; case 3635: /* c_anything: TO */ #line 18998 "preproc.y" { (yyval.str) = mm_strdup("to"); } #line 66170 "preproc.c" break; case 3636: /* c_anything: UNION */ #line 18999 "preproc.y" { (yyval.str) = mm_strdup("union"); } #line 66176 "preproc.c" break; case 3637: /* c_anything: VARCHAR */ #line 19000 "preproc.y" { (yyval.str) = mm_strdup("varchar"); } #line 66182 "preproc.c" break; case 3638: /* c_anything: '[' */ #line 19001 "preproc.y" { (yyval.str) = mm_strdup("["); } #line 66188 "preproc.c" break; case 3639: /* c_anything: ']' */ #line 19002 "preproc.y" { (yyval.str) = mm_strdup("]"); } #line 66194 "preproc.c" break; case 3640: /* c_anything: '=' */ #line 19003 "preproc.y" { (yyval.str) = mm_strdup("="); } #line 66200 "preproc.c" break; case 3641: /* c_anything: ':' */ #line 19004 "preproc.y" { (yyval.str) = mm_strdup(":"); } #line 66206 "preproc.c" break; case 3642: /* DeallocateStmt: DEALLOCATE prepared_name */ #line 19007 "preproc.y" { check_declared_list((yyvsp[0].str)); (yyval.str) = (yyvsp[0].str); } #line 66212 "preproc.c" break; case 3643: /* DeallocateStmt: DEALLOCATE PREPARE prepared_name */ #line 19008 "preproc.y" { check_declared_list((yyvsp[0].str)); (yyval.str) = (yyvsp[0].str); } #line 66218 "preproc.c" break; case 3644: /* DeallocateStmt: DEALLOCATE ALL */ #line 19009 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 66224 "preproc.c" break; case 3645: /* DeallocateStmt: DEALLOCATE PREPARE ALL */ #line 19010 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 66230 "preproc.c" break; case 3646: /* Iresult: Iconst */ #line 19013 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66236 "preproc.c" break; case 3647: /* Iresult: '(' Iresult ')' */ #line 19014 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("("), (yyvsp[-1].str), mm_strdup(")")); } #line 66242 "preproc.c" break; case 3648: /* Iresult: Iresult '+' Iresult */ #line 19015 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup("+"), (yyvsp[0].str)); } #line 66248 "preproc.c" break; case 3649: /* Iresult: Iresult '-' Iresult */ #line 19016 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup("-"), (yyvsp[0].str)); } #line 66254 "preproc.c" break; case 3650: /* Iresult: Iresult '*' Iresult */ #line 19017 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup("*"), (yyvsp[0].str)); } #line 66260 "preproc.c" break; case 3651: /* Iresult: Iresult '/' Iresult */ #line 19018 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup("/"), (yyvsp[0].str)); } #line 66266 "preproc.c" break; case 3652: /* Iresult: Iresult '%' Iresult */ #line 19019 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup("%"), (yyvsp[0].str)); } #line 66272 "preproc.c" break; case 3653: /* Iresult: ecpg_sconst */ #line 19020 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66278 "preproc.c" break; case 3654: /* Iresult: ColId */ #line 19021 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66284 "preproc.c" break; case 3655: /* Iresult: ColId '(' var_type ')' */ #line 19022 "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 66294 "preproc.c" break; case 3656: /* execute_rest: %empty */ #line 19029 "preproc.y" { (yyval.str) = EMPTY; } #line 66300 "preproc.c" break; case 3657: /* execute_rest: ecpg_using opt_ecpg_into */ #line 19030 "preproc.y" { (yyval.str) = EMPTY; } #line 66306 "preproc.c" break; case 3658: /* execute_rest: ecpg_into ecpg_using */ #line 19031 "preproc.y" { (yyval.str) = EMPTY; } #line 66312 "preproc.c" break; case 3659: /* execute_rest: ecpg_into */ #line 19032 "preproc.y" { (yyval.str) = EMPTY; } #line 66318 "preproc.c" break; case 3660: /* ecpg_into: INTO into_list */ #line 19035 "preproc.y" { (yyval.str) = EMPTY; } #line 66324 "preproc.c" break; case 3661: /* ecpg_into: into_descriptor */ #line 19036 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66330 "preproc.c" break; case 3662: /* opt_ecpg_into: %empty */ #line 19039 "preproc.y" { (yyval.str) = EMPTY; } #line 66336 "preproc.c" break; case 3663: /* opt_ecpg_into: ecpg_into */ #line 19040 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66342 "preproc.c" break; case 3664: /* ecpg_fetch_into: ecpg_into */ #line 19043 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66348 "preproc.c" break; case 3665: /* ecpg_fetch_into: using_descriptor */ #line 19045 "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 66361 "preproc.c" break; case 3666: /* opt_ecpg_fetch_into: %empty */ #line 19055 "preproc.y" { (yyval.str) = EMPTY; } #line 66367 "preproc.c" break; case 3667: /* opt_ecpg_fetch_into: ecpg_fetch_into */ #line 19056 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66373 "preproc.c" break; #line 66377 "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 19059 "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. */ }