/* A Bison parser, made by GNU Bison 3.8.2.9-6571. */ /* Skeleton implementation for Bison GLR parsers in C Copyright (C) 2002-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 GLR parser skeleton written by Paul Hilfinger. */ /* 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. */ /* Identify Bison output, and Bison version. */ #define YYBISON 30802 /* Bison version string. */ #define YYBISON_VERSION "3.8.2.9-6571" /* Skeleton name. */ #define YYSKELETON_NAME "glr.c" /* Pure parsers. */ #define YYPURE 0 /* First part of user prologue. */ #line 2 "cplusplus.y" #include extern int lineno; static void yyerror(const char *s); extern int yylex (void); #line 65 "cplusplus.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 "cplusplus.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_COMMA = 3, /* COMMA */ YYSYMBOL_CONSTEXPR = 4, /* CONSTEXPR */ YYSYMBOL_ELLIPSIS = 5, /* ELLIPSIS */ YYSYMBOL_EXPORT = 6, /* EXPORT */ YYSYMBOL_EXTERN = 7, /* EXTERN */ YYSYMBOL_IDENTIFIER = 8, /* IDENTIFIER */ YYSYMBOL_INLINE = 9, /* INLINE */ YYSYMBOL_NOEXCEPT = 10, /* NOEXCEPT */ YYSYMBOL_NOT = 11, /* NOT */ YYSYMBOL_SCOPE = 12, /* SCOPE */ YYSYMBOL_TEMPLATE = 13, /* TEMPLATE */ YYSYMBOL_THIS = 14, /* THIS */ YYSYMBOL_TYPENAME = 15, /* TYPENAME */ YYSYMBOL_VIRTUAL = 16, /* VIRTUAL */ YYSYMBOL_PRIVATE = 17, /* PRIVATE */ YYSYMBOL_PROTECTED = 18, /* PROTECTED */ YYSYMBOL_PUBLIC = 19, /* PUBLIC */ YYSYMBOL_PLUS = 20, /* PLUS */ YYSYMBOL_MINUS = 21, /* MINUS */ YYSYMBOL_USING = 22, /* USING */ YYSYMBOL_EQ = 23, /* EQ */ YYSYMBOL_SEMICOLON = 24, /* SEMICOLON */ YYSYMBOL_ALIGNAS = 25, /* ALIGNAS */ YYSYMBOL_OPEN_PAREN = 26, /* OPEN_PAREN */ YYSYMBOL_CLOSE_PAREN = 27, /* CLOSE_PAREN */ YYSYMBOL_AND = 28, /* AND */ YYSYMBOL_ASM = 29, /* ASM */ YYSYMBOL_MULT_EQ = 30, /* MULT_EQ */ YYSYMBOL_DIV_EQ = 31, /* DIV_EQ */ YYSYMBOL_MOD_EQ = 32, /* MOD_EQ */ YYSYMBOL_PLUS_EQ = 33, /* PLUS_EQ */ YYSYMBOL_MINUS_EQ = 34, /* MINUS_EQ */ YYSYMBOL_RSHIFT_EQ = 35, /* RSHIFT_EQ */ YYSYMBOL_LSHIFT_EQ = 36, /* LSHIFT_EQ */ YYSYMBOL_AND_EQ = 37, /* AND_EQ */ YYSYMBOL_XOR_EQ = 38, /* XOR_EQ */ YYSYMBOL_OR_EQ = 39, /* OR_EQ */ YYSYMBOL_OPEN_SQUARE = 40, /* OPEN_SQUARE */ YYSYMBOL_CLOSE_SQUARE = 41, /* CLOSE_SQUARE */ YYSYMBOL_COLON = 42, /* COLON */ YYSYMBOL_CO_AWAIT = 43, /* CO_AWAIT */ YYSYMBOL_OPEN_BRACE = 44, /* OPEN_BRACE */ YYSYMBOL_CLOSE_BRACE = 45, /* CLOSE_BRACE */ YYSYMBOL_BALANCED_TOKEN = 46, /* BALANCED_TOKEN */ YYSYMBOL_CLASS = 47, /* CLASS */ YYSYMBOL_STRUCT = 48, /* STRUCT */ YYSYMBOL_UNION = 49, /* UNION */ YYSYMBOL_FINAL = 50, /* FINAL */ YYSYMBOL_SPACESHIP = 51, /* SPACESHIP */ YYSYMBOL_CONCEPT = 52, /* CONCEPT */ YYSYMBOL_QUERY = 53, /* QUERY */ YYSYMBOL_AND_AND = 54, /* AND_AND */ YYSYMBOL_OR_OR = 55, /* OR_OR */ YYSYMBOL_OPERATOR = 56, /* OPERATOR */ YYSYMBOL_CO_RETURN = 57, /* CO_RETURN */ YYSYMBOL_CONST = 58, /* CONST */ YYSYMBOL_VOLATILE = 59, /* VOLATILE */ YYSYMBOL_FRIEND = 60, /* FRIEND */ YYSYMBOL_TYPEDEF = 61, /* TYPEDEF */ YYSYMBOL_CONSTEVAL = 62, /* CONSTEVAL */ YYSYMBOL_CONSTINIT = 63, /* CONSTINIT */ YYSYMBOL_DECLTYPE = 64, /* DECLTYPE */ YYSYMBOL_DEREF = 65, /* DEREF */ YYSYMBOL_DELETE = 66, /* DELETE */ YYSYMBOL_DOT = 67, /* DOT */ YYSYMBOL_ENUM = 68, /* ENUM */ YYSYMBOL_EQ_EQ = 69, /* EQ_EQ */ YYSYMBOL_NOT_EQ = 70, /* NOT_EQ */ YYSYMBOL_XOR = 71, /* XOR */ YYSYMBOL_LESS = 72, /* LESS */ YYSYMBOL_GREATER = 73, /* GREATER */ YYSYMBOL_EXPLICIT = 74, /* EXPLICIT */ YYSYMBOL_MULT = 75, /* MULT */ YYSYMBOL_DIV = 76, /* DIV */ YYSYMBOL_MOD = 77, /* MOD */ YYSYMBOL_OR = 78, /* OR */ YYSYMBOL_LSHIFT = 79, /* LSHIFT */ YYSYMBOL_RSHIFT = 80, /* RSHIFT */ YYSYMBOL_LESS_EQ = 81, /* LESS_EQ */ YYSYMBOL_GREATER_EQ = 82, /* GREATER_EQ */ YYSYMBOL_DOT_STAR = 83, /* DOT_STAR */ YYSYMBOL_DEREF_STAR = 84, /* DEREF_STAR */ YYSYMBOL_DEFAULT = 85, /* DEFAULT */ YYSYMBOL_TRY = 86, /* TRY */ YYSYMBOL_MODULE = 87, /* MODULE */ YYSYMBOL_CATCH = 88, /* CATCH */ YYSYMBOL_HEADER_NAME = 89, /* HEADER_NAME */ YYSYMBOL_WHILE = 90, /* WHILE */ YYSYMBOL_DO = 91, /* DO */ YYSYMBOL_FOR = 92, /* FOR */ YYSYMBOL_BREAK = 93, /* BREAK */ YYSYMBOL_CONTINUE = 94, /* CONTINUE */ YYSYMBOL_RETURN = 95, /* RETURN */ YYSYMBOL_GOTO = 96, /* GOTO */ YYSYMBOL_CASE = 97, /* CASE */ YYSYMBOL_IMPORT = 98, /* IMPORT */ YYSYMBOL_NAMESPACE = 99, /* NAMESPACE */ YYSYMBOL_REQUIRES = 100, /* REQUIRES */ YYSYMBOL_NEW = 101, /* NEW */ YYSYMBOL_COMPL = 102, /* COMPL */ YYSYMBOL_PLUS_PLUS = 103, /* PLUS_PLUS */ YYSYMBOL_MINUS_MINUS = 104, /* MINUS_MINUS */ YYSYMBOL_AUTO = 105, /* AUTO */ YYSYMBOL_DYNAMIC_CAST = 106, /* DYNAMIC_CAST */ YYSYMBOL_STATIC_CAST = 107, /* STATIC_CAST */ YYSYMBOL_REINTERPRET_CAST = 108, /* REINTERPRET_CAST */ YYSYMBOL_CONST_CAST = 109, /* CONST_CAST */ YYSYMBOL_TYPEID = 110, /* TYPEID */ YYSYMBOL_LITERAL = 111, /* LITERAL */ YYSYMBOL_IF = 112, /* IF */ YYSYMBOL_ELSE = 113, /* ELSE */ YYSYMBOL_SWITCH = 114, /* SWITCH */ YYSYMBOL_CHAR = 115, /* CHAR */ YYSYMBOL_CHAR8_T = 116, /* CHAR8_T */ YYSYMBOL_CHAR16_T = 117, /* CHAR16_T */ YYSYMBOL_CHAR32_T = 118, /* CHAR32_T */ YYSYMBOL_WCHAR_T = 119, /* WCHAR_T */ YYSYMBOL_BOOL = 120, /* BOOL */ YYSYMBOL_SHORT = 121, /* SHORT */ YYSYMBOL_INT = 122, /* INT */ YYSYMBOL_LONG = 123, /* LONG */ YYSYMBOL_SIGNED = 124, /* SIGNED */ YYSYMBOL_UNSIGNED = 125, /* UNSIGNED */ YYSYMBOL_FLOAT = 126, /* FLOAT */ YYSYMBOL_DOUBLE = 127, /* DOUBLE */ YYSYMBOL_VOID = 128, /* VOID */ YYSYMBOL_STATIC_ASSERT = 129, /* STATIC_ASSERT */ YYSYMBOL_STATIC = 130, /* STATIC */ YYSYMBOL_THREAD_LOCAL = 131, /* THREAD_LOCAL */ YYSYMBOL_MUTABLE = 132, /* MUTABLE */ YYSYMBOL_STRING_LITERAL = 133, /* STRING_LITERAL */ YYSYMBOL_THROW = 134, /* THROW */ YYSYMBOL_SIZEOF = 135, /* SIZEOF */ YYSYMBOL_ALIGNOF = 136, /* ALIGNOF */ YYSYMBOL_OVERRIDE = 137, /* OVERRIDE */ YYSYMBOL_CO_YIELD = 138, /* CO_YIELD */ YYSYMBOL_139_0_ = 139, /* '0' */ YYSYMBOL_YYACCEPT = 140, /* $accept */ YYSYMBOL_141_COMMA_opt = 141, /* COMMA-opt */ YYSYMBOL_142_CONSTEXPR_opt = 142, /* CONSTEXPR-opt */ YYSYMBOL_143_ELLIPSIS_opt = 143, /* ELLIPSIS-opt */ YYSYMBOL_144_EXPORT_opt = 144, /* EXPORT-opt */ YYSYMBOL_145_EXTERN_opt = 145, /* EXTERN-opt */ YYSYMBOL_146_IDENTIFIER_opt = 146, /* IDENTIFIER-opt */ YYSYMBOL_147_INLINE_opt = 147, /* INLINE-opt */ YYSYMBOL_148_NOEXCEPT_opt = 148, /* NOEXCEPT-opt */ YYSYMBOL_149_NOT_opt = 149, /* NOT-opt */ YYSYMBOL_150_SCOPE_opt = 150, /* SCOPE-opt */ YYSYMBOL_151_TEMPLATE_opt = 151, /* TEMPLATE-opt */ YYSYMBOL_152_THIS_opt = 152, /* THIS-opt */ YYSYMBOL_153_TYPENAME_opt = 153, /* TYPENAME-opt */ YYSYMBOL_154_VIRTUAL_opt = 154, /* VIRTUAL-opt */ YYSYMBOL_155_abstract_declarator = 155, /* abstract-declarator */ YYSYMBOL_156_abstract_declarator_opt = 156, /* abstract-declarator-opt */ YYSYMBOL_157_abstract_pack_declarator = 157, /* abstract-pack-declarator */ YYSYMBOL_158_access_specifier = 158, /* access-specifier */ YYSYMBOL_159_access_specifier_opt = 159, /* access-specifier-opt */ YYSYMBOL_160_additive_expression = 160, /* additive-expression */ YYSYMBOL_161_alias_declaration = 161, /* alias-declaration */ YYSYMBOL_162_alignment_specifier = 162, /* alignment-specifier */ YYSYMBOL_163_and_expression = 163, /* and-expression */ YYSYMBOL_164_asm_declaration = 164, /* asm-declaration */ YYSYMBOL_165_assignment_expression = 165, /* assignment-expression */ YYSYMBOL_166_assignment_expression_opt = 166, /* assignment-expression-opt */ YYSYMBOL_167_assignment_operator = 167, /* assignment-operator */ YYSYMBOL_attribute = 168, /* attribute */ YYSYMBOL_169_attribute_argument_clause = 169, /* attribute-argument-clause */ YYSYMBOL_170_attribute_argument_clause_opt = 170, /* attribute-argument-clause-opt */ YYSYMBOL_171_attribute_declaration = 171, /* attribute-declaration */ YYSYMBOL_172_attribute_list = 172, /* attribute-list */ YYSYMBOL_173_attribute_namespace = 173, /* attribute-namespace */ YYSYMBOL_174_attribute_opt = 174, /* attribute-opt */ YYSYMBOL_175_attribute_scoped_token = 175, /* attribute-scoped-token */ YYSYMBOL_176_attribute_specifier = 176, /* attribute-specifier */ YYSYMBOL_177_attribute_specifier_seq = 177, /* attribute-specifier-seq */ YYSYMBOL_178_attribute_specifier_seq_opt = 178, /* attribute-specifier-seq-opt */ YYSYMBOL_179_attribute_token = 179, /* attribute-token */ YYSYMBOL_180_attribute_using_prefix = 180, /* attribute-using-prefix */ YYSYMBOL_181_attribute_using_prefix_opt = 181, /* attribute-using-prefix-opt */ YYSYMBOL_182_await_expression = 182, /* await-expression */ YYSYMBOL_183_balanced_token = 183, /* balanced-token */ YYSYMBOL_184_balanced_token_seq = 184, /* balanced-token-seq */ YYSYMBOL_185_balanced_token_seq_opt = 185, /* balanced-token-seq-opt */ YYSYMBOL_186_base_clause = 186, /* base-clause */ YYSYMBOL_187_base_clause_opt = 187, /* base-clause-opt */ YYSYMBOL_188_base_specifier = 188, /* base-specifier */ YYSYMBOL_189_base_specifier_list = 189, /* base-specifier-list */ YYSYMBOL_190_block_declaration = 190, /* block-declaration */ YYSYMBOL_191_brace_or_equal_initializer = 191, /* brace-or-equal-initializer */ YYSYMBOL_192_brace_or_equal_initializer_opt = 192, /* brace-or-equal-initializer-opt */ YYSYMBOL_193_braced_init_list = 193, /* braced-init-list */ YYSYMBOL_capture = 194, /* capture */ YYSYMBOL_195_capture_default = 195, /* capture-default */ YYSYMBOL_196_capture_list = 196, /* capture-list */ YYSYMBOL_197_cast_expression = 197, /* cast-expression */ YYSYMBOL_198_class_head = 198, /* class-head */ YYSYMBOL_199_class_head_name = 199, /* class-head-name */ YYSYMBOL_200_class_key = 200, /* class-key */ YYSYMBOL_201_class_name = 201, /* class-name */ YYSYMBOL_202_class_or_decltype = 202, /* class-or-decltype */ YYSYMBOL_203_class_specifier = 203, /* class-specifier */ YYSYMBOL_204_class_virt_specifier = 204, /* class-virt-specifier */ YYSYMBOL_205_class_virt_specifier_opt = 205, /* class-virt-specifier-opt */ YYSYMBOL_206_compare_expression = 206, /* compare-expression */ YYSYMBOL_207_compound_requirement = 207, /* compound-requirement */ YYSYMBOL_208_compound_statement = 208, /* compound-statement */ YYSYMBOL_209_concept_definition = 209, /* concept-definition */ YYSYMBOL_210_concept_name = 210, /* concept-name */ YYSYMBOL_condition = 211, /* condition */ YYSYMBOL_212_condition_opt = 212, /* condition-opt */ YYSYMBOL_213_conditional_expression = 213, /* conditional-expression */ YYSYMBOL_214_constant_expression = 214, /* constant-expression */ YYSYMBOL_215_constant_expression_opt = 215, /* constant-expression-opt */ YYSYMBOL_216_constraint_expression = 216, /* constraint-expression */ YYSYMBOL_217_constraint_logical_and_expression = 217, /* constraint-logical-and-expression */ YYSYMBOL_218_constraint_logical_or_expression = 218, /* constraint-logical-or-expression */ YYSYMBOL_219_conversion_declarator = 219, /* conversion-declarator */ YYSYMBOL_220_conversion_declarator_opt = 220, /* conversion-declarator-opt */ YYSYMBOL_221_conversion_function_id = 221, /* conversion-function-id */ YYSYMBOL_222_conversion_type_id = 222, /* conversion-type-id */ YYSYMBOL_223_coroutine_return_statement = 223, /* coroutine-return-statement */ YYSYMBOL_224_ctor_initializer = 224, /* ctor-initializer */ YYSYMBOL_225_ctor_initializer_opt = 225, /* ctor-initializer-opt */ YYSYMBOL_226_cv_qualifier = 226, /* cv-qualifier */ YYSYMBOL_227_cv_qualifier_seq = 227, /* cv-qualifier-seq */ YYSYMBOL_228_cv_qualifier_seq_opt = 228, /* cv-qualifier-seq-opt */ YYSYMBOL_229_decl_specifier = 229, /* decl-specifier */ YYSYMBOL_230_decl_specifier_seq = 230, /* decl-specifier-seq */ YYSYMBOL_231_decl_specifier_seq_opt = 231, /* decl-specifier-seq-opt */ YYSYMBOL_declaration = 232, /* declaration */ YYSYMBOL_233_declaration_seq = 233, /* declaration-seq */ YYSYMBOL_234_declaration_seq_opt = 234, /* declaration-seq-opt */ YYSYMBOL_235_declaration_statement = 235, /* declaration-statement */ YYSYMBOL_declarator = 236, /* declarator */ YYSYMBOL_237_declarator_id = 237, /* declarator-id */ YYSYMBOL_238_decltype_specifier = 238, /* decltype-specifier */ YYSYMBOL_239_deduction_guide = 239, /* deduction-guide */ YYSYMBOL_240_defining_type_id = 240, /* defining-type-id */ YYSYMBOL_241_defining_type_specifier = 241, /* defining-type-specifier */ YYSYMBOL_242_defining_type_specifier_seq = 242, /* defining-type-specifier-seq */ YYSYMBOL_243_delete_expression = 243, /* delete-expression */ YYSYMBOL_244_designated_initializer_clause = 244, /* designated-initializer-clause */ YYSYMBOL_245_designated_initializer_list = 245, /* designated-initializer-list */ YYSYMBOL_designator = 246, /* designator */ YYSYMBOL_247_elaborated_enum_specifier = 247, /* elaborated-enum-specifier */ YYSYMBOL_248_elaborated_type_specifier = 248, /* elaborated-type-specifier */ YYSYMBOL_249_empty_declaration = 249, /* empty-declaration */ YYSYMBOL_250_enclosing_namespace_specifier = 250, /* enclosing-namespace-specifier */ YYSYMBOL_251_enum_base = 251, /* enum-base */ YYSYMBOL_252_enum_base_opt = 252, /* enum-base-opt */ YYSYMBOL_253_enum_head = 253, /* enum-head */ YYSYMBOL_254_enum_head_name = 254, /* enum-head-name */ YYSYMBOL_255_enum_head_name_opt = 255, /* enum-head-name-opt */ YYSYMBOL_256_enum_key = 256, /* enum-key */ YYSYMBOL_257_enum_name = 257, /* enum-name */ YYSYMBOL_258_enum_specifier = 258, /* enum-specifier */ YYSYMBOL_enumerator = 259, /* enumerator */ YYSYMBOL_260_enumerator_definition = 260, /* enumerator-definition */ YYSYMBOL_261_enumerator_list = 261, /* enumerator-list */ YYSYMBOL_262_enumerator_list_opt = 262, /* enumerator-list-opt */ YYSYMBOL_263_equality_expression = 263, /* equality-expression */ YYSYMBOL_264_exception_declaration = 264, /* exception-declaration */ YYSYMBOL_265_exclusive_or_expression = 265, /* exclusive-or-expression */ YYSYMBOL_266_explicit_instantiation = 266, /* explicit-instantiation */ YYSYMBOL_267_explicit_specialization = 267, /* explicit-specialization */ YYSYMBOL_268_explicit_specifier = 268, /* explicit-specifier */ YYSYMBOL_269_explicit_specifier_opt = 269, /* explicit-specifier-opt */ YYSYMBOL_270_export_declaration = 270, /* export-declaration */ YYSYMBOL_271_expr_or_braced_init_list = 271, /* expr-or-braced-init-list */ YYSYMBOL_272_expr_or_braced_init_list_opt = 272, /* expr-or-braced-init-list-opt */ YYSYMBOL_expression = 273, /* expression */ YYSYMBOL_274_expression_list = 274, /* expression-list */ YYSYMBOL_275_expression_list_opt = 275, /* expression-list-opt */ YYSYMBOL_276_expression_opt = 276, /* expression-opt */ YYSYMBOL_277_expression_statement = 277, /* expression-statement */ YYSYMBOL_278_fold_expression = 278, /* fold-expression */ YYSYMBOL_279_fold_operator = 279, /* fold-operator */ YYSYMBOL_280_for_range_declaration = 280, /* for-range-declaration */ YYSYMBOL_281_for_range_initializer = 281, /* for-range-initializer */ YYSYMBOL_282_function_body = 282, /* function-body */ YYSYMBOL_283_function_definition = 283, /* function-definition */ YYSYMBOL_284_function_specifier = 284, /* function-specifier */ YYSYMBOL_285_function_try_block = 285, /* function-try-block */ YYSYMBOL_286_global_module_fragment = 286, /* global-module-fragment */ YYSYMBOL_287_global_module_fragment_opt = 287, /* global-module-fragment-opt */ YYSYMBOL_handler = 288, /* handler */ YYSYMBOL_289_handler_seq = 289, /* handler-seq */ YYSYMBOL_290_handler_seq_opt = 290, /* handler-seq-opt */ YYSYMBOL_291_header_name = 291, /* header-name */ YYSYMBOL_292_id_expression = 292, /* id-expression */ YYSYMBOL_293_identifier_list = 293, /* identifier-list */ YYSYMBOL_294_inclusive_or_expression = 294, /* inclusive-or-expression */ YYSYMBOL_295_init_capture = 295, /* init-capture */ YYSYMBOL_296_init_declarator = 296, /* init-declarator */ YYSYMBOL_297_init_declarator_list = 297, /* init-declarator-list */ YYSYMBOL_298_init_declarator_list_opt = 298, /* init-declarator-list-opt */ YYSYMBOL_299_init_statement = 299, /* init-statement */ YYSYMBOL_300_init_statement_opt = 300, /* init-statement-opt */ YYSYMBOL_initializer = 301, /* initializer */ YYSYMBOL_302_initializer_clause = 302, /* initializer-clause */ YYSYMBOL_303_initializer_list = 303, /* initializer-list */ YYSYMBOL_304_initializer_opt = 304, /* initializer-opt */ YYSYMBOL_305_iteration_statement = 305, /* iteration-statement */ YYSYMBOL_306_jump_statement = 306, /* jump-statement */ YYSYMBOL_307_labeled_statement = 307, /* labeled-statement */ YYSYMBOL_308_lambda_capture = 308, /* lambda-capture */ YYSYMBOL_309_lambda_capture_opt = 309, /* lambda-capture-opt */ YYSYMBOL_310_lambda_declarator = 310, /* lambda-declarator */ YYSYMBOL_311_lambda_expression = 311, /* lambda-expression */ YYSYMBOL_312_lambda_introducer = 312, /* lambda-introducer */ YYSYMBOL_313_lambda_specifiers = 313, /* lambda-specifiers */ YYSYMBOL_314_linkage_specification = 314, /* linkage-specification */ YYSYMBOL_315_literal_operator_id = 315, /* literal-operator-id */ YYSYMBOL_316_logical_and_expression = 316, /* logical-and-expression */ YYSYMBOL_317_logical_or_expression = 317, /* logical-or-expression */ YYSYMBOL_318_mem_initializer = 318, /* mem-initializer */ YYSYMBOL_319_mem_initializer_id = 319, /* mem-initializer-id */ YYSYMBOL_320_mem_initializer_list = 320, /* mem-initializer-list */ YYSYMBOL_321_member_declaration = 321, /* member-declaration */ YYSYMBOL_322_member_declarator = 322, /* member-declarator */ YYSYMBOL_323_member_declarator_list = 323, /* member-declarator-list */ YYSYMBOL_324_member_declarator_list_opt = 324, /* member-declarator-list-opt */ YYSYMBOL_325_member_specification = 325, /* member-specification */ YYSYMBOL_326_member_specification_opt = 326, /* member-specification-opt */ YYSYMBOL_327_module_declaration = 327, /* module-declaration */ YYSYMBOL_328_module_import_declaration = 328, /* module-import-declaration */ YYSYMBOL_329_module_name = 329, /* module-name */ YYSYMBOL_330_module_name_qualifier = 330, /* module-name-qualifier */ YYSYMBOL_331_module_name_qualifier_opt = 331, /* module-name-qualifier-opt */ YYSYMBOL_332_module_partition = 332, /* module-partition */ YYSYMBOL_333_module_partition_opt = 333, /* module-partition-opt */ YYSYMBOL_334_multiplicative_expression = 334, /* multiplicative-expression */ YYSYMBOL_335_named_namespace_definition = 335, /* named-namespace-definition */ YYSYMBOL_336_namespace_alias = 336, /* namespace-alias */ YYSYMBOL_337_namespace_alias_definition = 337, /* namespace-alias-definition */ YYSYMBOL_338_namespace_body = 338, /* namespace-body */ YYSYMBOL_339_namespace_definition = 339, /* namespace-definition */ YYSYMBOL_340_namespace_name = 340, /* namespace-name */ YYSYMBOL_341_nested_name_specifier = 341, /* nested-name-specifier */ YYSYMBOL_342_nested_name_specifier_opt = 342, /* nested-name-specifier-opt */ YYSYMBOL_343_nested_namespace_definition = 343, /* nested-namespace-definition */ YYSYMBOL_344_nested_requirement = 344, /* nested-requirement */ YYSYMBOL_345_new_declarator = 345, /* new-declarator */ YYSYMBOL_346_new_declarator_opt = 346, /* new-declarator-opt */ YYSYMBOL_347_new_expression = 347, /* new-expression */ YYSYMBOL_348_new_initializer = 348, /* new-initializer */ YYSYMBOL_349_new_initializer_opt = 349, /* new-initializer-opt */ YYSYMBOL_350_new_placement = 350, /* new-placement */ YYSYMBOL_351_new_placement_opt = 351, /* new-placement-opt */ YYSYMBOL_352_new_type_id = 352, /* new-type-id */ YYSYMBOL_353_nodeclspec_function_declaration = 353, /* nodeclspec-function-declaration */ YYSYMBOL_354_noexcept_expression = 354, /* noexcept-expression */ YYSYMBOL_355_noexcept_specifier = 355, /* noexcept-specifier */ YYSYMBOL_356_noexcept_specifier_opt = 356, /* noexcept-specifier-opt */ YYSYMBOL_357_noptr_abstract_declarator = 357, /* noptr-abstract-declarator */ YYSYMBOL_358_noptr_abstract_declarator_opt = 358, /* noptr-abstract-declarator-opt */ YYSYMBOL_359_noptr_abstract_pack_declarator = 359, /* noptr-abstract-pack-declarator */ YYSYMBOL_360_noptr_declarator = 360, /* noptr-declarator */ YYSYMBOL_361_noptr_new_declarator = 361, /* noptr-new-declarator */ YYSYMBOL_362_opaque_enum_declaration = 362, /* opaque-enum-declaration */ YYSYMBOL_363_operator_function_id = 363, /* operator-function-id */ YYSYMBOL_364_overloadable_operator = 364, /* overloadable-operator */ YYSYMBOL_365_parameter_declaration = 365, /* parameter-declaration */ YYSYMBOL_366_parameter_declaration_clause = 366, /* parameter-declaration-clause */ YYSYMBOL_367_parameter_declaration_list = 367, /* parameter-declaration-list */ YYSYMBOL_368_parameter_declaration_list_opt = 368, /* parameter-declaration-list-opt */ YYSYMBOL_369_parameters_and_qualifiers = 369, /* parameters-and-qualifiers */ YYSYMBOL_370_placeholder_type_specifier = 370, /* placeholder-type-specifier */ YYSYMBOL_371_pm_expression = 371, /* pm-expression */ YYSYMBOL_372_postfix_expression = 372, /* postfix-expression */ YYSYMBOL_373_primary_expression = 373, /* primary-expression */ YYSYMBOL_374_private_module_fragment = 374, /* private-module-fragment */ YYSYMBOL_375_private_module_fragment_opt = 375, /* private-module-fragment-opt */ YYSYMBOL_376_ptr_abstract_declarator = 376, /* ptr-abstract-declarator */ YYSYMBOL_377_ptr_abstract_declarator_opt = 377, /* ptr-abstract-declarator-opt */ YYSYMBOL_378_ptr_declarator = 378, /* ptr-declarator */ YYSYMBOL_379_ptr_operator = 379, /* ptr-operator */ YYSYMBOL_380_pure_specifier = 380, /* pure-specifier */ YYSYMBOL_381_pure_specifier_opt = 381, /* pure-specifier-opt */ YYSYMBOL_382_qualified_id = 382, /* qualified-id */ YYSYMBOL_383_qualified_namespace_specifier = 383, /* qualified-namespace-specifier */ YYSYMBOL_384_ref_qualifier = 384, /* ref-qualifier */ YYSYMBOL_385_ref_qualifier_opt = 385, /* ref-qualifier-opt */ YYSYMBOL_386_relational_expression = 386, /* relational-expression */ YYSYMBOL_requirement = 387, /* requirement */ YYSYMBOL_388_requirement_body = 388, /* requirement-body */ YYSYMBOL_389_requirement_parameter_list = 389, /* requirement-parameter-list */ YYSYMBOL_390_requirement_parameter_list_opt = 390, /* requirement-parameter-list-opt */ YYSYMBOL_391_requirement_seq = 391, /* requirement-seq */ YYSYMBOL_392_requires_clause = 392, /* requires-clause */ YYSYMBOL_393_requires_clause_opt = 393, /* requires-clause-opt */ YYSYMBOL_394_requires_expression = 394, /* requires-expression */ YYSYMBOL_395_return_type_requirement = 395, /* return-type-requirement */ YYSYMBOL_396_return_type_requirement_opt = 396, /* return-type-requirement-opt */ YYSYMBOL_397_selection_statement = 397, /* selection-statement */ YYSYMBOL_398_shift_expression = 398, /* shift-expression */ YYSYMBOL_399_simple_capture = 399, /* simple-capture */ YYSYMBOL_400_simple_declaration = 400, /* simple-declaration */ YYSYMBOL_401_simple_requirement = 401, /* simple-requirement */ YYSYMBOL_402_simple_template_id = 402, /* simple-template-id */ YYSYMBOL_403_simple_type_specifier = 403, /* simple-type-specifier */ YYSYMBOL_statement = 404, /* statement */ YYSYMBOL_405_statement_seq = 405, /* statement-seq */ YYSYMBOL_406_statement_seq_opt = 406, /* statement-seq-opt */ YYSYMBOL_407_static_assert_declaration = 407, /* static_assert-declaration */ YYSYMBOL_408_storage_class_specifier = 408, /* storage-class-specifier */ YYSYMBOL_409_string_literal = 409, /* string-literal */ YYSYMBOL_410_template_argument = 410, /* template-argument */ YYSYMBOL_411_template_argument_list = 411, /* template-argument-list */ YYSYMBOL_412_template_argument_list_opt = 412, /* template-argument-list-opt */ YYSYMBOL_413_template_declaration = 413, /* template-declaration */ YYSYMBOL_414_template_head = 414, /* template-head */ YYSYMBOL_415_template_id = 415, /* template-id */ YYSYMBOL_416_template_name = 416, /* template-name */ YYSYMBOL_417_template_parameter = 417, /* template-parameter */ YYSYMBOL_418_template_parameter_list = 418, /* template-parameter-list */ YYSYMBOL_419_throw_expression = 419, /* throw-expression */ YYSYMBOL_420_trailing_return_type = 420, /* trailing-return-type */ YYSYMBOL_421_trailing_return_type_opt = 421, /* trailing-return-type-opt */ YYSYMBOL_422_translation_unit = 422, /* translation-unit */ YYSYMBOL_423_try_block = 423, /* try-block */ YYSYMBOL_424_type_constraint = 424, /* type-constraint */ YYSYMBOL_425_type_constraint_opt = 425, /* type-constraint-opt */ YYSYMBOL_426_type_id = 426, /* type-id */ YYSYMBOL_427_type_name = 427, /* type-name */ YYSYMBOL_428_type_parameter = 428, /* type-parameter */ YYSYMBOL_429_type_parameter_key = 429, /* type-parameter-key */ YYSYMBOL_430_type_requirement = 430, /* type-requirement */ YYSYMBOL_431_type_specifier = 431, /* type-specifier */ YYSYMBOL_432_type_specifier_seq = 432, /* type-specifier-seq */ YYSYMBOL_433_typedef_name = 433, /* typedef-name */ YYSYMBOL_434_typename_specifier = 434, /* typename-specifier */ YYSYMBOL_435_ud_suffix = 435, /* ud-suffix */ YYSYMBOL_436_unary_expression = 436, /* unary-expression */ YYSYMBOL_437_unary_operator = 437, /* unary-operator */ YYSYMBOL_438_unnamed_namespace_definition = 438, /* unnamed-namespace-definition */ YYSYMBOL_439_unqualified_id = 439, /* unqualified-id */ YYSYMBOL_440_user_defined_string_literal = 440, /* user-defined-string-literal */ YYSYMBOL_441_using_declaration = 441, /* using-declaration */ YYSYMBOL_442_using_declarator = 442, /* using-declarator */ YYSYMBOL_443_using_declarator_list = 443, /* using-declarator-list */ YYSYMBOL_444_using_directive = 444, /* using-directive */ YYSYMBOL_445_using_enum_declaration = 445, /* using-enum-declaration */ YYSYMBOL_446_virt_specifier = 446, /* virt-specifier */ YYSYMBOL_447_virt_specifier_seq = 447, /* virt-specifier-seq */ YYSYMBOL_448_virt_specifier_seq_opt = 448, /* virt-specifier-seq-opt */ YYSYMBOL_449_yield_expression = 449 /* yield-expression */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; /* Default (constant) value used for initialization for null right-hand sides. Unlike the standard yacc.c template, here we set the default value of $$ to a zeroed-out value. Since the default value is undefined, this behavior is technically correct. */ static YYSTYPE yyval_default; #include #include #include #include #include #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)) #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 YYFREE # define YYFREE free #endif #ifndef YYMALLOC # define YYMALLOC malloc #endif #ifndef YYREALLOC # define YYREALLOC realloc #endif #ifdef __cplusplus typedef bool yybool; # define yytrue true # define yyfalse false #else /* When we move to stdbool, get rid of the various casts to yybool. */ typedef signed char yybool; # define yytrue 1 # define yyfalse 0 #endif #ifndef YYSETJMP # include # define YYJMP_BUF jmp_buf # define YYSETJMP(Env) setjmp (Env) /* Pacify Clang and ICC. */ # define YYLONGJMP(Env, Val) \ do { \ longjmp (Env, Val); \ YY_ASSERT (0); \ } while (yyfalse) #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 /* The _Noreturn keyword of C11. */ #ifndef _Noreturn # if (defined __cplusplus \ && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ || (defined _MSC_VER && 1900 <= _MSC_VER))) # define _Noreturn [[noreturn]] # elif ((!defined __cplusplus || defined __clang__) \ && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ || (!defined __STRICT_ANSI__ \ && (4 < __GNUC__ + (7 <= __GNUC_MINOR__) \ || (defined __apple_build_version__ \ ? 6000000 <= __apple_build_version__ \ : 3 < __clang_major__ + (5 <= __clang_minor__)))))) /* _Noreturn works as-is. */ # elif (2 < __GNUC__ + (8 <= __GNUC_MINOR__) || defined __clang__ \ || 0x5110 <= __SUNPRO_C) # define _Noreturn __attribute__ ((__noreturn__)) # elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) # define _Noreturn __declspec (noreturn) # else # define _Noreturn # 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 /* Suppress an incorrect diagnostic about yylval being uninitialized. */ #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__ # if __GNUC__ * 100 + __GNUC_MINOR__ < 407 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") # else # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") # endif # 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))) /* YYFINAL -- State number of the termination state. */ #define YYFINAL 208 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 17220 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 140 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 310 /* YYNRULES -- Number of rules. */ #define YYNRULES 776 /* YYNSTATES -- Number of states. */ #define YYNSTATES 1324 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */ #define YYMAXRHS 9 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle accessed by $0, $-1, etc., in any rule. */ #define YYMAXLEFT 0 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 393 /* 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_uint8 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, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 139, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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 }; #if YYDEBUG /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { 0, 149, 149, 150, 153, 154, 157, 158, 161, 162, 165, 166, 169, 170, 173, 174, 177, 178, 181, 182, 185, 186, 189, 190, 193, 194, 197, 198, 201, 202, 205, 206, 207, 210, 211, 214, 215, 218, 219, 220, 223, 224, 227, 228, 229, 232, 235, 236, 239, 240, 243, 246, 247, 248, 249, 252, 253, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 269, 272, 275, 276, 279, 282, 283, 284, 285, 288, 291, 292, 295, 298, 299, 302, 305, 306, 309, 310, 313, 316, 317, 320, 323, 324, 325, 326, 329, 330, 333, 334, 337, 340, 341, 344, 345, 346, 349, 350, 353, 354, 355, 356, 357, 358, 359, 360, 361, 364, 365, 368, 369, 372, 373, 374, 377, 378, 381, 382, 385, 386, 389, 390, 393, 394, 397, 400, 401, 402, 405, 406, 409, 410, 411, 414, 417, 420, 421, 424, 425, 428, 431, 434, 437, 440, 441, 444, 445, 448, 449, 452, 455, 456, 459, 462, 463, 466, 467, 470, 473, 474, 477, 480, 483, 486, 489, 490, 493, 494, 497, 500, 501, 504, 505, 506, 507, 508, 509, 510, 511, 512, 515, 516, 519, 520, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 538, 539, 542, 543, 546, 549, 550, 553, 556, 559, 562, 565, 566, 567, 570, 571, 574, 575, 578, 581, 582, 585, 588, 591, 592, 593, 594, 597, 600, 601, 604, 607, 608, 611, 614, 617, 618, 621, 622, 623, 626, 629, 630, 633, 636, 637, 640, 641, 644, 645, 648, 649, 650, 653, 654, 655, 658, 659, 662, 665, 668, 669, 672, 673, 676, 677, 678, 681, 682, 685, 686, 689, 690, 693, 696, 697, 700, 701, 704, 707, 708, 709, 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, 746, 747, 750, 753, 754, 755, 756, 759, 760, 763, 764, 767, 770, 773, 774, 777, 780, 783, 784, 787, 790, 791, 794, 795, 798, 799, 802, 803, 806, 807, 810, 811, 814, 815, 818, 819, 820, 823, 824, 827, 828, 831, 832, 835, 836, 839, 840, 843, 844, 845, 846, 849, 850, 851, 852, 853, 856, 857, 858, 861, 862, 863, 866, 867, 870, 871, 874, 875, 878, 881, 884, 885, 888, 889, 892, 893, 896, 897, 900, 901, 904, 905, 908, 909, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 925, 926, 927, 928, 931, 932, 935, 936, 939, 940, 943, 944, 947, 950, 951, 952, 955, 958, 959, 962, 963, 966, 969, 970, 973, 974, 975, 976, 979, 982, 985, 988, 991, 992, 993, 996, 997, 1000, 1001, 1002, 1003, 1004, 1005, 1008, 1009, 1012, 1015, 1018, 1019, 1022, 1023, 1026, 1027, 1030, 1031, 1034, 1035, 1038, 1041, 1042, 1045, 1048, 1051, 1054, 1055, 1058, 1059, 1062, 1063, 1064, 1067, 1068, 1071, 1072, 1073, 1076, 1077, 1078, 1079, 1082, 1083, 1086, 1089, 1090, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1139, 1140, 1141, 1142, 1145, 1146, 1149, 1150, 1153, 1154, 1157, 1160, 1161, 1164, 1165, 1166, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1197, 1200, 1201, 1204, 1205, 1208, 1209, 1212, 1213, 1216, 1217, 1218, 1219, 1222, 1225, 1226, 1229, 1232, 1235, 1236, 1239, 1240, 1243, 1244, 1245, 1246, 1247, 1250, 1251, 1252, 1253, 1256, 1259, 1262, 1263, 1266, 1267, 1270, 1273, 1274, 1277, 1280, 1283, 1284, 1287, 1288, 1289, 1290, 1291, 1294, 1295, 1296, 1299, 1300, 1301, 1302, 1305, 1306, 1307, 1310, 1313, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1347, 1348, 1351, 1352, 1355, 1356, 1359, 1360, 1361, 1362, 1365, 1368, 1369, 1370, 1373, 1374, 1377, 1378, 1381, 1382, 1385, 1388, 1389, 1390, 1393, 1396, 1397, 1400, 1401, 1404, 1407, 1410, 1411, 1414, 1415, 1418, 1421, 1422, 1425, 1426, 1429, 1432, 1433, 1434, 1437, 1438, 1439, 1440, 1441, 1442, 1445, 1446, 1449, 1452, 1453, 1454, 1455, 1458, 1459, 1462, 1463, 1466, 1467, 1470, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1487, 1488, 1489, 1490, 1491, 1492, 1495, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1507, 1510, 1513, 1516, 1517, 1520, 1523, 1526, 1527, 1530, 1531, 1534, 1535, 1538, 1539 }; #endif #define YYPACT_NINF (-1096) #define YYTABLE_NINF (-774) /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { 4900, -1096, 10096, 72, 194, -6, -1096, 34, 342, -1096, 204, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, 144, 421, 249, 345, 67, 288, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, 339, -1096, -1096, -1096, 379, 316, -1096, -1096, -1096, 15902, 2327, -1096, 382, 387, -1096, -1096, -1096, 16347, 1027, -1096, 4812, -1096, 420, -1096, -1096, -1096, -1096, -1096, 394, -1096, -1096, -1096, -1096, -1096, 440, 446, -1096, -1096, -1096, -1096, 455, -1096, -1096, -1096, -1096, -1096, -1096, 484, 939, 459, -1096, -1096, -1096, -1096, -1096, 3522, -1096, -1096, -1096, -1096, 10184, 447, 538, -1096, 263, 530, -1096, -1096, -1096, -1096, -1096, -1096, -1096, 10272, -1096, 4724, -1096, 10401, 1057, 574, 989, -1096, -1096, 416, 342, 600, 631, 88, 8238, -1096, -1096, 1098, 625, 11474, 10489, 582, 657, -1096, -1096, -1096, 664, 699, -1096, 727, 718, 11511, 10929, -1096, -1096, -1096, -1096, 756, -1096, -1096, -1096, 660, 753, 1305, -1096, 759, 768, -1096, -1096, 86, -1096, -1096, 463, 1543, 794, -1096, 94, 658, -1096, 1825, 544, -1096, 645, 1110, 817, 464, -1096, 107, -1096, 839, 848, 108, -1096, -1096, 847, 1052, -1096, 873, -1096, 822, 4988, -1096, 907, 933, 446, 3657, 897, 1004, -1096, 940, -1096, -1096, 9197, -1096, 1067, -1096, -1096, 1060, 10577, -1096, 1025, -1096, -1096, 11017, 448, 940, -1096, 346, -1096, 100, 732, -1096, 748, 1097, -1096, 446, 558, 97, -1096, -1096, 1100, -1096, 248, 1102, -1096, 56, -1096, -1096, -1096, 4323, -1096, 831, 11640, 5330, -1096, 1109, 103, 11677, 11806, 1073, 1093, 1105, 1112, 1165, -1096, 5712, 5204, 1168, 7242, 121, 336, 1185, -1096, -1096, -1096, 1167, -1096, -1096, -1096, 648, 1149, 454, -1096, -1096, 1145, -1096, 15744, 1155, 1176, 1986, 1134, 1123, -1096, -1096, 1161, 1058, 628, -1096, -1096, 1080, -1096, 810, 1235, 529, -1096, -1096, 541, -1096, 11843, -1096, -1096, -1096, -1096, 1237, 941, -1096, -1096, 1266, 816, 843, 1210, -1096, 959, 539, 1269, 498, -1096, 714, 572, 1082, 542, 9842, 853, 1260, 821, 1159, 1271, 846, 351, 140, -1096, 1177, -1096, -1096, -1096, 1258, 54, -1096, 856, -1096, 415, 11142, 1234, -1096, -1096, -1096, -1096, 882, 1261, -1096, 15873, -1096, -1096, -1096, -1096, -1096, -1096, 1095, -1096, 1255, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, 1254, 1297, 446, 7279, 7408, 5583, 458, -1096, -1096, -1096, -1096, -1096, 1854, -1096, -1096, 1292, -1096, 1315, 1274, 1107, 1278, 1316, 415, 1320, 1236, -1096, -1096, 1317, 9326, -1096, 1307, 576, -1096, 206, 638, 631, 1329, 1262, -1096, 2466, 1142, 697, 1231, -1096, 1298, 1242, -1096, -1096, 16518, 793, 1613, 1244, -1096, 1338, 1314, 1338, 1325, 1337, 2981, 259, -1096, -1096, 631, 8275, 5218, 5726, 532, 1323, 631, -1096, -1096, 1051, 1339, 1347, -1096, 1355, 1357, -1096, -1096, 1322, -1096, -1096, -1096, -1096, -1096, -1096, -1096, 1330, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, 1326, -1096, -1096, -1096, -1096, -1096, 1328, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, 1333, -1096, -1096, -1096, -1096, 1303, 1362, 755, -1096, 415, -1096, 1334, 3792, -1096, -1096, -1096, -1096, 16661, 16684, 16782, 16805, 5454, -1096, -1096, 1359, 4455, -1096, 16827, -1096, -1096, 11972, 1363, 12009, 12138, 12175, 12304, 12341, 12470, 12507, 8404, -1096, 12636, 415, 1623, -1096, 1371, 1351, -1096, 9455, 12673, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, 8441, 12802, 7445, 12839, 12968, 13005, 172, 9584, 13134, 13171, 5841, 5878, 1370, 1370, -1096, -1096, 13300, 13337, 13466, 13503, 13632, 13669, 6007, -1096, 6136, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, 1383, 1373, -1096, 1391, 1159, 1376, 1360, 10665, -1096, -1096, 1383, 631, 631, -1096, -1096, 1379, 1399, -1096, 1402, 964, -1096, -1096, 1403, -1096, -1096, 223, -1096, 45, 223, 450, -1096, 1386, 1411, 631, -1096, 1387, 16926, -1096, 1462, 809, 1248, -1096, -1096, 708, 631, 1414, -1096, -1096, 1385, 945, -1096, -1096, 1417, -1096, -1096, -1096, 1404, 631, 1427, -1096, 1426, -1096, 1432, 585, 1435, 4587, 1390, 1384, -1096, -1096, 876, 13798, 341, -1096, 16948, -1096, 1416, -1096, -1096, 1419, 1406, 1407, -1096, -1096, -1096, 1380, 13835, 1354, -1096, 9971, -1096, 935, -1096, -1096, 895, -1096, -1096, -1096, 891, 1000, 1026, -1096, 1393, 1433, -1096, 1549, 1338, 1431, -1096, -1096, -1096, -1096, 16971, -1096, 17069, 1437, 10314, 1735, -1096, 568, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, 13964, 1454, -1096, 14001, -1096, 631, 1461, -1096, 269, 277, 518, -1096, -1096, -1096, 1421, 1436, 9713, 3927, -1096, -1096, -1096, 1171, 1455, 7574, -1096, 1412, 1415, 1418, 1424, 614, 1465, 1481, 1466, 1471, 366, -1096, 7611, -1096, 16639, 1134, 1134, 648, 810, 1156, 1180, 1185, -1096, 1149, 1472, 195, 1474, -1096, -1096, 14624, -1096, 1428, 1145, 255, 1176, -1096, 1058, 1058, 1058, 1430, 1491, -1096, 1438, -1096, -1096, -1096, 1477, 1468, 86, 86, 1167, 1167, 1167, 1167, 336, 336, 1479, 1483, 1488, -1096, -1096, 1469, 1493, -1096, 10753, -1096, 1473, 1497, 1496, 1499, 1500, -1096, 1485, 1516, 1524, 303, 1519, -1096, -1096, 1506, -1096, -1096, 329, 214, 735, 1495, -1096, 1351, -1096, -1096, -1096, -1096, -1096, 1116, 1528, -1096, -1096, -1096, -1096, 261, -1096, 652, -1096, 1532, 1514, 1278, 1222, 1525, -1096, 574, 1192, 1538, -1096, -1096, -1096, -1096, -1096, 7740, -1096, 1486, 1513, -1096, 6173, 1517, 458, 458, -1096, -1096, -1096, -1096, -1096, 1475, -1096, -1096, 1548, -1096, 1554, 1526, 1577, 631, 1000, 1560, 886, 11179, 1234, 11308, -1096, -1096, -1096, -1096, -1096, 129, 1780, 1571, 1573, 1629, -1096, 86, -1096, -1096, -1096, 967, -1096, -1096, -1096, 1574, 4601, -1096, -1096, 269, -1096, 1079, 1357, -1096, -1096, -1096, 1531, -1096, -1096, 758, 8570, 11345, -1096, 676, -1096, -1096, 6302, -1096, -1096, 1580, 1584, 1585, 1589, -1096, -1096, 1590, -1096, -1096, 14130, 1595, 17092, 702, 536, 16371, 1244, 14167, 580, 1608, 16500, 2807, -1096, -1096, -1096, -1096, 14712, 1578, -1096, 8607, -1096, -1096, -1096, -1096, -1096, -1096, -1096, 10841, 1603, 1587, -1096, -1096, -1096, -1096, -1096, -1096, -1096, 1402, 1592, 1622, 972, -1096, -1096, 1631, 269, 1616, 1618, 275, -1096, 631, 761, 1640, 1351, -1096, 334, -1096, -1096, 980, 824, -1096, -1096, 358, 393, 1544, -1096, -1096, 862, -1096, 868, 1636, -1096, 631, 631, -1096, -1096, -1096, -1096, 1591, 446, 966, 1624, -1096, -1096, -1096, -1096, -1096, 1609, -1096, 1617, 946, 7777, 7906, -1096, -1096, -1096, 14296, -1096, -1096, 1195, 1538, 176, 3121, 1625, -1096, -1096, -1096, 8736, 8773, 8902, 8939, -1096, -1096, -1096, 1632, 6431, -1096, -1096, -1096, 7943, -1096, -1096, 1621, 1035, 1244, 16031, 1637, -1096, -1096, 727, 117, 820, 6468, 1626, 1351, 1639, 14798, 1641, 1642, 1647, 6597, 1655, 14333, 252, 1648, -1096, -1096, 334, 1670, 1651, -1096, -1096, -1096, -1096, -1096, -1096, -1096, -1096, 1633, -1096, -1096, 1671, -1096, -1096, -1096, 972, 972, 972, -1096, -1096, 972, 1652, -1096, 1656, -1096, -1096, -1096, 6726, -1096, 870, 1594, 1371, 14462, 23, -1096, -1096, 266, -1096, -1096, -1096, -1096, -1096, -1096, 1660, -1096, 5076, -1096, -1096, -1096, -1096, 1661, 1665, 1680, -1096, 636, 653, 656, 663, 806, 1667, 1654, 14499, -1096, -1096, 1351, -1096, 14884, -1096, -1096, 1668, 1670, 14970, 1594, 6855, 1606, 4191, -1096, -1096, 1673, 1674, 1657, -1096, -1096, 1675, 1638, 3332, -1096, -1096, -1096, 1676, 1664, 1662, -1096, -1096, -1096, 1679, 631, 1683, 1594, -1096, -1096, 585, -1096, -1096, 1687, -1096, -1096, 1005, 1017, -1096, -1096, -1096, 1646, -1096, -1096, -1096, -1096, -1096, -1096, -1096, 1672, -1096, -1096, -1096, -1096, -1096, 16060, 1688, 1670, 1697, 1694, -1096, 16189, -1096, 2952, -1096, -1096, -1096, -1096, 15056, 4058, 1351, -1096, 6984, -1096, -1096, -1096, -1096, -1096, 1709, -1096, -1096, 1033, -1096, 1586, 973, -1096, 1700, 1061, -1096, 1859, 15142, 9068, -1096, 1703, 16218, 1691, -1096, 7113, 1643, 1702, -1096, 1946, 1707, -1096, -1096, 1104, 585, -1096, 707, 8072, 1788, 8109, 1711, 15228, 15314, 1727, 1351, -1096, 1712, 1715, 1704, 1706, -1096, 1710, -1096, 1724, 15400, -1096, -1096, -1096, -1096, -1096, -1096, 15486, 1403, 15572, 1644, -1096, 370, -1096, 15658, -1096, -1096 }; /* 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[] = { 84, 186, 84, 680, 138, 189, 453, 0, 0, 330, 26, 234, 135, 136, 137, 176, 177, 184, 185, 187, 188, 0, 244, 268, 0, 0, 0, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 0, 678, 679, 681, 0, 0, 115, 109, 205, 85, 6, 194, 0, 84, 713, 219, 728, 84, 6, 207, 84, 705, 647, 198, 182, 233, 726, 204, 0, 84, 714, 220, 199, 200, 331, 0, 201, 196, 183, 335, 8, 202, 206, 448, 452, 110, 203, 0, 0, 0, 450, 195, 116, 648, 108, 139, 725, 114, 181, 197, 84, 0, 0, 711, 0, 0, 218, 715, 727, 449, 111, 113, 112, 84, 271, 206, 682, 84, 84, 0, 0, 84, 27, 0, 0, 0, 6, 0, 20, 245, 246, 0, 0, 20, 84, 0, 0, 340, 84, 84, 0, 0, 84, 235, 0, 20, 84, 84, 680, 189, 72, 6, 84, 331, 7, 0, 0, 6, 84, 0, 0, 84, 84, 0, 82, 83, 193, 6, 0, 84, 0, 591, 212, 6, 84, 85, 101, 0, 231, 190, 191, 366, 351, 354, 0, 0, 208, 456, 255, 242, 696, 0, 9, 0, 84, 455, 0, 23, 0, 138, 708, 649, 645, 0, 691, 690, 20, 1, 0, 555, 454, 0, 84, 392, 0, 723, 722, 84, 24, 0, 698, 0, 699, 0, 6, 697, 6, 733, 23, 0, 0, 0, 768, 765, 26, 763, 755, 0, 752, 453, 578, 750, 751, 20, 749, 383, 20, 710, 748, 617, 753, 20, 20, 0, 0, 0, 0, 0, 577, 55, 20, 0, 20, 0, 633, 263, 278, 740, 557, 606, 51, 757, 747, 48, 345, 0, 582, 580, 395, 581, 192, 758, 397, 157, 42, 22, 746, 745, 756, 440, 736, 560, 342, 257, 583, 147, 693, 0, 761, 53, 0, 130, 20, 341, 52, 229, 159, 0, 157, 333, 433, 0, 0, 0, 0, 432, 0, 0, 14, 0, 265, 0, 0, 242, 0, 20, 591, 0, 594, 0, 89, 595, 179, 0, 214, 22, 602, 603, 605, 0, 773, 477, 491, 84, 84, 20, 492, 592, 37, 38, 39, 244, 0, 413, 192, 412, 415, 84, 411, 270, 406, 84, 427, 0, 414, 409, 410, 407, 408, 84, 102, 133, 145, 0, 0, 20, 20, 20, 0, 360, 118, 367, 349, 350, 6, 640, 84, 251, 253, 256, 0, 238, 238, 0, 84, 0, 585, 457, 646, 0, 20, 152, 0, 84, 683, 580, 725, 6, 689, 0, 684, 84, 33, 727, 0, 272, 0, 84, 266, 25, 710, 6, 84, 622, 13, 12, 0, 12, 0, 734, 710, 755, 693, 764, 6, 20, 0, 557, 0, 0, 6, 638, 127, 126, 0, 0, 128, 380, 381, 125, 384, 0, 124, 91, 543, 510, 511, 512, 519, 0, 517, 522, 523, 524, 520, 521, 540, 539, 526, 525, 527, 0, 504, 534, 535, 536, 507, 501, 528, 529, 516, 530, 531, 513, 514, 515, 518, 537, 538, 532, 533, 508, 500, 509, 541, 542, 170, 498, 0, 168, 394, 84, 618, 0, 138, 760, 759, 738, 739, 710, 710, 710, 710, 20, 56, 701, 0, 20, 741, 710, 775, 776, 20, 474, 20, 20, 20, 20, 20, 20, 20, 20, 215, 20, 84, 84, 193, 481, 0, 385, 20, 20, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 20, 20, 20, 20, 20, 20, 0, 20, 20, 20, 20, 20, 22, 22, 569, 570, 20, 20, 20, 20, 20, 20, 20, 565, 20, 566, 737, 267, 437, 431, 429, 434, 430, 0, 0, 15, 0, 0, 0, 0, 84, 641, 243, 0, 6, 6, 492, 494, 0, 0, 90, 78, 179, 180, 593, 0, 770, 769, 174, 771, 774, 174, 179, 550, 0, 553, 6, 161, 0, 710, 213, 84, 12, 0, 424, 143, 0, 6, 100, 144, 146, 101, 230, 134, 139, 232, 362, 363, 117, 0, 6, 280, 123, 0, 226, 2, 0, 2, 20, 165, 621, 163, 352, 250, 20, 0, 248, 710, 239, 0, 240, 241, 0, 438, 0, 586, 706, 458, 0, 20, 0, 686, 20, 644, 729, 730, 490, 486, 34, 712, 32, 587, 0, 35, 30, 589, 0, 391, 33, 12, 0, 700, 623, 692, 718, 710, 716, 710, 0, 84, 33, 766, 0, 318, 289, 290, 309, 295, 301, 302, 303, 299, 300, 308, 307, 305, 304, 306, 316, 317, 310, 311, 294, 312, 313, 291, 292, 293, 296, 297, 298, 314, 315, 319, 320, 20, 0, 579, 20, 636, 6, 0, 639, 0, 0, 0, 389, 505, 506, 0, 0, 20, 393, 762, 169, 171, 168, 0, 20, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 20, 475, 710, 43, 44, 49, 148, 258, 259, 264, 279, 346, 0, 0, 480, 482, 84, 84, 387, 0, 396, 0, 398, 54, 441, 442, 443, 755, 693, 600, 0, 558, 559, 282, 0, 0, 0, 0, 607, 608, 609, 610, 634, 635, 0, 0, 445, 601, 446, 236, 0, 676, 84, 447, 0, 0, 0, 0, 0, 77, 0, 86, 79, 0, 0, 73, 87, 70, 178, 343, 0, 0, 0, 174, 175, 0, 329, 325, 772, 328, 596, 179, 84, 548, 84, 702, 425, 13, 84, 119, 420, 423, 0, 238, 40, 28, 103, 142, 0, 0, 106, 84, 132, 361, 364, 20, 228, 3, 0, 225, 20, 0, 0, 0, 252, 249, 254, 237, 497, 0, 439, 84, 0, 709, 0, 162, 0, 6, 0, 0, 486, 20, 483, 20, 488, 36, 590, 588, 556, 490, 6, 546, 544, 589, 720, 0, 719, 717, 45, 221, 222, 217, 478, 0, 0, 131, 637, 0, 347, 0, 382, 129, 503, 502, 0, 167, 616, 0, 20, 20, 613, 0, 614, 619, 20, 611, 612, 0, 0, 0, 0, 575, 576, 0, 742, 744, 20, 0, 710, 471, 465, 192, 622, 20, 703, 0, 85, 20, 211, 670, 664, 672, 84, 0, 695, 20, 694, 562, 561, 568, 567, 563, 564, 84, 0, 0, 754, 767, 47, 46, 50, 88, 75, 78, 0, 0, 98, 71, 68, 0, 0, 0, 0, 402, 401, 6, 0, 173, 0, 324, 604, 549, 551, 493, 0, 120, 418, 417, 598, 12, 405, 41, 0, 29, 0, 0, 140, 6, 6, 227, 122, 121, 164, 166, 0, 0, 0, 151, 230, 687, 483, 485, 0, 31, 0, 6, 20, 20, 721, 287, 286, 20, 348, 499, 0, 0, 0, 84, 0, 643, 615, 620, 20, 20, 20, 20, 743, 224, 473, 0, 20, 470, 472, 467, 20, 466, 476, 464, 465, 622, 192, 0, 704, 390, 0, 755, 383, 20, 0, 0, 0, 84, 0, 0, 0, 20, 0, 20, 4, 0, 666, 375, 604, 284, 0, 665, 668, 669, 667, 671, 673, 150, 158, 0, 677, 444, 79, 74, 81, 80, 98, 98, 98, 95, 96, 99, 0, 344, 0, 327, 326, 403, 20, 400, 0, 0, 481, 20, 0, 599, 416, 119, 421, 104, 105, 141, 107, 365, 0, 428, 84, 84, 84, 547, 545, 0, 0, 16, 462, 0, 0, 0, 0, 471, 0, 0, 20, 463, 386, 0, 479, 84, 275, 277, 0, 274, 84, 0, 84, 0, 20, 372, 373, 0, 0, 0, 5, 19, 0, 0, 20, 285, 461, 76, 0, 0, 0, 97, 69, 642, 0, 6, 0, 338, 332, 84, 119, 597, 417, 598, 216, 584, 484, 489, 288, 724, 17, 626, 571, 572, 573, 574, 468, 469, 84, 0, 388, 377, 172, 379, 707, 710, 0, 153, 0, 0, 357, 710, 355, 84, 84, 356, 374, 376, 84, 20, 0, 359, 84, 92, 93, 94, 399, 404, 84, 339, 337, 554, 419, 0, 0, 627, 0, 495, 84, 6, 84, 20, 156, 0, 710, 0, 378, 84, 630, 0, 262, 710, 0, 625, 149, 496, 0, 368, 0, 20, 6, 20, 0, 84, 84, 6, 0, 154, 0, 0, 84, 84, 321, 0, 323, 0, 84, 631, 632, 261, 260, 336, 369, 84, 0, 84, 628, 370, 0, 371, 84, 322, 629 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -1096, 1101, -1096, 968, -1096, -1096, -187, 1439, -1096, -1096, -1096, -102, -1096, -1096, -1096, -1096, -675, -617, -561, -1096, 613, -170, -1096, 1228, -1096, 82, -1096, -1096, 762, -1096, -1096, -1096, -1096, 1163, 764, -1096, -1096, 31, 1420, -1096, -1096, -1096, -1096, 640, -1096, 141, -1096, 1136, 896, -1096, -679, -639, 562, -167, 1028, -1096, 1031, -165, -1096, -1096, 1208, 1400, -593, -1096, -1096, -1096, 852, -1096, -811, -1096, 1572, -601, -1096, 403, -93, 296, 840, 898, -1096, -1096, 1023, -1096, -1096, -1096, -1096, 947, -313, -1096, -535, -1096, -44, -4, 225, -1096, 1, -1096, -48, -1096, 1268, -147, -1096, -365, 1084, -1096, 912, -1096, -1096, 1787, -1096, -133, -1096, -1096, 1405, -1096, -267, -1096, 166, -1096, -1096, -1096, 1144, -1096, -1096, 1282, -1096, 1267, -1096, -132, 25, -1096, -1096, 513, 711, 272, -325, -530, -1006, 841, -1096, -414, -1096, -1096, -571, -130, -1096, -1096, -1096, -1096, -1096, -629, -1096, -1096, -67, 497, 1275, -1096, 1434, 1666, -1096, 637, -972, -682, -346, 1443, -1096, -1096, -1096, -1096, -1096, -1096, 738, -1096, -1096, 859, -1096, -1096, 1272, 130, 687, -1096, -1096, -1096, 805, -1096, -1096, -1096, -295, -1096, 1833, 1440, -1096, 1708, 1172, -1096, 719, -1096, -1096, -1096, -743, -1096, -422, 0, 4, -1096, -1096, -1096, 757, -1096, -1096, 673, -1096, -1096, -1096, -1096, -1096, -1096, 716, -1096, -404, -1096, -142, -1096, -126, -1096, -1096, -83, -268, -1096, -1096, -304, -1096, 726, -1096, -358, -1096, -1096, -611, -1096, -140, -314, -1096, -1096, -1096, -1096, -1096, -952, 729, 909, -1096, -1096, -1096, -1096, -178, -887, -1096, -1096, -1096, -1096, 1332, -1096, -1095, -1096, 2232, 201, -514, -1096, -1096, -120, -1096, -186, 1189, -1096, -284, -107, -59, -1096, 992, 1445, 1340, -1096, -761, -1096, -1096, -1096, -106, -1096, 425, -80, -1096, 1650, -1096, 1336, -236, -1096, 953, -1096, 1600, -1096, -1096, -176, -1096, -101, 1653, -1096, -1096, -92, 1259, -1096, -800, -1096 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 883, 1193, 164, 194, 45, 863, 46, 1222, 1194, 264, 199, 421, 125, 1029, 682, 683, 684, 353, 1027, 265, 47, 165, 266, 48, 267, 516, 556, 837, 1002, 1003, 49, 838, 839, 840, 841, 166, 176, 51, 842, 604, 605, 268, 1129, 1130, 1131, 371, 372, 631, 632, 52, 380, 1021, 641, 447, 448, 449, 269, 53, 373, 54, 55, 1009, 56, 634, 635, 270, 945, 793, 205, 201, 1237, 1274, 271, 405, 622, 899, 653, 654, 758, 759, 272, 497, 1106, 849, 850, 57, 607, 608, 58, 59, 538, 60, 61, 828, 974, 182, 170, 63, 64, 702, 65, 704, 273, 648, 649, 650, 66, 67, 68, 145, 662, 663, 69, 392, 393, 70, 71, 72, 388, 389, 390, 391, 274, 1283, 275, 73, 74, 154, 76, 77, 1178, 1179, 1108, 808, 809, 1109, 1243, 277, 739, 1276, 1306, 851, 78, 79, 852, 80, 81, 1208, 1209, 1261, 139, 278, 845, 279, 450, 183, 184, 185, 1252, 1245, 382, 644, 645, 383, 1111, 1112, 975, 451, 452, 539, 280, 281, 540, 82, 282, 283, 284, 1010, 1011, 1012, 362, 865, 866, 867, 363, 364, 195, 83, 140, 141, 142, 143, 896, 285, 84, 85, 86, 829, 87, 88, 286, 90, 91, 947, 1080, 1081, 287, 1077, 1078, 776, 777, 964, 92, 288, 790, 791, 685, 903, 687, 172, 1082, 93, 289, 498, 617, 761, 619, 620, 347, 94, 290, 291, 292, 669, 670, 688, 912, 173, 174, 1144, 1145, 293, 588, 339, 340, 294, 948, 763, 503, 504, 949, 696, 697, 295, 1266, 1267, 1113, 296, 453, 95, 950, 96, 298, 976, 977, 978, 98, 99, 118, 408, 409, 410, 100, 101, 299, 102, 223, 224, 300, 624, 1088, 103, 1114, 104, 105, 411, 106, 226, 227, 951, 107, 413, 108, 301, 757, 302, 303, 110, 304, 501, 111, 127, 128, 112, 113, 613, 614, 615, 305 }; /* 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[] = { 89, 62, 89, 169, 384, 354, 152, 167, 121, 686, 203, 884, 500, 225, 181, 381, 327, 916, 328, 230, 606, 655, 132, 600, 740, 75, 133, 75, 356, 926, 642, 50, 327, 50, 348, 810, 221, 871, 427, 1014, 429, 308, 357, 359, 854, 361, 819, 168, 820, 365, 89, 171, 643, 320, 178, 366, 434, 596, 89, 186, 222, 89, 499, 1141, 1023, 933, 703, 628, 367, 870, 904, 843, 910, 1170, 368, 136, 375, 618, 911, 438, 1085, 855, 454, 369, 990, -11, 75, 508, 509, 1006, 1246, 235, 50, -15, 237, 610, 522, 335, 6, 689, 1246, 89, 197, 423, 610, 432, 119, 198, 1007, 137, 229, 505, 236, 973, 89, 212, 197, 672, 89, 132, 341, 229, -21, 220, 132, 232, 75, 666, 133, -138, 376, 577, 50, 377, 579, 89, 310, -7, 580, 75, 406, -7, 248, 75, 602, 50, 1048, 89, 505, 50, 21, 378, 186, 248, 379, 1246, 138, -21, 186, 1176, 75, 1105, 1212, 612, 336, 822, 50, 21, 186, 344, 129, 507, 75, 424, 186, 830, 679, 132, 50, 532, 802, 374, 611, 344, 560, -7, 760, 523, 334, -696, 132, 611, 354, -7, 394, 89, 397, 1173, 423, 334, 360, 97, 1140, 97, 21, 117, -138, 379, 1087, -580, 798, -580, 122, 89, 417, 356, 153, 153, 89, 123, 75, 1162, 524, 1253, 153, 1020, 50, 115, 248, 357, 359, -7, 361, 598, 560, 694, 365, 537, 75, 698, 577, 700, 366, 75, 50, 1118, 846, 579, 89, 50, 1057, 97, 97, 621, 507, 367, 1191, 794, 532, 97, -138, 368, 97, 1192, 309, 847, -696, 787, 967, -119, 369, 398, 124, -138, 334, 134, 309, 805, 1278, -580, 1006, 89, 155, 1182, 1300, 441, 187, -138, 686, 376, -119, 442, 376, 606, 911, 377, 144, 980, 973, 1007, 686, 910, 97, 606, 904, 934, 998, 911, 1026, 848, 378, 537, 225, 378, -18, 97, 610, 225, 132, 97, -696, 1015, 587, 1133, 132, 132, 206, 209, 394, 597, 861, -696, 1004, -696, 406, 221, 97, 309, 703, 1304, 221, 358, 515, 214, 999, 521, 1214, -696, 97, 387, 4, 626, 445, 438, 6, 89, 525, 526, 774, 222, 868, 216, 337, 1231, 222, 146, 379, 905, 210, 135, 1005, 155, 321, 1004, 441, 689, 157, 692, 918, 336, 442, 846, 907, 909, 804, 186, 890, 360, 338, 443, 689, 161, 147, 217, 444, 4, 97, 806, 807, 6, 847, 276, -174, 611, 178, 825, 21, 961, 407, 15, 16, 1322, 89, 186, 97, 148, 1143, 973, 132, 97, -552, 89, 220, 132, 4, 892, 175, 220, 6, 4, 225, 89, 188, 6, 1148, 847, 1149, -174, 189, 911, 1279, 445, -552, 419, 848, 407, 760, 153, -270, 97, 962, 21, 854, 221, 191, 354, 309, 532, 640, 640, 640, 193, 420, 1115, 811, 812, 237, 200, 130, 131, 6, 939, 241, 157, 406, 157, 309, 222, 356, 848, 21, 533, 97, 381, 652, 21, 1312, 438, 161, 157, 161, 337, 357, 359, 406, 361, 196, 973, 246, 365, 186, 591, 973, -604, 161, 366, 919, 1020, 15, 16, 89, 89, 89, 89, 248, 1056, 439, 338, 367, 207, 89, 153, 21, 155, 368, 592, 441, 407, 358, 1037, 655, 309, 442, 369, 1033, 532, 132, 307, 208, 1033, 220, 965, 211, 606, 4, 1169, 934, 4, 6, 307, 4, 6, -84, 1235, 6, 576, 97, 7, 250, 741, 334, 349, 350, 351, 159, 889, 10, 578, 11, 259, 973, 532, 1020, 378, 928, 385, 1079, 930, 864, 1260, 381, 431, 1184, 157, 4, 378, 188, 153, 6, -426, 162, 905, 973, 445, 89, 927, 595, 153, 161, 1045, 21, 1050, 407, 21, 918, 157, 21, 1205, 376, 406, 307, 163, 352, 97, 785, 973, 973, 532, 23, 75, 161, 1310, 97, 89, 233, 50, 186, 132, 973, 378, 873, 394, 97, 306, 874, 973, 155, 973, 640, 532, 21, 956, 973, 1273, 917, 623, 640, 640, 1298, 311, 360, 1083, 1280, 4, 564, -119, 532, 6, 640, 532, 640, 89, 1232, 1223, 576, 136, 532, 1234, 565, 440, 157, 309, 315, 41, 132, 376, -119, 1293, 901, 532, 1224, 186, 378, 1225, 345, 161, 1022, 370, 406, 186, 1226, 309, 186, 566, -773, 567, 378, 381, 346, 89, 1064, 89, 610, 89, 186, 1158, 1159, 316, 706, 21, 532, 97, 97, 97, 97, 407, 4, 529, 530, 407, 6, 97, 593, 578, 869, 349, 350, 351, 1075, 307, 319, 568, 569, 157, 1299, 1277, 1050, 155, -773, 157, 425, 378, 407, 1008, 984, 985, 378, 6, 161, 307, 318, 599, 379, 155, 161, -12, 425, 1288, 594, 325, 186, 155, 407, 4, 4, 381, 4, 6, 6, 1083, 6, -12, 21, 327, 1017, 328, 327, 89, 348, 326, 1308, 1309, 158, 159, 159, 330, 768, 1137, 309, 611, 439, 358, 89, 1317, 1031, 97, 1072, 1076, 155, 21, 1318, 425, 1320, 900, 307, 378, 309, 1323, 331, 162, 162, 336, 336, 621, 155, 621, -12, 862, 342, 21, 21, 6, 21, 971, 97, 155, 796, 89, 441, -139, 163, 163, 1075, -422, 442, 158, 155, 159, 381, 441, 583, 157, 385, 443, 1138, 442, 157, 873, 444, 157, 378, 874, 75, 1053, 443, 387, 161, 640, 50, 444, 331, 161, 97, 162, 161, -6, 1142, 584, 157, 153, 4, 157, 386, 21, 6, 1086, 4, 407, 1008, 345, 6, 157, 6, 161, 163, 309, 161, 336, 336, 574, 575, 1160, 686, 346, 4, 445, 161, 438, 6, 395, 97, 157, 97, 4, 97, 186, 445, 6, 327, 396, 348, -6, 681, -589, 159, 186, 161, -487, 186, 398, 336, 681, 537, 159, 439, 1177, 21, 152, 1107, 130, 131, -487, 21, 1177, 21, 764, 765, 766, 767, 769, 162, 191, 1059, 771, 307, 772, 1060, 197, 402, 162, 21, 155, 198, 109, 4, 109, 407, 230, 6, 21, 157, 163, 640, 89, 307, 186, 89, 640, 1213, 401, 163, 89, 915, -589, 159, 161, 1146, 89, 97, 381, 1161, 4, 918, 586, 157, 6, -486, -138, 89, -138, 1154, 157, 157, 97, 554, -138, 555, 228, 1125, 161, 162, 1076, 229, 109, 109, 157, 161, 161, 971, 1190, 21, 109, 1126, 75, 109, 1241, 1127, -696, 1128, 50, 161, 163, 15, 16, 186, 1241, 345, 873, 97, 873, 157, 874, 155, 874, 946, 4, 309, 21, 309, 6, 906, 537, 157, 4, 381, 161, 1296, 6, 860, 1211, 186, -353, 345, 158, 109, 159, 155, 161, 157, 744, 4, 307, 1117, 159, 6, 4, 908, 109, 192, 6, 215, 109, 216, 161, 900, 1079, 207, 157, 1230, 307, 1241, 162, 202, 186, 155, 89, 157, 744, 109, 162, 4, 21, 161, 415, 6, 234, 89, 418, 309, 21, 109, 161, 163, -84, 217, 416, 197, 157, 7, 398, 163, 229, 349, 350, 351, 123, 21, 10, 197, 11, 381, 21, 161, 229, 921, 1177, 922, 971, 436, 157, 218, 197, 153, 640, 640, 502, 198, 153, 153, 873, -426, 562, 563, 874, 161, 510, 21, 680, 109, 661, 4, -243, 570, 571, 6, 89, 1216, 640, 307, 1284, 414, 572, 573, 352, 97, 511, 109, 97, 681, 23, 159, 109, 97, 407, 15, 16, 89, 512, 97, 4, 75, 89, -486, 6, 513, 197, 50, 817, 818, 97, 229, 514, 1270, 426, 520, 428, 162, 414, 1107, 159, 197, 109, 1047, 228, 1049, 1030, 21, 971, 229, 557, 558, 559, 971, 527, 446, 1061, 971, 163, 528, 640, 531, 946, 1287, 534, 41, 162, 971, 541, 570, 571, 542, 1291, 309, 561, 109, 21, 89, 572, 573, 349, 350, 351, 89, 1303, 778, 779, 163, -139, 1311, 89, 4, 153, 570, 571, 6, 215, 4, 216, 782, 783, 6, 572, 573, 407, 581, 132, 1199, 1200, 1201, 220, 186, 89, 309, 157, 582, 89, 120, 585, 589, 414, 971, 971, 89, 799, 800, 801, 97, 601, 161, 217, 120, 186, 117, 603, 89, 89, 186, 97, 609, 623, 629, 309, 971, 625, 633, 636, 21, 89, 109, 307, 155, 307, 21, 4, 89, 658, 89, 6, 659, 660, 661, 89, 120, 668, 665, 971, 971, 120, 136, 671, 673, 158, 676, 159, 439, 677, 690, 699, 971, 1164, 1165, 1166, 1167, 691, 379, 971, 425, 971, 701, 671, 742, 153, 971, 746, 414, 747, 97, 751, 748, 162, 749, 153, 4, 750, 1180, 109, 6, 752, 753, 21, 756, 307, 1180, 754, 109, 755, 675, 97, 762, 157, 163, 789, 97, 229, 109, 770, 407, 120, 1074, 775, 693, 821, 120, 120, 161, 792, 407, 823, 680, 824, 826, 4, 153, 705, 827, 6, 833, 834, 153, 743, 836, 844, 745, 856, 857, 404, 153, 876, 21, 681, 120, 159, 813, 814, 815, 816, 120, 370, 859, 671, 880, 878, 120, -486, 881, 882, 120, 97, 885, 888, 893, 153, 120, 97, 887, 120, 894, 162, 137, 897, 97, 407, 404, 898, 920, 1238, 404, 21, 120, 929, 913, 923, 937, 109, 109, 109, 109, 414, 163, 932, -84, 414, 97, 109, 177, 7, 97, 938, 180, 349, 350, 351, 941, 97, 10, 952, 11, 440, 953, 958, 190, 954, 957, 959, 414, 97, 97, 955, 960, 966, 968, 979, -696, 671, 982, 307, 986, -426, 97, 983, 987, 981, -445, 988, 414, 97, 1238, 97, 991, 506, 989, 992, 97, 993, 995, 1238, 994, 996, -77, 997, 352, 1000, 1001, 1016, 404, 1024, 23, 847, 1025, 219, 1039, 1028, 231, 412, 1289, 307, 505, 109, 155, 155, 1238, 4, 862, 647, 914, 6, 6, 4, 1035, 313, 314, 6, 1036, 317, 1180, 1041, 831, 832, 322, 158, 158, 159, 159, 324, 307, 915, 109, 159, 1042, 329, 412, 555, 332, 333, 412, 1043, 120, 1046, 858, -486, 343, 41, 120, 120, 1051, 355, 1052, 162, 162, 875, -6, 1054, 506, 162, 1058, -6, 1067, 21, 21, 404, 1068, 1069, 879, 21, 109, 1070, 1089, 1071, 163, 163, 404, 4, 1073, 1116, 163, 6, 215, 1119, 216, 414, 1124, 4, 1120, 1123, 914, 6, 215, 4, 216, 1132, 1134, 6, 1135, 1139, 191, 887, -6, 120, 1155, 1163, 1156, -6, 109, 120, 109, 915, 109, 159, 1157, 1168, 217, 1171, 412, 1189, 1175, 1183, 1186, 1185, 1181, -486, 217, 1187, 120, 532, 1195, 1196, 1198, 21, 1197, 1203, 1204, 120, 1207, 162, 1215, -6, 120, 21, 1219, 1220, 1221, 120, 1233, 21, 1228, 1229, 1239, 1247, 1248, 1249, 1251, 1250, 122, 1254, 163, 1255, 1257, 1256, 414, 1259, 1264, 1265, 931, 1269, 1281, 1271, 446, 446, 404, 404, 404, 404, 404, 1272, 1285, 1212, 404, 1290, 404, 1295, 109, -6, 914, 1292, 1297, 4, 1313, 412, 1307, 6, 680, 446, 1314, 4, -84, 109, -84, 6, 412, 404, 1315, 1316, 886, 915, -33, 159, 1294, 1321, 590, 784, 1121, 681, 1122, 159, 616, 219, 835, -486, 120, 404, 1202, 877, 1032, 1263, 637, -486, 403, 936, 627, 935, 109, 162, 355, 940, 1063, 155, 1038, 925, 4, 162, 630, 21, 6, 155, 1034, 1013, 4, 126, 664, 21, 6, 786, 163, 891, 120, 1305, 915, 657, 159, 780, 163, 1188, 1319, 1110, 158, 219, 1301, 795, 323, 656, -486, 651, 1244, 1174, 674, 1084, 1206, 797, -604, 1147, 155, 404, 678, 4, 162, 116, 667, 6, 219, 895, 1172, 1227, 1302, 219, 21, 312, 412, 412, 412, 412, 412, 158, 21, 159, 412, 163, 412, 1210, 1066, 155, 781, 519, 4, 163, 155, 902, 6, 4, 695, 404, 1044, 6, 422, 853, 0, 0, 788, 412, 0, 162, 158, 0, 159, 0, 404, 158, 0, 159, 435, 21, 0, 0, 0, 0, 120, 120, 0, 412, 872, 0, 163, 0, 745, 0, 0, 0, 0, 404, 162, 404, 0, 0, 0, 162, 0, 0, 109, 0, 21, 109, 0, 0, 219, 21, 109, 414, 0, 0, 0, 163, 109, 0, 0, 0, 163, 0, 0, 0, 0, 0, 0, 109, 120, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, 4, 219, 219, 120, 6, 412, 120, 8, 0, 404, 0, 0, 0, 0, 0, 0, 0, 157, 120, 0, 0, 0, 0, 0, 1136, 0, 0, 0, 0, 0, 0, 404, 161, 0, 0, 0, 0, 0, 0, 12, 13, 14, 0, 412, 0, 0, 1151, 1152, 0, 0, 15, 16, 0, 0, 0, 543, 21, 0, 412, 0, 124, 414, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 0, 0, 120, 0, 0, 0, 0, 0, 0, 412, 0, 412, 109, 554, 0, 555, 0, 0, 0, 355, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 446, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 120, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 412, 0, 872, 0, 0, 0, 0, 0, 0, 0, 924, 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 109, 0, 0, 0, 414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 0, 0, 0, 0, 0, 0, 120, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 120, 1258, 0, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 120, 0, 120, 109, 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 109, 414, 0, 0, 0, 0, 0, 0, 120, 969, 972, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 0, 109, 0, 0, 0, 0, 120, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 109, 0, 109, 404, 0, 0, 0, 109, 0, 0, 219, 0, 1018, 0, 0, 0, 1019, 0, 0, 179, 0, 0, 0, 0, 0, 120, 0, 0, 872, 630, 872, 0, 412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 155, 0, 149, 4, 150, 0, 0, 6, 0, 0, 8, 9, 0, 0, 0, 0, 0, 156, 0, 120, 157, 158, 0, 159, 160, 0, 0, 0, 0, 297, 0, 0, 0, 0, 297, 161, 0, 0, 0, 0, 0, 0, 12, 13, 14, 0, 297, 0, 0, 162, 0, -6, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 297, 972, 412, 0, 0, 23, 163, 0, 0, 0, 0, 872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 399, 400, -710, 0, 0, 0, 0, 0, 0, 297, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, 43, 44, 0, 0, 430, 0, 433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 297, 0, 6, 297, 0, 8, 219, 0, 297, 297, 0, 0, 0, 0, 404, 0, 297, 297, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 14, 972, 0, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 120, 124, 297, 0, 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 120, 0, 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, -84, 0, 0, 0, 0, 1217, 1218, 297, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 972, 0, 0, 0, 0, 972, 0, 1236, 0, 1242, 638, 639, 297, 297, 297, 297, 0, 0, 0, 1242, 0, 0, 412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1262, 0, 0, 297, 0, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1236, 1275, 0, 0, 297, 972, 1242, 0, 0, 1236, 0, 0, 0, 0, 0, 1282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1286, 0, 972, 0, 0, 0, 0, 0, 0, 1236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 972, 972, 0, 0, 0, 0, 0, 329, 332, 0, 0, 0, 0, 972, 0, 0, 0, 0, 0, 0, 972, 0, 972, 0, 0, 0, 0, 972, 0, 0, 0, 0, 297, 0, 0, 0, 297, 0, 0, 0, 0, 297, 0, 297, 297, 297, 297, 297, 297, 297, 297, 0, 297, 0, 0, 0, 0, 0, 0, 297, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 297, 297, 297, 297, 297, 803, 297, 297, 297, 297, 297, 0, 0, 0, 0, 297, 297, 297, 297, 297, 297, 297, 0, 297, 1, 0, 0, 149, 1090, 150, 238, 239, 240, 0, 241, 8, 9, 0, 0, 0, 242, 243, 156, 0, -283, 157, 244, 0, 245, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1091, 0, 0, 247, 792, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 248, 1092, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 249, 0, 297, 0, 0, 0, 0, 0, 297, 0, 1093, 1094, 0, 0, 0, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 297, 0, 250, 297, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 1103, 0, 1104, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, 43, 44, 0, 260, 261, 262, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -84, 0, 0, -84, 237, -84, 238, 239, 240, 0, 241, 8, -84, 0, 0, 297, 242, 243, 297, 0, -155, -84, 244, 0, 245, 0, 0, 0, 0, 0, 0, 297, 0, 4, 0, 0, 246, 6, 297, 247, 8, 0, 0, -84, -84, -84, 0, 0, 0, 0, 0, 297, 248, 0, -84, -84, -84, -84, -84, -84, 21, 0, -20, 0, -84, 0, 0, 0, 0, 0, -84, 249, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 297, 297, 21, 0, 0, 0, 22, 0, 0, 250, -20, 251, 252, 253, -84, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, -84, -84, -84, 0, 260, 261, 262, 0, 263, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 297, 0, 0, 0, 0, 297, 0, 297, 297, 0, 0, 0, 0, 0, 437, 0, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 297, 0, 297, 242, 243, 0, 0, 0, 0, 244, -552, 245, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 297, 297, 248, 0, 15, 16, 297, 0, 0, 0, 21, 0, -20, 0, 124, 0, 0, 0, 297, 0, 0, 249, 0, 0, 0, 297, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 250, -20, 251, 252, 253, -84, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 0, 263, 0, 0, 1150, 0, 0, 0, 0, 0, 0, 0, 0, 1153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 297, 0, 0, 0, 297, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 297, 297, 297, 297, 0, 0, 0, 0, 297, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 297, 0, 297, 0, 1, 0, 0, 149, 237, 150, 238, 239, 240, 0, 241, 8, 9, 0, 0, 0, 242, 243, 1240, 0, -283, -84, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 297, 0, 0, 246, 0, 297, 247, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 248, 0, 15, 16, 17, 18, 19, 20, 21, 0, -20, 0, 22, 0, 0, 297, 0, 0, 23, 249, 0, 0, 0, 0, 0, 0, 0, 297, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 250, -20, 251, 252, 253, -84, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, 43, 44, 0, 260, 261, 262, 0, 263, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 297, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 0, 297, -139, -139, -139, -139, -139, -139, -139, -139, 0, -139, -139, 0, -139, -139, 0, 0, 0, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, 0, -139, -139, 0, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, 0, -139, -139, -139, -139, -139, -139, -139, -139, 0, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, 0, -139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -139, -139, -139, 0, -139, -139, -139, -139, 0, 0, 0, 0, 0, 0, 0, 0, 0, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, 0, 0, 0, 0, -139, -138, -138, -138, -138, -138, -138, -138, -138, 0, -138, -138, 0, -138, -138, 0, 0, 0, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, 0, -138, -138, 0, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, 0, -138, -138, -138, -138, -138, -138, -138, -138, 0, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, 0, -138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -138, -138, -138, 0, -138, -138, -138, -138, 0, 0, 0, 0, 0, 0, 0, 0, 0, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, 0, 0, 0, 0, -138, -138, -138, -138, -138, -138, -138, -138, -138, 0, -138, -138, 0, -138, -138, 0, 0, 0, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, 0, -138, -138, 0, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, 0, -138, -138, -138, -138, -138, -138, -138, -138, 0, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, 0, -138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -138, -138, -138, 0, -138, -138, -138, -138, 0, 0, 0, 0, 0, 0, 0, 0, 0, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, 0, 0, 0, 0, -138, -393, -393, -393, -393, -393, -393, -393, -393, 0, -393, -393, 0, -393, -393, 0, 0, 0, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, 0, -393, -393, 0, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, 0, -393, -393, -393, -393, -393, -393, -393, -393, 0, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, 0, -393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -393, -393, -393, 0, -393, -393, -393, -393, 0, 0, 0, 0, 0, 0, 0, 0, 0, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, 0, 0, 1, 0, -393, 149, 237, 150, 238, 239, 240, 0, 241, 8, 9, 0, 0, 0, 242, 243, 1240, 0, -283, -84, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 248, 0, 15, 16, 17, 18, 19, 20, 21, 0, -20, 0, 22, 0, 0, 0, 0, 0, 23, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, -20, 251, 252, 253, -84, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, 43, 44, 0, 260, 261, 262, 1, 263, 0, 149, 237, 150, 238, 239, 240, 0, 241, 8, 9, 0, 0, 0, 242, 243, 1240, 0, -283, -84, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 248, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 251, 252, 253, -84, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, 43, 44, 0, 260, 261, 262, 437, 263, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 248, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 437, 263, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 248, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 437, 263, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 707, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 708, 709, 0, 710, 0, 0, 246, 1055, 711, 247, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 722, 723, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 724, 725, 726, 727, 728, 0, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, -206, 263, 0, 0, -206, -206, -206, -206, -206, -206, 0, 0, -206, -206, 0, -206, -206, -206, -206, -206, 0, 0, -206, 0, -206, -206, -206, 0, -206, -206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -206, 0, -206, 0, 0, -206, 0, -206, -206, -206, 0, 0, 0, 0, -206, 0, -206, 0, -206, -206, -206, -206, -206, -206, -206, 0, 0, 0, -206, 0, 0, 0, 0, 0, -206, -206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -206, -210, 0, 0, 0, 1, 0, 2, 3, 4, 5, -206, -206, 6, 7, -206, 8, 9, -206, 0, 0, 0, 0, 10, 0, 11, 0, 0, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, -210, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -210, -209, 0, 0, 0, 1, 0, 2, 3, 4, 5, 25, 26, 6, 7, 0, 8, 9, -84, 0, 0, 0, 0, 10, 0, 11, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, -209, 0, 0, 0, 1, 0, 2, 3, 4, 5, 25, 26, 6, 7, 0, 8, 9, -84, 0, 0, 0, 0, 10, 0, 11, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -209, -209, 0, 0, 0, 1, 0, 2, 3, 4, 5, 25, 26, 6, 7, 0, 8, 9, -84, 0, 0, 0, 0, 10, 0, 11, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 26, 0, 0, 0, 0, 0, -84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 517, 0, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 707, 0, 0, 242, 243, 0, 0, 0, 0, 518, 0, 245, 0, 0, 0, 0, 0, 708, 709, 0, 710, 0, 0, 246, 0, 711, 247, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 722, 723, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 724, 725, 726, 727, 728, 0, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 455, 0, 0, 0, 0, 4, 261, 262, 456, 6, 0, 0, 8, 0, 0, 0, 0, 457, 458, 0, 459, 0, 0, 460, 0, 461, 0, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 0, 0, 473, 0, 0, 0, 12, 13, 14, 0, 474, 0, 0, 475, 476, 0, 0, 15, 16, 0, 0, 0, 0, 21, 477, 478, 0, 124, 479, 480, 481, 482, 483, 0, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 493, 494, 495, 496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 237, 117, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 248, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 378, 646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 647, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 707, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 708, 709, 0, 710, 0, 0, 246, 0, 711, 247, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 21, 0, -20, 0, 722, 723, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 724, 725, 726, 727, 728, 0, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 0, 250, -20, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, -281, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 378, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, -281, 0, 247, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 250, 263, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, -281, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, -281, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 378, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 378, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 250, 263, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 942, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 943, 1065, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 944, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, -281, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 378, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, -276, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 250, 263, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, -276, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, -281, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 21, 0, -20, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, -20, 251, 252, 253, -84, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 21, 0, -20, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, -20, 251, 252, 253, -84, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 21, 0, -20, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, -20, 251, 252, 253, -84, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 378, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 250, 263, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 378, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 250, 263, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 942, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 943, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 944, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 250, 263, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 378, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 250, 263, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 378, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, -283, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 250, 263, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, -283, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 250, 263, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 250, 263, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 250, 263, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 250, 263, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 250, 263, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 250, 263, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 260, 261, 262, 237, 263, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 248, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 0, 0, 0, -688, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 248, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 0, 0, 0, -688, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 248, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 0, 0, 0, -688, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 248, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 0, 0, 0, -688, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 248, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 0, 0, 0, -688, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 248, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 248, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 1, 0, 2, 3, 4, 5, 261, 262, 6, 7, 0, 8, 9, 0, 0, 0, 0, 0, 10, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 3, 4, 5, 25, 26, 6, 7, 0, 8, 9, -84, 0, 0, 0, 0, 10, 0, 11, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 0, 0, 12, 13, 14, 0, 0, 204, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 3, 4, 5, 25, 26, 6, 7, 0, 8, 9, -84, 0, 0, 0, 0, 10, 0, 11, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -209, 0, 12, 13, 14, 4, 0, 0, 0, 6, 0, 0, 8, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 25, 26, 15, 16, 0, 0, 0, -84, 21, 0, 0, 0, 22, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 1, 0, 2, 3, 4, 5, 0, 0, 6, 7, 0, 8, 9, 0, -710, 0, 0, 0, 10, 0, 11, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 213, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 3, 4, 5, 25, 26, 6, 7, 0, 8, 9, -84, 0, 0, 0, 0, 10, 0, 11, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -209, 0, 0, 0, 0, 1, 0, 2, 3, 4, 5, 25, 26, 6, 7, 0, 8, 9, -84, 0, 0, 0, 0, 10, 0, 11, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -209, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 3, 4, 5, 25, 26, 6, 7, 0, 8, 9, -84, 0, 0, 0, 0, 10, 0, 11, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -209, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 3, 4, 5, 25, 26, 6, 7, 0, 8, 9, -84, 0, 0, 0, 0, 10, 0, 11, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -209, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 3, 4, 5, 25, 26, 6, 7, 0, 8, 9, -84, 0, 0, 0, 0, 10, 0, 11, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -209, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 3, 4, 5, 25, 26, 6, 7, 0, 8, 9, -84, 0, 0, 0, 0, 10, 0, 11, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 3, 4, 5, 25, 26, 6, 7, 0, 8, 9, -84, 0, 0, 0, 0, 10, 0, 11, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 26, 0, 0, 0, 0, 0, -84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, -160, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, -160, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, -160, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 1062, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, -617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 773, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 0, 242, 243, 0, 0, 0, 0, 244, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 247, 0, 237, 0, 238, 239, 240, 0, 241, 8, 0, 0, 0, 248, 242, 243, 0, 0, 0, 0, 244, 21, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 246, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 250, 21, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 249, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 261, 262, 250, 0, 251, 252, 253, -710, 254, 255, 256, 257, 258, 259, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 1, 0, 0, 149, 4, 150, 261, 262, 6, 0, 0, 8, 9, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -674, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 970, 6, 0, 0, 8, 9, -84, 0, 0, 0, 0, 10, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, -675, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 0, 6, 970, 0, 8, 9, 0, 0, -84, 0, 0, 10, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 0, 6, 970, 0, 8, 9, 0, 0, -84, 0, 0, 10, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 0, 6, 970, 0, 8, 9, 0, 0, -84, 0, 0, 10, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 0, 6, 970, 0, 8, 9, 0, 0, -84, 0, 0, 10, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 0, 6, 970, 0, 8, 9, 0, 0, -84, 0, 0, 10, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 0, 6, 970, 0, 8, 9, 0, 0, -84, 0, 0, 10, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 0, 6, 970, 0, 8, 9, 0, 0, -84, 0, 0, 10, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 0, 6, 970, 0, 8, 9, 0, 0, -84, 0, 0, 10, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 0, 6, 970, 0, 8, 9, 0, 0, -84, 0, 0, 10, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 0, 6, 970, 0, 8, 9, 0, 0, -84, 0, 0, 10, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 0, 6, 970, 0, 8, 9, 0, 0, -84, 0, 0, 10, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 0, 6, 970, 0, 8, 9, 0, 0, -84, 0, 0, 0, 0, 0, 0, 535, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 536, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, 43, 44, 1, 0, 0, 149, 4, 150, 0, 0, 6, 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 161, 6, 0, 0, 8, 9, 0, 12, 13, 14, 0, 0, 0, 151, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, -710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, 43, 44, 0, -85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, 43, 44, 1, 0, 0, 149, 4, 150, 0, 0, 6, 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 0, 6, 0, 0, 8, 9, 0, 12, 13, 14, 0, 0, 0, 0, 157, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 161, 0, 0, 0, 0, 23, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, -710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, 43, 44, 1, 0, 0, 149, 4, 150, 0, 0, 6, 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 161, 6, 0, 0, 8, 9, 0, 12, 13, 14, 0, 0, 0, 0, 157, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 161, 0, 0, 0, 0, 23, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, 43, 44, 1, 0, 0, 149, 4, 150, 0, 0, 6, 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 0, 6, 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 12, 13, 14, 23, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, -710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -710, 42, 43, 44, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, 43, 44, 1, 0, 0, 149, 4, 150, 0, 0, 6, 0, 0, 8, 9, 0, 0, 0, 0, 0, 1, 0, 0, 149, 4, 150, 0, 0, 6, 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 20, 21, 12, 13, 14, 22, 0, 0, 0, 0, 0, 23, 0, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, 43, 44, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 4, 42, 43, 44, 6, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 963, 0, 0, 0, 4, 0, 0, 0, 6, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 14, 0, 0, 0, 4, 0, 0, 0, 6, 15, 16, 8, 0, 0, 0, 21, 0, 0, 0, 124, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 4, 0, 0, 0, 6, 0, 0, 8, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 4, 0, 0, 0, 6, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 14, 0, 0, 0, 4, 0, 0, 0, 6, 15, 16, 8, 0, 0, 0, 21, 0, 0, 0, 124, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 4, 0, 0, 0, 6, 0, 0, 8, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 4, 0, 0, 0, 6, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 14, 0, 0, 0, 4, 0, 0, 0, 6, 15, 16, 8, 0, 0, 0, 21, 0, 0, 0, 124, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 4, 0, 0, 0, 6, 0, 0, 8, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 4, 0, 0, 0, 6, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, 0, 21, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 }; static const yytype_int16 yycheck[] = { 0, 0, 2, 51, 182, 175, 50, 51, 8, 413, 90, 650, 248, 119, 58, 182, 158, 692, 158, 121, 333, 379, 22, 327, 438, 0, 22, 2, 175, 704, 376, 0, 174, 2, 174, 565, 119, 630, 225, 850, 227, 134, 175, 175, 615, 175, 576, 51, 578, 175, 50, 51, 377, 146, 54, 175, 232, 324, 58, 59, 119, 61, 248, 1015, 864, 747, 431, 362, 175, 630, 681, 606, 689, 1079, 175, 8, 178, 345, 689, 244, 967, 616, 247, 175, 827, 13, 61, 252, 253, 66, 1185, 3, 61, 99, 8, 50, 263, 164, 12, 413, 1195, 101, 8, 3, 50, 8, 72, 13, 85, 42, 13, 8, 24, 792, 114, 114, 8, 401, 118, 119, 168, 13, 66, 119, 124, 125, 101, 395, 124, 12, 23, 298, 101, 26, 301, 135, 135, 8, 303, 114, 207, 12, 56, 118, 330, 114, 907, 147, 8, 118, 64, 44, 152, 56, 100, 1250, 89, 101, 158, 42, 135, 972, 139, 341, 164, 587, 135, 64, 168, 75, 26, 251, 147, 73, 174, 597, 412, 177, 147, 3, 8, 177, 137, 75, 286, 56, 500, 66, 102, 72, 190, 137, 362, 64, 190, 195, 195, 1084, 3, 102, 175, 0, 1013, 2, 64, 133, 12, 100, 969, 3, 556, 5, 8, 213, 213, 362, 50, 51, 218, 15, 195, 45, 101, 1195, 58, 864, 195, 2, 56, 362, 362, 102, 362, 326, 336, 422, 362, 281, 213, 426, 407, 428, 362, 218, 213, 988, 23, 414, 248, 218, 932, 50, 51, 346, 334, 362, 4, 541, 3, 58, 12, 362, 61, 11, 134, 42, 72, 535, 73, 3, 362, 12, 68, 12, 102, 26, 146, 561, 1250, 73, 66, 281, 5, 1094, 1290, 8, 61, 12, 692, 23, 24, 14, 23, 606, 905, 26, 8, 42, 977, 85, 704, 918, 101, 616, 915, 28, 3, 918, 869, 86, 44, 355, 418, 44, 62, 114, 50, 423, 318, 118, 72, 856, 318, 1005, 324, 325, 101, 64, 324, 325, 625, 72, 3, 72, 401, 418, 135, 207, 703, 1291, 423, 175, 260, 118, 41, 263, 1146, 72, 147, 8, 8, 355, 75, 518, 12, 355, 20, 21, 523, 418, 627, 15, 28, 1174, 423, 26, 100, 681, 105, 24, 41, 5, 147, 3, 8, 689, 25, 421, 692, 379, 14, 23, 686, 687, 560, 385, 45, 362, 54, 23, 704, 40, 13, 47, 28, 8, 195, 562, 563, 12, 42, 129, 44, 137, 404, 591, 64, 41, 207, 58, 59, 41, 412, 413, 213, 99, 23, 1096, 418, 218, 5, 421, 418, 423, 8, 661, 44, 423, 12, 8, 536, 431, 12, 12, 1027, 42, 1029, 44, 44, 1050, 1251, 75, 27, 218, 86, 244, 760, 281, 8, 248, 775, 64, 1023, 536, 8, 625, 326, 3, 376, 377, 378, 6, 14, 977, 566, 567, 8, 8, 47, 48, 12, 755, 14, 25, 541, 25, 346, 536, 625, 86, 64, 27, 281, 650, 26, 64, 1297, 652, 40, 25, 40, 28, 625, 625, 561, 625, 12, 1176, 40, 625, 500, 3, 1181, 40, 40, 625, 693, 1146, 58, 59, 510, 511, 512, 513, 56, 929, 244, 54, 625, 72, 520, 355, 64, 5, 625, 27, 8, 326, 362, 887, 888, 401, 14, 625, 880, 3, 536, 134, 0, 885, 536, 777, 12, 856, 8, 1075, 28, 8, 12, 146, 8, 12, 8, 1182, 12, 26, 355, 13, 100, 27, 102, 17, 18, 19, 28, 658, 22, 26, 24, 111, 1249, 3, 1211, 44, 739, 3, 40, 742, 626, 1208, 747, 23, 1096, 25, 8, 44, 12, 421, 12, 45, 54, 905, 1271, 75, 594, 27, 24, 431, 40, 903, 64, 915, 401, 64, 918, 25, 64, 1137, 23, 676, 207, 75, 68, 412, 532, 1294, 1295, 3, 74, 594, 40, 1296, 421, 623, 24, 594, 626, 627, 1307, 44, 630, 627, 431, 8, 630, 1314, 5, 1316, 556, 3, 64, 27, 1321, 1244, 692, 65, 564, 565, 1287, 67, 625, 965, 1253, 8, 26, 3, 3, 12, 576, 3, 578, 661, 1176, 27, 26, 8, 3, 1181, 40, 244, 25, 541, 8, 129, 674, 23, 24, 1278, 674, 3, 27, 681, 44, 27, 26, 40, 864, 42, 755, 689, 27, 561, 692, 65, 42, 67, 44, 864, 40, 699, 24, 701, 50, 703, 704, 1051, 1052, 8, 436, 64, 3, 510, 511, 512, 513, 514, 8, 69, 70, 518, 12, 520, 8, 26, 16, 17, 18, 19, 26, 326, 12, 103, 104, 25, 27, 1249, 1050, 5, 86, 25, 8, 44, 541, 8, 811, 812, 44, 12, 40, 346, 23, 326, 100, 5, 40, 23, 8, 1271, 44, 99, 760, 5, 561, 8, 8, 932, 8, 12, 12, 1083, 12, 23, 64, 915, 857, 915, 918, 777, 918, 26, 1294, 1295, 26, 28, 28, 26, 514, 26, 658, 137, 518, 625, 792, 1307, 874, 594, 961, 964, 5, 64, 1314, 8, 1316, 673, 401, 44, 676, 1321, 40, 54, 54, 811, 812, 906, 5, 908, 23, 8, 24, 64, 64, 12, 64, 792, 623, 5, 554, 827, 8, 12, 75, 75, 26, 24, 14, 26, 5, 28, 1005, 8, 24, 25, 3, 23, 1011, 14, 25, 847, 28, 25, 44, 847, 827, 920, 23, 8, 40, 775, 827, 28, 40, 40, 661, 54, 40, 56, 42, 24, 25, 703, 8, 25, 24, 64, 12, 968, 8, 676, 8, 26, 12, 25, 12, 40, 75, 755, 40, 887, 888, 79, 80, 1056, 1296, 40, 8, 75, 40, 1062, 12, 26, 699, 25, 701, 8, 703, 905, 75, 12, 1050, 87, 1050, 102, 26, 27, 28, 915, 40, 26, 918, 12, 920, 26, 966, 28, 652, 1092, 64, 971, 972, 47, 48, 40, 64, 1100, 64, 510, 511, 512, 513, 514, 54, 8, 942, 518, 541, 520, 942, 8, 8, 54, 64, 5, 13, 0, 8, 2, 755, 1059, 12, 64, 25, 75, 880, 963, 561, 965, 966, 885, 1146, 72, 75, 971, 26, 27, 28, 40, 1024, 977, 777, 1146, 1060, 8, 1296, 24, 25, 12, 40, 42, 988, 44, 24, 25, 25, 792, 53, 50, 55, 8, 26, 40, 54, 1168, 13, 50, 51, 25, 40, 40, 977, 1102, 64, 58, 40, 988, 61, 1185, 44, 72, 46, 988, 40, 75, 58, 59, 1024, 1195, 26, 1027, 827, 1029, 25, 1027, 5, 1029, 762, 8, 906, 64, 908, 12, 40, 1085, 25, 8, 1211, 40, 1282, 12, 623, 1142, 1050, 24, 26, 26, 101, 28, 5, 40, 25, 8, 8, 658, 980, 28, 12, 8, 40, 114, 76, 12, 13, 118, 15, 40, 944, 40, 72, 25, 1171, 676, 1250, 54, 90, 1083, 5, 1085, 25, 8, 135, 54, 8, 64, 40, 26, 12, 127, 1096, 72, 968, 64, 147, 40, 75, 8, 47, 45, 8, 25, 13, 12, 75, 13, 17, 18, 19, 15, 64, 22, 8, 24, 1287, 64, 40, 13, 699, 1292, 701, 1096, 26, 25, 73, 8, 966, 1051, 1052, 26, 13, 971, 972, 1139, 45, 83, 84, 1139, 40, 72, 64, 5, 195, 42, 8, 44, 72, 73, 12, 1155, 1155, 1075, 755, 1265, 207, 81, 82, 68, 963, 72, 213, 966, 26, 74, 28, 218, 971, 972, 58, 59, 1176, 72, 977, 8, 1155, 1181, 40, 12, 72, 8, 1155, 574, 575, 988, 13, 26, 1236, 225, 26, 227, 54, 244, 1242, 28, 8, 248, 906, 8, 908, 13, 64, 1176, 13, 75, 76, 77, 1181, 28, 246, 943, 1185, 75, 51, 1137, 71, 949, 1270, 78, 129, 54, 1195, 72, 72, 73, 54, 1275, 1102, 72, 281, 64, 1236, 81, 82, 17, 18, 19, 1242, 1291, 525, 526, 75, 12, 1296, 1249, 8, 1085, 72, 73, 12, 13, 8, 15, 529, 530, 12, 81, 82, 1062, 27, 1265, 1125, 1126, 1127, 1265, 1270, 1271, 1142, 25, 8, 1275, 8, 67, 9, 326, 1249, 1250, 1282, 557, 558, 559, 1085, 27, 40, 47, 22, 1291, 133, 22, 1294, 1295, 1296, 1096, 40, 65, 45, 1171, 1271, 42, 50, 8, 64, 1307, 355, 906, 5, 908, 64, 8, 1314, 23, 1316, 12, 3, 45, 42, 1321, 54, 87, 8, 1294, 1295, 59, 8, 12, 23, 26, 3, 28, 1062, 73, 105, 23, 1307, 1067, 1068, 1069, 1070, 45, 100, 1314, 8, 1316, 23, 12, 27, 1185, 1321, 14, 401, 8, 1155, 27, 3, 54, 3, 1195, 8, 41, 1092, 412, 12, 41, 40, 64, 8, 968, 1100, 40, 421, 72, 408, 1176, 44, 25, 75, 10, 1181, 13, 431, 26, 1185, 119, 963, 26, 422, 8, 124, 125, 40, 44, 1195, 24, 5, 8, 24, 8, 1236, 435, 44, 12, 27, 8, 1242, 441, 8, 8, 444, 27, 3, 207, 1250, 3, 64, 26, 152, 28, 570, 571, 572, 573, 158, 42, 41, 12, 3, 27, 164, 40, 8, 3, 168, 1236, 3, 55, 24, 1275, 174, 1242, 54, 177, 27, 54, 42, 42, 1249, 1250, 244, 73, 23, 1183, 248, 64, 190, 5, 27, 24, 41, 510, 511, 512, 513, 514, 75, 8, 8, 518, 1271, 520, 54, 13, 1275, 41, 58, 17, 18, 19, 27, 1282, 22, 73, 24, 1062, 73, 8, 70, 73, 27, 27, 541, 1294, 1295, 73, 27, 27, 26, 73, 72, 12, 27, 1102, 27, 45, 1307, 41, 27, 73, 24, 44, 561, 1314, 1244, 1316, 45, 251, 27, 24, 1321, 27, 24, 1253, 27, 42, 12, 5, 68, 12, 26, 5, 326, 3, 74, 42, 24, 119, 65, 16, 122, 207, 1272, 1142, 8, 594, 5, 5, 1278, 8, 8, 67, 5, 12, 12, 8, 45, 139, 140, 12, 45, 143, 1292, 17, 598, 599, 148, 26, 26, 28, 28, 153, 1171, 26, 623, 28, 24, 159, 244, 55, 162, 163, 248, 8, 318, 27, 620, 40, 170, 129, 324, 325, 23, 175, 23, 54, 54, 631, 56, 27, 334, 54, 73, 56, 26, 64, 64, 401, 26, 26, 644, 64, 661, 26, 8, 27, 75, 75, 412, 8, 27, 45, 75, 12, 13, 24, 15, 676, 8, 8, 45, 41, 5, 12, 13, 8, 15, 8, 24, 12, 24, 3, 8, 54, 102, 379, 24, 24, 41, 102, 699, 385, 701, 26, 703, 28, 41, 27, 47, 40, 326, 8, 27, 26, 24, 26, 42, 40, 47, 24, 404, 3, 26, 24, 5, 64, 45, 27, 24, 413, 88, 54, 24, 56, 418, 64, 27, 24, 10, 423, 24, 64, 27, 41, 90, 24, 24, 42, 62, 26, 8, 27, 75, 41, 27, 45, 755, 26, 23, 65, 744, 41, 5, 27, 748, 749, 510, 511, 512, 513, 514, 26, 24, 139, 518, 24, 520, 27, 777, 102, 5, 42, 27, 8, 24, 401, 27, 12, 5, 773, 27, 8, 40, 792, 40, 12, 412, 541, 40, 27, 651, 26, 27, 28, 113, 113, 319, 531, 998, 26, 998, 28, 344, 345, 603, 40, 500, 561, 1130, 635, 876, 1211, 374, 40, 204, 749, 358, 748, 827, 54, 362, 760, 944, 5, 888, 703, 8, 54, 370, 64, 12, 5, 882, 848, 8, 10, 393, 64, 12, 534, 75, 659, 536, 1292, 26, 387, 28, 527, 75, 1100, 1315, 972, 26, 395, 28, 542, 152, 385, 40, 378, 1185, 1085, 404, 966, 1139, 555, 40, 1024, 5, 623, 412, 8, 54, 2, 396, 12, 418, 667, 1083, 1168, 54, 423, 64, 137, 510, 511, 512, 513, 514, 26, 64, 28, 518, 75, 520, 1141, 949, 5, 528, 261, 8, 75, 5, 676, 12, 8, 423, 661, 902, 12, 222, 614, -1, -1, 536, 541, -1, 54, 26, -1, 28, -1, 676, 26, -1, 28, 235, 64, -1, -1, -1, -1, 626, 627, -1, 561, 630, -1, 75, -1, 934, -1, -1, -1, -1, 699, 54, 701, -1, -1, -1, 54, -1, -1, 963, -1, 64, 966, -1, -1, 502, 64, 971, 972, -1, -1, -1, 75, 977, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, 988, 674, -1, -1, -1, -1, -1, -1, 681, -1, -1, -1, -1, 8, 535, 536, 689, 12, 623, 692, 15, -1, 755, -1, -1, -1, -1, -1, -1, -1, 25, 704, -1, -1, -1, -1, -1, 1010, -1, -1, -1, -1, -1, -1, 777, 40, -1, -1, -1, -1, -1, -1, 47, 48, 49, -1, 661, -1, -1, 1032, 1033, -1, -1, 58, 59, -1, -1, -1, 23, 64, -1, 676, -1, 68, 1062, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, 760, -1, -1, -1, -1, -1, -1, 699, -1, 701, 1085, 53, -1, 55, -1, -1, -1, 625, -1, -1, -1, 1096, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1091, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, 811, 812, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 755, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1155, -1, -1, -1, -1, 777, -1, 847, -1, -1, -1, -1, -1, -1, -1, 703, -1, -1, -1, -1, -1, 1176, -1, -1, -1, -1, 1181, -1, -1, -1, 1185, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1195, -1, -1, -1, -1, -1, -1, 887, 888, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 963, -1, 905, 1206, -1, -1, -1, -1, -1, -1, -1, -1, 915, -1, -1, 918, -1, 920, 1236, -1, -1, -1, -1, -1, 1242, -1, -1, -1, -1, -1, -1, 1249, 1250, -1, -1, -1, -1, -1, -1, 942, 791, 792, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1271, -1, -1, -1, 1275, -1, -1, -1, -1, 965, -1, 1282, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1294, 1295, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1307, -1, -1, -1, -1, -1, -1, 1314, -1, 1316, 1062, -1, -1, -1, 1321, -1, -1, 857, -1, 859, -1, -1, -1, 863, -1, -1, 54, -1, -1, -1, -1, -1, 1024, -1, -1, 1027, 876, 1029, -1, 963, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 896, -1, 1050, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, -1, 7, 8, 9, -1, -1, 12, -1, -1, 15, 16, -1, -1, -1, -1, -1, 22, -1, 1083, 25, 26, -1, 28, 29, -1, -1, -1, -1, 129, -1, -1, -1, -1, 134, 40, -1, -1, -1, -1, -1, -1, 47, 48, 49, -1, 146, -1, -1, 54, -1, 56, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, 164, 977, 1062, -1, -1, 74, 75, -1, -1, -1, -1, 1139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 102, 198, 199, 105, -1, -1, -1, -1, -1, -1, 207, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, 131, 132, -1, -1, 230, -1, 232, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, 244, -1, 12, 247, -1, 15, 1062, -1, 252, 253, -1, -1, -1, -1, 1282, -1, 260, 261, -1, 263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, 48, 49, 1096, -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, 1265, 68, 303, -1, -1, 1270, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 326, 1291, -1, -1, -1, -1, 1296, -1, -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, 1156, 1157, 346, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, 1176, -1, -1, -1, -1, 1181, -1, 1183, -1, 1185, 374, 375, 376, 377, 378, 379, -1, -1, -1, 1195, -1, -1, 1282, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1210, -1, -1, 401, -1, -1, 404, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1229, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1244, 1245, -1, -1, 436, 1249, 1250, -1, -1, 1253, -1, -1, -1, -1, -1, 1259, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1269, -1, 1271, -1, -1, -1, -1, -1, -1, 1278, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1294, 1295, -1, -1, -1, -1, -1, 1301, 1302, -1, -1, -1, -1, 1307, -1, -1, -1, -1, -1, -1, 1314, -1, 1316, -1, -1, -1, -1, 1321, -1, -1, -1, -1, 514, -1, -1, -1, 518, -1, -1, -1, -1, 523, -1, 525, 526, 527, 528, 529, 530, 531, 532, -1, 534, -1, -1, -1, -1, -1, -1, 541, 542, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, -1, -1, -1, -1, 570, 571, 572, 573, 574, 575, 576, -1, 578, 4, -1, -1, 7, 8, 9, 10, 11, 12, -1, 14, 15, 16, -1, -1, -1, 20, 21, 22, -1, 24, 25, 26, -1, 28, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, 44, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, 56, 57, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, 75, -1, 652, -1, -1, -1, -1, -1, 658, -1, 85, 86, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 673, -1, 100, 676, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, 131, 132, -1, 134, 135, 136, -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, 10, 11, 12, -1, 14, 15, 16, -1, -1, 739, 20, 21, 742, -1, 24, 25, 26, -1, 28, -1, -1, -1, -1, -1, -1, 755, -1, 8, -1, -1, 40, 12, 762, 43, 15, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, 775, 56, -1, 58, 59, 60, 61, 62, 63, 64, -1, 66, -1, 68, -1, -1, -1, -1, -1, 74, 75, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, -1, 811, 812, 64, -1, -1, -1, 68, -1, -1, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, 131, 132, -1, 134, 135, 136, -1, 138, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, 880, -1, -1, -1, -1, 885, -1, 887, 888, -1, -1, -1, -1, -1, 5, -1, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, 906, -1, 908, 20, 21, -1, -1, -1, -1, 26, 27, 28, -1, -1, 920, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, 943, 944, 56, -1, 58, 59, 949, -1, -1, -1, 64, -1, 66, -1, 68, -1, -1, -1, 961, -1, -1, 75, -1, -1, -1, 968, -1, -1, -1, 972, -1, -1, -1, -1, -1, -1, -1, 980, -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, -1, 138, -1, -1, 1030, -1, -1, -1, -1, -1, -1, -1, -1, 1039, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1051, 1052, -1, -1, -1, 1056, -1, -1, -1, -1, -1, 1062, -1, -1, -1, -1, 1067, 1068, 1069, 1070, -1, -1, -1, -1, 1075, -1, -1, -1, 1079, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1092, -1, -1, -1, -1, -1, -1, -1, 1100, -1, 1102, -1, 4, -1, -1, 7, 8, 9, 10, 11, 12, -1, 14, 15, 16, -1, -1, -1, 20, 21, 22, -1, 24, 25, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, 1137, -1, -1, 40, -1, 1142, 43, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, 56, -1, 58, 59, 60, 61, 62, 63, 64, -1, 66, -1, 68, -1, -1, 1171, -1, -1, 74, 75, -1, -1, -1, -1, -1, -1, -1, 1183, -1, 1185, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1195, -1, -1, -1, -1, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, 131, 132, -1, 134, 135, 136, -1, 138, -1, -1, -1, -1, -1, 1244, -1, -1, -1, -1, -1, 1250, -1, -1, 1253, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1272, -1, -1, -1, -1, -1, 1278, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1290, -1, 1292, 3, 4, 5, 6, 7, 8, 9, 10, -1, 12, 13, -1, 15, 16, -1, -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, 44, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, 64, 65, -1, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, 137, 3, 4, 5, 6, 7, 8, 9, 10, -1, 12, 13, -1, 15, 16, -1, -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, 44, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, 64, 65, -1, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, 137, 3, 4, 5, 6, 7, 8, 9, 10, -1, 12, 13, -1, 15, 16, -1, -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, 44, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, 64, 65, -1, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, -1, 137, 3, 4, 5, 6, 7, 8, 9, 10, -1, 12, 13, -1, 15, 16, -1, -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, 44, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, 64, 65, -1, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, 4, -1, 137, 7, 8, 9, 10, 11, 12, -1, 14, 15, 16, -1, -1, -1, 20, 21, 22, -1, 24, 25, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, 56, -1, 58, 59, 60, 61, 62, 63, 64, -1, 66, -1, 68, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, 131, 132, -1, 134, 135, 136, 4, 138, -1, 7, 8, 9, 10, 11, 12, -1, 14, 15, 16, -1, -1, -1, 20, 21, 22, -1, 24, 25, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, 56, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, 131, 132, -1, 134, 135, 136, 5, 138, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, 56, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 5, 138, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, 56, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 5, 138, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, 3, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, 20, 21, -1, 23, -1, -1, 40, 27, 28, 43, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, -1, -1, -1, 54, 55, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 0, 138, -1, -1, 4, 5, 6, 7, 8, 9, -1, -1, 12, 13, -1, 15, 16, 17, 18, 19, -1, -1, 22, -1, 24, 25, 26, -1, 28, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, 42, -1, -1, 45, -1, 47, 48, 49, -1, -1, -1, -1, 54, -1, 56, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, 0, -1, -1, -1, 4, -1, 6, 7, 8, 9, 98, 99, 12, 13, 102, 15, 16, 105, -1, -1, -1, -1, 22, -1, 24, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 45, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, 0, -1, -1, -1, 4, -1, 6, 7, 8, 9, 98, 99, 12, 13, -1, 15, 16, 105, -1, -1, -1, -1, 22, -1, 24, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, 0, -1, -1, -1, 4, -1, 6, 7, 8, 9, 98, 99, 12, 13, -1, 15, 16, 105, -1, -1, -1, -1, 22, -1, 24, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, 0, -1, -1, -1, 4, -1, 6, 7, 8, 9, 98, 99, 12, 13, -1, 15, 16, 105, -1, -1, -1, -1, 22, -1, 24, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, 99, -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 5, -1, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, 3, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, 20, 21, -1, 23, -1, -1, 40, -1, 28, 43, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, -1, -1, -1, 54, 55, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 3, -1, -1, -1, -1, 8, 135, 136, 11, 12, -1, -1, 15, -1, -1, -1, -1, 20, 21, -1, 23, -1, -1, 26, -1, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, 43, -1, -1, -1, 47, 48, 49, -1, 51, -1, -1, 54, 55, -1, -1, 58, 59, -1, -1, -1, -1, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, 8, 133, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, 56, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, 3, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, 20, 21, -1, 23, -1, -1, 40, -1, 28, 43, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, -1, 66, -1, 54, 55, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, 44, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, 41, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 100, 138, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, 44, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, 44, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 100, 138, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, 44, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, 24, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 100, 138, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, 24, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, -1, 66, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, -1, 66, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, -1, 66, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, 44, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 100, 138, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, 44, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 100, 138, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, 44, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 100, 138, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, 44, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 100, 138, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, 44, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, 41, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 100, 138, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 100, 138, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 100, 138, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 100, 138, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 100, 138, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 100, 138, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 100, 138, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, 134, 135, 136, 8, 138, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, 56, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, -1, -1, -1, 73, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, 56, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, -1, -1, -1, 73, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, 56, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, -1, -1, -1, 73, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, 56, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, -1, -1, -1, 73, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, 56, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, -1, -1, -1, 73, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, 56, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, 56, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 4, -1, 6, 7, 8, 9, 135, 136, 12, 13, -1, 15, 16, -1, -1, -1, -1, -1, 22, -1, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, 6, 7, 8, 9, 98, 99, 12, 13, -1, 15, 16, 105, -1, -1, -1, -1, 22, -1, 24, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, 47, 48, 49, -1, -1, 52, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, 6, 7, 8, 9, 98, 99, 12, 13, -1, 15, 16, 105, -1, -1, -1, -1, 22, -1, 24, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 45, -1, 47, 48, 49, 8, -1, -1, -1, 12, -1, -1, 15, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, 98, 99, 58, 59, -1, -1, -1, 105, 64, -1, -1, -1, 68, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 4, -1, 6, 7, 8, 9, -1, -1, 12, 13, -1, 15, 16, -1, 105, -1, -1, -1, 22, -1, 24, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, 44, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, 6, 7, 8, 9, 98, 99, 12, 13, -1, 15, 16, 105, -1, -1, -1, -1, 22, -1, 24, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, 4, -1, 6, 7, 8, 9, 98, 99, 12, 13, -1, 15, 16, 105, -1, -1, -1, -1, 22, -1, 24, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 45, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, 6, 7, 8, 9, 98, 99, 12, 13, -1, 15, 16, 105, -1, -1, -1, -1, 22, -1, 24, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 45, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, 6, 7, 8, 9, 98, 99, 12, 13, -1, 15, 16, 105, -1, -1, -1, -1, 22, -1, 24, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 45, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, 6, 7, 8, 9, 98, 99, 12, 13, -1, 15, 16, 105, -1, -1, -1, -1, 22, -1, 24, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 45, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, 6, 7, 8, 9, 98, 99, 12, 13, -1, 15, 16, 105, -1, -1, -1, -1, 22, -1, 24, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, 6, 7, 8, 9, 98, 99, 12, 13, -1, 15, 16, 105, -1, -1, -1, -1, 22, -1, 24, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, 99, -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, 41, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, 41, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, 41, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, -1, 20, 21, -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, 8, -1, 10, 11, 12, -1, 14, 15, -1, -1, -1, 56, 20, 21, -1, -1, -1, -1, 26, 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, 40, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, 100, 64, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 75, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, 136, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 4, -1, -1, 7, 8, 9, 135, 136, 12, -1, -1, 15, 16, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, 99, 12, -1, -1, 15, 16, 105, -1, -1, -1, -1, 22, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 45, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, -1, 12, 99, -1, 15, 16, -1, -1, 105, -1, -1, 22, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, -1, 12, 99, -1, 15, 16, -1, -1, 105, -1, -1, 22, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, -1, 12, 99, -1, 15, 16, -1, -1, 105, -1, -1, 22, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, -1, 12, 99, -1, 15, 16, -1, -1, 105, -1, -1, 22, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, -1, 12, 99, -1, 15, 16, -1, -1, 105, -1, -1, 22, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, -1, 12, 99, -1, 15, 16, -1, -1, 105, -1, -1, 22, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, -1, 12, 99, -1, 15, 16, -1, -1, 105, -1, -1, 22, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, -1, 12, 99, -1, 15, 16, -1, -1, 105, -1, -1, 22, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, -1, 12, 99, -1, 15, 16, -1, -1, 105, -1, -1, 22, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, -1, 12, 99, -1, 15, 16, -1, -1, 105, -1, -1, 22, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, -1, 12, 99, -1, 15, 16, -1, -1, 105, -1, -1, 22, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, -1, 12, 99, -1, 15, 16, -1, -1, 105, -1, -1, -1, -1, -1, -1, 26, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, 72, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, 131, 132, 4, -1, -1, 7, 8, 9, -1, -1, 12, -1, -1, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, 40, 12, -1, -1, 15, 16, -1, 47, 48, 49, -1, -1, -1, 24, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, 131, 132, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, 131, 132, 4, -1, -1, 7, 8, 9, -1, -1, 12, -1, -1, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, 26, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, -1, 12, -1, -1, 15, 16, -1, 47, 48, 49, -1, -1, -1, -1, 25, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, 40, -1, -1, -1, -1, 74, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, 131, 132, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, 131, 132, 4, -1, -1, 7, 8, 9, -1, -1, 12, -1, -1, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, 40, 12, -1, -1, 15, 16, -1, 47, 48, 49, -1, -1, -1, -1, 25, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, 40, -1, -1, -1, -1, 74, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, 131, 132, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, 131, 132, 4, -1, -1, 7, 8, 9, -1, -1, 12, -1, -1, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, -1, 12, -1, -1, 15, 16, -1, -1, -1, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, 47, 48, 49, 74, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 105, 130, 131, 132, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, 131, 132, 4, -1, -1, 7, 8, 9, -1, -1, 12, -1, -1, 15, 16, -1, -1, -1, -1, -1, 4, -1, -1, 7, 8, 9, -1, -1, 12, -1, -1, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, 64, 47, 48, 49, 68, -1, -1, -1, -1, -1, 74, -1, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, 131, 132, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 8, 130, 131, 132, 12, -1, -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 26, -1, -1, -1, 8, -1, -1, -1, 12, -1, -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, 48, 49, -1, -1, -1, 8, -1, -1, -1, 12, 58, 59, 15, -1, -1, -1, 64, -1, -1, -1, 68, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 8, -1, -1, -1, 12, -1, -1, 15, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 8, -1, -1, -1, 12, -1, -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, 47, 48, 49, -1, -1, -1, 8, -1, -1, -1, 12, 58, 59, 15, -1, -1, -1, 64, -1, -1, -1, 68, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 8, -1, -1, -1, 12, -1, -1, 15, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 8, -1, -1, -1, 12, -1, -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, 48, 49, -1, -1, -1, 8, -1, -1, -1, 12, 58, 59, 15, -1, -1, -1, 64, -1, -1, -1, 68, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 8, -1, -1, -1, 12, -1, -1, 15, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 8, -1, -1, -1, 12, -1, -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, -1, -1, -1, 64, -1, -1, -1, 68, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { 0, 4, 6, 7, 8, 9, 12, 13, 15, 16, 22, 24, 47, 48, 49, 58, 59, 60, 61, 62, 63, 64, 68, 74, 87, 98, 99, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 145, 147, 161, 164, 171, 177, 178, 190, 198, 200, 201, 203, 226, 229, 230, 232, 233, 234, 238, 239, 241, 247, 248, 249, 253, 256, 257, 258, 266, 267, 268, 269, 270, 283, 284, 286, 287, 314, 328, 335, 336, 337, 339, 340, 341, 342, 343, 353, 362, 370, 400, 402, 403, 407, 408, 413, 414, 416, 422, 424, 425, 427, 431, 433, 434, 438, 441, 444, 445, 44, 232, 328, 133, 409, 72, 238, 341, 8, 15, 68, 153, 247, 442, 443, 26, 47, 48, 341, 342, 26, 24, 8, 42, 89, 291, 329, 330, 331, 332, 8, 250, 26, 13, 99, 7, 9, 24, 230, 256, 268, 5, 22, 25, 26, 28, 29, 40, 54, 75, 143, 162, 176, 230, 231, 236, 237, 341, 360, 378, 379, 44, 177, 178, 341, 402, 178, 230, 236, 296, 297, 298, 341, 232, 12, 44, 178, 8, 416, 6, 144, 327, 12, 8, 13, 151, 8, 210, 416, 427, 52, 209, 232, 72, 0, 64, 105, 12, 234, 44, 232, 13, 15, 47, 73, 178, 342, 365, 414, 417, 418, 424, 428, 429, 8, 13, 151, 178, 341, 24, 143, 3, 24, 8, 10, 11, 12, 14, 20, 21, 26, 28, 40, 43, 56, 75, 100, 102, 103, 104, 106, 107, 108, 109, 110, 111, 134, 135, 136, 138, 150, 160, 163, 165, 182, 197, 206, 213, 221, 243, 263, 265, 273, 278, 292, 294, 311, 312, 315, 316, 317, 334, 341, 347, 354, 363, 371, 372, 373, 382, 386, 394, 398, 402, 403, 415, 419, 434, 436, 437, 439, 449, 8, 213, 214, 317, 234, 67, 331, 178, 178, 8, 8, 178, 23, 12, 214, 232, 178, 297, 178, 99, 26, 360, 378, 178, 26, 40, 178, 178, 102, 292, 341, 28, 54, 384, 385, 236, 24, 178, 75, 26, 40, 369, 378, 17, 18, 19, 68, 158, 161, 178, 239, 249, 256, 267, 268, 283, 321, 325, 326, 362, 407, 413, 441, 445, 42, 186, 187, 199, 342, 151, 23, 26, 44, 100, 191, 193, 301, 304, 392, 3, 24, 8, 259, 260, 261, 262, 254, 255, 342, 26, 87, 234, 12, 402, 402, 72, 8, 210, 200, 214, 292, 403, 410, 411, 412, 426, 431, 432, 434, 26, 45, 234, 72, 232, 14, 152, 429, 3, 73, 8, 143, 146, 143, 146, 402, 23, 8, 402, 439, 442, 26, 5, 197, 273, 426, 8, 14, 23, 28, 75, 143, 194, 195, 196, 295, 308, 309, 399, 197, 3, 11, 20, 21, 23, 26, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 51, 54, 55, 65, 66, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 84, 101, 102, 103, 104, 222, 364, 409, 432, 440, 26, 389, 390, 8, 238, 427, 197, 197, 72, 72, 72, 72, 26, 165, 166, 5, 26, 436, 26, 165, 193, 66, 101, 20, 21, 28, 51, 69, 70, 71, 3, 27, 78, 26, 72, 230, 231, 310, 313, 72, 54, 23, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 53, 55, 167, 75, 76, 77, 151, 72, 83, 84, 26, 40, 65, 67, 103, 104, 72, 73, 81, 82, 79, 80, 26, 193, 26, 193, 197, 27, 8, 24, 24, 67, 24, 342, 383, 9, 147, 3, 27, 8, 44, 24, 254, 342, 214, 426, 369, 27, 409, 22, 180, 181, 226, 227, 228, 40, 50, 137, 392, 446, 447, 448, 178, 365, 366, 367, 368, 214, 215, 65, 420, 42, 231, 178, 326, 45, 178, 188, 189, 50, 204, 205, 8, 201, 402, 402, 165, 193, 302, 274, 302, 303, 45, 67, 244, 245, 246, 303, 26, 217, 218, 373, 296, 178, 23, 3, 45, 42, 251, 252, 252, 8, 366, 329, 87, 374, 375, 12, 412, 23, 178, 143, 3, 73, 178, 432, 5, 26, 155, 156, 157, 357, 358, 359, 376, 379, 105, 45, 230, 143, 146, 417, 392, 393, 146, 23, 146, 23, 240, 241, 242, 143, 273, 3, 20, 21, 23, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 54, 55, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 279, 279, 27, 27, 143, 8, 143, 14, 8, 3, 3, 41, 27, 41, 40, 40, 72, 8, 435, 219, 220, 379, 366, 44, 388, 426, 426, 426, 426, 273, 426, 26, 426, 426, 40, 197, 26, 350, 351, 334, 334, 263, 398, 386, 386, 163, 165, 265, 366, 418, 10, 355, 356, 44, 208, 412, 294, 273, 316, 302, 371, 371, 371, 8, 402, 439, 412, 197, 197, 274, 275, 275, 151, 151, 206, 206, 206, 206, 160, 160, 275, 275, 8, 340, 24, 8, 409, 24, 44, 234, 338, 340, 143, 143, 27, 8, 173, 8, 168, 172, 173, 174, 175, 179, 228, 8, 293, 23, 42, 86, 224, 225, 282, 285, 446, 282, 228, 27, 3, 143, 41, 426, 326, 8, 146, 236, 322, 323, 324, 254, 16, 158, 202, 238, 341, 342, 143, 3, 187, 27, 143, 3, 8, 3, 141, 191, 3, 141, 54, 55, 214, 45, 260, 432, 24, 27, 332, 333, 42, 73, 216, 317, 342, 410, 358, 376, 379, 40, 369, 40, 369, 157, 376, 377, 27, 5, 26, 156, 236, 379, 146, 23, 426, 426, 24, 178, 242, 156, 27, 197, 5, 197, 143, 8, 301, 28, 196, 194, 41, 41, 412, 220, 27, 15, 44, 100, 207, 273, 344, 387, 391, 401, 430, 73, 73, 73, 73, 27, 27, 8, 27, 27, 41, 274, 26, 352, 432, 27, 73, 26, 178, 99, 177, 178, 190, 235, 307, 404, 405, 406, 73, 42, 73, 27, 41, 292, 292, 27, 27, 44, 27, 338, 45, 24, 27, 27, 24, 42, 5, 3, 41, 12, 26, 169, 170, 3, 41, 66, 85, 8, 202, 318, 319, 320, 225, 208, 228, 5, 365, 178, 178, 191, 192, 392, 448, 3, 24, 158, 159, 16, 154, 13, 427, 188, 302, 244, 45, 45, 373, 217, 65, 178, 17, 24, 8, 143, 369, 27, 215, 420, 215, 379, 23, 23, 292, 27, 27, 279, 301, 73, 341, 342, 273, 26, 216, 24, 45, 387, 26, 26, 26, 26, 27, 197, 27, 426, 26, 193, 348, 349, 40, 345, 346, 361, 379, 313, 393, 214, 420, 421, 8, 8, 40, 57, 85, 86, 90, 91, 92, 93, 94, 95, 96, 97, 112, 114, 208, 223, 230, 273, 276, 277, 305, 306, 397, 423, 404, 45, 165, 338, 24, 45, 168, 174, 41, 8, 26, 40, 44, 46, 183, 184, 185, 8, 301, 24, 24, 143, 26, 193, 3, 208, 385, 42, 23, 380, 381, 236, 322, 202, 202, 402, 143, 143, 402, 24, 24, 41, 41, 302, 302, 197, 427, 45, 24, 273, 273, 273, 273, 27, 275, 276, 40, 346, 393, 310, 27, 42, 193, 271, 272, 273, 42, 208, 26, 404, 26, 24, 24, 272, 8, 214, 4, 11, 142, 149, 26, 24, 45, 5, 185, 185, 185, 183, 27, 24, 275, 318, 88, 288, 289, 356, 214, 139, 392, 448, 24, 234, 178, 178, 27, 24, 10, 148, 27, 27, 27, 27, 349, 27, 41, 214, 208, 404, 24, 404, 289, 178, 211, 273, 90, 22, 161, 178, 277, 299, 300, 400, 24, 24, 42, 26, 62, 299, 300, 27, 41, 45, 27, 143, 26, 289, 290, 178, 192, 23, 65, 395, 396, 178, 41, 230, 27, 26, 211, 212, 178, 280, 404, 300, 208, 211, 5, 178, 264, 424, 24, 178, 236, 404, 273, 24, 230, 42, 211, 113, 27, 432, 27, 191, 27, 276, 28, 54, 236, 385, 271, 281, 27, 404, 404, 156, 236, 208, 24, 27, 40, 27, 404, 404, 293, 404, 113, 41, 404 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int16 yyr1[] = { 0, 140, 141, 141, 142, 142, 143, 143, 144, 144, 145, 145, 146, 146, 147, 147, 148, 148, 149, 149, 150, 150, 151, 151, 152, 152, 153, 153, 154, 154, 155, 155, 155, 156, 156, 157, 157, 158, 158, 158, 159, 159, 160, 160, 160, 161, 162, 162, 163, 163, 164, 165, 165, 165, 165, 166, 166, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 168, 169, 170, 170, 171, 172, 172, 172, 172, 173, 174, 174, 175, 176, 176, 177, 178, 178, 179, 179, 180, 181, 181, 182, 183, 183, 183, 183, 184, 184, 185, 185, 186, 187, 187, 188, 188, 188, 189, 189, 190, 190, 190, 190, 190, 190, 190, 190, 190, 191, 191, 192, 192, 193, 193, 193, 194, 194, 195, 195, 196, 196, 197, 197, 198, 198, 199, 200, 200, 200, 201, 201, 202, 202, 202, 203, 204, 205, 205, 206, 206, 207, 208, 209, 210, 211, 211, 212, 212, 213, 213, 214, 215, 215, 216, 217, 217, 218, 218, 219, 220, 220, 221, 222, 223, 224, 225, 225, 226, 226, 227, 228, 228, 229, 229, 229, 229, 229, 229, 229, 229, 229, 230, 230, 231, 231, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 233, 233, 234, 234, 235, 236, 236, 237, 238, 239, 240, 241, 241, 241, 242, 242, 243, 243, 244, 245, 245, 246, 247, 248, 248, 248, 248, 249, 250, 250, 251, 252, 252, 253, 254, 255, 255, 256, 256, 256, 257, 258, 258, 259, 260, 260, 261, 261, 262, 262, 263, 263, 263, 264, 264, 264, 265, 265, 266, 267, 268, 268, 269, 269, 270, 270, 270, 271, 271, 272, 272, 273, 273, 274, 275, 275, 276, 276, 277, 278, 278, 278, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 280, 280, 281, 282, 282, 282, 282, 283, 283, 284, 284, 285, 286, 287, 287, 288, 289, 290, 290, 291, 292, 292, 293, 293, 294, 294, 295, 295, 296, 296, 297, 297, 298, 298, 299, 299, 299, 300, 300, 301, 301, 302, 302, 303, 303, 304, 304, 305, 305, 305, 305, 306, 306, 306, 306, 306, 307, 307, 307, 308, 308, 308, 309, 309, 310, 310, 311, 311, 312, 313, 314, 314, 315, 315, 316, 316, 317, 317, 318, 318, 319, 319, 320, 320, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 322, 322, 322, 322, 323, 323, 324, 324, 325, 325, 326, 326, 327, 328, 328, 328, 329, 330, 330, 331, 331, 332, 333, 333, 334, 334, 334, 334, 335, 336, 337, 338, 339, 339, 339, 340, 340, 341, 341, 341, 341, 341, 341, 342, 342, 343, 344, 345, 345, 346, 346, 347, 347, 348, 348, 349, 349, 350, 351, 351, 352, 353, 354, 355, 355, 356, 356, 357, 357, 357, 358, 358, 359, 359, 359, 360, 360, 360, 360, 361, 361, 362, 363, 363, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 365, 365, 365, 365, 366, 366, 367, 367, 368, 368, 369, 370, 370, 371, 371, 371, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 373, 373, 373, 373, 373, 373, 373, 374, 375, 375, 376, 376, 377, 377, 378, 378, 379, 379, 379, 379, 380, 381, 381, 382, 383, 384, 384, 385, 385, 386, 386, 386, 386, 386, 387, 387, 387, 387, 388, 389, 390, 390, 391, 391, 392, 393, 393, 394, 395, 396, 396, 397, 397, 397, 397, 397, 398, 398, 398, 399, 399, 399, 399, 400, 400, 400, 401, 402, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 404, 404, 404, 404, 404, 404, 404, 404, 405, 405, 406, 406, 407, 407, 408, 408, 408, 408, 409, 410, 410, 410, 411, 411, 412, 412, 413, 413, 414, 415, 415, 415, 416, 417, 417, 418, 418, 419, 420, 421, 421, 422, 422, 423, 424, 424, 425, 425, 426, 427, 427, 427, 428, 428, 428, 428, 428, 428, 429, 429, 430, 431, 431, 431, 431, 432, 432, 433, 433, 434, 434, 435, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 437, 437, 437, 437, 437, 437, 438, 439, 439, 439, 439, 439, 439, 439, 440, 441, 442, 443, 443, 444, 445, 446, 446, 447, 447, 448, 448, 449, 449 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ static const yytype_int8 yyr2[] = { 0, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 3, 1, 0, 1, 1, 2, 1, 1, 1, 0, 1, 1, 3, 3, 6, 5, 5, 1, 3, 6, 1, 1, 1, 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 0, 1, 2, 1, 3, 2, 4, 1, 0, 1, 3, 6, 1, 2, 0, 1, 1, 1, 3, 0, 1, 2, 3, 3, 3, 1, 1, 2, 0, 1, 2, 0, 1, 2, 4, 4, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, 1, 4, 4, 2, 1, 1, 1, 1, 1, 3, 1, 4, 5, 3, 2, 1, 1, 1, 1, 1, 2, 3, 1, 4, 1, 0, 1, 1, 3, 6, 3, 5, 1, 1, 4, 0, 1, 1, 5, 1, 0, 1, 1, 1, 3, 1, 3, 2, 0, 1, 2, 2, 3, 2, 0, 1, 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 3, 2, 4, 8, 2, 1, 1, 1, 2, 2, 3, 5, 2, 1, 3, 2, 3, 4, 2, 4, 1, 1, 1, 4, 2, 0, 1, 4, 2, 0, 1, 1, 2, 2, 1, 4, 5, 2, 1, 3, 1, 3, 0, 1, 1, 3, 3, 3, 3, 1, 1, 3, 3, 4, 4, 1, 0, 1, 2, 4, 2, 1, 1, 0, 1, 1, 3, 1, 0, 1, 0, 1, 2, 5, 5, 7, 1, 1, 1, 1, 1, 1, 1, 1, 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, 6, 1, 2, 1, 3, 3, 5, 5, 1, 1, 4, 3, 0, 1, 5, 2, 0, 1, 1, 1, 1, 1, 3, 1, 3, 3, 4, 2, 2, 1, 3, 0, 1, 1, 1, 1, 0, 1, 1, 3, 1, 1, 2, 4, 0, 1, 5, 7, 8, 8, 2, 2, 3, 1, 3, 4, 5, 4, 1, 1, 3, 0, 1, 1, 5, 3, 7, 3, 4, 5, 3, 3, 2, 1, 3, 1, 3, 4, 2, 1, 1, 2, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 5, 1, 3, 0, 1, 2, 3, 0, 1, 6, 4, 4, 4, 2, 2, 3, 0, 1, 3, 0, 1, 1, 3, 3, 3, 7, 1, 5, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 4, 0, 1, 8, 3, 2, 1, 0, 1, 5, 7, 3, 1, 0, 1, 3, 0, 1, 2, 3, 4, 4, 1, 0, 1, 2, 5, 3, 0, 1, 2, 5, 1, 2, 2, 5, 3, 4, 5, 5, 2, 5, 1, 1, 3, 3, 1, 2, 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, 4, 6, 4, 6, 2, 3, 1, 3, 0, 1, 7, 2, 5, 1, 3, 3, 1, 4, 4, 4, 4, 2, 2, 4, 4, 2, 2, 7, 7, 7, 7, 4, 4, 1, 1, 3, 1, 1, 1, 1, 5, 0, 1, 1, 2, 0, 1, 1, 2, 3, 2, 2, 4, 2, 0, 1, 3, 2, 1, 1, 0, 1, 1, 3, 3, 3, 3, 1, 1, 1, 1, 3, 3, 0, 1, 1, 2, 2, 0, 1, 3, 2, 0, 1, 7, 9, 4, 6, 6, 1, 3, 3, 2, 3, 1, 2, 3, 4, 8, 2, 4, 2, 3, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 2, 1, 2, 0, 1, 5, 7, 1, 1, 1, 1, 1, 1, 1, 1, 2, 4, 0, 1, 2, 2, 5, 1, 4, 4, 1, 1, 1, 1, 3, 2, 2, 0, 1, 1, 4, 3, 2, 5, 0, 1, 2, 1, 1, 1, 3, 4, 3, 4, 4, 5, 1, 1, 4, 1, 1, 1, 1, 2, 2, 1, 1, 3, 4, 1, 1, 2, 2, 2, 1, 2, 4, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 2, 2, 1, 2, 3, 3, 2, 4, 6, 3, 1, 1, 1, 2, 0, 1, 2, 2 }; /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */ static const yytype_int8 yydprec[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */ static const yytype_int8 yymerger[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as in the case of predicates. */ static const yybool yyimmediate[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of list of conflicting reductions corresponding to action entry for state STATE-NUM in yytable. 0 means no conflicts. The list in yyconfl is terminated by a rule number of 0. */ static const yytype_int16 yyconflp[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1197, 0, 0, 1897, 0, 0, 0, 0, 0, 1921, 0, 0, 0, 0, 1227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1923, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3799, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, 0, 2055, 0, 2057, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 3903, 0, 0, 0, 3319, 0, 185, 0, 0, 0, 2059, 0, 0, 0, 0, 0, 2908, 0, 3658, 0, 3905, 3907, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1905, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3132, 0, 1987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1989, 0, 0, 0, 290, 0, 0, 0, 292, 0, 0, 0, 0, 0, 0, 0, 3134, 0, 1991, 1993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 986, 0, 0, 0, 0, 178, 0, 0, 395, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 397, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 0, 0, 0, 1223, 2799, 1187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0, 2801, 2803, 0, 0, 0, 0, 0, 0, 0, 1189, 0, 0, 0, 0, 0, 0, 0, 0, 2910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1967, 0, 0, 1971, 0, 1208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3399, 0, 0, 0, 1210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2049, 0, 0, 0, 2051, 0, 3401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3403, 1212, 0, 0, 0, 0, 0, 1214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1216, 0, 3324, 0, 0, 0, 0, 0, 0, 0, 0, 2061, 1084, 0, 0, 0, 0, 0, 0, 1086, 0, 0, 3326, 3328, 0, 0, 0, 0, 0, 0, 0, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2825, 0, 0, 0, 0, 0, 0, 2120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1891, 0, 0, 3317, 0, 0, 3397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1893, 0, 0, 0, 0, 0, 0, 2232, 1175, 0, 3375, 2234, 1177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2137, 0, 0, 0, 0, 0, 0, 0, 2238, 0, 0, 0, 0, 0, 0, 0, 2817, 0, 2240, 1179, 2819, 0, 0, 0, 0, 0, 0, 3801, 1220, 2242, 0, 0, 0, 0, 0, 0, 0, 0, 1911, 0, 0, 0, 0, 0, 0, 1979, 0, 0, 0, 3992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1981, 0, 0, 0, 0, 0, 0, 0, 0, 3671, 1983, 0, 2821, 0, 0, 3673, 0, 3897, 1977, 0, 0, 0, 0, 0, 0, 1985, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3343, 0, 0, 0, 0, 2863, 0, 0, 0, 2861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1314, 0, 0, 0, 0, 0, 399, 0, 0, 0, 0, 0, 0, 3679, 0, 0, 0, 3681, 0, 2857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3683, 0, 0, 2859, 0, 0, 0, 0, 0, 4888, 0, 0, 0, 0, 0, 2827, 0, 2829, 0, 0, 0, 0, 0, 0, 0, 984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3371, 0, 0, 3685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3663, 0, 2793, 2795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, 306, 0, 0, 0, 0, 0, 4484, 0, 0, 0, 0, 0, 0, 2865, 0, 0, 0, 0, 4486, 0, 2224, 1229, 0, 0, 3784, 0, 973, 0, 0, 0, 976, 0, 0, 978, 4886, 0, 0, 1719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3373, 0, 3786, 1969, 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4890, 0, 2015, 980, 0, 992, 0, 0, 1895, 3788, 0, 0, 0, 0, 0, 0, 0, 1218, 2017, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5032, 0, 0, 2115, 0, 2041, 0, 0, 0, 1958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2019, 0, 0, 0, 0, 2117, 2021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3116, 0, 0, 0, 3118, 0, 1995, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3120, 3332, 0, 0, 3699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3122, 0, 1949, 0, 3144, 0, 0, 0, 1956, 0, 3124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3126, 1960, 0, 0, 2122, 0, 0, 3146, 2125, 0, 2823, 2127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2131, 0, 0, 0, 0, 0, 0, 1181, 0, 0, 0, 1183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2043, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2851, 0, 0, 0, 0, 0, 2226, 1185, 0, 0, 0, 2228, 0, 2230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2577, 0, 0, 0, 0, 0, 0, 0, 0, 2867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2831, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3148, 0, 3228, 3230, 0, 0, 0, 0, 0, 0, 0, 0, 3232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2813, 0, 0, 0, 0, 0, 2815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1191, 3665, 0, 2872, 1193, 3667, 2874, 0, 0, 0, 2876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2878, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1195, 3669, 0, 0, 0, 0, 2880, 0, 0, 0, 0, 0, 0, 0, 2139, 0, 0, 0, 2142, 0, 0, 2144, 0, 0, 2615, 0, 0, 3361, 2618, 0, 3363, 2620, 0, 0, 3365, 0, 0, 3675, 3677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3367, 0, 0, 0, 0, 2146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2622, 0, 0, 0, 0, 0, 0, 2148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2624, 0, 0, 0, 0, 0, 3369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5204, 0, 0, 0, 5206, 0, 0, 0, 0, 5212, 0, 5214, 0, 0, 0, 0, 0, 0, 5208, 0, 0, 5026, 5450, 0, 0, 0, 2898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3353, 0, 0, 5210, 3355, 0, 0, 0, 5038, 0, 0, 0, 5040, 0, 0, 0, 0, 0, 3357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1202, 0, 0, 0, 1204, 0, 0, 0, 0, 0, 0, 3359, 0, 0, 0, 0, 0, 0, 0, 5042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2035, 0, 0, 0, 2037, 4892, 0, 0, 0, 4894, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2039, 0, 0, 0, 0, 4896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1951, 5030, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 267, 0, 0, 0, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, 280, 0, 0, 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2063, 0, 0, 0, 2066, 0, 0, 2068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2070, 2072, 2074, 0, 0, 0, 0, 0, 0, 0, 0, 2076, 2078, 0, 0, 0, 0, 2080, 0, 0, 0, 2083, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2087, 2089, 2091, 2093, 2095, 2097, 2099, 2101, 2103, 2105, 2107, 2109, 2111, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4496, 0, 0, 4498, 4500, 4504, 0, 0, 4506, 0, 0, 4509, 4512, 0, 0, 0, 0, 0, 0, 0, 0, 4514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2152, 0, 0, 4516, 0, 0, 0, 0, 0, 0, 4519, 4521, 4523, 0, 0, 0, 0, 0, 0, 0, 0, 4525, 4527, 4529, 4531, 4533, 4535, 4537, 0, 0, 0, 4541, 0, 0, 0, 0, 0, 4543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4548, 4551, 4554, 4557, 4560, 4563, 4566, 4569, 4572, 4575, 4578, 4581, 4584, 4587, 0, 4590, 4592, 4594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3702, 0, 0, 3704, 0, 0, 0, 3707, 0, 3709, 3711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3713, 0, 0, 0, 0, 0, 0, 3715, 3717, 3719, 0, 0, 0, 0, 0, 0, 0, 0, 3721, 3723, 0, 0, 0, 0, 3725, 0, 0, 0, 3728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3732, 3734, 3736, 3738, 3740, 3742, 3744, 3746, 3748, 3750, 3752, 3754, 3756, 3758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4314, 0, 0, 4317, 4320, 4324, 4327, 4329, 4331, 0, 4334, 4336, 4339, 0, 0, 0, 4342, 4344, 0, 0, 0, 4346, 4348, 0, 4350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352, 0, 0, 4355, 0, 0, 0, 4357, 4360, 4363, 0, 0, 0, 0, 0, 0, 4366, 0, 4368, 4371, 4374, 4377, 4380, 4383, 4386, 0, 4390, 0, 4392, 0, 0, 0, 0, 0, 4395, 4398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4400, 4402, 4404, 4406, 4408, 4410, 4413, 4415, 4417, 4419, 4421, 4423, 0, 0, 0, 4425, 4428, 4431, 4434, 4437, 4440, 4443, 4446, 4449, 4452, 4455, 4458, 4461, 4464, 0, 4467, 4470, 4473, 0, 4476, 4478, 4480, 0, 4482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 404, 406, 408, 410, 412, 414, 416, 0, 418, 420, 0, 422, 424, 0, 0, 0, 426, 428, 430, 432, 434, 436, 438, 440, 442, 444, 446, 448, 450, 452, 454, 456, 458, 460, 462, 464, 466, 468, 470, 0, 472, 474, 0, 476, 478, 480, 482, 484, 486, 488, 490, 492, 494, 0, 496, 498, 500, 502, 504, 506, 508, 510, 0, 512, 514, 516, 518, 520, 522, 524, 526, 528, 530, 532, 534, 536, 538, 540, 542, 544, 546, 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 550, 552, 554, 0, 556, 558, 560, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, 566, 568, 570, 572, 574, 576, 578, 580, 582, 584, 586, 588, 590, 592, 594, 596, 598, 0, 0, 0, 0, 600, 1316, 1320, 1324, 1328, 1332, 1336, 1340, 1344, 0, 1348, 1352, 0, 1356, 1360, 0, 0, 0, 1364, 1368, 1372, 1376, 1380, 1384, 1388, 1392, 1396, 1400, 1404, 1408, 1412, 1416, 1420, 1424, 1428, 1432, 1436, 1440, 1444, 1448, 1452, 0, 1456, 1460, 0, 1464, 1468, 1472, 1476, 1480, 1484, 1488, 1492, 1496, 1500, 0, 1504, 1508, 1512, 1516, 1520, 1524, 1528, 1533, 0, 1537, 1541, 1545, 1549, 1553, 1557, 1562, 1566, 1570, 1574, 1578, 1582, 1586, 1590, 1594, 1598, 1602, 1606, 0, 1610, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 1618, 1622, 0, 1626, 1630, 1634, 1638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1643, 1647, 1651, 1655, 1659, 1663, 1667, 1671, 1675, 1679, 1683, 1687, 1691, 1695, 1699, 1703, 1707, 1711, 0, 0, 0, 0, 1715, 2244, 2247, 2250, 2253, 2256, 2259, 2262, 2265, 0, 2268, 2271, 0, 2274, 2277, 0, 0, 0, 2280, 2283, 2286, 2289, 2292, 2295, 2298, 2301, 2304, 2307, 2310, 2313, 2316, 2319, 2322, 2325, 2328, 2331, 2334, 2337, 2340, 2343, 2346, 0, 2349, 2352, 0, 2355, 2358, 2361, 2364, 2367, 2370, 2373, 2376, 2379, 2382, 0, 2385, 2388, 2391, 2394, 2397, 2400, 2403, 2406, 0, 2409, 2412, 2415, 2418, 2421, 2424, 2428, 2431, 2434, 2437, 2440, 2443, 2446, 2449, 2452, 2455, 2458, 2461, 0, 2464, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2467, 2470, 2473, 0, 2476, 2479, 2482, 2485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2488, 2491, 2494, 2497, 2500, 2503, 2506, 2509, 2512, 2515, 2518, 2521, 2524, 2527, 2530, 2533, 2536, 2539, 0, 0, 0, 0, 2542, 2916, 2918, 2920, 2922, 2924, 2926, 2928, 2930, 0, 2932, 2934, 0, 2936, 2938, 0, 0, 0, 2940, 2942, 2944, 2946, 2948, 2950, 2952, 2954, 2956, 2958, 2960, 2962, 2964, 2966, 2968, 2970, 2972, 2974, 2976, 2978, 2980, 2982, 2984, 0, 2986, 2988, 0, 2990, 2992, 2994, 2996, 2998, 3000, 3002, 3004, 3006, 3008, 0, 3010, 3012, 3014, 3016, 3018, 3020, 3022, 3024, 0, 3026, 3028, 3030, 3032, 3034, 3036, 3038, 3040, 3042, 3044, 3046, 3048, 3050, 3052, 3054, 3056, 3058, 3060, 0, 3062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3064, 3066, 3068, 0, 3070, 3072, 3074, 3076, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3078, 3080, 3082, 3084, 3086, 3088, 3090, 3092, 3094, 3096, 3098, 3100, 3102, 3104, 3106, 3108, 3110, 3112, 0, 0, 4674, 0, 3114, 4677, 4680, 4684, 4687, 4689, 4691, 0, 4694, 4696, 4699, 0, 0, 0, 4702, 4704, 0, 0, 0, 4706, 4708, 0, 4710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4712, 0, 0, 4715, 0, 0, 0, 4717, 4720, 4723, 0, 0, 0, 0, 0, 0, 4726, 0, 4728, 4731, 4734, 4737, 4740, 4743, 4746, 0, 4750, 0, 4752, 0, 0, 0, 0, 0, 4755, 4758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4760, 4762, 4764, 4766, 4768, 4770, 4773, 4775, 4777, 4779, 4781, 4783, 0, 0, 0, 4785, 4788, 4791, 4794, 4797, 4800, 4803, 4806, 4809, 4812, 4815, 4818, 4821, 4824, 0, 4827, 4830, 4833, 0, 4836, 4838, 4840, 4196, 4842, 0, 4199, 4202, 4206, 0, 0, 4209, 0, 0, 4212, 4215, 0, 0, 0, 0, 0, 0, 0, 0, 4218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4220, 0, 0, 0, 0, 0, 0, 4223, 4226, 4229, 0, 0, 0, 0, 0, 0, 0, 0, 4232, 4235, 4238, 4241, 4244, 4247, 4250, 0, 0, 0, 4254, 0, 0, 0, 0, 0, 4257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4263, 4266, 4269, 4272, 4275, 4278, 4281, 4284, 4287, 4290, 4293, 4296, 4299, 4302, 0, 4305, 4308, 4311, 0, 0, 0, 0, 0, 0, 0, 1907, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1909, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2835, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 768, 0, 0, 0, 770, 772, 774, 776, 778, 780, 0, 0, 782, 784, 0, 786, 788, 790, 792, 794, 0, 0, 796, 0, 798, 800, 802, 0, 804, 806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 808, 0, 810, 0, 0, 812, 0, 814, 816, 818, 0, 0, 0, 0, 820, 0, 822, 0, 824, 826, 828, 830, 832, 834, 836, 0, 0, 0, 838, 0, 0, 0, 0, 0, 840, 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 844, 0, 0, 0, 0, 310, 0, 312, 314, 316, 320, 846, 848, 322, 324, 850, 326, 328, 852, 0, 0, 0, 0, 330, 0, 0, 0, 0, 854, 856, 858, 860, 862, 864, 866, 868, 870, 872, 874, 876, 878, 880, 882, 884, 886, 888, 0, 0, 332, 334, 336, 0, 0, 0, 0, 0, 0, 0, 0, 338, 340, 342, 344, 346, 348, 350, 0, 0, 0, 353, 0, 0, 0, 0, 0, 355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 5, 7, 11, 0, 357, 13, 15, 0, 17, 19, 359, 0, 0, 0, 0, 21, 0, 0, 0, 0, 361, 363, 365, 367, 369, 371, 373, 375, 377, 379, 381, 383, 385, 387, 0, 389, 391, 393, 0, 0, 23, 25, 27, 0, 0, 0, 0, 0, 0, 0, 0, 29, 31, 33, 35, 37, 39, 41, 0, 0, 0, 44, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 1231, 0, 0, 1233, 1235, 1239, 0, 50, 1241, 1243, 0, 1245, 1247, 52, 0, 0, 0, 0, 1249, 0, 0, 0, 0, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 0, 82, 84, 86, 0, 0, 1251, 1253, 1255, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 1259, 1261, 1263, 1265, 1267, 1269, 0, 0, 0, 1272, 0, 0, 0, 0, 0, 1274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3909, 0, 0, 3911, 3913, 3917, 0, 1276, 3919, 3921, 0, 3923, 3925, 1278, 0, 0, 0, 0, 3927, 0, 0, 0, 0, 1280, 1282, 1284, 1286, 1288, 1290, 1292, 1294, 1296, 1298, 1300, 1302, 1304, 1306, 0, 1308, 1310, 1312, 0, 0, 3929, 3931, 3933, 0, 0, 0, 0, 0, 0, 0, 0, 3935, 3937, 3939, 3941, 3943, 3945, 3947, 0, 0, 0, 3950, 0, 0, 0, 0, 0, 3952, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3954, 0, 0, 0, 0, 0, 3956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3958, 3960, 3962, 3964, 3966, 3968, 3970, 3972, 3974, 3976, 3978, 3980, 3982, 3984, 0, 3986, 3988, 3990, 0, 0, 0, 1937, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1919, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2031, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2033, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1933, 0, 0, 0, 0, 0, 0, 0, 0, 2160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2162, 2164, 0, 2166, 0, 0, 0, 0, 2168, 0, 2170, 2172, 2174, 2176, 2178, 2180, 2182, 2184, 2186, 2188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1935, 0, 0, 0, 2190, 2192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2194, 2196, 2198, 2200, 2202, 0, 2204, 2206, 2208, 2210, 2212, 2214, 2216, 2218, 2220, 2222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2676, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2706, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3803, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4154, 0, 0, 0, 4157, 0, 0, 4159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4168, 4170, 4172, 4174, 4176, 4178, 4180, 4182, 4184, 4186, 4188, 4190, 4192, 4194, 0, 0, 0, 0, 0, 0, 0, 0, 4844, 0, 0, 0, 4847, 0, 0, 4849, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4851, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4858, 4860, 4862, 4864, 4866, 4868, 4870, 4872, 4874, 4876, 4878, 4880, 4882, 4884, 0, 0, 0, 0, 0, 0, 0, 0, 4984, 0, 0, 0, 4987, 0, 0, 4989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4991, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4996, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4998, 5000, 5002, 5004, 5006, 5008, 5010, 5012, 5014, 5016, 5018, 5020, 5022, 5024, 0, 0, 0, 0, 0, 0, 0, 0, 1941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2023, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1943, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3689, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3782, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5034, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5036, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 988, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3770, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2626, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2660, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2914, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 90, 92, 96, 0, 0, 98, 100, 0, 102, 104, 0, 0, 0, 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 110, 112, 0, 0, 0, 0, 0, 0, 0, 0, 114, 116, 118, 120, 122, 124, 126, 0, 0, 0, 129, 0, 0, 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 602, 0, 0, 604, 606, 610, 0, 133, 612, 614, 0, 616, 618, 135, 0, 0, 0, 0, 620, 0, 0, 0, 0, 137, 139, 141, 143, 145, 147, 149, 151, 153, 155, 157, 159, 161, 163, 0, 165, 167, 169, 0, 0, 622, 624, 626, 0, 0, 0, 0, 0, 0, 0, 0, 628, 630, 632, 634, 636, 638, 640, 0, 0, 0, 643, 0, 0, 0, 0, 0, 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 685, 0, 0, 687, 689, 693, 0, 647, 695, 697, 0, 699, 701, 649, 0, 0, 0, 0, 703, 0, 0, 0, 0, 651, 653, 655, 657, 659, 661, 663, 665, 667, 669, 671, 673, 675, 677, 0, 679, 681, 683, 0, 0, 705, 707, 709, 2890, 0, 0, 0, 2893, 0, 0, 0, 711, 713, 715, 717, 719, 721, 723, 0, 0, 0, 726, 0, 0, 0, 0, 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, 0, 0, 0, 0, 732, 2895, 0, 0, 0, 0, 0, 0, 0, 0, 734, 736, 738, 740, 742, 744, 746, 748, 750, 752, 754, 756, 758, 760, 0, 762, 764, 766, 890, 0, 0, 892, 894, 898, 0, 0, 900, 902, 0, 904, 906, 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 910, 912, 914, 0, 0, 0, 0, 0, 0, 0, 0, 916, 918, 920, 922, 924, 926, 928, 0, 0, 0, 931, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 999, 0, 1001, 1003, 1005, 1009, 0, 935, 1011, 1013, 0, 1015, 1017, 937, 0, 0, 0, 0, 1019, 0, 0, 0, 0, 939, 941, 943, 945, 947, 949, 951, 953, 955, 957, 959, 961, 963, 965, 0, 967, 969, 971, 0, 0, 1021, 1023, 1025, 0, 0, 0, 0, 0, 0, 0, 0, 1027, 1029, 1031, 1033, 1035, 1037, 1039, 0, 0, 0, 1042, 0, 0, 0, 0, 0, 1044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1725, 0, 0, 1727, 1729, 1733, 0, 1046, 1735, 1737, 0, 1739, 1741, 1048, 0, 0, 0, 0, 1743, 0, 0, 0, 0, 1050, 1052, 1054, 1056, 1058, 1060, 1062, 1064, 1066, 1068, 1070, 1072, 1074, 1076, 0, 1078, 1080, 1082, 0, 0, 1745, 1747, 1749, 0, 0, 0, 0, 0, 0, 0, 0, 1751, 1753, 1755, 1757, 1759, 1761, 1763, 0, 0, 0, 1766, 0, 0, 0, 0, 0, 1768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2710, 0, 0, 2712, 2714, 2718, 0, 1770, 2720, 2722, 0, 2724, 2726, 1772, 0, 0, 0, 0, 2728, 0, 0, 0, 0, 1774, 1776, 1778, 1780, 1782, 1784, 1786, 1788, 1790, 1792, 1794, 1796, 1798, 1800, 0, 1802, 1804, 1806, 0, 0, 2730, 2732, 2734, 0, 0, 0, 0, 0, 0, 0, 0, 2736, 2738, 2740, 2742, 2744, 2746, 2748, 0, 0, 0, 2751, 0, 0, 0, 0, 0, 2753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3234, 0, 0, 3236, 3238, 3242, 0, 2755, 3244, 3246, 0, 3248, 3250, 2757, 0, 0, 0, 0, 3252, 0, 0, 0, 0, 2759, 2761, 2763, 2765, 2767, 2769, 2771, 2773, 2775, 2777, 2779, 2781, 2783, 2785, 0, 2787, 2789, 2791, 0, 0, 3254, 3256, 3258, 0, 0, 0, 0, 0, 0, 0, 0, 3260, 3262, 3264, 3266, 3268, 3270, 3272, 0, 0, 0, 3275, 0, 0, 0, 0, 0, 3277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3575, 0, 0, 3577, 3579, 3583, 0, 3279, 3585, 3587, 0, 3589, 3591, 3281, 0, 0, 0, 0, 3593, 0, 0, 0, 0, 3283, 3285, 3287, 3289, 3291, 3293, 3295, 3297, 3299, 3301, 3303, 3305, 3307, 3309, 0, 3311, 3313, 3315, 0, 0, 3595, 3597, 3599, 0, 0, 0, 0, 0, 0, 0, 0, 3601, 3603, 3605, 3607, 3609, 3611, 3613, 0, 0, 0, 3616, 0, 0, 0, 0, 0, 3618, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1092, 0, 0, 1094, 1096, 1100, 0, 3620, 1102, 1104, 0, 1106, 1108, 3622, 0, 0, 0, 0, 1110, 0, 0, 0, 0, 3624, 3626, 3628, 3630, 3632, 3634, 3636, 3638, 3640, 3642, 3644, 3646, 3648, 3650, 0, 3652, 3654, 3656, 0, 0, 1112, 1114, 1116, 0, 0, 0, 0, 0, 0, 0, 0, 1118, 1120, 1122, 1124, 1126, 1128, 1130, 0, 0, 0, 1133, 0, 0, 0, 0, 0, 1135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1808, 0, 0, 1810, 1812, 1816, 0, 1137, 1818, 1820, 0, 1822, 1824, 1139, 0, 0, 0, 0, 1826, 0, 0, 0, 0, 1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1161, 1163, 1165, 1167, 0, 1169, 1171, 1173, 0, 0, 1828, 1830, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 1834, 1836, 1838, 1840, 1842, 1844, 1846, 0, 0, 0, 1849, 0, 0, 0, 0, 0, 1851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1853, 0, 0, 0, 0, 0, 1855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1857, 1859, 1861, 1863, 1865, 1867, 1869, 1871, 1873, 1875, 1877, 1879, 1881, 1883, 0, 1885, 1887, 1889, 1999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3349, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 995, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1925, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1915, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1963, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1931, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2603, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2630, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2652, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2668, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2839, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2849, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2902, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2906, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3409, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3411, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3994, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3996, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3150, 0, 0, 3152, 3154, 3157, 0, 0, 3159, 0, 0, 3161, 3163, 0, 0, 0, 0, 0, 3165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3167, 3169, 3171, 0, 0, 0, 0, 0, 0, 0, 0, 3173, 3175, 3177, 3179, 3181, 3183, 3185, 0, 0, 0, 3188, 0, 0, 0, 0, 0, 3190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3493, 0, 0, 3495, 3497, 3500, 0, 0, 3502, 0, 0, 3504, 3506, 3192, 0, 0, 0, 0, 3508, 0, 0, 0, 0, 3194, 3196, 3198, 3200, 3202, 3204, 3206, 3208, 3210, 3212, 3214, 3216, 3218, 3220, 0, 3222, 3224, 3226, 0, 0, 3510, 3512, 3514, 0, 0, 0, 0, 0, 0, 0, 0, 3516, 3518, 3520, 3522, 3524, 3526, 3528, 0, 0, 0, 3531, 0, 0, 0, 0, 0, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3807, 0, 0, 3809, 3811, 3814, 0, 0, 3816, 0, 0, 3818, 3820, 0, 0, 3535, 0, 0, 3822, 0, 0, 0, 0, 0, 0, 3537, 3539, 3541, 3543, 3545, 3547, 3549, 3551, 3553, 3555, 3557, 3559, 3561, 3563, 0, 3565, 3567, 3569, 3824, 3826, 3828, 0, 0, 0, 0, 0, 0, 0, 0, 3830, 3832, 3834, 3836, 3838, 3840, 3842, 0, 0, 0, 3845, 0, 0, 0, 0, 0, 3847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3998, 0, 0, 4000, 4002, 4005, 0, 0, 4007, 0, 0, 4009, 4011, 0, 0, 3849, 0, 0, 4013, 0, 0, 0, 0, 0, 0, 3851, 3853, 3855, 3857, 3859, 3861, 3863, 3865, 3867, 3869, 3871, 3873, 3875, 3877, 0, 3879, 3881, 3883, 4015, 4017, 4019, 0, 0, 0, 0, 0, 0, 0, 0, 4021, 4023, 4025, 4027, 4029, 4031, 4033, 0, 0, 0, 4036, 0, 0, 0, 0, 0, 4038, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4076, 0, 0, 4078, 4080, 4083, 0, 0, 4085, 0, 0, 4087, 4089, 0, 0, 4040, 0, 0, 4091, 0, 0, 0, 0, 0, 0, 4042, 4044, 4046, 4048, 4050, 4052, 4054, 4056, 4058, 4060, 4062, 4064, 4066, 4068, 0, 4070, 4072, 4074, 4093, 4095, 4097, 0, 0, 0, 0, 0, 0, 0, 0, 4099, 4101, 4103, 4105, 4107, 4109, 4111, 0, 0, 0, 4114, 0, 0, 0, 0, 0, 4116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4596, 0, 0, 4598, 4600, 4603, 0, 0, 4605, 0, 0, 4607, 4609, 0, 0, 4118, 0, 0, 4611, 0, 0, 0, 0, 0, 0, 4120, 4122, 4124, 4126, 4128, 4130, 4132, 4134, 4136, 4138, 4140, 4142, 4144, 4146, 0, 4148, 4150, 4152, 4613, 4615, 4617, 0, 0, 0, 0, 0, 0, 0, 0, 4619, 4621, 4623, 4625, 4627, 4629, 4631, 0, 0, 0, 4634, 0, 0, 0, 0, 0, 4636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4898, 0, 0, 4900, 4902, 4905, 0, 0, 4907, 0, 0, 4909, 4911, 0, 0, 4638, 0, 0, 4913, 0, 0, 0, 0, 0, 0, 4640, 4642, 4644, 4646, 4648, 4650, 4652, 4654, 4656, 4658, 4660, 4662, 4664, 4666, 0, 4668, 4670, 4672, 4915, 4917, 4919, 0, 0, 0, 0, 0, 0, 0, 0, 4921, 4923, 4925, 4927, 4929, 4931, 4933, 0, 0, 0, 4936, 0, 0, 0, 0, 0, 4938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5048, 0, 0, 5050, 5052, 5055, 0, 0, 5057, 0, 0, 5059, 5061, 0, 0, 4940, 0, 0, 5063, 0, 0, 0, 0, 0, 0, 4942, 4944, 4946, 4948, 4950, 4952, 4954, 4956, 4958, 4960, 4962, 4964, 4966, 4968, 0, 4970, 4972, 4974, 5065, 5067, 5069, 0, 0, 0, 0, 0, 0, 0, 0, 5071, 5073, 5075, 5077, 5079, 5081, 5083, 0, 0, 0, 5086, 0, 0, 0, 0, 0, 5088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5126, 0, 0, 5128, 5130, 5133, 0, 0, 5135, 0, 0, 5137, 5139, 0, 0, 5090, 0, 0, 5141, 0, 0, 0, 0, 0, 0, 5092, 5094, 5096, 5098, 5100, 5102, 5104, 5106, 5108, 5110, 5112, 5114, 5116, 5118, 0, 5120, 5122, 5124, 5143, 5145, 5147, 0, 0, 0, 0, 0, 0, 0, 0, 5149, 5151, 5153, 5155, 5157, 5159, 5161, 0, 0, 0, 5164, 0, 0, 0, 0, 0, 5166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5216, 0, 0, 5218, 5220, 5223, 0, 0, 5225, 0, 0, 5227, 5229, 0, 0, 5168, 0, 0, 5231, 0, 0, 0, 0, 0, 0, 5170, 5172, 5174, 5176, 5178, 5180, 5182, 5184, 5186, 5188, 5190, 5192, 5194, 5196, 0, 5198, 5200, 5202, 5233, 5235, 5237, 0, 0, 0, 0, 0, 0, 0, 0, 5239, 5241, 5243, 5245, 5247, 5249, 5251, 0, 0, 0, 5254, 0, 0, 0, 0, 0, 5256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5294, 0, 0, 5296, 5298, 5301, 0, 0, 5303, 0, 0, 5305, 5307, 0, 0, 5258, 0, 0, 5309, 0, 0, 0, 0, 0, 0, 5260, 5262, 5264, 5266, 5268, 5270, 5272, 5274, 5276, 5278, 5280, 5282, 5284, 5286, 0, 5288, 5290, 5292, 5311, 5313, 5315, 0, 0, 0, 0, 0, 0, 0, 0, 5317, 5319, 5321, 5323, 5325, 5327, 5329, 0, 0, 0, 5332, 0, 0, 0, 0, 0, 5334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5372, 0, 0, 5374, 5376, 5379, 0, 0, 5381, 0, 0, 5383, 5385, 0, 0, 5336, 0, 0, 5387, 0, 0, 0, 0, 0, 0, 5338, 5340, 5342, 5344, 5346, 5348, 5350, 5352, 5354, 5356, 5358, 5360, 5362, 5364, 0, 5366, 5368, 5370, 5389, 5391, 5393, 0, 0, 0, 0, 0, 0, 0, 0, 5395, 5397, 5399, 5401, 5403, 5405, 5407, 0, 0, 0, 5410, 0, 0, 0, 0, 0, 5412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5452, 0, 0, 5454, 5456, 5459, 0, 0, 5461, 0, 0, 5463, 5465, 0, 0, 5414, 0, 0, 5467, 0, 0, 0, 0, 0, 0, 5416, 5418, 5420, 5422, 5424, 5426, 5428, 5430, 5432, 5434, 5436, 5438, 5440, 5442, 0, 5444, 5446, 5448, 5469, 5471, 5473, 0, 0, 0, 0, 0, 0, 0, 0, 5475, 5477, 5479, 5481, 5483, 5485, 5487, 0, 0, 0, 5490, 0, 0, 0, 0, 0, 5492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1945, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5496, 5498, 5500, 5502, 5504, 5506, 5508, 5510, 5512, 5514, 5516, 5518, 5520, 5522, 0, 5524, 5526, 5528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2003, 0, 0, 0, 2006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2008, 0, 0, 0, 0, 0, 0, 0, 189, 0, 0, 191, 193, 196, 0, 2010, 198, 0, 0, 200, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 206, 208, 0, 0, 0, 0, 0, 0, 0, 0, 210, 212, 214, 216, 218, 220, 222, 0, 0, 0, 225, 0, 0, 0, 0, 0, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 233, 235, 237, 239, 241, 243, 245, 247, 249, 251, 253, 255, 257, 0, 259, 261, 263, 0, 0, 0, 0, 3790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3413, 0, 0, 3415, 3417, 3420, 0, 0, 3422, 0, 0, 3424, 3426, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3428, 3430, 3432, 0, 0, 0, 0, 0, 0, 0, 0, 3434, 3436, 3438, 3440, 3442, 3444, 3446, 0, 0, 0, 3449, 0, 0, 0, 0, 0, 3451, 0, 0, 0, 0, 0, 0, 0, 2135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3455, 3457, 3459, 3461, 3463, 3465, 3467, 3469, 3471, 3473, 3475, 3477, 3479, 3481, 0, 3483, 3485, 3487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2547, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by 0, pointed into by YYCONFLP. */ static const short yyconfl[] = { 0, 84, 0, 334, 0, 84, 0, 84, 269, 459, 0, 84, 0, 84, 0, 10, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 334, 0, 14, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 269, 459, 0, 84, 0, 84, 0, 10, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 14, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 247, 445, 451, 731, 0, 26, 0, 244, 459, 0, 244, 0, 244, 0, 268, 0, 435, 0, 85, 0, 85, 0, 85, 459, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 710, 0, 85, 0, 85, 0, 710, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 192, 0, 6, 192, 459, 0, 6, 192, 0, 192, 0, 192, 0, 192, 0, 192, 0, 6, 192, 710, 0, 192, 0, 192, 0, 84, 0, 84, 0, 84, 0, 84, 459, 0, 84, 0, 84, 710, 0, 6, 0, 6, 0, 6, 0, 84, 0, 210, 0, 84, 0, 84, 269, 459, 0, 84, 0, 84, 0, 10, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 14, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 647, 0, 331, 0, 22, 460, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 732, 0, 84, 0, 84, 0, 84, 269, 459, 0, 84, 0, 84, 0, 10, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 14, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 269, 459, 0, 84, 0, 84, 0, 10, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 14, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 273, 0, 84, 0, 84, 0, 84, 269, 459, 0, 84, 0, 84, 0, 10, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 14, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 22, 0, 459, 0, 459, 0, 710, 0, 22, 460, 0, 459, 0, 710, 0, 84, 0, 209, 0, 84, 0, 84, 269, 459, 0, 84, 0, 84, 0, 10, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 14, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 435, 0, 436, 0, 459, 0, 710, 0, 84, 0, 84, 0, 84, 269, 459, 0, 84, 0, 84, 0, 10, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 14, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 193, 0, 193, 0, 6, 0, 6, 0, 6, 0, 22, 460, 0, 591, 0, 6, 0, 6, 0, 6, 0, 269, 0, 84, 0, 84, 0, 84, 0, 459, 0, 22, 0, 231, 732, 0, 190, 0, 190, 0, 22, 0, 459, 0, 84, 0, 84, 0, 84, 269, 459, 0, 84, 0, 84, 0, 10, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 14, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 23, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 152, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 152, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 152, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 247, 696, 731, 0, 649, 0, 459, 0, 710, 0, 84, 0, 84, 0, 84, 269, 459, 0, 84, 0, 84, 0, 10, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 14, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 269, 459, 0, 84, 0, 84, 0, 10, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 14, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 6, 0, 6, 0, 733, 0, 22, 0, 247, 445, 451, 731, 755, 0, 755, 0, 459, 0, 710, 0, 6, 0, 459, 0, 710, 0, 459, 0, 710, 0, 753, 0, 753, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 758, 0, 157, 0, 22, 460, 0, 756, 0, 257, 0, 693, 732, 0, 459, 0, 710, 0, 459, 0, 459, 0, 459, 0, 459, 0, 710, 0, 591, 0, 594, 0, 594, 0, 595, 0, 595, 0, 179, 0, 179, 0, 179, 0, 179, 0, 22, 0, 491, 0, 459, 0, 710, 0, 192, 459, 0, 192, 0, 192, 0, 192, 0, 192, 710, 0, 269, 0, 84, 0, 84, 0, 84, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 6, 0, 6, 0, 6, 0, 243, 0, 435, 0, 459, 0, 710, 0, 84, 0, 84, 0, 84, 0, 685, 0, 685, 0, 685, 0, 725, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 33, 0, 33, 486, 0, 727, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 459, 0, 710, 0, 6, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 734, 0, 459, 0, 710, 0, 459, 0, 710, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 557, 0, 6, 0, 501, 0, 500, 0, 498, 0, 168, 0, 168, 0, 168, 0, 168, 0, 168, 0, 168, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 696, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 247, 731, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 474, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 84, 0, 84, 0, 84, 269, 459, 0, 84, 0, 84, 0, 10, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 14, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 179, 0, 179, 0, 179, 0, 179, 0, 179, 0, 179, 0, 459, 0, 710, 0, 269, 0, 84, 0, 84, 0, 84, 0, 6, 0, 6, 0, 6, 0, 459, 0, 459, 0, 230, 0, 230, 0, 232, 0, 459, 0, 710, 0, 165, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 459, 0, 710, 0, 729, 0, 729, 0, 486, 0, 587, 0, 35, 0, 589, 0, 486, 589, 0, 33, 0, 6, 0, 6, 0, 486, 0, 6, 0, 459, 0, 710, 0, 459, 0, 710, 0, 84, 459, 0, 84, 0, 84, 710, 0, 486, 0, 459, 0, 710, 0, 459, 0, 710, 0, 6, 0, 6, 0, 459, 0, 710, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 735, 0, 168, 0, 168, 0, 168, 0, 168, 0, 168, 0, 168, 0, 459, 0, 710, 0, 6, 0, 383, 0, 459, 0, 710, 0, 459, 0, 710, 0, 258, 0, 259, 0, 480, 0, 84, 0, 84, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 755, 0, 693, 0, 451, 0, 84, 0, 84, 0, 84, 269, 459, 0, 84, 0, 84, 0, 10, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 14, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 459, 0, 247, 445, 451, 731, 0, 773, 0, 773, 0, 773, 0, 773, 0, 22, 460, 0, 459, 0, 710, 0, 459, 0, 710, 0, 486, 0, 459, 0, 710, 0, 459, 0, 710, 0, 6, 0, 6, 0, 486, 0, 6, 0, 589, 0, 6, 0, 6, 0, 486, 0, 6, 0, 221, 0, 6, 0, 459, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 471, 0, 465, 0, 465, 0, 465, 0, 459, 0, 710, 0, 459, 0, 710, 0, 85, 0, 85, 0, 85, 459, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 710, 0, 85, 0, 85, 0, 710, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 459, 0, 710, 0, 84, 0, 84, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 459, 0, 710, 0, 84, 0, 84, 0, 84, 269, 459, 0, 84, 0, 84, 0, 10, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 14, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 247, 445, 451, 731, 0, 493, 0, 6, 0, 6, 0, 6, 0, 459, 0, 459, 0, 23, 0, 166, 0, 6, 0, 6, 0, 486, 0, 6, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 22, 460, 0, 552, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 465, 0, 465, 0, 465, 0, 459, 0, 710, 0, 247, 445, 451, 731, 0, 755, 0, 6, 0, 459, 0, 710, 0, 84, 0, 84, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 710, 0, 459, 0, 459, 0, 710, 0, 773, 0, 773, 0, 773, 0, 84, 0, 84, 0, 84, 269, 459, 0, 84, 0, 84, 0, 10, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 14, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 471, 0, 459, 0, 710, 0, 84, 0, 84, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 358, 0, 84, 358, 0, 84, 358, 459, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 710, 0, 84, 358, 0, 84, 358, 0, 358, 710, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 459, 0, 84, 358, 0, 358, 0, 358, 0, 84, 358, 0, 358, 0, 84, 358, 0, 84, 358, 0, 358, 0, 358, 0, 358, 0, 358, 0, 358, 0, 84, 358, 0, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 710, 0, 358, 0, 84, 358, 0, 84, 358, 0, 358, 0, 358, 0, 358, 0, 358, 0, 358, 0, 358, 0, 358, 710, 0, 358, 0, 358, 0, 358, 0, 358, 0, 358, 0, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 358, 0, 358, 0, 358, 0, 358, 0, 484, 0, 489, 0, 459, 0, 710, 0, 459, 0, 710, 0, 359, 0, 359, 0, 84, 359, 459, 0, 359, 0, 84, 359, 0, 84, 359, 0, 359, 0, 359, 0, 84, 359, 0, 359, 0, 359, 0, 359, 0, 359, 0, 359, 0, 359, 0, 359, 0, 359, 0, 359, 0, 84, 359, 710, 0, 359, 0, 359, 0, 359, 710, 0, 84, 359, 0, 84, 359, 0, 84, 359, 0, 84, 359, 0, 84, 359, 0, 84, 359, 0, 84, 359, 0, 84, 359, 0, 84, 359, 0, 84, 359, 0, 84, 359, 0, 84, 359, 0, 84, 359, 0, 84, 359, 0, 359, 0, 359, 0, 359, 0, 84, 0, 84, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 358, 0, 84, 358, 0, 84, 358, 459, 0, 84, 358, 0, 358, 0, 358, 0, 84, 358, 0, 358, 0, 84, 358, 0, 84, 358, 0, 358, 0, 358, 0, 358, 0, 358, 0, 358, 0, 84, 358, 0, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 710, 0, 358, 0, 84, 358, 0, 84, 358, 0, 358, 0, 358, 0, 358, 0, 358, 0, 358, 0, 358, 0, 358, 710, 0, 358, 0, 358, 0, 358, 0, 358, 0, 358, 0, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 84, 358, 0, 358, 0, 358, 0, 358, 0, 358, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 554, 0, 459, 0, 495, 0, 6, 0, 6, 0, 6, 0, 84, 0, 84, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 459, 0, 710, 0, 459, 0, 710, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 630, 0, 459, 0, 710, 0, 496, 0, 459, 0, 710, 0, 6, 0, 6, 0, 6, 0, 459, 0, 710, 0, 84, 0, 84, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 6, 0, 6, 0, 486, 0, 6, 0, 602, 0, 603, 0, 84, 0, 84, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 628, 0, 84, 0, 84, 0, 84, 459, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 710, 0, 84, 0, 84, 0, 710, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0 }; YYSTYPE yylval; int yynerrs; int yychar; enum { YYENOMEM = -2 }; typedef enum { yyok, yyaccept, yyabort, yyerr, yynomem } YYRESULTTAG; #define YYCHK(YYE) \ do { \ YYRESULTTAG yychk_flag = YYE; \ if (yychk_flag != yyok) \ return yychk_flag; \ } while (0) /* 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 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif /* Minimum number of free items on the stack allowed after an allocation. This is to allow allocation and initialization to be completed by functions that call yyexpandGLRStack before the stack is expanded, thus insuring that all necessary pointers get properly redirected to new data. */ #define YYHEADROOM 2 #ifndef YYSTACKEXPANDABLE # define YYSTACKEXPANDABLE 1 #endif #if YYSTACKEXPANDABLE # define YY_RESERVE_GLRSTACK(Yystack) \ do { \ if (Yystack->yyspaceLeft < YYHEADROOM) \ yyexpandGLRStack (Yystack); \ } while (0) #else # define YY_RESERVE_GLRSTACK(Yystack) \ do { \ if (Yystack->yyspaceLeft < YYHEADROOM) \ yyMemoryExhausted (Yystack); \ } while (0) #endif /** State numbers. */ typedef int yy_state_t; /** Rule numbers. */ typedef int yyRuleNum; /** Item references. */ typedef short yyItemNum; typedef struct yyGLRState yyGLRState; typedef struct yyGLRStateSet yyGLRStateSet; typedef struct yySemanticOption yySemanticOption; typedef union yyGLRStackItem yyGLRStackItem; typedef struct yyGLRStack yyGLRStack; struct yyGLRState { /** Type tag: always true. */ yybool yyisState; /** Type tag for yysemantics. If true, yyval applies, otherwise * yyfirstVal applies. */ yybool yyresolved; /** Number of corresponding LALR(1) machine state. */ yy_state_t yylrState; /** Preceding state in this stack */ yyGLRState* yypred; /** Source position of the last token produced by my symbol */ YYPTRDIFF_T yyposn; union { /** First in a chain of alternative reductions producing the * nonterminal corresponding to this state, threaded through * yynext. */ yySemanticOption* yyfirstVal; /** Semantic value for this state. */ YYSTYPE yyval; } yysemantics; }; struct yyGLRStateSet { yyGLRState** yystates; /** During nondeterministic operation, yylookaheadNeeds tracks which * stacks have actually needed the current lookahead. During deterministic * operation, yylookaheadNeeds[0] is not maintained since it would merely * duplicate yychar != YYEMPTY. */ yybool* yylookaheadNeeds; YYPTRDIFF_T yysize; YYPTRDIFF_T yycapacity; }; struct yySemanticOption { /** Type tag: always false. */ yybool yyisState; /** Rule number for this reduction */ yyRuleNum yyrule; /** The last RHS state in the list of states to be reduced. */ yyGLRState* yystate; /** The lookahead for this reduction. */ int yyrawchar; YYSTYPE yyval; /** Next sibling in chain of options. To facilitate merging, * options are chained in decreasing order by address. */ yySemanticOption* yynext; }; /** Type of the items in the GLR stack. The yyisState field * indicates which item of the union is valid. */ union yyGLRStackItem { yyGLRState yystate; yySemanticOption yyoption; }; struct yyGLRStack { int yyerrState; YYJMP_BUF yyexception_buffer; yyGLRStackItem* yyitems; yyGLRStackItem* yynextFree; YYPTRDIFF_T yyspaceLeft; yyGLRState* yysplitPoint; yyGLRState* yylastDeleted; yyGLRStateSet yytops; }; #if YYSTACKEXPANDABLE static void yyexpandGLRStack (yyGLRStack* yystackp); #endif _Noreturn static void yyFail (yyGLRStack* yystackp, const char* yymsg) { if (yymsg != YY_NULLPTR) yyerror (yymsg); YYLONGJMP (yystackp->yyexception_buffer, 1); } _Noreturn static void yyMemoryExhausted (yyGLRStack* yystackp) { YYLONGJMP (yystackp->yyexception_buffer, 2); } /** Accessing symbol of state YYSTATE. */ static inline yysymbol_kind_t yy_accessing_symbol (yy_state_t yystate) { return YY_CAST (yysymbol_kind_t, yystos[yystate]); } #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\"", "COMMA", "CONSTEXPR", "ELLIPSIS", "EXPORT", "EXTERN", "IDENTIFIER", "INLINE", "NOEXCEPT", "NOT", "SCOPE", "TEMPLATE", "THIS", "TYPENAME", "VIRTUAL", "PRIVATE", "PROTECTED", "PUBLIC", "PLUS", "MINUS", "USING", "EQ", "SEMICOLON", "ALIGNAS", "OPEN_PAREN", "CLOSE_PAREN", "AND", "ASM", "MULT_EQ", "DIV_EQ", "MOD_EQ", "PLUS_EQ", "MINUS_EQ", "RSHIFT_EQ", "LSHIFT_EQ", "AND_EQ", "XOR_EQ", "OR_EQ", "OPEN_SQUARE", "CLOSE_SQUARE", "COLON", "CO_AWAIT", "OPEN_BRACE", "CLOSE_BRACE", "BALANCED_TOKEN", "CLASS", "STRUCT", "UNION", "FINAL", "SPACESHIP", "CONCEPT", "QUERY", "AND_AND", "OR_OR", "OPERATOR", "CO_RETURN", "CONST", "VOLATILE", "FRIEND", "TYPEDEF", "CONSTEVAL", "CONSTINIT", "DECLTYPE", "DEREF", "DELETE", "DOT", "ENUM", "EQ_EQ", "NOT_EQ", "XOR", "LESS", "GREATER", "EXPLICIT", "MULT", "DIV", "MOD", "OR", "LSHIFT", "RSHIFT", "LESS_EQ", "GREATER_EQ", "DOT_STAR", "DEREF_STAR", "DEFAULT", "TRY", "MODULE", "CATCH", "HEADER_NAME", "WHILE", "DO", "FOR", "BREAK", "CONTINUE", "RETURN", "GOTO", "CASE", "IMPORT", "NAMESPACE", "REQUIRES", "NEW", "COMPL", "PLUS_PLUS", "MINUS_MINUS", "AUTO", "DYNAMIC_CAST", "STATIC_CAST", "REINTERPRET_CAST", "CONST_CAST", "TYPEID", "LITERAL", "IF", "ELSE", "SWITCH", "CHAR", "CHAR8_T", "CHAR16_T", "CHAR32_T", "WCHAR_T", "BOOL", "SHORT", "INT", "LONG", "SIGNED", "UNSIGNED", "FLOAT", "DOUBLE", "VOID", "STATIC_ASSERT", "STATIC", "THREAD_LOCAL", "MUTABLE", "STRING_LITERAL", "THROW", "SIZEOF", "ALIGNOF", "OVERRIDE", "CO_YIELD", "'0'", "$accept", "COMMA-opt", "CONSTEXPR-opt", "ELLIPSIS-opt", "EXPORT-opt", "EXTERN-opt", "IDENTIFIER-opt", "INLINE-opt", "NOEXCEPT-opt", "NOT-opt", "SCOPE-opt", "TEMPLATE-opt", "THIS-opt", "TYPENAME-opt", "VIRTUAL-opt", "abstract-declarator", "abstract-declarator-opt", "abstract-pack-declarator", "access-specifier", "access-specifier-opt", "additive-expression", "alias-declaration", "alignment-specifier", "and-expression", "asm-declaration", "assignment-expression", "assignment-expression-opt", "assignment-operator", "attribute", "attribute-argument-clause", "attribute-argument-clause-opt", "attribute-declaration", "attribute-list", "attribute-namespace", "attribute-opt", "attribute-scoped-token", "attribute-specifier", "attribute-specifier-seq", "attribute-specifier-seq-opt", "attribute-token", "attribute-using-prefix", "attribute-using-prefix-opt", "await-expression", "balanced-token", "balanced-token-seq", "balanced-token-seq-opt", "base-clause", "base-clause-opt", "base-specifier", "base-specifier-list", "block-declaration", "brace-or-equal-initializer", "brace-or-equal-initializer-opt", "braced-init-list", "capture", "capture-default", "capture-list", "cast-expression", "class-head", "class-head-name", "class-key", "class-name", "class-or-decltype", "class-specifier", "class-virt-specifier", "class-virt-specifier-opt", "compare-expression", "compound-requirement", "compound-statement", "concept-definition", "concept-name", "condition", "condition-opt", "conditional-expression", "constant-expression", "constant-expression-opt", "constraint-expression", "constraint-logical-and-expression", "constraint-logical-or-expression", "conversion-declarator", "conversion-declarator-opt", "conversion-function-id", "conversion-type-id", "coroutine-return-statement", "ctor-initializer", "ctor-initializer-opt", "cv-qualifier", "cv-qualifier-seq", "cv-qualifier-seq-opt", "decl-specifier", "decl-specifier-seq", "decl-specifier-seq-opt", "declaration", "declaration-seq", "declaration-seq-opt", "declaration-statement", "declarator", "declarator-id", "decltype-specifier", "deduction-guide", "defining-type-id", "defining-type-specifier", "defining-type-specifier-seq", "delete-expression", "designated-initializer-clause", "designated-initializer-list", "designator", "elaborated-enum-specifier", "elaborated-type-specifier", "empty-declaration", "enclosing-namespace-specifier", "enum-base", "enum-base-opt", "enum-head", "enum-head-name", "enum-head-name-opt", "enum-key", "enum-name", "enum-specifier", "enumerator", "enumerator-definition", "enumerator-list", "enumerator-list-opt", "equality-expression", "exception-declaration", "exclusive-or-expression", "explicit-instantiation", "explicit-specialization", "explicit-specifier", "explicit-specifier-opt", "export-declaration", "expr-or-braced-init-list", "expr-or-braced-init-list-opt", "expression", "expression-list", "expression-list-opt", "expression-opt", "expression-statement", "fold-expression", "fold-operator", "for-range-declaration", "for-range-initializer", "function-body", "function-definition", "function-specifier", "function-try-block", "global-module-fragment", "global-module-fragment-opt", "handler", "handler-seq", "handler-seq-opt", "header-name", "id-expression", "identifier-list", "inclusive-or-expression", "init-capture", "init-declarator", "init-declarator-list", "init-declarator-list-opt", "init-statement", "init-statement-opt", "initializer", "initializer-clause", "initializer-list", "initializer-opt", "iteration-statement", "jump-statement", "labeled-statement", "lambda-capture", "lambda-capture-opt", "lambda-declarator", "lambda-expression", "lambda-introducer", "lambda-specifiers", "linkage-specification", "literal-operator-id", "logical-and-expression", "logical-or-expression", "mem-initializer", "mem-initializer-id", "mem-initializer-list", "member-declaration", "member-declarator", "member-declarator-list", "member-declarator-list-opt", "member-specification", "member-specification-opt", "module-declaration", "module-import-declaration", "module-name", "module-name-qualifier", "module-name-qualifier-opt", "module-partition", "module-partition-opt", "multiplicative-expression", "named-namespace-definition", "namespace-alias", "namespace-alias-definition", "namespace-body", "namespace-definition", "namespace-name", "nested-name-specifier", "nested-name-specifier-opt", "nested-namespace-definition", "nested-requirement", "new-declarator", "new-declarator-opt", "new-expression", "new-initializer", "new-initializer-opt", "new-placement", "new-placement-opt", "new-type-id", "nodeclspec-function-declaration", "noexcept-expression", "noexcept-specifier", "noexcept-specifier-opt", "noptr-abstract-declarator", "noptr-abstract-declarator-opt", "noptr-abstract-pack-declarator", "noptr-declarator", "noptr-new-declarator", "opaque-enum-declaration", "operator-function-id", "overloadable-operator", "parameter-declaration", "parameter-declaration-clause", "parameter-declaration-list", "parameter-declaration-list-opt", "parameters-and-qualifiers", "placeholder-type-specifier", "pm-expression", "postfix-expression", "primary-expression", "private-module-fragment", "private-module-fragment-opt", "ptr-abstract-declarator", "ptr-abstract-declarator-opt", "ptr-declarator", "ptr-operator", "pure-specifier", "pure-specifier-opt", "qualified-id", "qualified-namespace-specifier", "ref-qualifier", "ref-qualifier-opt", "relational-expression", "requirement", "requirement-body", "requirement-parameter-list", "requirement-parameter-list-opt", "requirement-seq", "requires-clause", "requires-clause-opt", "requires-expression", "return-type-requirement", "return-type-requirement-opt", "selection-statement", "shift-expression", "simple-capture", "simple-declaration", "simple-requirement", "simple-template-id", "simple-type-specifier", "statement", "statement-seq", "statement-seq-opt", "static_assert-declaration", "storage-class-specifier", "string-literal", "template-argument", "template-argument-list", "template-argument-list-opt", "template-declaration", "template-head", "template-id", "template-name", "template-parameter", "template-parameter-list", "throw-expression", "trailing-return-type", "trailing-return-type-opt", "translation-unit", "try-block", "type-constraint", "type-constraint-opt", "type-id", "type-name", "type-parameter", "type-parameter-key", "type-requirement", "type-specifier", "type-specifier-seq", "typedef-name", "typename-specifier", "ud-suffix", "unary-expression", "unary-operator", "unnamed-namespace-definition", "unqualified-id", "user-defined-string-literal", "using-declaration", "using-declarator", "using-declarator-list", "using-directive", "using-enum-declaration", "virt-specifier", "virt-specifier-seq", "virt-specifier-seq-opt", "yield-expression", YY_NULLPTR }; static const char * yysymbol_name (yysymbol_kind_t yysymbol) { return yytname[yysymbol]; } #endif /** Left-hand-side symbol for rule #YYRULE. */ static inline yysymbol_kind_t yylhsNonterm (yyRuleNum yyrule) { return YY_CAST (yysymbol_kind_t, yyr1[yyrule]); } #if YYDEBUG # ifndef YYFPRINTF # define YYFPRINTF fprintf # endif # define YY_FPRINTF \ YY_IGNORE_USELESS_CAST_BEGIN YY_FPRINTF_ # define YY_FPRINTF_(Args) \ do { \ YYFPRINTF Args; \ YY_IGNORE_USELESS_CAST_END \ } while (0) # define YY_DPRINTF \ YY_IGNORE_USELESS_CAST_BEGIN YY_DPRINTF_ # define YY_DPRINTF_(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ YY_IGNORE_USELESS_CAST_END \ } 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) { FILE *yyoutput = yyo; YY_USE (yyoutput); if (!yyvaluep) return; 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) { YYFPRINTF (yyo, "%s %s (", yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind)); yy_symbol_value_print (yyo, yykind, yyvaluep); YYFPRINTF (yyo, ")"); } # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ do { \ if (yydebug) \ { \ YY_FPRINTF ((stderr, "%s ", Title)); \ yy_symbol_print (stderr, Kind, Value); \ YY_FPRINTF ((stderr, "\n")); \ } \ } while (0) static inline void yy_reduce_print (yybool yynormal, yyGLRStackItem* yyvsp, YYPTRDIFF_T yyk, yyRuleNum yyrule); # define YY_REDUCE_PRINT(Args) \ do { \ if (yydebug) \ yy_reduce_print Args; \ } while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; static void yypstack (yyGLRStack* yystackp, YYPTRDIFF_T yyk) YY_ATTRIBUTE_UNUSED; static void yypdumpstack (yyGLRStack* yystackp) YY_ATTRIBUTE_UNUSED; #else /* !YYDEBUG */ # define YY_DPRINTF(Args) do {} while (yyfalse) # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) # define YY_REDUCE_PRINT(Args) #endif /* !YYDEBUG */ /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred * containing the pointer to the next state in the chain. */ static void yyfillin (yyGLRStackItem *, int, int) YY_ATTRIBUTE_UNUSED; static void yyfillin (yyGLRStackItem *yyvsp, int yylow0, int yylow1) { int i; yyGLRState *s = yyvsp[yylow0].yystate.yypred; for (i = yylow0-1; i >= yylow1; i -= 1) { #if YYDEBUG yyvsp[i].yystate.yylrState = s->yylrState; #endif yyvsp[i].yystate.yyresolved = s->yyresolved; if (s->yyresolved) yyvsp[i].yystate.yysemantics.yyval = s->yysemantics.yyval; else /* The effect of using yyval or yyloc (in an immediate rule) is * undefined. */ yyvsp[i].yystate.yysemantics.yyfirstVal = YY_NULLPTR; s = yyvsp[i].yystate.yypred = s->yypred; } } /** If yychar is empty, fetch the next token. */ static inline yysymbol_kind_t yygetToken (int *yycharp) { yysymbol_kind_t yytoken; if (*yycharp == YYEMPTY) { YY_DPRINTF ((stderr, "Reading a token\n")); *yycharp = yylex (); } if (*yycharp <= YYEOF) { *yycharp = YYEOF; yytoken = YYSYMBOL_YYEOF; YY_DPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (*yycharp); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } return yytoken; } /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1. * For convenience, always return YYLOW1. */ static inline int yyfill (yyGLRStackItem *, int *, int, yybool) YY_ATTRIBUTE_UNUSED; static inline int yyfill (yyGLRStackItem *yyvsp, int *yylow, int yylow1, yybool yynormal) { if (!yynormal && yylow1 < *yylow) { yyfillin (yyvsp, *yylow, yylow1); *yylow = yylow1; } return yylow1; } /** Perform user action for rule number YYN, with RHS length YYRHSLEN, * and top stack item YYVSP. YYLVALP points to place to put semantic * value ($$), and yylocp points to place for location information * (@$). Returns yyok for normal return, yyaccept for YYACCEPT, * yyerr for YYERROR, yyabort for YYABORT, yynomem for YYNOMEM. */ static YYRESULTTAG yyuserAction (yyRuleNum yyrule, int yyrhslen, yyGLRStackItem* yyvsp, yyGLRStack* yystackp, YYPTRDIFF_T yyk, YYSTYPE* yyvalp) { const yybool yynormal YY_ATTRIBUTE_UNUSED = yystackp->yysplitPoint == YY_NULLPTR; int yylow = 1; YY_USE (yyvalp); YY_USE (yyk); YY_USE (yyrhslen); # undef yyerrok # define yyerrok (yystackp->yyerrState = 0) # undef YYACCEPT # define YYACCEPT return yyaccept # undef YYABORT # define YYABORT return yyabort # undef YYNOMEM # define YYNOMEM return yynomem # undef YYERROR # define YYERROR return yyerrok, yyerr # undef YYRECOVERING # define YYRECOVERING() (yystackp->yyerrState != 0) # undef yyclearin # define yyclearin (yychar = YYEMPTY) # undef YYFILL # define YYFILL(N) yyfill (yyvsp, &yylow, (N), yynormal) # undef YYBACKUP # define YYBACKUP(Token, Value) \ return yyerror (YY_("syntax error: cannot back up")), \ yyerrok, yyerr if (yyrhslen == 0) *yyvalp = yyval_default; else *yyvalp = yyvsp[YYFILL (1-yyrhslen)].yystate.yysemantics.yyval; /* If yyk == -1, we are running a deferred action on a temporary stack. In that case, YY_REDUCE_PRINT must not play with YYFILL, so pretend the stack is "normal". */ YY_REDUCE_PRINT ((yynormal || yyk == -1, yyvsp, yyk, yyrule)); switch (yyrule) { #line 8160 "cplusplus.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yylhsNonterm (yyrule), yyvalp, yylocp); return yyok; # undef yyerrok # undef YYABORT # undef YYACCEPT # undef YYNOMEM # undef YYERROR # undef YYBACKUP # undef yyclearin # undef YYRECOVERING } static void yyuserMerge (int yyn, YYSTYPE* yy0, YYSTYPE* yy1) { YY_USE (yy0); YY_USE (yy1); switch (yyn) { default: break; } } /* Bison grammar-table manipulation. */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ static void yydestruct (const char *yymsg, yysymbol_kind_t yykind, YYSTYPE *yyvaluep) { YY_USE (yyvaluep); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YY_USE (yykind); YY_IGNORE_MAYBE_UNINITIALIZED_END } /** Number of symbols composing the right hand side of rule #RULE. */ static inline int yyrhsLength (yyRuleNum yyrule) { return yyr2[yyrule]; } static void yydestroyGLRState (char const *yymsg, yyGLRState *yys) { if (yys->yyresolved) yydestruct (yymsg, yy_accessing_symbol (yys->yylrState), &yys->yysemantics.yyval); else { #if YYDEBUG if (yydebug) { if (yys->yysemantics.yyfirstVal) YY_FPRINTF ((stderr, "%s unresolved", yymsg)); else YY_FPRINTF ((stderr, "%s incomplete", yymsg)); YY_SYMBOL_PRINT ("", yy_accessing_symbol (yys->yylrState), YY_NULLPTR, &yys->yyloc); } #endif if (yys->yysemantics.yyfirstVal) { yySemanticOption *yyoption = yys->yysemantics.yyfirstVal; yyGLRState *yyrh; int yyn; for (yyrh = yyoption->yystate, yyn = yyrhsLength (yyoption->yyrule); yyn > 0; yyrh = yyrh->yypred, yyn -= 1) yydestroyGLRState (yymsg, yyrh); } } } #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) /** True iff LR state YYSTATE has only a default reduction (regardless * of token). */ static inline yybool yyisDefaultedState (yy_state_t yystate) { return yypact_value_is_default (yypact[yystate]); } /** The default reduction for YYSTATE, assuming it has one. */ static inline yyRuleNum yydefaultAction (yy_state_t yystate) { return yydefact[yystate]; } #define yytable_value_is_error(Yyn) \ 0 /** The action to take in YYSTATE on seeing YYTOKEN. * Result R means * R < 0: Reduce on rule -R. * R = 0: Error. * R > 0: Shift to state R. * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list * of conflicting reductions. */ static inline int yygetLRActions (yy_state_t yystate, yysymbol_kind_t yytoken, const short** yyconflicts) { int yyindex = yypact[yystate] + yytoken; if (yytoken == YYSYMBOL_YYerror) { // This is the error token. *yyconflicts = yyconfl; return 0; } else if (yyisDefaultedState (yystate) || yyindex < 0 || YYLAST < yyindex || yycheck[yyindex] != yytoken) { *yyconflicts = yyconfl; return -yydefact[yystate]; } else if (! yytable_value_is_error (yytable[yyindex])) { *yyconflicts = yyconfl + yyconflp[yyindex]; return yytable[yyindex]; } else { *yyconflicts = yyconfl + yyconflp[yyindex]; return 0; } } /** Compute post-reduction state. * \param yystate the current state * \param yysym the nonterminal to push on the stack */ static inline yy_state_t yyLRgotoState (yy_state_t yystate, yysymbol_kind_t yysym) { int yyr = yypgoto[yysym - YYNTOKENS] + yystate; if (0 <= yyr && yyr <= YYLAST && yycheck[yyr] == yystate) return yytable[yyr]; else return yydefgoto[yysym - YYNTOKENS]; } static inline yybool yyisShiftAction (int yyaction) { return 0 < yyaction; } static inline yybool yyisErrorAction (int yyaction) { return yyaction == 0; } /* GLRStates */ /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state * if YYISSTATE, and otherwise a semantic option. Callers should call * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient * headroom. */ static inline yyGLRStackItem* yynewGLRStackItem (yyGLRStack* yystackp, yybool yyisState) { yyGLRStackItem* yynewItem = yystackp->yynextFree; yystackp->yyspaceLeft -= 1; yystackp->yynextFree += 1; yynewItem->yystate.yyisState = yyisState; return yynewItem; } /** Add a new semantic action that will execute the action for rule * YYRULE on the semantic values in YYRHS to the list of * alternative actions for YYSTATE. Assumes that YYRHS comes from * stack #YYK of *YYSTACKP. */ static void yyaddDeferredAction (yyGLRStack* yystackp, YYPTRDIFF_T yyk, yyGLRState* yystate, yyGLRState* yyrhs, yyRuleNum yyrule) { yySemanticOption* yynewOption = &yynewGLRStackItem (yystackp, yyfalse)->yyoption; YY_ASSERT (!yynewOption->yyisState); yynewOption->yystate = yyrhs; yynewOption->yyrule = yyrule; if (yystackp->yytops.yylookaheadNeeds[yyk]) { yynewOption->yyrawchar = yychar; yynewOption->yyval = yylval; } else yynewOption->yyrawchar = YYEMPTY; yynewOption->yynext = yystate->yysemantics.yyfirstVal; yystate->yysemantics.yyfirstVal = yynewOption; YY_RESERVE_GLRSTACK (yystackp); } /* GLRStacks */ /** Initialize YYSET to a singleton set containing an empty stack. */ static yybool yyinitStateSet (yyGLRStateSet* yyset) { yyset->yysize = 1; yyset->yycapacity = 16; yyset->yystates = YY_CAST (yyGLRState**, YYMALLOC (YY_CAST (YYSIZE_T, yyset->yycapacity) * sizeof yyset->yystates[0])); if (! yyset->yystates) return yyfalse; yyset->yystates[0] = YY_NULLPTR; yyset->yylookaheadNeeds = YY_CAST (yybool*, YYMALLOC (YY_CAST (YYSIZE_T, yyset->yycapacity) * sizeof yyset->yylookaheadNeeds[0])); if (! yyset->yylookaheadNeeds) { YYFREE (yyset->yystates); return yyfalse; } memset (yyset->yylookaheadNeeds, 0, YY_CAST (YYSIZE_T, yyset->yycapacity) * sizeof yyset->yylookaheadNeeds[0]); return yytrue; } static void yyfreeStateSet (yyGLRStateSet* yyset) { YYFREE (yyset->yystates); YYFREE (yyset->yylookaheadNeeds); } /** Initialize *YYSTACKP to a single empty stack, with total maximum * capacity for all stacks of YYSIZE. */ static yybool yyinitGLRStack (yyGLRStack* yystackp, YYPTRDIFF_T yysize) { yystackp->yyerrState = 0; yynerrs = 0; yystackp->yyspaceLeft = yysize; yystackp->yyitems = YY_CAST (yyGLRStackItem*, YYMALLOC (YY_CAST (YYSIZE_T, yysize) * sizeof yystackp->yynextFree[0])); if (!yystackp->yyitems) return yyfalse; yystackp->yynextFree = yystackp->yyitems; yystackp->yysplitPoint = YY_NULLPTR; yystackp->yylastDeleted = YY_NULLPTR; return yyinitStateSet (&yystackp->yytops); } #if YYSTACKEXPANDABLE # define YYRELOC(YYFROMITEMS, YYTOITEMS, YYX, YYTYPE) \ &((YYTOITEMS) \ - ((YYFROMITEMS) - YY_REINTERPRET_CAST (yyGLRStackItem*, (YYX))))->YYTYPE /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the stack from outside should be considered invalid after this call. We always expand when there are 1 or fewer items left AFTER an allocation, so that we can avoid having external pointers exist across an allocation. */ static void yyexpandGLRStack (yyGLRStack* yystackp) { yyGLRStackItem* yynewItems; yyGLRStackItem* yyp0, *yyp1; YYPTRDIFF_T yynewSize; YYPTRDIFF_T yyn; YYPTRDIFF_T yysize = yystackp->yynextFree - yystackp->yyitems; if (YYMAXDEPTH - YYHEADROOM < yysize) yyMemoryExhausted (yystackp); yynewSize = 2*yysize; if (YYMAXDEPTH < yynewSize) yynewSize = YYMAXDEPTH; yynewItems = YY_CAST (yyGLRStackItem*, YYMALLOC (YY_CAST (YYSIZE_T, yynewSize) * sizeof yynewItems[0])); if (! yynewItems) yyMemoryExhausted (yystackp); for (yyp0 = yystackp->yyitems, yyp1 = yynewItems, yyn = yysize; 0 < yyn; yyn -= 1, yyp0 += 1, yyp1 += 1) { *yyp1 = *yyp0; if (*YY_REINTERPRET_CAST (yybool *, yyp0)) { yyGLRState* yys0 = &yyp0->yystate; yyGLRState* yys1 = &yyp1->yystate; if (yys0->yypred != YY_NULLPTR) yys1->yypred = YYRELOC (yyp0, yyp1, yys0->yypred, yystate); if (! yys0->yyresolved && yys0->yysemantics.yyfirstVal != YY_NULLPTR) yys1->yysemantics.yyfirstVal = YYRELOC (yyp0, yyp1, yys0->yysemantics.yyfirstVal, yyoption); } else { yySemanticOption* yyv0 = &yyp0->yyoption; yySemanticOption* yyv1 = &yyp1->yyoption; if (yyv0->yystate != YY_NULLPTR) yyv1->yystate = YYRELOC (yyp0, yyp1, yyv0->yystate, yystate); if (yyv0->yynext != YY_NULLPTR) yyv1->yynext = YYRELOC (yyp0, yyp1, yyv0->yynext, yyoption); } } if (yystackp->yysplitPoint != YY_NULLPTR) yystackp->yysplitPoint = YYRELOC (yystackp->yyitems, yynewItems, yystackp->yysplitPoint, yystate); for (yyn = 0; yyn < yystackp->yytops.yysize; yyn += 1) if (yystackp->yytops.yystates[yyn] != YY_NULLPTR) yystackp->yytops.yystates[yyn] = YYRELOC (yystackp->yyitems, yynewItems, yystackp->yytops.yystates[yyn], yystate); YYFREE (yystackp->yyitems); yystackp->yyitems = yynewItems; yystackp->yynextFree = yynewItems + yysize; yystackp->yyspaceLeft = yynewSize - yysize; } #endif static void yyfreeGLRStack (yyGLRStack* yystackp) { YYFREE (yystackp->yyitems); yyfreeStateSet (&yystackp->yytops); } /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as * YYS. */ static inline void yyupdateSplit (yyGLRStack* yystackp, yyGLRState* yys) { if (yystackp->yysplitPoint != YY_NULLPTR && yystackp->yysplitPoint > yys) yystackp->yysplitPoint = yys; } /** Invalidate stack #YYK in *YYSTACKP. */ static inline void yymarkStackDeleted (yyGLRStack* yystackp, YYPTRDIFF_T yyk) { if (yystackp->yytops.yystates[yyk] != YY_NULLPTR) yystackp->yylastDeleted = yystackp->yytops.yystates[yyk]; yystackp->yytops.yystates[yyk] = YY_NULLPTR; } /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can only be done once after a deletion, and only when all other stacks have been deleted. */ static void yyundeleteLastStack (yyGLRStack* yystackp) { if (yystackp->yylastDeleted == YY_NULLPTR || yystackp->yytops.yysize != 0) return; yystackp->yytops.yystates[0] = yystackp->yylastDeleted; yystackp->yytops.yysize = 1; YY_DPRINTF ((stderr, "Restoring last deleted stack as stack #0.\n")); yystackp->yylastDeleted = YY_NULLPTR; } static inline void yyremoveDeletes (yyGLRStack* yystackp) { YYPTRDIFF_T yyi, yyj; yyi = yyj = 0; while (yyj < yystackp->yytops.yysize) { if (yystackp->yytops.yystates[yyi] == YY_NULLPTR) { if (yyi == yyj) YY_DPRINTF ((stderr, "Removing dead stacks.\n")); yystackp->yytops.yysize -= 1; } else { yystackp->yytops.yystates[yyj] = yystackp->yytops.yystates[yyi]; /* In the current implementation, it's unnecessary to copy yystackp->yytops.yylookaheadNeeds[yyi] since, after yyremoveDeletes returns, the parser immediately either enters deterministic operation or shifts a token. However, it doesn't hurt, and the code might evolve to need it. */ yystackp->yytops.yylookaheadNeeds[yyj] = yystackp->yytops.yylookaheadNeeds[yyi]; if (yyj != yyi) YY_DPRINTF ((stderr, "Rename stack %ld -> %ld.\n", YY_CAST (long, yyi), YY_CAST (long, yyj))); yyj += 1; } yyi += 1; } } /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic * value *YYVALP and source location *YYLOCP. */ static inline void yyglrShift (yyGLRStack* yystackp, YYPTRDIFF_T yyk, yy_state_t yylrState, YYPTRDIFF_T yyposn, YYSTYPE* yyvalp) { yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate; yynewState->yylrState = yylrState; yynewState->yyposn = yyposn; yynewState->yyresolved = yytrue; yynewState->yypred = yystackp->yytops.yystates[yyk]; yynewState->yysemantics.yyval = *yyvalp; yystackp->yytops.yystates[yyk] = yynewState; YY_RESERVE_GLRSTACK (yystackp); } /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR * state YYLRSTATE, at input position YYPOSN, with the (unresolved) * semantic value of YYRHS under the action for YYRULE. */ static inline void yyglrShiftDefer (yyGLRStack* yystackp, YYPTRDIFF_T yyk, yy_state_t yylrState, YYPTRDIFF_T yyposn, yyGLRState* yyrhs, yyRuleNum yyrule) { yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate; YY_ASSERT (yynewState->yyisState); yynewState->yylrState = yylrState; yynewState->yyposn = yyposn; yynewState->yyresolved = yyfalse; yynewState->yypred = yystackp->yytops.yystates[yyk]; yynewState->yysemantics.yyfirstVal = YY_NULLPTR; yystackp->yytops.yystates[yyk] = yynewState; /* Invokes YY_RESERVE_GLRSTACK. */ yyaddDeferredAction (yystackp, yyk, yynewState, yyrhs, yyrule); } #if YYDEBUG /*----------------------------------------------------------------------. | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. | `----------------------------------------------------------------------*/ static inline void yy_reduce_print (yybool yynormal, yyGLRStackItem* yyvsp, YYPTRDIFF_T yyk, yyRuleNum yyrule) { int yynrhs = yyrhsLength (yyrule); int yyi; YY_FPRINTF ((stderr, "Reducing stack %ld by rule %d (line %d):\n", YY_CAST (long, yyk), yyrule - 1, yyrline[yyrule])); if (! yynormal) yyfillin (yyvsp, 1, -yynrhs); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YY_FPRINTF ((stderr, " $%d = ", yyi + 1)); yy_symbol_print (stderr, yy_accessing_symbol (yyvsp[yyi - yynrhs + 1].yystate.yylrState), &yyvsp[yyi - yynrhs + 1].yystate.yysemantics.yyval ); if (!yyvsp[yyi - yynrhs + 1].yystate.yyresolved) YY_FPRINTF ((stderr, " (unresolved)")); YY_FPRINTF ((stderr, "\n")); } } #endif /** Pop the symbols consumed by reduction #YYRULE from the top of stack * #YYK of *YYSTACKP, and perform the appropriate semantic action on their * semantic values. Assumes that all ambiguities in semantic values * have been previously resolved. Set *YYVALP to the resulting value, * and *YYLOCP to the computed location (if any). Return value is as * for userAction. */ static inline YYRESULTTAG yydoAction (yyGLRStack* yystackp, YYPTRDIFF_T yyk, yyRuleNum yyrule, YYSTYPE* yyvalp) { int yynrhs = yyrhsLength (yyrule); if (yystackp->yysplitPoint == YY_NULLPTR) { /* Standard special case: single stack. */ yyGLRStackItem* yyrhs = YY_REINTERPRET_CAST (yyGLRStackItem*, yystackp->yytops.yystates[yyk]); YY_ASSERT (yyk == 0); yystackp->yynextFree -= yynrhs; yystackp->yyspaceLeft += yynrhs; yystackp->yytops.yystates[0] = & yystackp->yynextFree[-1].yystate; return yyuserAction (yyrule, yynrhs, yyrhs, yystackp, yyk, yyvalp); } else { yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1]; yyGLRState* yys = yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred = yystackp->yytops.yystates[yyk]; int yyi; for (yyi = 0; yyi < yynrhs; yyi += 1) { yys = yys->yypred; YY_ASSERT (yys); } yyupdateSplit (yystackp, yys); yystackp->yytops.yystates[yyk] = yys; return yyuserAction (yyrule, yynrhs, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1, yystackp, yyk, yyvalp); } } /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE, * and push back on the resulting nonterminal symbol. Perform the * semantic action associated with YYRULE and store its value with the * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently * unambiguous. Otherwise, store the deferred semantic action with * the new state. If the new state would have an identical input * position, LR state, and predecessor to an existing state on the stack, * it is identified with that existing state, eliminating stack #YYK from * *YYSTACKP. In this case, the semantic value is * added to the options for the existing state's semantic value. */ static inline YYRESULTTAG yyglrReduce (yyGLRStack* yystackp, YYPTRDIFF_T yyk, yyRuleNum yyrule, yybool yyforceEval) { YYPTRDIFF_T yyposn = yystackp->yytops.yystates[yyk]->yyposn; if (yyforceEval || yystackp->yysplitPoint == YY_NULLPTR) { YYSTYPE yyval; YYRESULTTAG yyflag = yydoAction (yystackp, yyk, yyrule, &yyval); if (yyflag == yyerr && yystackp->yysplitPoint != YY_NULLPTR) YY_DPRINTF ((stderr, "Parse on stack %ld rejected by rule %d (line %d).\n", YY_CAST (long, yyk), yyrule - 1, yyrline[yyrule])); if (yyflag != yyok) return yyflag; yyglrShift (yystackp, yyk, yyLRgotoState (yystackp->yytops.yystates[yyk]->yylrState, yylhsNonterm (yyrule)), yyposn, &yyval); } else { YYPTRDIFF_T yyi; int yyn; yyGLRState* yys, *yys0 = yystackp->yytops.yystates[yyk]; yy_state_t yynewLRState; for (yys = yystackp->yytops.yystates[yyk], yyn = yyrhsLength (yyrule); 0 < yyn; yyn -= 1) { yys = yys->yypred; YY_ASSERT (yys); } yyupdateSplit (yystackp, yys); yynewLRState = yyLRgotoState (yys->yylrState, yylhsNonterm (yyrule)); YY_DPRINTF ((stderr, "Reduced stack %ld by rule %d (line %d); action deferred. " "Now in state %d.\n", YY_CAST (long, yyk), yyrule - 1, yyrline[yyrule], yynewLRState)); for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1) if (yyi != yyk && yystackp->yytops.yystates[yyi] != YY_NULLPTR) { yyGLRState *yysplit = yystackp->yysplitPoint; yyGLRState *yyp = yystackp->yytops.yystates[yyi]; while (yyp != yys && yyp != yysplit && yyp->yyposn >= yyposn) { if (yyp->yylrState == yynewLRState && yyp->yypred == yys) { yyaddDeferredAction (yystackp, yyk, yyp, yys0, yyrule); yymarkStackDeleted (yystackp, yyk); YY_DPRINTF ((stderr, "Merging stack %ld into stack %ld.\n", YY_CAST (long, yyk), YY_CAST (long, yyi))); return yyok; } yyp = yyp->yypred; } } yystackp->yytops.yystates[yyk] = yys; yyglrShiftDefer (yystackp, yyk, yynewLRState, yyposn, yys0, yyrule); } return yyok; } static YYPTRDIFF_T yysplitStack (yyGLRStack* yystackp, YYPTRDIFF_T yyk) { if (yystackp->yysplitPoint == YY_NULLPTR) { YY_ASSERT (yyk == 0); yystackp->yysplitPoint = yystackp->yytops.yystates[yyk]; } if (yystackp->yytops.yycapacity <= yystackp->yytops.yysize) { YYPTRDIFF_T state_size = YYSIZEOF (yystackp->yytops.yystates[0]); YYPTRDIFF_T half_max_capacity = YYSIZE_MAXIMUM / 2 / state_size; if (half_max_capacity < yystackp->yytops.yycapacity) yyMemoryExhausted (yystackp); yystackp->yytops.yycapacity *= 2; { yyGLRState** yynewStates = YY_CAST (yyGLRState**, YYREALLOC (yystackp->yytops.yystates, (YY_CAST (YYSIZE_T, yystackp->yytops.yycapacity) * sizeof yynewStates[0]))); if (yynewStates == YY_NULLPTR) yyMemoryExhausted (yystackp); yystackp->yytops.yystates = yynewStates; } { yybool* yynewLookaheadNeeds = YY_CAST (yybool*, YYREALLOC (yystackp->yytops.yylookaheadNeeds, (YY_CAST (YYSIZE_T, yystackp->yytops.yycapacity) * sizeof yynewLookaheadNeeds[0]))); if (yynewLookaheadNeeds == YY_NULLPTR) yyMemoryExhausted (yystackp); yystackp->yytops.yylookaheadNeeds = yynewLookaheadNeeds; } } yystackp->yytops.yystates[yystackp->yytops.yysize] = yystackp->yytops.yystates[yyk]; yystackp->yytops.yylookaheadNeeds[yystackp->yytops.yysize] = yystackp->yytops.yylookaheadNeeds[yyk]; yystackp->yytops.yysize += 1; return yystackp->yytops.yysize - 1; } /** True iff YYY0 and YYY1 represent identical options at the top level. * That is, they represent the same rule applied to RHS symbols * that produce the same terminal symbols. */ static yybool yyidenticalOptions (yySemanticOption* yyy0, yySemanticOption* yyy1) { if (yyy0->yyrule == yyy1->yyrule) { yyGLRState *yys0, *yys1; int yyn; for (yys0 = yyy0->yystate, yys1 = yyy1->yystate, yyn = yyrhsLength (yyy0->yyrule); yyn > 0; yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1) if (yys0->yyposn != yys1->yyposn) return yyfalse; return yytrue; } else return yyfalse; } /** Assuming identicalOptions (YYY0,YYY1), destructively merge the * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */ static void yymergeOptionSets (yySemanticOption* yyy0, yySemanticOption* yyy1) { yyGLRState *yys0, *yys1; int yyn; for (yys0 = yyy0->yystate, yys1 = yyy1->yystate, yyn = yyrhsLength (yyy0->yyrule); 0 < yyn; yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1) { if (yys0 == yys1) break; else if (yys0->yyresolved) { yys1->yyresolved = yytrue; yys1->yysemantics.yyval = yys0->yysemantics.yyval; } else if (yys1->yyresolved) { yys0->yyresolved = yytrue; yys0->yysemantics.yyval = yys1->yysemantics.yyval; } else { yySemanticOption** yyz0p = &yys0->yysemantics.yyfirstVal; yySemanticOption* yyz1 = yys1->yysemantics.yyfirstVal; while (yytrue) { if (yyz1 == *yyz0p || yyz1 == YY_NULLPTR) break; else if (*yyz0p == YY_NULLPTR) { *yyz0p = yyz1; break; } else if (*yyz0p < yyz1) { yySemanticOption* yyz = *yyz0p; *yyz0p = yyz1; yyz1 = yyz1->yynext; (*yyz0p)->yynext = yyz; } yyz0p = &(*yyz0p)->yynext; } yys1->yysemantics.yyfirstVal = yys0->yysemantics.yyfirstVal; } } } /** Y0 and Y1 represent two possible actions to take in a given * parsing state; return 0 if no combination is possible, * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */ static int yypreference (yySemanticOption* y0, yySemanticOption* y1) { yyRuleNum r0 = y0->yyrule, r1 = y1->yyrule; int p0 = yydprec[r0], p1 = yydprec[r1]; if (p0 == p1) { if (yymerger[r0] == 0 || yymerger[r0] != yymerger[r1]) return 0; else return 1; } if (p0 == 0 || p1 == 0) return 0; if (p0 < p1) return 3; if (p1 < p0) return 2; return 0; } static YYRESULTTAG yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp); /** Resolve the previous YYN states starting at and including state YYS * on *YYSTACKP. If result != yyok, some states may have been left * unresolved possibly with empty semantic option chains. Regardless * of whether result = yyok, each state has been left with consistent * data so that yydestroyGLRState can be invoked if necessary. */ static YYRESULTTAG yyresolveStates (yyGLRState* yys, int yyn, yyGLRStack* yystackp) { if (0 < yyn) { YY_ASSERT (yys->yypred); YYCHK (yyresolveStates (yys->yypred, yyn-1, yystackp)); if (! yys->yyresolved) YYCHK (yyresolveValue (yys, yystackp)); } return yyok; } /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its * user action, and return the semantic value and location in *YYVALP * and *YYLOCP. Regardless of whether result = yyok, all RHS states * have been destroyed (assuming the user action destroys all RHS * semantic values if invoked). */ static YYRESULTTAG yyresolveAction (yySemanticOption* yyopt, yyGLRStack* yystackp, YYSTYPE* yyvalp) { yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1]; int yynrhs = yyrhsLength (yyopt->yyrule); YYRESULTTAG yyflag = yyresolveStates (yyopt->yystate, yynrhs, yystackp); if (yyflag != yyok) { yyGLRState *yys; for (yys = yyopt->yystate; yynrhs > 0; yys = yys->yypred, yynrhs -= 1) yydestroyGLRState ("Cleanup: popping", yys); return yyflag; } yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred = yyopt->yystate; { int yychar_current = yychar; YYSTYPE yylval_current = yylval; yychar = yyopt->yyrawchar; yylval = yyopt->yyval; yyflag = yyuserAction (yyopt->yyrule, yynrhs, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1, yystackp, -1, yyvalp); yychar = yychar_current; yylval = yylval_current; } return yyflag; } #if YYDEBUG static void yyreportTree (yySemanticOption* yyx, int yyindent) { int yynrhs = yyrhsLength (yyx->yyrule); int yyi; yyGLRState* yys; yyGLRState* yystates[1 + YYMAXRHS]; yyGLRState yyleftmost_state; for (yyi = yynrhs, yys = yyx->yystate; 0 < yyi; yyi -= 1, yys = yys->yypred) yystates[yyi] = yys; if (yys == YY_NULLPTR) { yyleftmost_state.yyposn = 0; yystates[0] = &yyleftmost_state; } else yystates[0] = yys; if (yyx->yystate->yyposn < yys->yyposn + 1) YY_FPRINTF ((stderr, "%*s%s -> \n", yyindent, "", yysymbol_name (yylhsNonterm (yyx->yyrule)), yyx->yyrule - 1)); else YY_FPRINTF ((stderr, "%*s%s -> \n", yyindent, "", yysymbol_name (yylhsNonterm (yyx->yyrule)), yyx->yyrule - 1, YY_CAST (long, yys->yyposn + 1), YY_CAST (long, yyx->yystate->yyposn))); for (yyi = 1; yyi <= yynrhs; yyi += 1) { if (yystates[yyi]->yyresolved) { if (yystates[yyi-1]->yyposn+1 > yystates[yyi]->yyposn) YY_FPRINTF ((stderr, "%*s%s \n", yyindent+2, "", yysymbol_name (yy_accessing_symbol (yystates[yyi]->yylrState)))); else YY_FPRINTF ((stderr, "%*s%s \n", yyindent+2, "", yysymbol_name (yy_accessing_symbol (yystates[yyi]->yylrState)), YY_CAST (long, yystates[yyi-1]->yyposn + 1), YY_CAST (long, yystates[yyi]->yyposn))); } else yyreportTree (yystates[yyi]->yysemantics.yyfirstVal, yyindent+2); } } #endif static YYRESULTTAG yyreportAmbiguity (yySemanticOption* yyx0, yySemanticOption* yyx1) { YY_USE (yyx0); YY_USE (yyx1); #if YYDEBUG YY_FPRINTF ((stderr, "Ambiguity detected.\n")); YY_FPRINTF ((stderr, "Option 1,\n")); yyreportTree (yyx0, 2); YY_FPRINTF ((stderr, "\nOption 2,\n")); yyreportTree (yyx1, 2); YY_FPRINTF ((stderr, "\n")); #endif yyerror (YY_("syntax is ambiguous")); return yyabort; } /** Resolve the ambiguity represented in state YYS in *YYSTACKP, * perform the indicated actions, and set the semantic value of YYS. * If result != yyok, the chain of semantic options in YYS has been * cleared instead or it has been left unmodified except that * redundant options may have been removed. Regardless of whether * result = yyok, YYS has been left with consistent data so that * yydestroyGLRState can be invoked if necessary. */ static YYRESULTTAG yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp) { yySemanticOption* yyoptionList = yys->yysemantics.yyfirstVal; yySemanticOption* yybest = yyoptionList; yySemanticOption** yypp; yybool yymerge = yyfalse; YYSTYPE yyval; YYRESULTTAG yyflag; for (yypp = &yyoptionList->yynext; *yypp != YY_NULLPTR; ) { yySemanticOption* yyp = *yypp; if (yyidenticalOptions (yybest, yyp)) { yymergeOptionSets (yybest, yyp); *yypp = yyp->yynext; } else { switch (yypreference (yybest, yyp)) { case 0: return yyreportAmbiguity (yybest, yyp); break; case 1: yymerge = yytrue; break; case 2: break; case 3: yybest = yyp; yymerge = yyfalse; break; default: /* This cannot happen so it is not worth a YY_ASSERT (yyfalse), but some compilers complain if the default case is omitted. */ break; } yypp = &yyp->yynext; } } if (yymerge) { yySemanticOption* yyp; int yyprec = yydprec[yybest->yyrule]; yyflag = yyresolveAction (yybest, yystackp, &yyval); if (yyflag == yyok) for (yyp = yybest->yynext; yyp != YY_NULLPTR; yyp = yyp->yynext) { if (yyprec == yydprec[yyp->yyrule]) { YYSTYPE yyval_other; yyflag = yyresolveAction (yyp, yystackp, &yyval_other); if (yyflag != yyok) { yydestruct ("Cleanup: discarding incompletely merged value for", yy_accessing_symbol (yys->yylrState), &yyval); break; } yyuserMerge (yymerger[yyp->yyrule], &yyval, &yyval_other); } } } else yyflag = yyresolveAction (yybest, yystackp, &yyval); if (yyflag == yyok) { yys->yyresolved = yytrue; yys->yysemantics.yyval = yyval; } else yys->yysemantics.yyfirstVal = YY_NULLPTR; return yyflag; } static YYRESULTTAG yyresolveStack (yyGLRStack* yystackp) { if (yystackp->yysplitPoint != YY_NULLPTR) { yyGLRState* yys; int yyn; for (yyn = 0, yys = yystackp->yytops.yystates[0]; yys != yystackp->yysplitPoint; yys = yys->yypred, yyn += 1) continue; YYCHK (yyresolveStates (yystackp->yytops.yystates[0], yyn, yystackp )); } return yyok; } /** Called when returning to deterministic operation to clean up the extra * stacks. */ static void yycompressStack (yyGLRStack* yystackp) { /* yyr is the state after the split point. */ yyGLRState *yyr; if (yystackp->yytops.yysize != 1 || yystackp->yysplitPoint == YY_NULLPTR) return; { yyGLRState *yyp, *yyq; for (yyp = yystackp->yytops.yystates[0], yyq = yyp->yypred, yyr = YY_NULLPTR; yyp != yystackp->yysplitPoint; yyr = yyp, yyp = yyq, yyq = yyp->yypred) yyp->yypred = yyr; } yystackp->yyspaceLeft += yystackp->yynextFree - yystackp->yyitems; yystackp->yynextFree = YY_REINTERPRET_CAST (yyGLRStackItem*, yystackp->yysplitPoint) + 1; yystackp->yyspaceLeft -= yystackp->yynextFree - yystackp->yyitems; yystackp->yysplitPoint = YY_NULLPTR; yystackp->yylastDeleted = YY_NULLPTR; while (yyr != YY_NULLPTR) { yystackp->yynextFree->yystate = *yyr; yyr = yyr->yypred; yystackp->yynextFree->yystate.yypred = &yystackp->yynextFree[-1].yystate; yystackp->yytops.yystates[0] = &yystackp->yynextFree->yystate; yystackp->yynextFree += 1; yystackp->yyspaceLeft -= 1; } } static YYRESULTTAG yyprocessOneStack (yyGLRStack* yystackp, YYPTRDIFF_T yyk, YYPTRDIFF_T yyposn) { while (yystackp->yytops.yystates[yyk] != YY_NULLPTR) { yy_state_t yystate = yystackp->yytops.yystates[yyk]->yylrState; YY_DPRINTF ((stderr, "Stack %ld Entering state %d\n", YY_CAST (long, yyk), yystate)); YY_ASSERT (yystate != YYFINAL); if (yyisDefaultedState (yystate)) { YYRESULTTAG yyflag; yyRuleNum yyrule = yydefaultAction (yystate); if (yyrule == 0) { YY_DPRINTF ((stderr, "Stack %ld dies.\n", YY_CAST (long, yyk))); yymarkStackDeleted (yystackp, yyk); return yyok; } yyflag = yyglrReduce (yystackp, yyk, yyrule, yyimmediate[yyrule]); if (yyflag == yyerr) { YY_DPRINTF ((stderr, "Stack %ld dies " "(predicate failure or explicit user error).\n", YY_CAST (long, yyk))); yymarkStackDeleted (yystackp, yyk); return yyok; } if (yyflag != yyok) return yyflag; } else { yysymbol_kind_t yytoken = yygetToken (&yychar); const short* yyconflicts; const int yyaction = yygetLRActions (yystate, yytoken, &yyconflicts); yystackp->yytops.yylookaheadNeeds[yyk] = yytrue; for (/* nothing */; *yyconflicts; yyconflicts += 1) { YYRESULTTAG yyflag; YYPTRDIFF_T yynewStack = yysplitStack (yystackp, yyk); YY_DPRINTF ((stderr, "Splitting off stack %ld from %ld.\n", YY_CAST (long, yynewStack), YY_CAST (long, yyk))); yyflag = yyglrReduce (yystackp, yynewStack, *yyconflicts, yyimmediate[*yyconflicts]); if (yyflag == yyok) YYCHK (yyprocessOneStack (yystackp, yynewStack, yyposn)); else if (yyflag == yyerr) { YY_DPRINTF ((stderr, "Stack %ld dies.\n", YY_CAST (long, yynewStack))); yymarkStackDeleted (yystackp, yynewStack); } else return yyflag; } if (yyisShiftAction (yyaction)) break; else if (yyisErrorAction (yyaction)) { YY_DPRINTF ((stderr, "Stack %ld dies.\n", YY_CAST (long, yyk))); yymarkStackDeleted (yystackp, yyk); break; } else { YYRESULTTAG yyflag = yyglrReduce (yystackp, yyk, -yyaction, yyimmediate[-yyaction]); if (yyflag == yyerr) { YY_DPRINTF ((stderr, "Stack %ld dies " "(predicate failure or explicit user error).\n", YY_CAST (long, yyk))); yymarkStackDeleted (yystackp, yyk); break; } else if (yyflag != yyok) return yyflag; } } } return yyok; } static void yyreportSyntaxError (yyGLRStack* yystackp) { if (yystackp->yyerrState != 0) return; yyerror (YY_("syntax error")); yynerrs += 1; } /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP, yylval, and yylloc are the syntactic category, semantic value, and location of the lookahead. */ static void yyrecoverSyntaxError (yyGLRStack* yystackp) { if (yystackp->yyerrState == 3) /* We just shifted the error token and (perhaps) took some reductions. Skip tokens until we can proceed. */ while (yytrue) { yysymbol_kind_t yytoken; int yyj; if (yychar == YYEOF) yyFail (yystackp, YY_NULLPTR); if (yychar != YYEMPTY) { yytoken = YYTRANSLATE (yychar); yydestruct ("Error: discarding", yytoken, &yylval); yychar = YYEMPTY; } yytoken = yygetToken (&yychar); yyj = yypact[yystackp->yytops.yystates[0]->yylrState]; if (yypact_value_is_default (yyj)) return; yyj += yytoken; if (yyj < 0 || YYLAST < yyj || yycheck[yyj] != yytoken) { if (yydefact[yystackp->yytops.yystates[0]->yylrState] != 0) return; } else if (! yytable_value_is_error (yytable[yyj])) return; } /* Reduce to one stack. */ { YYPTRDIFF_T yyk; for (yyk = 0; yyk < yystackp->yytops.yysize; yyk += 1) if (yystackp->yytops.yystates[yyk] != YY_NULLPTR) break; if (yyk >= yystackp->yytops.yysize) yyFail (yystackp, YY_NULLPTR); for (yyk += 1; yyk < yystackp->yytops.yysize; yyk += 1) yymarkStackDeleted (yystackp, yyk); yyremoveDeletes (yystackp); yycompressStack (yystackp); } /* Pop stack until we find a state that shifts the error token. */ yystackp->yyerrState = 3; while (yystackp->yytops.yystates[0] != YY_NULLPTR) { yyGLRState *yys = yystackp->yytops.yystates[0]; int yyj = yypact[yys->yylrState]; if (! yypact_value_is_default (yyj)) { yyj += YYSYMBOL_YYerror; if (0 <= yyj && yyj <= YYLAST && yycheck[yyj] == YYSYMBOL_YYerror && yyisShiftAction (yytable[yyj])) { /* Shift the error token. */ int yyaction = yytable[yyj]; YY_SYMBOL_PRINT ("Shifting", yy_accessing_symbol (yyaction), &yylval, &yyerrloc); yyglrShift (yystackp, 0, yyaction, yys->yyposn, &yylval); yys = yystackp->yytops.yystates[0]; break; } } if (yys->yypred != YY_NULLPTR) yydestroyGLRState ("Error: popping", yys); yystackp->yytops.yystates[0] = yys->yypred; yystackp->yynextFree -= 1; yystackp->yyspaceLeft += 1; } if (yystackp->yytops.yystates[0] == YY_NULLPTR) yyFail (yystackp, YY_NULLPTR); } #define YYCHK1(YYE) \ do { \ switch (YYE) { \ case yyok: break; \ case yyabort: goto yyabortlab; \ case yyaccept: goto yyacceptlab; \ case yyerr: goto yyuser_error; \ case yynomem: goto yyexhaustedlab; \ default: goto yybuglab; \ } \ } while (0) /*----------. | yyparse. | `----------*/ int yyparse (void) { int yyresult; yyGLRStack yystack; yyGLRStack* const yystackp = &yystack; YYPTRDIFF_T yyposn; YY_DPRINTF ((stderr, "Starting parse\n")); yychar = YYEMPTY; yylval = yyval_default; if (! yyinitGLRStack (yystackp, YYINITDEPTH)) goto yyexhaustedlab; switch (YYSETJMP (yystack.yyexception_buffer)) { case 0: break; case 1: goto yyabortlab; case 2: goto yyexhaustedlab; default: goto yybuglab; } yyglrShift (&yystack, 0, 0, 0, &yylval); yyposn = 0; while (yytrue) { /* For efficiency, we have two loops, the first of which is specialized to deterministic operation (single stack, no potential ambiguity). */ /* Standard mode. */ while (yytrue) { yy_state_t yystate = yystack.yytops.yystates[0]->yylrState; YY_DPRINTF ((stderr, "Entering state %d\n", yystate)); if (yystate == YYFINAL) goto yyacceptlab; if (yyisDefaultedState (yystate)) { yyRuleNum yyrule = yydefaultAction (yystate); if (yyrule == 0) { yyreportSyntaxError (&yystack); goto yyuser_error; } YYCHK1 (yyglrReduce (&yystack, 0, yyrule, yytrue)); } else { yysymbol_kind_t yytoken = yygetToken (&yychar); const short* yyconflicts; int yyaction = yygetLRActions (yystate, yytoken, &yyconflicts); if (*yyconflicts) /* Enter nondeterministic mode. */ break; if (yyisShiftAction (yyaction)) { YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); yychar = YYEMPTY; yyposn += 1; yyglrShift (&yystack, 0, yyaction, yyposn, &yylval); if (0 < yystack.yyerrState) yystack.yyerrState -= 1; } else if (yyisErrorAction (yyaction)) { /* Issue an error message unless the scanner already did. */ if (yychar != YYerror) yyreportSyntaxError (&yystack); goto yyuser_error; } else YYCHK1 (yyglrReduce (&yystack, 0, -yyaction, yytrue)); } } /* Nondeterministic mode. */ while (yytrue) { yysymbol_kind_t yytoken_to_shift; YYPTRDIFF_T yys; for (yys = 0; yys < yystack.yytops.yysize; yys += 1) yystackp->yytops.yylookaheadNeeds[yys] = yychar != YYEMPTY; /* yyprocessOneStack returns one of three things: - An error flag. If the caller is yyprocessOneStack, it immediately returns as well. When the caller is finally yyparse, it jumps to an error label via YYCHK1. - yyok, but yyprocessOneStack has invoked yymarkStackDeleted (&yystack, yys), which sets the top state of yys to NULL. Thus, yyparse's following invocation of yyremoveDeletes will remove the stack. - yyok, when ready to shift a token. Except in the first case, yyparse will invoke yyremoveDeletes and then shift the next token onto all remaining stacks. This synchronization of the shift (that is, after all preceding reductions on all stacks) helps prevent double destructor calls on yylval in the event of memory exhaustion. */ for (yys = 0; yys < yystack.yytops.yysize; yys += 1) YYCHK1 (yyprocessOneStack (&yystack, yys, yyposn)); yyremoveDeletes (&yystack); if (yystack.yytops.yysize == 0) { yyundeleteLastStack (&yystack); if (yystack.yytops.yysize == 0) yyFail (&yystack, YY_("syntax error")); YYCHK1 (yyresolveStack (&yystack)); YY_DPRINTF ((stderr, "Returning to deterministic operation.\n")); yyreportSyntaxError (&yystack); goto yyuser_error; } /* If any yyglrShift call fails, it will fail after shifting. Thus, a copy of yylval will already be on stack 0 in the event of a failure in the following loop. Thus, yychar is set to YYEMPTY before the loop to make sure the user destructor for yylval isn't called twice. */ yytoken_to_shift = YYTRANSLATE (yychar); yychar = YYEMPTY; yyposn += 1; for (yys = 0; yys < yystack.yytops.yysize; yys += 1) { yy_state_t yystate = yystack.yytops.yystates[yys]->yylrState; const short* yyconflicts; int yyaction = yygetLRActions (yystate, yytoken_to_shift, &yyconflicts); /* Note that yyconflicts were handled by yyprocessOneStack. */ YY_DPRINTF ((stderr, "On stack %ld, ", YY_CAST (long, yys))); YY_SYMBOL_PRINT ("shifting", yytoken_to_shift, &yylval, &yylloc); yyglrShift (&yystack, yys, yyaction, yyposn, &yylval); YY_DPRINTF ((stderr, "Stack %ld now in state %d\n", YY_CAST (long, yys), yystack.yytops.yystates[yys]->yylrState)); } if (yystack.yytops.yysize == 1) { YYCHK1 (yyresolveStack (&yystack)); YY_DPRINTF ((stderr, "Returning to deterministic operation.\n")); yycompressStack (&yystack); break; } } continue; yyuser_error: yyrecoverSyntaxError (&yystack); yyposn = yystack.yytops.yystates[0]->yyposn; } yyacceptlab: yyresult = 0; goto yyreturnlab; yybuglab: YY_ASSERT (yyfalse); goto yyabortlab; yyabortlab: yyresult = 1; goto yyreturnlab; yyexhaustedlab: yyerror (YY_("memory exhausted")); yyresult = 2; goto yyreturnlab; yyreturnlab: if (yychar != YYEMPTY) yydestruct ("Cleanup: discarding lookahead", YYTRANSLATE (yychar), &yylval); /* If the stack is well-formed, pop the stack until it is empty, destroying its entries as we go. But free the stack regardless of whether it is well-formed. */ if (yystack.yyitems) { yyGLRState** yystates = yystack.yytops.yystates; if (yystates) { YYPTRDIFF_T yysize = yystack.yytops.yysize; YYPTRDIFF_T yyk; for (yyk = 0; yyk < yysize; yyk += 1) if (yystates[yyk]) { while (yystates[yyk]) { yyGLRState *yys = yystates[yyk]; if (yys->yypred != YY_NULLPTR) yydestroyGLRState ("Cleanup: popping", yys); yystates[yyk] = yys->yypred; yystack.yynextFree -= 1; yystack.yyspaceLeft += 1; } break; } } yyfreeGLRStack (&yystack); } return yyresult; } /* DEBUGGING ONLY */ #if YYDEBUG /* Print *YYS and its predecessors. */ static void yy_yypstack (yyGLRState* yys) { if (yys->yypred) { yy_yypstack (yys->yypred); YY_FPRINTF ((stderr, " -> ")); } YY_FPRINTF ((stderr, "%d@%ld", yys->yylrState, YY_CAST (long, yys->yyposn))); } /* Print YYS (possibly NULL) and its predecessors. */ static void yypstates (yyGLRState* yys) { if (yys == YY_NULLPTR) YY_FPRINTF ((stderr, "")); else yy_yypstack (yys); YY_FPRINTF ((stderr, "\n")); } /* Print the stack #YYK. */ static void yypstack (yyGLRStack* yystackp, YYPTRDIFF_T yyk) { yypstates (yystackp->yytops.yystates[yyk]); } /* Print all the stacks. */ static void yypdumpstack (yyGLRStack* yystackp) { #define YYINDEX(YYX) \ YY_CAST (long, \ ((YYX) \ ? YY_REINTERPRET_CAST (yyGLRStackItem*, (YYX)) - yystackp->yyitems \ : -1)) yyGLRStackItem* yyp; for (yyp = yystackp->yyitems; yyp < yystackp->yynextFree; yyp += 1) { YY_FPRINTF ((stderr, "%3ld. ", YY_CAST (long, yyp - yystackp->yyitems))); if (*YY_REINTERPRET_CAST (yybool *, yyp)) { YY_ASSERT (yyp->yystate.yyisState); YY_ASSERT (yyp->yyoption.yyisState); YY_FPRINTF ((stderr, "Res: %d, LR State: %d, posn: %ld, pred: %ld", yyp->yystate.yyresolved, yyp->yystate.yylrState, YY_CAST (long, yyp->yystate.yyposn), YYINDEX (yyp->yystate.yypred))); if (! yyp->yystate.yyresolved) YY_FPRINTF ((stderr, ", firstVal: %ld", YYINDEX (yyp->yystate.yysemantics.yyfirstVal))); } else { YY_ASSERT (!yyp->yystate.yyisState); YY_ASSERT (!yyp->yyoption.yyisState); YY_FPRINTF ((stderr, "Option. rule: %d, state: %ld, next: %ld", yyp->yyoption.yyrule - 1, YYINDEX (yyp->yyoption.yystate), YYINDEX (yyp->yyoption.yynext))); } YY_FPRINTF ((stderr, "\n")); } YY_FPRINTF ((stderr, "Tops:")); { YYPTRDIFF_T yyi; for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1) YY_FPRINTF ((stderr, "%ld: %ld; ", YY_CAST (long, yyi), YYINDEX (yystackp->yytops.yystates[yyi]))); YY_FPRINTF ((stderr, "\n")); } #undef YYINDEX } #endif #undef yylval #undef yychar #undef yynerrs #line 1542 "cplusplus.y" static void yyerror(const char *s) { fprintf(stderr, "%d: %s\n", lineno, s); } int main(int argc, char**argv){ lineno = 1; extern FILE *yyin; if (argc!=2){ fprintf(stderr, "usage: %s \n", argv[0]); return -1; } yyin=fopen(argv[1], "r"); if (yyin){ if (yyparse()==0){ printf("success!\n"); }else{ printf("failure\n"); } fclose(yyin); }else{ perror(argv[1]); return -2; } return 0; }