/* A Bison parser, made by GNU Bison 2.0. */ /* Skeleton parser for Yacc-like parsing with Bison, Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 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 2, 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ /* Written by Richard Stallman by simplifying the original so called ``semantic'' parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 1 /* Using locations. */ #define YYLSP_NEEDED 0 /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { END_OF_INPUT = 258, CLOSE_SYM = 259, HANDLER_SYM = 260, LAST_SYM = 261, NEXT_SYM = 262, PREV_SYM = 263, DIV_SYM = 264, EQ = 265, EQUAL_SYM = 266, SOUNDS_SYM = 267, GE = 268, GT_SYM = 269, LE = 270, LT = 271, NE = 272, IS = 273, MOD_SYM = 274, SHIFT_LEFT = 275, SHIFT_RIGHT = 276, SET_VAR = 277, ABORT_SYM = 278, ADD = 279, AFTER_SYM = 280, ALTER = 281, ANALYZE_SYM = 282, ANY_SYM = 283, AVG_SYM = 284, BEGIN_SYM = 285, BINLOG_SYM = 286, CHANGE = 287, CLIENT_SYM = 288, COMMENT_SYM = 289, COMMIT_SYM = 290, CONSISTENT_SYM = 291, COUNT_SYM = 292, CREATE = 293, CROSS = 294, CUBE_SYM = 295, DELETE_SYM = 296, DUAL_SYM = 297, DO_SYM = 298, DROP = 299, EVENTS_SYM = 300, EXECUTE_SYM = 301, EXPANSION_SYM = 302, FLUSH_SYM = 303, HELP_SYM = 304, INSERT = 305, RELAY_THREAD = 306, KILL_SYM = 307, LOAD = 308, LOCKS_SYM = 309, LOCK_SYM = 310, MASTER_SYM = 311, MAX_SYM = 312, MIN_SYM = 313, NONE_SYM = 314, OPTIMIZE = 315, PURGE = 316, REPAIR = 317, REPLICATION = 318, RESET_SYM = 319, ROLLBACK_SYM = 320, ROLLUP_SYM = 321, SAVEPOINT_SYM = 322, SELECT_SYM = 323, SHOW = 324, SLAVE = 325, SNAPSHOT_SYM = 326, SQL_THREAD = 327, START_SYM = 328, STD_SYM = 329, VARIANCE_SYM = 330, STOP_SYM = 331, SUM_SYM = 332, ADDDATE_SYM = 333, SUPER_SYM = 334, TRUNCATE_SYM = 335, UNLOCK_SYM = 336, UNTIL_SYM = 337, UPDATE_SYM = 338, ACTION = 339, AGGREGATE_SYM = 340, ALL = 341, AND_SYM = 342, AS = 343, ASC = 344, AUTO_INC = 345, AVG_ROW_LENGTH = 346, BACKUP_SYM = 347, BERKELEY_DB_SYM = 348, BINARY = 349, BIT_SYM = 350, BOOL_SYM = 351, BOOLEAN_SYM = 352, BOTH = 353, BTREE_SYM = 354, BY = 355, BYTE_SYM = 356, CACHE_SYM = 357, CASCADE = 358, CAST_SYM = 359, CHARSET = 360, CHECKSUM_SYM = 361, CHECK_SYM = 362, COMMITTED_SYM = 363, COLLATE_SYM = 364, COLLATION_SYM = 365, COLUMNS = 366, COLUMN_SYM = 367, CONCURRENT = 368, CONSTRAINT = 369, CONVERT_SYM = 370, CURRENT_USER = 371, DATABASES = 372, DATA_SYM = 373, DEFAULT = 374, DELAYED_SYM = 375, DELAY_KEY_WRITE_SYM = 376, DESC = 377, DESCRIBE = 378, DES_KEY_FILE = 379, DISABLE_SYM = 380, DISCARD = 381, DISTINCT = 382, DUPLICATE_SYM = 383, DYNAMIC_SYM = 384, ENABLE_SYM = 385, ENCLOSED = 386, ESCAPED = 387, DIRECTORY_SYM = 388, ESCAPE_SYM = 389, EXISTS = 390, EXTENDED_SYM = 391, FALSE_SYM = 392, FILE_SYM = 393, FIRST_SYM = 394, FIXED_SYM = 395, FLOAT_NUM = 396, FORCE_SYM = 397, FOREIGN = 398, FROM = 399, FULL = 400, FULLTEXT_SYM = 401, GLOBAL_SYM = 402, GRANT = 403, GRANTS = 404, GREATEST_SYM = 405, GROUP = 406, HAVING = 407, HASH_SYM = 408, HEX_NUM = 409, HIGH_PRIORITY = 410, HOSTS_SYM = 411, IDENT = 412, IDENT_QUOTED = 413, IGNORE_SYM = 414, IMPORT = 415, INDEX_SYM = 416, INDEXES = 417, INFILE = 418, INNER_SYM = 419, INNOBASE_SYM = 420, INTO = 421, IN_SYM = 422, ISOLATION = 423, JOIN_SYM = 424, KEYS = 425, KEY_SYM = 426, LEADING = 427, LEAST_SYM = 428, LEAVES = 429, LEVEL_SYM = 430, LEX_HOSTNAME = 431, LIKE = 432, LINES = 433, LOCAL_SYM = 434, LOG_SYM = 435, LOGS_SYM = 436, LONG_NUM = 437, LONG_SYM = 438, LOW_PRIORITY = 439, MASTER_HOST_SYM = 440, MASTER_USER_SYM = 441, MASTER_LOG_FILE_SYM = 442, MASTER_LOG_POS_SYM = 443, MASTER_PASSWORD_SYM = 444, MASTER_PORT_SYM = 445, MASTER_CONNECT_RETRY_SYM = 446, MASTER_SERVER_ID_SYM = 447, MASTER_SSL_SYM = 448, MASTER_SSL_CA_SYM = 449, MASTER_SSL_CAPATH_SYM = 450, MASTER_SSL_CERT_SYM = 451, MASTER_SSL_CIPHER_SYM = 452, MASTER_SSL_KEY_SYM = 453, RELAY_LOG_FILE_SYM = 454, RELAY_LOG_POS_SYM = 455, MATCH = 456, MAX_ROWS = 457, MAX_CONNECTIONS_PER_HOUR = 458, MAX_QUERIES_PER_HOUR = 459, MAX_UPDATES_PER_HOUR = 460, MEDIUM_SYM = 461, MIN_ROWS = 462, NAMES_SYM = 463, NATIONAL_SYM = 464, NATURAL = 465, NDBCLUSTER_SYM = 466, NEW_SYM = 467, NCHAR_SYM = 468, NCHAR_STRING = 469, NVARCHAR_SYM = 470, NOT = 471, NO_SYM = 472, NULL_SYM = 473, NUM = 474, OFFSET_SYM = 475, ON = 476, ONE_SHOT_SYM = 477, OPEN_SYM = 478, OPTION = 479, OPTIONALLY = 480, OR_SYM = 481, OR_OR_CONCAT = 482, ORDER_SYM = 483, OUTER = 484, OUTFILE = 485, DUMPFILE = 486, PACK_KEYS_SYM = 487, PARTIAL = 488, PRIMARY_SYM = 489, PRIVILEGES = 490, PROCESS = 491, PROCESSLIST_SYM = 492, QUERY_SYM = 493, RAID_0_SYM = 494, RAID_STRIPED_SYM = 495, RAID_TYPE = 496, RAID_CHUNKS = 497, RAID_CHUNKSIZE = 498, READ_SYM = 499, REAL_NUM = 500, REFERENCES = 501, REGEXP = 502, RELOAD = 503, RENAME = 504, REPEATABLE_SYM = 505, REQUIRE_SYM = 506, RESOURCES = 507, RESTORE_SYM = 508, RESTRICT = 509, REVOKE = 510, ROWS_SYM = 511, ROW_FORMAT_SYM = 512, ROW_SYM = 513, RTREE_SYM = 514, SET = 515, SEPARATOR_SYM = 516, SERIAL_SYM = 517, SERIALIZABLE_SYM = 518, SESSION_SYM = 519, SIMPLE_SYM = 520, SHUTDOWN = 521, SPATIAL_SYM = 522, SSL_SYM = 523, STARTING = 524, STATUS_SYM = 525, STORAGE_SYM = 526, STRAIGHT_JOIN = 527, SUBJECT_SYM = 528, TABLES = 529, TABLE_SYM = 530, TABLESPACE = 531, TEMPORARY = 532, TERMINATED = 533, TEXT_STRING = 534, TO_SYM = 535, TRAILING = 536, TRANSACTION_SYM = 537, TRUE_SYM = 538, TYPE_SYM = 539, TYPES_SYM = 540, FUNC_ARG0 = 541, FUNC_ARG1 = 542, FUNC_ARG2 = 543, FUNC_ARG3 = 544, UDF_RETURNS_SYM = 545, UDF_SONAME_SYM = 546, UDF_SYM = 547, UNCOMMITTED_SYM = 548, UNDERSCORE_CHARSET = 549, UNICODE_SYM = 550, UNION_SYM = 551, UNIQUE_SYM = 552, USAGE = 553, USE_FRM = 554, USE_SYM = 555, USING = 556, VALUE_SYM = 557, VALUES = 558, VARIABLES = 559, WHERE = 560, WITH = 561, WRITE_SYM = 562, NO_WRITE_TO_BINLOG = 563, X509_SYM = 564, XOR = 565, COMPRESSED_SYM = 566, ERRORS = 567, WARNINGS = 568, ASCII_SYM = 569, BIGINT = 570, BLOB_SYM = 571, CHAR_SYM = 572, CHANGED = 573, COALESCE = 574, DATETIME = 575, DATE_SYM = 576, DECIMAL_SYM = 577, DOUBLE_SYM = 578, ENUM = 579, FAST_SYM = 580, FLOAT_SYM = 581, GEOMETRY_SYM = 582, INT_SYM = 583, LIMIT = 584, LONGBLOB = 585, LONGTEXT = 586, MEDIUMBLOB = 587, MEDIUMINT = 588, MEDIUMTEXT = 589, NUMERIC_SYM = 590, PRECISION = 591, PREPARE_SYM = 592, DEALLOCATE_SYM = 593, QUICK = 594, REAL = 595, SIGNED_SYM = 596, SMALLINT = 597, STRING_SYM = 598, TEXT_SYM = 599, TIMESTAMP = 600, TIME_SYM = 601, TINYBLOB = 602, TINYINT = 603, TINYTEXT = 604, ULONGLONG_NUM = 605, UNSIGNED = 606, VARBINARY = 607, VARCHAR = 608, VARYING = 609, ZEROFILL = 610, AGAINST = 611, ATAN = 612, BETWEEN_SYM = 613, BIT_AND = 614, BIT_OR = 615, BIT_XOR = 616, CASE_SYM = 617, CONCAT = 618, CONCAT_WS = 619, CONVERT_TZ_SYM = 620, CURDATE = 621, CURTIME = 622, DATABASE = 623, DATE_ADD_INTERVAL = 624, DATE_SUB_INTERVAL = 625, DAY_HOUR_SYM = 626, DAY_MICROSECOND_SYM = 627, DAY_MINUTE_SYM = 628, DAY_SECOND_SYM = 629, DAY_SYM = 630, DECODE_SYM = 631, DES_ENCRYPT_SYM = 632, DES_DECRYPT_SYM = 633, ELSE = 634, ELT_FUNC = 635, ENCODE_SYM = 636, ENGINE_SYM = 637, ENGINES_SYM = 638, ENCRYPT = 639, EXPORT_SET = 640, EXTRACT_SYM = 641, FIELD_FUNC = 642, FORMAT_SYM = 643, FOR_SYM = 644, FROM_UNIXTIME = 645, GEOMCOLLFROMTEXT = 646, GEOMFROMTEXT = 647, GEOMFROMWKB = 648, GEOMETRYCOLLECTION = 649, GROUP_CONCAT_SYM = 650, GROUP_UNIQUE_USERS = 651, GET_FORMAT = 652, HOUR_MICROSECOND_SYM = 653, HOUR_MINUTE_SYM = 654, HOUR_SECOND_SYM = 655, HOUR_SYM = 656, IDENTIFIED_SYM = 657, IF = 658, INSERT_METHOD = 659, INTERVAL_SYM = 660, LAST_INSERT_ID = 661, LEFT = 662, LINEFROMTEXT = 663, LINESTRING = 664, LOCATE = 665, MAKE_SET_SYM = 666, MASTER_POS_WAIT = 667, MICROSECOND_SYM = 668, MINUTE_MICROSECOND_SYM = 669, MINUTE_SECOND_SYM = 670, MINUTE_SYM = 671, MODE_SYM = 672, MODIFY_SYM = 673, MONTH_SYM = 674, MLINEFROMTEXT = 675, MPOINTFROMTEXT = 676, MPOLYFROMTEXT = 677, MULTILINESTRING = 678, MULTIPOINT = 679, MULTIPOLYGON = 680, NOW_SYM = 681, OLD_PASSWORD = 682, PASSWORD = 683, PARAM_MARKER = 684, POINTFROMTEXT = 685, POINT_SYM = 686, POLYFROMTEXT = 687, POLYGON = 688, POSITION_SYM = 689, PROCEDURE = 690, RAND = 691, REPLACE = 692, RIGHT = 693, ROUND = 694, SECOND_SYM = 695, SECOND_MICROSECOND_SYM = 696, SHARE_SYM = 697, SUBDATE_SYM = 698, SUBSTRING = 699, SUBSTRING_INDEX = 700, TRIM = 701, UDA_CHAR_SUM = 702, UDA_FLOAT_SUM = 703, UDA_INT_SUM = 704, UDF_CHAR_FUNC = 705, UDF_FLOAT_FUNC = 706, UDF_INT_FUNC = 707, UNIQUE_USERS = 708, UNIX_TIMESTAMP = 709, USER = 710, UTC_DATE_SYM = 711, UTC_TIME_SYM = 712, UTC_TIMESTAMP_SYM = 713, WEEK_SYM = 714, WHEN_SYM = 715, WORK_SYM = 716, YEAR_MONTH_SYM = 717, YEAR_SYM = 718, YEARWEEK = 719, BENCHMARK_SYM = 720, END = 721, THEN_SYM = 722, SQL_BIG_RESULT = 723, SQL_CACHE_SYM = 724, SQL_CALC_FOUND_ROWS = 725, SQL_NO_CACHE_SYM = 726, SQL_SMALL_RESULT = 727, SQL_BUFFER_RESULT = 728, ISSUER_SYM = 729, CIPHER_SYM = 730, BEFORE_SYM = 731, NEG = 732 }; #endif #define END_OF_INPUT 258 #define CLOSE_SYM 259 #define HANDLER_SYM 260 #define LAST_SYM 261 #define NEXT_SYM 262 #define PREV_SYM 263 #define DIV_SYM 264 #define EQ 265 #define EQUAL_SYM 266 #define SOUNDS_SYM 267 #define GE 268 #define GT_SYM 269 #define LE 270 #define LT 271 #define NE 272 #define IS 273 #define MOD_SYM 274 #define SHIFT_LEFT 275 #define SHIFT_RIGHT 276 #define SET_VAR 277 #define ABORT_SYM 278 #define ADD 279 #define AFTER_SYM 280 #define ALTER 281 #define ANALYZE_SYM 282 #define ANY_SYM 283 #define AVG_SYM 284 #define BEGIN_SYM 285 #define BINLOG_SYM 286 #define CHANGE 287 #define CLIENT_SYM 288 #define COMMENT_SYM 289 #define COMMIT_SYM 290 #define CONSISTENT_SYM 291 #define COUNT_SYM 292 #define CREATE 293 #define CROSS 294 #define CUBE_SYM 295 #define DELETE_SYM 296 #define DUAL_SYM 297 #define DO_SYM 298 #define DROP 299 #define EVENTS_SYM 300 #define EXECUTE_SYM 301 #define EXPANSION_SYM 302 #define FLUSH_SYM 303 #define HELP_SYM 304 #define INSERT 305 #define RELAY_THREAD 306 #define KILL_SYM 307 #define LOAD 308 #define LOCKS_SYM 309 #define LOCK_SYM 310 #define MASTER_SYM 311 #define MAX_SYM 312 #define MIN_SYM 313 #define NONE_SYM 314 #define OPTIMIZE 315 #define PURGE 316 #define REPAIR 317 #define REPLICATION 318 #define RESET_SYM 319 #define ROLLBACK_SYM 320 #define ROLLUP_SYM 321 #define SAVEPOINT_SYM 322 #define SELECT_SYM 323 #define SHOW 324 #define SLAVE 325 #define SNAPSHOT_SYM 326 #define SQL_THREAD 327 #define START_SYM 328 #define STD_SYM 329 #define VARIANCE_SYM 330 #define STOP_SYM 331 #define SUM_SYM 332 #define ADDDATE_SYM 333 #define SUPER_SYM 334 #define TRUNCATE_SYM 335 #define UNLOCK_SYM 336 #define UNTIL_SYM 337 #define UPDATE_SYM 338 #define ACTION 339 #define AGGREGATE_SYM 340 #define ALL 341 #define AND_SYM 342 #define AS 343 #define ASC 344 #define AUTO_INC 345 #define AVG_ROW_LENGTH 346 #define BACKUP_SYM 347 #define BERKELEY_DB_SYM 348 #define BINARY 349 #define BIT_SYM 350 #define BOOL_SYM 351 #define BOOLEAN_SYM 352 #define BOTH 353 #define BTREE_SYM 354 #define BY 355 #define BYTE_SYM 356 #define CACHE_SYM 357 #define CASCADE 358 #define CAST_SYM 359 #define CHARSET 360 #define CHECKSUM_SYM 361 #define CHECK_SYM 362 #define COMMITTED_SYM 363 #define COLLATE_SYM 364 #define COLLATION_SYM 365 #define COLUMNS 366 #define COLUMN_SYM 367 #define CONCURRENT 368 #define CONSTRAINT 369 #define CONVERT_SYM 370 #define CURRENT_USER 371 #define DATABASES 372 #define DATA_SYM 373 #define DEFAULT 374 #define DELAYED_SYM 375 #define DELAY_KEY_WRITE_SYM 376 #define DESC 377 #define DESCRIBE 378 #define DES_KEY_FILE 379 #define DISABLE_SYM 380 #define DISCARD 381 #define DISTINCT 382 #define DUPLICATE_SYM 383 #define DYNAMIC_SYM 384 #define ENABLE_SYM 385 #define ENCLOSED 386 #define ESCAPED 387 #define DIRECTORY_SYM 388 #define ESCAPE_SYM 389 #define EXISTS 390 #define EXTENDED_SYM 391 #define FALSE_SYM 392 #define FILE_SYM 393 #define FIRST_SYM 394 #define FIXED_SYM 395 #define FLOAT_NUM 396 #define FORCE_SYM 397 #define FOREIGN 398 #define FROM 399 #define FULL 400 #define FULLTEXT_SYM 401 #define GLOBAL_SYM 402 #define GRANT 403 #define GRANTS 404 #define GREATEST_SYM 405 #define GROUP 406 #define HAVING 407 #define HASH_SYM 408 #define HEX_NUM 409 #define HIGH_PRIORITY 410 #define HOSTS_SYM 411 #define IDENT 412 #define IDENT_QUOTED 413 #define IGNORE_SYM 414 #define IMPORT 415 #define INDEX_SYM 416 #define INDEXES 417 #define INFILE 418 #define INNER_SYM 419 #define INNOBASE_SYM 420 #define INTO 421 #define IN_SYM 422 #define ISOLATION 423 #define JOIN_SYM 424 #define KEYS 425 #define KEY_SYM 426 #define LEADING 427 #define LEAST_SYM 428 #define LEAVES 429 #define LEVEL_SYM 430 #define LEX_HOSTNAME 431 #define LIKE 432 #define LINES 433 #define LOCAL_SYM 434 #define LOG_SYM 435 #define LOGS_SYM 436 #define LONG_NUM 437 #define LONG_SYM 438 #define LOW_PRIORITY 439 #define MASTER_HOST_SYM 440 #define MASTER_USER_SYM 441 #define MASTER_LOG_FILE_SYM 442 #define MASTER_LOG_POS_SYM 443 #define MASTER_PASSWORD_SYM 444 #define MASTER_PORT_SYM 445 #define MASTER_CONNECT_RETRY_SYM 446 #define MASTER_SERVER_ID_SYM 447 #define MASTER_SSL_SYM 448 #define MASTER_SSL_CA_SYM 449 #define MASTER_SSL_CAPATH_SYM 450 #define MASTER_SSL_CERT_SYM 451 #define MASTER_SSL_CIPHER_SYM 452 #define MASTER_SSL_KEY_SYM 453 #define RELAY_LOG_FILE_SYM 454 #define RELAY_LOG_POS_SYM 455 #define MATCH 456 #define MAX_ROWS 457 #define MAX_CONNECTIONS_PER_HOUR 458 #define MAX_QUERIES_PER_HOUR 459 #define MAX_UPDATES_PER_HOUR 460 #define MEDIUM_SYM 461 #define MIN_ROWS 462 #define NAMES_SYM 463 #define NATIONAL_SYM 464 #define NATURAL 465 #define NDBCLUSTER_SYM 466 #define NEW_SYM 467 #define NCHAR_SYM 468 #define NCHAR_STRING 469 #define NVARCHAR_SYM 470 #define NOT 471 #define NO_SYM 472 #define NULL_SYM 473 #define NUM 474 #define OFFSET_SYM 475 #define ON 476 #define ONE_SHOT_SYM 477 #define OPEN_SYM 478 #define OPTION 479 #define OPTIONALLY 480 #define OR_SYM 481 #define OR_OR_CONCAT 482 #define ORDER_SYM 483 #define OUTER 484 #define OUTFILE 485 #define DUMPFILE 486 #define PACK_KEYS_SYM 487 #define PARTIAL 488 #define PRIMARY_SYM 489 #define PRIVILEGES 490 #define PROCESS 491 #define PROCESSLIST_SYM 492 #define QUERY_SYM 493 #define RAID_0_SYM 494 #define RAID_STRIPED_SYM 495 #define RAID_TYPE 496 #define RAID_CHUNKS 497 #define RAID_CHUNKSIZE 498 #define READ_SYM 499 #define REAL_NUM 500 #define REFERENCES 501 #define REGEXP 502 #define RELOAD 503 #define RENAME 504 #define REPEATABLE_SYM 505 #define REQUIRE_SYM 506 #define RESOURCES 507 #define RESTORE_SYM 508 #define RESTRICT 509 #define REVOKE 510 #define ROWS_SYM 511 #define ROW_FORMAT_SYM 512 #define ROW_SYM 513 #define RTREE_SYM 514 #define SET 515 #define SEPARATOR_SYM 516 #define SERIAL_SYM 517 #define SERIALIZABLE_SYM 518 #define SESSION_SYM 519 #define SIMPLE_SYM 520 #define SHUTDOWN 521 #define SPATIAL_SYM 522 #define SSL_SYM 523 #define STARTING 524 #define STATUS_SYM 525 #define STORAGE_SYM 526 #define STRAIGHT_JOIN 527 #define SUBJECT_SYM 528 #define TABLES 529 #define TABLE_SYM 530 #define TABLESPACE 531 #define TEMPORARY 532 #define TERMINATED 533 #define TEXT_STRING 534 #define TO_SYM 535 #define TRAILING 536 #define TRANSACTION_SYM 537 #define TRUE_SYM 538 #define TYPE_SYM 539 #define TYPES_SYM 540 #define FUNC_ARG0 541 #define FUNC_ARG1 542 #define FUNC_ARG2 543 #define FUNC_ARG3 544 #define UDF_RETURNS_SYM 545 #define UDF_SONAME_SYM 546 #define UDF_SYM 547 #define UNCOMMITTED_SYM 548 #define UNDERSCORE_CHARSET 549 #define UNICODE_SYM 550 #define UNION_SYM 551 #define UNIQUE_SYM 552 #define USAGE 553 #define USE_FRM 554 #define USE_SYM 555 #define USING 556 #define VALUE_SYM 557 #define VALUES 558 #define VARIABLES 559 #define WHERE 560 #define WITH 561 #define WRITE_SYM 562 #define NO_WRITE_TO_BINLOG 563 #define X509_SYM 564 #define XOR 565 #define COMPRESSED_SYM 566 #define ERRORS 567 #define WARNINGS 568 #define ASCII_SYM 569 #define BIGINT 570 #define BLOB_SYM 571 #define CHAR_SYM 572 #define CHANGED 573 #define COALESCE 574 #define DATETIME 575 #define DATE_SYM 576 #define DECIMAL_SYM 577 #define DOUBLE_SYM 578 #define ENUM 579 #define FAST_SYM 580 #define FLOAT_SYM 581 #define GEOMETRY_SYM 582 #define INT_SYM 583 #define LIMIT 584 #define LONGBLOB 585 #define LONGTEXT 586 #define MEDIUMBLOB 587 #define MEDIUMINT 588 #define MEDIUMTEXT 589 #define NUMERIC_SYM 590 #define PRECISION 591 #define PREPARE_SYM 592 #define DEALLOCATE_SYM 593 #define QUICK 594 #define REAL 595 #define SIGNED_SYM 596 #define SMALLINT 597 #define STRING_SYM 598 #define TEXT_SYM 599 #define TIMESTAMP 600 #define TIME_SYM 601 #define TINYBLOB 602 #define TINYINT 603 #define TINYTEXT 604 #define ULONGLONG_NUM 605 #define UNSIGNED 606 #define VARBINARY 607 #define VARCHAR 608 #define VARYING 609 #define ZEROFILL 610 #define AGAINST 611 #define ATAN 612 #define BETWEEN_SYM 613 #define BIT_AND 614 #define BIT_OR 615 #define BIT_XOR 616 #define CASE_SYM 617 #define CONCAT 618 #define CONCAT_WS 619 #define CONVERT_TZ_SYM 620 #define CURDATE 621 #define CURTIME 622 #define DATABASE 623 #define DATE_ADD_INTERVAL 624 #define DATE_SUB_INTERVAL 625 #define DAY_HOUR_SYM 626 #define DAY_MICROSECOND_SYM 627 #define DAY_MINUTE_SYM 628 #define DAY_SECOND_SYM 629 #define DAY_SYM 630 #define DECODE_SYM 631 #define DES_ENCRYPT_SYM 632 #define DES_DECRYPT_SYM 633 #define ELSE 634 #define ELT_FUNC 635 #define ENCODE_SYM 636 #define ENGINE_SYM 637 #define ENGINES_SYM 638 #define ENCRYPT 639 #define EXPORT_SET 640 #define EXTRACT_SYM 641 #define FIELD_FUNC 642 #define FORMAT_SYM 643 #define FOR_SYM 644 #define FROM_UNIXTIME 645 #define GEOMCOLLFROMTEXT 646 #define GEOMFROMTEXT 647 #define GEOMFROMWKB 648 #define GEOMETRYCOLLECTION 649 #define GROUP_CONCAT_SYM 650 #define GROUP_UNIQUE_USERS 651 #define GET_FORMAT 652 #define HOUR_MICROSECOND_SYM 653 #define HOUR_MINUTE_SYM 654 #define HOUR_SECOND_SYM 655 #define HOUR_SYM 656 #define IDENTIFIED_SYM 657 #define IF 658 #define INSERT_METHOD 659 #define INTERVAL_SYM 660 #define LAST_INSERT_ID 661 #define LEFT 662 #define LINEFROMTEXT 663 #define LINESTRING 664 #define LOCATE 665 #define MAKE_SET_SYM 666 #define MASTER_POS_WAIT 667 #define MICROSECOND_SYM 668 #define MINUTE_MICROSECOND_SYM 669 #define MINUTE_SECOND_SYM 670 #define MINUTE_SYM 671 #define MODE_SYM 672 #define MODIFY_SYM 673 #define MONTH_SYM 674 #define MLINEFROMTEXT 675 #define MPOINTFROMTEXT 676 #define MPOLYFROMTEXT 677 #define MULTILINESTRING 678 #define MULTIPOINT 679 #define MULTIPOLYGON 680 #define NOW_SYM 681 #define OLD_PASSWORD 682 #define PASSWORD 683 #define PARAM_MARKER 684 #define POINTFROMTEXT 685 #define POINT_SYM 686 #define POLYFROMTEXT 687 #define POLYGON 688 #define POSITION_SYM 689 #define PROCEDURE 690 #define RAND 691 #define REPLACE 692 #define RIGHT 693 #define ROUND 694 #define SECOND_SYM 695 #define SECOND_MICROSECOND_SYM 696 #define SHARE_SYM 697 #define SUBDATE_SYM 698 #define SUBSTRING 699 #define SUBSTRING_INDEX 700 #define TRIM 701 #define UDA_CHAR_SUM 702 #define UDA_FLOAT_SUM 703 #define UDA_INT_SUM 704 #define UDF_CHAR_FUNC 705 #define UDF_FLOAT_FUNC 706 #define UDF_INT_FUNC 707 #define UNIQUE_USERS 708 #define UNIX_TIMESTAMP 709 #define USER 710 #define UTC_DATE_SYM 711 #define UTC_TIME_SYM 712 #define UTC_TIMESTAMP_SYM 713 #define WEEK_SYM 714 #define WHEN_SYM 715 #define WORK_SYM 716 #define YEAR_MONTH_SYM 717 #define YEAR_SYM 718 #define YEARWEEK 719 #define BENCHMARK_SYM 720 #define END 721 #define THEN_SYM 722 #define SQL_BIG_RESULT 723 #define SQL_CACHE_SYM 724 #define SQL_CALC_FOUND_ROWS 725 #define SQL_NO_CACHE_SYM 726 #define SQL_SMALL_RESULT 727 #define SQL_BUFFER_RESULT 728 #define ISSUER_SYM 729 #define CIPHER_SYM 730 #define BEFORE_SYM 731 #define NEG 732 /* Copy the first part of user declarations. */ #line 19 "sql_yacc.yy" /* thd is passed as an arg to yyparse(), and subsequently to yylex(). ** The type will be void*, so it must be cast to (THD*) when used. ** Use the YYTHD macro for this. */ #define YYPARSE_PARAM yythd #define YYLEX_PARAM yythd #define YYTHD ((THD *)yythd) #define MYSQL_YACC #define YYINITDEPTH 100 #define YYMAXDEPTH 3200 /* Because of 64K stack */ #define Lex (YYTHD->lex) #define Select Lex->current_select #include "mysql_priv.h" #include "slave.h" #include "lex_symbol.h" #include "item_create.h" #include #include int yylex(void *yylval, void *yythd); #define yyoverflow(A,B,C,D,E,F) {ulong val= *(F); if(my_yyoverflow((B), (D), &val)) { yyerror((char*) (A)); return 2; } else { *(F)= (YYSIZE_T)val; }} #define WARN_DEPRECATED(A,B) \ push_warning_printf(((THD *)yythd), MYSQL_ERROR::WARN_LEVEL_WARN, \ ER_WARN_DEPRECATED_SYNTAX, \ ER(ER_WARN_DEPRECATED_SYNTAX), (A), (B)); inline Item *or_or_concat(THD *thd, Item* A, Item* B) { return (thd->variables.sql_mode & MODE_PIPES_AS_CONCAT ? (Item*) new Item_func_concat(A,B) : (Item*) new Item_cond_or(A,B)); } /* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 0 #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) #line 56 "sql_yacc.yy" typedef union YYSTYPE { int num; ulong ulong_num; ulonglong ulonglong_number; LEX_STRING lex_str; LEX_STRING *lex_str_ptr; LEX_SYMBOL symbol; Table_ident *table; char *simple_string; Item *item; Item_num *item_num; List *item_list; List *string_list; String *string; key_part_spec *key_part; TABLE_LIST *table_list; udf_func *udf; LEX_USER *lex_user; struct sys_var_with_base variable; Key::Keytype key_type; enum ha_key_alg key_alg; enum db_type db_type; enum row_type row_type; enum ha_rkey_function ha_rkey_mode; enum enum_tx_isolation tx_isolation; enum Cast_target cast_type; enum Item_udftype udf_type; CHARSET_INFO *charset; thr_lock_type lock_type; interval_type interval; timestamp_type date_time_type; st_select_lex *select_lex; chooser_compare_func_creator boolfunc2creator; } YYSTYPE; /* Line 190 of yacc.c. */ #line 1103 "sql_yacc.cc" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif /* Copy the second part of user declarations. */ #line 91 "sql_yacc.yy" bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize); /* Line 213 of yacc.c. */ #line 1118 "sql_yacc.cc" #if ! defined (yyoverflow) || YYERROR_VERBOSE # ifndef YYFREE # define YYFREE free # endif # ifndef YYMALLOC # define YYMALLOC malloc # endif /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # else # define YYSTACK_ALLOC alloca # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's `empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # else # if defined (__STDC__) || defined (__cplusplus) # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # endif # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # endif #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ #if (! defined (yyoverflow) \ && (! defined (__cplusplus) \ || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { short int yyss; YYSTYPE yyvs; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY # if defined (__GNUC__) && 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else # define YYCOPY(To, From, Count) \ do \ { \ register YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (0) # endif # endif /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack, Stack, yysize); \ Stack = &yyptr->Stack; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) #endif #if defined (__STDC__) || defined (__cplusplus) typedef signed char yysigned_char; #else typedef short int yysigned_char; #endif /* YYFINAL -- State number of the termination state. */ #define YYFINAL 393 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 39430 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 495 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 497 /* YYNRULES -- Number of rules. */ #define YYNRULES 1678 /* YYNRULES -- Number of states. */ #define YYNSTATES 3113 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 732 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ static const unsigned short int 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, 490, 2, 2, 2, 483, 478, 2, 487, 488, 481, 480, 489, 479, 494, 482, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 493, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 484, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 491, 477, 492, 485, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 486 }; #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ static const unsigned short int yyprhs[] = { 0, 0, 3, 5, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 102, 104, 106, 111, 113, 116, 117, 122, 123, 126, 130, 132, 135, 138, 139, 145, 147, 151, 155, 159, 163, 167, 171, 175, 179, 183, 187, 191, 195, 197, 201, 205, 209, 213, 214, 222, 223, 235, 236, 243, 244, 254, 257, 260, 263, 268, 273, 274, 279, 280, 281, 287, 288, 296, 297, 298, 305, 306, 308, 309, 311, 313, 316, 318, 320, 321, 323, 325, 328, 330, 331, 335, 336, 338, 340, 343, 345, 348, 352, 356, 360, 364, 368, 372, 376, 380, 384, 388, 392, 396, 400, 404, 408, 412, 416, 422, 424, 426, 430, 435, 440, 445, 450, 452, 454, 456, 458, 460, 462, 464, 466, 468, 470, 472, 474, 477, 478, 480, 482, 484, 486, 488, 492, 494, 496, 499, 502, 509, 517, 526, 529, 532, 533, 535, 538, 539, 541, 544, 545, 550, 554, 558, 562, 565, 567, 569, 575, 578, 583, 585, 590, 592, 598, 603, 608, 612, 614, 616, 619, 621, 623, 626, 628, 630, 632, 635, 639, 642, 646, 649, 652, 656, 660, 664, 665, 672, 673, 680, 683, 685, 687, 689, 691, 693, 695, 697, 699, 701, 703, 705, 708, 711, 713, 716, 718, 721, 725, 728, 730, 732, 734, 736, 738, 740, 742, 745, 746, 750, 752, 758, 759, 761, 764, 766, 768, 770, 772, 773, 777, 778, 780, 781, 783, 786, 788, 790, 793, 796, 801, 803, 807, 810, 812, 815, 818, 820, 823, 826, 828, 831, 833, 835, 837, 839, 841, 843, 845, 847, 849, 851, 852, 855, 857, 859, 860, 862, 863, 865, 867, 869, 872, 873, 875, 876, 881, 883, 888, 892, 894, 895, 897, 900, 902, 906, 910, 913, 916, 919, 921, 923, 926, 929, 932, 934, 937, 940, 943, 946, 948, 950, 951, 953, 955, 957, 959, 960, 962, 964, 966, 967, 970, 973, 975, 977, 979, 984, 987, 989, 994, 995, 997, 998, 1001, 1003, 1007, 1008, 1015, 1016, 1022, 1023, 1025, 1026, 1029, 1032, 1034, 1038, 1041, 1045, 1048, 1053, 1054, 1061, 1062, 1063, 1072, 1077, 1082, 1086, 1090, 1093, 1096, 1103, 1109, 1113, 1119, 1121, 1123, 1124, 1126, 1127, 1129, 1130, 1132, 1134, 1135, 1138, 1140, 1141, 1143, 1145, 1147, 1148, 1154, 1158, 1159, 1165, 1169, 1173, 1174, 1178, 1179, 1182, 1184, 1188, 1189, 1191, 1193, 1194, 1197, 1199, 1203, 1204, 1211, 1212, 1219, 1220, 1226, 1227, 1229, 1231, 1232, 1239, 1240, 1242, 1244, 1247, 1249, 1251, 1253, 1254, 1261, 1262, 1268, 1269, 1271, 1273, 1276, 1278, 1280, 1282, 1284, 1286, 1287, 1294, 1295, 1297, 1299, 1300, 1305, 1307, 1311, 1315, 1321, 1323, 1327, 1330, 1332, 1334, 1335, 1342, 1344, 1348, 1352, 1353, 1356, 1357, 1362, 1363, 1366, 1368, 1371, 1376, 1379, 1383, 1384, 1388, 1389, 1390, 1397, 1400, 1402, 1404, 1407, 1410, 1419, 1424, 1425, 1427, 1430, 1432, 1434, 1436, 1438, 1440, 1442, 1444, 1446, 1448, 1450, 1452, 1453, 1456, 1461, 1465, 1467, 1469, 1474, 1475, 1476, 1478, 1480, 1481, 1484, 1487, 1489, 1491, 1492, 1495, 1497, 1499, 1501, 1503, 1505, 1507, 1509, 1511, 1513, 1515, 1521, 1528, 1532, 1537, 1543, 1550, 1554, 1558, 1562, 1566, 1571, 1576, 1582, 1586, 1591, 1595, 1600, 1604, 1608, 1613, 1617, 1621, 1625, 1629, 1633, 1637, 1641, 1645, 1649, 1653, 1657, 1661, 1666, 1671, 1677, 1684, 1688, 1692, 1696, 1700, 1705, 1710, 1716, 1720, 1725, 1729, 1734, 1738, 1742, 1747, 1751, 1755, 1759, 1763, 1767, 1771, 1775, 1779, 1783, 1787, 1791, 1795, 1800, 1805, 1807, 1813, 1820, 1824, 1829, 1835, 1842, 1846, 1850, 1854, 1859, 1864, 1870, 1874, 1879, 1883, 1888, 1892, 1896, 1901, 1905, 1909, 1913, 1917, 1921, 1925, 1929, 1933, 1937, 1941, 1945, 1949, 1954, 1959, 1961, 1964, 1966, 1970, 1972, 1974, 1979, 1982, 1988, 1990, 1993, 1996, 1999, 2002, 2005, 2009, 2015, 2022, 2025, 2027, 2032, 2040, 2045, 2048, 2055, 2062, 2069, 2076, 2081, 2086, 2090, 2095, 2102, 2111, 2118, 2127, 2132, 2139, 2144, 2151, 2156, 2161, 2166, 2171, 2178, 2187, 2190, 2193, 2198, 2201, 2209, 2217, 2221, 2226, 2231, 2238, 2245, 2250, 2257, 2264, 2271, 2276, 2283, 2288, 2295, 2304, 2315, 2328, 2335, 2340, 2347, 2354, 2356, 2363, 2368, 2377, 2388, 2393, 2395, 2399, 2404, 2411, 2418, 2427, 2434, 2441, 2446, 2453, 2460, 2469, 2474, 2479, 2486, 2491, 2494, 2499, 2504, 2509, 2516, 2521, 2525, 2534, 2541, 2546, 2553, 2560, 2569, 2574, 2583, 2590, 2599, 2606, 2615, 2620, 2625, 2632, 2637, 2645, 2653, 2661, 2668, 2675, 2682, 2689, 2696, 2701, 2706, 2711, 2716, 2721, 2726, 2737, 2741, 2746, 2750, 2753, 2756, 2759, 2764, 2771, 2776, 2781, 2788, 2795, 2802, 2807, 2814, 2819, 2826, 2831, 2836, 2841, 2846, 2853, 2858, 2865, 2870, 2877, 2882, 2887, 2894, 2899, 2906, 2911, 2918, 2923, 2928, 2935, 2940, 2947, 2948, 2952, 2956, 2957, 2959, 2960, 2963, 2968, 2973, 2978, 2983, 2989, 2994, 2995, 2996, 3004, 3015, 3020, 3025, 3030, 3035, 3040, 3041, 3050, 3051, 3053, 3054, 3057, 3058, 3060, 3061, 3065, 3068, 3072, 3075, 3077, 3080, 3082, 3085, 3087, 3089, 3091, 3092, 3095, 3097, 3101, 3103, 3107, 3108, 3111, 3113, 3117, 3118, 3120, 3121, 3124, 3125, 3128, 3132, 3138, 3140, 3144, 3148, 3152, 3158, 3159, 3168, 3176, 3177, 3188, 3195, 3203, 3204, 3215, 3222, 3227, 3229, 3232, 3235, 3236, 3241, 3252, 3258, 3262, 3265, 3269, 3270, 3271, 3277, 3278, 3280, 3281, 3284, 3287, 3290, 3291, 3297, 3298, 3300, 3304, 3306, 3308, 3310, 3314, 3316, 3318, 3320, 3322, 3324, 3326, 3328, 3330, 3332, 3334, 3336, 3338, 3340, 3342, 3344, 3346, 3348, 3350, 3352, 3354, 3356, 3358, 3359, 3361, 3363, 3364, 3367, 3368, 3370, 3371, 3372, 3376, 3377, 3378, 3382, 3385, 3386, 3387, 3392, 3397, 3400, 3401, 3404, 3407, 3408, 3410, 3411, 3416, 3421, 3424, 3425, 3427, 3429, 3430, 3432, 3433, 3435, 3438, 3440, 3444, 3448, 3449, 3452, 3454, 3456, 3458, 3460, 3462, 3464, 3466, 3468, 3470, 3472, 3473, 3474, 3481, 3482, 3484, 3488, 3490, 3493, 3494, 3497, 3501, 3503, 3506, 3507, 3514, 3518, 3521, 3522, 3526, 3533, 3534, 3541, 3546, 3550, 3551, 3556, 3558, 3562, 3564, 3565, 3568, 3569, 3571, 3572, 3573, 3582, 3583, 3584, 3591, 3592, 3594, 3596, 3598, 3600, 3602, 3605, 3607, 3609, 3611, 3615, 3620, 3621, 3625, 3626, 3630, 3633, 3637, 3639, 3642, 3645, 3646, 3650, 3651, 3657, 3661, 3663, 3667, 3669, 3673, 3675, 3677, 3678, 3680, 3681, 3686, 3687, 3689, 3693, 3695, 3697, 3699, 3700, 3701, 3708, 3709, 3710, 3722, 3726, 3728, 3732, 3736, 3738, 3742, 3743, 3745, 3746, 3751, 3752, 3759, 3760, 3761, 3768, 3769, 3770, 3778, 3780, 3784, 3788, 3794, 3795, 3798, 3799, 3802, 3804, 3806, 3808, 3812, 3813, 3815, 3816, 3820, 3823, 3827, 3832, 3837, 3838, 3843, 3850, 3867, 3870, 3873, 3874, 3881, 3886, 3889, 3892, 3895, 3897, 3903, 3909, 3912, 3915, 3918, 3921, 3924, 3928, 3931, 3934, 3937, 3939, 3941, 3945, 3950, 3954, 3957, 3960, 3962, 3964, 3966, 3968, 3969, 3971, 3972, 3975, 3976, 3979, 3980, 3982, 3984, 3986, 3987, 3990, 3991, 3994, 3995, 4000, 4001, 4006, 4008, 4010, 4011, 4013, 4014, 4016, 4018, 4019, 4024, 4028, 4030, 4031, 4035, 4040, 4043, 4045, 4047, 4049, 4051, 4053, 4055, 4057, 4059, 4060, 4062, 4063, 4067, 4071, 4073, 4075, 4077, 4080, 4081, 4085, 4089, 4092, 4095, 4096, 4100, 4103, 4104, 4120, 4126, 4131, 4132, 4134, 4135, 4137, 4139, 4140, 4142, 4144, 4145, 4148, 4151, 4153, 4157, 4162, 4166, 4170, 4171, 4174, 4177, 4179, 4183, 4187, 4188, 4192, 4194, 4196, 4199, 4202, 4204, 4206, 4208, 4210, 4213, 4216, 4218, 4220, 4222, 4224, 4226, 4228, 4231, 4234, 4237, 4240, 4242, 4244, 4246, 4248, 4250, 4252, 4254, 4258, 4264, 4266, 4268, 4272, 4277, 4283, 4285, 4291, 4295, 4298, 4300, 4304, 4307, 4309, 4311, 4313, 4315, 4317, 4319, 4321, 4323, 4325, 4327, 4329, 4333, 4336, 4338, 4340, 4342, 4344, 4346, 4348, 4350, 4352, 4354, 4356, 4358, 4360, 4362, 4364, 4366, 4368, 4370, 4372, 4374, 4376, 4378, 4380, 4382, 4384, 4386, 4388, 4390, 4392, 4394, 4396, 4398, 4400, 4402, 4404, 4406, 4408, 4410, 4412, 4414, 4416, 4418, 4420, 4422, 4424, 4426, 4428, 4430, 4432, 4434, 4436, 4438, 4440, 4442, 4444, 4446, 4448, 4450, 4452, 4454, 4456, 4458, 4460, 4462, 4464, 4466, 4468, 4470, 4472, 4474, 4476, 4478, 4480, 4482, 4484, 4486, 4488, 4490, 4492, 4494, 4496, 4498, 4500, 4502, 4504, 4506, 4508, 4510, 4512, 4514, 4516, 4518, 4520, 4522, 4524, 4526, 4528, 4530, 4532, 4534, 4536, 4538, 4540, 4542, 4544, 4546, 4548, 4550, 4552, 4554, 4556, 4558, 4560, 4562, 4564, 4566, 4568, 4570, 4572, 4574, 4576, 4578, 4580, 4582, 4584, 4586, 4588, 4590, 4592, 4594, 4596, 4598, 4600, 4602, 4604, 4606, 4608, 4610, 4612, 4614, 4616, 4618, 4620, 4622, 4624, 4626, 4628, 4630, 4632, 4634, 4636, 4638, 4640, 4642, 4644, 4646, 4648, 4650, 4652, 4654, 4656, 4658, 4660, 4662, 4664, 4666, 4668, 4670, 4672, 4674, 4676, 4678, 4680, 4682, 4684, 4686, 4688, 4690, 4692, 4694, 4696, 4698, 4700, 4702, 4704, 4706, 4708, 4710, 4712, 4714, 4716, 4718, 4720, 4722, 4724, 4726, 4728, 4730, 4732, 4734, 4736, 4738, 4740, 4742, 4744, 4746, 4748, 4750, 4752, 4754, 4755, 4760, 4761, 4763, 4765, 4769, 4772, 4775, 4777, 4779, 4781, 4783, 4784, 4786, 4787, 4789, 4791, 4793, 4794, 4797, 4800, 4803, 4807, 4812, 4817, 4824, 4827, 4831, 4835, 4841, 4843, 4847, 4851, 4854, 4857, 4860, 4862, 4864, 4869, 4874, 4876, 4878, 4880, 4882, 4884, 4885, 4890, 4892, 4894, 4896, 4900, 4904, 4906, 4908, 4911, 4914, 4917, 4922, 4926, 4927, 4935, 4937, 4940, 4942, 4944, 4946, 4948, 4950, 4952, 4953, 4959, 4961, 4963, 4965, 4967, 4969, 4970, 4974, 4980, 4988, 4989, 4999, 5001, 5004, 5005, 5007, 5009, 5013, 5014, 5018, 5019, 5023, 5024, 5028, 5029, 5033, 5035, 5037, 5039, 5041, 5043, 5045, 5047, 5049, 5051, 5053, 5055, 5058, 5061, 5063, 5067, 5070, 5073, 5076, 5077, 5079, 5083, 5085, 5088, 5091, 5094, 5096, 5100, 5104, 5106, 5108, 5112, 5117, 5123, 5125, 5126, 5130, 5134, 5136, 5138, 5139, 5142, 5145, 5148, 5151, 5152, 5155, 5158, 5160, 5163, 5166, 5169, 5172, 5173, 5177, 5178, 5180, 5182, 5184, 5189, 5192, 5193, 5195, 5196, 5201, 5203, 5205, 5206, 5207, 5210, 5213, 5215, 5216, 5218, 5220, 5224, 5226, 5230, 5232, 5236, 5238, 5241 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const short int yyrhs[] = { 496, 0, -1, 3, -1, 497, 3, -1, 611, -1, 649, -1, 639, -1, 970, -1, 508, -1, 651, -1, 641, -1, 973, -1, 513, -1, 498, -1, 831, -1, 860, -1, 785, -1, 787, -1, 502, -1, 866, -1, 947, -1, 937, -1, 507, -1, 794, -1, 880, -1, 883, -1, 930, -1, 656, -1, 663, -1, 667, -1, 500, -1, 876, -1, 659, -1, 644, -1, 797, -1, 872, -1, 637, -1, 944, -1, 974, -1, 975, -1, 675, -1, 915, -1, 846, -1, 626, -1, 629, -1, 844, -1, 936, -1, 823, -1, 882, -1, 499, 337, 911, -1, 338, -1, 44, -1, 337, 911, 144, 501, -1, 909, -1, 493, 912, -1, -1, 46, 911, 503, 504, -1, -1, 301, 505, -1, 505, 489, 506, -1, 506, -1, 493, 912, -1, 49, 912, -1, -1, 32, 56, 280, 509, 510, -1, 511, -1, 510, 489, 511, -1, 185, 10, 909, -1, 186, 10, 909, -1, 189, 10, 909, -1, 190, 10, 772, -1, 191, 10, 772, -1, 193, 10, 772, -1, 194, 10, 909, -1, 195, 10, 909, -1, 196, 10, 909, -1, 197, 10, 909, -1, 198, 10, 909, -1, 512, -1, 187, 10, 909, -1, 188, 10, 773, -1, 199, 10, 909, -1, 200, 10, 772, -1, -1, 38, 531, 275, 534, 906, 514, 518, -1, -1, 38, 603, 161, 911, 604, 221, 906, 515, 487, 606, 488, -1, -1, 38, 368, 534, 911, 516, 528, -1, -1, 38, 546, 292, 908, 517, 290, 547, 291, 909, -1, 487, 519, -1, 535, 521, -1, 177, 906, -1, 487, 177, 906, 488, -1, 548, 488, 535, 521, -1, -1, 524, 488, 520, 979, -1, -1, -1, 887, 527, 524, 522, 976, -1, -1, 887, 527, 487, 524, 488, 523, 979, -1, -1, -1, 68, 525, 685, 689, 526, 545, -1, -1, 88, -1, -1, 529, -1, 530, -1, 529, 530, -1, 540, -1, 539, -1, -1, 532, -1, 533, -1, 533, 532, -1, 277, -1, -1, 403, 216, 135, -1, -1, 537, -1, 538, -1, 538, 536, -1, 538, -1, 538, 537, -1, 538, 489, 537, -1, 382, 815, 541, -1, 284, 815, 541, -1, 202, 815, 773, -1, 207, 815, 773, -1, 91, 815, 772, -1, 428, 815, 909, -1, 34, 815, 909, -1, 90, 815, 773, -1, 232, 815, 772, -1, 232, 815, 119, -1, 106, 815, 772, -1, 121, 815, 772, -1, 257, 815, 542, -1, 241, 815, 543, -1, 242, 815, 772, -1, 243, 815, 772, -1, 296, 815, 487, 790, 488, -1, 539, -1, 540, -1, 404, 815, 544, -1, 118, 133, 815, 909, -1, 161, 133, 815, 909, -1, 587, 579, 815, 581, -1, 587, 109, 815, 586, -1, 912, -1, 119, -1, 140, -1, 129, -1, 311, -1, 240, -1, 239, -1, 772, -1, 217, -1, 139, -1, 6, -1, 768, -1, 684, 688, -1, -1, 85, -1, 343, -1, 340, -1, 328, -1, 549, -1, 548, 489, 549, -1, 550, -1, 551, -1, 556, 552, -1, 556, 590, -1, 598, 608, 604, 487, 606, 488, -1, 554, 599, 608, 604, 487, 606, 488, -1, 554, 143, 171, 608, 487, 606, 488, 590, -1, 555, 552, -1, 554, 553, -1, -1, 553, -1, 107, 696, -1, -1, 555, -1, 114, 608, -1, -1, 905, 557, 558, 575, -1, 566, 573, 570, -1, 567, 574, 570, -1, 326, 568, 570, -1, 95, 573, -1, 96, -1, 97, -1, 562, 487, 219, 488, 588, -1, 562, 588, -1, 563, 487, 219, 488, -1, 563, -1, 94, 487, 219, 488, -1, 94, -1, 564, 487, 219, 488, 588, -1, 565, 487, 219, 488, -1, 352, 487, 219, 488, -1, 463, 573, 570, -1, 321, -1, 346, -1, 345, 573, -1, 320, -1, 347, -1, 316, 573, -1, 561, -1, 332, -1, 330, -1, 183, 352, -1, 183, 564, 588, -1, 349, 588, -1, 344, 573, 588, -1, 334, 588, -1, 331, 588, -1, 322, 568, 570, -1, 335, 568, 570, -1, 140, 568, 570, -1, -1, 324, 559, 487, 610, 488, 588, -1, -1, 260, 560, 487, 610, 488, 588, -1, 183, 588, -1, 262, -1, 327, -1, 394, -1, 431, -1, 424, -1, 409, -1, 423, -1, 433, -1, 425, -1, 317, -1, 213, -1, 209, 317, -1, 562, 354, -1, 353, -1, 209, 353, -1, 215, -1, 213, 353, -1, 209, 317, 354, -1, 213, 354, -1, 328, -1, 348, -1, 342, -1, 333, -1, 315, -1, 340, -1, 323, -1, 323, 336, -1, -1, 487, 219, 488, -1, 569, -1, 487, 219, 489, 219, 488, -1, -1, 571, -1, 571, 572, -1, 572, -1, 341, -1, 351, -1, 355, -1, -1, 487, 219, 488, -1, -1, 569, -1, -1, 576, -1, 576, 577, -1, 577, -1, 218, -1, 216, 218, -1, 119, 578, -1, 221, 83, 426, 695, -1, 90, -1, 262, 119, 302, -1, 589, 171, -1, 297, -1, 297, 171, -1, 34, 909, -1, 94, -1, 109, 584, -1, 426, 695, -1, 898, -1, 317, 260, -1, 105, -1, 912, -1, 94, -1, 580, -1, 119, -1, 912, -1, 94, -1, 582, -1, 119, -1, 912, -1, -1, 109, 586, -1, 584, -1, 119, -1, -1, 119, -1, -1, 314, -1, 101, -1, 295, -1, 579, 580, -1, -1, 234, -1, -1, 246, 906, 591, 592, -1, 594, -1, 487, 593, 488, 594, -1, 593, 489, 911, -1, 911, -1, -1, 595, -1, 595, 596, -1, 596, -1, 221, 41, 597, -1, 221, 83, 597, -1, 201, 145, -1, 201, 233, -1, 201, 265, -1, 254, -1, 103, -1, 260, 218, -1, 217, 84, -1, 260, 119, -1, 600, -1, 146, 601, -1, 267, 601, -1, 234, 171, -1, 297, 601, -1, 171, -1, 161, -1, -1, 600, -1, 170, -1, 161, -1, 162, -1, -1, 297, -1, 146, -1, 267, -1, -1, 301, 605, -1, 284, 605, -1, 99, -1, 259, -1, 153, -1, 606, 489, 607, 766, -1, 607, 766, -1, 911, -1, 911, 487, 219, 488, -1, -1, 905, -1, -1, 494, 911, -1, 896, -1, 610, 489, 896, -1, -1, 26, 622, 275, 906, 612, 615, -1, -1, 26, 368, 614, 613, 528, -1, -1, 911, -1, -1, 126, 276, -1, 160, 276, -1, 617, -1, 615, 489, 617, -1, 24, 621, -1, 616, 550, 624, -1, 24, 551, -1, 616, 487, 548, 488, -1, -1, 32, 621, 905, 618, 556, 624, -1, -1, -1, 418, 621, 905, 619, 558, 575, 620, 624, -1, 44, 621, 905, 623, -1, 44, 143, 171, 608, -1, 44, 234, 171, -1, 44, 600, 905, -1, 125, 170, -1, 130, 170, -1, 26, 621, 905, 260, 119, 898, -1, 26, 621, 905, 44, 119, -1, 249, 625, 906, -1, 115, 280, 579, 581, 585, -1, 536, -1, 763, -1, -1, 112, -1, -1, 159, -1, -1, 254, -1, 103, -1, -1, 25, 911, -1, 139, -1, -1, 280, -1, 10, -1, 88, -1, -1, 73, 70, 631, 627, 635, -1, 76, 70, 631, -1, -1, 70, 73, 631, 628, 635, -1, 70, 76, 631, -1, 73, 282, 630, -1, -1, 306, 36, 71, -1, -1, 632, 633, -1, 634, -1, 633, 489, 634, -1, -1, 72, -1, 51, -1, -1, 82, 636, -1, 512, -1, 636, 489, 512, -1, -1, 253, 932, 638, 790, 144, 909, -1, -1, 92, 932, 640, 790, 280, 909, -1, -1, 106, 932, 642, 790, 643, -1, -1, 339, -1, 136, -1, -1, 62, 658, 932, 645, 790, 646, -1, -1, 647, -1, 648, -1, 648, 647, -1, 339, -1, 136, -1, 299, -1, -1, 27, 658, 932, 650, 790, 653, -1, -1, 107, 932, 652, 790, 653, -1, -1, 654, -1, 655, -1, 655, 654, -1, 339, -1, 325, -1, 206, -1, 136, -1, 318, -1, -1, 60, 658, 932, 657, 790, 653, -1, -1, 308, -1, 179, -1, -1, 249, 932, 660, 661, -1, 662, -1, 661, 489, 662, -1, 906, 280, 906, -1, 102, 161, 664, 167, 666, -1, 665, -1, 664, 489, 665, -1, 906, 671, -1, 911, -1, 119, -1, -1, 53, 161, 166, 102, 668, 669, -1, 670, -1, 669, 489, 670, -1, 906, 671, 674, -1, -1, 672, 673, -1, -1, 601, 487, 747, 488, -1, -1, 159, 174, -1, 676, -1, 68, 678, -1, 487, 677, 488, 979, -1, 68, 680, -1, 487, 677, 488, -1, -1, 680, 679, 976, -1, -1, -1, 681, 685, 689, 682, 683, 688, -1, 762, 768, -1, 783, -1, 684, -1, 783, 684, -1, 684, 783, -1, 144, 731, 754, 759, 756, 762, 768, 774, -1, 144, 42, 754, 768, -1, -1, 686, -1, 686, 687, -1, 687, -1, 272, -1, 155, -1, 127, -1, 472, -1, 468, -1, 473, -1, 470, -1, 471, -1, 469, -1, 86, -1, -1, 389, 83, -1, 55, 167, 442, 417, -1, 689, 489, 690, -1, 690, -1, 481, -1, 691, 693, 692, 694, -1, -1, -1, 902, -1, 696, -1, -1, 88, 911, -1, 88, 909, -1, 911, -1, 909, -1, -1, 487, 488, -1, 699, -1, 703, -1, 10, -1, 13, -1, 14, -1, 15, -1, 16, -1, 17, -1, 86, -1, 28, -1, 696, 167, 487, 719, 488, -1, 696, 216, 167, 487, 719, 488, -1, 696, 167, 988, -1, 696, 216, 167, 988, -1, 696, 358, 701, 87, 696, -1, 696, 216, 358, 701, 87, 696, -1, 696, 227, 696, -1, 696, 226, 696, -1, 696, 310, 696, -1, 696, 87, 696, -1, 696, 12, 177, 696, -1, 696, 177, 703, 758, -1, 696, 216, 177, 703, 758, -1, 696, 247, 696, -1, 696, 216, 247, 696, -1, 696, 18, 218, -1, 696, 18, 216, 218, -1, 696, 11, 696, -1, 696, 697, 696, -1, 696, 697, 698, 988, -1, 696, 20, 696, -1, 696, 21, 696, -1, 696, 480, 696, -1, 696, 479, 696, -1, 696, 481, 696, -1, 696, 482, 696, -1, 696, 9, 696, -1, 696, 19, 696, -1, 696, 477, 696, -1, 696, 484, 696, -1, 696, 478, 696, -1, 696, 483, 696, -1, 696, 480, 702, 749, -1, 696, 479, 702, 749, -1, 700, 358, 701, 87, 696, -1, 700, 216, 358, 701, 87, 696, -1, 700, 227, 696, -1, 700, 226, 696, -1, 700, 310, 696, -1, 700, 87, 696, -1, 700, 12, 177, 696, -1, 700, 177, 703, 758, -1, 700, 216, 177, 703, 758, -1, 700, 247, 696, -1, 700, 216, 247, 696, -1, 700, 18, 218, -1, 700, 18, 216, 218, -1, 700, 11, 696, -1, 700, 697, 696, -1, 700, 697, 698, 988, -1, 700, 20, 696, -1, 700, 21, 696, -1, 700, 480, 696, -1, 700, 479, 696, -1, 700, 481, 696, -1, 700, 482, 696, -1, 700, 9, 696, -1, 700, 477, 696, -1, 700, 484, 696, -1, 700, 478, 696, -1, 700, 483, 696, -1, 700, 19, 696, -1, 700, 480, 702, 749, -1, 700, 479, 702, 749, -1, 703, -1, 701, 167, 487, 719, 488, -1, 701, 216, 167, 487, 719, 488, -1, 701, 167, 988, -1, 701, 216, 167, 988, -1, 701, 358, 701, 87, 696, -1, 701, 216, 358, 701, 87, 696, -1, 701, 227, 696, -1, 701, 226, 696, -1, 701, 310, 696, -1, 701, 12, 177, 696, -1, 701, 177, 703, 758, -1, 701, 216, 177, 703, 758, -1, 701, 247, 696, -1, 701, 216, 247, 696, -1, 701, 18, 218, -1, 701, 18, 216, 218, -1, 701, 11, 696, -1, 701, 697, 696, -1, 701, 697, 698, 988, -1, 701, 20, 696, -1, 701, 21, 696, -1, 701, 480, 696, -1, 701, 479, 696, -1, 701, 481, 696, -1, 701, 482, 696, -1, 701, 9, 696, -1, 701, 477, 696, -1, 701, 484, 696, -1, 701, 478, 696, -1, 701, 483, 696, -1, 701, 19, 696, -1, 701, 480, 702, 749, -1, 701, 479, 702, 749, -1, 703, -1, 405, 696, -1, 904, -1, 703, 109, 912, -1, 899, -1, 897, -1, 493, 912, 22, 696, -1, 493, 912, -1, 493, 493, 923, 912, 609, -1, 709, -1, 480, 696, -1, 479, 696, -1, 485, 696, -1, 216, 696, -1, 490, 696, -1, 487, 696, 488, -1, 487, 696, 489, 719, 488, -1, 258, 487, 696, 489, 719, 488, -1, 135, 986, -1, 984, -1, 491, 911, 696, 492, -1, 201, 722, 356, 487, 696, 705, 488, -1, 314, 487, 696, 488, -1, 94, 696, -1, 104, 487, 696, 88, 718, 488, -1, 362, 726, 460, 728, 727, 466, -1, 115, 487, 696, 489, 718, 488, -1, 115, 487, 696, 301, 580, 488, -1, 119, 487, 904, 488, -1, 303, 487, 904, 488, -1, 286, 487, 488, -1, 287, 487, 696, 488, -1, 288, 487, 696, 489, 696, 488, -1, 289, 487, 696, 489, 696, 489, 696, 488, -1, 78, 487, 696, 489, 696, 488, -1, 78, 487, 696, 489, 405, 696, 749, 488, -1, 357, 487, 696, 488, -1, 357, 487, 696, 489, 696, 488, -1, 317, 487, 719, 488, -1, 317, 487, 719, 301, 580, 488, -1, 105, 487, 696, 488, -1, 319, 487, 719, 488, -1, 110, 487, 696, 488, -1, 363, 487, 719, 488, -1, 364, 487, 696, 489, 719, 488, -1, 365, 487, 696, 489, 696, 489, 696, 488, -1, 366, 695, -1, 367, 695, -1, 367, 487, 696, 488, -1, 116, 695, -1, 369, 487, 696, 489, 702, 749, 488, -1, 370, 487, 696, 489, 702, 749, 488, -1, 368, 487, 488, -1, 321, 487, 696, 488, -1, 375, 487, 696, 488, -1, 380, 487, 696, 489, 719, 488, -1, 411, 487, 696, 489, 719, 488, -1, 384, 487, 696, 488, -1, 384, 487, 696, 489, 696, 488, -1, 376, 487, 696, 489, 910, 488, -1, 381, 487, 696, 489, 910, 488, -1, 378, 487, 696, 488, -1, 378, 487, 696, 489, 696, 488, -1, 377, 487, 696, 488, -1, 377, 487, 696, 489, 696, 488, -1, 385, 487, 696, 489, 696, 489, 696, 488, -1, 385, 487, 696, 489, 696, 489, 696, 489, 696, 488, -1, 385, 487, 696, 489, 696, 489, 696, 489, 696, 489, 696, 488, -1, 388, 487, 696, 489, 219, 488, -1, 390, 487, 696, 488, -1, 390, 487, 696, 489, 696, 488, -1, 387, 487, 696, 489, 719, 488, -1, 704, -1, 397, 487, 750, 489, 696, 488, -1, 401, 487, 696, 488, -1, 403, 487, 696, 489, 696, 489, 696, 488, -1, 50, 487, 696, 489, 696, 489, 696, 489, 696, 488, -1, 702, 749, 480, 696, -1, 702, -1, 406, 487, 488, -1, 406, 487, 696, 488, -1, 407, 487, 696, 489, 696, 488, -1, 410, 487, 696, 489, 696, 488, -1, 410, 487, 696, 489, 696, 489, 696, 488, -1, 150, 487, 696, 489, 719, 488, -1, 173, 487, 696, 489, 719, 488, -1, 180, 487, 696, 488, -1, 180, 487, 696, 489, 696, 488, -1, 412, 487, 696, 489, 696, 488, -1, 412, 487, 696, 489, 696, 489, 696, 488, -1, 413, 487, 696, 488, -1, 416, 487, 696, 488, -1, 19, 487, 696, 489, 696, 488, -1, 419, 487, 696, 488, -1, 426, 695, -1, 426, 487, 696, 488, -1, 428, 487, 696, 488, -1, 427, 487, 696, 488, -1, 434, 487, 700, 167, 696, 488, -1, 436, 487, 696, 488, -1, 436, 487, 488, -1, 437, 487, 696, 489, 696, 489, 696, 488, -1, 438, 487, 696, 489, 696, 488, -1, 439, 487, 696, 488, -1, 439, 487, 696, 489, 696, 488, -1, 443, 487, 696, 489, 696, 488, -1, 443, 487, 696, 489, 405, 696, 749, 488, -1, 440, 487, 696, 488, -1, 444, 487, 696, 489, 696, 489, 696, 488, -1, 444, 487, 696, 489, 696, 488, -1, 444, 487, 696, 144, 696, 389, 696, 488, -1, 444, 487, 696, 144, 696, 488, -1, 445, 487, 696, 489, 696, 489, 696, 488, -1, 346, 487, 696, 488, -1, 345, 487, 696, 488, -1, 345, 487, 696, 489, 696, 488, -1, 446, 487, 696, 488, -1, 446, 487, 172, 696, 144, 696, 488, -1, 446, 487, 281, 696, 144, 696, 488, -1, 446, 487, 98, 696, 144, 696, 488, -1, 446, 487, 172, 144, 696, 488, -1, 446, 487, 281, 144, 696, 488, -1, 446, 487, 98, 144, 696, 488, -1, 446, 487, 696, 144, 696, 488, -1, 80, 487, 696, 489, 696, 488, -1, 447, 487, 707, 488, -1, 448, 487, 707, 488, -1, 449, 487, 707, 488, -1, 450, 487, 706, 488, -1, 451, 487, 706, 488, -1, 452, 487, 706, 488, -1, 453, 487, 895, 489, 219, 489, 219, 489, 719, 488, -1, 454, 487, 488, -1, 454, 487, 696, 488, -1, 455, 487, 488, -1, 456, 695, -1, 457, 695, -1, 458, 695, -1, 459, 487, 696, 488, -1, 459, 487, 696, 489, 696, 488, -1, 463, 487, 696, 488, -1, 464, 487, 696, 488, -1, 464, 487, 696, 489, 696, 488, -1, 465, 487, 772, 489, 696, 488, -1, 386, 487, 749, 144, 696, 488, -1, 392, 487, 696, 488, -1, 392, 487, 696, 489, 696, 488, -1, 393, 487, 696, 488, -1, 393, 487, 696, 489, 696, 488, -1, 394, 487, 719, 488, -1, 409, 487, 719, 488, -1, 423, 487, 719, 488, -1, 420, 487, 696, 488, -1, 420, 487, 696, 489, 696, 488, -1, 421, 487, 696, 488, -1, 421, 487, 696, 489, 696, 488, -1, 422, 487, 696, 488, -1, 422, 487, 696, 489, 696, 488, -1, 424, 487, 719, 488, -1, 425, 487, 719, 488, -1, 431, 487, 696, 489, 696, 488, -1, 430, 487, 696, 488, -1, 430, 487, 696, 489, 696, 488, -1, 432, 487, 696, 488, -1, 432, 487, 696, 489, 696, 488, -1, 433, 487, 719, 488, -1, 391, 487, 696, 488, -1, 391, 487, 696, 489, 696, 488, -1, 408, 487, 696, 488, -1, 408, 487, 696, 489, 696, 488, -1, -1, 306, 238, 47, -1, 167, 97, 417, -1, -1, 719, -1, -1, 708, 706, -1, 29, 487, 716, 488, -1, 359, 487, 716, 488, -1, 360, 487, 716, 488, -1, 361, 487, 716, 488, -1, 37, 487, 753, 481, 488, -1, 37, 487, 716, 488, -1, -1, -1, 37, 487, 127, 710, 719, 711, 488, -1, 396, 487, 895, 489, 219, 489, 219, 489, 716, 488, -1, 58, 487, 716, 488, -1, 57, 487, 716, 488, -1, 74, 487, 716, 488, -1, 75, 487, 716, 488, -1, 77, 487, 716, 488, -1, -1, 395, 487, 713, 712, 719, 715, 714, 488, -1, -1, 127, -1, -1, 261, 896, -1, -1, 763, -1, -1, 753, 717, 696, -1, 94, 573, -1, 317, 573, 588, -1, 213, 573, -1, 341, -1, 341, 328, -1, 351, -1, 351, 328, -1, 321, -1, 346, -1, 320, -1, -1, 720, 721, -1, 696, -1, 721, 489, 696, -1, 723, -1, 487, 723, 488, -1, -1, 724, 725, -1, 904, -1, 725, 489, 904, -1, -1, 696, -1, -1, 379, 696, -1, -1, 729, 730, -1, 696, 467, 696, -1, 730, 460, 696, 467, 696, -1, 736, -1, 731, 489, 731, -1, 731, 735, 731, -1, 731, 272, 731, -1, 731, 735, 731, 221, 696, -1, -1, 731, 735, 731, 301, 732, 487, 748, 488, -1, 731, 407, 742, 169, 731, 221, 696, -1, -1, 731, 407, 742, 169, 731, 733, 301, 487, 748, 488, -1, 731, 210, 407, 742, 169, 731, -1, 731, 438, 742, 169, 731, 221, 696, -1, -1, 731, 438, 742, 169, 731, 734, 301, 487, 748, 488, -1, 731, 210, 438, 742, 169, 731, -1, 731, 210, 169, 731, -1, 169, -1, 164, 169, -1, 39, 169, -1, -1, 737, 906, 752, 743, -1, 491, 911, 736, 407, 229, 169, 736, 221, 696, 492, -1, 487, 738, 979, 488, 752, -1, 487, 731, 488, -1, 68, 739, -1, 487, 738, 488, -1, -1, -1, 740, 685, 689, 741, 545, -1, -1, 229, -1, -1, 300, 744, -1, 142, 744, -1, 159, 744, -1, -1, 600, 745, 487, 746, 488, -1, -1, 747, -1, 747, 489, 911, -1, 911, -1, 234, -1, 911, -1, 748, 489, 911, -1, 371, -1, 372, -1, 373, -1, 374, -1, 375, -1, 398, -1, 399, -1, 400, -1, 401, -1, 413, -1, 414, -1, 415, -1, 416, -1, 419, -1, 441, -1, 440, -1, 462, -1, 463, -1, 321, -1, 346, -1, 320, -1, 345, -1, -1, 88, -1, 10, -1, -1, 751, 911, -1, -1, 86, -1, -1, -1, 305, 755, 696, -1, -1, -1, 152, 757, 696, -1, 134, 703, -1, -1, -1, 151, 100, 760, 761, -1, 760, 489, 903, 766, -1, 903, 766, -1, -1, 306, 40, -1, 306, 66, -1, -1, 763, -1, -1, 228, 100, 764, 765, -1, 765, 489, 903, 766, -1, 903, 766, -1, -1, 89, -1, 122, -1, -1, 769, -1, -1, 769, -1, 329, 770, -1, 772, -1, 772, 489, 772, -1, 772, 220, 772, -1, -1, 329, 773, -1, 219, -1, 182, -1, 350, -1, 245, -1, 141, -1, 219, -1, 350, -1, 182, -1, 245, -1, 141, -1, -1, -1, 435, 911, 775, 487, 776, 488, -1, -1, 777, -1, 777, 489, 778, -1, 778, -1, 691, 696, -1, -1, 780, 781, -1, 781, 489, 782, -1, 782, -1, 493, 912, -1, -1, 166, 230, 909, 784, 888, 891, -1, 166, 231, 909, -1, 166, 779, -1, -1, 43, 786, 719, -1, 44, 793, 932, 792, 790, 623, -1, -1, 44, 161, 911, 221, 906, 788, -1, 44, 368, 792, 911, -1, 44, 292, 908, -1, -1, 44, 455, 789, 961, -1, 791, -1, 790, 489, 791, -1, 906, -1, -1, 403, 135, -1, -1, 277, -1, -1, -1, 50, 795, 800, 622, 802, 796, 804, 821, -1, -1, -1, 437, 798, 801, 802, 799, 804, -1, -1, 184, -1, 120, -1, 155, -1, 830, -1, 120, -1, 166, 803, -1, 803, -1, 791, -1, 808, -1, 487, 488, 808, -1, 487, 807, 488, 808, -1, -1, 260, 805, 812, -1, -1, 487, 807, 488, -1, 487, 488, -1, 807, 489, 901, -1, 901, -1, 303, 811, -1, 302, 811, -1, -1, 524, 809, 976, -1, -1, 487, 524, 488, 810, 979, -1, 811, 489, 816, -1, 816, -1, 812, 489, 813, -1, 813, -1, 904, 814, 820, -1, 10, -1, 22, -1, -1, 814, -1, -1, 487, 817, 818, 488, -1, -1, 819, -1, 819, 489, 820, -1, 820, -1, 696, -1, 119, -1, -1, -1, 221, 128, 822, 171, 83, 828, -1, -1, -1, 83, 824, 830, 622, 731, 260, 826, 825, 754, 762, 771, -1, 826, 489, 827, -1, 827, -1, 904, 814, 820, -1, 828, 489, 829, -1, 829, -1, 904, 814, 820, -1, -1, 184, -1, -1, 41, 832, 842, 833, -1, -1, 144, 906, 834, 754, 762, 771, -1, -1, -1, 839, 835, 144, 731, 836, 754, -1, -1, -1, 144, 839, 837, 301, 731, 838, 754, -1, 840, -1, 839, 489, 840, -1, 911, 841, 752, -1, 911, 494, 911, 841, 752, -1, -1, 494, 481, -1, -1, 843, 842, -1, 339, -1, 184, -1, 159, -1, 80, 845, 791, -1, -1, 275, -1, -1, 69, 847, 848, -1, 117, 855, -1, 274, 854, 855, -1, 275, 270, 854, 855, -1, 223, 274, 854, 855, -1, -1, 382, 541, 849, 851, -1, 856, 111, 857, 906, 854, 855, -1, 212, 56, 389, 70, 306, 187, 10, 909, 87, 188, 10, 773, 87, 192, 10, 772, -1, 852, 181, -1, 70, 156, -1, -1, 31, 45, 858, 859, 850, 767, -1, 602, 857, 906, 854, -1, 112, 285, -1, 275, 285, -1, 853, 383, -1, 235, -1, 37, 487, 481, 488, 313, -1, 37, 487, 481, 488, 312, -1, 313, 767, -1, 312, 767, -1, 270, 855, -1, 165, 270, -1, 856, 237, -1, 922, 304, 855, -1, 579, 855, -1, 110, 855, -1, 93, 181, -1, 181, -1, 149, -1, 149, 389, 913, -1, 38, 368, 534, 911, -1, 38, 275, 906, -1, 56, 270, -1, 70, 270, -1, 270, -1, 181, -1, 56, -1, 94, -1, -1, 271, -1, -1, 857, 911, -1, -1, 177, 909, -1, -1, 145, -1, 144, -1, 167, -1, -1, 167, 909, -1, -1, 144, 773, -1, -1, 863, 906, 861, 865, -1, -1, 863, 864, 862, 675, -1, 122, -1, 123, -1, -1, 136, -1, -1, 896, -1, 911, -1, -1, 48, 658, 867, 868, -1, 868, 489, 869, -1, 869, -1, -1, 932, 870, 871, -1, 274, 306, 244, 55, -1, 238, 102, -1, 156, -1, 235, -1, 181, -1, 270, -1, 70, -1, 56, -1, 124, -1, 252, -1, -1, 790, -1, -1, 64, 873, 874, -1, 874, 489, 875, -1, 875, -1, 70, -1, 56, -1, 238, 102, -1, -1, 61, 877, 878, -1, 852, 181, 879, -1, 280, 909, -1, 476, 696, -1, -1, 52, 881, 696, -1, 300, 911, -1, -1, 53, 118, 886, 885, 163, 909, 884, 887, 166, 275, 906, 888, 891, 894, 806, -1, 53, 275, 906, 144, 56, -1, 53, 118, 144, 56, -1, -1, 179, -1, -1, 113, -1, 184, -1, -1, 437, -1, 159, -1, -1, 111, 889, -1, 889, 890, -1, 890, -1, 278, 100, 896, -1, 225, 131, 100, 896, -1, 131, 100, 896, -1, 132, 100, 896, -1, -1, 178, 892, -1, 892, 893, -1, 893, -1, 278, 100, 896, -1, 269, 100, 896, -1, -1, 159, 219, 178, -1, 910, -1, 214, -1, 294, 279, -1, 895, 910, -1, 910, -1, 154, -1, 429, -1, 899, -1, 480, 900, -1, 479, 900, -1, 895, -1, 900, -1, 218, -1, 137, -1, 283, -1, 154, -1, 294, 154, -1, 321, 895, -1, 346, 895, -1, 345, 895, -1, 219, -1, 182, -1, 350, -1, 245, -1, 141, -1, 904, -1, 902, -1, 911, 494, 481, -1, 911, 494, 911, 494, 481, -1, 696, -1, 911, -1, 911, 494, 911, -1, 494, 911, 494, 911, -1, 911, 494, 911, 494, 911, -1, 911, -1, 911, 494, 911, 494, 911, -1, 911, 494, 911, -1, 494, 911, -1, 911, -1, 911, 494, 911, -1, 494, 911, -1, 911, -1, 157, -1, 158, -1, 279, -1, 279, -1, 908, -1, 914, -1, 911, -1, 909, -1, 176, -1, 912, -1, 912, 493, 912, -1, 116, 695, -1, 84, -1, 78, -1, 25, -1, 356, -1, 85, -1, 28, -1, 314, -1, 90, -1, 91, -1, 29, -1, 92, -1, 30, -1, 93, -1, 31, -1, 95, -1, 96, -1, 97, -1, 101, -1, 99, -1, 102, -1, 318, -1, 105, -1, 106, -1, 475, -1, 33, -1, 4, -1, 110, -1, 34, -1, 108, -1, 35, -1, 311, -1, 113, -1, 36, -1, 40, -1, 118, -1, 320, -1, 321, -1, 375, -1, 338, -1, 121, -1, 124, -1, 133, -1, 126, -1, 43, -1, 231, -1, 128, -1, 129, -1, 466, -1, 324, -1, 382, -1, 383, -1, 312, -1, 134, -1, 45, -1, 46, -1, 47, -1, 136, -1, 325, -1, 125, -1, 130, -1, 145, -1, 138, -1, 139, -1, 140, -1, 48, -1, 327, -1, 394, -1, 397, -1, 149, -1, 147, -1, 5, -1, 153, -1, 49, -1, 156, -1, 401, -1, 402, -1, 160, -1, 162, -1, 168, -1, 474, -1, 165, -1, 404, -1, 51, -1, 6, -1, 174, -1, 175, -1, 409, -1, 179, -1, 54, -1, 181, -1, 202, -1, 56, -1, 185, -1, 190, -1, 187, -1, 188, -1, 186, -1, 189, -1, 192, -1, 191, -1, 193, -1, 194, -1, 195, -1, 196, -1, 197, -1, 198, -1, 203, -1, 204, -1, 205, -1, 206, -1, 413, -1, 416, -1, 207, -1, 418, -1, 417, -1, 419, -1, 423, -1, 424, -1, 425, -1, 208, -1, 209, -1, 213, -1, 211, -1, 7, -1, 212, -1, 217, -1, 59, -1, 215, -1, 220, -1, 427, -1, 222, -1, 223, -1, 232, -1, 233, -1, 428, -1, 431, -1, 433, -1, 337, -1, 8, -1, 236, -1, 237, -1, 238, -1, 339, -1, 239, -1, 242, -1, 243, -1, 240, -1, 241, -1, 199, -1, 200, -1, 248, -1, 62, -1, 250, -1, 63, -1, 64, -1, 252, -1, 253, -1, 65, -1, 66, -1, 256, -1, 257, -1, 258, -1, 259, -1, 67, -1, 440, -1, 262, -1, 263, -1, 264, -1, 341, -1, 265, -1, 442, -1, 266, -1, 70, -1, 71, -1, 12, -1, 469, -1, 473, -1, 471, -1, 72, -1, 73, -1, 270, -1, 76, -1, 271, -1, 343, -1, 443, -1, 273, -1, 79, -1, 276, -1, 277, -1, 344, -1, 282, -1, 80, -1, 345, -1, 346, -1, 284, -1, 285, -1, 290, -1, 292, -1, 293, -1, 295, -1, 82, -1, 455, -1, 299, -1, 304, -1, 302, -1, 313, -1, 461, -1, 309, -1, 463, -1, -1, 260, 917, 916, 918, -1, -1, 224, -1, 919, -1, 918, 489, 919, -1, 920, 924, -1, 921, 925, -1, 921, -1, 147, -1, 179, -1, 264, -1, -1, 222, -1, -1, 147, -1, 179, -1, 264, -1, -1, 147, 494, -1, 179, 494, -1, 264, 494, -1, 926, 814, 929, -1, 282, 168, 175, 927, -1, 493, 912, 814, 696, -1, 493, 493, 923, 926, 814, 929, -1, 579, 583, -1, 208, 581, 585, -1, 428, 814, 928, -1, 428, 389, 913, 814, 928, -1, 911, -1, 911, 494, 911, -1, 119, 494, 911, -1, 244, 293, -1, 244, 108, -1, 250, 244, -1, 263, -1, 279, -1, 428, 487, 279, 488, -1, 427, 487, 279, 488, -1, 696, -1, 119, -1, 221, -1, 86, -1, 94, -1, -1, 55, 932, 931, 933, -1, 275, -1, 274, -1, 934, -1, 933, 489, 934, -1, 906, 752, 935, -1, 244, -1, 307, -1, 184, 307, -1, 244, 179, -1, 81, 932, -1, 5, 906, 223, 752, -1, 5, 907, 4, -1, -1, 5, 907, 244, 938, 939, 754, 768, -1, 940, -1, 911, 941, -1, 139, -1, 7, -1, 139, -1, 7, -1, 8, -1, 6, -1, -1, 943, 942, 487, 819, 488, -1, 10, -1, 13, -1, 15, -1, 14, -1, 16, -1, -1, 255, 945, 946, -1, 949, 221, 960, 144, 961, -1, 86, 950, 489, 148, 224, 144, 961, -1, -1, 148, 948, 949, 221, 960, 280, 961, 966, 967, -1, 951, -1, 86, 950, -1, -1, 235, -1, 952, -1, 951, 489, 952, -1, -1, 68, 953, 963, -1, -1, 50, 954, 963, -1, -1, 83, 955, 963, -1, -1, 246, 956, 963, -1, 41, -1, 298, -1, 161, -1, 26, -1, 38, -1, 44, -1, 46, -1, 248, -1, 266, -1, 236, -1, 138, -1, 148, 224, -1, 69, 117, -1, 79, -1, 38, 277, 274, -1, 55, 274, -1, 63, 70, -1, 63, 33, -1, -1, 87, -1, 959, 957, 958, -1, 959, -1, 273, 279, -1, 474, 279, -1, 475, 279, -1, 481, -1, 911, 494, 481, -1, 481, 494, 481, -1, 906, -1, 962, -1, 961, 489, 962, -1, 913, 402, 100, 279, -1, 913, 402, 100, 428, 279, -1, 913, -1, -1, 487, 964, 488, -1, 964, 489, 965, -1, 965, -1, 911, -1, -1, 251, 958, -1, 251, 268, -1, 251, 309, -1, 251, 59, -1, -1, 306, 968, -1, 968, 969, -1, 969, -1, 148, 224, -1, 204, 772, -1, 205, 772, -1, 203, 772, -1, -1, 30, 971, 972, -1, -1, 461, -1, 35, -1, 65, -1, 65, 280, 67, 911, -1, 67, 911, -1, -1, 977, -1, -1, 296, 983, 978, 676, -1, 977, -1, 980, -1, -1, -1, 981, 982, -1, 763, 767, -1, 769, -1, -1, 127, -1, 86, -1, 990, 985, 991, -1, 678, -1, 990, 987, 991, -1, 678, -1, 990, 989, 991, -1, 678, -1, 487, 68, -1, 488, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { 0, 746, 746, 760, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 811, 825, 826, 831, 845, 852, 862, 861, 877, 879, 883, 884, 887, 899, 910, 909, 920, 921, 924, 929, 934, 939, 944, 948, 953, 957, 961, 965, 969, 974, 978, 982, 998, 1002, 1014, 1013, 1037, 1036, 1056, 1055, 1068, 1067, 1083, 1084, 1085, 1091, 1100, 1101, 1101, 1105, 1107, 1106, 1109, 1108, 1114, 1126, 1113, 1134, 1135, 1138, 1139, 1142, 1143, 1146, 1147, 1150, 1151, 1154, 1155, 1158, 1161, 1162, 1164, 1166, 1169, 1170, 1173, 1174, 1175, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1207, 1208, 1209, 1210, 1212, 1215, 1232, 1248, 1258, 1259, 1260, 1261, 1264, 1265, 1266, 1269, 1270, 1271, 1274, 1275, 1278, 1279, 1282, 1283, 1284, 1287, 1288, 1292, 1293, 1297, 1298, 1305, 1311, 1319, 1333, 1337, 1343, 1345, 1349, 1353, 1354, 1358, 1363, 1362, 1384, 1385, 1386, 1387, 1389, 1391, 1393, 1395, 1397, 1400, 1403, 1406, 1409, 1411, 1414, 1417, 1418, 1419, 1420, 1433, 1434, 1436, 1438, 1450, 1452, 1454, 1456, 1457, 1458, 1459, 1460, 1461, 1463, 1465, 1467, 1467, 1469, 1469, 1471, 1472, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1492, 1496, 1497, 1501, 1502, 1506, 1507, 1508, 1509, 1510, 1514, 1515, 1516, 1517, 1518, 1521, 1523, 1524, 1528, 1529, 1530, 1533, 1540, 1541, 1544, 1545, 1548, 1549, 1550, 1553, 1554, 1557, 1558, 1561, 1562, 1565, 1566, 1569, 1570, 1571, 1572, 1574, 1575, 1581, 1587, 1593, 1599, 1600, 1601, 1617, 1618, 1622, 1623, 1627, 1635, 1639, 1640, 1644, 1653, 1657, 1658, 1661, 1671, 1672, 1676, 1677, 1680, 1681, 1684, 1685, 1686, 1687, 1695, 1697, 1699, 1704, 1703, 1715, 1716, 1719, 1720, 1724, 1725, 1728, 1729, 1732, 1733, 1734, 1735, 1736, 1739, 1740, 1741, 1742, 1743, 1746, 1747, 1748, 1760, 1761, 1764, 1765, 1768, 1769, 1773, 1774, 1775, 1778, 1779, 1780, 1781, 1794, 1795, 1796, 1799, 1800, 1804, 1807, 1808, 1811, 1812, 1827, 1828, 1831, 1832, 1835, 1836, 1844, 1843, 1869, 1868, 1882, 1883, 1886, 1887, 1888, 1889, 1890, 1893, 1901, 1902, 1908, 1910, 1909, 1918, 1928, 1917, 1940, 1948, 1949, 1957, 1965, 1966, 1967, 1974, 1982, 1995, 2016, 2022, 2030, 2031, 2034, 2035, 2039, 2040, 2041, 2044, 2045, 2046, 2049, 2050, 2051, 2052, 2060, 2059, 2070, 2078, 2077, 2087, 2097, 2105, 2106, 2113, 2113, 2119, 2120, 2124, 2125, 2126, 2130, 2131, 2147, 2148, 2153, 2152, 2163, 2162, 2173, 2172, 2182, 2183, 2184, 2189, 2188, 2200, 2201, 2204, 2205, 2208, 2209, 2210, 2214, 2213, 2226, 2225, 2236, 2237, 2240, 2241, 2244, 2245, 2246, 2247, 2248, 2252, 2251, 2263, 2264, 2265, 2270, 2269, 2278, 2279, 2282, 2294, 2303, 2304, 2307, 2320, 2321, 2326, 2325, 2335, 2336, 2339, 2352, 2352, 2362, 2363, 2372, 2373, 2382, 2392, 2394, 2397, 2417, 2421, 2420, 2440, 2448, 2440, 2454, 2455, 2456, 2457, 2458, 2461, 2463, 2470, 2472, 2483, 2484, 2487, 2488, 2494, 2495, 2496, 2497, 2503, 2509, 2510, 2514, 2517, 2519, 2525, 2535, 2536, 2537, 2547, 2558, 2561, 2564, 2565, 2568, 2569, 2570, 2571, 2572, 2576, 2577, 2581, 2582, 2585, 2586, 2587, 2588, 2589, 2590, 2593, 2594, 2599, 2601, 2608, 2610, 2614, 2616, 2622, 2623, 2624, 2625, 2626, 2631, 2633, 2635, 2636, 2638, 2639, 2640, 2641, 2642, 2646, 2647, 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2660, 2666, 2668, 2674, 2675, 2676, 2677, 2678, 2683, 2685, 2687, 2688, 2690, 2691, 2692, 2693, 2694, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2710, 2712, 2714, 2718, 2720, 2727, 2729, 2733, 2735, 2741, 2742, 2743, 2744, 2749, 2751, 2753, 2754, 2756, 2757, 2758, 2759, 2760, 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2778, 2780, 2783, 2787, 2788, 2795, 2796, 2797, 2802, 2807, 2818, 2819, 2820, 2821, 2822, 2826, 2830, 2831, 2836, 2841, 2842, 2843, 2844, 2848, 2849, 2853, 2859, 2861, 2867, 2869, 2871, 2873, 2884, 2895, 2906, 2917, 2919, 2921, 2923, 2925, 2927, 2929, 2931, 2933, 2935, 2937, 2939, 2944, 2946, 2948, 2953, 2955, 2957, 2959, 2964, 2966, 2968, 2970, 2972, 2977, 2978, 2980, 2982, 2984, 2986, 2988, 2990, 2992, 2994, 2996, 2998, 3000, 3004, 3006, 3016, 3018, 3020, 3022, 3024, 3027, 3036, 3041, 3046, 3048, 3050, 3052, 3054, 3056, 3058, 3060, 3065, 3070, 3072, 3074, 3076, 3078, 3080, 3082, 3088, 3090, 3092, 3094, 3096, 3098, 3100, 3102, 3103, 3105, 3107, 3109, 3111, 3113, 3115, 3117, 3119, 3121, 3123, 3125, 3127, 3129, 3131, 3133, 3135, 3137, 3139, 3141, 3143, 3150, 3157, 3164, 3171, 3178, 3185, 3189, 3194, 3196, 3198, 3200, 3202, 3204, 3209, 3211, 3213, 3215, 3217, 3222, 3226, 3228, 3230, 3232, 3234, 3238, 3241, 3244, 3246, 3248, 3250, 3252, 3254, 3256, 3259, 3262, 3264, 3266, 3268, 3270, 3272, 3275, 3277, 3279, 3281, 3286, 3287, 3288, 3292, 3293, 3296, 3296, 3311, 3313, 3315, 3317, 3319, 3321, 3324, 3326, 3323, 3329, 3331, 3333, 3335, 3337, 3339, 3342, 3341, 3353, 3354, 3357, 3358, 3363, 3366, 3378, 3377, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3406, 3406, 3411, 3412, 3415, 3416, 3419, 3419, 3424, 3425, 3428, 3429, 3432, 3433, 3436, 3436, 3441, 3447, 3455, 3456, 3457, 3458, 3460, 3464, 3462, 3472, 3475, 3474, 3482, 3488, 3491, 3490, 3498, 3504, 3508, 3509, 3510, 3514, 3514, 3530, 3532, 3544, 3547, 3548, 3564, 3581, 3564, 3588, 3589, 3592, 3593, 3599, 3606, 3614, 3614, 3620, 3621, 3625, 3629, 3633, 3639, 3648, 3656, 3657, 3658, 3659, 3660, 3661, 3662, 3663, 3664, 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3677, 3678, 3679, 3680, 3683, 3685, 3686, 3689, 3690, 3693, 3695, 3699, 3701, 3700, 3714, 3717, 3716, 3731, 3733, 3743, 3745, 3748, 3750, 3754, 3755, 3768, 3785, 3787, 3791, 3790, 3823, 3825, 3829, 3830, 3831, 3836, 3842, 3846, 3847, 3851, 3855, 3862, 3869, 3881, 3885, 3893, 3894, 3895, 3896, 3897, 3901, 3902, 3903, 3904, 3905, 3908, 3911, 3910, 3931, 3932, 3935, 3936, 3939, 3951, 3951, 3961, 3962, 3965, 3975, 3974, 3983, 3995, 4006, 4005, 4022, 4029, 4029, 4040, 4047, 4054, 4053, 4065, 4066, 4069, 4077, 4078, 4082, 4083, 4091, 4101, 4090, 4111, 4119, 4110, 4128, 4129, 4130, 4131, 4135, 4136, 4139, 4140, 4143, 4152, 4153, 4154, 4156, 4155, 4165, 4166, 4167, 4170, 4171, 4174, 4175, 4176, 4176, 4177, 4177, 4181, 4182, 4185, 4187, 4190, 4198, 4199, 4203, 4204, 4209, 4208, 4221, 4222, 4225, 4230, 4238, 4239, 4242, 4244, 4244, 4252, 4261, 4251, 4282, 4283, 4286, 4293, 4294, 4297, 4306, 4307, 4313, 4312, 4326, 4325, 4333, 4334, 4333, 4335, 4336, 4335, 4341, 4342, 4345, 4351, 4362, 4363, 4367, 4368, 4371, 4372, 4373, 4376, 4385, 4387, 4392, 4391, 4402, 4404, 4410, 4417, 4424, 4423, 4426, 4434, 4444, 4448, 4453, 4452, 4457, 4465, 4470, 4476, 4481, 4486, 4488, 4490, 4492, 4494, 4496, 4498, 4500, 4506, 4508, 4510, 4512, 4514, 4537, 4544, 4550, 4556, 4560, 4566, 4580, 4593, 4594, 4596, 4598, 4601, 4602, 4604, 4606, 4611, 4612, 4615, 4616, 4619, 4620, 4623, 4624, 4630, 4629, 4640, 4639, 4649, 4650, 4653, 4654, 4658, 4659, 4660, 4668, 4667, 4678, 4679, 4682, 4682, 4683, 4684, 4685, 4686, 4687, 4688, 4689, 4690, 4691, 4692, 4695, 4696, 4700, 4699, 4708, 4709, 4712, 4713, 4714, 4718, 4717, 4726, 4730, 4735, 4759, 4759, 4772, 4782, 4781, 4800, 4808, 4814, 4815, 4818, 4819, 4820, 4824, 4825, 4826, 4828, 4830, 4833, 4834, 4837, 4842, 4849, 4854, 4860, 4862, 4865, 4866, 4869, 4874, 4880, 4882, 4891, 4896, 4898, 4900, 4905, 4907, 4921, 4936, 4937, 4938, 4947, 4948, 4949, 4951, 4952, 4953, 4954, 4968, 4969, 4970, 4973, 4974, 4975, 4976, 4977, 4985, 4986, 4989, 4994, 5004, 5007, 5015, 5031, 5047, 5070, 5071, 5086, 5096, 5099, 5100, 5101, 5105, 5109, 5110, 5135, 5147, 5160, 5161, 5170, 5171, 5172, 5175, 5184, 5191, 5213, 5214, 5215, 5216, 5217, 5218, 5219, 5220, 5221, 5222, 5223, 5224, 5225, 5226, 5227, 5228, 5229, 5230, 5231, 5232, 5233, 5234, 5235, 5236, 5237, 5238, 5239, 5240, 5241, 5242, 5243, 5244, 5245, 5246, 5247, 5248, 5249, 5250, 5251, 5252, 5253, 5254, 5255, 5256, 5257, 5258, 5259, 5260, 5261, 5262, 5263, 5264, 5265, 5266, 5267, 5268, 5269, 5270, 5271, 5272, 5273, 5274, 5275, 5276, 5277, 5278, 5279, 5280, 5281, 5282, 5283, 5284, 5285, 5286, 5287, 5288, 5289, 5290, 5291, 5292, 5293, 5294, 5295, 5296, 5297, 5298, 5299, 5300, 5301, 5302, 5303, 5304, 5305, 5306, 5307, 5308, 5309, 5310, 5311, 5312, 5313, 5314, 5315, 5316, 5317, 5318, 5319, 5320, 5321, 5322, 5323, 5324, 5325, 5326, 5327, 5328, 5329, 5330, 5331, 5332, 5333, 5334, 5335, 5336, 5337, 5338, 5339, 5340, 5341, 5342, 5343, 5344, 5345, 5346, 5347, 5348, 5349, 5350, 5351, 5352, 5353, 5354, 5355, 5356, 5357, 5358, 5359, 5360, 5361, 5362, 5363, 5364, 5365, 5366, 5367, 5368, 5369, 5370, 5371, 5372, 5373, 5374, 5375, 5376, 5377, 5378, 5379, 5380, 5381, 5382, 5383, 5384, 5385, 5386, 5387, 5388, 5389, 5390, 5391, 5392, 5393, 5394, 5395, 5396, 5397, 5398, 5399, 5400, 5401, 5402, 5403, 5404, 5405, 5406, 5407, 5408, 5409, 5410, 5411, 5412, 5413, 5414, 5415, 5416, 5417, 5418, 5419, 5420, 5421, 5428, 5427, 5441, 5442, 5445, 5446, 5449, 5450, 5454, 5455, 5456, 5457, 5461, 5462, 5466, 5467, 5468, 5469, 5473, 5474, 5475, 5476, 5480, 5486, 5500, 5504, 5510, 5517, 5530, 5540, 5547, 5562, 5577, 5591, 5592, 5593, 5594, 5598, 5599, 5606, 5615, 5616, 5617, 5618, 5619, 5627, 5626, 5635, 5636, 5639, 5640, 5643, 5651, 5652, 5653, 5654, 5658, 5667, 5674, 5682, 5681, 5695, 5696, 5700, 5701, 5705, 5706, 5707, 5708, 5710, 5709, 5720, 5721, 5722, 5723, 5724, 5731, 5730, 5747, 5750, 5758, 5757, 5775, 5776, 5779, 5781, 5785, 5786, 5789, 5789, 5790, 5790, 5791, 5791, 5792, 5792, 5793, 5794, 5795, 5796, 5797, 5798, 5799, 5800, 5801, 5802, 5803, 5804, 5805, 5806, 5807, 5808, 5809, 5810, 5815, 5816, 5820, 5821, 5825, 5835, 5845, 5858, 5870, 5882, 5894, 5906, 5907, 5916, 5941, 5943, 5950, 5954, 5957, 5958, 5961, 5982, 5983, 5987, 5991, 5995, 6002, 6003, 6006, 6007, 6011, 6012, 6017, 6022, 6030, 6030, 6034, 6035, 6039, 6042, 6046, 6052, 6064, 6065, 6070, 6069, 6095, 6096, 6100, 6102, 6102, 6126, 6127, 6131, 6132, 6133, 6137, 6144, 6151, 6158, 6165, 6172, 6178, 6192 }; #endif #if YYDEBUG || YYERROR_VERBOSE /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "END_OF_INPUT", "CLOSE_SYM", "HANDLER_SYM", "LAST_SYM", "NEXT_SYM", "PREV_SYM", "DIV_SYM", "EQ", "EQUAL_SYM", "SOUNDS_SYM", "GE", "GT_SYM", "LE", "LT", "NE", "IS", "MOD_SYM", "SHIFT_LEFT", "SHIFT_RIGHT", "SET_VAR", "ABORT_SYM", "ADD", "AFTER_SYM", "ALTER", "ANALYZE_SYM", "ANY_SYM", "AVG_SYM", "BEGIN_SYM", "BINLOG_SYM", "CHANGE", "CLIENT_SYM", "COMMENT_SYM", "COMMIT_SYM", "CONSISTENT_SYM", "COUNT_SYM", "CREATE", "CROSS", "CUBE_SYM", "DELETE_SYM", "DUAL_SYM", "DO_SYM", "DROP", "EVENTS_SYM", "EXECUTE_SYM", "EXPANSION_SYM", "FLUSH_SYM", "HELP_SYM", "INSERT", "RELAY_THREAD", "KILL_SYM", "LOAD", "LOCKS_SYM", "LOCK_SYM", "MASTER_SYM", "MAX_SYM", "MIN_SYM", "NONE_SYM", "OPTIMIZE", "PURGE", "REPAIR", "REPLICATION", "RESET_SYM", "ROLLBACK_SYM", "ROLLUP_SYM", "SAVEPOINT_SYM", "SELECT_SYM", "SHOW", "SLAVE", "SNAPSHOT_SYM", "SQL_THREAD", "START_SYM", "STD_SYM", "VARIANCE_SYM", "STOP_SYM", "SUM_SYM", "ADDDATE_SYM", "SUPER_SYM", "TRUNCATE_SYM", "UNLOCK_SYM", "UNTIL_SYM", "UPDATE_SYM", "ACTION", "AGGREGATE_SYM", "ALL", "AND_SYM", "AS", "ASC", "AUTO_INC", "AVG_ROW_LENGTH", "BACKUP_SYM", "BERKELEY_DB_SYM", "BINARY", "BIT_SYM", "BOOL_SYM", "BOOLEAN_SYM", "BOTH", "BTREE_SYM", "BY", "BYTE_SYM", "CACHE_SYM", "CASCADE", "CAST_SYM", "CHARSET", "CHECKSUM_SYM", "CHECK_SYM", "COMMITTED_SYM", "COLLATE_SYM", "COLLATION_SYM", "COLUMNS", "COLUMN_SYM", "CONCURRENT", "CONSTRAINT", "CONVERT_SYM", "CURRENT_USER", "DATABASES", "DATA_SYM", "DEFAULT", "DELAYED_SYM", "DELAY_KEY_WRITE_SYM", "DESC", "DESCRIBE", "DES_KEY_FILE", "DISABLE_SYM", "DISCARD", "DISTINCT", "DUPLICATE_SYM", "DYNAMIC_SYM", "ENABLE_SYM", "ENCLOSED", "ESCAPED", "DIRECTORY_SYM", "ESCAPE_SYM", "EXISTS", "EXTENDED_SYM", "FALSE_SYM", "FILE_SYM", "FIRST_SYM", "FIXED_SYM", "FLOAT_NUM", "FORCE_SYM", "FOREIGN", "FROM", "FULL", "FULLTEXT_SYM", "GLOBAL_SYM", "GRANT", "GRANTS", "GREATEST_SYM", "GROUP", "HAVING", "HASH_SYM", "HEX_NUM", "HIGH_PRIORITY", "HOSTS_SYM", "IDENT", "IDENT_QUOTED", "IGNORE_SYM", "IMPORT", "INDEX_SYM", "INDEXES", "INFILE", "INNER_SYM", "INNOBASE_SYM", "INTO", "IN_SYM", "ISOLATION", "JOIN_SYM", "KEYS", "KEY_SYM", "LEADING", "LEAST_SYM", "LEAVES", "LEVEL_SYM", "LEX_HOSTNAME", "LIKE", "LINES", "LOCAL_SYM", "LOG_SYM", "LOGS_SYM", "LONG_NUM", "LONG_SYM", "LOW_PRIORITY", "MASTER_HOST_SYM", "MASTER_USER_SYM", "MASTER_LOG_FILE_SYM", "MASTER_LOG_POS_SYM", "MASTER_PASSWORD_SYM", "MASTER_PORT_SYM", "MASTER_CONNECT_RETRY_SYM", "MASTER_SERVER_ID_SYM", "MASTER_SSL_SYM", "MASTER_SSL_CA_SYM", "MASTER_SSL_CAPATH_SYM", "MASTER_SSL_CERT_SYM", "MASTER_SSL_CIPHER_SYM", "MASTER_SSL_KEY_SYM", "RELAY_LOG_FILE_SYM", "RELAY_LOG_POS_SYM", "MATCH", "MAX_ROWS", "MAX_CONNECTIONS_PER_HOUR", "MAX_QUERIES_PER_HOUR", "MAX_UPDATES_PER_HOUR", "MEDIUM_SYM", "MIN_ROWS", "NAMES_SYM", "NATIONAL_SYM", "NATURAL", "NDBCLUSTER_SYM", "NEW_SYM", "NCHAR_SYM", "NCHAR_STRING", "NVARCHAR_SYM", "NOT", "NO_SYM", "NULL_SYM", "NUM", "OFFSET_SYM", "ON", "ONE_SHOT_SYM", "OPEN_SYM", "OPTION", "OPTIONALLY", "OR_SYM", "OR_OR_CONCAT", "ORDER_SYM", "OUTER", "OUTFILE", "DUMPFILE", "PACK_KEYS_SYM", "PARTIAL", "PRIMARY_SYM", "PRIVILEGES", "PROCESS", "PROCESSLIST_SYM", "QUERY_SYM", "RAID_0_SYM", "RAID_STRIPED_SYM", "RAID_TYPE", "RAID_CHUNKS", "RAID_CHUNKSIZE", "READ_SYM", "REAL_NUM", "REFERENCES", "REGEXP", "RELOAD", "RENAME", "REPEATABLE_SYM", "REQUIRE_SYM", "RESOURCES", "RESTORE_SYM", "RESTRICT", "REVOKE", "ROWS_SYM", "ROW_FORMAT_SYM", "ROW_SYM", "RTREE_SYM", "SET", "SEPARATOR_SYM", "SERIAL_SYM", "SERIALIZABLE_SYM", "SESSION_SYM", "SIMPLE_SYM", "SHUTDOWN", "SPATIAL_SYM", "SSL_SYM", "STARTING", "STATUS_SYM", "STORAGE_SYM", "STRAIGHT_JOIN", "SUBJECT_SYM", "TABLES", "TABLE_SYM", "TABLESPACE", "TEMPORARY", "TERMINATED", "TEXT_STRING", "TO_SYM", "TRAILING", "TRANSACTION_SYM", "TRUE_SYM", "TYPE_SYM", "TYPES_SYM", "FUNC_ARG0", "FUNC_ARG1", "FUNC_ARG2", "FUNC_ARG3", "UDF_RETURNS_SYM", "UDF_SONAME_SYM", "UDF_SYM", "UNCOMMITTED_SYM", "UNDERSCORE_CHARSET", "UNICODE_SYM", "UNION_SYM", "UNIQUE_SYM", "USAGE", "USE_FRM", "USE_SYM", "USING", "VALUE_SYM", "VALUES", "VARIABLES", "WHERE", "WITH", "WRITE_SYM", "NO_WRITE_TO_BINLOG", "X509_SYM", "XOR", "COMPRESSED_SYM", "ERRORS", "WARNINGS", "ASCII_SYM", "BIGINT", "BLOB_SYM", "CHAR_SYM", "CHANGED", "COALESCE", "DATETIME", "DATE_SYM", "DECIMAL_SYM", "DOUBLE_SYM", "ENUM", "FAST_SYM", "FLOAT_SYM", "GEOMETRY_SYM", "INT_SYM", "LIMIT", "LONGBLOB", "LONGTEXT", "MEDIUMBLOB", "MEDIUMINT", "MEDIUMTEXT", "NUMERIC_SYM", "PRECISION", "PREPARE_SYM", "DEALLOCATE_SYM", "QUICK", "REAL", "SIGNED_SYM", "SMALLINT", "STRING_SYM", "TEXT_SYM", "TIMESTAMP", "TIME_SYM", "TINYBLOB", "TINYINT", "TINYTEXT", "ULONGLONG_NUM", "UNSIGNED", "VARBINARY", "VARCHAR", "VARYING", "ZEROFILL", "AGAINST", "ATAN", "BETWEEN_SYM", "BIT_AND", "BIT_OR", "BIT_XOR", "CASE_SYM", "CONCAT", "CONCAT_WS", "CONVERT_TZ_SYM", "CURDATE", "CURTIME", "DATABASE", "DATE_ADD_INTERVAL", "DATE_SUB_INTERVAL", "DAY_HOUR_SYM", "DAY_MICROSECOND_SYM", "DAY_MINUTE_SYM", "DAY_SECOND_SYM", "DAY_SYM", "DECODE_SYM", "DES_ENCRYPT_SYM", "DES_DECRYPT_SYM", "ELSE", "ELT_FUNC", "ENCODE_SYM", "ENGINE_SYM", "ENGINES_SYM", "ENCRYPT", "EXPORT_SET", "EXTRACT_SYM", "FIELD_FUNC", "FORMAT_SYM", "FOR_SYM", "FROM_UNIXTIME", "GEOMCOLLFROMTEXT", "GEOMFROMTEXT", "GEOMFROMWKB", "GEOMETRYCOLLECTION", "GROUP_CONCAT_SYM", "GROUP_UNIQUE_USERS", "GET_FORMAT", "HOUR_MICROSECOND_SYM", "HOUR_MINUTE_SYM", "HOUR_SECOND_SYM", "HOUR_SYM", "IDENTIFIED_SYM", "IF", "INSERT_METHOD", "INTERVAL_SYM", "LAST_INSERT_ID", "LEFT", "LINEFROMTEXT", "LINESTRING", "LOCATE", "MAKE_SET_SYM", "MASTER_POS_WAIT", "MICROSECOND_SYM", "MINUTE_MICROSECOND_SYM", "MINUTE_SECOND_SYM", "MINUTE_SYM", "MODE_SYM", "MODIFY_SYM", "MONTH_SYM", "MLINEFROMTEXT", "MPOINTFROMTEXT", "MPOLYFROMTEXT", "MULTILINESTRING", "MULTIPOINT", "MULTIPOLYGON", "NOW_SYM", "OLD_PASSWORD", "PASSWORD", "PARAM_MARKER", "POINTFROMTEXT", "POINT_SYM", "POLYFROMTEXT", "POLYGON", "POSITION_SYM", "PROCEDURE", "RAND", "REPLACE", "RIGHT", "ROUND", "SECOND_SYM", "SECOND_MICROSECOND_SYM", "SHARE_SYM", "SUBDATE_SYM", "SUBSTRING", "SUBSTRING_INDEX", "TRIM", "UDA_CHAR_SUM", "UDA_FLOAT_SUM", "UDA_INT_SUM", "UDF_CHAR_FUNC", "UDF_FLOAT_FUNC", "UDF_INT_FUNC", "UNIQUE_USERS", "UNIX_TIMESTAMP", "USER", "UTC_DATE_SYM", "UTC_TIME_SYM", "UTC_TIMESTAMP_SYM", "WEEK_SYM", "WHEN_SYM", "WORK_SYM", "YEAR_MONTH_SYM", "YEAR_SYM", "YEARWEEK", "BENCHMARK_SYM", "END", "THEN_SYM", "SQL_BIG_RESULT", "SQL_CACHE_SYM", "SQL_CALC_FOUND_ROWS", "SQL_NO_CACHE_SYM", "SQL_SMALL_RESULT", "SQL_BUFFER_RESULT", "ISSUER_SYM", "CIPHER_SYM", "BEFORE_SYM", "'|'", "'&'", "'-'", "'+'", "'*'", "'/'", "'%'", "'^'", "'~'", "NEG", "'('", "')'", "','", "'!'", "'{'", "'}'", "'@'", "'.'", "$accept", "query", "verb_clause", "deallocate", "deallocate_or_drop", "prepare", "prepare_src", "execute", "@1", "execute_using", "execute_var_list", "execute_var_ident", "help", "change", "@2", "master_defs", "master_def", "master_file_def", "create", "@3", "@4", "@5", "@6", "create2", "create2a", "@7", "create3", "@8", "@9", "create_select", "@10", "@11", "opt_as", "opt_create_database_options", "create_database_options", "create_database_option", "opt_table_options", "table_options", "table_option", "opt_if_not_exists", "opt_create_table_options", "create_table_options_space_separated", "create_table_options", "create_table_option", "default_charset", "default_collation", "storage_engines", "row_types", "raid_types", "merge_insert_types", "opt_select_from", "udf_func_type", "udf_type", "field_list", "field_list_item", "column_def", "key_def", "opt_check_constraint", "check_constraint", "opt_constraint", "constraint", "field_spec", "@12", "type", "@13", "@14", "spatial_type", "char", "nchar", "varchar", "nvarchar", "int_type", "real_type", "float_options", "precision", "field_options", "field_opt_list", "field_option", "opt_len", "opt_precision", "opt_attribute", "opt_attribute_list", "attribute", "now_or_signed_literal", "charset", "charset_name", "charset_name_or_default", "old_or_new_charset_name", "old_or_new_charset_name_or_default", "collation_name", "opt_collate", "collation_name_or_default", "opt_default", "opt_binary", "opt_primary", "references", "@15", "opt_ref_list", "ref_list", "opt_on_delete", "opt_on_delete_list", "opt_on_delete_item", "delete_option", "key_type", "constraint_key_type", "key_or_index", "opt_key_or_index", "keys_or_index", "opt_unique_or_fulltext", "key_alg", "opt_btree_or_rtree", "key_list", "key_part", "opt_ident", "opt_component", "string_list", "alter", "@16", "@17", "ident_or_empty", "alter_list", "add_column", "alter_list_item", "@18", "@19", "@20", "opt_column", "opt_ignore", "opt_restrict", "opt_place", "opt_to", "slave", "@21", "@22", "start", "start_transaction_opts", "slave_thread_opts", "@23", "slave_thread_opt_list", "slave_thread_opt", "slave_until", "slave_until_opts", "restore", "@24", "backup", "@25", "checksum", "@26", "opt_checksum_type", "repair", "@27", "opt_mi_repair_type", "mi_repair_types", "mi_repair_type", "analyze", "@28", "check", "@29", "opt_mi_check_type", "mi_check_types", "mi_check_type", "optimize", "@30", "opt_no_write_to_binlog", "rename", "@31", "table_to_table_list", "table_to_table", "keycache", "keycache_list", "assign_to_keycache", "key_cache_name", "preload", "@32", "preload_list", "preload_keys", "cache_keys_spec", "@33", "cache_key_list_or_empty", "opt_ignore_leaves", "select", "select_init", "select_paren", "select_init2", "@34", "select_part2", "@35", "@36", "select_into", "select_from", "select_options", "select_option_list", "select_option", "select_lock_type", "select_item_list", "select_item", "remember_name", "remember_end", "select_item2", "select_alias", "optional_braces", "expr", "comp_op", "all_or_any", "expr_expr", "no_in_expr", "no_and_expr", "interval_expr", "simple_expr", "geometry_function", "fulltext_options", "udf_expr_list", "udf_sum_expr_list", "@37", "sum_expr", "@38", "@39", "@40", "opt_distinct", "opt_gconcat_separator", "opt_gorder_clause", "in_sum_expr", "@41", "cast_type", "expr_list", "@42", "expr_list2", "ident_list_arg", "ident_list", "@43", "ident_list2", "opt_expr", "opt_else", "when_list", "@44", "when_list2", "join_table_list", "@45", "@46", "@47", "normal_join", "join_table", "@48", "select_derived", "select_derived2", "@49", "@50", "opt_outer", "opt_key_definition", "key_usage_list", "@51", "key_list_or_empty", "key_usage_list2", "using_list", "interval", "date_time_type", "table_alias", "opt_table_alias", "opt_all", "where_clause", "@52", "having_clause", "@53", "opt_escape", "group_clause", "group_list", "olap_opt", "opt_order_clause", "order_clause", "@54", "order_list", "order_dir", "opt_limit_clause_init", "opt_limit_clause", "limit_clause", "limit_options", "delete_limit_clause", "ULONG_NUM", "ulonglong_num", "procedure_clause", "@55", "procedure_list", "procedure_list2", "procedure_item", "select_var_list_init", "@56", "select_var_list", "select_var_ident", "into", "@57", "do", "@58", "drop", "@59", "@60", "table_list", "table_name", "if_exists", "opt_temporary", "insert", "@61", "@62", "replace", "@63", "@64", "insert_lock_option", "replace_lock_option", "insert2", "insert_table", "insert_field_spec", "@65", "opt_field_spec", "fields", "insert_values", "@66", "@67", "values_list", "ident_eq_list", "ident_eq_value", "equal", "opt_equal", "no_braces", "@68", "opt_values", "values", "expr_or_default", "opt_insert_update", "@69", "update", "@70", "@71", "update_list", "update_elem", "insert_update_list", "insert_update_elem", "opt_low_priority", "delete", "@72", "single_multi", "@73", "@74", "@75", "@76", "@77", "table_wild_list", "table_wild_one", "opt_wild", "opt_delete_options", "opt_delete_option", "truncate", "opt_table_sym", "show", "@78", "show_param", "@79", "@80", "show_engine_param", "master_or_binary", "opt_storage", "opt_db", "wild", "opt_full", "from_or_in", "binlog_in", "binlog_from", "describe", "@81", "@82", "describe_command", "opt_extended_describe", "opt_describe_column", "flush", "@83", "flush_options", "flush_option", "@84", "opt_table_list", "reset", "@85", "reset_options", "reset_option", "purge", "@86", "purge_options", "purge_option", "kill", "@87", "use", "load", "@88", "opt_local", "load_data_lock", "opt_duplicate", "opt_field_term", "field_term_list", "field_term", "opt_line_term", "line_term_list", "line_term", "opt_ignore_lines", "text_literal", "text_string", "param_marker", "signed_literal", "literal", "NUM_literal", "insert_ident", "table_wild", "order_ident", "simple_ident", "field_ident", "table_ident", "table_ident_nodb", "IDENT_sys", "TEXT_STRING_sys", "TEXT_STRING_literal", "ident", "ident_or_text", "user", "keyword", "set", "@89", "opt_option", "option_value_list", "option_value_ext", "option_type_ext", "option_type", "opt_var_type", "opt_var_ident_type", "sys_option_value", "option_value", "internal_variable_name", "isolation_types", "text_or_password", "set_expr_or_default", "lock", "@90", "table_or_tables", "table_lock_list", "table_lock", "lock_option", "unlock", "handler", "@91", "handler_read_or_scan", "handler_scan_function", "handler_rkey_function", "@92", "handler_rkey_mode", "revoke", "@93", "revoke_command", "grant", "@94", "grant_privileges", "opt_privileges", "grant_privilege_list", "grant_privilege", "@95", "@96", "@97", "@98", "opt_and", "require_list", "require_list_element", "opt_table", "user_list", "grant_user", "opt_column_list", "column_list", "column_list_id", "require_clause", "grant_options", "grant_option_list", "grant_option", "begin", "@99", "opt_work", "commit", "rollback", "savepoint", "union_clause", "union_list", "@100", "union_opt", "optional_order_or_limit", "@101", "order_or_limit", "union_option", "singlerow_subselect", "singlerow_subselect_init", "exists_subselect", "exists_subselect_init", "in_subselect", "in_subselect_init", "subselect_start", "subselect_end", 0 }; #endif # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ static const unsigned short int yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 124, 38, 45, 43, 42, 47, 37, 94, 126, 732, 40, 41, 44, 33, 123, 125, 64, 46 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned short int yyr1[] = { 0, 495, 496, 496, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 498, 499, 499, 500, 501, 501, 503, 502, 504, 504, 505, 505, 506, 507, 509, 508, 510, 510, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 512, 512, 512, 512, 514, 513, 515, 513, 516, 513, 517, 513, 518, 518, 518, 518, 519, 520, 519, 521, 522, 521, 523, 521, 525, 526, 524, 527, 527, 528, 528, 529, 529, 530, 530, 531, 531, 532, 532, 533, 534, 534, 535, 535, 536, 536, 537, 537, 537, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 539, 540, 541, 542, 542, 542, 542, 543, 543, 543, 544, 544, 544, 545, 545, 546, 546, 547, 547, 547, 548, 548, 549, 549, 550, 550, 551, 551, 551, 551, 551, 552, 552, 553, 554, 554, 555, 557, 556, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 559, 558, 560, 558, 558, 558, 561, 561, 561, 561, 561, 561, 561, 561, 562, 563, 563, 564, 564, 565, 565, 565, 565, 565, 566, 566, 566, 566, 566, 567, 567, 567, 568, 568, 568, 569, 570, 570, 571, 571, 572, 572, 572, 573, 573, 574, 574, 575, 575, 576, 576, 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, 578, 578, 579, 579, 580, 580, 581, 581, 582, 582, 583, 583, 584, 585, 585, 586, 586, 587, 587, 588, 588, 588, 588, 588, 589, 589, 591, 590, 592, 592, 593, 593, 594, 594, 595, 595, 596, 596, 596, 596, 596, 597, 597, 597, 597, 597, 598, 598, 598, 599, 599, 600, 600, 601, 601, 602, 602, 602, 603, 603, 603, 603, 604, 604, 604, 605, 605, 605, 606, 606, 607, 607, 608, 608, 609, 609, 610, 610, 612, 611, 613, 611, 614, 614, 615, 615, 615, 615, 615, 616, 617, 617, 617, 618, 617, 619, 620, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 621, 621, 622, 622, 623, 623, 623, 624, 624, 624, 625, 625, 625, 625, 627, 626, 626, 628, 626, 626, 629, 630, 630, 632, 631, 633, 633, 634, 634, 634, 635, 635, 636, 636, 638, 637, 640, 639, 642, 641, 643, 643, 643, 645, 644, 646, 646, 647, 647, 648, 648, 648, 650, 649, 652, 651, 653, 653, 654, 654, 655, 655, 655, 655, 655, 657, 656, 658, 658, 658, 660, 659, 661, 661, 662, 663, 664, 664, 665, 666, 666, 668, 667, 669, 669, 670, 672, 671, 673, 673, 674, 674, 675, 676, 676, 677, 677, 679, 678, 681, 682, 680, 683, 683, 683, 683, 683, 684, 684, 685, 685, 686, 686, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 688, 688, 688, 689, 689, 689, 690, 691, 692, 693, 693, 694, 694, 694, 694, 694, 695, 695, 696, 696, 697, 697, 697, 697, 697, 697, 698, 698, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 702, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 705, 705, 705, 706, 706, 708, 707, 709, 709, 709, 709, 709, 709, 710, 711, 709, 709, 709, 709, 709, 709, 709, 712, 709, 713, 713, 714, 714, 715, 715, 717, 716, 718, 718, 718, 718, 718, 718, 718, 718, 718, 718, 720, 719, 721, 721, 722, 722, 724, 723, 725, 725, 726, 726, 727, 727, 729, 728, 730, 730, 731, 731, 731, 731, 731, 732, 731, 731, 733, 731, 731, 731, 734, 731, 731, 731, 735, 735, 735, 737, 736, 736, 736, 736, 738, 738, 740, 741, 739, 742, 742, 743, 743, 743, 743, 745, 744, 746, 746, 747, 747, 747, 748, 748, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 750, 750, 750, 750, 751, 751, 751, 752, 752, 753, 753, 754, 755, 754, 756, 757, 756, 758, 758, 759, 759, 760, 760, 761, 761, 761, 762, 762, 764, 763, 765, 765, 766, 766, 766, 767, 767, 768, 768, 769, 770, 770, 770, 771, 771, 772, 772, 772, 772, 772, 773, 773, 773, 773, 773, 774, 775, 774, 776, 776, 777, 777, 778, 780, 779, 781, 781, 782, 784, 783, 783, 783, 786, 785, 787, 788, 787, 787, 787, 789, 787, 790, 790, 791, 792, 792, 793, 793, 795, 796, 794, 798, 799, 797, 800, 800, 800, 800, 801, 801, 802, 802, 803, 804, 804, 804, 805, 804, 806, 806, 806, 807, 807, 808, 808, 809, 808, 810, 808, 811, 811, 812, 812, 813, 814, 814, 815, 815, 817, 816, 818, 818, 819, 819, 820, 820, 821, 822, 821, 824, 825, 823, 826, 826, 827, 828, 828, 829, 830, 830, 832, 831, 834, 833, 835, 836, 833, 837, 838, 833, 839, 839, 840, 840, 841, 841, 842, 842, 843, 843, 843, 844, 845, 845, 847, 846, 848, 848, 848, 848, 849, 848, 848, 848, 848, 848, 850, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 851, 851, 852, 852, 853, 853, 854, 854, 855, 855, 856, 856, 857, 857, 858, 858, 859, 859, 861, 860, 862, 860, 863, 863, 864, 864, 865, 865, 865, 867, 866, 868, 868, 870, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 871, 871, 873, 872, 874, 874, 875, 875, 875, 877, 876, 878, 879, 879, 881, 880, 882, 884, 883, 883, 883, 885, 885, 886, 886, 886, 887, 887, 887, 888, 888, 889, 889, 890, 890, 890, 890, 891, 891, 892, 892, 893, 893, 894, 894, 895, 895, 895, 895, 896, 896, 897, 898, 898, 898, 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, 900, 900, 900, 900, 900, 901, 901, 902, 902, 903, 904, 904, 904, 904, 905, 905, 905, 905, 906, 906, 906, 907, 908, 908, 909, 910, 911, 911, 912, 912, 912, 913, 913, 913, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, 916, 915, 917, 917, 918, 918, 919, 919, 920, 920, 920, 920, 921, 921, 922, 922, 922, 922, 923, 923, 923, 923, 924, 924, 925, 925, 925, 925, 925, 925, 926, 926, 926, 927, 927, 927, 927, 928, 928, 928, 929, 929, 929, 929, 929, 931, 930, 932, 932, 933, 933, 934, 935, 935, 935, 935, 936, 937, 937, 938, 937, 939, 939, 940, 940, 941, 941, 941, 941, 942, 941, 943, 943, 943, 943, 943, 945, 944, 946, 946, 948, 947, 949, 949, 950, 950, 951, 951, 953, 952, 954, 952, 955, 952, 956, 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, 957, 957, 958, 958, 959, 959, 959, 960, 960, 960, 960, 961, 961, 962, 962, 962, 963, 963, 964, 964, 965, 966, 966, 966, 966, 966, 967, 967, 968, 968, 969, 969, 969, 969, 971, 970, 972, 972, 973, 974, 974, 975, 976, 976, 978, 977, 979, 979, 980, 981, 980, 982, 982, 983, 983, 983, 984, 985, 986, 987, 988, 989, 990, 991 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const unsigned char yyr2[] = { 0, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 4, 1, 2, 0, 4, 0, 2, 3, 1, 2, 2, 0, 5, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 0, 7, 0, 11, 0, 6, 0, 9, 2, 2, 2, 4, 4, 0, 4, 0, 0, 5, 0, 7, 0, 0, 6, 0, 1, 0, 1, 1, 2, 1, 1, 0, 1, 1, 2, 1, 0, 3, 0, 1, 1, 2, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 1, 1, 3, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1, 1, 3, 1, 1, 2, 2, 6, 7, 8, 2, 2, 0, 1, 2, 0, 1, 2, 0, 4, 3, 3, 3, 2, 1, 1, 5, 2, 4, 1, 4, 1, 5, 4, 4, 3, 1, 1, 2, 1, 1, 2, 1, 1, 1, 2, 3, 2, 3, 2, 2, 3, 3, 3, 0, 6, 0, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 2, 3, 2, 1, 1, 1, 1, 1, 1, 1, 2, 0, 3, 1, 5, 0, 1, 2, 1, 1, 1, 1, 0, 3, 0, 1, 0, 1, 2, 1, 1, 2, 2, 4, 1, 3, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 1, 1, 0, 1, 0, 1, 1, 1, 2, 0, 1, 0, 4, 1, 4, 3, 1, 0, 1, 2, 1, 3, 3, 2, 2, 2, 1, 1, 2, 2, 2, 1, 2, 2, 2, 2, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 2, 2, 1, 1, 1, 4, 2, 1, 4, 0, 1, 0, 2, 1, 3, 0, 6, 0, 5, 0, 1, 0, 2, 2, 1, 3, 2, 3, 2, 4, 0, 6, 0, 0, 8, 4, 4, 3, 3, 2, 2, 6, 5, 3, 5, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 2, 1, 0, 1, 1, 1, 0, 5, 3, 0, 5, 3, 3, 0, 3, 0, 2, 1, 3, 0, 1, 1, 0, 2, 1, 3, 0, 6, 0, 6, 0, 5, 0, 1, 1, 0, 6, 0, 1, 1, 2, 1, 1, 1, 0, 6, 0, 5, 0, 1, 1, 2, 1, 1, 1, 1, 1, 0, 6, 0, 1, 1, 0, 4, 1, 3, 3, 5, 1, 3, 2, 1, 1, 0, 6, 1, 3, 3, 0, 2, 0, 4, 0, 2, 1, 2, 4, 2, 3, 0, 3, 0, 0, 6, 2, 1, 1, 2, 2, 8, 4, 0, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 4, 3, 1, 1, 4, 0, 0, 1, 1, 0, 2, 2, 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 3, 4, 5, 6, 3, 3, 3, 3, 4, 4, 5, 3, 4, 3, 4, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 5, 6, 3, 3, 3, 3, 4, 4, 5, 3, 4, 3, 4, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 1, 5, 6, 3, 4, 5, 6, 3, 3, 3, 4, 4, 5, 3, 4, 3, 4, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 1, 2, 1, 3, 1, 1, 4, 2, 5, 1, 2, 2, 2, 2, 2, 3, 5, 6, 2, 1, 4, 7, 4, 2, 6, 6, 6, 6, 4, 4, 3, 4, 6, 8, 6, 8, 4, 6, 4, 6, 4, 4, 4, 4, 6, 8, 2, 2, 4, 2, 7, 7, 3, 4, 4, 6, 6, 4, 6, 6, 6, 4, 6, 4, 6, 8, 10, 12, 6, 4, 6, 6, 1, 6, 4, 8, 10, 4, 1, 3, 4, 6, 6, 8, 6, 6, 4, 6, 6, 8, 4, 4, 6, 4, 2, 4, 4, 4, 6, 4, 3, 8, 6, 4, 6, 6, 8, 4, 8, 6, 8, 6, 8, 4, 4, 6, 4, 7, 7, 7, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 10, 3, 4, 3, 2, 2, 2, 4, 6, 4, 4, 6, 6, 6, 4, 6, 4, 6, 4, 4, 4, 4, 6, 4, 6, 4, 6, 4, 4, 6, 4, 6, 4, 6, 4, 4, 6, 4, 6, 0, 3, 3, 0, 1, 0, 2, 4, 4, 4, 4, 5, 4, 0, 0, 7, 10, 4, 4, 4, 4, 4, 0, 8, 0, 1, 0, 2, 0, 1, 0, 3, 2, 3, 2, 1, 2, 1, 2, 1, 1, 1, 0, 2, 1, 3, 1, 3, 0, 2, 1, 3, 0, 1, 0, 2, 0, 2, 3, 5, 1, 3, 3, 3, 5, 0, 8, 7, 0, 10, 6, 7, 0, 10, 6, 4, 1, 2, 2, 0, 4, 10, 5, 3, 2, 3, 0, 0, 5, 0, 1, 0, 2, 2, 2, 0, 5, 0, 1, 3, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 2, 0, 1, 0, 0, 3, 0, 0, 3, 2, 0, 0, 4, 4, 2, 0, 2, 2, 0, 1, 0, 4, 4, 2, 0, 1, 1, 0, 1, 0, 1, 2, 1, 3, 3, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 6, 0, 1, 3, 1, 2, 0, 2, 3, 1, 2, 0, 6, 3, 2, 0, 3, 6, 0, 6, 4, 3, 0, 4, 1, 3, 1, 0, 2, 0, 1, 0, 0, 8, 0, 0, 6, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 3, 4, 0, 3, 0, 3, 2, 3, 1, 2, 2, 0, 3, 0, 5, 3, 1, 3, 1, 3, 1, 1, 0, 1, 0, 4, 0, 1, 3, 1, 1, 1, 0, 0, 6, 0, 0, 11, 3, 1, 3, 3, 1, 3, 0, 1, 0, 4, 0, 6, 0, 0, 6, 0, 0, 7, 1, 3, 3, 5, 0, 2, 0, 2, 1, 1, 1, 3, 0, 1, 0, 3, 2, 3, 4, 4, 0, 4, 6, 16, 2, 2, 0, 6, 4, 2, 2, 2, 1, 5, 5, 2, 2, 2, 2, 2, 3, 2, 2, 2, 1, 1, 3, 4, 3, 2, 2, 1, 1, 1, 1, 0, 1, 0, 2, 0, 2, 0, 1, 1, 1, 0, 2, 0, 2, 0, 4, 0, 4, 1, 1, 0, 1, 0, 1, 1, 0, 4, 3, 1, 0, 3, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 3, 3, 1, 1, 1, 2, 0, 3, 3, 2, 2, 0, 3, 2, 0, 15, 5, 4, 0, 1, 0, 1, 1, 0, 1, 1, 0, 2, 2, 1, 3, 4, 3, 3, 0, 2, 2, 1, 3, 3, 0, 3, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 3, 5, 1, 1, 3, 4, 5, 1, 5, 3, 2, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, 1, 1, 3, 2, 2, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 2, 2, 2, 3, 4, 4, 6, 2, 3, 3, 5, 1, 3, 3, 2, 2, 2, 1, 1, 4, 4, 1, 1, 1, 1, 1, 0, 4, 1, 1, 1, 3, 3, 1, 1, 2, 2, 2, 4, 3, 0, 7, 1, 2, 1, 1, 1, 1, 1, 1, 0, 5, 1, 1, 1, 1, 1, 0, 3, 5, 7, 0, 9, 1, 2, 0, 1, 1, 3, 0, 3, 0, 3, 0, 3, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 3, 2, 2, 2, 0, 1, 3, 1, 2, 2, 2, 1, 3, 3, 1, 1, 3, 4, 5, 1, 0, 3, 3, 1, 1, 0, 2, 2, 2, 2, 0, 2, 2, 1, 2, 2, 2, 2, 0, 3, 0, 1, 1, 1, 4, 2, 0, 1, 0, 4, 1, 1, 0, 0, 2, 2, 1, 0, 1, 1, 3, 1, 3, 1, 3, 1, 2, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ static const unsigned short int yydefact[] = { 0, 2, 0, 398, 463, 1649, 0, 1653, 114, 1087, 1009, 1023, 0, 463, 0, 1025, 1207, 0, 0, 463, 1202, 463, 1195, 1654, 0, 495, 1111, 0, 0, 0, 1109, 0, 1076, 0, 0, 0, 0, 1170, 1171, 1581, 0, 0, 1577, 1503, 0, 0, 50, 1028, 0, 0, 0, 13, 0, 30, 18, 22, 8, 12, 4, 43, 44, 36, 6, 10, 33, 5, 9, 27, 32, 28, 29, 40, 488, 16, 17, 23, 34, 47, 14, 45, 42, 15, 1172, 19, 35, 31, 24, 48, 25, 41, 26, 46, 21, 37, 20, 7, 11, 38, 39, 1317, 1362, 1375, 1415, 1430, 1466, 1294, 1297, 1301, 1303, 1305, 1316, 1319, 1321, 1324, 1325, 1335, 1345, 1346, 1347, 1356, 1364, 1374, 1380, 1383, 1418, 1443, 1445, 1446, 1449, 1450, 1455, 1464, 1465, 1470, 1471, 1473, 1293, 1478, 1483, 1492, 1292, 1296, 1299, 1300, 1302, 1304, 1306, 1307, 1308, 1310, 1309, 1311, 1313, 1314, 1320, 1318, 1323, 1326, 1331, 1332, 1350, 1334, 1337, 1338, 1351, 1333, 1344, 1348, 1353, 1354, 1355, 1352, 1361, 1360, 1363, 1365, 1280, 1281, 1368, 1369, 1372, 1370, 1376, 1377, 1379, 1381, 1384, 1388, 1386, 1387, 1389, 1385, 1391, 1390, 1392, 1393, 1394, 1395, 1396, 1397, 1440, 1441, 1382, 1398, 1399, 1400, 1401, 1404, 1411, 1412, 1414, 1416, 1413, 1419, 1417, 1420, 1422, 1423, 1336, 1424, 1425, 1431, 1432, 1433, 1435, 1438, 1439, 1436, 1437, 1442, 1444, 1447, 1448, 1451, 1452, 1453, 1454, 1457, 1458, 1459, 1461, 1463, 1472, 1474, 1477, 1479, 1480, 1482, 1486, 1487, 1488, 1489, 1490, 1491, 1494, 1496, 1495, 1499, 1322, 1343, 1497, 1298, 1312, 1327, 1328, 1340, 1349, 1357, 1429, 1330, 1434, 1460, 1475, 1481, 1484, 1485, 1295, 1329, 1341, 1342, 1358, 1359, 1366, 1367, 1373, 1378, 1402, 1403, 1406, 1405, 1407, 1408, 1409, 1410, 1421, 1426, 1427, 1428, 1456, 1462, 1476, 1493, 1498, 1500, 1339, 1467, 1469, 1468, 1371, 1315, 0, 0, 0, 1284, 1279, 1285, 399, 368, 0, 465, 464, 0, 1651, 0, 166, 346, 347, 118, 345, 119, 0, 115, 116, 0, 0, 1103, 857, 0, 1024, 0, 1021, 1016, 0, 55, 1177, 1288, 1282, 1287, 1286, 62, 1031, 0, 1216, 0, 0, 1549, 1548, 1546, 0, 0, 0, 0, 0, 1656, 489, 493, 505, 1158, 419, 419, 419, 417, 419, 1110, 0, 1557, 1085, 432, 0, 434, 450, 0, 466, 430, 0, 1504, 1501, 1209, 0, 1085, 495, 0, 0, 1, 3, 0, 1348, 1168, 1166, 1276, 1278, 941, 1559, 1560, 0, 366, 369, 0, 448, 1652, 1650, 63, 0, 0, 119, 117, 0, 0, 1107, 1106, 1105, 0, 1103, 1010, 0, 0, 1015, 0, 0, 0, 1021, 57, 0, 1033, 1034, 1032, 398, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 1293, 1483, 0, 0, 1313, 1318, 0, 535, 0, 0, 1251, 1262, 0, 1253, 0, 0, 1259, 863, 1239, 0, 1250, 1258, 1261, 1453, 1283, 1252, 0, 0, 0, 0, 0, 0, 1298, 0, 0, 1328, 1484, 1485, 1260, 0, 0, 0, 0, 867, 0, 0, 0, 535, 535, 0, 0, 0, 1329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1358, 0, 0, 1359, 1366, 0, 0, 0, 0, 0, 1378, 0, 0, 0, 1402, 1403, 1407, 0, 0, 0, 1408, 1409, 1410, 535, 1421, 1426, 1244, 0, 1427, 0, 1428, 0, 0, 0, 0, 0, 1456, 1476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1493, 535, 535, 535, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1208, 537, 723, 538, 717, 654, 1248, 650, 649, 1249, 647, 1238, 1268, 664, 495, 1217, 0, 1218, 1214, 0, 0, 0, 461, 1150, 1151, 0, 1203, 439, 1200, 1199, 0, 1196, 1198, 0, 1657, 518, 511, 510, 509, 513, 517, 515, 516, 512, 514, 526, 506, 508, 0, 0, 0, 1150, 0, 0, 289, 1156, 0, 1156, 1159, 1516, 1142, 342, 343, 0, 341, 1517, 1141, 0, 0, 1129, 1518, 1156, 1153, 1154, 0, 972, 972, 0, 0, 1156, 0, 1112, 0, 0, 0, 0, 413, 423, 415, 410, 0, 416, 412, 1108, 1020, 1086, 398, 0, 0, 472, 482, 0, 0, 1600, 1601, 1597, 1602, 1603, 1591, 0, 0, 1589, 0, 1610, 1593, 1585, 1607, 0, 1599, 1606, 1595, 1604, 1605, 1598, 0, 1583, 1587, 0, 0, 1585, 1578, 0, 1513, 0, 1036, 0, 1035, 491, 0, 1663, 49, 0, 1174, 943, 942, 0, 1558, 0, 1277, 303, 364, 0, 0, 0, 87, 0, 89, 348, 0, 1088, 1091, 1097, 1101, 1104, 859, 858, 0, 1022, 1014, 535, 1289, 1630, 1017, 1626, 0, 0, 56, 1190, 1189, 1191, 1185, 1187, 1186, 0, 1192, 1188, 1549, 1178, 1180, 1181, 0, 0, 946, 946, 0, 946, 946, 946, 946, 946, 0, 0, 668, 0, 0, 0, 0, 0, 694, 0, 0, 663, 495, 0, 0, 0, 863, 0, 861, 0, 658, 0, 0, 0, 0, 0, 1254, 1240, 0, 0, 857, 857, 0, 0, 1255, 0, 1257, 0, 1256, 0, 946, 946, 946, 868, 0, 857, 0, 0, 691, 0, 692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 857, 839, 0, 0, 0, 0, 646, 0, 0, 0, 857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 857, 857, 857, 0, 739, 0, 0, 0, 0, 0, 857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 820, 820, 820, 857, 857, 857, 0, 0, 0, 780, 781, 782, 0, 0, 0, 0, 656, 655, 657, 1677, 0, 659, 0, 1519, 652, 0, 0, 539, 0, 0, 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 934, 933, 935, 936, 0, 0, 1241, 0, 1672, 0, 1213, 1215, 0, 477, 0, 941, 1547, 1550, 0, 0, 0, 1201, 0, 1655, 1668, 494, 1658, 524, 496, 523, 0, 507, 1162, 0, 0, 119, 1146, 1122, 1147, 1140, 0, 1139, 1126, 1113, 0, 1135, 0, 1154, 1134, 1160, 1161, 1156, 0, 1154, 1127, 0, 1133, 973, 1132, 288, 1117, 152, 1138, 0, 1121, 1128, 0, 1136, 1156, 426, 425, 424, 420, 421, 426, 0, 894, 0, 1018, 0, 0, 474, 484, 436, 452, 0, 1631, 1612, 1614, 1613, 1631, 1609, 1631, 1586, 1584, 1608, 1631, 0, 0, 467, 468, 0, 0, 1584, 0, 1510, 1511, 1514, 1512, 1502, 1505, 0, 1509, 0, 52, 53, 0, 1039, 1029, 1038, 492, 1661, 490, 1662, 0, 1169, 1243, 1167, 1175, 1242, 1176, 945, 1415, 1354, 0, 948, 1562, 304, 367, 303, 110, 113, 112, 0, 303, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 78, 120, 303, 83, 0, 0, 0, 0, 1094, 1089, 1101, 0, 0, 0, 941, 0, 1012, 1291, 0, 0, 0, 400, 0, 58, 60, 1184, 0, 0, 1193, 1026, 0, 947, 0, 845, 828, 0, 845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 536, 0, 1674, 0, 0, 0, 0, 0, 0, 864, 865, 0, 675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 871, 0, 0, 0, 0, 697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 840, 837, 0, 939, 937, 940, 938, 0, 0, 0, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 611, 745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 857, 0, 0, 0, 819, 0, 0, 0, 777, 0, 779, 0, 0, 0, 986, 983, 982, 985, 984, 0, 660, 857, 0, 0, 0, 0, 0, 0, 0, 573, 564, 0, 0, 562, 574, 567, 568, 556, 857, 549, 495, 955, 0, 0, 0, 0, 554, 553, 560, 555, 0, 645, 575, 577, 570, 723, 569, 723, 571, 572, 578, 576, 1297, 545, 565, 0, 0, 648, 1269, 1678, 1671, 0, 0, 1212, 0, 0, 452, 0, 0, 1204, 441, 1197, 1670, 1669, 1659, 526, 963, 527, 529, 528, 1268, 0, 1164, 0, 1145, 0, 1157, 1143, 0, 1156, 1114, 1155, 1156, 976, 977, 0, 1154, 0, 1137, 0, 414, 423, 411, 418, 894, 0, 0, 875, 0, 0, 0, 476, 471, 475, 473, 338, 337, 340, 0, 483, 438, 437, 435, 459, 458, 460, 457, 456, 451, 453, 454, 1611, 0, 1592, 1590, 1594, 1596, 1622, 1625, 1276, 0, 1588, 0, 0, 0, 0, 0, 1513, 0, 1482, 1531, 1507, 0, 0, 0, 0, 0, 1508, 54, 1037, 0, 0, 972, 1667, 1665, 1569, 1567, 1568, 1572, 1573, 1575, 1574, 1576, 1566, 1563, 1570, 949, 974, 111, 1063, 1063, 396, 396, 396, 1063, 396, 1063, 1063, 1063, 0, 0, 1063, 0, 0, 0, 0, 0, 1063, 1063, 1063, 1063, 1063, 1063, 406, 1063, 1063, 1063, 1063, 1063, 396, 1063, 394, 303, 145, 146, 365, 0, 373, 395, 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 121, 0, 351, 353, 352, 350, 349, 0, 0, 948, 0, 1098, 894, 1102, 1101, 1099, 860, 1013, 1290, 0, 1627, 402, 401, 1011, 61, 0, 0, 1179, 1194, 1182, 0, 0, 822, 0, 857, 827, 0, 0, 833, 832, 834, 835, 836, 0, 0, 0, 685, 687, 0, 0, 673, 1673, 857, 857, 731, 0, 862, 0, 0, 857, 676, 0, 0, 674, 667, 0, 683, 686, 698, 759, 0, 758, 681, 0, 823, 824, 825, 869, 0, 688, 857, 0, 693, 0, 0, 699, 0, 708, 0, 706, 0, 857, 0, 702, 0, 0, 0, 857, 0, 714, 0, 811, 0, 790, 0, 792, 0, 794, 857, 0, 0, 719, 0, 725, 0, 813, 0, 795, 0, 857, 0, 735, 736, 738, 797, 0, 799, 0, 801, 0, 796, 803, 804, 740, 742, 741, 806, 0, 0, 808, 0, 810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 744, 0, 0, 748, 0, 752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 761, 770, 821, 771, 772, 773, 774, 775, 0, 778, 783, 0, 785, 786, 0, 0, 0, 665, 1520, 1521, 1522, 360, 651, 1270, 557, 563, 0, 1676, 0, 0, 558, 857, 550, 955, 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 580, 579, 566, 722, 0, 1210, 478, 479, 482, 0, 1553, 1554, 1552, 1551, 462, 1205, 1206, 446, 447, 445, 440, 442, 443, 0, 522, 894, 1000, 519, 500, 974, 964, 499, 530, 0, 1163, 0, 1123, 0, 1144, 0, 1116, 1115, 0, 0, 1149, 1148, 1118, 1125, 1154, 428, 427, 422, 901, 894, 0, 1664, 894, 0, 0, 891, 0, 0, 894, 904, 904, 894, 894, 941, 433, 1019, 0, 455, 1635, 0, 1634, 0, 0, 0, 469, 470, 431, 0, 0, 1506, 0, 0, 0, 1061, 1062, 0, 291, 293, 292, 299, 290, 0, 0, 1519, 0, 295, 297, 296, 1527, 294, 103, 1043, 0, 0, 0, 1052, 1030, 1040, 965, 1666, 0, 0, 1561, 975, 1064, 0, 0, 397, 358, 339, 339, 377, 0, 181, 358, 332, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063, 0, 388, 371, 389, 372, 1063, 0, 0, 0, 0, 0, 0, 408, 409, 407, 0, 0, 0, 0, 0, 0, 0, 0, 124, 303, 184, 0, 403, 181, 187, 1272, 67, 68, 79, 991, 989, 987, 990, 988, 80, 69, 70, 71, 72, 73, 74, 75, 76, 77, 81, 82, 66, 0, 184, 84, 1219, 122, 125, 169, 168, 167, 0, 85, 894, 963, 1101, 1092, 0, 941, 1628, 0, 59, 1183, 1073, 0, 846, 829, 826, 0, 0, 0, 0, 266, 266, 266, 856, 854, 850, 855, 852, 0, 0, 0, 0, 0, 0, 815, 866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 603, 594, 0, 0, 592, 608, 597, 598, 586, 0, 955, 0, 0, 0, 584, 583, 590, 585, 0, 604, 606, 600, 723, 599, 723, 601, 602, 607, 605, 595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 661, 0, 653, 547, 1675, 954, 0, 559, 0, 637, 628, 0, 0, 626, 642, 631, 632, 551, 857, 614, 955, 0, 0, 0, 0, 619, 618, 624, 620, 0, 638, 640, 634, 723, 633, 723, 635, 636, 641, 639, 629, 0, 1271, 1219, 0, 486, 1555, 1556, 444, 1660, 948, 948, 0, 0, 1008, 0, 0, 0, 497, 502, 498, 501, 0, 525, 534, 533, 1265, 1269, 1165, 972, 1131, 1130, 0, 979, 978, 1156, 0, 899, 505, 1664, 898, 0, 0, 893, 892, 894, 904, 904, 1077, 1080, 0, 878, 905, 0, 0, 876, 877, 906, 916, 0, 915, 1632, 0, 1624, 1623, 1636, 0, 1579, 1533, 0, 1532, 1544, 1545, 1542, 1543, 1541, 1523, 0, 1528, 0, 1538, 0, 0, 1529, 0, 0, 505, 0, 1065, 1051, 1057, 1050, 0, 0, 0, 1049, 1264, 1263, 1657, 0, 0, 950, 302, 301, 151, 298, 150, 186, 359, 333, 334, 0, 0, 0, 339, 180, 358, 179, 182, 348, 0, 379, 134, 358, 386, 387, 400, 135, 132, 138, 0, 0, 139, 0, 130, 131, 137, 136, 158, 157, 141, 159, 142, 143, 392, 153, 155, 154, 156, 140, 129, 0, 128, 162, 161, 160, 147, 381, 133, 374, 0, 170, 172, 173, 1275, 0, 405, 376, 0, 174, 175, 0, 0, 93, 0, 91, 0, 0, 1221, 1220, 92, 106, 303, 126, 0, 0, 1095, 980, 948, 1100, 1629, 0, 1027, 737, 0, 0, 646, 679, 769, 0, 847, 849, 305, 851, 853, 669, 672, 671, 729, 730, 732, 0, 0, 0, 662, 677, 0, 684, 760, 682, 870, 670, 0, 0, 689, 0, 0, 0, 704, 709, 707, 700, 705, 703, 0, 789, 716, 713, 715, 812, 791, 793, 841, 844, 0, 718, 0, 726, 814, 727, 0, 701, 733, 0, 798, 800, 802, 807, 805, 809, 587, 593, 743, 588, 955, 591, 0, 0, 610, 609, 596, 0, 747, 749, 646, 750, 0, 756, 754, 0, 0, 767, 0, 765, 0, 766, 0, 768, 0, 784, 787, 788, 361, 548, 552, 621, 627, 0, 622, 857, 615, 955, 625, 0, 0, 644, 643, 630, 0, 480, 0, 481, 974, 956, 1005, 1007, 0, 1001, 1003, 0, 520, 532, 531, 0, 1124, 0, 1119, 429, 526, 900, 941, 0, 890, 0, 0, 0, 948, 0, 894, 894, 0, 880, 0, 0, 0, 895, 485, 0, 1633, 0, 1641, 0, 0, 0, 1537, 1524, 300, 0, 0, 0, 0, 1525, 526, 1044, 1059, 0, 1067, 0, 0, 1041, 1054, 0, 0, 1053, 1267, 966, 969, 1072, 1071, 0, 1070, 183, 358, 335, 336, 348, 0, 0, 0, 0, 385, 384, 299, 148, 149, 0, 0, 378, 184, 404, 312, 200, 266, 193, 194, 255, 305, 0, 238, 243, 225, 228, 251, 266, 237, 208, 205, 255, 253, 223, 255, 229, 247, 213, 305, 212, 250, 305, 255, 252, 249, 266, 266, 206, 209, 248, 305, 0, 241, 230, 233, 234, 232, 236, 231, 235, 266, 270, 211, 305, 198, 0, 0, 266, 268, 1274, 0, 96, 121, 107, 0, 127, 90, 0, 948, 0, 1090, 1093, 1074, 830, 0, 0, 0, 307, 308, 306, 0, 848, 0, 0, 666, 0, 873, 0, 0, 695, 696, 0, 0, 0, 0, 0, 0, 0, 589, 0, 581, 0, 0, 0, 0, 0, 764, 762, 763, 0, 612, 0, 623, 0, 616, 0, 487, 504, 0, 951, 1222, 1004, 0, 0, 1266, 0, 902, 897, 0, 894, 894, 1079, 963, 1081, 883, 887, 879, 0, 910, 908, 909, 907, 914, 1640, 1638, 0, 1639, 0, 0, 1637, 1615, 0, 1582, 1580, 1535, 1534, 1536, 1530, 0, 0, 0, 104, 0, 0, 0, 1068, 1056, 1663, 1042, 1048, 0, 970, 971, 968, 1571, 0, 0, 0, 0, 391, 0, 403, 393, 144, 270, 171, 318, 0, 192, 0, 259, 257, 237, 214, 0, 305, 227, 239, 242, 244, 246, 0, 210, 259, 254, 0, 259, 219, 218, 259, 305, 207, 216, 0, 259, 0, 278, 284, 0, 0, 0, 274, 0, 311, 0, 281, 188, 271, 273, 0, 240, 0, 196, 0, 0, 0, 259, 0, 269, 259, 0, 94, 1664, 1219, 0, 99, 0, 969, 356, 1096, 981, 0, 0, 680, 267, 309, 817, 816, 678, 0, 690, 710, 0, 842, 838, 946, 720, 728, 734, 582, 746, 751, 755, 753, 757, 857, 613, 617, 0, 0, 952, 963, 0, 1230, 1002, 521, 0, 974, 894, 885, 889, 980, 0, 0, 0, 0, 0, 0, 1619, 1620, 1621, 1616, 0, 0, 0, 0, 0, 1642, 1644, 1540, 1539, 1526, 974, 1058, 1060, 1066, 1055, 969, 1069, 0, 0, 0, 0, 0, 0, 0, 0, 390, 1245, 380, 382, 0, 0, 0, 313, 314, 319, 321, 0, 0, 263, 264, 265, 222, 260, 262, 215, 245, 0, 220, 0, 191, 221, 217, 0, 204, 283, 285, 535, 276, 287, 275, 0, 0, 282, 272, 280, 0, 0, 0, 0, 189, 0, 190, 1273, 97, 95, 0, 1657, 86, 0, 355, 0, 0, 0, 874, 0, 0, 0, 1222, 960, 969, 0, 974, 0, 0, 0, 0, 1223, 1225, 0, 1006, 0, 903, 519, 163, 0, 1078, 882, 0, 886, 0, 0, 917, 912, 1617, 1645, 1648, 1646, 1647, 1643, 105, 967, 0, 0, 176, 1247, 1246, 403, 324, 325, 326, 0, 0, 0, 317, 320, 199, 256, 0, 261, 0, 362, 0, 203, 286, 535, 279, 305, 197, 305, 202, 101, 100, 969, 0, 0, 721, 711, 0, 831, 776, 1230, 0, 0, 957, 959, 953, 992, 0, 0, 0, 0, 1224, 0, 0, 1231, 1233, 0, 164, 0, 0, 0, 881, 0, 0, 913, 0, 177, 383, 328, 0, 327, 0, 322, 323, 318, 0, 0, 305, 0, 305, 277, 195, 201, 1664, 354, 357, 1075, 1083, 0, 0, 1236, 961, 962, 969, 0, 503, 1228, 1229, 0, 1226, 0, 0, 1232, 0, 0, 0, 0, 918, 911, 178, 330, 331, 329, 315, 316, 258, 226, 363, 224, 102, 0, 0, 712, 0, 1045, 958, 993, 1227, 1235, 1234, 0, 896, 884, 888, 1082, 1084, 0, 0, 1211, 0, 0, 1237, 1047, 0, 526, 0, 1046, 0, 0, 996, 998, 0, 999, 994, 526, 1120, 997 }; /* YYDEFGOTO[NTERM-NUM]. */ static const short int yydefgoto[] = { -1, 49, 50, 51, 52, 53, 1073, 54, 431, 754, 1145, 1146, 55, 56, 730, 1120, 1121, 1122, 57, 1519, 2323, 1124, 1126, 1961, 2313, 2776, 2318, 2912, 3039, 1873, 2224, 2846, 2598, 1097, 1098, 1099, 330, 331, 332, 413, 1962, 1493, 1963, 1964, 1495, 1496, 1019, 2287, 2278, 2294, 2937, 333, 1968, 2298, 2299, 2300, 2301, 2255, 2256, 1890, 1891, 1935, 2309, 2585, 2739, 2735, 2586, 2587, 2588, 2589, 2590, 2591, 2592, 2724, 2725, 2877, 2878, 2879, 2338, 2773, 2760, 2761, 2762, 2893, 2614, 1856, 1857, 1865, 1866, 2241, 2216, 2242, 1102, 2615, 2763, 2308, 2720, 2868, 2968, 2869, 2870, 2871, 3028, 1892, 2254, 1399, 1400, 658, 334, 1129, 1524, 2780, 2781, 2245, 2100, 2975, 58, 1103, 727, 405, 1497, 1498, 1499, 2527, 2534, 2962, 1894, 318, 1542, 2305, 1922, 59, 1033, 1028, 60, 669, 664, 665, 1031, 1032, 1382, 1814, 61, 706, 62, 675, 63, 679, 1404, 64, 979, 1784, 1785, 1786, 65, 729, 66, 680, 1410, 1411, 1412, 67, 977, 321, 68, 705, 1058, 1059, 69, 676, 677, 1394, 70, 1344, 1770, 1771, 1040, 1041, 1401, 2449, 71, 72, 392, 364, 612, 365, 366, 1358, 1791, 2938, 623, 624, 625, 2156, 987, 988, 989, 1796, 1359, 2161, 786, 2516, 944, 1337, 579, 1256, 1322, 580, 581, 582, 2351, 1275, 1271, 1272, 583, 1553, 2332, 1627, 1223, 2627, 2380, 1154, 1552, 1997, 1276, 424, 743, 795, 796, 797, 1180, 822, 2012, 1596, 1597, 2014, 1818, 2671, 2827, 2829, 1830, 1389, 1390, 1819, 2175, 2176, 2821, 2191, 2483, 2673, 2831, 3019, 2197, 2946, 963, 1229, 723, 724, 1155, 1459, 1879, 2815, 2926, 1733, 2653, 2924, 2999, 1793, 1794, 2237, 2513, 2707, 1015, 2939, 1881, 1375, 2604, 1291, 1946, 3051, 3095, 3104, 3105, 3106, 2152, 2153, 2455, 2456, 1795, 2654, 73, 336, 74, 1536, 429, 1036, 1037, 428, 342, 75, 350, 1549, 76, 389, 1442, 436, 713, 1077, 1078, 1874, 2225, 3094, 2232, 1875, 2236, 2701, 2227, 2501, 2502, 1882, 1883, 2228, 2504, 2698, 2517, 2518, 2330, 2785, 77, 376, 2474, 2186, 2187, 3042, 3043, 674, 78, 335, 737, 1528, 1134, 2326, 1527, 2602, 738, 739, 1136, 421, 422, 79, 374, 80, 367, 659, 1377, 2167, 1810, 603, 661, 1010, 1000, 662, 1011, 1364, 1800, 81, 720, 719, 82, 397, 1086, 83, 432, 765, 766, 1150, 1548, 84, 361, 609, 610, 85, 359, 604, 1351, 86, 351, 87, 88, 2141, 971, 596, 2319, 2817, 2932, 2933, 2935, 3010, 3011, 3080, 584, 2976, 585, 2861, 586, 587, 2233, 2234, 2514, 588, 1936, 672, 312, 313, 347, 589, 590, 748, 749, 315, 89, 710, 386, 1068, 1069, 1070, 1071, 663, 1298, 1433, 1439, 1434, 2493, 2221, 2214, 90, 599, 767, 975, 976, 1776, 91, 92, 725, 1094, 1095, 1456, 1878, 1457, 93, 384, 708, 94, 381, 702, 1053, 703, 704, 1049, 1045, 1051, 1055, 2836, 2683, 2684, 1422, 750, 751, 1415, 1837, 1838, 2488, 2686, 2841, 2842, 95, 322, 410, 96, 97, 98, 984, 1080, 1787, 2179, 1082, 1083, 1446, 1356, 591, 968, 789, 1174, 1311, 1731, 592, 1342 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -2537 static const int yypact[] = { 2733, -2537, 15340, 48, 43, -2537, 251, -2537, 730, -2537, -2537, -10, 38148, 43, 34080, -2537, -2537, 99, 603, 43, -2537, 43, -2537, 313, 38148, -2537, -2537, 729, 107, 610, 440, 603, -2537, 603, 591, 603, 603, -2537, -2537, -2537, 603, 603, -2537, 541, 38148, 38148, -2537, -2537, 46, 771, 815, -2537, 445, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 15792, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 38148, 638, 187, -2537, -48, -2537, -2537, 38148, 577, -2537, -2537, 603, 408, 592, -2537, -2537, -2537, -2537, -2537, 462, 645, -2537, 651, 641, 787, 150, -2537, 38148, -2537, 824, 549, -2537, 603, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 585, 10132, 162, 794, 15340, -2537, -2537, -2537, 603, 548, 603, 494, 899, -2537, -2537, -2537, 699, 39047, -2537, -2537, -2537, 687, -2537, -2537, 15340, -2537, 814, -2537, 15340, -2537, -2537, 2070, -2537, -2537, 2803, -2537, -2537, -2537, 873, 111, -2537, 46, 531, -2537, -2537, 38148, 54, -2537, -2537, 530, -2537, 255, -2537, -2537, 38148, -2537, -2537, 15340, -2537, -2537, -2537, -2537, 816, 38148, 462, -2537, 824, 38148, -2537, -2537, -2537, 35436, 150, -2537, 10132, 820, -2537, 909, 38148, 32724, 549, 754, 948, -2537, -2537, -2537, 888, 570, 582, 584, 596, 600, 619, 630, 632, 635, 639, 660, 10132, 666, 674, 686, 705, 712, 717, 719, -2537, -2537, 720, -2537, 722, 723, -2537, 724, -2537, 10132, -2537, -2537, -2537, 725, -2537, -2537, 726, 727, 733, 737, 109, 745, 750, 751, 755, -35, 32, 159, -2537, 757, 758, 761, 762, 10132, 764, 766, 767, 712, 778, 782, 783, 784, 785, 786, 788, 789, 790, 792, 793, 795, 796, 798, 800, 801, 803, 804, 805, 806, 810, 817, 821, 822, 825, 10132, 829, 832, 833, 834, 835, 836, 837, 839, 841, 842, 844, 845, 847, 848, 849, 850, 851, 852, 853, -2537, 854, 856, 857, 862, 864, 865, 866, 867, 869, 870, 874, 875, 876, 877, 882, 883, 884, 885, 886, 887, 891, 892, 893, 712, 712, 712, 896, 897, 900, 902, 10132, 10132, 10132, 5713, 10132, 38148, 17148, 38148, 30859, -2537, 1988, 970, -2537, -2537, 813, -2537, -2537, -2537, -2537, -2537, 614, -2537, -2537, -2537, 1041, -2537, 936, 1026, 988, 15340, -2537, -2537, -2537, 974, -2537, -2537, -2537, -2537, 1061, 696, -2537, 38148, 920, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 736, 699, -2537, 1174, 904, -40, 955, 86, 1048, -2537, 1064, 958, 1064, -2537, -2537, 914, -2537, -2537, 1004, -2537, -2537, -2537, 1225, 1015, -2537, -2537, 1064, -2537, 432, 315, 1031, 1031, 1095, 34080, 1064, 432, -2537, 1185, 992, 479, 1082, -2537, 536, -2537, -2537, 1356, -2537, -2537, -2537, -2537, -2537, 888, 15340, -34, -2537, -2537, 15340, 15340, -2537, 1117, -2537, -2537, -2537, -2537, 1121, 263, -2537, 1279, -2537, -2537, 1163, -2537, 1176, -2537, -2537, -2537, -2537, -2537, -2537, 1180, 915, -2537, 15340, 15340, 1163, -2537, 1182, 694, -86, -2537, 13472, -2537, -2537, 918, 66, -2537, 55, 34532, -2537, -2537, 38148, -2537, 38600, -2537, 563, -2537, 15340, 1785, 1273, -2537, 15340, -2537, 374, 15340, -2537, 921, -2537, 917, -2537, 30859, 924, 15340, -2537, -2537, 712, 916, 1012, 926, -2537, 15340, 923, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 1316, -2537, -2537, 1113, 931, -2537, -2537, 13472, 10132, 1338, 178, 10132, 1338, 1338, 1338, 1338, 1338, 10132, 10132, 302, 10132, 10132, 10132, 10132, 937, -2537, 16244, 1358, -2537, -2537, 10132, 10132, 10132, -2537, 1073, -2537, 16244, 302, 10132, 942, 10132, 10132, 10132, -2537, -2537, 16244, 10132, -2537, -2537, 1152, 10132, 813, 10132, 813, 10132, 813, 10132, 1338, 1338, 1338, 30859, 972, -2537, 10132, 10132, -2537, 6204, -2537, 946, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 1988, 10132, 10132, 10132, 10132, 10132, 10132, -2537, 1310, 564, 732, 10132, 10132, 30859, 6695, 10132, 10132, -2537, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, -2537, -2537, -2537, 6204, -2537, 10132, 10132, 10132, 10132, 10132, -2537, 10132, 7186, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 4731, -2537, -2537, -2537, 950, 950, 950, 564, 7677, 951, -2537, -2537, -2537, 10132, 10132, 10132, 604, 302, 302, 302, -2537, 2986, 302, 10132, 746, 1418, 947, 10132, -2537, 10132, 1265, -2537, -2537, -2537, -2537, -2537, 601, 10132, 10132, 10132, 10132, 956, 10132, 380, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 8168, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 964, 34080, -2537, 38148, -2537, 957, -2537, -2537, 1283, -2537, 1392, 394, 962, -2537, 15340, -68, 15340, -2537, 494, -2537, 198, -2537, -2537, -2537, 963, -2537, 10132, -2537, 1286, 978, 15340, 462, -2537, -2537, -2537, -2537, 1181, -2537, -2537, -2537, 32724, -2537, 1072, 432, -2537, -2537, -2537, 1064, 38148, 432, -2537, 604, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 15340, -2537, -2537, 432, -2537, 1064, 1380, -2537, -2537, 976, -2537, 1380, 1395, 166, -50, -2537, 35888, 15340, -2537, -30, 27, 117, 1193, 983, -2537, -2537, -2537, 983, -2537, 983, -2537, -2537, -2537, 983, 13924, 2906, 982, -2537, 1192, -20, 984, 13924, -2537, -2537, -2537, -2537, 985, -2537, 36340, 30, 34080, -2537, -2537, 15340, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 38, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 145, 163, 1220, 1170, -2537, -2537, -2537, 580, -2537, -2537, -2537, 184, 1373, 117, 1466, 1467, 1470, 1471, 1472, 1473, 1475, 1477, 1480, 1483, 1485, 1487, 1490, 1491, 1492, 1016, -2537, -2537, -2537, 563, -2537, 1214, 119, 119, 1285, 921, -2537, 85, 38148, 1363, 28468, 79, 10132, -2537, -2537, 34080, 1409, 32724, 14, 34080, 1021, -2537, -2537, 1267, 948, 15340, -2537, 19169, -2537, 1024, -2537, -2537, 1025, 1034, 19220, 1028, 1029, 1032, 1033, 1035, 19260, 19305, 30366, 22314, 22553, 3470, -2537, 1037, -2537, 957, 19499, 19529, 3102, 1038, 1043, 1030, -2537, 19580, -2537, 22583, 19849, 19862, 1040, 22596, -87, 1044, 22871, 3120, 22905, 3532, 1049, 1050, 1051, -2537, 1052, 19900, 19913, 22918, -2537, 19941, 19954, 22952, 20272, 3549, 3646, 20353, 20448, 3885, 20461, 1387, 20491, 20546, 4030, 4171, 4212, 17948, 1053, -2537, -2537, -3, -2537, -2537, -2537, -2537, 1055, 22969, 20864, -2537, 23005, 20877, 18085, 1057, 20896, 20977, 20991, 23191, 23278, 23325, 18123, 18136, 18170, 1058, 1059, 1060, 23460, 23500, 23517, 18187, 21251, 18222, 1062, 30951, 970, -2537, 23547, 21265, 21309, 18496, 23564, 21395, 18540, 21583, 8659, 9150, 9641, 22221, 1063, 950, 1065, 1066, 1068, -2537, 1071, 1078, 4, -2537, 23598, -2537, 18575, 23645, 18676, -2537, -2537, -2537, -2537, -2537, 1079, -2537, -2537, 1935, 1067, 1075, 1080, 34080, 10132, 38148, 72, 133, 10132, 1331, -2537, 72, 278, 278, 779, 1358, -2537, -2537, 560, 1085, 10132, 10132, 10132, 2020, 2020, 133, 2020, 31004, 970, 152, 207, 137, 1988, 137, 1988, 72, 72, 72, 302, 1089, -2537, 133, 719, 10132, -2537, 1083, -2537, -2537, 1181, 15340, -2537, 533, 15340, 117, 1181, 10132, -2537, -8, -2537, -2537, -2537, -2537, -2537, 668, -2537, 30859, -2537, 1087, 1181, 1408, 1090, -2537, 38148, -2537, -2537, 1497, 1064, -2537, -2537, 1064, -2537, -28, 379, 432, 15340, -2537, 863, -2537, 536, -2537, -2537, 40, 38148, 76, -2537, 15340, 1181, 15340, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 1097, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 802, -2537, 38148, -2537, -2537, -2537, -2537, 1091, -2537, 1092, 1280, -2537, 15340, 15340, 1181, 1440, 1446, 694, 1100, 1423, 1103, -2537, 629, 31820, 122, 17600, 32272, -2537, -2537, -2537, 61, 1498, 1031, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 1031, -2537, 629, 629, 1187, 1494, 1494, 629, 868, 629, 629, 629, 1322, 1474, 629, 1433, 1328, 1438, 1334, 1478, 629, 629, 629, 629, 629, 629, 164, 629, 629, 629, 629, 629, 1494, 629, -2537, 1452, -2537, -2537, 1123, 14396, -2537, -2537, -2537, 1181, 1181, 1181, 634, 1181, 604, 604, 604, 1181, 1181, 1181, 1181, 1181, 1181, 604, 1785, -2537, 4200, 520, -2537, -2537, -2537, -2537, -2537, 15340, 1317, 1170, 28468, -2537, 166, -2537, 1125, -2537, 30859, -2537, -2537, 274, -2537, -2537, -2537, -2537, -2537, 923, 1562, -2537, 1131, -2537, 61, 10132, -2537, 10132, -2537, -2537, 1133, 10132, -2537, -2537, -2537, -2537, -2537, 10623, 10132, 682, -2537, -2537, 33176, 682, -2537, -2537, -2537, -2537, -2537, 10132, -2537, 10132, 16244, -2537, -2537, 10132, 10132, -2537, -2537, 33176, -2537, -2537, -2537, -2537, 10132, -2537, -2537, 10132, -2537, -2537, -2537, 1244, 10132, -2537, -2537, 10132, -2537, 1219, 1219, -2537, 813, -2537, 10132, -2537, 10132, -2537, 813, -2537, 10132, 10132, 10132, -2537, 1406, -2537, 10132, -2537, 10132, -2537, 10132, -2537, 10132, -2537, -2537, 1410, 10132, -2537, 10132, -2537, 10132, -2537, 10132, -2537, 10132, -2537, 10132, -2537, -2537, -2537, -2537, 10132, -2537, 10132, -2537, 10132, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 10132, 10132, -2537, 10132, -2537, 10132, 10132, 1451, 620, 10132, 10132, 10132, 10132, 10132, 10132, 390, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 8168, -2537, 10132, 10132, -2537, 10132, -2537, 11114, 10132, 10132, 10132, 10132, 4250, 10132, 30408, 10132, 30451, 10132, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 1412, -2537, -2537, 10132, -2537, -2537, 10132, 10132, 1144, -2537, -2537, -2537, -2537, 1139, 30859, -2537, 133, -2537, 1147, -2537, 957, 10132, -2537, 1358, -2537, 560, 133, 31051, 10132, 10132, 1459, 756, 10132, 10132, 10132, 10132, 1150, 10132, 499, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 8168, -2537, -2537, -2537, 137, 38148, -2537, 1154, -2537, -2537, 1332, 1462, -2537, -2537, -2537, -2537, -2537, 30859, -2537, -2537, -2537, -2537, -2537, 262, 55, -2537, 52, 676, 84, 1481, 1031, -2537, 1502, 34984, 28940, -2537, 634, -2537, 693, -2537, 1342, -2537, -2537, 604, 604, -2537, -2537, -2537, -2537, 432, -2537, 1160, -2537, -2537, 40, 218, -76, 166, 1482, 1484, -2537, 11, 16244, 166, 1421, 1421, 166, 166, 879, -2537, -2537, 36792, -2537, -2537, 497, -2537, 1171, 29412, 32724, -2537, -2537, -2537, 1431, 32724, -2537, 38148, 1486, 38148, -2537, -2537, 5222, -2537, -2537, -2537, 1547, -2537, 32724, 419, 746, 629, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 1178, 1178, 13000, -2537, -2537, -2537, -2537, -2537, 1179, 10132, -2537, -2537, -2537, 33628, 31820, -2537, 16696, 423, 423, -2537, 517, 567, 16696, -2537, -2537, 16696, 16696, 1181, 1499, 1500, 16696, 16696, 634, 604, 604, 83, 629, 604, -2537, -2537, -2537, -2537, 629, 634, 634, 120, 710, 604, 604, -2537, -2537, -2537, 15340, 463, 34080, 1186, 34080, 205, 16696, 1181, -2537, 38961, 12548, 38148, 556, 108, -2537, 1164, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 15340, 12096, -2537, 95, -2537, 1969, -2537, -2537, -2537, 1377, -2537, 166, 1444, 92, 716, 1195, 79, -2537, 1398, -2537, -2537, 1453, 23953, 30859, -2537, -2537, 21617, 10132, 23997, 24044, 1191, 1191, 1191, -2537, -2537, 1353, -2537, 1354, 1197, 1198, 1199, 1200, 1201, 24088, 30473, -2537, 1202, 24132, 21634, 1203, 24371, 24406, 10132, 1217, 30507, 1232, 1208, 21664, 1988, 1988, 1209, 24450, 24487, 1210, 1212, 24726, 21678, 24769, 1213, 1215, 24805, 24821, 24861, 24903, 1444, 1218, 25179, 21903, 25221, 25306, 18716, 1222, 18814, 25358, 25398, 25499, 25676, 25718, 25758, 72, 133, 10132, 1493, -2537, 72, 278, 278, 779, 25853, 560, 10132, 10132, 10132, 2020, 2020, 133, 2020, 31138, 152, 207, 137, 1988, 137, 1988, 72, 72, 72, 302, 133, 719, 21996, 25998, 26036, 10132, 26093, 22274, 18860, 22033, 26275, 10132, 26362, 10132, 26402, 10132, 26416, 1223, 26641, 26685, 26776, -2537, 38148, -2537, -2537, -2537, 970, 1226, -2537, 10132, 72, 133, 10132, 1495, -2537, 72, 278, 278, 779, 1358, -2537, 560, 1228, 10132, 10132, 10132, 2020, 2020, 133, 2020, 31226, 152, 207, 137, 1988, 137, 1988, 72, 72, 72, 302, 133, 719, -2537, 6, 15340, 1557, -2537, -2537, -2537, -2537, 1170, 290, 1181, 1181, -2537, 1224, 1552, 1638, -2537, -2537, -2537, -2537, 37244, -2537, -2537, -2537, -2537, 1230, -2537, 1031, -2537, -2537, 1535, -2537, -2537, 1064, 863, -2537, 699, 75, -2537, 1237, 1321, -2537, -2537, 166, 1421, 1421, 1240, -2537, 629, 716, -2537, 1561, 1563, 716, 60, 481, -2537, 525, -2537, -2537, 38148, -2537, -2537, -41, 1589, 926, -2537, 677, -2537, -2537, 10132, 717, -2537, 30859, -2537, 33628, -2537, 629, -2537, 1247, 1248, -2537, 37696, 10132, 699, 16244, -2537, 1249, -2537, 1249, 57, 1251, 546, -2537, -2537, -2537, 920, 10132, 11605, 30859, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 10132, 1566, 1571, 423, -2537, 16696, -2537, -2537, 374, 169, -2537, -2537, 16696, -2537, -2537, 131, -2537, -2537, -2537, 31820, 1181, -2537, 1181, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 15340, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 593, -2537, -2537, -2537, -2537, 38148, -2537, -2537, 15340, -2537, -2537, 28029, 38148, -2537, 15340, -2537, 1255, 597, -2537, -2537, -2537, 1658, 1962, -2537, 1181, 1260, 716, 1420, 1170, -2537, -2537, 1622, -2537, -2537, 1263, 10132, 30232, -2537, -2537, 1533, -2537, -2537, 89, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 10, 1515, 1266, -2537, -2537, 10132, -2537, -2537, -2537, 30859, -2537, 10132, 10132, -2537, 10132, 1268, 1269, -2537, -2537, -2537, -2537, -2537, -2537, 10132, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 1501, -2537, 1539, -2537, 10132, -2537, -2537, -2537, 10132, -2537, -2537, 10132, -2537, -2537, -2537, -2537, -2537, -2537, 133, -2537, -2537, -2537, 560, 133, 31273, 10132, -2537, -2537, -2537, 10132, -2537, -2537, 30232, -2537, 10132, -2537, -2537, 10132, 10132, -2537, 26910, -2537, 26961, -2537, 27015, -2537, 1540, -2537, -2537, -2537, -2537, -2537, 779, 133, -2537, 1272, -2537, 1358, -2537, 560, 133, 31360, 10132, -2537, -2537, -2537, 1595, -2537, 1591, -2537, 1031, 1612, -2537, -2537, 34080, 1278, -2537, 1326, -2537, -2537, -2537, 29884, -2537, 1760, -2537, -2537, 736, -2537, 1554, 1543, 716, 1600, 1604, 16244, 1170, 11605, 166, 166, 10132, -2537, 423, 423, 423, -2537, -2537, 38148, -2537, 77, 1468, 32724, 140, 1532, -2537, -2537, -2537, 419, 1504, 1506, 629, 30859, 736, 1289, -2537, 629, 11605, 1178, 1711, -2537, -2537, 57, 16244, -2537, 30859, 1291, 611, 717, 30859, 602, -2537, 30859, 16696, -2537, -2537, 374, 1294, 1667, 1668, 16696, -2537, -2537, 1547, -2537, -2537, 605, 28029, -2537, 12548, -2537, -2537, 1301, 1191, -2537, -2537, 1302, 312, -16, 742, -2537, -2537, -2537, -2537, 1191, -2537, -2537, -2537, 1302, 1454, -2537, 1302, -2537, -2537, -2537, 89, -2537, -2537, 89, 1302, -2537, -2537, 1191, 1191, -2537, -2537, -2537, 89, 1305, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 1191, 1084, -2537, 82, 1306, 1309, 1311, 1191, 1312, 1303, 1314, -2537, 2989, -2537, 59, -2537, -2537, 38148, 1170, 634, -2537, -2537, -2537, -2537, 22178, 1315, 1318, -2537, -2537, -2537, 33176, -2537, 1383, 1757, -2537, 27096, 30859, 30732, 27284, -2537, -2537, 18900, 404, 1320, 1323, 27335, 27365, 27463, -2537, 10132, 779, 27604, 1325, 27722, 27738, 27783, -2537, -2537, -2537, 1327, -2537, 1329, -2537, 10132, 779, 1536, -2537, -2537, 1710, 1663, 1707, -2537, 1224, 1402, -2537, 1181, 963, -2537, 1652, 166, 166, -2537, 1444, -2537, 673, 698, 30859, 1335, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 1544, -2537, 1545, 1546, -2537, 154, 738, -2537, 926, -2537, -2537, -2537, -2537, 1339, 1340, 5222, 963, 16244, 11605, 1341, 1344, -2537, 66, -2537, -2537, 10132, -2537, -2537, -2537, -2537, 11605, 1343, 1355, 38148, -2537, 1526, 556, -2537, -2537, 1084, -2537, 0, 1621, -2537, 1624, 628, -2537, 1095, -2537, 1509, 89, -2537, 1510, -2537, -2537, -2537, 1362, -2537, 628, -2537, 1364, 628, -2537, -2537, 628, 89, -2537, -2537, 1626, 628, 1181, -2537, -2537, 34080, 1381, 1613, -2537, 1758, -2537, 1733, 1682, -2537, 1084, -2537, 1683, -2537, 1639, -2537, 1646, 1647, 1648, 628, 1649, -2537, 628, 38148, -2537, 144, 95, 1711, -2537, 621, 611, 1382, -2537, -2537, 1702, 10132, -2537, -2537, -2537, -2537, -2537, -2537, 10132, -2537, -2537, 10132, -2537, -2537, 1338, -2537, -2537, -2537, 779, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 779, 15340, 10132, -2537, 1444, 105, 1696, -2537, -2537, 1788, 226, 166, 716, 716, 1420, 10132, 1576, 10132, 1577, 38148, 1399, -2537, -2537, -2537, -2537, 96, 1655, 604, 604, 604, 738, -2537, -2537, -2537, -2537, 226, -2537, -2537, -2537, -2537, 611, -2537, 38148, 38148, 624, 564, 564, 564, 749, 749, -2537, -2537, -2537, -2537, 460, 258, 38148, -2537, -2537, 562, -2537, 1397, 636, -2537, -2537, -2537, -2537, 628, -2537, -2537, -2537, 404, -2537, 404, -2537, -2537, -2537, 1400, -2537, -2537, -2537, 712, -2537, -2537, -2537, 1461, 1587, -2537, -2537, -2537, 1403, 1404, 1413, 1414, -2537, 1411, -2537, -2537, -2537, -2537, 1415, 920, -2537, 38148, -2537, 1678, 1821, 27962, 30859, 19084, 1417, 1419, 1707, 88, 611, 10132, 1031, 1806, 1808, 1779, 1811, 105, -2537, 34, -2537, 1725, -2537, 84, -2537, 1693, -2537, 30859, 1428, 30859, 1429, 646, -2537, 36792, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 655, 657, -2537, -2537, -2537, 556, -2537, -2537, -2537, 670, 670, 661, -2537, -2537, -2537, -2537, 1698, -2537, 669, -2537, 671, -2537, -2537, 712, -2537, 89, -2537, 89, -2537, -2537, -2537, 611, 1430, 16244, -2537, -2537, 10132, -2537, -2537, 1696, 252, 10132, -2537, -2537, 30859, 1488, 404, 404, 1819, 404, -2537, 1828, 1829, 34, -2537, 1911, -2537, 10132, 38148, 38148, -2537, 38148, 1445, 1443, 1688, -2537, -2537, -2537, 1851, -2537, 124, -2537, -2537, 562, 38148, 1449, 89, 404, 89, -2537, -2537, -2537, 144, -2537, -2537, 1450, -2537, 629, 28007, 1781, -2537, -2537, 611, 38148, -2537, -2537, -2537, 404, -2537, 404, 404, -2537, 634, 2702, 688, 700, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 16244, 11605, -2537, 1723, 1476, -2537, -2537, -2537, -2537, -2537, 1872, -2537, -2537, -2537, -2537, -2537, 1782, 14868, -2537, 1479, 1772, -2537, -2537, 702, 1503, 1955, -2537, 10132, 1505, 1511, -2537, 604, 30859, -2537, -2537, -2537, -2537 }; /* YYPGOTO[NTERM-NUM]. */ static const short int yypgoto[] = { -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 424, -2537, -2537, -2537, -2537, 450, -1319, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -808, -2537, -2537, -1834, -2537, -2537, -2537, 871, -2537, 889, -2537, 1654, -2537, -339, -608, 496, -1848, -1047, -614, -590, -1586, -2537, -2537, -2537, -852, -2537, -2537, 39, -538, 503, 539, 69, 118, -2537, -2537, -520, -2537, -525, -2537, -2537, -2537, -534, -2537, -533, -2537, -2537, -2537, -1619, -580, -1838, -2537, -865, -1899, -2537, -703, -2537, -747, -2537, -322, -1526, -1783, -2537, -2537, -736, -513, -197, -2537, -2444, -2537, -1002, -2537, -2537, -2537, -1010, -2537, -849, -944, -2537, -2537, -1406, -1728, -2537, -2537, -2048, 898, -2191, -890, -1824, -2537, -859, -2537, -2537, -2537, -2537, -2537, -2537, 97, -2537, -2537, -2537, -475, -211, -237, -2483, -2537, -2537, -2537, -2537, -2537, -2537, 695, -2537, -2537, 662, 1011, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 260, -2537, -2537, -2537, -2537, -2537, -923, 637, -2537, -2537, -2537, 944, -2537, -2537, -2537, 623, -2537, -2537, 1009, -2537, -2537, -2537, -2537, -92, 279, -2537, -2537, -2537, 1336, 267, 1665, -528, -2537, 1672, -2537, -2537, -2537, -1265, -1926, -2537, 1439, -881, -1821, 707, -2381, -2537, -2537, -2537, -492, 1759, -1210, -1113, -2537, -2537, -1252, -835, -795, -2537, -2537, -773, 276, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -741, -2537, 498, -332, -2537, -2537, -2537, 1271, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -1019, -2537, -2537, -2537, -2537, -1773, -2537, 253, -2537, -2537, -2537, -1719, -2537, -1300, -2537, -2537, -879, -1820, -820, -2537, -2537, -960, 1300, -1501, -2537, -2537, -2537, -1667, -2537, -2537, -2537, -1912, -1033, -2537, -2537, -2138, -631, -1438, -605, -2537, -752, -1003, -1744, -2537, -2537, -2537, -2537, -1034, -2537, -2537, -2537, -579, 287, -2537, -2537, -2537, -2537, -2537, -2537, -655, -334, 1656, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 1324, 1007, 535, -2537, -2537, -1008, -2068, -2537, -2537, 220, -2537, -607, -1382, -1284, -412, -2537, -2537, -410, -2393, -2537, -2537, -2537, -2537, -2537, -2537, -378, -2537, -978, 1712, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 1367, 966, -1443, 1684, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 1742, -2537, -946, -618, -2537, -508, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 968, -2537, -2537, -2537, -2537, -2537, 1119, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -26, -810, -2537, -814, -877, -2537, -889, -2537, -474, -714, -2537, -629, -2434, -1658, -388, 1137, -2536, -769, -1790, 3, -2537, -106, -682, -565, -2, 12, -950, -2537, -2537, -2537, -2537, -2537, 703, -2537, -2537, -2537, 266, -2537, -2537, -94, -2537, -366, -563, -2537, -2537, 238, -2537, 797, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 1750, 1434, -2537, 1086, -2537, -2537, -2537, -2537, -2537, -701, -2537, 1074, -1765, 994, -329, -2537, -58, -2537, -2537, -2537, -695, -2537, -2537, -2537, -2537, -2537, -2537, -2169, -609, -2537, -704, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -1251, -2537, -440, -1087 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -1665 static const short int yytable[] = { 314, 826, 828, 985, 423, 311, 1087, 812, 814, 816, 343, 1376, 348, 1081, 1346, 790, 1388, 1002, 1172, 965, 1214, 1880, 363, 1017, 1042, 1043, 349, 1971, 1181, 1074, 1157, 1007, 1160, 1161, 1162, 1163, 1164, 1187, 2231, 1021, 671, 1998, 387, 388, 871, 657, 1685, 2180, 1016, 1016, 1444, 1061, 1853, 1369, 1860, 2166, 1494, 1893, 2008, 2325, 1371, 1900, 1813, 1735, 967, 1738, 1374, 2511, 2257, 2105, 1500, 897, 898, 899, 1104, 733, 2203, 1195, 1196, 1197, 399, 2205, 2667, 1257, 917, 398, 1766, 1570, -1276, 721, 1975, 2339, 2340, 1792, 2148, -1277, 2246, 1143, -98, 1821, 2730, 2244, 2246, 1327, 1329, 2258, 2259, 2616, 1816, 2192, 2263, 2264, 1763, 1100, 390, 1821, 2321, 1540, 2741, 1277, 1278, 2742, -1173, 25, 1426, 1868, 2314, 1868, 1781, 1868, 2746, 1397, 1851, 1038, 1313, 632, 2677, 1101, 2295, 2154, 1323, 1398, 914, 2766, 1852, 917, 914, -1663, -1565, 917, 1022, 337, 924, 925, 926, 1088, 924, -1618, 2265, 2247, 2248, 914, 2507, 1402, 917, 2316, -1564, 722, 2851, 2272, 2273, 924, 925, 926, 1919, -1276, 1534, 370, 1884, 464, 2183, 1501, 1897, 2611, 1902, 1903, 1904, 632, 632, 1907, 2611, 402, 1806, 346, 632, 1913, 1914, 1915, 1916, 1917, 1918, 2865, 1923, 1924, 1925, 1926, 1927, 316, 1929, 2524, 2487, 2291, 1349, 2525, 1584, 2249, 914, 352, 1521, 917, 983, 2866, 319, -944, 1822, 768, 924, 925, 926, 1823, 1391, 712, 2863, 426, 1540, 993, 2928, 2929, 1435, 2274, 1822, 2835, 996, 3067, 470, 1823, 464, 965, 2688, 965, 2466, 965, 1920, 1405, 2316, 1139, 357, 1821, -944, 810, 353, 1286, 1173, 804, 1153, 721, 1443, 338, 1541, 375, 1824, 377, 1522, 379, 380, 593, 470, 2925, 382, 383, 2862, 2478, 339, 470, 1354, 2880, 1824, 914, 930, 632, 917, 1782, 3047, 1461, -1664, 673, 1047, 924, 2500, 2966, 2887, 2731, 1287, 3008, 2848, 1156, 594, 323, 400, 418, 734, 470, 3009, -1276, 917, 406, 2852, 1368, 3048, 2862, -1277, 1869, 1348, 1406, 1352, 1355, 810, -51, 994, 1821, 2930, 1783, 1826, 1048, 419, 425, 1825, 2732, 2288, 1288, 2290, 2967, 3068, 722, 2292, 2678, 595, 655, 1826, 930, 2679, 320, 399, 930, 2306, 2158, 997, 598, 340, 1870, 1871, 2479, 983, 1870, 1871, 1289, 1403, 1014, 930, 2679, 1789, 983, 399, 464, 354, 1224, 399, 2612, 1523, 1076, -944, 678, 1822, 2931, 2612, 1541, 2680, 1823, 805, 371, -1276, 2401, 1372, 718, 2997, -1664, 2613, -1277, 1781, 655, 655, 1585, 726, 2613, 721, 399, 655, 1072, 1350, 1380, 728, 732, -1663, 2611, -1276, 735, 317, 632, 2184, 740, 1279, -1277, 2293, 930, 2066, 1778, 746, 348, 1824, 2526, 2523, 403, 1811, 2689, 1076, 1407, 2764, 2528, 470, 1392, 983, 2702, 1408, 2317, 1921, 341, 404, 1494, 1142, 2185, -1565, 2436, 811, 810, 1822, 1039, 1409, -339, 1436, 1823, -1618, 1807, 3049, 1035, 2246, 2471, 2472, 1827, -1564, 1392, 1290, 2246, 2599, 2155, -1565, 2711, 1189, 1190, 1445, 3023, 2223, 1392, 722, 1827, 1100, 2530, 1628, 2867, 1312, 420, 1826, 1199, -1564, 1711, 930, 1547, 2117, 1310, 1828, 1705, 1824, 655, 2127, 1392, 1948, 1949, 1950, 1764, 1101, 1765, 1100, 1859, 1973, 1957, 1828, 1221, 1392, 1379, 930, 813, 1736, 2855, 1323, 1437, 2522, 1236, 1893, 1817, 1763, 1975, 2159, 1387, 2317, 391, 1101, 1246, 1247, 1248, 3037, 1386, 3038, -1173, 48, 1387, 2506, 1255, 2778, 1314, 1872, 1829, 606, 2681, 2682, 1976, 1893, 1014, 943, 1315, 1085, 408, 1808, 1782, 1826, 2467, 607, 1829, -108, 2059, -944, 2765, 2681, 2682, 2078, 910, 348, 913, 1008, 2998, -944, 1529, 430, 2303, 2283, -109, 1397, 1012, 1974, 1029, 912, 3072, 1025, 3074, 2284, 362, 1398, 1458, 600, 399, 605, 1009, 1013, 1783, 974, 2285, 601, 2963, 1392, 2612, 1030, 982, 936, 937, 938, 939, 940, 941, 942, 943, 940, 941, 942, 943, 2269, 2480, 2249, 1827, 2613, 1316, 2271, 2726, 937, 938, 939, 940, 941, 942, 943, 2060, -944, 1851, 2481, 2722, 602, 2915, 2102, 2660, 815, 2450, 2451, 1809, 2139, 1852, 2736, 1386, 348, 1367, 1828, 1387, 1127, 965, 2250, 1769, 2957, 2958, 2727, 2576, 2119, 1779, 1020, 964, 2744, 2745, 2231, 399, 2249, 1128, 2120, 399, 399, 2695, 372, 1798, 1096, 470, 3091, 2748, 938, 939, 940, 941, 942, 943, 2770, 2964, 1732, 2304, 2710, 1827, 2218, 1096, 2705, -944, 1977, 399, 399, 433, 2178, 1829, 1060, 1832, -185, 399, 1821, 2956, 965, 373, 1026, 1773, 1089, 3103, 1416, 1090, 1417, 1093, 2687, 2965, 1418, 399, 1828, 3103, 2246, 399, 608, 2706, 1132, 2632, 1125, 1821, 1317, 1131, 434, 1076, 399, 2987, 1844, 1286, 2121, 1138, 2061, 1438, 399, 2251, 378, 1804, 2825, 1821, 1805, 938, 939, 940, 941, 942, 943, 2865, 2779, 385, 399, 2017, 2018, 435, 2149, 393, 2646, 3024, 2286, 1941, 1989, 1774, 464, 1829, 1462, 2482, 395, 2866, 1730, 613, 1287, 3000, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, -185, 368, 2171, 2172, 369, 2475, 2189, 2004, 2404, 2193, 2194, 1789, 1877, 2252, 324, 1942, 1304, 394, 1305, 1938, 1939, 1940, 1288, 1947, 2605, 614, 2408, 1951, 1952, 1953, 1954, 1955, 1956, 1790, 2495, 2051, 1822, 2052, 1016, 1775, 1064, 1823, 470, 2070, 2072, 2219, 2220, 1965, 1289, 3040, 1286, 407, 1943, 615, 2465, 1763, 2122, 810, 2784, 1966, 401, 1822, 1967, -185, 412, 2173, 1823, 2438, 409, 2441, 2195, 411, 1065, 1312, 2058, 325, 355, 356, 1944, 1822, 1323, -944, 1824, 1494, 1823, 2837, 3025, 2445, 721, 457, -344, 1287, 1295, 2826, 1990, 1443, 1312, 1500, 2883, 2266, 2267, 2885, 2927, 2270, 2886, 2150, 2151, 1824, 2217, 2889, 3081, 2275, 2279, 2280, 2281, 1066, 1763, -944, 2828, 414, 2490, 2131, 2133, 3026, 1296, 1824, 2491, 327, 1288, 3027, 462, 2905, 416, -944, 2907, 2737, 2103, 1405, 2740, 2492, 2838, 2839, 2840, 2911, 1826, 928, 2743, 417, 2276, 2277, 2324, 427, 2118, 1290, 1289, 929, 344, 1067, 1323, 597, 1719, 348, 358, 1340, 360, 611, 722, 467, 2874, 1826, 616, 2110, 2666, 2111, 399, 1339, 399, 1729, 2875, 1885, 176, 177, 2876, 1945, 2199, 2200, 1362, 1826, 1895, 1896, 399, 1901, 668, 468, 930, 1366, 326, 673, 1991, 2381, 348, 1992, 1993, 755, 2168, 2169, 327, 1406, 1373, 1297, 1898, 2651, 2484, 2485, 2327, 1928, 711, 756, 717, 399, -944, -165, 1994, 404, 1378, 933, 328, 1995, 1397, -944, -944, 731, 1996, 2509, 2510, 1395, 399, -944, 1398, 2019, 744, 678, -944, 745, -944, 2023, 316, -944, 2940, 1107, 1108, 1225, 1226, 1421, 753, 2188, 769, 1833, 1420, 1290, 1421, 1118, 1119, 666, 667, 1420, 670, 1432, 770, 348, 771, 757, 399, 2672, 2672, 2672, 1227, 1228, 964, 1827, 2535, 2536, 772, 1440, 2596, 2536, 773, 2789, -944, 2708, 2709, 470, 2717, 1392, 2733, 2734, 969, 329, 484, -944, 2783, 1899, 2235, 758, 1827, 774, -944, 966, 2913, 2914, 1828, 2959, 2914, 2162, 970, 2694, 775, 2749, 776, 1407, 2697, 777, 1827, 2972, 2973, 778, 1408, 972, 759, 1893, 740, 973, 1533, 3017, 3018, 1828, 935, 348, -944, 348, 1409, 348, 3021, 2914, 3022, 2914, 779, 399, 3030, 3031, -944, 1537, 781, 1828, 978, 1543, 3033, 3034, 3035, 3034, 782, 1829, 980, 2470, 1273, 1274, 617, 618, 619, 620, 621, 622, 783, 2750, -944, 3088, 3018, 2751, -944, -944, 2674, 2675, 760, -944, 981, 761, 1829, 3089, 3018, 3102, 2510, 784, 2752, 1763, 3061, 3062, 2364, 2365, 785, 762, 2960, 2961, 2753, 787, 1829, 788, 791, -944, 792, 793, 794, 799, 800, 801, 2260, 983, 986, 763, 991, 802, 1983, 764, 356, 803, 995, 1447, 1448, 1449, 998, 1450, 1763, 806, 1451, 1452, 1453, 1454, 807, 808, 2000, 2001, 999, 809, 1001, 817, 818, 2005, 2296, 819, 820, 2406, 823, 2407, 824, 825, -310, 936, 937, 938, 939, 940, 941, 942, 943, 2402, 827, 1323, 2015, -944, 829, 830, 831, 832, 833, 1004, 834, 835, 836, 2022, 837, 838, 1005, 839, 840, 2027, 841, -944, 842, 843, 1006, 844, 845, 846, 847, -184, 2033, 348, 848, 1726, 1885, 2754, 1886, 2755, 1003, 849, 2756, 2040, 1312, 850, 851, 1724, 2443, 852, 2444, -944, 3086, 854, -944, 2757, 855, 856, 857, 858, 859, 860, 2439, 861, 1323, 862, 863, -184, 864, 865, 1887, 866, 867, 868, 869, 870, 872, 873, 874, 399, 875, 876, 399, 2758, 1772, 1397, 877, 974, 878, 879, 880, 881, 1018, 882, 883, 1398, 1455, 1014, 884, 885, 886, 887, 1802, 1023, -944, -944, 888, 889, 890, 891, 892, 893, 1024, -370, 399, 894, 895, 896, 2759, 1812, 900, 901, 1820, 1027, 902, 399, 903, 399, 992, 1034, 1831, 1044, 1046, 1050, 1463, 1052, 1464, 1054, 1056, 2104, 1063, 1057, 1465, 1079, 1466, 1123, 1140, 1133, 1135, 1836, 1137, 1141, 1142, 1144, 1467, 1147, 1148, 1149, -184, 399, 399, 1153, 1171, 907, 1060, 1843, 1179, 1183, 805, 1198, 348, 1203, 348, 348, 1222, -818, 1282, 1299, 1300, 1303, 1310, 1338, 1341, 1343, 1858, 1345, 1862, 1867, 1347, 1357, 1363, 1888, -123, 2503, 2668, 2669, 1365, 346, 1370, 1381, 1468, 1469, 1383, 1385, 1413, 2452, 2453, 1414, 1424, 1425, 1427, 1429, 1458, 1502, 1503, 2459, 1470, 1504, 1505, 1506, 1507, -184, 1508, 1466, 1509, 1471, 3002, 1510, 1472, 1096, 1511, 1473, 1512, 1937, 1513, 1474, 1475, 1514, 1515, 1516, 1476, 1520, 1517, 1526, 1531, 2661, 1538, 1544, 1545, 1551, 1554, 2609, 1555, 1557, 1558, 456, 1577, 1559, 1560, 457, 1561, 399, 1569, 1575, 1972, 1582, 1969, 1576, 1615, 1586, 1477, 1478, 459, 2462, 1593, 1594, 1595, 1598, 1626, 1468, 1469, 1629, 1636, 1649, 1650, 1651, 1728, 1660, 1704, 1799, 1706, 1707, 2464, 1708, -944, 1470, 1709, 1841, 1721, 1016, 462, 721, 348, 1710, 1803, 1718, 1722, 1472, 1096, 1734, 1473, 1723, 1479, -546, 1768, 1801, 1858, 1480, 1797, 348, 2268, 1834, 1839, 1840, 2531, 1845, 2532, 1846, 1849, 2636, -944, 1848, 464, 1858, 1850, 1876, 466, 467, 1443, 1905, 1908, 1909, 1481, 1885, 1906, 1910, -944, 1911, 1912, 1931, 1478, 1482, 1483, 1484, 1979, 1970, 1974, 1392, 1984, 1485, 2011, 519, 2028, 468, 985, 2050, 2034, 1486, 2094, 2098, 2099, 2533, 2101, 2109, 2116, 1312, 2144, 2600, 2145, 722, 2142, 2823, 2824, 1789, 1790, 2170, 2174, 2190, 2181, 2201, 2182, 1479, 2204, 2215, 1487, 2310, 1480, 470, 2207, 3077, 456, 471, 2226, 2238, 457, 2322, 1488, 2261, 2262, 1443, 2289, 2329, 476, 1532, 2328, 2337, 1312, 459, 2341, 2342, 2359, 1481, 2343, 2344, 2345, 2346, 2347, 2352, 2355, 2361, 1482, 1483, 1484, 2362, 2366, 2369, 1312, 2370, 2374, 2856, 2375, 2188, -944, -944, 2382, 462, 1486, 2389, 2399, 2426, 2434, 2431, 2437, 2448, 2454, -944, 2457, -944, 2458, 2463, -944, 2461, 2468, 2857, 2858, 2469, 2473, 2476, 484, 2477, 2489, 2496, 2497, 1487, 2520, 2505, 2508, 464, 2235, 2521, 2595, 466, 467, 2597, 2601, 1488, 2603, 2606, 2607, 2610, 2617, 2618, 1489, 2623, 2624, 2628, 2643, 2644, 2649, 2626, 2652, -944, 2650, 2140, 2656, 2657, 2663, 2659, 468, 2662, 2664, 2685, -944, 2690, 1490, 2696, 1868, 2704, 2712, -944, 2692, 2435, 2693, 2713, 2714, 2721, 2723, 2738, 1491, 2747, 2767, 2163, 2165, 2768, 2774, 2769, 2771, 2790, 1492, 2775, 2787, 2791, 470, 2788, 2892, 2798, 471, 2813, 2812, 2799, 2805, -944, 2814, 2809, 2810, 2816, 2819, 476, 2822, 2830, 2832, 2833, 2834, -944, 2843, 2844, 2849, 2853, 2895, 2198, 2709, 1489, 2951, 2952, 2953, 726, 348, 2872, 2896, 2854, 2873, 348, 2888, 2206, 2856, 2208, 2882, -944, 2884, 2897, 2898, 2900, -944, 1490, 348, 2901, -944, 2859, 2860, -370, 2764, 2881, 2902, 2903, 2904, 2906, 2916, 1362, 2857, 2858, 2917, 2934, 2936, 484, 2943, 2945, 2950, 1492, 348, 348, -944, 1937, 2971, 2948, 2980, 2978, 2981, 1937, 2982, 2983, 1937, 1937, 2243, 1858, 2989, 1937, 1937, 2973, 2984, 2985, 2986, 2990, 2994, 3003, 2995, 3004, 1312, 3005, 3006, 2797, 3012, 3014, 3015, 3016, 3032, 3041, 3054, 399, 3059, 348, 3050, 348, 2282, 1937, 2503, 3056, 3057, 1937, 2302, 2485, 3064, 2306, 3066, 1020, 3071, 1020, 3076, 3079, -123, 3092, -944, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 399, 1937, 3096, 3097, -944, 2311, 3093, 3101, 3107, 3100, 1958, 1978, 2910, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 2820, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 415, 1460, 2777, -944, 1930, -995, -944, 3109, 2955, 1518, 1466, 2850, 2719, 2315, 3110, 1934, 1889, 1466, 2307, 2859, 2860, 2715, 2253, 2718, 2728, 2729, 2772, 2974, 2899, 2864, 2891, 2716, 2494, 3065, 3069, 2970, 927, 3029, 2988, 2977, 1525, 2529, 2297, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, -944, -944, 1384, 1815, 2146, 1842, 1396, 1835, 2447, 2143, 1468, 1469, 2147, 1084, 716, 3013, 2921, 1468, 1469, 1088, 715, 990, 1788, 1178, 1999, 2890, 1470, 3020, 2177, 1158, 2909, 2941, -303, 1470, 3112, 2818, -303, 2157, 1472, 1096, 1441, 1473, 1980, 3099, 752, 1472, 1096, 2847, 1473, 2229, 1151, 2700, 2699, 2665, 681, 2430, 3090, 1530, 1353, 714, 928, 1130, 3111, 2645, 741, 927, 682, 660, 578, 683, 929, 2996, 684, 2446, 685, 1546, 3007, 3046, 686, 3058, 2703, 1478, 2894, 687, 1361, 2222, 2498, 2691, 1478, 2845, 1847, 688, 709, 2949, 1539, 1428, 689, 690, 399, 1062, 2486, 1423, 1777, 1772, 2954, 0, 0, 691, 0, 930, 0, 692, 0, 0, 693, 0, 2460, 0, 0, 931, 932, 0, 1479, 0, 0, 0, 0, 1480, 0, 1479, 0, 0, 0, 0, 1480, 0, 0, 0, 0, 0, 933, 742, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 1481, 0, 0, 929, 1836, 0, 0, 1481, 0, 1482, 1483, 1484, 0, 780, 694, 0, 1482, 1483, 1484, 348, 0, 0, 0, 0, 695, 1486, 1432, 3044, 0, 0, 798, 0, 1486, 2243, 0, 0, 0, 696, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 934, 1487, 0, 821, 0, 0, 0, 1937, 1487, 0, 0, 0, 0, 1488, 1937, 0, 0, 0, 0, 0, 1488, 348, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 853, 0, 1858, 0, 0, 0, 0, 0, -303, 399, 0, 3052, 3053, 0, 3055, 935, 0, 0, 0, 0, 0, 0, 0, 2537, 0, 985, 399, 0, 697, 3044, 2593, 2538, 399, 0, 0, 0, 0, 2594, 698, 1088, 699, 1088, 3073, 0, 0, 0, 2235, 0, 0, 0, 0, 904, 905, 906, 908, 909, 0, 3075, 700, 0, 0, 0, 3083, 0, 3084, 3085, 1489, 0, 0, 0, 0, 0, 0, 1489, 0, 0, 0, 0, 0, 0, 0, 945, 946, 947, 948, 949, 0, 0, 1490, 0, 701, 0, 0, 0, 0, 1490, 0, 0, 0, 0, 935, 0, 0, 0, 812, 814, 816, 0, 950, 951, 952, 953, 1492, 0, 0, 0, 0, 0, 0, 1492, 0, 0, 2979, 954, 955, 956, 957, 0, 0, 958, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 0, 0, 0, 1720, 959, 960, 0, 0, 0, 0, 0, 0, 0, 0, 1088, 1088, 0, 1088, 0, 0, 0, 0, 0, 0, 0, 0, 961, 962, 348, 0, 0, 0, 0, 0, 2320, 2140, 0, 0, 0, 0, 0, 0, 2655, 0, 0, 1088, 0, 0, 0, 0, 0, 0, 0, 2922, 0, 0, 0, 0, 0, 2676, 0, 0, 0, 348, 3036, 1088, 0, 1088, 1088, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1937, 0, 0, 0, 0, 0, 0, 1937, 0, 0, 1152, 0, 0, 1159, 0, 0, 1937, 0, 0, 1165, 1166, 0, 1167, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 1175, 1176, 1177, 0, 0, 0, 0, 0, 1182, 0, 1184, 1185, 1186, 0, 0, 0, 1188, 0, 0, 0, 1191, 0, 1192, 0, 1193, 0, 1194, 0, 0, 0, 0, 0, 0, 1200, 1201, 0, 1202, 0, 0, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 2782, 1215, 1216, 1217, 1218, 1219, 1220, 0, 0, 0, 0, 1230, 1231, 348, 1233, 1234, 1235, 0, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1858, 0, 0, 1249, 0, 1250, 1251, 1252, 1253, 1254, 0, 0, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1270, 0, 0, 0, 0, 0, 0, 0, 1281, 0, 0, 0, 0, 1283, 1284, 1285, 0, 0, 0, 0, 0, 0, 0, 1294, 0, 0, 0, 1301, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 1306, 1307, 1308, 1309, 0, 0, 0, 1318, 1319, 1320, 1321, 0, 1324, 1325, 1326, 1328, 1330, 1331, 1332, 1333, 1336, 0, 0, 0, 0, 0, 0, 2782, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1360, 0, 348, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 5, 2243, 6, 0, 0, 7, 0, 0, 8, 2908, 0, 9, 0, 10, 11, 0, 12, 0, 13, 14, 15, 0, 16, 17, 0, 18, 927, 0, 0, 0, 19, 20, 21, 0, 22, 23, 0, 24, 25, 26, 27, 0, 0, 28, 0, 0, 29, 399, 0, 0, 30, 31, 2923, 32, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2947, 681, 0, 0, 0, 0, 0, 34, 0, 0, 0, 35, 36, 682, 0, 0, 683, 0, 0, 684, 0, 685, 0, 2782, 2782, 686, 0, 37, 38, 0, 687, 0, 0, 0, 0, 0, 0, 2969, 688, 0, 0, 928, 0, 689, 690, 0, 0, 0, 0, 0, 0, 929, 0, 39, 691, 0, 0, 0, 692, 0, 0, 707, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2782, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 681, 0, 0, 0, 0, 0, 0, 0, 0, 694, 0, 0, 682, 0, 2198, 683, 0, 933, 684, 695, 685, 0, 0, 0, 686, 0, 0, 0, 0, 687, 0, 0, 696, 0, 0, 0, 0, 688, 0, 0, 0, 0, 689, 690, 0, 0, 0, 0, 0, 0, 40, 0, 0, 691, 41, 0, 42, 692, 0, 0, 0, 43, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 934, 2947, 2947, 0, 3063, 0, 0, 0, 0, 0, 0, 1466, 0, 0, 1697, 1699, 1701, 3070, 0, 0, 0, 44, 0, 0, 0, 0, 0, 697, 0, 0, 0, 0, 694, 0, 0, 0, 3082, 698, 0, 699, 0, 0, 695, 0, 0, 0, 1725, 0, 935, 0, 1727, 0, 0, 0, 0, 696, 0, 700, 45, 46, 0, 927, 0, 1737, 0, 0, 0, 1468, 1469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1362, 0, 0, -303, 1470, 0, 1767, -303, 0, 0, 701, 0, 0, 0, 0, 0, 1472, 1096, 1780, 1473, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 697, 0, 0, 0, 0, 0, 0, 0, 1478, 0, 698, 928, 699, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 47, 0, 700, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 927, 0, 1479, 0, 0, 3087, 0, 1480, 0, 0, 0, 0, 0, 930, 0, 701, 0, 0, 927, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 48, 1481, 0, 0, 0, 0, 0, 0, 0, 0, 1482, 1483, 1484, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 1487, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 1488, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 934, 929, 0, 0, 0, 0, 0, 0, 0, 0, -303, 0, 0, 1981, 0, 1982, 0, 0, 0, 1985, 0, 0, 930, 0, 0, 1987, 1988, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 2002, 0, 2003, 930, 0, 0, 2006, 2007, 0, 0, 0, 935, 0, 931, 932, 2009, 933, 0, 2010, 0, 0, 0, 0, 2013, 0, 0, 2016, 0, 0, 0, 0, 0, 0, 2020, 933, 2021, 0, 0, 1489, 2024, 2025, 2026, 0, 0, 0, 2029, 0, 2030, 0, 2031, 0, 2032, 0, 0, 0, 2035, 0, 2036, 0, 2037, 1490, 2038, 0, 2039, 0, 2041, 0, 0, 0, 0, 2042, 0, 2043, 0, 2044, 0, 0, 0, 0, 934, 0, 0, 2045, 2046, 1492, 2047, 0, 2048, 2049, 0, 0, 2053, 2054, 2055, 2056, 2057, 0, 934, 2062, 2063, 2064, 2065, 0, 2067, 2068, 2069, 2071, 2073, 2074, 2075, 2076, 2077, 0, 2079, 2080, 0, 2081, 0, 2083, 2084, 2085, 2086, 2087, 0, 2089, 0, 2091, 935, 2093, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 2095, 1292, 1293, 2096, 2097, 935, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 2107, 2108, 0, 0, 2112, 2113, 2114, 2115, 0, 0, 0, 2123, 2124, 2125, 2126, 0, 2128, 2129, 2130, 2132, 2134, 2135, 2136, 2137, 2138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 927, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1573, 1574, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1588, 1589, 0, 0, 2213, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 928, 2239, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 928, 933, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2334, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 2358, 1567, 0, 0, 0, 931, 932, 0, 0, 933, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2398, 0, 0, 0, 928, 0, 0, 0, 0, 0, 2403, 0, 0, 0, 929, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2412, 934, 0, 0, 0, 0, 2420, 0, 2422, 0, 2424, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 930, 0, 0, 2432, 0, 0, 2433, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 2440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 934, 0, 0, 1568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 780, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2512, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 2519, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1591, 1592, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1606, 1607, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2608, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 2619, 0, 0, 0, 927, 0, 2620, 2621, 0, 2622, 936, 937, 938, 939, 940, 941, 942, 943, 2625, 933, 0, 1608, 1609, 0, 0, 0, 0, 0, 0, 0, 2629, 0, 0, 0, 2630, 0, 0, 2631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2634, 0, 0, 0, 2635, 0, 0, 0, 0, 2637, 0, 0, 2638, 2639, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 934, 0, 928, 0, 0, 0, 2648, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 1466, 0, 0, 2670, 0, 0, 0, 0, 0, 935, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 927, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1468, 1469, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, -303, 1470, 0, 0, -303, 0, 0, 0, 0, 0, 0, 0, 0, 1472, 1096, 0, 1473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 928, 0, 934, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1478, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1612, 1613, 0, 0, 1959, 0, 928, 0, 0, 0, 0, 0, 0, 0, 930, 935, 929, 0, 0, 2803, 0, 2088, 0, 0, 931, 932, 0, 0, 0, 1479, 0, 0, 0, 2811, 1480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 933, 0, 0, 0, 0, 0, 0, 0, 0, 929, 930, 0, 0, 0, 1481, 0, 0, 0, 0, 0, 931, 932, 0, 1482, 1483, 1484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2213, 0, 0, 0, 1486, 0, 933, 0, 0, 0, 2512, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 934, 0, 0, 1487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1488, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, -303, 1618, 1619, 0, 0, 934, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2918, 0, 0, 0, 0, 0, 0, 2919, 0, 0, 2920, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 2512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1489, 0, 0, 2942, 0, 2944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1490, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1620, 1621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3001, 0, 1960, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1622, 1623, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 437, 0, 3045, 0, 0, 0, 105, 2512, 0, 106, 438, 108, 109, 0, 110, 111, 112, 113, 439, 0, 0, 114, 0, 3060, 115, 0, 116, 117, 118, 119, 120, 440, 121, 0, 0, 122, 0, 123, 441, 442, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 443, 444, 135, 445, 446, 137, 447, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 448, 146, 147, 148, 1267, 149, 0, 150, 151, 0, 449, 450, 153, 0, 154, 0, 451, 0, 0, 156, 0, 452, 453, 0, 157, 454, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 3108, 0, 165, 166, 455, 167, 456, 168, 169, 170, 457, 0, 0, 0, 171, 0, 172, 0, 173, 458, 0, 0, 174, 459, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 1268, 460, 182, 183, 0, 0, 0, 184, 461, 185, 462, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 463, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 464, 213, 465, 214, 466, 467, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 468, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 469, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 470, 0, 1269, 247, 471, 248, 249, 472, 473, 474, 475, 250, 0, 251, 252, 476, 253, 0, 0, 0, 254, 0, 0, 255, 477, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 478, 0, 0, 479, 262, 480, 263, 481, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 482, 483, 0, 0, 0, 484, 0, 0, 0, 0, 0, 276, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 498, 499, 500, 501, 0, 502, 503, 278, 279, 504, 505, 506, 507, 508, 0, 509, 510, 511, 512, 513, 514, 515, 516, 0, 0, 0, 517, 283, 518, 284, 519, 520, 521, 522, 523, 524, 525, 526, 527, 0, 0, 528, 288, 289, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 549, 0, 299, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 0, 302, 0, 567, 568, 569, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 570, 571, 0, 0, 0, 0, 572, 0, 573, 0, 0, 574, 575, 0, 576, 577, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 105, 0, 0, 106, 438, 108, 109, 0, 110, 111, 112, 113, 439, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 440, 121, 0, 0, 122, 0, 123, 441, 442, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 443, 444, 135, 445, 446, 137, 447, 0, 139, 0, 140, 141, 2209, 0, 0, 0, 142, 143, 144, 145, 2210, 146, 147, 148, 0, 149, 0, 150, 151, 0, 449, 450, 153, 0, 154, 0, 451, 0, 0, 156, 0, 452, 453, 0, 157, 2211, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 455, 167, 456, 168, 169, 170, 457, 0, 0, 0, 171, 0, 172, 0, 173, 458, 0, 0, 174, 459, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 460, 182, 183, 0, 0, 0, 184, 461, 185, 462, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 463, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 464, 213, 465, 214, 466, 467, 215, 2212, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 468, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 469, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 470, 0, 0, 247, 471, 248, 249, 472, 473, 474, 475, 250, 0, 251, 252, 476, 253, 0, 0, 0, 254, 0, 0, 255, 477, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 478, 0, 0, 479, 262, 480, 263, 481, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 482, 483, 0, 0, 0, 484, 0, 0, 0, 0, 0, 276, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 498, 499, 500, 501, 0, 502, 503, 278, 279, 504, 505, 506, 507, 508, 0, 509, 510, 511, 512, 513, 514, 515, 516, 0, 0, 0, 517, 283, 518, 284, 519, 520, 521, 522, 523, 524, 525, 526, 527, 0, 0, 528, 288, 289, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 549, 0, 299, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 0, 302, 0, 567, 568, 569, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 570, 571, 0, 0, 0, 0, 572, 0, 573, 0, 0, 574, 575, 0, 576, 577, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 105, 0, 0, 106, 438, 108, 109, 0, 110, 111, 112, 113, 439, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 440, 121, 0, 0, 122, 0, 123, 441, 442, 124, 0, 0, 125, 126, 127, 128, 129, 130, 907, 0, 131, 132, 133, 134, 443, 444, 135, 445, 446, 137, 447, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 448, 146, 147, 148, 0, 149, 0, 150, 151, 0, 449, 450, 153, 0, 154, 0, 451, 0, 0, 156, 0, 452, 453, 0, 157, 454, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 455, 167, 456, 168, 169, 170, 457, 0, 0, 0, 171, 0, 172, 0, 173, 458, 0, 0, 174, 459, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 460, 182, 183, 0, 0, 0, 184, 461, 185, 462, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 463, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 464, 213, 465, 214, 466, 467, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 468, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 469, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 470, 0, 0, 247, 471, 248, 249, 472, 473, 474, 475, 250, 0, 251, 252, 476, 253, 0, 0, 0, 254, 0, 0, 255, 477, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 478, 0, 0, 479, 262, 480, 263, 481, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 482, 483, 0, 0, 0, 484, 0, 0, 0, 0, 0, 276, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 498, 499, 500, 501, 0, 502, 503, 278, 279, 504, 505, 506, 507, 508, 0, 509, 510, 511, 512, 513, 514, 515, 516, 0, 0, 0, 517, 283, 518, 284, 519, 520, 521, 522, 523, 524, 525, 526, 527, 0, 0, 528, 288, 289, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 549, 0, 299, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 0, 302, 0, 567, 568, 569, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 570, 571, 0, 0, 0, 0, 572, 0, 573, 0, 0, 574, 575, 0, 576, 577, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 105, 0, 0, 106, 438, 108, 109, 0, 110, 111, 112, 113, 439, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 440, 121, 0, 0, 122, 0, 123, 441, 442, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 443, 444, 135, 445, 446, 137, 447, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 448, 146, 147, 148, 0, 149, 0, 150, 151, 0, 449, 450, 153, 0, 154, 0, 451, 0, 0, 156, 0, 452, 453, 0, 157, 454, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 455, 167, 456, 168, 169, 170, 457, 0, 0, 0, 171, 0, 172, 0, 173, 458, 0, 0, 174, 459, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 460, 182, 183, 0, 0, 0, 184, 461, 185, 462, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 463, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 464, 213, 465, 214, 466, 467, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 468, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 469, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 470, 0, 0, 247, 471, 248, 249, 472, 473, 474, 475, 250, 0, 251, 252, 476, 253, 0, 0, 0, 254, 0, 0, 255, 477, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 478, 0, 0, 479, 262, 480, 263, 481, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 482, 483, 0, 0, 0, 484, 0, 0, 0, 0, 0, 276, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 498, 499, 500, 501, 0, 502, 503, 278, 279, 504, 505, 506, 507, 508, 0, 509, 510, 511, 512, 513, 514, 515, 516, 0, 0, 0, 517, 283, 518, 284, 519, 520, 521, 522, 523, 524, 525, 526, 527, 0, 0, 528, 288, 289, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 549, 0, 299, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 0, 302, 0, 567, 568, 569, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 570, 571, 0, 0, 0, 0, 572, 0, 573, 1171, 0, 574, 575, 0, 576, 577, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 105, 0, 0, 106, 438, 108, 109, 0, 110, 111, 112, 113, 439, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 440, 121, 0, 0, 122, 0, 123, 441, 442, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 443, 444, 135, 445, 446, 137, 447, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 448, 146, 147, 148, 0, 149, 0, 150, 151, 0, 449, 450, 153, 0, 154, 0, 451, 0, 0, 156, 0, 452, 453, 0, 157, 454, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 455, 167, 456, 168, 169, 170, 457, 0, 0, 0, 171, 0, 172, 0, 173, 458, 0, 0, 174, 459, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 460, 182, 183, 0, 0, 0, 184, 461, 185, 462, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 463, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 464, 213, 465, 214, 466, 467, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 468, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 469, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 470, 0, 0, 247, 471, 248, 249, 472, 473, 474, 475, 250, 0, 251, 252, 476, 253, 0, 0, 0, 254, 0, 0, 255, 477, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 478, 0, 0, 479, 262, 480, 263, 481, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 482, 483, 0, 0, 0, 484, 0, 0, 0, 0, 0, 276, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 498, 499, 500, 501, 0, 502, 503, 278, 279, 504, 505, 506, 507, 508, 0, 509, 510, 511, 512, 513, 514, 515, 516, 0, 0, 0, 517, 283, 518, 284, 519, 520, 521, 522, 523, 524, 525, 526, 527, 0, 0, 528, 288, 289, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 549, 0, 299, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 0, 302, 0, 567, 568, 569, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 570, 571, 0, 0, 0, 0, 572, 0, 573, 1232, 0, 574, 575, 0, 576, 577, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 105, 0, 0, 106, 438, 108, 109, 0, 110, 111, 112, 113, 439, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 440, 121, 0, 0, 122, 0, 123, 441, 442, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 443, 444, 135, 445, 446, 137, 447, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 448, 146, 147, 148, 0, 149, 0, 150, 151, 0, 449, 450, 153, 0, 154, 0, 451, 0, 0, 156, 0, 452, 453, 0, 157, 454, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 455, 167, 456, 168, 169, 170, 457, 0, 0, 0, 171, 0, 172, 0, 173, 458, 0, 0, 174, 459, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 460, 182, 183, 0, 0, 0, 184, 461, 185, 462, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 463, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 464, 213, 465, 214, 466, 467, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 468, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 469, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 470, 0, 0, 247, 471, 248, 249, 472, 473, 474, 475, 250, 0, 251, 252, 476, 253, 0, 0, 0, 254, 0, 0, 255, 477, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 478, 0, 0, 479, 262, 480, 263, 481, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 482, 483, 0, 0, 0, 484, 0, 0, 0, 0, 0, 276, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 498, 499, 500, 501, 0, 502, 503, 278, 279, 504, 505, 506, 507, 508, 0, 509, 510, 511, 512, 513, 514, 515, 516, 0, 0, 0, 517, 283, 518, 284, 519, 520, 521, 522, 523, 524, 525, 526, 527, 0, 0, 528, 288, 289, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 549, 0, 299, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 0, 302, 0, 567, 568, 569, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 570, 571, 0, 0, 0, 0, 572, 0, 573, 1258, 0, 574, 575, 0, 576, 577, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 105, 0, 0, 106, 438, 108, 109, 0, 110, 111, 112, 113, 439, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 440, 121, 0, 0, 122, 0, 123, 441, 442, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 443, 444, 135, 445, 446, 137, 447, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 448, 146, 147, 148, 0, 149, 0, 150, 151, 0, 449, 450, 153, 0, 154, 0, 451, 0, 0, 156, 0, 452, 453, 0, 157, 454, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 455, 167, 456, 168, 169, 170, 457, 0, 0, 0, 171, 0, 172, 0, 173, 458, 0, 0, 174, 459, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 460, 182, 183, 0, 0, 0, 184, 461, 185, 462, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 463, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 464, 213, 465, 214, 466, 467, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 468, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 469, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 470, 0, 0, 247, 471, 248, 249, 472, 473, 474, 475, 250, 0, 251, 252, 476, 253, 0, 0, 0, 254, 0, 0, 255, 477, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 478, 0, 0, 479, 262, 480, 263, 481, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 482, 483, 0, 0, 0, 484, 0, 0, 0, 0, 0, 276, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 498, 499, 500, 501, 0, 502, 503, 278, 279, 504, 505, 506, 507, 508, 0, 509, 510, 511, 512, 513, 514, 515, 516, 0, 0, 0, 517, 283, 518, 284, 519, 520, 521, 522, 523, 524, 525, 526, 527, 0, 0, 528, 288, 289, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 549, 0, 299, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 0, 302, 0, 567, 568, 569, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 570, 571, 0, 0, 0, 0, 572, 0, 573, 1280, 0, 574, 575, 0, 576, 577, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 105, 0, 0, 1334, 438, 108, 109, 0, 110, 111, 112, 113, 439, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 440, 121, 0, 0, 122, 0, 123, 441, 442, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 443, 444, 135, 445, 446, 137, 447, 0, 139, 0, 140, 141, 1335, 0, 0, 0, 142, 143, 144, 145, 448, 146, 147, 148, 0, 149, 0, 150, 151, 0, 449, 450, 153, 0, 154, 0, 451, 0, 0, 156, 0, 452, 453, 0, 157, 454, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 455, 167, 456, 168, 169, 170, 457, 0, 0, 0, 171, 0, 172, 0, 173, 458, 0, 0, 174, 459, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 460, 182, 183, 0, 0, 0, 184, 461, 185, 462, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 463, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 464, 213, 465, 214, 466, 467, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 468, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 469, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 470, 0, 0, 247, 471, 248, 249, 472, 473, 474, 475, 250, 0, 251, 252, 476, 253, 0, 0, 0, 254, 0, 0, 255, 477, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 478, 0, 0, 479, 262, 480, 263, 481, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 482, 483, 0, 0, 0, 484, 0, 0, 0, 0, 0, 276, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 498, 499, 500, 501, 0, 502, 503, 278, 279, 504, 505, 506, 507, 508, 0, 509, 510, 511, 512, 513, 514, 515, 516, 0, 0, 0, 517, 283, 518, 284, 519, 520, 521, 522, 523, 524, 525, 526, 527, 0, 0, 528, 288, 289, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 549, 0, 299, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 0, 302, 0, 567, 568, 569, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 570, 571, 0, 0, 0, 0, 572, 0, 573, 0, 0, 574, 575, 0, 576, 577, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 105, 0, 0, 106, 438, 108, 109, 0, 110, 111, 112, 113, 439, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 440, 121, 0, 0, 122, 0, 123, 441, 442, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 443, 444, 135, 445, 446, 137, 447, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 448, 146, 147, 148, 0, 149, 0, 150, 151, 0, 449, 450, 153, 0, 154, 0, 451, 0, 0, 156, 0, 452, 453, 0, 157, 454, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 455, 167, 456, 168, 169, 170, 457, 0, 0, 1696, 171, 0, 172, 0, 173, 458, 0, 0, 174, 459, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 460, 182, 183, 0, 0, 0, 184, 461, 185, 462, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 463, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 464, 213, 465, 214, 466, 467, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 468, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 469, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 470, 0, 0, 247, 471, 248, 249, 472, 473, 474, 475, 250, 0, 251, 252, 476, 253, 0, 0, 0, 254, 0, 0, 255, 477, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 478, 0, 0, 479, 262, 480, 263, 481, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 482, 483, 0, 0, 0, 484, 0, 0, 0, 0, 0, 276, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 498, 499, 500, 501, 0, 502, 503, 278, 279, 504, 505, 506, 507, 508, 0, 509, 510, 511, 512, 513, 514, 515, 516, 0, 0, 0, 517, 283, 518, 284, 519, 520, 521, 522, 523, 524, 525, 526, 527, 0, 0, 528, 288, 289, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 549, 0, 299, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 0, 302, 0, 567, 568, 569, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 570, 571, 0, 0, 0, 0, 572, 0, 573, 0, 0, 574, 575, 0, 576, 577, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 105, 0, 0, 106, 438, 108, 109, 0, 110, 111, 112, 113, 439, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 440, 121, 0, 0, 122, 0, 123, 441, 442, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 443, 444, 135, 445, 446, 137, 447, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 448, 146, 147, 148, 0, 149, 0, 150, 151, 0, 449, 450, 153, 0, 154, 0, 451, 0, 0, 156, 0, 452, 453, 0, 157, 454, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 455, 167, 456, 168, 169, 170, 457, 0, 0, 1698, 171, 0, 172, 0, 173, 458, 0, 0, 174, 459, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 460, 182, 183, 0, 0, 0, 184, 461, 185, 462, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 463, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 464, 213, 465, 214, 466, 467, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 468, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 469, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 470, 0, 0, 247, 471, 248, 249, 472, 473, 474, 475, 250, 0, 251, 252, 476, 253, 0, 0, 0, 254, 0, 0, 255, 477, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 478, 0, 0, 479, 262, 480, 263, 481, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 482, 483, 0, 0, 0, 484, 0, 0, 0, 0, 0, 276, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 498, 499, 500, 501, 0, 502, 503, 278, 279, 504, 505, 506, 507, 508, 0, 509, 510, 511, 512, 513, 514, 515, 516, 0, 0, 0, 517, 283, 518, 284, 519, 520, 521, 522, 523, 524, 525, 526, 527, 0, 0, 528, 288, 289, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 549, 0, 299, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 0, 302, 0, 567, 568, 569, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 570, 571, 0, 0, 0, 0, 572, 0, 573, 0, 0, 574, 575, 0, 576, 577, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 105, 0, 0, 106, 438, 108, 109, 0, 110, 111, 112, 113, 439, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 440, 121, 0, 0, 122, 0, 123, 441, 442, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 443, 444, 135, 445, 446, 137, 447, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 448, 146, 147, 148, 0, 149, 0, 150, 151, 0, 449, 450, 153, 0, 154, 0, 451, 0, 0, 156, 0, 452, 453, 0, 157, 454, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 455, 167, 456, 168, 169, 170, 457, 0, 0, 1700, 171, 0, 172, 0, 173, 458, 0, 0, 174, 459, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 460, 182, 183, 0, 0, 0, 184, 461, 185, 462, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 463, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 464, 213, 465, 214, 466, 467, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 468, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 469, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 470, 0, 0, 247, 471, 248, 249, 472, 473, 474, 475, 250, 0, 251, 252, 476, 253, 0, 0, 0, 254, 0, 0, 255, 477, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 478, 0, 0, 479, 262, 480, 263, 481, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 482, 483, 0, 0, 0, 484, 0, 0, 0, 0, 0, 276, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 498, 499, 500, 501, 0, 502, 503, 278, 279, 504, 505, 506, 507, 508, 0, 509, 510, 511, 512, 513, 514, 515, 516, 0, 0, 0, 517, 283, 518, 284, 519, 520, 521, 522, 523, 524, 525, 526, 527, 0, 0, 528, 288, 289, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 549, 0, 299, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 0, 302, 0, 567, 568, 569, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 570, 571, 0, 0, 0, 0, 572, 0, 573, 0, 0, 574, 575, 0, 576, 577, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 105, 0, 0, 106, 438, 108, 109, 0, 110, 111, 112, 113, 439, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 440, 121, 0, 0, 122, 0, 123, 441, 442, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 443, 444, 135, 445, 446, 137, 447, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 448, 146, 147, 148, 0, 149, 0, 150, 151, 0, 449, 450, 153, 0, 154, 0, 451, 0, 0, 156, 0, 452, 453, 0, 157, 454, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 455, 167, 456, 168, 169, 170, 457, 0, 0, 0, 171, 0, 172, 0, 173, 458, 0, 0, 174, 459, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 460, 182, 183, 0, 0, 0, 184, 461, 185, 462, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 463, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 464, 213, 465, 214, 466, 467, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 468, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 469, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 470, 0, 0, 247, 471, 248, 249, 472, 473, 474, 475, 250, 0, 251, 252, 476, 253, 0, 0, 0, 254, 0, 0, 255, 477, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 478, 0, 0, 479, 262, 480, 263, 481, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 482, 483, 0, 0, 0, 484, 0, 0, 0, 0, 0, 276, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 498, 499, 500, 501, 0, 502, 503, 278, 279, 504, 505, 506, 507, 508, 0, 509, 510, 511, 512, 513, 514, 515, 516, 0, 0, 0, 517, 283, 518, 284, 519, 520, 521, 522, 523, 524, 525, 526, 527, 0, 0, 528, 288, 289, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 549, 0, 299, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 0, 302, 0, 567, 568, 569, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 570, 571, 0, 0, 0, 0, 572, 0, 573, 0, 0, 574, 575, 0, 576, 577, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 105, 0, 0, 106, 438, 108, 109, 0, 110, 111, 112, 113, 439, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 440, 121, 0, 0, 122, 0, 123, 441, 442, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 443, 444, 135, 445, 446, 137, 447, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 448, 146, 147, 148, 0, 149, 0, 150, 151, 0, 449, 450, 153, 0, 154, 0, 451, 0, 0, 156, 0, 452, 453, 0, 157, 454, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 455, 167, 456, 168, 169, 170, 457, 0, 0, 0, 171, 0, 172, 0, 173, 458, 0, 0, 174, 459, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 460, 182, 183, 0, 0, 0, 184, 461, 185, 462, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 463, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 464, 213, 465, 214, 466, 467, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 468, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 469, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 470, 0, 0, 247, 471, 248, 249, 472, 473, 474, 475, 250, 0, 251, 252, 476, 253, 0, 0, 0, 254, 0, 0, 255, 477, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 478, 0, 0, 479, 262, 480, 263, 481, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 482, 483, 0, 0, 0, 484, 0, 0, 0, 0, 0, 276, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 498, 499, 500, 501, 0, 502, 503, 278, 279, 504, 505, 506, 507, 508, 0, 509, 510, 511, 512, 513, 514, 515, 516, 0, 0, 0, 517, 283, 518, 284, 1986, 520, 521, 522, 523, 524, 525, 526, 527, 0, 0, 528, 288, 289, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 549, 0, 299, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 0, 302, 0, 567, 568, 569, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 570, 571, 0, 0, 0, 0, 572, 0, 573, 0, 0, 574, 575, 0, 576, 577, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 105, 0, 0, 106, 438, 108, 109, 0, 110, 111, 112, 113, 439, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 440, 121, 0, 0, 122, 0, 123, 441, 442, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 443, 444, 135, 445, 446, 137, 447, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 448, 146, 147, 148, 0, 149, 0, 150, 151, 0, 449, 450, 153, 0, 154, 0, 451, 0, 0, 156, 0, 452, 453, 0, 157, 454, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 455, 167, 456, 168, 169, 170, 457, 0, 0, 0, 171, 0, 172, 0, 173, 458, 0, 0, 174, 459, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 460, 182, 183, 0, 0, 0, 184, 461, 185, 462, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 463, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 464, 213, 465, 214, 466, 467, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 468, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 469, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 470, 0, 0, 247, 471, 248, 249, 472, 473, 474, 475, 250, 0, 251, 252, 476, 253, 0, 0, 0, 254, 0, 0, 255, 477, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 478, 0, 0, 479, 262, 480, 263, 481, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 482, 483, 0, 0, 0, 484, 0, 0, 0, 0, 0, 276, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 498, 499, 500, 501, 0, 502, 503, 278, 279, 504, 505, 506, 507, 508, 0, 509, 510, 511, 512, 513, 514, 515, 516, 0, 0, 0, 517, 283, 518, 284, 2082, 520, 521, 522, 523, 524, 525, 526, 527, 0, 0, 528, 288, 289, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 549, 0, 299, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 0, 302, 0, 567, 568, 569, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 570, 571, 0, 0, 0, 0, 572, 0, 573, 0, 0, 574, 575, 0, 576, 577, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 105, 0, 0, 106, 438, 108, 109, 0, 110, 111, 112, 113, 439, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 440, 121, 0, 0, 122, 0, 123, 441, 442, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 443, 444, 135, 445, 446, 137, 447, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 448, 146, 147, 148, 0, 149, 0, 150, 151, 0, 449, 450, 153, 0, 154, 0, 451, 0, 0, 156, 0, 452, 453, 0, 157, 2515, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 455, 167, 456, 168, 169, 170, 457, 0, 0, 0, 171, 0, 172, 0, 173, 458, 0, 0, 174, 459, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 460, 182, 183, 0, 0, 0, 184, 461, 185, 462, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 463, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 464, 213, 465, 214, 466, 467, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 468, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 469, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 470, 0, 0, 247, 471, 248, 249, 472, 473, 474, 475, 250, 0, 251, 252, 476, 253, 0, 0, 0, 254, 0, 0, 255, 477, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 478, 0, 0, 479, 262, 480, 263, 481, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 482, 483, 0, 0, 0, 484, 0, 0, 0, 0, 0, 276, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 498, 499, 500, 501, 0, 502, 503, 278, 279, 504, 505, 506, 507, 508, 0, 509, 510, 511, 512, 513, 514, 515, 516, 0, 0, 0, 517, 283, 518, 284, 519, 520, 521, 522, 523, 524, 525, 526, 527, 0, 0, 528, 288, 289, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 549, 0, 299, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 0, 302, 0, 567, 568, 569, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 570, 571, 0, 0, 0, 0, 572, 0, 573, 0, 0, 574, 575, 0, 576, 577, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 1868, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 1886, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 1887, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 1397, 179, 0, 0, 180, 0, 0, 181, 0, 0, 1398, 0, 0, 182, 183, 0, 2312, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 1888, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 1933, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 1886, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 1887, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 1397, 179, 0, 0, 180, 0, 0, 181, 0, 0, 1398, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 1888, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 1933, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 1868, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 302, 0, 303, 0, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 2230, 0, 0, 0, 0, 0, 577, 0, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 1075, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 310, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 302, 0, 303, 0, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 99, 100, 101, 102, 103, 1419, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 302, 0, 303, 0, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 1932, 0, 0, 0, 0, 0, 0, 1933, 0, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 302, 0, 303, 0, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 3098, 0, 0, 0, 0, 0, 577, 0, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 310, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 396, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 310, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 577, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 1933, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 345, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 346, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 911, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 345, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 346, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 927, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 302, 0, 303, 0, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1861, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 927, 0, 931, 932, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 927, 934, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 930, 0, 928, 0, 0, 935, 0, 0, 927, 0, 931, 932, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 928, 0, 930, 0, 0, 0, 0, 0, 0, 0, 929, 0, 931, 932, 0, 930, 0, 928, 0, 0, 0, 0, 0, 0, 0, 931, 932, 929, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 930, 0, 0, 928, 0, 0, 0, 0, 0, 934, 931, 932, 0, 929, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 934, 933, 0, 1624, 1625, 930, 0, 0, 0, 0, 935, 0, 0, 934, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1634, 1635, 0, 0, 0, 0, 0, 935, 0, 0, 927, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1643, 1644, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1645, 1646, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1647, 1648, 0, 0, 927, 928, 936, 937, 938, 939, 940, 941, 942, 943, 0, 929, 0, 1655, 1656, 0, 0, 0, 0, 0, 0, 0, 1693, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 936, 937, 938, 939, 940, 941, 942, 943, 928, 0, 0, 1658, 1659, 930, 0, 0, 0, 0, 929, 0, 0, 0, 0, 931, 932, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 928, 933, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 927, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 927, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 934, 0, 0, 929, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 928, 0, 934, 0, 0, 0, 0, 0, 0, 930, 929, 0, 0, 0, 0, 935, 0, 0, 927, 931, 932, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 930, 935, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 928, 0, 0, 1689, 1690, 934, 927, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 934, 928, 0, 1694, 930, 0, 0, 0, 935, 0, 0, 929, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 933, 0, 1713, 1714, 0, 0, 928, 0, 0, 0, 0, 0, 0, 935, 0, 930, 929, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 934, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1716, 1717, 0, 0, 0, 0, 934, 927, 935, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 2387, 2388, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 927, 0, 935, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 930, 0, 2390, 2391, 0, 0, 0, 927, 0, 0, 931, 932, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 933, 0, 0, 0, 0, 928, 936, 937, 938, 939, 940, 941, 942, 943, 0, 929, 927, 2416, 2417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 930, 0, 928, 2795, 2796, 0, 0, 927, 0, 934, 931, 932, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 930, 929, 0, 0, 0, 0, 935, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 928, 0, 0, 0, 930, 0, 0, 934, 0, 0, 929, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 930, 0, 0, 0, 0, 0, 935, 0, 0, 934, 931, 932, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 934, 0, 2992, 2993, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 927, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 1550, 0, 0, 0, 0, 935, 0, 0, 928, 927, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 936, 937, 938, 939, 940, 941, 942, 943, 0, 929, 0, 0, 1556, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 930, 933, 928, 0, 1562, 0, 0, 0, 0, 0, 931, 932, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 1563, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 935, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 927, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 927, 1571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 928, 0, 1572, 0, 0, 0, 0, 0, 0, 0, 929, 0, 927, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 930, 0, 928, 0, 1578, 0, 0, 0, 0, 0, 931, 932, 929, 930, 0, 928, 0, 0, 0, 0, 0, 0, 0, 931, 932, 929, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 933, 0, 0, 0, 0, 0, 0, 930, 0, 929, 0, 0, 928, 0, 0, 0, 0, 931, 932, 0, 930, 0, 929, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 934, 933, 0, 0, 0, 0, 0, 0, 931, 932, 0, 930, 0, 934, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 935, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 1580, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 1581, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 1599, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 1600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 1602, 936, 937, 938, 939, 940, 941, 942, 943, 928, 927, 0, 0, 1603, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 933, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 927, 931, 932, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 928, 0, 935, 0, 0, 927, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 934, 930, 0, 0, 0, 929, 0, 0, 0, 0, 0, 931, 932, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 933, 0, 0, 935, 0, 928, 0, 0, 0, 931, 932, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 934, 0, 0, 1605, 930, 0, 0, 0, 0, 0, 0, 0, 0, 934, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 1610, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 935, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 1611, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 1614, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 1616, 0, 0, 927, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 928, 0, 0, 0, 1617, 0, 0, 0, 0, 0, 929, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 928, 927, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 927, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 933, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 934, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 935, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 935, 0, 0, 927, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 935, 0, 0, 927, 1631, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 1633, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 1637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 1638, 930, 936, 937, 938, 939, 940, 941, 942, 943, 928, 931, 932, 0, 1639, 930, 927, 0, 0, 0, 929, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 934, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 935, 0, 930, 0, 0, 0, 0, 0, 0, 0, 934, 0, 931, 932, 935, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 927, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 927, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 1657, 0, 936, 937, 938, 939, 940, 941, 942, 943, 928, 927, 0, 935, 1687, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 936, 937, 938, 939, 940, 941, 942, 943, 929, 0, 0, 0, 1688, 930, 0, 928, 0, 0, 0, 0, 0, 0, 0, 931, 932, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 928, 0, 930, 0, 0, 0, 0, 0, 0, 0, 929, 0, 931, 932, 928, 0, 0, 0, 0, 930, 0, 0, 0, 0, 929, 0, 0, 0, 0, 931, 932, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 930, 933, 0, 0, 1692, 0, 0, 0, 0, 0, 931, 932, 0, 934, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 933, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 927, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 928, 0, 1695, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 2333, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 930, 927, 0, 0, 2354, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 933, 0, 0, 2363, 0, 936, 937, 938, 939, 940, 941, 942, 943, 928, 0, 0, 0, 2372, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 930, 934, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 933, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 935, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 934, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 935, 929, 0, 0, 0, 0, 0, 927, 0, 0, 0, 1702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 928, 0, 0, 935, 2384, 0, 930, 0, 0, 0, 929, 0, 0, 927, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0, 928, 0, 0, 0, 0, 0, 931, 932, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 928, 0, 0, 0, 2409, 0, 0, 934, 0, 930, 929, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 933, 2418, 0, 0, 0, 0, 0, 0, 0, 930, 934, 0, 0, 0, 0, 935, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 935, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 2414, 0, 0, 0, 2786, 0, 0, 927, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 936, 937, 938, 939, 940, 941, 942, 943, 0, 929, 0, 2415, 928, 0, 0, 0, 0, 0, 930, 0, 0, 0, 929, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 930, 933, 0, 1565, 0, 0, 0, 0, 0, 0, 931, 932, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 935, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 927, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 928, 927, 0, 1566, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1579, 928, 936, 937, 938, 939, 940, 941, 942, 943, 0, 929, 0, 1583, 928, 0, 930, 0, 0, 0, 0, 927, 0, 0, 929, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 928, 0, 930, 0, 0, 0, 0, 0, 0, 0, 929, 0, 931, 932, 0, 930, 0, 928, 0, 0, 0, 0, 0, 0, 0, 931, 932, 929, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 930, 0, 0, 0, 928, 0, 0, 0, 0, 0, 931, 932, 0, 934, 929, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 934, 933, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 934, 935, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 927, 934, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 928, 1587, 0, 0, 0, 935, 0, 927, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1590, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1601, 930, 0, 0, 0, 0, 927, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 933, 0, 1604, 0, 0, 0, 0, 928, 936, 937, 938, 939, 940, 941, 942, 943, 0, 929, 0, 1630, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 928, 1632, 930, 0, 0, 0, 0, 0, 0, 934, 929, 0, 931, 932, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 930, 0, 0, 0, 0, 0, 927, 0, 935, 0, 931, 932, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 927, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 927, 934, 935, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 928, 936, 937, 938, 939, 940, 941, 942, 943, 930, 929, 0, 1640, 0, 0, 0, 935, 928, 927, 931, 932, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 928, 0, 930, 0, 0, 0, 0, 0, 0, 0, 929, 0, 931, 932, 0, 0, 0, 928, 927, 930, 0, 0, 0, 0, 0, 0, 0, 929, 0, 931, 932, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 930, 933, 928, 1641, 0, 0, 0, 934, 0, 0, 931, 932, 929, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 934, 933, 928, 1642, 930, 0, 0, 0, 935, 0, 0, 0, 929, 0, 931, 932, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 935, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 934, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1652, 0, 0, 0, 0, 0, 0, 934, 935, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1653, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 935, 0, 1654, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1686, 0, 0, 0, 0, 927, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 1691, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 927, 0, 1712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 936, 937, 938, 939, 940, 941, 942, 943, 929, 927, 0, 1715, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 930, 0, 0, 0, 0, 929, 927, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 930, 0, 0, 0, 0, 0, 927, 0, 929, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 930, 0, 0, 934, 0, 929, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 930, 0, 0, 934, 0, 929, 0, 935, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 934, 935, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 934, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 2331, 934, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 2335, 0, 0, 0, 0, 935, 0, 0, 927, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 2336, 0, 0, 0, 0, 927, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 928, 927, 0, 2348, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 928, 933, 0, 2353, 0, 930, 0, 0, 0, 0, 929, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 927, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 935, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 927, 0, 0, 2356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 936, 937, 938, 939, 940, 941, 942, 943, 0, 927, 928, 2357, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 927, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 928, 0, 2367, 0, 0, 0, 930, 0, 0, 0, 929, 0, 927, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 928, 933, 0, 2368, 0, 0, 0, 0, 0, 0, 929, 0, 0, 930, 0, 0, 928, 0, 927, 0, 0, 0, 0, 931, 932, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 928, 0, 0, 931, 932, 0, 0, 0, 934, 930, 929, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 928, 0, 0, 0, 0, 0, 0, 930, 0, 934, 929, 0, 0, 0, 935, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 935, 0, 931, 932, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 934, 2371, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 2373, 0, 0, 0, 935, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 2376, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 927, 2377, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 928, 0, 0, 2378, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 936, 937, 938, 939, 940, 941, 942, 943, 928, 0, 0, 2379, 0, 927, 0, 930, 0, 0, 929, 0, 0, 0, 0, 0, 0, 931, 932, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 927, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 927, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 930, 0, 0, 928, 0, 0, 0, 0, 0, 934, 931, 932, 0, 929, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 930, 929, 0, 0, 0, 935, 0, 0, 0, 0, 931, 932, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 934, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 935, 0, 928, 2383, 934, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 934, 2385, 0, 0, 0, 0, 0, 930, 935, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 2386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 928, 0, 927, 2392, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 935, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 928, 2393, 0, 0, 0, 0, 0, 930, 0, 0, 929, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 930, 929, 0, 0, 0, 0, 927, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 936, 937, 938, 939, 940, 941, 942, 943, 931, 932, 934, 2394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 928, 0, 0, 0, 0, 0, 0, 0, 934, 0, 929, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 930, 0, 0, 0, 0, 0, 0, 935, 0, 0, 931, 932, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 935, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 934, 2395, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 928, 0, 0, 2396, 0, 0, 0, 0, 935, 0, 929, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 933, 2397, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 928, 0, 931, 932, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 933, 2400, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 927, 0, 935, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 2410, 0, 0, 927, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 933, 0, 2411, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 936, 937, 938, 939, 940, 941, 942, 943, 930, 929, 0, 2413, 0, 928, 0, 934, 0, 0, 931, 932, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 930, 935, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 933, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 934, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 935, 0, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 2421, 0, 928, 0, 0, 0, 0, 930, 0, 0, 0, 0, 929, 927, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 933, 0, 2423, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 930, 0, 0, 2425, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 934, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 934, 0, 927, 0, 935, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 934, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 936, 937, 938, 939, 940, 941, 942, 943, 930, 0, 928, 2427, 0, 0, 0, 0, 935, 0, 931, 932, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 2428, 0, 0, 0, 930, 0, 0, 0, 0, 928, 927, 0, 0, 0, 931, 932, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 933, 928, 2429, 0, 0, 0, 935, 0, 0, 934, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 935, 0, 0, 931, 932, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 935, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 2640, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 2641, 0, 928, 927, 0, 935, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 930, 0, 928, 2642, 0, 0, 0, 0, 0, 0, 931, 932, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 927, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 930, 933, 0, 2792, 0, 0, 0, 0, 0, 0, 931, 932, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 935, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 927, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 928, 2794, 934, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 927, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 930, 935, 0, 2800, 0, 927, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 933, 0, 2801, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 934, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 936, 937, 938, 939, 940, 941, 942, 943, 931, 932, 928, 2802, 0, 0, 930, 0, 0, 0, 0, 0, 929, 0, 935, 0, 931, 932, 0, 0, 0, 933, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 933, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 2804, 934, 927, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2539, 2540, 2541, 2542, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2543, 0, 0, 0, 0, 928, 0, 0, 0, 930, 0, 0, 0, 0, 0, 929, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 933, 2806, 0, 2544, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 930, 0, 0, 2807, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 2545, 0, 0, 0, 2546, 0, 2547, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 2808, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2548, 0, 2549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2550, 2551, 2552, 0, 0, 2553, 2554, 2555, 2556, 2557, 0, 2558, 2559, 2560, 0, 2561, 2562, 2563, 2564, 2565, 2566, 935, 0, 0, 0, 2567, 0, 2568, 0, 2569, 2570, 2571, 2572, 2573, 2574, 0, 0, 2575, 2576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2578, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 2991, 0, 2579, 2580, 2581, 0, 0, 0, 0, 0, 2582, 0, 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 2584, 105, 0, 3078, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 302, 0, 303, 0, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 99, 100, 101, 102, 103, 1532, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 302, 0, 303, 0, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 99, 100, 101, 102, 103, 2164, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 302, 0, 303, 0, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 99, 100, 101, 102, 103, 2202, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 927, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 302, 0, 303, 0, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 0, 0, 0, 0, 2658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 927, 1564, 0, 0, 0, 931, 932, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 0, 0, 933, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 928, 0, 0, 0, 0, 927, 0, 0, 0, 934, 929, 0, 0, 0, 0, 0, 0, 0, 0, 2090, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 930, 0, 0, 929, 0, 0, 0, 0, 935, 0, 931, 932, 927, 2092, 0, 0, 0, 0, 0, 0, 0, 945, 946, 947, 948, 949, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 930, 0, 0, 0, 929, 0, 950, 951, 952, 953, 931, 932, 0, 0, 0, 0, 2349, 0, 0, 0, 0, 954, 955, 956, 957, 0, 929, 958, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 959, 960, 928, 0, 934, 931, 932, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 930, 0, 0, 0, 0, 961, 962, 0, 0, 933, 931, 932, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 934, 0, 933, 0, 0, 930, 935, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 0, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 933, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2350, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 934, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 930, 0, 936, 937, 938, 939, 940, 941, 942, 943, 931, 932, 1661, 915, 1662, 1663, 918, 919, 920, 921, 922, 1664, 1665, 1666, 1667, 0, 2360, 0, 0, 0, 0, 933, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1739, 915, 1740, 1741, 918, 919, 920, 921, 922, 1742, 1743, 1744, 1745, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 1668, 0, 0, 0, 934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1739, 915, 1740, 1741, 918, 919, 920, 921, 922, 1742, 1743, 1744, 1745, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 935, 1746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2106, 0, 0, 0, 0, 0, 0, 0, 0, 1739, 915, 1740, 1741, 918, 919, 920, 921, 922, 1742, 1743, 1744, 1745, 0, 0, 0, 0, 0, 0, 0, 1671, 0, 934, 0, 1747, 0, 0, 0, 0, 0, 1672, 1673, 0, 0, 1748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1674, 2793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 935, 1747, 0, 1749, 0, 0, 0, 0, 2405, 0, 0, 1748, 0, 1750, 1751, 0, 0, 0, 1739, 915, 1740, 1741, 918, 919, 920, 921, 922, 1742, 1743, 1744, 1745, 0, 0, 0, 1752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1675, 0, 0, 0, 0, 0, 1749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1750, 1751, 0, 0, 0, 1739, 915, 1740, 1741, 918, 919, 920, 921, 922, 1742, 1743, 1744, 1745, 0, 0, 0, 1752, 0, 0, 0, 0, 0, 0, 1747, 0, 0, 0, 1676, 0, 0, 0, 2442, 1753, 1748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 937, 938, 939, 940, 941, 942, 943, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1749, 0, 0, 0, 0, 0, 2633, 1753, 1754, 0, 1750, 1751, 0, 0, 0, 1739, 915, 1740, 1741, 918, 919, 920, 921, 922, 1742, 1743, 1744, 1745, 0, 0, 0, 1752, 0, 0, 0, 0, 0, 0, 0, 1747, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1748, 0, 0, 0, 0, 0, 1754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 0, 0, 0, 0, 1747, 0, 1749, 0, 0, 0, 0, 2647, 1753, 0, 1748, 0, 1750, 1751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1752, 0, 0, 0, 0, 0, 0, 0, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1749, 0, 0, 0, 0, 0, 0, 1754, 0, 0, 1750, 1751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1752, 0, 0, 0, 0, 0, 0, 1747, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1753, 1748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1749, 0, 0, 0, 0, 0, 0, 1753, 1754, 0, 1750, 1751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1752, 0, 0, 0, 0, 0, 0, 0, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 0, 0, 0, 0, 0, 0, 0, 0, 1754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 0, 0, 0, 0, 0, 0, 0, 1754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 100, 101, 102, 103, 0, 0, 0, 104, 0, 0, 0, 0, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 1854, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 1855, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 345, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 346, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 1863, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 1864, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 345, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 346, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 747, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 345, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 346, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 1854, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 345, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 346, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 2240, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 345, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 346, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 345, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 346, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 1085, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 470, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 2160, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 346, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 736, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 1393, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 1430, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 1431, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 2196, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 346, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 1430, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 102, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 169, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 283, 0, 284, 0, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 99, 100, 101, 1091, 103, 302, 0, 303, 104, 0, 304, 0, 0, 305, 0, 306, 0, 307, 308, 309, 0, 105, 0, 0, 106, 107, 108, 109, 0, 110, 111, 112, 113, 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, 120, 0, 121, 0, 0, 122, 0, 123, 0, 0, 124, 0, 0, 125, 126, 127, 128, 129, 130, 0, 0, 131, 132, 133, 134, 0, 0, 135, 0, 136, 137, 138, 0, 139, 0, 140, 141, 0, 0, 0, 0, 142, 143, 144, 145, 0, 146, 147, 148, 0, 149, 0, 150, 151, 0, 0, 152, 153, 0, 154, 0, 155, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 158, 0, 0, 159, 160, 161, 0, 162, 163, 164, 0, 0, 165, 166, 0, 167, 0, 168, 1092, 170, 0, 0, 0, 0, 171, 0, 172, 0, 173, 0, 0, 0, 174, 0, 0, 175, 176, 177, 0, 178, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 0, 0, 0, 182, 183, 0, 0, 0, 184, 0, 185, 0, 0, 0, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 202, 203, 204, 205, 206, 207, 208, 209, 0, 210, 211, 212, 0, 213, 0, 214, 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, 220, 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, 0, 0, 0, 0, 229, 0, 230, 0, 231, 232, 0, 0, 233, 234, 235, 236, 0, 0, 237, 238, 239, 240, 241, 0, 0, 0, 242, 243, 0, 244, 0, 0, 245, 246, 0, 0, 0, 0, 247, 0, 248, 249, 0, 0, 0, 0, 250, 0, 251, 252, 0, 253, 0, 0, 0, 254, 0, 0, 255, 0, 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, 261, 0, 0, 0, 262, 0, 263, 264, 0, 0, 265, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 269, 270, 0, 271, 0, 272, 273, 274, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 278, 279, 0, 1463, 0, 1464, 0, 0, 0, 0, 0, 1465, 280, 1466, 0, 281, 0, 0, 0, 282, 283, 0, 284, 1467, 0, 0, 0, 285, 0, 0, 0, 286, 0, 0, 287, 288, 289, 290, 0, 0, 0, 291, 292, 293, 0, 294, 295, 0, 0, 296, 0, 297, 0, 0, 0, 0, 0, 0, 298, 0, 299, 300, 0, 0, 0, 0, 0, 0, 0, 1468, 1469, 0, 0, 301, 0, 0, 0, 0, 0, 302, 0, 303, 0, 0, 304, 1470, 0, 305, 0, 306, 0, 307, 308, 309, 1471, 0, 626, 1472, 1096, 0, 1473, 0, 627, 628, 1474, 0, 0, 0, 0, 1476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 629, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 630, 0, 0, 0, 0, 1478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 631, 602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 632, 0, 0, 0, 0, 633, 0, 634, 0, 0, 0, 1479, 635, 0, 0, 0, 1480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1443, 0, 0, 636, 1481, 637, 0, 638, 0, 0, 0, 0, 0, 1482, 1483, 1484, 0, 0, 0, 639, 640, 1485, 0, 641, 0, 0, 0, 0, 642, 1486, 0, 0, 0, 0, 0, 0, 0, 643, 0, 644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1488, 0, 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 648, 0, 0, 0, 0, 0, 649, 650, 0, 0, 651, 652, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1489, 0, 0, 0, 0, 0, 0, 0, -1515, 0, 0, 0, 0, 0, 0, 0, 653, 654, 0, 0, 0, 655, 1490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 656, -1152 }; static const short int yycheck[] = { 2, 493, 494, 612, 336, 2, 720, 481, 482, 483, 12, 1014, 14, 717, 974, 455, 1035, 635, 787, 584, 840, 1459, 24, 654, 679, 680, 14, 1528, 797, 711, 771, 649, 773, 774, 775, 776, 777, 806, 1872, 657, 374, 1567, 44, 45, 536, 367, 1256, 1820, 653, 654, 1083, 706, 1434, 1003, 1436, 1799, 1103, 1463, 1584, 1971, 1006, 1467, 1381, 1314, 592, 1317, 1012, 2236, 1892, 1736, 1103, 563, 564, 565, 729, 414, 1841, 818, 819, 820, 82, 1846, 2475, 878, 12, 82, 1337, 1174, 3, 10, 1533, 1990, 1991, 1358, 42, 3, 1886, 752, 3, 39, 2544, 1884, 1892, 938, 939, 1895, 1896, 97, 68, 1828, 1900, 1901, 1322, 727, 68, 39, 1964, 103, 2562, 892, 893, 2565, 68, 68, 144, 68, 1960, 68, 136, 68, 2574, 161, 10, 167, 929, 105, 59, 727, 1928, 55, 935, 171, 9, 2587, 22, 12, 9, 3, 3, 12, 658, 161, 19, 20, 21, 720, 19, 3, 1902, 1887, 1888, 9, 2230, 136, 12, 159, 3, 88, 2704, 1913, 1914, 19, 20, 21, 10, 223, 1136, 70, 1462, 214, 169, 1104, 1466, 101, 1468, 1469, 1470, 105, 105, 1473, 101, 4, 220, 279, 105, 1479, 1480, 1481, 1482, 1483, 1484, 201, 1486, 1487, 1488, 1489, 1490, 159, 1492, 2257, 251, 6, 280, 44, 301, 107, 9, 118, 99, 12, 296, 221, 179, 144, 164, 436, 19, 20, 21, 169, 280, 120, 2715, 339, 103, 275, 131, 132, 208, 119, 164, 87, 156, 119, 279, 169, 214, 812, 108, 814, 2176, 816, 88, 136, 159, 747, 18, 39, 3, 294, 161, 141, 790, 154, 86, 10, 228, 277, 254, 31, 210, 33, 153, 35, 36, 113, 279, 2813, 40, 41, 2714, 221, 292, 279, 86, 2729, 210, 9, 216, 105, 12, 299, 40, 109, 228, 184, 33, 19, 2224, 41, 2744, 317, 182, 269, 2697, 127, 144, 56, 310, 159, 416, 279, 278, 228, 12, 317, 2709, 999, 66, 2753, 228, 260, 977, 206, 979, 127, 294, 337, 368, 39, 225, 339, 272, 70, 184, 337, 260, 353, 1924, 219, 1926, 83, 218, 88, 139, 268, 184, 317, 272, 216, 273, 308, 354, 216, 246, 1793, 270, 354, 368, 302, 303, 301, 296, 302, 303, 245, 339, 329, 216, 273, 144, 296, 374, 214, 275, 849, 378, 295, 259, 713, 301, 378, 164, 278, 295, 254, 309, 169, 279, 282, 305, 2058, 1010, 395, 306, 329, 314, 305, 136, 317, 317, 488, 404, 314, 10, 407, 317, 493, 476, 1027, 407, 413, 488, 101, 329, 417, 368, 105, 407, 421, 894, 329, 217, 216, 1676, 1348, 428, 429, 210, 260, 2254, 244, 1378, 293, 768, 318, 354, 2261, 279, 489, 296, 2509, 325, 437, 280, 455, 494, 1494, 489, 438, 305, 2118, 487, 294, 164, 489, 339, 487, 428, 169, 306, 489, 2998, 674, 2254, 2184, 2185, 407, 305, 489, 350, 2261, 2320, 389, 329, 2523, 808, 809, 1083, 2962, 1862, 489, 88, 407, 1098, 2268, 489, 487, 928, 339, 272, 823, 329, 489, 216, 1150, 1747, 487, 438, 1272, 210, 317, 1754, 489, 1507, 1508, 1509, 1327, 1098, 1329, 1124, 389, 1531, 1516, 438, 847, 489, 1025, 216, 487, 1315, 2712, 1317, 493, 2252, 857, 1932, 487, 1738, 1972, 1795, 491, 437, 487, 1124, 867, 868, 869, 2982, 487, 2984, 487, 487, 491, 487, 877, 487, 167, 487, 489, 56, 474, 475, 279, 1960, 329, 484, 177, 154, 321, 181, 299, 272, 488, 70, 489, 3, 177, 489, 487, 474, 475, 1685, 575, 576, 577, 144, 489, 184, 494, 342, 25, 119, 3, 161, 270, 494, 51, 576, 3033, 111, 3035, 129, 280, 171, 305, 358, 599, 360, 167, 285, 339, 599, 140, 56, 145, 489, 295, 72, 611, 477, 478, 479, 480, 481, 482, 483, 484, 481, 482, 483, 484, 1906, 142, 107, 407, 314, 247, 1912, 317, 478, 479, 480, 481, 482, 483, 484, 247, 244, 10, 159, 2540, 94, 2781, 1731, 2466, 487, 2148, 2149, 270, 1763, 22, 2551, 487, 656, 994, 438, 491, 284, 1224, 143, 1343, 2853, 2854, 352, 353, 167, 1349, 656, 109, 2569, 2570, 2506, 675, 107, 301, 177, 679, 680, 2500, 70, 1363, 119, 279, 3077, 2584, 479, 480, 481, 482, 483, 484, 2591, 233, 134, 139, 2520, 407, 279, 119, 89, 307, 428, 705, 706, 120, 488, 489, 705, 1391, 143, 713, 39, 2851, 1279, 275, 237, 184, 720, 3100, 1049, 723, 1051, 725, 2489, 265, 1055, 729, 438, 3110, 2520, 733, 238, 122, 736, 2402, 733, 39, 358, 736, 155, 1075, 744, 2912, 1426, 141, 247, 744, 358, 1071, 752, 234, 161, 1371, 2666, 39, 1374, 479, 480, 481, 482, 483, 484, 201, 2598, 224, 768, 1602, 1603, 184, 1789, 0, 2439, 103, 311, 141, 94, 244, 214, 489, 1102, 300, 337, 221, 1312, 86, 182, 2925, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 234, 73, 1806, 1807, 76, 2188, 1826, 1577, 2061, 1829, 1830, 144, 1444, 297, 85, 182, 216, 3, 218, 1502, 1503, 1504, 219, 1506, 2326, 127, 2078, 1510, 1511, 1512, 1513, 1514, 1515, 166, 2217, 216, 164, 218, 1444, 307, 147, 169, 279, 1679, 1680, 427, 428, 328, 245, 2988, 141, 275, 219, 155, 2174, 2066, 358, 294, 2603, 340, 223, 164, 343, 297, 403, 1812, 169, 2119, 461, 2122, 1831, 280, 179, 1314, 1670, 146, 274, 275, 245, 164, 1676, 3, 210, 1931, 169, 148, 217, 2139, 10, 141, 161, 182, 147, 221, 213, 228, 1337, 1931, 2737, 1903, 1904, 2740, 2815, 1907, 2743, 230, 231, 210, 1859, 2748, 3049, 1915, 1916, 1917, 1918, 222, 2127, 39, 221, 275, 244, 1757, 1758, 254, 179, 210, 250, 277, 219, 260, 182, 2770, 292, 55, 2773, 2555, 1732, 136, 2558, 263, 203, 204, 205, 2778, 272, 167, 2566, 161, 239, 240, 1970, 403, 1748, 350, 245, 177, 13, 264, 1754, 166, 1293, 964, 19, 966, 21, 67, 88, 219, 341, 272, 272, 216, 2474, 218, 977, 964, 979, 1310, 351, 112, 157, 158, 355, 350, 488, 489, 989, 272, 1464, 1465, 993, 1467, 306, 245, 216, 993, 267, 184, 317, 2033, 1003, 320, 321, 56, 312, 313, 277, 206, 1011, 264, 143, 2450, 488, 489, 1975, 1491, 144, 70, 488, 1022, 142, 292, 341, 494, 1022, 247, 297, 346, 161, 151, 152, 216, 351, 488, 489, 1038, 1039, 159, 171, 1605, 221, 1039, 164, 135, 166, 1611, 159, 169, 2822, 187, 188, 320, 321, 1056, 301, 1825, 487, 1392, 1056, 350, 1063, 199, 200, 369, 370, 1063, 372, 1070, 487, 1072, 487, 124, 1075, 2480, 2481, 2482, 345, 346, 109, 407, 488, 489, 487, 1072, 488, 489, 487, 2614, 210, 488, 489, 279, 488, 489, 353, 354, 56, 368, 350, 221, 2602, 234, 1872, 156, 407, 487, 228, 494, 488, 489, 438, 488, 489, 1796, 179, 2498, 487, 34, 487, 318, 2503, 487, 407, 488, 489, 487, 325, 102, 181, 2536, 1133, 144, 1135, 488, 489, 438, 358, 1140, 260, 1142, 339, 1144, 488, 489, 488, 489, 487, 1150, 488, 489, 272, 1140, 487, 438, 181, 1144, 488, 489, 488, 489, 487, 489, 102, 2183, 889, 890, 468, 469, 470, 471, 472, 473, 487, 90, 296, 488, 489, 94, 300, 301, 2481, 2482, 235, 305, 489, 238, 489, 488, 489, 488, 489, 487, 109, 2404, 3015, 3016, 2017, 2018, 487, 252, 2859, 2860, 119, 487, 489, 487, 487, 329, 487, 487, 487, 487, 487, 487, 1897, 296, 481, 270, 45, 487, 1553, 274, 275, 487, 270, 6, 7, 8, 181, 10, 2441, 487, 13, 14, 15, 16, 487, 487, 1571, 1572, 177, 487, 285, 487, 487, 1578, 1929, 487, 487, 2070, 487, 2072, 487, 487, 171, 477, 478, 479, 480, 481, 482, 483, 484, 2059, 487, 2061, 1599, 389, 487, 487, 487, 487, 487, 270, 487, 487, 487, 1610, 487, 487, 56, 487, 487, 1616, 487, 407, 487, 487, 274, 487, 487, 487, 487, 107, 1627, 1298, 487, 1300, 112, 216, 114, 218, 389, 487, 221, 1638, 1747, 487, 487, 1298, 2131, 487, 2133, 435, 3059, 487, 438, 234, 487, 487, 487, 487, 487, 487, 2120, 487, 2122, 487, 487, 143, 487, 487, 146, 487, 487, 487, 487, 487, 487, 487, 487, 1344, 487, 487, 1347, 262, 1344, 161, 487, 1347, 487, 487, 487, 487, 260, 487, 487, 171, 139, 329, 487, 487, 487, 487, 1367, 181, 488, 489, 487, 487, 487, 487, 487, 487, 383, 3, 1379, 487, 487, 487, 297, 1379, 487, 487, 1387, 304, 487, 1390, 487, 1392, 487, 36, 1390, 277, 274, 117, 24, 235, 26, 224, 221, 1734, 221, 489, 32, 488, 34, 135, 493, 489, 494, 1414, 489, 402, 489, 493, 44, 102, 306, 489, 234, 1424, 1425, 86, 488, 68, 1424, 1425, 356, 488, 279, 460, 1435, 488, 1437, 1438, 127, 488, 488, 22, 494, 177, 487, 480, 488, 163, 1435, 56, 1437, 1438, 489, 489, 167, 267, 3, 2225, 2476, 2477, 481, 279, 389, 82, 90, 91, 489, 71, 274, 2150, 2151, 487, 489, 280, 489, 489, 305, 10, 10, 2160, 106, 10, 10, 10, 10, 297, 10, 34, 10, 115, 2927, 10, 118, 119, 10, 121, 10, 1498, 10, 125, 126, 10, 10, 10, 130, 290, 489, 221, 144, 2468, 100, 489, 244, 488, 488, 2334, 481, 488, 488, 137, 489, 488, 488, 141, 488, 1526, 488, 488, 1529, 488, 1526, 487, 144, 488, 160, 161, 154, 2167, 488, 488, 488, 488, 488, 90, 91, 489, 488, 488, 488, 488, 218, 488, 488, 144, 488, 488, 2173, 488, 3, 106, 488, 280, 494, 2167, 182, 10, 1567, 488, 70, 489, 494, 118, 119, 487, 121, 494, 202, 487, 494, 488, 1567, 207, 494, 1584, 1905, 487, 494, 494, 2269, 148, 2271, 144, 168, 2412, 39, 494, 214, 1584, 494, 100, 218, 219, 228, 280, 170, 276, 232, 112, 133, 170, 55, 276, 133, 489, 161, 241, 242, 243, 55, 301, 494, 489, 488, 249, 379, 405, 219, 245, 2236, 177, 219, 257, 219, 488, 494, 2289, 488, 177, 487, 2078, 307, 2322, 179, 88, 489, 2663, 2664, 144, 166, 306, 489, 229, 169, 481, 169, 202, 224, 109, 284, 494, 207, 279, 175, 3044, 137, 283, 487, 487, 141, 291, 296, 171, 171, 228, 487, 221, 294, 481, 279, 487, 2119, 154, 328, 328, 466, 232, 488, 488, 488, 488, 488, 488, 488, 460, 241, 242, 243, 488, 488, 488, 2139, 488, 488, 321, 488, 2473, 151, 152, 489, 182, 257, 488, 218, 489, 218, 488, 487, 159, 493, 164, 167, 166, 83, 187, 169, 494, 488, 345, 346, 407, 489, 169, 350, 169, 144, 487, 487, 284, 171, 489, 488, 214, 2510, 171, 488, 218, 219, 88, 487, 296, 329, 128, 488, 219, 238, 488, 382, 488, 488, 219, 219, 488, 166, 261, 151, 210, 174, 1768, 489, 442, 169, 10, 245, 229, 169, 306, 221, 244, 404, 489, 68, 489, 487, 228, 279, 2116, 279, 119, 119, 487, 487, 336, 418, 487, 487, 1796, 1797, 487, 494, 487, 487, 417, 428, 488, 488, 47, 279, 488, 426, 488, 283, 100, 275, 489, 488, 260, 152, 489, 488, 111, 417, 294, 169, 487, 279, 279, 279, 272, 488, 488, 488, 487, 218, 1834, 489, 382, 2838, 2839, 2840, 1840, 1841, 219, 83, 487, 219, 1846, 219, 1848, 321, 1850, 487, 296, 487, 119, 171, 171, 301, 404, 1859, 219, 305, 479, 480, 489, 354, 354, 219, 219, 219, 219, 487, 1872, 345, 346, 171, 178, 87, 350, 301, 301, 224, 428, 1883, 1884, 329, 1886, 488, 487, 426, 488, 302, 1892, 488, 488, 1895, 1896, 1883, 1884, 219, 1900, 1901, 489, 488, 488, 488, 83, 488, 100, 488, 100, 2349, 131, 100, 2626, 188, 221, 487, 487, 219, 488, 100, 1922, 10, 1924, 435, 1926, 1922, 1928, 2696, 100, 100, 1932, 1933, 489, 488, 246, 84, 1924, 488, 1926, 489, 159, 489, 219, 389, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1959, 1960, 87, 178, 407, 1959, 487, 192, 10, 487, 1517, 1544, 2777, 185, 186, 187, 188, 189, 190, 191, 2659, 193, 194, 195, 196, 197, 198, 199, 200, 332, 1098, 2596, 435, 1494, 488, 438, 488, 2846, 1124, 34, 2701, 2536, 1960, 489, 1498, 1463, 34, 1935, 479, 480, 2527, 1890, 2534, 2544, 2544, 2592, 2878, 2761, 2718, 2752, 2530, 2215, 3021, 3030, 2870, 87, 2967, 2914, 2884, 1128, 2264, 1931, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 488, 489, 1033, 1383, 1786, 1424, 1039, 1412, 2142, 1772, 90, 91, 1787, 719, 391, 2938, 2799, 90, 91, 2626, 390, 624, 1357, 794, 1568, 2749, 106, 2948, 1817, 771, 2776, 2825, 105, 106, 3110, 2656, 109, 1792, 118, 119, 1075, 121, 1549, 3093, 430, 118, 119, 2696, 121, 1871, 768, 2505, 2504, 2473, 26, 2099, 3076, 1133, 981, 389, 167, 736, 3107, 2437, 422, 87, 38, 367, 351, 41, 177, 2923, 44, 2141, 46, 1149, 2932, 2996, 50, 3010, 2510, 161, 2753, 55, 989, 1861, 2222, 2495, 161, 2694, 1429, 63, 384, 2836, 1142, 1063, 68, 69, 2142, 707, 2200, 1057, 1347, 2142, 2841, -1, -1, 79, -1, 216, -1, 83, -1, -1, 86, -1, 2160, -1, -1, 226, 227, -1, 202, -1, -1, -1, -1, 207, -1, 202, -1, -1, -1, -1, 207, -1, -1, -1, -1, -1, 247, 424, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, 232, -1, -1, 177, 2200, -1, -1, 232, -1, 241, 242, 243, -1, 448, 138, -1, 241, 242, 243, 2215, -1, -1, -1, -1, 148, 257, 2222, 2990, -1, -1, 465, -1, 257, 2215, -1, -1, -1, 161, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, 310, 284, -1, 489, -1, -1, -1, 2254, 284, -1, -1, -1, -1, 296, 2261, -1, -1, -1, -1, -1, 296, 2268, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 519, -1, 2268, -1, -1, -1, -1, -1, 317, 2289, -1, 3003, 3004, -1, 3006, 358, -1, -1, -1, -1, -1, -1, -1, 2303, -1, 2912, 2306, -1, 236, 3076, 2310, 2306, 2312, -1, -1, -1, -1, 2312, 246, 2882, 248, 2884, 3034, -1, -1, -1, 3093, -1, -1, -1, -1, 570, 571, 572, 573, 574, -1, 3039, 266, -1, -1, -1, 3054, -1, 3056, 3057, 382, -1, -1, -1, -1, -1, -1, 382, -1, -1, -1, -1, -1, -1, -1, 371, 372, 373, 374, 375, -1, -1, 404, -1, 298, -1, -1, -1, -1, 404, -1, -1, -1, -1, 358, -1, -1, -1, 2856, 2857, 2858, -1, 398, 399, 400, 401, 428, -1, -1, -1, -1, -1, -1, 428, -1, -1, 2892, 413, 414, 415, 416, -1, -1, 419, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, -1, -1, -1, 492, 440, 441, -1, -1, -1, -1, -1, -1, -1, -1, 3003, 3004, -1, 3006, -1, -1, -1, -1, -1, -1, -1, -1, 462, 463, 2454, -1, -1, -1, -1, -1, 489, 2461, -1, -1, -1, -1, -1, -1, 2454, -1, -1, 3034, -1, -1, -1, -1, -1, -1, -1, 2809, -1, -1, -1, -1, -1, 2485, -1, -1, -1, 2489, 2980, 3054, -1, 3056, 3057, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 2510, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2520, -1, -1, -1, -1, -1, -1, 2527, -1, -1, 769, -1, -1, 772, -1, -1, 2536, -1, -1, 778, 779, -1, 781, 782, 783, 784, -1, -1, -1, -1, -1, -1, 791, 792, 793, -1, -1, -1, -1, -1, 799, -1, 801, 802, 803, -1, -1, -1, 807, -1, -1, -1, 811, -1, 813, -1, 815, -1, 817, -1, -1, -1, -1, -1, -1, 824, 825, -1, 827, -1, -1, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 2601, 841, 842, 843, 844, 845, 846, -1, -1, -1, -1, 851, 852, 2614, 854, 855, 856, -1, 858, 859, 860, 861, 862, 863, 864, 865, 866, 2614, -1, -1, 870, -1, 872, 873, 874, 875, 876, -1, -1, 879, 880, 881, 882, 883, 884, 885, 886, 887, -1, -1, -1, -1, -1, -1, -1, 895, -1, -1, -1, -1, 900, 901, 902, -1, -1, -1, -1, -1, -1, -1, 910, -1, -1, -1, 914, -1, 916, -1, -1, -1, -1, -1, -1, -1, 924, 925, 926, 927, -1, -1, -1, 931, 932, 933, 934, -1, 936, 937, 938, 939, 940, 941, 942, 943, 944, -1, -1, -1, -1, -1, -1, 2712, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, 989, -1, 2752, -1, -1, -1, -1, -1, -1, -1, -1, 26, 27, -1, -1, 30, 2752, 32, -1, -1, 35, -1, -1, 38, 2774, -1, 41, -1, 43, 44, -1, 46, -1, 48, 49, 50, -1, 52, 53, -1, 55, 87, -1, -1, -1, 60, 61, 62, -1, 64, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, 76, 2812, -1, -1, 80, 81, 2812, 83, -1, -1, -1, -1, -1, -1, -1, -1, 92, -1, -1, 2830, 26, -1, -1, -1, -1, -1, 102, -1, -1, -1, 106, 107, 38, -1, -1, 41, -1, -1, 44, -1, 46, -1, 2853, 2854, 50, -1, 122, 123, -1, 55, -1, -1, -1, -1, -1, -1, 2867, 63, -1, -1, 167, -1, 68, 69, -1, -1, -1, -1, -1, -1, 177, -1, 148, 79, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, 1137, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2914, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, 26, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, 38, -1, 2948, 41, -1, 247, 44, 148, 46, -1, -1, -1, 50, -1, -1, -1, -1, 55, -1, -1, 161, -1, -1, -1, -1, 63, -1, -1, -1, -1, 68, 69, -1, -1, -1, -1, -1, -1, 249, -1, -1, 79, 253, -1, 255, 83, -1, -1, -1, 260, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, 310, 3015, 3016, -1, 3018, -1, -1, -1, -1, -1, -1, 34, -1, -1, 1267, 1268, 1269, 3031, -1, -1, -1, 300, -1, -1, -1, -1, -1, 236, -1, -1, -1, -1, 138, -1, -1, -1, 3050, 246, -1, 248, -1, -1, 148, -1, -1, -1, 1299, -1, 358, -1, 1303, -1, -1, -1, -1, 161, -1, 266, 337, 338, -1, 87, -1, 1316, -1, -1, -1, 90, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3093, -1, -1, 105, 106, -1, 1338, 109, -1, -1, 298, -1, -1, -1, -1, -1, 118, 119, 1350, 121, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 236, -1, -1, -1, -1, -1, -1, -1, 161, -1, 246, 167, 248, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, 437, -1, 266, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, 87, -1, 202, -1, -1, 492, -1, 207, -1, -1, -1, -1, -1, 216, -1, 298, -1, -1, 87, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, 487, 232, -1, -1, -1, -1, -1, -1, -1, -1, 241, 242, 243, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, 284, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, 296, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, 310, 177, -1, -1, -1, -1, -1, -1, -1, -1, 317, -1, -1, 1550, -1, 1552, -1, -1, -1, 1556, -1, -1, 216, -1, -1, 1562, 1563, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, 1574, -1, 1576, 216, -1, -1, 1580, 1581, -1, -1, -1, 358, -1, 226, 227, 1589, 247, -1, 1592, -1, -1, -1, -1, 1597, -1, -1, 1600, -1, -1, -1, -1, -1, -1, 1607, 247, 1609, -1, -1, 382, 1613, 1614, 1615, -1, -1, -1, 1619, -1, 1621, -1, 1623, -1, 1625, -1, -1, -1, 1629, -1, 1631, -1, 1633, 404, 1635, -1, 1637, -1, 1639, -1, -1, -1, -1, 1644, -1, 1646, -1, 1648, -1, -1, -1, -1, 310, -1, -1, 1656, 1657, 428, 1659, -1, 1661, 1662, -1, -1, 1665, 1666, 1667, 1668, 1669, -1, 310, 1672, 1673, 1674, 1675, -1, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, -1, 1687, 1688, -1, 1690, -1, 1692, 1693, 1694, 1695, 1696, -1, 1698, -1, 1700, 358, 1702, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, 1714, 488, 489, 1717, 1718, 358, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, 1739, 1740, -1, -1, 1743, 1744, 1745, 1746, -1, -1, -1, 1750, 1751, 1752, 1753, -1, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, 87, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 489, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 489, -1, -1, 1853, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, 167, 1879, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, 167, 247, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1986, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, 2011, 301, -1, -1, -1, 226, 227, -1, -1, 247, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2050, -1, -1, -1, 167, -1, -1, -1, -1, -1, 2060, -1, -1, -1, 177, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2082, 310, -1, -1, -1, -1, 2088, -1, 2090, -1, 2092, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, 216, -1, -1, 2106, -1, -1, 2109, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, 2121, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, 310, -1, -1, 489, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2210, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2223, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2237, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, 2249, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 489, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 489, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2333, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, 2354, -1, -1, -1, 87, -1, 2360, 2361, -1, 2363, 477, 478, 479, 480, 481, 482, 483, 484, 2372, 247, -1, 488, 489, -1, -1, -1, -1, -1, -1, -1, 2384, -1, -1, -1, 2388, -1, -1, 2391, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2405, -1, -1, -1, 2409, -1, -1, -1, -1, 2414, -1, -1, 2417, 2418, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, 310, -1, 167, -1, -1, -1, 2442, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 34, -1, -1, 2478, -1, -1, -1, -1, -1, 358, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, 87, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, 105, 106, -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, 167, -1, 310, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 161, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 489, -1, -1, 177, -1, 167, -1, -1, -1, -1, -1, -1, -1, 216, 358, 177, -1, -1, 2633, -1, 144, -1, -1, 226, 227, -1, -1, -1, 202, -1, -1, -1, 2647, 207, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, 247, -1, -1, -1, -1, -1, -1, -1, -1, 177, 216, -1, -1, -1, 232, -1, -1, -1, -1, -1, 226, 227, -1, 241, 242, 243, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2694, -1, -1, -1, 257, -1, 247, -1, -1, -1, 2704, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, 310, -1, -1, 284, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 296, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, 317, 488, 489, -1, -1, 310, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2786, -1, -1, -1, -1, -1, -1, 2793, -1, -1, 2796, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, 2813, -1, -1, -1, -1, -1, -1, -1, -1, -1, 382, -1, -1, 2826, -1, 2828, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 404, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 428, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 489, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2926, -1, 487, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 489, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, 19, -1, 2993, -1, -1, -1, 25, 2998, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, 40, -1, 3014, 43, -1, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, 56, 57, 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -1, 101, 102, -1, 104, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, 115, 116, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, 3103, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, -1, -1, 145, -1, 147, -1, 149, 150, -1, -1, 153, 154, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, 172, 173, 174, 175, -1, -1, -1, 179, 180, 181, 182, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, 350, -1, -1, -1, -1, -1, 356, 357, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, -1, -1, -1, 375, 376, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -1, 461, -1, 463, 464, 465, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, 479, 480, -1, -1, -1, -1, 485, -1, 487, -1, -1, 490, 491, -1, 493, 494, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, 56, 57, 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, 82, -1, 84, 85, 86, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, 104, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, 115, 116, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, -1, -1, 145, -1, 147, -1, 149, 150, -1, -1, 153, 154, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, 173, 174, 175, -1, -1, -1, 179, 180, 181, 182, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, 350, -1, -1, -1, -1, -1, 356, 357, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, -1, -1, -1, 375, 376, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -1, 461, -1, 463, 464, 465, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, 479, 480, -1, -1, -1, -1, 485, -1, 487, -1, -1, 490, 491, -1, 493, 494, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, 56, 57, 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, 68, -1, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, 104, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, 115, 116, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, -1, -1, 145, -1, 147, -1, 149, 150, -1, -1, 153, 154, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, 173, 174, 175, -1, -1, -1, 179, 180, 181, 182, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, 350, -1, -1, -1, -1, -1, 356, 357, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, -1, -1, -1, 375, 376, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -1, 461, -1, 463, 464, 465, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, 479, 480, -1, -1, -1, -1, 485, -1, 487, -1, -1, 490, 491, -1, 493, 494, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, 56, 57, 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, 104, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, 115, 116, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, -1, -1, 145, -1, 147, -1, 149, 150, -1, -1, 153, 154, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, 173, 174, 175, -1, -1, -1, 179, 180, 181, 182, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, 350, -1, -1, -1, -1, -1, 356, 357, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, -1, -1, -1, 375, 376, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -1, 461, -1, 463, 464, 465, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, 479, 480, -1, -1, -1, -1, 485, -1, 487, 488, -1, 490, 491, -1, 493, 494, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, 56, 57, 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, 104, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, 115, 116, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, -1, -1, 145, -1, 147, -1, 149, 150, -1, -1, 153, 154, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, 173, 174, 175, -1, -1, -1, 179, 180, 181, 182, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, 350, -1, -1, -1, -1, -1, 356, 357, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, -1, -1, -1, 375, 376, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -1, 461, -1, 463, 464, 465, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, 479, 480, -1, -1, -1, -1, 485, -1, 487, 488, -1, 490, 491, -1, 493, 494, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, 56, 57, 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, 104, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, 115, 116, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, -1, -1, 145, -1, 147, -1, 149, 150, -1, -1, 153, 154, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, 173, 174, 175, -1, -1, -1, 179, 180, 181, 182, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, 350, -1, -1, -1, -1, -1, 356, 357, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, -1, -1, -1, 375, 376, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -1, 461, -1, 463, 464, 465, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, 479, 480, -1, -1, -1, -1, 485, -1, 487, 488, -1, 490, 491, -1, 493, 494, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, 56, 57, 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, 104, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, 115, 116, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, -1, -1, 145, -1, 147, -1, 149, 150, -1, -1, 153, 154, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, 173, 174, 175, -1, -1, -1, 179, 180, 181, 182, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, 350, -1, -1, -1, -1, -1, 356, 357, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, -1, -1, -1, 375, 376, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -1, 461, -1, 463, 464, 465, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, 479, 480, -1, -1, -1, -1, 485, -1, 487, 488, -1, 490, 491, -1, 493, 494, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, 56, 57, 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, 82, -1, 84, 85, 86, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, 104, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, 115, 116, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, -1, -1, 145, -1, 147, -1, 149, 150, -1, -1, 153, 154, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, 173, 174, 175, -1, -1, -1, 179, 180, 181, 182, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, 350, -1, -1, -1, -1, -1, 356, 357, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, -1, -1, -1, 375, 376, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -1, 461, -1, 463, 464, 465, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, 479, 480, -1, -1, -1, -1, 485, -1, 487, -1, -1, 490, 491, -1, 493, 494, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, 56, 57, 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, 104, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, 115, 116, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, -1, 144, 145, -1, 147, -1, 149, 150, -1, -1, 153, 154, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, 173, 174, 175, -1, -1, -1, 179, 180, 181, 182, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, 350, -1, -1, -1, -1, -1, 356, 357, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, -1, -1, -1, 375, 376, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -1, 461, -1, 463, 464, 465, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, 479, 480, -1, -1, -1, -1, 485, -1, 487, -1, -1, 490, 491, -1, 493, 494, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, 56, 57, 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, 104, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, 115, 116, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, -1, 144, 145, -1, 147, -1, 149, 150, -1, -1, 153, 154, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, 173, 174, 175, -1, -1, -1, 179, 180, 181, 182, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, 350, -1, -1, -1, -1, -1, 356, 357, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, -1, -1, -1, 375, 376, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -1, 461, -1, 463, 464, 465, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, 479, 480, -1, -1, -1, -1, 485, -1, 487, -1, -1, 490, 491, -1, 493, 494, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, 56, 57, 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, 104, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, 115, 116, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, -1, 144, 145, -1, 147, -1, 149, 150, -1, -1, 153, 154, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, 173, 174, 175, -1, -1, -1, 179, 180, 181, 182, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, 350, -1, -1, -1, -1, -1, 356, 357, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, -1, -1, -1, 375, 376, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -1, 461, -1, 463, 464, 465, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, 479, 480, -1, -1, -1, -1, 485, -1, 487, -1, -1, 490, 491, -1, 493, 494, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, 56, 57, 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, 104, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, 115, 116, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, -1, -1, 145, -1, 147, -1, 149, 150, -1, -1, 153, 154, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, 173, 174, 175, -1, -1, -1, 179, 180, 181, 182, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, 350, -1, -1, -1, -1, -1, 356, 357, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, -1, -1, -1, 375, 376, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -1, 461, -1, 463, 464, 465, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, 479, 480, -1, -1, -1, -1, 485, -1, 487, -1, -1, 490, 491, -1, 493, 494, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, 56, 57, 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, 104, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, 115, 116, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, -1, -1, 145, -1, 147, -1, 149, 150, -1, -1, 153, 154, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, 173, 174, 175, -1, -1, -1, 179, 180, 181, 182, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, 350, -1, -1, -1, -1, -1, 356, 357, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, -1, -1, -1, 375, 376, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -1, 461, -1, 463, 464, 465, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, 479, 480, -1, -1, -1, -1, 485, -1, 487, -1, -1, 490, 491, -1, 493, 494, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, 56, 57, 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, 104, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, 115, 116, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, -1, -1, 145, -1, 147, -1, 149, 150, -1, -1, 153, 154, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, 173, 174, 175, -1, -1, -1, 179, 180, 181, 182, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, 350, -1, -1, -1, -1, -1, 356, 357, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, -1, -1, -1, 375, 376, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -1, 461, -1, 463, 464, 465, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, 479, 480, -1, -1, -1, -1, 485, -1, 487, -1, -1, 490, 491, -1, 493, 494, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, 37, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, 56, 57, 58, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, 104, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, 115, 116, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, -1, -1, 145, -1, 147, -1, 149, 150, -1, -1, 153, 154, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, 173, 174, 175, -1, -1, -1, 179, 180, 181, 182, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, 350, -1, -1, -1, -1, -1, 356, 357, -1, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, -1, -1, -1, -1, 375, 376, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, -1, -1, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, -1, 436, 437, 438, 439, 440, -1, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, -1, 461, -1, 463, 464, 465, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, 479, 480, -1, -1, -1, -1, 485, -1, 487, -1, -1, 490, 491, -1, 493, 494, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, 114, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, 146, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, 161, 162, -1, -1, 165, -1, -1, 168, -1, -1, 171, -1, -1, 174, 175, -1, 177, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, 267, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, 494, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, 114, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, 146, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, 161, 162, -1, -1, 165, -1, -1, 168, -1, -1, 171, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, 267, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, 494, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, -1, -1, -1, -1, -1, 461, -1, 463, -1, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, 488, -1, -1, -1, -1, -1, 494, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, 166, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, 494, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, -1, -1, -1, -1, -1, 461, -1, 463, -1, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, 4, 5, 6, 7, 8, 481, -1, -1, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 494, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, -1, -1, -1, -1, -1, 461, -1, 463, -1, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, 487, -1, -1, -1, -1, -1, -1, 494, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, -1, -1, -1, -1, -1, 461, -1, 463, -1, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, 488, -1, -1, -1, -1, -1, 494, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, 494, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, 494, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, 494, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, 494, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, 176, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, 493, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, 176, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, 87, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, -1, -1, -1, -1, -1, 461, -1, 463, -1, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 493, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, 87, -1, 226, 227, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, 87, 310, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, 216, -1, 167, -1, -1, 358, -1, -1, 87, -1, 226, 227, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, 167, -1, 216, -1, -1, -1, -1, -1, -1, -1, 177, -1, 226, 227, -1, 216, -1, 167, -1, -1, -1, -1, -1, -1, -1, 226, 227, 177, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, 216, -1, -1, 167, -1, -1, -1, -1, -1, 310, 226, 227, -1, 177, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 310, 247, -1, 488, 489, 216, -1, -1, -1, -1, 358, -1, -1, 310, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 489, -1, -1, -1, -1, -1, 358, -1, -1, 87, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 489, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 489, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 489, -1, -1, 87, 167, 477, 478, 479, 480, 481, 482, 483, 484, -1, 177, -1, 488, 489, -1, -1, -1, -1, -1, -1, -1, 144, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 477, 478, 479, 480, 481, 482, 483, 484, 167, -1, -1, 488, 489, 216, -1, -1, -1, -1, 177, -1, -1, -1, -1, 226, 227, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, 167, 247, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, 87, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, 87, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, 310, -1, -1, 177, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 167, -1, 310, -1, -1, -1, -1, -1, -1, 216, 177, -1, -1, -1, -1, 358, -1, -1, 87, 226, 227, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, 216, 358, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 167, -1, -1, 488, 489, 310, 87, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, 310, 167, -1, 489, 216, -1, -1, -1, 358, -1, -1, 177, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, 247, -1, 488, 489, -1, -1, 167, -1, -1, -1, -1, -1, -1, 358, -1, 216, 177, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, 310, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 489, -1, -1, -1, -1, 310, 87, 358, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 489, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, 87, -1, 358, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, 216, -1, 488, 489, -1, -1, -1, 87, -1, -1, 226, 227, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, 247, -1, -1, -1, -1, 167, 477, 478, 479, 480, 481, 482, 483, 484, -1, 177, 87, 488, 489, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 216, -1, 167, 488, 489, -1, -1, 87, -1, 310, 226, 227, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, 216, 177, -1, -1, -1, -1, 358, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, 167, -1, -1, -1, 216, -1, -1, 310, -1, -1, 177, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 216, -1, -1, -1, -1, -1, 358, -1, -1, 310, 226, 227, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, 310, -1, 488, 489, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, 87, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 489, -1, -1, -1, -1, 358, -1, -1, 167, 87, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, 477, 478, 479, 480, 481, 482, 483, 484, -1, 177, -1, -1, 489, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 216, 247, 167, -1, 489, -1, -1, -1, -1, -1, 226, 227, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 489, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, 358, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 87, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 87, 489, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, 167, -1, 489, -1, -1, -1, -1, -1, -1, -1, 177, -1, 87, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 216, -1, 167, -1, 489, -1, -1, -1, -1, -1, 226, 227, 177, 216, -1, 167, -1, -1, -1, -1, -1, -1, -1, 226, 227, 177, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, 247, -1, -1, -1, -1, -1, -1, 216, -1, 177, -1, -1, 167, -1, -1, -1, -1, 226, 227, -1, 216, -1, 177, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, 310, 247, -1, -1, -1, -1, -1, -1, 226, 227, -1, 216, -1, 310, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, 358, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 489, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 489, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 489, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 489, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 489, 477, 478, 479, 480, 481, 482, 483, 484, 167, 87, -1, -1, 489, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, 247, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, 87, 226, 227, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, 167, -1, 358, -1, -1, 87, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, 310, 216, -1, -1, -1, 177, -1, -1, -1, -1, -1, 226, 227, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, 247, -1, -1, 358, -1, 167, -1, -1, -1, 226, 227, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, 310, -1, -1, 489, 216, -1, -1, -1, -1, -1, -1, -1, -1, 310, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 489, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, 358, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 489, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 489, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 489, -1, -1, 87, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 167, -1, -1, -1, 489, -1, -1, -1, -1, -1, 177, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, 167, 87, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, 87, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, 247, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, 310, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, 358, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, 358, -1, -1, 87, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 358, -1, -1, 87, 489, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 489, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 489, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 489, 216, 477, 478, 479, 480, 481, 482, 483, 484, 167, 226, 227, -1, 489, 216, 87, -1, -1, -1, 177, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, 310, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, 358, -1, 216, -1, -1, -1, -1, -1, -1, -1, 310, -1, 226, 227, 358, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, 87, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, 87, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 489, -1, 477, 478, 479, 480, 481, 482, 483, 484, 167, 87, -1, 358, 489, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, 477, 478, 479, 480, 481, 482, 483, 484, 177, -1, -1, -1, 489, 216, -1, 167, -1, -1, -1, -1, -1, -1, -1, 226, 227, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, 167, -1, 216, -1, -1, -1, -1, -1, -1, -1, 177, -1, 226, 227, 167, -1, -1, -1, -1, 216, -1, -1, -1, -1, 177, -1, -1, -1, -1, 226, 227, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 216, 247, -1, -1, 489, -1, -1, -1, -1, -1, 226, 227, -1, 310, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 247, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, 87, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, 167, -1, 489, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 489, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 216, 87, -1, -1, 489, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, 247, -1, -1, 489, -1, 477, 478, 479, 480, 481, 482, 483, 484, 167, -1, -1, -1, 489, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, 216, 310, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 247, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, 358, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, 310, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, 358, 177, -1, -1, -1, -1, -1, 87, -1, -1, -1, 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 167, -1, -1, 358, 489, -1, 216, -1, -1, -1, 177, -1, -1, 87, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, 167, -1, -1, -1, -1, -1, 226, 227, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 167, -1, -1, -1, 489, -1, -1, 310, -1, 216, 177, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 247, 489, -1, -1, -1, -1, -1, -1, -1, 216, 310, -1, -1, -1, -1, 358, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, 358, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 389, -1, -1, -1, 489, -1, -1, 87, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, 477, 478, 479, 480, 481, 482, 483, 484, -1, 177, -1, 488, 167, -1, -1, -1, -1, -1, 216, -1, -1, -1, 177, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 216, 247, -1, 488, -1, -1, -1, -1, -1, -1, 226, 227, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, 358, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, 87, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 167, 87, -1, 488, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 167, 477, 478, 479, 480, 481, 482, 483, 484, -1, 177, -1, 488, 167, -1, 216, -1, -1, -1, -1, 87, -1, -1, 177, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, 167, -1, 216, -1, -1, -1, -1, -1, -1, -1, 177, -1, 226, 227, -1, 216, -1, 167, -1, -1, -1, -1, -1, -1, -1, 226, 227, 177, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, 216, -1, -1, -1, 167, -1, -1, -1, -1, -1, 226, 227, -1, 310, 177, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, 310, 247, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, 310, 358, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, 87, 310, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, 167, 488, -1, -1, -1, 358, -1, 87, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 216, -1, -1, -1, -1, 87, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, 247, -1, 488, -1, -1, -1, -1, 167, 477, 478, 479, 480, 481, 482, 483, 484, -1, 177, -1, 488, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, 167, 488, 216, -1, -1, -1, -1, -1, -1, 310, 177, -1, 226, 227, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, 216, -1, -1, -1, -1, -1, 87, -1, 358, -1, 226, 227, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 87, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, 87, 310, 358, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 167, 477, 478, 479, 480, 481, 482, 483, 484, 216, 177, -1, 488, -1, -1, -1, 358, 167, 87, 226, 227, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, 167, -1, 216, -1, -1, -1, -1, -1, -1, -1, 177, -1, 226, 227, -1, -1, -1, 167, 87, 216, -1, -1, -1, -1, -1, -1, -1, 177, -1, 226, 227, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 216, 247, 167, 488, -1, -1, -1, 310, -1, -1, 226, 227, 177, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 310, 247, 167, 488, 216, -1, -1, -1, 358, -1, -1, -1, 177, -1, 226, 227, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, 358, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, 310, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, -1, -1, -1, -1, -1, -1, 310, 358, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, 358, -1, 488, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, -1, -1, -1, -1, 87, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, 87, -1, 488, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, 477, 478, 479, 480, 481, 482, 483, 484, 177, 87, -1, 488, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, 216, -1, -1, -1, -1, 177, 87, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, 216, -1, -1, -1, -1, -1, 87, -1, 177, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, 216, -1, -1, 310, -1, 177, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, 216, -1, -1, 310, -1, 177, -1, 358, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, 310, 358, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, 310, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 310, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, -1, -1, -1, -1, 358, -1, -1, 87, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, -1, -1, -1, -1, 87, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 167, 87, -1, 488, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 167, 247, -1, 488, -1, 216, -1, -1, -1, -1, 177, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, 87, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, 358, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 87, -1, -1, 488, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 477, 478, 479, 480, 481, 482, 483, 484, -1, 87, 167, 488, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, 87, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, 167, -1, 488, -1, -1, -1, 216, -1, -1, -1, 177, -1, 87, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 167, 247, -1, 488, -1, -1, -1, -1, -1, -1, 177, -1, -1, 216, -1, -1, 167, -1, 87, -1, -1, -1, -1, 226, 227, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, 167, -1, -1, 226, 227, -1, -1, -1, 310, 216, 177, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, 167, -1, -1, -1, -1, -1, -1, 216, -1, 310, 177, -1, -1, -1, 358, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, 358, -1, 226, 227, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, 310, 488, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, -1, -1, -1, 358, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, 87, 488, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 167, -1, -1, 488, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 477, 478, 479, 480, 481, 482, 483, 484, 167, -1, -1, 488, -1, 87, -1, 216, -1, -1, 177, -1, -1, -1, -1, -1, -1, 226, 227, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, 87, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, 87, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 216, -1, -1, 167, -1, -1, -1, -1, -1, 310, 226, 227, -1, 177, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, 216, 177, -1, -1, -1, 358, -1, -1, -1, -1, 226, 227, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, 310, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 358, -1, 167, 488, 310, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, 310, 488, -1, -1, -1, -1, -1, 216, 358, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 167, -1, 87, 488, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, 358, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, 167, 488, -1, -1, -1, -1, -1, 216, -1, -1, 177, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, 216, 177, -1, -1, -1, -1, 87, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, 477, 478, 479, 480, 481, 482, 483, 484, 226, 227, 310, 488, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 167, -1, -1, -1, -1, -1, -1, -1, 310, -1, 177, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, 216, -1, -1, -1, -1, -1, -1, 358, -1, -1, 226, 227, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 358, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, 310, 488, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 167, -1, -1, 488, -1, -1, -1, -1, 358, -1, 177, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, 247, 488, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, 167, -1, 226, 227, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, 247, 488, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, 87, -1, 358, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, -1, -1, 87, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, 247, -1, 488, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, 477, 478, 479, 480, 481, 482, 483, 484, 216, 177, -1, 488, -1, 167, -1, 310, -1, -1, 226, 227, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, 216, 358, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 247, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, 310, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 358, -1, -1, 488, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, -1, 167, -1, -1, -1, -1, 216, -1, -1, -1, -1, 177, 87, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, 247, -1, 488, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 216, -1, -1, 488, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, 310, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, 310, -1, 87, -1, 358, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, 310, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 477, 478, 479, 480, 481, 482, 483, 484, 216, -1, 167, 488, -1, -1, -1, -1, 358, -1, 226, 227, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, -1, -1, -1, 216, -1, -1, -1, -1, 167, 87, -1, -1, -1, 226, 227, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, 247, 167, 488, -1, -1, -1, 358, -1, -1, 310, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, 358, -1, -1, 226, 227, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, 358, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, -1, 167, 87, -1, 358, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 216, -1, 167, 488, -1, -1, -1, -1, -1, -1, 226, 227, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, 87, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 216, 247, -1, 488, -1, -1, -1, -1, -1, -1, 226, 227, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, 358, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, 87, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, 167, 488, 310, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, 87, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 216, 358, -1, 488, -1, 87, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, 247, -1, 488, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, 310, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, 477, 478, 479, 480, 481, 482, 483, 484, 226, 227, 167, 488, -1, -1, 216, -1, -1, -1, -1, -1, 177, -1, 358, -1, 226, 227, -1, -1, -1, 247, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 247, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 310, 87, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, 97, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 140, -1, -1, -1, -1, 167, -1, -1, -1, 216, -1, -1, -1, -1, -1, 177, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, 247, 488, -1, 183, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 216, -1, -1, 488, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, 209, -1, -1, -1, 213, -1, 215, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, -1, 262, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 315, 316, 317, -1, -1, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, 330, 331, 332, 333, 334, 335, 358, -1, -1, -1, 340, -1, 342, -1, 344, 345, 346, 347, 348, 349, -1, -1, 352, 353, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 409, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, 488, -1, 423, 424, 425, -1, -1, -1, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 463, 25, -1, 488, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, -1, -1, -1, -1, -1, 461, -1, 463, -1, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, 4, 5, 6, 7, 8, 481, -1, -1, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, -1, -1, -1, -1, -1, 461, -1, 463, -1, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, 4, 5, 6, 7, 8, 481, -1, -1, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, -1, -1, -1, -1, -1, 461, -1, 463, -1, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, 4, 5, 6, 7, 8, 481, -1, -1, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, 87, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, -1, -1, -1, -1, -1, 461, -1, 463, -1, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, -1, -1, -1, 481, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, 87, 88, -1, -1, -1, 226, 227, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, 247, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, 167, -1, -1, -1, -1, 87, -1, -1, -1, 310, 177, -1, -1, -1, -1, -1, -1, -1, -1, 144, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, 216, -1, -1, 177, -1, -1, -1, -1, 358, -1, 226, 227, 87, 144, -1, -1, -1, -1, -1, -1, -1, 371, 372, 373, 374, 375, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, 216, -1, -1, -1, 177, -1, 398, 399, 400, 401, 226, 227, -1, -1, -1, -1, 167, -1, -1, -1, -1, 413, 414, 415, 416, -1, 177, 419, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, 440, 441, 167, -1, 310, 226, 227, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, 216, -1, -1, -1, -1, 462, 463, -1, -1, 247, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, 310, -1, 247, -1, -1, 216, 358, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 247, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 306, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, 310, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, 216, -1, 477, 478, 479, 480, 481, 482, 483, 484, 226, 227, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 467, -1, -1, -1, -1, 247, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, 87, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, 358, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, 216, -1, 310, -1, 167, -1, -1, -1, -1, -1, 226, 227, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, 467, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 358, 167, -1, 216, -1, -1, -1, -1, 87, -1, -1, 177, -1, 226, 227, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, 358, -1, -1, -1, 87, 310, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, 87, 310, 358, -1, 226, 227, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, 167, -1, 216, -1, -1, -1, -1, 87, 310, -1, 177, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 216, -1, -1, -1, -1, -1, -1, 358, -1, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, 167, 477, 478, 479, 480, 481, 482, 483, 484, 310, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, 310, 358, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 5, 6, 7, 8, -1, -1, -1, 12, -1, -1, -1, -1, 477, 478, 479, 480, 481, 482, 483, 484, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, 176, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, 176, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, 116, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, 176, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, 176, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, 176, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, 176, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, 154, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, 88, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, 144, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, 234, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, 279, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, 119, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, 397, -1, -1, -1, 401, 402, -1, 404, -1, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, 4, 5, 6, 7, 8, 461, -1, 463, 12, -1, 466, -1, -1, 469, -1, 471, -1, 473, 474, 475, -1, 25, -1, -1, 28, 29, 30, 31, -1, 33, 34, 35, 36, -1, -1, -1, 40, -1, -1, 43, -1, 45, 46, 47, 48, 49, -1, 51, -1, -1, 54, -1, 56, -1, -1, 59, -1, -1, 62, 63, 64, 65, 66, 67, -1, -1, 70, 71, 72, 73, -1, -1, 76, -1, 78, 79, 80, -1, 82, -1, 84, 85, -1, -1, -1, -1, 90, 91, 92, 93, -1, 95, 96, 97, -1, 99, -1, 101, 102, -1, -1, 105, 106, -1, 108, -1, 110, -1, -1, 113, -1, -1, -1, -1, 118, -1, -1, 121, -1, -1, 124, 125, 126, -1, 128, 129, 130, -1, -1, 133, 134, -1, 136, -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, 147, -1, 149, -1, -1, -1, 153, -1, -1, 156, 157, 158, -1, 160, -1, 162, -1, -1, 165, -1, -1, 168, -1, -1, -1, -1, -1, 174, 175, -1, -1, -1, 179, -1, 181, -1, -1, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, -1, 202, 203, 204, 205, 206, 207, 208, 209, -1, 211, 212, 213, -1, 215, -1, 217, -1, -1, 220, -1, 222, 223, -1, -1, -1, -1, -1, -1, -1, 231, 232, 233, -1, -1, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, -1, -1, 248, -1, 250, -1, 252, 253, -1, -1, 256, 257, 258, 259, -1, -1, 262, 263, 264, 265, 266, -1, -1, -1, 270, 271, -1, 273, -1, -1, 276, 277, -1, -1, -1, -1, 282, -1, 284, 285, -1, -1, -1, -1, 290, -1, 292, 293, -1, 295, -1, -1, -1, 299, -1, -1, 302, -1, 304, -1, -1, -1, -1, 309, -1, 311, 312, 313, 314, -1, -1, -1, 318, -1, 320, 321, -1, -1, 324, 325, -1, 327, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, 338, 339, -1, 341, -1, 343, 344, 345, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, -1, -1, -1, 382, 383, -1, 24, -1, 26, -1, -1, -1, -1, -1, 32, 394, 34, -1, 397, -1, -1, -1, 401, 402, -1, 404, 44, -1, -1, -1, 409, -1, -1, -1, 413, -1, -1, 416, 417, 418, 419, -1, -1, -1, 423, 424, 425, -1, 427, 428, -1, -1, 431, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, -1, -1, 90, 91, -1, -1, 455, -1, -1, -1, -1, -1, 461, -1, 463, -1, -1, 466, 106, -1, 469, -1, 471, -1, 473, 474, 475, 115, -1, 31, 118, 119, -1, 121, -1, 37, 38, 125, -1, -1, -1, -1, 130, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, 110, -1, 112, -1, -1, -1, 202, 117, -1, -1, -1, 207, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 228, -1, -1, 145, 232, 147, -1, 149, -1, -1, -1, -1, -1, 241, 242, 243, -1, -1, -1, 161, 162, 249, -1, 165, -1, -1, -1, -1, 170, 257, -1, -1, -1, -1, -1, -1, -1, 179, -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 296, -1, 212, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 223, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 235, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 264, -1, -1, -1, -1, -1, 270, 271, -1, -1, 274, 275, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 382, -1, -1, -1, -1, -1, -1, -1, 304, -1, -1, -1, -1, -1, -1, -1, 312, 313, -1, -1, -1, 317, 404, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 418, -1, -1, -1, -1, -1, -1, -1, -1, -1, 428, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 382, 383 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const unsigned short int yystos[] = { 0, 3, 5, 26, 27, 30, 32, 35, 38, 41, 43, 44, 46, 48, 49, 50, 52, 53, 55, 60, 61, 62, 64, 65, 67, 68, 69, 70, 73, 76, 80, 81, 83, 92, 102, 106, 107, 122, 123, 148, 249, 253, 255, 260, 300, 337, 338, 437, 487, 496, 497, 498, 499, 500, 502, 507, 508, 513, 611, 626, 629, 637, 639, 641, 644, 649, 651, 656, 659, 663, 667, 675, 676, 785, 787, 794, 797, 823, 831, 844, 846, 860, 863, 866, 872, 876, 880, 882, 883, 915, 930, 936, 937, 944, 947, 970, 973, 974, 975, 4, 5, 6, 7, 8, 12, 25, 28, 29, 30, 31, 33, 34, 35, 36, 40, 43, 45, 46, 47, 48, 49, 51, 54, 56, 59, 62, 63, 64, 65, 66, 67, 70, 71, 72, 73, 76, 78, 79, 80, 82, 84, 85, 90, 91, 92, 93, 95, 96, 97, 99, 101, 102, 105, 106, 108, 110, 113, 118, 121, 124, 125, 126, 128, 129, 130, 133, 134, 136, 138, 139, 140, 145, 147, 149, 153, 156, 157, 158, 160, 162, 165, 168, 174, 175, 179, 181, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, 209, 211, 212, 213, 215, 217, 220, 222, 223, 231, 232, 233, 236, 237, 238, 239, 240, 241, 242, 243, 248, 250, 252, 253, 256, 257, 258, 259, 262, 263, 264, 265, 266, 270, 271, 273, 276, 277, 282, 284, 285, 290, 292, 293, 295, 299, 302, 304, 309, 311, 312, 313, 314, 318, 320, 321, 324, 325, 327, 337, 338, 339, 341, 343, 344, 345, 346, 356, 375, 382, 383, 394, 397, 401, 402, 404, 409, 413, 416, 417, 418, 419, 423, 424, 425, 427, 428, 431, 433, 440, 442, 443, 455, 461, 463, 466, 469, 471, 473, 474, 475, 494, 906, 907, 908, 911, 914, 159, 368, 622, 179, 308, 658, 971, 56, 85, 146, 267, 277, 297, 368, 531, 532, 533, 546, 603, 832, 786, 161, 277, 292, 368, 455, 793, 911, 658, 176, 279, 909, 911, 912, 795, 881, 118, 161, 275, 274, 275, 932, 658, 877, 658, 873, 280, 911, 678, 680, 681, 847, 73, 76, 70, 282, 70, 275, 845, 932, 824, 932, 161, 932, 932, 948, 932, 932, 945, 224, 917, 911, 911, 798, 68, 487, 677, 0, 3, 337, 136, 864, 906, 911, 911, 223, 4, 244, 494, 614, 911, 275, 932, 461, 972, 280, 403, 534, 275, 532, 292, 161, 159, 184, 339, 842, 843, 719, 720, 911, 908, 403, 792, 789, 932, 503, 867, 120, 155, 184, 800, 19, 29, 37, 50, 57, 58, 74, 75, 77, 78, 80, 94, 104, 105, 110, 115, 116, 119, 135, 137, 141, 150, 154, 173, 180, 182, 201, 214, 216, 218, 219, 245, 258, 279, 283, 286, 287, 288, 289, 294, 303, 314, 317, 319, 321, 345, 346, 350, 357, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 375, 376, 377, 378, 380, 381, 384, 385, 386, 387, 388, 390, 391, 392, 393, 394, 395, 396, 397, 401, 403, 405, 406, 407, 408, 409, 410, 411, 412, 413, 416, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 436, 437, 438, 439, 440, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 463, 464, 465, 479, 480, 485, 487, 490, 491, 493, 494, 696, 699, 702, 703, 704, 709, 895, 897, 899, 900, 904, 910, 911, 984, 990, 113, 144, 184, 886, 166, 906, 931, 932, 56, 94, 852, 878, 932, 56, 70, 238, 874, 875, 67, 679, 86, 127, 155, 272, 468, 469, 470, 471, 472, 473, 685, 686, 687, 31, 37, 38, 56, 70, 93, 105, 110, 112, 117, 145, 147, 149, 161, 162, 165, 170, 179, 181, 212, 223, 235, 264, 270, 271, 274, 275, 312, 313, 317, 382, 579, 602, 848, 852, 853, 856, 922, 631, 632, 631, 631, 306, 630, 631, 791, 906, 184, 830, 640, 664, 665, 906, 642, 652, 26, 38, 41, 44, 46, 50, 55, 63, 68, 69, 79, 83, 86, 138, 148, 161, 236, 246, 248, 266, 298, 949, 951, 952, 660, 638, 86, 946, 949, 916, 144, 120, 801, 830, 680, 677, 488, 911, 862, 861, 10, 88, 751, 752, 938, 911, 613, 906, 650, 509, 216, 911, 534, 908, 911, 144, 833, 839, 840, 911, 842, 696, 721, 221, 135, 911, 116, 912, 913, 961, 962, 792, 301, 504, 56, 70, 124, 156, 181, 235, 238, 252, 270, 274, 868, 869, 932, 622, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 696, 487, 487, 487, 487, 487, 695, 487, 487, 986, 990, 487, 487, 487, 487, 722, 723, 724, 696, 487, 487, 487, 487, 487, 154, 279, 487, 487, 487, 487, 294, 487, 895, 487, 895, 487, 895, 487, 487, 487, 487, 696, 726, 487, 487, 487, 695, 487, 695, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 696, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 695, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 695, 695, 695, 487, 487, 487, 487, 696, 696, 696, 68, 696, 696, 911, 493, 912, 911, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 87, 167, 177, 216, 226, 227, 247, 310, 358, 477, 478, 479, 480, 481, 482, 483, 484, 697, 371, 372, 373, 374, 375, 398, 399, 400, 401, 413, 414, 415, 416, 419, 440, 441, 462, 463, 749, 109, 910, 494, 678, 985, 56, 179, 885, 102, 144, 906, 933, 934, 657, 181, 645, 102, 489, 911, 296, 976, 977, 481, 689, 690, 691, 687, 45, 487, 275, 368, 270, 156, 270, 181, 177, 855, 285, 855, 389, 270, 56, 274, 855, 144, 167, 854, 857, 270, 285, 329, 767, 769, 767, 260, 541, 912, 855, 857, 181, 383, 111, 237, 304, 628, 51, 72, 633, 634, 627, 36, 622, 790, 791, 167, 489, 671, 672, 790, 790, 277, 954, 274, 33, 70, 953, 117, 955, 235, 950, 224, 956, 221, 489, 661, 662, 906, 790, 950, 221, 147, 179, 222, 264, 918, 919, 920, 921, 493, 501, 909, 166, 791, 802, 803, 488, 977, 979, 980, 981, 675, 154, 865, 896, 910, 911, 911, 7, 139, 911, 939, 940, 119, 528, 529, 530, 539, 540, 587, 612, 790, 185, 186, 187, 188, 189, 190, 191, 193, 194, 195, 196, 197, 198, 199, 200, 510, 511, 512, 135, 516, 906, 517, 284, 301, 604, 839, 906, 911, 489, 835, 494, 841, 489, 906, 695, 493, 402, 489, 790, 493, 505, 506, 102, 306, 489, 870, 802, 696, 86, 716, 753, 127, 716, 753, 696, 716, 716, 716, 716, 716, 696, 696, 696, 696, 696, 696, 488, 904, 678, 987, 696, 696, 696, 723, 356, 725, 904, 696, 488, 696, 696, 696, 904, 696, 719, 719, 696, 696, 696, 696, 716, 716, 716, 460, 719, 696, 696, 696, 488, 696, 696, 696, 696, 696, 696, 696, 696, 696, 696, 749, 696, 696, 696, 696, 696, 696, 719, 127, 713, 895, 320, 321, 345, 346, 750, 696, 696, 488, 696, 696, 696, 719, 696, 696, 696, 696, 696, 696, 696, 696, 696, 719, 719, 719, 696, 696, 696, 696, 696, 696, 719, 700, 703, 488, 696, 696, 696, 696, 696, 696, 696, 696, 98, 172, 281, 696, 707, 708, 707, 707, 706, 719, 706, 706, 895, 488, 696, 488, 696, 696, 696, 141, 182, 219, 245, 350, 772, 488, 489, 696, 147, 179, 264, 923, 22, 494, 696, 696, 177, 216, 218, 696, 696, 696, 696, 487, 988, 990, 703, 167, 177, 247, 358, 696, 696, 696, 696, 701, 703, 696, 696, 696, 702, 696, 702, 696, 696, 696, 696, 28, 86, 696, 698, 480, 912, 911, 488, 991, 163, 668, 56, 752, 489, 790, 280, 476, 879, 790, 875, 86, 127, 983, 489, 682, 693, 696, 902, 911, 167, 858, 481, 906, 534, 909, 913, 389, 854, 855, 911, 854, 770, 772, 849, 906, 857, 855, 82, 635, 489, 635, 71, 487, 491, 731, 736, 737, 280, 489, 119, 666, 911, 665, 161, 171, 600, 601, 673, 136, 339, 643, 136, 206, 318, 325, 339, 653, 654, 655, 274, 487, 963, 963, 963, 963, 481, 906, 911, 960, 952, 489, 280, 144, 489, 960, 489, 119, 282, 911, 924, 926, 208, 428, 493, 579, 925, 912, 803, 799, 228, 763, 769, 982, 6, 7, 8, 10, 13, 14, 15, 16, 139, 941, 943, 305, 754, 530, 109, 579, 24, 26, 32, 34, 44, 90, 91, 106, 115, 118, 121, 125, 126, 130, 160, 161, 202, 207, 232, 241, 242, 243, 249, 257, 284, 296, 382, 404, 418, 428, 536, 538, 539, 540, 615, 616, 617, 763, 653, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 489, 528, 514, 290, 99, 153, 259, 605, 605, 221, 837, 834, 494, 840, 144, 481, 911, 752, 696, 788, 912, 100, 962, 103, 254, 623, 912, 489, 244, 869, 790, 871, 796, 489, 488, 717, 710, 488, 481, 489, 488, 488, 488, 488, 488, 489, 489, 88, 488, 488, 301, 489, 488, 991, 489, 489, 488, 489, 488, 487, 489, 489, 488, 489, 489, 488, 488, 301, 488, 488, 488, 488, 489, 488, 488, 489, 488, 488, 488, 728, 729, 488, 489, 489, 488, 489, 489, 488, 489, 488, 489, 488, 489, 489, 489, 488, 489, 489, 144, 489, 489, 488, 489, 488, 489, 488, 489, 488, 489, 488, 712, 489, 489, 488, 489, 488, 489, 488, 489, 488, 489, 489, 489, 488, 488, 488, 488, 489, 488, 489, 488, 489, 488, 488, 488, 488, 488, 488, 488, 489, 489, 488, 489, 488, 9, 11, 12, 18, 19, 20, 21, 87, 167, 177, 216, 226, 227, 247, 310, 358, 477, 478, 479, 480, 481, 482, 483, 484, 697, 488, 489, 489, 488, 489, 488, 489, 144, 489, 489, 144, 696, 144, 696, 144, 696, 144, 488, 488, 706, 488, 488, 488, 488, 488, 489, 488, 488, 489, 488, 488, 489, 489, 719, 492, 494, 494, 494, 912, 696, 911, 696, 218, 719, 678, 989, 134, 758, 487, 988, 703, 696, 701, 9, 11, 12, 18, 19, 20, 21, 87, 167, 177, 216, 226, 227, 247, 310, 358, 477, 478, 479, 480, 481, 482, 483, 484, 697, 749, 749, 988, 696, 494, 909, 669, 670, 906, 184, 244, 307, 935, 934, 653, 909, 696, 136, 299, 339, 646, 647, 648, 978, 690, 144, 166, 683, 684, 762, 763, 783, 692, 494, 909, 144, 859, 488, 911, 70, 855, 855, 220, 489, 181, 270, 851, 854, 906, 512, 636, 634, 68, 487, 731, 738, 911, 39, 164, 169, 210, 260, 272, 407, 438, 489, 735, 906, 909, 791, 487, 654, 911, 964, 965, 494, 494, 280, 662, 906, 909, 148, 144, 919, 494, 168, 494, 10, 22, 814, 94, 119, 580, 581, 912, 389, 814, 493, 912, 94, 119, 582, 583, 912, 68, 260, 302, 303, 487, 524, 804, 808, 100, 767, 942, 755, 768, 769, 814, 815, 815, 112, 114, 146, 267, 551, 554, 555, 598, 600, 621, 621, 621, 815, 143, 234, 600, 621, 815, 815, 815, 280, 133, 815, 170, 276, 170, 276, 133, 815, 815, 815, 815, 815, 815, 10, 88, 280, 625, 815, 815, 815, 815, 815, 621, 815, 536, 489, 487, 494, 550, 556, 905, 911, 909, 909, 909, 141, 182, 219, 245, 350, 773, 909, 772, 772, 772, 909, 909, 909, 909, 909, 909, 772, 511, 177, 487, 518, 535, 537, 538, 328, 340, 343, 547, 906, 301, 754, 911, 731, 494, 841, 279, 428, 506, 55, 804, 696, 696, 719, 488, 696, 405, 696, 696, 94, 213, 317, 320, 321, 341, 346, 351, 718, 580, 718, 719, 719, 696, 696, 904, 719, 696, 696, 580, 696, 696, 379, 727, 696, 730, 719, 696, 702, 702, 910, 696, 696, 719, 910, 696, 696, 696, 719, 219, 696, 696, 696, 696, 719, 219, 696, 696, 696, 696, 696, 719, 696, 696, 696, 696, 696, 696, 696, 696, 696, 177, 216, 218, 696, 696, 696, 696, 696, 703, 177, 247, 358, 696, 696, 696, 696, 701, 696, 696, 696, 702, 696, 702, 696, 696, 696, 696, 696, 698, 696, 696, 696, 405, 696, 696, 696, 696, 696, 144, 696, 144, 696, 144, 696, 219, 696, 696, 696, 488, 494, 609, 488, 991, 703, 719, 758, 87, 696, 696, 177, 216, 218, 696, 696, 696, 696, 487, 988, 703, 167, 177, 247, 358, 696, 696, 696, 696, 701, 696, 696, 696, 702, 696, 702, 696, 696, 696, 696, 696, 698, 911, 884, 489, 671, 307, 179, 647, 676, 42, 731, 230, 231, 779, 780, 55, 389, 688, 783, 768, 684, 88, 694, 909, 911, 481, 911, 773, 850, 312, 313, 306, 772, 772, 854, 489, 739, 740, 738, 488, 979, 736, 169, 169, 169, 407, 438, 826, 827, 904, 731, 229, 742, 742, 731, 731, 752, 234, 747, 911, 488, 489, 481, 481, 961, 224, 961, 911, 175, 911, 86, 94, 119, 221, 696, 929, 109, 585, 913, 279, 427, 428, 928, 923, 814, 525, 805, 487, 811, 816, 811, 488, 524, 807, 901, 902, 904, 809, 764, 487, 696, 119, 584, 586, 912, 581, 608, 905, 601, 601, 107, 143, 234, 297, 553, 599, 552, 553, 608, 905, 905, 909, 171, 171, 905, 905, 773, 772, 772, 579, 815, 772, 815, 773, 773, 119, 772, 239, 240, 543, 772, 772, 772, 906, 119, 129, 140, 311, 542, 541, 487, 541, 6, 139, 217, 544, 905, 909, 617, 548, 549, 550, 551, 911, 25, 139, 624, 246, 552, 590, 557, 494, 906, 177, 519, 524, 548, 159, 437, 521, 887, 489, 537, 291, 515, 731, 762, 836, 752, 279, 221, 821, 488, 711, 489, 696, 488, 488, 487, 573, 573, 573, 328, 328, 488, 488, 488, 488, 488, 488, 167, 306, 705, 488, 488, 489, 488, 488, 488, 696, 466, 467, 460, 488, 489, 749, 749, 488, 488, 488, 488, 488, 488, 489, 488, 488, 488, 488, 488, 488, 488, 715, 763, 489, 488, 489, 488, 488, 488, 489, 488, 488, 489, 488, 488, 488, 488, 488, 488, 696, 218, 488, 758, 703, 696, 701, 87, 749, 749, 988, 489, 488, 488, 696, 488, 389, 488, 488, 489, 489, 488, 696, 488, 696, 488, 696, 488, 489, 488, 488, 488, 911, 488, 696, 696, 218, 719, 758, 487, 988, 703, 696, 701, 87, 749, 749, 988, 887, 670, 159, 674, 754, 754, 909, 909, 493, 781, 782, 167, 83, 909, 911, 494, 767, 187, 855, 512, 685, 488, 488, 407, 731, 742, 742, 489, 825, 814, 169, 169, 221, 301, 142, 159, 300, 743, 488, 489, 965, 251, 966, 144, 244, 250, 263, 927, 586, 814, 487, 487, 926, 696, 685, 812, 813, 904, 817, 489, 487, 808, 488, 488, 489, 976, 696, 765, 903, 119, 696, 819, 820, 696, 171, 171, 601, 608, 604, 44, 260, 618, 608, 623, 581, 909, 909, 790, 619, 488, 489, 911, 906, 94, 95, 96, 97, 140, 183, 209, 213, 215, 260, 262, 315, 316, 317, 320, 321, 322, 323, 324, 326, 327, 328, 330, 331, 332, 333, 334, 335, 340, 342, 344, 345, 346, 347, 348, 349, 352, 353, 394, 409, 423, 424, 425, 431, 433, 463, 558, 561, 562, 563, 564, 565, 566, 567, 911, 906, 488, 488, 88, 527, 537, 909, 487, 838, 329, 771, 754, 128, 488, 696, 749, 219, 101, 295, 314, 579, 588, 97, 238, 488, 696, 696, 696, 696, 488, 488, 696, 261, 714, 219, 696, 696, 696, 758, 87, 696, 696, 749, 696, 696, 696, 488, 488, 488, 219, 488, 719, 758, 87, 696, 166, 174, 768, 151, 759, 784, 912, 489, 442, 481, 10, 689, 752, 229, 169, 169, 827, 754, 820, 731, 731, 696, 732, 600, 744, 744, 744, 911, 59, 268, 273, 309, 474, 475, 958, 959, 306, 967, 961, 108, 293, 244, 928, 279, 279, 814, 689, 489, 814, 818, 819, 816, 810, 808, 901, 489, 89, 122, 766, 488, 489, 608, 604, 487, 119, 119, 556, 585, 488, 558, 549, 591, 487, 573, 487, 568, 569, 317, 352, 562, 564, 588, 317, 353, 353, 354, 560, 573, 568, 336, 559, 568, 588, 588, 568, 573, 573, 588, 487, 573, 34, 90, 94, 109, 119, 216, 218, 221, 234, 262, 297, 575, 576, 577, 589, 354, 487, 588, 487, 487, 487, 573, 487, 569, 574, 494, 488, 520, 535, 487, 524, 606, 607, 911, 754, 773, 822, 489, 488, 488, 580, 417, 47, 488, 467, 488, 488, 489, 896, 488, 489, 488, 488, 488, 696, 488, 488, 488, 488, 488, 489, 488, 696, 275, 100, 152, 756, 111, 888, 782, 417, 909, 741, 169, 731, 731, 762, 221, 733, 221, 734, 487, 745, 279, 279, 279, 87, 957, 148, 203, 204, 205, 968, 969, 488, 488, 929, 526, 813, 820, 488, 979, 903, 820, 487, 487, 606, 321, 345, 346, 479, 480, 898, 899, 624, 575, 201, 221, 487, 592, 594, 595, 596, 219, 219, 341, 351, 355, 570, 571, 572, 588, 354, 487, 570, 487, 570, 570, 588, 219, 570, 909, 584, 426, 578, 898, 218, 83, 119, 171, 577, 171, 219, 219, 219, 219, 570, 219, 570, 911, 979, 521, 524, 522, 488, 489, 766, 487, 171, 696, 696, 696, 716, 719, 906, 760, 903, 757, 762, 131, 132, 225, 278, 889, 890, 178, 891, 87, 545, 684, 768, 736, 771, 696, 301, 696, 301, 748, 911, 487, 958, 224, 772, 772, 772, 969, 545, 766, 606, 606, 488, 900, 900, 620, 145, 233, 265, 41, 83, 593, 911, 596, 488, 488, 489, 572, 610, 896, 610, 488, 695, 426, 302, 488, 488, 488, 488, 488, 976, 607, 219, 83, 488, 488, 489, 488, 488, 888, 306, 489, 761, 766, 696, 768, 100, 100, 131, 100, 890, 269, 278, 892, 893, 188, 688, 221, 487, 487, 488, 489, 746, 747, 488, 488, 624, 103, 217, 254, 260, 597, 597, 488, 489, 219, 488, 489, 488, 695, 588, 588, 523, 766, 488, 828, 829, 904, 696, 891, 40, 66, 903, 435, 774, 896, 896, 100, 896, 100, 100, 893, 10, 696, 748, 748, 911, 488, 590, 84, 119, 218, 594, 911, 488, 588, 896, 588, 979, 489, 814, 488, 159, 894, 766, 911, 896, 896, 896, 773, 492, 488, 488, 829, 820, 219, 487, 806, 775, 87, 178, 488, 807, 487, 192, 488, 691, 776, 777, 778, 10, 696, 488, 489, 772, 778 }; #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ #endif #if ! defined (YYSIZE_T) && defined (size_t) # define YYSIZE_T size_t #endif #if ! defined (YYSIZE_T) # if defined (__STDC__) || defined (__cplusplus) # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # endif #endif #if ! defined (YYSIZE_T) # define YYSIZE_T unsigned int #endif #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ { \ yyerror ("syntax error: cannot back up");\ YYERROR; \ } \ while (0) #define YYTERROR 1 #define YYERRCODE 256 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends the previous symbol: RHS[0] (always defined). */ #define YYRHSLOC(Rhs, K) ((Rhs)[K]) #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ if (N) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ } \ else \ { \ (Current).first_line = (Current).last_line = \ YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ while (0) #endif /* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT # if YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ (Loc).last_line, (Loc).last_column) # else # define YY_LOCATION_PRINT(File, Loc) ((void) 0) # endif #endif /* YYLEX -- calling `yylex' with the right arguments. */ #ifdef YYLEX_PARAM # define YYLEX yylex (&yylval, YYLEX_PARAM) #else # define YYLEX yylex (&yylval) #endif /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (0) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yysymprint (stderr, \ Type, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void yy_stack_print (short int *bottom, short int *top) #else static void yy_stack_print (bottom, top) short int *bottom; short int *top; #endif { YYFPRINTF (stderr, "Stack now"); for (/* Nothing. */; bottom <= top; ++bottom) YYFPRINTF (stderr, " %d", *bottom); YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void yy_reduce_print (int yyrule) #else static void yy_reduce_print (yyrule) int yyrule; #endif { int yyi; unsigned int yylno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", yyrule - 1, yylno); /* Print the symbols being reduced, and their result. */ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (Rule); \ } while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined (__GLIBC__) && defined (_STRING_H) # define yystrlen strlen # else /* Return the length of YYSTR. */ static YYSIZE_T # if defined (__STDC__) || defined (__cplusplus) yystrlen (const char *yystr) # else yystrlen (yystr) const char *yystr; # endif { register const char *yys = yystr; while (*yys++ != '\0') continue; return yys - yystr - 1; } # endif # endif # ifndef yystpcpy # if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ static char * # if defined (__STDC__) || defined (__cplusplus) yystpcpy (char *yydest, const char *yysrc) # else yystpcpy (yydest, yysrc) char *yydest; const char *yysrc; # endif { register char *yyd = yydest; register const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif #endif /* !YYERROR_VERBOSE */ #if YYDEBUG /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) #else static void yysymprint (yyoutput, yytype, yyvaluep) FILE *yyoutput; int yytype; YYSTYPE *yyvaluep; #endif { /* Pacify ``unused variable'' warnings. */ (void) yyvaluep; if (yytype < YYNTOKENS) YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); else YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # endif switch (yytype) { default: break; } YYFPRINTF (yyoutput, ")"); } #endif /* ! YYDEBUG */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) #else static void yydestruct (yymsg, yytype, yyvaluep) const char *yymsg; int yytype; YYSTYPE *yyvaluep; #endif { /* Pacify ``unused variable'' warnings. */ (void) yyvaluep; if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); switch (yytype) { default: break; } } /* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM # if defined (__STDC__) || defined (__cplusplus) int yyparse (void *YYPARSE_PARAM); # else int yyparse (); # endif #else /* ! YYPARSE_PARAM */ #if defined (__STDC__) || defined (__cplusplus) int yyparse (void); #else int yyparse (); #endif #endif /* ! YYPARSE_PARAM */ /*----------. | yyparse. | `----------*/ #ifdef YYPARSE_PARAM # if defined (__STDC__) || defined (__cplusplus) int yyparse (void *YYPARSE_PARAM) # else int yyparse (YYPARSE_PARAM) void *YYPARSE_PARAM; # endif #else /* ! YYPARSE_PARAM */ #if defined (__STDC__) || defined (__cplusplus) int yyparse (void) #else int yyparse () #endif #endif { /* The look-ahead symbol. */ int yychar; /* The semantic value of the look-ahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ int yynerrs; register int yystate; register int yyn; int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* Look-ahead token as an internal (translated) token number. */ int yytoken = 0; /* Three stacks and their tools: `yyss': related to states, `yyvs': related to semantic values, `yyls': related to locations. Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ short int yyssa[YYINITDEPTH]; short int *yyss = yyssa; register short int *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs = yyvsa; register YYSTYPE *yyvsp; #define YYPOPSTACK (yyvsp--, yyssp--) YYSIZE_T yystacksize = YYINITDEPTH; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; /* When reducing, the number of symbols on the RHS of the reduced rule. */ int yylen; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ yyssp = yyss; yyvsp = yyvs; yyvsp[0] = yylval; goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. so pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; short int *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow ("parser stack overflow", &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyoverflowlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyoverflowlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { short int *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyoverflowlab; YYSTACK_RELOCATE (yyss); YYSTACK_RELOCATE (yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. */ /* Read a look-ahead token if we need one and don't already have one. */ /* yyresume: */ /* First try to decide what to do without reference to look-ahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a look-ahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yyn == 0 || yyn == YYTABLE_NINF) goto yyerrlab; yyn = -yyn; goto yyreduce; } if (yyn == YYFINAL) YYACCEPT; /* Shift the look-ahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; yystate = yyn; goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 2: #line 747 "sql_yacc.yy" { THD *thd= YYTHD; if (!thd->bootstrap && (!(thd->lex->select_lex.options & OPTION_FOUND_COMMENT))) { send_error(thd,ER_EMPTY_QUERY); YYABORT; } else { thd->lex->sql_command= SQLCOM_EMPTY_QUERY; } } break; case 3: #line 760 "sql_yacc.yy" {} break; case 49: #line 812 "sql_yacc.yy" { THD *thd=YYTHD; LEX *lex= thd->lex; if (thd->command == COM_PREPARE) { yyerror(ER(ER_SYNTAX_ERROR)); YYABORT; } lex->sql_command= SQLCOM_DEALLOCATE_PREPARE; lex->prepared_stmt_name= (yyvsp[0].lex_str); } break; case 52: #line 832 "sql_yacc.yy" { THD *thd=YYTHD; LEX *lex= thd->lex; if (thd->command == COM_PREPARE) { yyerror(ER(ER_SYNTAX_ERROR)); YYABORT; } lex->sql_command= SQLCOM_PREPARE; lex->prepared_stmt_name= (yyvsp[-2].lex_str); } break; case 53: #line 846 "sql_yacc.yy" { THD *thd=YYTHD; LEX *lex= thd->lex; lex->prepared_stmt_code= (yyvsp[0].lex_str); lex->prepared_stmt_code_is_varref= FALSE; } break; case 54: #line 853 "sql_yacc.yy" { THD *thd=YYTHD; LEX *lex= thd->lex; lex->prepared_stmt_code= (yyvsp[0].lex_str); lex->prepared_stmt_code_is_varref= TRUE; } break; case 55: #line 862 "sql_yacc.yy" { THD *thd=YYTHD; LEX *lex= thd->lex; if (thd->command == COM_PREPARE) { yyerror(ER(ER_SYNTAX_ERROR)); YYABORT; } lex->sql_command= SQLCOM_EXECUTE; lex->prepared_stmt_name= (yyvsp[0].lex_str); } break; case 56: #line 874 "sql_yacc.yy" {} break; case 61: #line 888 "sql_yacc.yy" { LEX *lex=Lex; LEX_STRING *lexstr= (LEX_STRING*)sql_memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING)); if (!lexstr || lex->prepared_stmt_params.push_back(lexstr)) YYABORT; } break; case 62: #line 900 "sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_HELP; lex->help_arg= (yyvsp[0].lex_str).str; } break; case 63: #line 910 "sql_yacc.yy" { LEX *lex = Lex; lex->sql_command = SQLCOM_CHANGE_MASTER; bzero((char*) &lex->mi, sizeof(lex->mi)); } break; case 64: #line 916 "sql_yacc.yy" {} break; case 67: #line 925 "sql_yacc.yy" { Lex->mi.host = (yyvsp[0].lex_str).str; } break; case 68: #line 930 "sql_yacc.yy" { Lex->mi.user = (yyvsp[0].lex_str).str; } break; case 69: #line 935 "sql_yacc.yy" { Lex->mi.password = (yyvsp[0].lex_str).str; } break; case 70: #line 940 "sql_yacc.yy" { Lex->mi.port = (yyvsp[0].ulong_num); } break; case 71: #line 945 "sql_yacc.yy" { Lex->mi.connect_retry = (yyvsp[0].ulong_num); } break; case 72: #line 949 "sql_yacc.yy" { Lex->mi.ssl= (yyvsp[0].ulong_num) ? LEX_MASTER_INFO::SSL_ENABLE : LEX_MASTER_INFO::SSL_DISABLE; } break; case 73: #line 954 "sql_yacc.yy" { Lex->mi.ssl_ca= (yyvsp[0].lex_str).str; } break; case 74: #line 958 "sql_yacc.yy" { Lex->mi.ssl_capath= (yyvsp[0].lex_str).str; } break; case 75: #line 962 "sql_yacc.yy" { Lex->mi.ssl_cert= (yyvsp[0].lex_str).str; } break; case 76: #line 966 "sql_yacc.yy" { Lex->mi.ssl_cipher= (yyvsp[0].lex_str).str; } break; case 77: #line 970 "sql_yacc.yy" { Lex->mi.ssl_key= (yyvsp[0].lex_str).str; } break; case 79: #line 979 "sql_yacc.yy" { Lex->mi.log_file_name = (yyvsp[0].lex_str).str; } break; case 80: #line 983 "sql_yacc.yy" { Lex->mi.pos = (yyvsp[0].ulonglong_number); /* If the user specified a value < BIN_LOG_HEADER_SIZE, adjust it instead of causing subsequent errors. We need to do it in this file, because only there we know that MASTER_LOG_POS has been explicitely specified. On the contrary in change_master() (sql_repl.cc) we cannot distinguish between 0 (MASTER_LOG_POS explicitely specified as 0) and 0 (unspecified), whereas we want to distinguish (specified 0 means "read the binlog from 0" (4 in fact), unspecified means "don't change the position (keep the preceding value)"). */ Lex->mi.pos = max(BIN_LOG_HEADER_SIZE, Lex->mi.pos); } break; case 81: #line 999 "sql_yacc.yy" { Lex->mi.relay_log_name = (yyvsp[0].lex_str).str; } break; case 82: #line 1003 "sql_yacc.yy" { Lex->mi.relay_log_pos = (yyvsp[0].ulong_num); /* Adjust if < BIN_LOG_HEADER_SIZE (same comment as Lex->mi.pos) */ Lex->mi.relay_log_pos = max(BIN_LOG_HEADER_SIZE, Lex->mi.relay_log_pos); } break; case 83: #line 1014 "sql_yacc.yy" { THD *thd= YYTHD; LEX *lex=Lex; lex->sql_command= SQLCOM_CREATE_TABLE; if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL, TL_OPTION_UPDATING, (using_update_log ? TL_READ_NO_INSERT: TL_READ))) YYABORT; lex->create_list.empty(); lex->key_list.empty(); lex->col_list.empty(); lex->change=NullS; bzero((char*) &lex->create_info,sizeof(lex->create_info)); lex->create_info.options=(yyvsp[-3].num) | (yyvsp[-1].num); lex->create_info.db_type= (enum db_type) lex->thd->variables.table_type; lex->create_info.default_table_charset= NULL; lex->name=0; } break; case 84: #line 1035 "sql_yacc.yy" { Lex->current_select= &Lex->select_lex; } break; case 85: #line 1037 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_CREATE_INDEX; if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[0].table), NULL, TL_OPTION_UPDATING)) YYABORT; lex->create_list.empty(); lex->key_list.empty(); lex->col_list.empty(); lex->change=NullS; } break; case 86: #line 1049 "sql_yacc.yy" { LEX *lex=Lex; lex->key_list.push_back(new Key((yyvsp[-9].key_type),(yyvsp[-7].lex_str).str, (yyvsp[-6].key_alg), 0, lex->col_list)); lex->col_list.empty(); } break; case 87: #line 1056 "sql_yacc.yy" { Lex->create_info.default_table_charset= NULL; Lex->create_info.used_fields= 0; } break; case 88: #line 1061 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command=SQLCOM_CREATE_DB; lex->name=(yyvsp[-2].lex_str).str; lex->create_info.options=(yyvsp[-3].num); } break; case 89: #line 1068 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_CREATE_FUNCTION; lex->udf.name = (yyvsp[0].lex_str); lex->udf.type= (yyvsp[-2].udf_type); } break; case 90: #line 1075 "sql_yacc.yy" { LEX *lex=Lex; lex->udf.returns=(Item_result) (yyvsp[-2].num); lex->udf.dl=(yyvsp[0].lex_str).str; } break; case 91: #line 1083 "sql_yacc.yy" {} break; case 92: #line 1084 "sql_yacc.yy" {} break; case 93: #line 1086 "sql_yacc.yy" { LEX *lex=Lex; if (!(lex->name= (char *)(yyvsp[0].table))) YYABORT; } break; case 94: #line 1092 "sql_yacc.yy" { LEX *lex=Lex; if (!(lex->name= (char *)(yyvsp[-1].table))) YYABORT; } break; case 95: #line 1100 "sql_yacc.yy" {} break; case 96: #line 1101 "sql_yacc.yy" { Select->set_braces(1);} break; case 97: #line 1101 "sql_yacc.yy" {} break; case 98: #line 1105 "sql_yacc.yy" {} break; case 99: #line 1107 "sql_yacc.yy" { Select->set_braces(0);} break; case 100: #line 1107 "sql_yacc.yy" {} break; case 101: #line 1109 "sql_yacc.yy" { Select->set_braces(1);} break; case 102: #line 1109 "sql_yacc.yy" {} break; case 103: #line 1114 "sql_yacc.yy" { LEX *lex=Lex; lex->lock_option= using_update_log ? TL_READ_NO_INSERT : TL_READ; if (lex->sql_command == SQLCOM_INSERT) lex->sql_command= SQLCOM_INSERT_SELECT; else if (lex->sql_command == SQLCOM_REPLACE) lex->sql_command= SQLCOM_REPLACE_SELECT; lex->current_select->table_list.save_and_clear(&lex->save_list); mysql_init_select(lex); lex->current_select->parsing_place= SELECT_LIST; } break; case 104: #line 1126 "sql_yacc.yy" { Select->parsing_place= NO_MATTER; } break; case 105: #line 1130 "sql_yacc.yy" { Lex->current_select->table_list.push_front(&Lex->save_list); } break; case 106: #line 1134 "sql_yacc.yy" {} break; case 107: #line 1135 "sql_yacc.yy" {} break; case 108: #line 1138 "sql_yacc.yy" {} break; case 109: #line 1139 "sql_yacc.yy" {} break; case 110: #line 1142 "sql_yacc.yy" {} break; case 111: #line 1143 "sql_yacc.yy" {} break; case 112: #line 1146 "sql_yacc.yy" {} break; case 113: #line 1147 "sql_yacc.yy" {} break; case 114: #line 1150 "sql_yacc.yy" { (yyval.num)= 0; } break; case 115: #line 1151 "sql_yacc.yy" { (yyval.num)= (yyvsp[0].num);} break; case 116: #line 1154 "sql_yacc.yy" { (yyval.num)=(yyvsp[0].num); } break; case 117: #line 1155 "sql_yacc.yy" { (yyval.num)= (yyvsp[-1].num) | (yyvsp[0].num); } break; case 118: #line 1158 "sql_yacc.yy" { (yyval.num)=HA_LEX_CREATE_TMP_TABLE; } break; case 119: #line 1161 "sql_yacc.yy" { (yyval.num)= 0; } break; case 120: #line 1162 "sql_yacc.yy" { (yyval.num)=HA_LEX_CREATE_IF_NOT_EXISTS; } break; case 128: #line 1178 "sql_yacc.yy" { Lex->create_info.db_type= (yyvsp[0].db_type); } break; case 129: #line 1179 "sql_yacc.yy" { Lex->create_info.db_type= (yyvsp[0].db_type); WARN_DEPRECATED("TYPE=storage_engine","ENGINE=storage_engine"); } break; case 130: #line 1180 "sql_yacc.yy" { Lex->create_info.max_rows= (yyvsp[0].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_MAX_ROWS;} break; case 131: #line 1181 "sql_yacc.yy" { Lex->create_info.min_rows= (yyvsp[0].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_MIN_ROWS;} break; case 132: #line 1182 "sql_yacc.yy" { Lex->create_info.avg_row_length=(yyvsp[0].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_AVG_ROW_LENGTH;} break; case 133: #line 1183 "sql_yacc.yy" { Lex->create_info.password=(yyvsp[0].lex_str).str; } break; case 134: #line 1184 "sql_yacc.yy" { Lex->create_info.comment=(yyvsp[0].lex_str).str; } break; case 135: #line 1185 "sql_yacc.yy" { Lex->create_info.auto_increment_value=(yyvsp[0].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_AUTO;} break; case 136: #line 1186 "sql_yacc.yy" { Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_PACK_KEYS : HA_OPTION_NO_PACK_KEYS; Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS;} break; case 137: #line 1187 "sql_yacc.yy" { Lex->create_info.table_options&= ~(HA_OPTION_PACK_KEYS | HA_OPTION_NO_PACK_KEYS); Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS;} break; case 138: #line 1188 "sql_yacc.yy" { Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM; } break; case 139: #line 1189 "sql_yacc.yy" { Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_DELAY_KEY_WRITE : HA_OPTION_NO_DELAY_KEY_WRITE; } break; case 140: #line 1190 "sql_yacc.yy" { Lex->create_info.row_type= (yyvsp[0].row_type); } break; case 141: #line 1191 "sql_yacc.yy" { Lex->create_info.raid_type= (yyvsp[0].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_RAID;} break; case 142: #line 1192 "sql_yacc.yy" { Lex->create_info.raid_chunks= (yyvsp[0].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_RAID;} break; case 143: #line 1193 "sql_yacc.yy" { Lex->create_info.raid_chunksize= (yyvsp[0].ulong_num)*RAID_BLOCK_SIZE; Lex->create_info.used_fields|= HA_CREATE_USED_RAID;} break; case 144: #line 1195 "sql_yacc.yy" { /* Move the union list to the merge_list */ LEX *lex=Lex; TABLE_LIST *table_list= lex->select_lex.get_table_list(); lex->create_info.merge_list= lex->select_lex.table_list; lex->create_info.merge_list.elements--; lex->create_info.merge_list.first= (byte*) (table_list->next); lex->select_lex.table_list.elements=1; lex->select_lex.table_list.next= (byte**) &(table_list->next); table_list->next=0; lex->create_info.used_fields|= HA_CREATE_USED_UNION; } break; case 147: #line 1209 "sql_yacc.yy" { Lex->create_info.merge_insert_method= (yyvsp[0].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_INSERT_METHOD;} break; case 148: #line 1211 "sql_yacc.yy" { Lex->create_info.data_file_name= (yyvsp[0].lex_str).str; } break; case 149: #line 1212 "sql_yacc.yy" { Lex->create_info.index_file_name= (yyvsp[0].lex_str).str; } break; case 150: #line 1216 "sql_yacc.yy" { HA_CREATE_INFO *cinfo= &Lex->create_info; if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) && cinfo->default_table_charset && (yyvsp[0].charset) && !my_charset_same(cinfo->default_table_charset,(yyvsp[0].charset))) { net_printf(YYTHD, ER_CONFLICTING_DECLARATIONS, "CHARACTER SET ", cinfo->default_table_charset->csname, "CHARACTER SET ", (yyvsp[0].charset)->csname); YYABORT; } Lex->create_info.default_table_charset= (yyvsp[0].charset); Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET; } break; case 151: #line 1233 "sql_yacc.yy" { HA_CREATE_INFO *cinfo= &Lex->create_info; if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) && cinfo->default_table_charset && (yyvsp[0].charset) && !my_charset_same(cinfo->default_table_charset,(yyvsp[0].charset))) { net_printf(YYTHD,ER_COLLATION_CHARSET_MISMATCH, (yyvsp[0].charset)->name, cinfo->default_table_charset->csname); YYABORT; } Lex->create_info.default_table_charset= (yyvsp[0].charset); Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET; } break; case 152: #line 1249 "sql_yacc.yy" { (yyval.db_type) = ha_resolve_by_name((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length); if ((yyval.db_type) == DB_TYPE_UNKNOWN) { net_printf(YYTHD, ER_UNKNOWN_STORAGE_ENGINE, (yyvsp[0].lex_str).str); YYABORT; } } break; case 153: #line 1258 "sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_DEFAULT; } break; case 154: #line 1259 "sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_FIXED; } break; case 155: #line 1260 "sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_DYNAMIC; } break; case 156: #line 1261 "sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_COMPRESSED; } break; case 157: #line 1264 "sql_yacc.yy" { (yyval.ulong_num)= RAID_TYPE_0; } break; case 158: #line 1265 "sql_yacc.yy" { (yyval.ulong_num)= RAID_TYPE_0; } break; case 159: #line 1266 "sql_yacc.yy" { (yyval.ulong_num)=(yyvsp[0].ulong_num);} break; case 160: #line 1269 "sql_yacc.yy" { (yyval.ulong_num)= MERGE_INSERT_DISABLED; } break; case 161: #line 1270 "sql_yacc.yy" { (yyval.ulong_num)= MERGE_INSERT_TO_FIRST; } break; case 162: #line 1271 "sql_yacc.yy" { (yyval.ulong_num)= MERGE_INSERT_TO_LAST; } break; case 163: #line 1274 "sql_yacc.yy" {} break; case 165: #line 1278 "sql_yacc.yy" { (yyval.udf_type) = UDFTYPE_FUNCTION; } break; case 166: #line 1279 "sql_yacc.yy" { (yyval.udf_type) = UDFTYPE_AGGREGATE; } break; case 167: #line 1282 "sql_yacc.yy" {(yyval.num) = (int) STRING_RESULT; } break; case 168: #line 1283 "sql_yacc.yy" {(yyval.num) = (int) REAL_RESULT; } break; case 169: #line 1284 "sql_yacc.yy" {(yyval.num) = (int) INT_RESULT; } break; case 175: #line 1299 "sql_yacc.yy" { Lex->col_list.empty(); /* Alloced by sql_alloc */ } break; case 176: #line 1306 "sql_yacc.yy" { LEX *lex=Lex; lex->key_list.push_back(new Key((yyvsp[-5].key_type),(yyvsp[-4].simple_string), (yyvsp[-3].key_alg), 0, lex->col_list)); lex->col_list.empty(); /* Alloced by sql_alloc */ } break; case 177: #line 1312 "sql_yacc.yy" { LEX *lex=Lex; const char *key_name= (yyvsp[-4].simple_string) ? (yyvsp[-4].simple_string):(yyvsp[-6].simple_string); lex->key_list.push_back(new Key((yyvsp[-5].key_type), key_name, (yyvsp[-3].key_alg), 0, lex->col_list)); lex->col_list.empty(); /* Alloced by sql_alloc */ } break; case 178: #line 1320 "sql_yacc.yy" { LEX *lex=Lex; lex->key_list.push_back(new foreign_key((yyvsp[-4].simple_string) ? (yyvsp[-4].simple_string):(yyvsp[-7].simple_string), lex->col_list, (yyvsp[0].table), lex->ref_list, lex->fk_delete_opt, lex->fk_update_opt, lex->fk_match_option)); lex->key_list.push_back(new Key(Key::MULTIPLE, (yyvsp[-4].simple_string) ? (yyvsp[-4].simple_string) : (yyvsp[-7].simple_string), HA_KEY_ALG_UNDEF, 1, lex->col_list)); lex->col_list.empty(); /* Alloced by sql_alloc */ } break; case 179: #line 1334 "sql_yacc.yy" { Lex->col_list.empty(); /* Alloced by sql_alloc */ } break; case 180: #line 1338 "sql_yacc.yy" { Lex->col_list.empty(); /* Alloced by sql_alloc */ } break; case 184: #line 1353 "sql_yacc.yy" { (yyval.simple_string)=(char*) 0; } break; case 185: #line 1354 "sql_yacc.yy" { (yyval.simple_string)= (yyvsp[0].simple_string); } break; case 186: #line 1358 "sql_yacc.yy" { (yyval.simple_string)=(yyvsp[0].simple_string); } break; case 187: #line 1363 "sql_yacc.yy" { LEX *lex=Lex; lex->length=lex->dec=0; lex->type=0; lex->default_value= lex->on_update_value= 0; lex->comment=0; lex->charset=NULL; } break; case 188: #line 1371 "sql_yacc.yy" { LEX *lex=Lex; if (add_field_to_list(lex->thd, (yyvsp[-3].lex_str).str, (enum enum_field_types) (yyvsp[-1].num), lex->length,lex->dec,lex->type, lex->default_value, lex->on_update_value, lex->comment, lex->change,&lex->interval_list,lex->charset, lex->uint_geom_type)) YYABORT; } break; case 189: #line 1384 "sql_yacc.yy" { (yyval.num)=(yyvsp[-2].num); } break; case 190: #line 1385 "sql_yacc.yy" { (yyval.num)=(yyvsp[-2].num); } break; case 191: #line 1386 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_FLOAT; } break; case 192: #line 1387 "sql_yacc.yy" { Lex->length=(char*) "1"; (yyval.num)=FIELD_TYPE_TINY; } break; case 193: #line 1389 "sql_yacc.yy" { Lex->length=(char*) "1"; (yyval.num)=FIELD_TYPE_TINY; } break; case 194: #line 1391 "sql_yacc.yy" { Lex->length=(char*) "1"; (yyval.num)=FIELD_TYPE_TINY; } break; case 195: #line 1393 "sql_yacc.yy" { Lex->length=(yyvsp[-2].lex_str).str; (yyval.num)=FIELD_TYPE_STRING; } break; case 196: #line 1395 "sql_yacc.yy" { Lex->length=(char*) "1"; (yyval.num)=FIELD_TYPE_STRING; } break; case 197: #line 1397 "sql_yacc.yy" { Lex->length=(yyvsp[-1].lex_str).str; (yyval.num)=FIELD_TYPE_STRING; Lex->charset=national_charset_info; } break; case 198: #line 1400 "sql_yacc.yy" { Lex->length=(char*) "1"; (yyval.num)=FIELD_TYPE_STRING; Lex->charset=national_charset_info; } break; case 199: #line 1403 "sql_yacc.yy" { Lex->length=(yyvsp[-1].lex_str).str; Lex->charset=&my_charset_bin; (yyval.num)=FIELD_TYPE_STRING; } break; case 200: #line 1406 "sql_yacc.yy" { Lex->length= (char*) "1"; Lex->charset=&my_charset_bin; (yyval.num)=FIELD_TYPE_STRING; } break; case 201: #line 1409 "sql_yacc.yy" { Lex->length=(yyvsp[-2].lex_str).str; (yyval.num)=FIELD_TYPE_VAR_STRING; } break; case 202: #line 1411 "sql_yacc.yy" { Lex->length=(yyvsp[-1].lex_str).str; (yyval.num)=FIELD_TYPE_VAR_STRING; Lex->charset=national_charset_info; } break; case 203: #line 1414 "sql_yacc.yy" { Lex->length=(yyvsp[-1].lex_str).str; Lex->charset=&my_charset_bin; (yyval.num)=FIELD_TYPE_VAR_STRING; } break; case 204: #line 1417 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_YEAR; } break; case 205: #line 1418 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_DATE; } break; case 206: #line 1419 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_TIME; } break; case 207: #line 1421 "sql_yacc.yy" { if (YYTHD->variables.sql_mode & MODE_MAXDB) (yyval.num)=FIELD_TYPE_DATETIME; else { /* Unlike other types TIMESTAMP fields are NOT NULL by default. */ Lex->type|= NOT_NULL_FLAG; (yyval.num)=FIELD_TYPE_TIMESTAMP; } } break; case 208: #line 1433 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_DATETIME; } break; case 209: #line 1434 "sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=FIELD_TYPE_TINY_BLOB; } break; case 210: #line 1436 "sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=FIELD_TYPE_BLOB; } break; case 211: #line 1438 "sql_yacc.yy" { #ifdef HAVE_SPATIAL Lex->charset=&my_charset_bin; Lex->uint_geom_type= (uint)(yyvsp[0].num); (yyval.num)=FIELD_TYPE_GEOMETRY; #else net_printf(Lex->thd, ER_FEATURE_DISABLED, sym_group_geom.name, sym_group_geom.needed_define); YYABORT; #endif } break; case 212: #line 1450 "sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=FIELD_TYPE_MEDIUM_BLOB; } break; case 213: #line 1452 "sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=FIELD_TYPE_LONG_BLOB; } break; case 214: #line 1454 "sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=FIELD_TYPE_MEDIUM_BLOB; } break; case 215: #line 1456 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_MEDIUM_BLOB; } break; case 216: #line 1457 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_TINY_BLOB; } break; case 217: #line 1458 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_BLOB; } break; case 218: #line 1459 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_MEDIUM_BLOB; } break; case 219: #line 1460 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_LONG_BLOB; } break; case 220: #line 1462 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_DECIMAL;} break; case 221: #line 1464 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_DECIMAL;} break; case 222: #line 1466 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_DECIMAL;} break; case 223: #line 1467 "sql_yacc.yy" {Lex->interval_list.empty();} break; case 224: #line 1468 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_ENUM; } break; case 225: #line 1469 "sql_yacc.yy" { Lex->interval_list.empty();} break; case 226: #line 1470 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_SET; } break; case 227: #line 1471 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_MEDIUM_BLOB; } break; case 228: #line 1473 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_LONGLONG; Lex->type|= (AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNSIGNED_FLAG | UNIQUE_FLAG); } break; case 229: #line 1481 "sql_yacc.yy" { (yyval.num)= Field::GEOM_GEOMETRY; } break; case 230: #line 1482 "sql_yacc.yy" { (yyval.num)= Field::GEOM_GEOMETRYCOLLECTION; } break; case 231: #line 1483 "sql_yacc.yy" { (yyval.num)= Field::GEOM_POINT; } break; case 232: #line 1484 "sql_yacc.yy" { (yyval.num)= Field::GEOM_MULTIPOINT; } break; case 233: #line 1485 "sql_yacc.yy" { (yyval.num)= Field::GEOM_LINESTRING; } break; case 234: #line 1486 "sql_yacc.yy" { (yyval.num)= Field::GEOM_MULTILINESTRING; } break; case 235: #line 1487 "sql_yacc.yy" { (yyval.num)= Field::GEOM_POLYGON; } break; case 236: #line 1488 "sql_yacc.yy" { (yyval.num)= Field::GEOM_MULTIPOLYGON; } break; case 237: #line 1492 "sql_yacc.yy" {} break; case 238: #line 1496 "sql_yacc.yy" {} break; case 239: #line 1497 "sql_yacc.yy" {} break; case 240: #line 1501 "sql_yacc.yy" {} break; case 241: #line 1502 "sql_yacc.yy" {} break; case 242: #line 1506 "sql_yacc.yy" {} break; case 243: #line 1507 "sql_yacc.yy" {} break; case 244: #line 1508 "sql_yacc.yy" {} break; case 245: #line 1509 "sql_yacc.yy" {} break; case 246: #line 1510 "sql_yacc.yy" {} break; case 247: #line 1514 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_LONG; } break; case 248: #line 1515 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_TINY; } break; case 249: #line 1516 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_SHORT; } break; case 250: #line 1517 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_INT24; } break; case 251: #line 1518 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_LONGLONG; } break; case 252: #line 1521 "sql_yacc.yy" { (yyval.num)= YYTHD->variables.sql_mode & MODE_REAL_AS_FLOAT ? FIELD_TYPE_FLOAT : FIELD_TYPE_DOUBLE; } break; case 253: #line 1523 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_DOUBLE; } break; case 254: #line 1524 "sql_yacc.yy" { (yyval.num)=FIELD_TYPE_DOUBLE; } break; case 255: #line 1528 "sql_yacc.yy" {} break; case 256: #line 1529 "sql_yacc.yy" { Lex->length=(yyvsp[-1].lex_str).str; } break; case 257: #line 1530 "sql_yacc.yy" {} break; case 258: #line 1534 "sql_yacc.yy" { LEX *lex=Lex; lex->length=(yyvsp[-3].lex_str).str; lex->dec=(yyvsp[-1].lex_str).str; } break; case 259: #line 1540 "sql_yacc.yy" {} break; case 260: #line 1541 "sql_yacc.yy" {} break; case 261: #line 1544 "sql_yacc.yy" {} break; case 262: #line 1545 "sql_yacc.yy" {} break; case 263: #line 1548 "sql_yacc.yy" {} break; case 264: #line 1549 "sql_yacc.yy" { Lex->type|= UNSIGNED_FLAG;} break; case 265: #line 1550 "sql_yacc.yy" { Lex->type|= UNSIGNED_FLAG | ZEROFILL_FLAG; } break; case 266: #line 1553 "sql_yacc.yy" { Lex->length=(char*) 0; } break; case 267: #line 1554 "sql_yacc.yy" { Lex->length= (yyvsp[-1].lex_str).str; } break; case 268: #line 1557 "sql_yacc.yy" {} break; case 269: #line 1558 "sql_yacc.yy" {} break; case 270: #line 1561 "sql_yacc.yy" {} break; case 271: #line 1562 "sql_yacc.yy" {} break; case 272: #line 1565 "sql_yacc.yy" {} break; case 274: #line 1569 "sql_yacc.yy" { Lex->type&= ~ NOT_NULL_FLAG; } break; case 275: #line 1570 "sql_yacc.yy" { Lex->type|= NOT_NULL_FLAG; } break; case 276: #line 1571 "sql_yacc.yy" { Lex->default_value=(yyvsp[0].item); } break; case 277: #line 1573 "sql_yacc.yy" { Lex->on_update_value= new Item_func_now_local(); } break; case 278: #line 1574 "sql_yacc.yy" { Lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG; } break; case 279: #line 1576 "sql_yacc.yy" { LEX *lex=Lex; lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNIQUE_FLAG; lex->alter_info.flags|= ALTER_ADD_INDEX; } break; case 280: #line 1582 "sql_yacc.yy" { LEX *lex=Lex; lex->type|= PRI_KEY_FLAG | NOT_NULL_FLAG; lex->alter_info.flags|= ALTER_ADD_INDEX; } break; case 281: #line 1588 "sql_yacc.yy" { LEX *lex=Lex; lex->type|= UNIQUE_FLAG; lex->alter_info.flags|= ALTER_ADD_INDEX; } break; case 282: #line 1594 "sql_yacc.yy" { LEX *lex=Lex; lex->type|= UNIQUE_KEY_FLAG; lex->alter_info.flags|= ALTER_ADD_INDEX; } break; case 283: #line 1599 "sql_yacc.yy" { Lex->comment= &(yyvsp[0].lex_str); } break; case 284: #line 1600 "sql_yacc.yy" { Lex->type|= BINCMP_FLAG; } break; case 285: #line 1602 "sql_yacc.yy" { if (Lex->charset && !my_charset_same(Lex->charset,(yyvsp[0].charset))) { net_printf(YYTHD,ER_COLLATION_CHARSET_MISMATCH, (yyvsp[0].charset)->name,Lex->charset->csname); YYABORT; } else { Lex->charset=(yyvsp[0].charset); } } break; case 286: #line 1617 "sql_yacc.yy" { (yyval.item)= new Item_func_now_local(); } break; case 287: #line 1618 "sql_yacc.yy" { (yyval.item)=(yyvsp[0].item); } break; case 288: #line 1622 "sql_yacc.yy" {} break; case 289: #line 1623 "sql_yacc.yy" {} break; case 290: #line 1628 "sql_yacc.yy" { if (!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str,MY_CS_PRIMARY,MYF(0)))) { net_printf(YYTHD,ER_UNKNOWN_CHARACTER_SET,(yyvsp[0].lex_str).str); YYABORT; } } break; case 291: #line 1635 "sql_yacc.yy" { (yyval.charset)= &my_charset_bin; } break; case 292: #line 1639 "sql_yacc.yy" { (yyval.charset)=(yyvsp[0].charset); } break; case 293: #line 1640 "sql_yacc.yy" { (yyval.charset)=NULL; } break; case 294: #line 1645 "sql_yacc.yy" { if (!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str,MY_CS_PRIMARY,MYF(0))) && !((yyval.charset)=get_old_charset_by_name((yyvsp[0].lex_str).str))) { net_printf(YYTHD,ER_UNKNOWN_CHARACTER_SET,(yyvsp[0].lex_str).str); YYABORT; } } break; case 295: #line 1653 "sql_yacc.yy" { (yyval.charset)= &my_charset_bin; } break; case 296: #line 1657 "sql_yacc.yy" { (yyval.charset)=(yyvsp[0].charset); } break; case 297: #line 1658 "sql_yacc.yy" { (yyval.charset)=NULL; } break; case 298: #line 1662 "sql_yacc.yy" { if (!((yyval.charset)=get_charset_by_name((yyvsp[0].lex_str).str,MYF(0)))) { net_printf(YYTHD,ER_UNKNOWN_COLLATION,(yyvsp[0].lex_str).str); YYABORT; } } break; case 299: #line 1671 "sql_yacc.yy" { (yyval.charset)=NULL; } break; case 300: #line 1672 "sql_yacc.yy" { (yyval.charset)=(yyvsp[0].charset); } break; case 301: #line 1676 "sql_yacc.yy" { (yyval.charset)=(yyvsp[0].charset); } break; case 302: #line 1677 "sql_yacc.yy" { (yyval.charset)=NULL; } break; case 303: #line 1680 "sql_yacc.yy" {} break; case 304: #line 1681 "sql_yacc.yy" {} break; case 305: #line 1684 "sql_yacc.yy" { Lex->charset=NULL; } break; case 306: #line 1685 "sql_yacc.yy" { Lex->charset=&my_charset_latin1; } break; case 307: #line 1686 "sql_yacc.yy" { Lex->charset=&my_charset_bin; } break; case 308: #line 1688 "sql_yacc.yy" { if (!(Lex->charset=get_charset_by_csname("ucs2",MY_CS_PRIMARY,MYF(0)))) { net_printf(YYTHD,ER_UNKNOWN_CHARACTER_SET,"ucs2"); YYABORT; } } break; case 309: #line 1695 "sql_yacc.yy" { Lex->charset=(yyvsp[0].charset); } break; case 312: #line 1704 "sql_yacc.yy" { LEX *lex=Lex; lex->fk_delete_opt= lex->fk_update_opt= lex->fk_match_option= 0; lex->ref_list.empty(); } break; case 313: #line 1710 "sql_yacc.yy" { (yyval.table)=(yyvsp[-2].table); } break; case 314: #line 1715 "sql_yacc.yy" {} break; case 315: #line 1716 "sql_yacc.yy" {} break; case 316: #line 1719 "sql_yacc.yy" { Lex->ref_list.push_back(new key_part_spec((yyvsp[0].lex_str).str)); } break; case 317: #line 1720 "sql_yacc.yy" { Lex->ref_list.push_back(new key_part_spec((yyvsp[0].lex_str).str)); } break; case 318: #line 1724 "sql_yacc.yy" {} break; case 319: #line 1725 "sql_yacc.yy" {} break; case 320: #line 1728 "sql_yacc.yy" {} break; case 321: #line 1729 "sql_yacc.yy" {} break; case 322: #line 1732 "sql_yacc.yy" { Lex->fk_delete_opt= (yyvsp[0].num); } break; case 323: #line 1733 "sql_yacc.yy" { Lex->fk_update_opt= (yyvsp[0].num); } break; case 324: #line 1734 "sql_yacc.yy" { Lex->fk_match_option= foreign_key::FK_MATCH_FULL; } break; case 325: #line 1735 "sql_yacc.yy" { Lex->fk_match_option= foreign_key::FK_MATCH_PARTIAL; } break; case 326: #line 1736 "sql_yacc.yy" { Lex->fk_match_option= foreign_key::FK_MATCH_SIMPLE; } break; case 327: #line 1739 "sql_yacc.yy" { (yyval.num)= (int) foreign_key::FK_OPTION_RESTRICT; } break; case 328: #line 1740 "sql_yacc.yy" { (yyval.num)= (int) foreign_key::FK_OPTION_CASCADE; } break; case 329: #line 1741 "sql_yacc.yy" { (yyval.num)= (int) foreign_key::FK_OPTION_SET_NULL; } break; case 330: #line 1742 "sql_yacc.yy" { (yyval.num)= (int) foreign_key::FK_OPTION_NO_ACTION; } break; case 331: #line 1743 "sql_yacc.yy" { (yyval.num)= (int) foreign_key::FK_OPTION_DEFAULT; } break; case 332: #line 1746 "sql_yacc.yy" { (yyval.key_type)= Key::MULTIPLE; } break; case 333: #line 1747 "sql_yacc.yy" { (yyval.key_type)= Key::FULLTEXT; } break; case 334: #line 1749 "sql_yacc.yy" { #ifdef HAVE_SPATIAL (yyval.key_type)= Key::SPATIAL; #else net_printf(Lex->thd, ER_FEATURE_DISABLED, sym_group_geom.name, sym_group_geom.needed_define); YYABORT; #endif } break; case 335: #line 1760 "sql_yacc.yy" { (yyval.key_type)= Key::PRIMARY; } break; case 336: #line 1761 "sql_yacc.yy" { (yyval.key_type)= Key::UNIQUE; } break; case 337: #line 1764 "sql_yacc.yy" {} break; case 338: #line 1765 "sql_yacc.yy" {} break; case 339: #line 1768 "sql_yacc.yy" {} break; case 341: #line 1773 "sql_yacc.yy" {} break; case 342: #line 1774 "sql_yacc.yy" {} break; case 343: #line 1775 "sql_yacc.yy" {} break; case 344: #line 1778 "sql_yacc.yy" { (yyval.key_type)= Key::MULTIPLE; } break; case 345: #line 1779 "sql_yacc.yy" { (yyval.key_type)= Key::UNIQUE; } break; case 346: #line 1780 "sql_yacc.yy" { (yyval.key_type)= Key::FULLTEXT;} break; case 347: #line 1782 "sql_yacc.yy" { #ifdef HAVE_SPATIAL (yyval.key_type)= Key::SPATIAL; #else net_printf(Lex->thd, ER_FEATURE_DISABLED, sym_group_geom.name, sym_group_geom.needed_define); YYABORT; #endif } break; case 348: #line 1794 "sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_UNDEF; } break; case 349: #line 1795 "sql_yacc.yy" { (yyval.key_alg)= (yyvsp[0].key_alg); } break; case 350: #line 1796 "sql_yacc.yy" { (yyval.key_alg)= (yyvsp[0].key_alg); } break; case 351: #line 1799 "sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_BTREE; } break; case 352: #line 1801 "sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_RTREE; } break; case 353: #line 1804 "sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_HASH; } break; case 354: #line 1807 "sql_yacc.yy" { Lex->col_list.push_back((yyvsp[-1].key_part)); } break; case 355: #line 1808 "sql_yacc.yy" { Lex->col_list.push_back((yyvsp[-1].key_part)); } break; case 356: #line 1811 "sql_yacc.yy" { (yyval.key_part)=new key_part_spec((yyvsp[0].lex_str).str); } break; case 357: #line 1813 "sql_yacc.yy" { int key_part_len= atoi((yyvsp[-1].lex_str).str); #if MYSQL_VERSION_ID < 50000 if (!key_part_len) { my_printf_error(ER_UNKNOWN_ERROR, "Key part '%s' length cannot be 0", MYF(0), (yyvsp[-3].lex_str).str); } #endif (yyval.key_part)=new key_part_spec((yyvsp[-3].lex_str).str,(uint) key_part_len); } break; case 358: #line 1827 "sql_yacc.yy" { (yyval.simple_string)=(char*) 0; } break; case 359: #line 1828 "sql_yacc.yy" { (yyval.simple_string)=(yyvsp[0].lex_str).str; } break; case 360: #line 1831 "sql_yacc.yy" { (yyval.lex_str).str= 0; (yyval.lex_str).length= 0; } break; case 361: #line 1832 "sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str); } break; case 362: #line 1835 "sql_yacc.yy" { Lex->interval_list.push_back((yyvsp[0].string)); } break; case 363: #line 1836 "sql_yacc.yy" { Lex->interval_list.push_back((yyvsp[0].string)); } break; case 364: #line 1844 "sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; lex->sql_command= SQLCOM_ALTER_TABLE; lex->name= 0; lex->duplicates= DUP_ERROR; if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL, TL_OPTION_UPDATING)) YYABORT; lex->create_list.empty(); lex->key_list.empty(); lex->col_list.empty(); lex->select_lex.init_order(); lex->select_lex.db=lex->name=0; bzero((char*) &lex->create_info,sizeof(lex->create_info)); lex->create_info.db_type= DB_TYPE_DEFAULT; lex->create_info.default_table_charset= NULL; lex->create_info.row_type= ROW_TYPE_NOT_USED; lex->alter_info.reset(); lex->alter_info.is_simple= 1; lex->alter_info.flags= 0; } break; case 365: #line 1867 "sql_yacc.yy" {} break; case 366: #line 1869 "sql_yacc.yy" { Lex->create_info.default_table_charset= NULL; Lex->create_info.used_fields= 0; } break; case 367: #line 1874 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command=SQLCOM_ALTER_DB; lex->name= (yyvsp[-2].simple_string); } break; case 368: #line 1882 "sql_yacc.yy" { (yyval.simple_string)= 0; } break; case 369: #line 1883 "sql_yacc.yy" { (yyval.simple_string)= (yyvsp[0].lex_str).str; } break; case 371: #line 1887 "sql_yacc.yy" { Lex->alter_info.tablespace_op= DISCARD_TABLESPACE; } break; case 372: #line 1888 "sql_yacc.yy" { Lex->alter_info.tablespace_op= IMPORT_TABLESPACE; } break; case 375: #line 1894 "sql_yacc.yy" { LEX *lex=Lex; lex->change=0; lex->alter_info.flags|= ALTER_ADD_COLUMN; } break; case 376: #line 1901 "sql_yacc.yy" { Lex->alter_info.is_simple= 0; } break; case 377: #line 1903 "sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.is_simple= 0; lex->alter_info.flags|= ALTER_ADD_INDEX; } break; case 378: #line 1908 "sql_yacc.yy" { Lex->alter_info.is_simple= 0; } break; case 379: #line 1910 "sql_yacc.yy" { LEX *lex=Lex; lex->change= (yyvsp[0].lex_str).str; lex->alter_info.is_simple= 0; lex->alter_info.flags|= ALTER_CHANGE_COLUMN; } break; case 381: #line 1918 "sql_yacc.yy" { LEX *lex=Lex; lex->length=lex->dec=0; lex->type=0; lex->default_value= lex->on_update_value= 0; lex->comment=0; lex->charset= NULL; lex->alter_info.is_simple= 0; lex->alter_info.flags|= ALTER_CHANGE_COLUMN; } break; case 382: #line 1928 "sql_yacc.yy" { LEX *lex=Lex; if (add_field_to_list(lex->thd,(yyvsp[-3].lex_str).str, (enum enum_field_types) (yyvsp[-1].num), lex->length,lex->dec,lex->type, lex->default_value, lex->on_update_value, lex->comment, (yyvsp[-3].lex_str).str, &lex->interval_list, lex->charset, lex->uint_geom_type)) YYABORT; } break; case 384: #line 1941 "sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.drop_list.push_back(new Alter_drop(Alter_drop::COLUMN, (yyvsp[-1].lex_str).str)); lex->alter_info.is_simple= 0; lex->alter_info.flags|= ALTER_DROP_COLUMN; } break; case 385: #line 1948 "sql_yacc.yy" { Lex->alter_info.is_simple= 0; } break; case 386: #line 1950 "sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.drop_list.push_back(new Alter_drop(Alter_drop::KEY, primary_key_name)); lex->alter_info.is_simple= 0; lex->alter_info.flags|= ALTER_DROP_INDEX; } break; case 387: #line 1958 "sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.drop_list.push_back(new Alter_drop(Alter_drop::KEY, (yyvsp[0].lex_str).str)); lex->alter_info.is_simple= 0; lex->alter_info.flags|= ALTER_DROP_INDEX; } break; case 388: #line 1965 "sql_yacc.yy" { Lex->alter_info.keys_onoff= DISABLE; } break; case 389: #line 1966 "sql_yacc.yy" { Lex->alter_info.keys_onoff= ENABLE; } break; case 390: #line 1968 "sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.alter_list.push_back(new Alter_column((yyvsp[-3].lex_str).str,(yyvsp[0].item))); lex->alter_info.is_simple= 0; lex->alter_info.flags|= ALTER_CHANGE_COLUMN; } break; case 391: #line 1975 "sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.alter_list.push_back(new Alter_column((yyvsp[-2].lex_str).str, (Item*) 0)); lex->alter_info.is_simple= 0; lex->alter_info.flags|= ALTER_CHANGE_COLUMN; } break; case 392: #line 1983 "sql_yacc.yy" { LEX *lex=Lex; lex->select_lex.db=(yyvsp[0].table)->db.str; lex->name= (yyvsp[0].table)->table.str; if (check_table_name((yyvsp[0].table)->table.str,(yyvsp[0].table)->table.length) || (yyvsp[0].table)->db.str && check_db_name((yyvsp[0].table)->db.str)) { net_printf(lex->thd,ER_WRONG_TABLE_NAME,(yyvsp[0].table)->table.str); YYABORT; } lex->alter_info.flags|= ALTER_RENAME; } break; case 393: #line 1996 "sql_yacc.yy" { if (!(yyvsp[-1].charset)) { THD *thd= YYTHD; (yyvsp[-1].charset)= thd->variables.collation_database; } (yyvsp[0].charset)= (yyvsp[0].charset) ? (yyvsp[0].charset) : (yyvsp[-1].charset); if (!my_charset_same((yyvsp[-1].charset),(yyvsp[0].charset))) { net_printf(YYTHD,ER_COLLATION_CHARSET_MISMATCH, (yyvsp[0].charset)->name,(yyvsp[-1].charset)->csname); YYABORT; } LEX *lex= Lex; lex->create_info.table_charset= lex->create_info.default_table_charset= (yyvsp[0].charset); lex->create_info.used_fields|= (HA_CREATE_USED_CHARSET | HA_CREATE_USED_DEFAULT_CHARSET); lex->alter_info.is_simple= 0; } break; case 394: #line 2017 "sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.is_simple= 0; lex->alter_info.flags|= ALTER_OPTIONS; } break; case 395: #line 2023 "sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.is_simple= 0; lex->alter_info.flags|= ALTER_ORDER; } break; case 396: #line 2030 "sql_yacc.yy" {} break; case 397: #line 2031 "sql_yacc.yy" {} break; case 398: #line 2034 "sql_yacc.yy" { Lex->ignore= 0;} break; case 399: #line 2035 "sql_yacc.yy" { Lex->ignore= 1;} break; case 400: #line 2039 "sql_yacc.yy" {} break; case 401: #line 2040 "sql_yacc.yy" {} break; case 402: #line 2041 "sql_yacc.yy" {} break; case 403: #line 2044 "sql_yacc.yy" {} break; case 404: #line 2045 "sql_yacc.yy" { store_position_for_column((yyvsp[0].lex_str).str); } break; case 405: #line 2046 "sql_yacc.yy" { store_position_for_column(first_keyword); } break; case 406: #line 2049 "sql_yacc.yy" {} break; case 407: #line 2050 "sql_yacc.yy" {} break; case 408: #line 2051 "sql_yacc.yy" {} break; case 409: #line 2052 "sql_yacc.yy" {} break; case 410: #line 2060 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_START; lex->type = 0; /* We'll use mi structure for UNTIL options */ bzero((char*) &lex->mi, sizeof(lex->mi)); /* If you change this code don't forget to update SLAVE START too */ } break; case 411: #line 2069 "sql_yacc.yy" {} break; case 412: #line 2071 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_STOP; lex->type = 0; /* If you change this code don't forget to update SLAVE STOP too */ } break; case 413: #line 2078 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_START; lex->type = 0; /* We'll use mi structure for UNTIL options */ bzero((char*) &lex->mi, sizeof(lex->mi)); } break; case 414: #line 2086 "sql_yacc.yy" {} break; case 415: #line 2088 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_STOP; lex->type = 0; } break; case 416: #line 2098 "sql_yacc.yy" { Lex->sql_command = SQLCOM_BEGIN; Lex->start_transaction_opt= (yyvsp[0].num); } break; case 417: #line 2105 "sql_yacc.yy" { (yyval.num) = 0; } break; case 418: #line 2107 "sql_yacc.yy" { (yyval.num)= MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT; } break; case 419: #line 2113 "sql_yacc.yy" { Lex->slave_thd_opt= 0; } break; case 420: #line 2115 "sql_yacc.yy" {} break; case 423: #line 2124 "sql_yacc.yy" {} break; case 424: #line 2125 "sql_yacc.yy" { Lex->slave_thd_opt|=SLAVE_SQL; } break; case 425: #line 2126 "sql_yacc.yy" { Lex->slave_thd_opt|=SLAVE_IO; } break; case 426: #line 2130 "sql_yacc.yy" {} break; case 427: #line 2132 "sql_yacc.yy" { LEX *lex=Lex; if ((lex->mi.log_file_name || lex->mi.pos) && (lex->mi.relay_log_name || lex->mi.relay_log_pos) || !((lex->mi.log_file_name && lex->mi.pos) || (lex->mi.relay_log_name && lex->mi.relay_log_pos))) { send_error(lex->thd, ER_BAD_SLAVE_UNTIL_COND); YYABORT; } } break; case 430: #line 2153 "sql_yacc.yy" { Lex->sql_command = SQLCOM_RESTORE_TABLE; } break; case 431: #line 2157 "sql_yacc.yy" { Lex->backup_dir = (yyvsp[0].lex_str).str; } break; case 432: #line 2163 "sql_yacc.yy" { Lex->sql_command = SQLCOM_BACKUP_TABLE; } break; case 433: #line 2167 "sql_yacc.yy" { Lex->backup_dir = (yyvsp[0].lex_str).str; } break; case 434: #line 2173 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_CHECKSUM; } break; case 435: #line 2178 "sql_yacc.yy" {} break; case 436: #line 2182 "sql_yacc.yy" { Lex->check_opt.flags= 0; } break; case 437: #line 2183 "sql_yacc.yy" { Lex->check_opt.flags= T_QUICK; } break; case 438: #line 2184 "sql_yacc.yy" { Lex->check_opt.flags= T_EXTEND; } break; case 439: #line 2189 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_REPAIR; lex->no_write_to_binlog= (yyvsp[-1].num); lex->check_opt.init(); } break; case 440: #line 2196 "sql_yacc.yy" {} break; case 441: #line 2200 "sql_yacc.yy" { Lex->check_opt.flags = T_MEDIUM; } break; case 442: #line 2201 "sql_yacc.yy" {} break; case 443: #line 2204 "sql_yacc.yy" {} break; case 444: #line 2205 "sql_yacc.yy" {} break; case 445: #line 2208 "sql_yacc.yy" { Lex->check_opt.flags|= T_QUICK; } break; case 446: #line 2209 "sql_yacc.yy" { Lex->check_opt.flags|= T_EXTEND; } break; case 447: #line 2210 "sql_yacc.yy" { Lex->check_opt.sql_flags|= TT_USEFRM; } break; case 448: #line 2214 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_ANALYZE; lex->no_write_to_binlog= (yyvsp[-1].num); lex->check_opt.init(); } break; case 449: #line 2221 "sql_yacc.yy" {} break; case 450: #line 2226 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_CHECK; lex->check_opt.init(); } break; case 451: #line 2232 "sql_yacc.yy" {} break; case 452: #line 2236 "sql_yacc.yy" { Lex->check_opt.flags = T_MEDIUM; } break; case 453: #line 2237 "sql_yacc.yy" {} break; case 454: #line 2240 "sql_yacc.yy" {} break; case 455: #line 2241 "sql_yacc.yy" {} break; case 456: #line 2244 "sql_yacc.yy" { Lex->check_opt.flags|= T_QUICK; } break; case 457: #line 2245 "sql_yacc.yy" { Lex->check_opt.flags|= T_FAST; } break; case 458: #line 2246 "sql_yacc.yy" { Lex->check_opt.flags|= T_MEDIUM; } break; case 459: #line 2247 "sql_yacc.yy" { Lex->check_opt.flags|= T_EXTEND; } break; case 460: #line 2248 "sql_yacc.yy" { Lex->check_opt.flags|= T_CHECK_ONLY_CHANGED; } break; case 461: #line 2252 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_OPTIMIZE; lex->no_write_to_binlog= (yyvsp[-1].num); lex->check_opt.init(); } break; case 462: #line 2259 "sql_yacc.yy" {} break; case 463: #line 2263 "sql_yacc.yy" { (yyval.num)= 0; } break; case 464: #line 2264 "sql_yacc.yy" { (yyval.num)= 1; } break; case 465: #line 2265 "sql_yacc.yy" { (yyval.num)= 1; } break; case 466: #line 2270 "sql_yacc.yy" { Lex->sql_command=SQLCOM_RENAME_TABLE; } break; case 467: #line 2274 "sql_yacc.yy" {} break; case 470: #line 2283 "sql_yacc.yy" { LEX *lex=Lex; SELECT_LEX *sl= lex->current_select; if (!sl->add_table_to_list(lex->thd, (yyvsp[-2].table),NULL,TL_OPTION_UPDATING, TL_IGNORE) || !sl->add_table_to_list(lex->thd, (yyvsp[0].table),NULL,TL_OPTION_UPDATING, TL_IGNORE)) YYABORT; } break; case 471: #line 2295 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_ASSIGN_TO_KEYCACHE; lex->name_and_length= (yyvsp[0].lex_str); } break; case 474: #line 2308 "sql_yacc.yy" { LEX *lex=Lex; SELECT_LEX *sel= &lex->select_lex; if (!sel->add_table_to_list(lex->thd, (yyvsp[-1].table), NULL, 0, TL_READ, sel->get_use_index(), (List *)0)) YYABORT; } break; case 475: #line 2320 "sql_yacc.yy" { (yyval.lex_str)= (yyvsp[0].lex_str); } break; case 476: #line 2321 "sql_yacc.yy" { (yyval.lex_str) = default_key_cache_base; } break; case 477: #line 2326 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command=SQLCOM_PRELOAD_KEYS; } break; case 478: #line 2331 "sql_yacc.yy" {} break; case 481: #line 2340 "sql_yacc.yy" { LEX *lex=Lex; SELECT_LEX *sel= &lex->select_lex; if (!sel->add_table_to_list(lex->thd, (yyvsp[-2].table), NULL, (yyvsp[0].num), TL_READ, sel->get_use_index(), (List *)0)) YYABORT; } break; case 482: #line 2352 "sql_yacc.yy" { Select->interval_list.empty(); } break; case 483: #line 2354 "sql_yacc.yy" { LEX *lex=Lex; SELECT_LEX *sel= &lex->select_lex; sel->use_index= sel->interval_list; } break; case 484: #line 2362 "sql_yacc.yy" { Lex->select_lex.use_index_ptr= 0; } break; case 485: #line 2364 "sql_yacc.yy" { SELECT_LEX *sel= &Lex->select_lex; sel->use_index_ptr= &sel->use_index; } break; case 486: #line 2372 "sql_yacc.yy" { (yyval.num)= 0; } break; case 487: #line 2373 "sql_yacc.yy" { (yyval.num)= TL_OPTION_IGNORE_LEAVES; } break; case 488: #line 2383 "sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SELECT; lex->select_lex.resolve_mode= SELECT_LEX::SELECT_MODE; } break; case 491: #line 2398 "sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX * sel= lex->current_select; if (sel->set_braces(1)) { yyerror(ER(ER_SYNTAX_ERROR)); YYABORT; } if (sel->linkage == UNION_TYPE && !sel->master_unit()->first_select()->braces) { yyerror(ER(ER_SYNTAX_ERROR)); YYABORT; } /* select in braces, can't contain global parameters */ if (sel->master_unit()->fake_select_lex) sel->master_unit()->global_parameters= sel->master_unit()->fake_select_lex; } break; case 493: #line 2421 "sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX * sel= lex->current_select; if (lex->current_select->set_braces(0)) { yyerror(ER(ER_SYNTAX_ERROR)); YYABORT; } if (sel->linkage == UNION_TYPE && sel->master_unit()->first_select()->braces) { yyerror(ER(ER_SYNTAX_ERROR)); YYABORT; } } break; case 495: #line 2440 "sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX *sel= lex->current_select; if (sel->linkage != UNION_TYPE) mysql_init_select(lex); lex->current_select->parsing_place= SELECT_LIST; } break; case 496: #line 2448 "sql_yacc.yy" { Select->parsing_place= NO_MATTER; } break; case 498: #line 2454 "sql_yacc.yy" {} break; case 506: #line 2473 "sql_yacc.yy" { if (test_all_bits(Select->options, SELECT_ALL | SELECT_DISTINCT)) { net_printf(Lex->thd, ER_WRONG_USAGE, "ALL", "DISTINCT"); YYABORT; } } break; case 509: #line 2487 "sql_yacc.yy" { Select->options|= SELECT_STRAIGHT_JOIN; } break; case 510: #line 2489 "sql_yacc.yy" { if (check_simple_select()) YYABORT; Lex->lock_option= TL_READ_HIGH_PRIORITY; } break; case 511: #line 2494 "sql_yacc.yy" { Select->options|= SELECT_DISTINCT; } break; case 512: #line 2495 "sql_yacc.yy" { Select->options|= SELECT_SMALL_RESULT; } break; case 513: #line 2496 "sql_yacc.yy" { Select->options|= SELECT_BIG_RESULT; } break; case 514: #line 2498 "sql_yacc.yy" { if (check_simple_select()) YYABORT; Select->options|= OPTION_BUFFER_RESULT; } break; case 515: #line 2504 "sql_yacc.yy" { if (check_simple_select()) YYABORT; Select->options|= OPTION_FOUND_ROWS; } break; case 516: #line 2509 "sql_yacc.yy" { Lex->safe_to_cache_query=0; } break; case 517: #line 2511 "sql_yacc.yy" { Lex->select_lex.options|= OPTION_TO_QUERY_CACHE; } break; case 518: #line 2514 "sql_yacc.yy" { Select->options|= SELECT_ALL; } break; case 520: #line 2520 "sql_yacc.yy" { LEX *lex=Lex; lex->current_select->set_lock_for_tables(TL_WRITE); lex->safe_to_cache_query=0; } break; case 521: #line 2526 "sql_yacc.yy" { LEX *lex=Lex; lex->current_select-> set_lock_for_tables(TL_READ_WITH_SHARED_LOCKS); lex->safe_to_cache_query=0; } break; case 524: #line 2538 "sql_yacc.yy" { THD *thd= YYTHD; if (add_item_to_list(thd, new Item_field(NULL, NULL, "*"))) YYABORT; (thd->lex->current_select->with_wild)++; } break; case 525: #line 2548 "sql_yacc.yy" { if (add_item_to_list(YYTHD, (yyvsp[-2].item))) YYABORT; if ((yyvsp[0].lex_str).str) (yyvsp[-2].item)->set_name((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,system_charset_info); else if (!(yyvsp[-2].item)->name) (yyvsp[-2].item)->set_name((yyvsp[-3].simple_string),(uint) ((yyvsp[-1].simple_string) - (yyvsp[-3].simple_string)), YYTHD->charset()); } break; case 526: #line 2558 "sql_yacc.yy" { (yyval.simple_string)=(char*) Lex->tok_start; } break; case 527: #line 2561 "sql_yacc.yy" { (yyval.simple_string)=(char*) Lex->tok_end; } break; case 528: #line 2564 "sql_yacc.yy" { (yyval.item)=(yyvsp[0].item); } break; case 529: #line 2565 "sql_yacc.yy" { (yyval.item)=(yyvsp[0].item); } break; case 530: #line 2568 "sql_yacc.yy" { (yyval.lex_str).str=0;} break; case 531: #line 2569 "sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str); } break; case 532: #line 2570 "sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str); } break; case 533: #line 2571 "sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str); } break; case 534: #line 2572 "sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str); } break; case 535: #line 2576 "sql_yacc.yy" {} break; case 536: #line 2577 "sql_yacc.yy" {} break; case 537: #line 2581 "sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } break; case 538: #line 2582 "sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } break; case 539: #line 2585 "sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_eq_creator; } break; case 540: #line 2586 "sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_ge_creator; } break; case 541: #line 2587 "sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_gt_creator; } break; case 542: #line 2588 "sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_le_creator; } break; case 543: #line 2589 "sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_lt_creator; } break; case 544: #line 2590 "sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_ne_creator; } break; case 545: #line 2593 "sql_yacc.yy" { (yyval.num) = 1; } break; case 546: #line 2594 "sql_yacc.yy" { (yyval.num) = 0; } break; case 547: #line 2600 "sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-4].item)); (yyval.item)= new Item_func_in(*(yyvsp[-1].item_list)); } break; case 548: #line 2602 "sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-5].item)); Item_func_in *item= new Item_func_in(*(yyvsp[-1].item_list)); item->negate(); (yyval.item)= item; } break; case 549: #line 2609 "sql_yacc.yy" { (yyval.item)= new Item_in_subselect((yyvsp[-2].item), (yyvsp[0].select_lex)); } break; case 550: #line 2611 "sql_yacc.yy" { (yyval.item)= new Item_func_not(new Item_in_subselect((yyvsp[-3].item), (yyvsp[0].select_lex))); } break; case 551: #line 2615 "sql_yacc.yy" { (yyval.item)= new Item_func_between((yyvsp[-4].item),(yyvsp[-2].item),(yyvsp[0].item)); } break; case 552: #line 2617 "sql_yacc.yy" { Item_func_between *item= new Item_func_between((yyvsp[-5].item),(yyvsp[-2].item),(yyvsp[0].item)); item->negate(); (yyval.item)= item; } break; case 553: #line 2622 "sql_yacc.yy" { (yyval.item)= or_or_concat(YYTHD, (yyvsp[-2].item),(yyvsp[0].item)); } break; case 554: #line 2623 "sql_yacc.yy" { (yyval.item)= new Item_cond_or((yyvsp[-2].item),(yyvsp[0].item)); } break; case 555: #line 2624 "sql_yacc.yy" { (yyval.item)= new Item_cond_xor((yyvsp[-2].item),(yyvsp[0].item)); } break; case 556: #line 2625 "sql_yacc.yy" { (yyval.item)= new Item_cond_and((yyvsp[-2].item),(yyvsp[0].item)); } break; case 557: #line 2627 "sql_yacc.yy" { (yyval.item)= new Item_func_eq(new Item_func_soundex((yyvsp[-3].item)), new Item_func_soundex((yyvsp[0].item))); } break; case 558: #line 2632 "sql_yacc.yy" { (yyval.item)= new Item_func_like((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].item)); } break; case 559: #line 2634 "sql_yacc.yy" { (yyval.item)= new Item_func_not(new Item_func_like((yyvsp[-4].item),(yyvsp[-1].item),(yyvsp[0].item)));} break; case 560: #line 2635 "sql_yacc.yy" { (yyval.item)= new Item_func_regex((yyvsp[-2].item),(yyvsp[0].item)); } break; case 561: #line 2637 "sql_yacc.yy" { (yyval.item)= new Item_func_not(new Item_func_regex((yyvsp[-3].item),(yyvsp[0].item))); } break; case 562: #line 2638 "sql_yacc.yy" { (yyval.item)= new Item_func_isnull((yyvsp[-2].item)); } break; case 563: #line 2639 "sql_yacc.yy" { (yyval.item)= new Item_func_isnotnull((yyvsp[-3].item)); } break; case 564: #line 2640 "sql_yacc.yy" { (yyval.item)= new Item_func_equal((yyvsp[-2].item),(yyvsp[0].item)); } break; case 565: #line 2641 "sql_yacc.yy" { (yyval.item)= (*(yyvsp[-1].boolfunc2creator))(0)->create((yyvsp[-2].item),(yyvsp[0].item)); } break; case 566: #line 2643 "sql_yacc.yy" { (yyval.item)= all_any_subquery_creator((yyvsp[-3].item), (yyvsp[-2].boolfunc2creator), (yyvsp[-1].num), (yyvsp[0].select_lex)); } break; case 567: #line 2646 "sql_yacc.yy" { (yyval.item)= new Item_func_shift_left((yyvsp[-2].item),(yyvsp[0].item)); } break; case 568: #line 2647 "sql_yacc.yy" { (yyval.item)= new Item_func_shift_right((yyvsp[-2].item),(yyvsp[0].item)); } break; case 569: #line 2648 "sql_yacc.yy" { (yyval.item)= new Item_func_plus((yyvsp[-2].item),(yyvsp[0].item)); } break; case 570: #line 2649 "sql_yacc.yy" { (yyval.item)= new Item_func_minus((yyvsp[-2].item),(yyvsp[0].item)); } break; case 571: #line 2650 "sql_yacc.yy" { (yyval.item)= new Item_func_mul((yyvsp[-2].item),(yyvsp[0].item)); } break; case 572: #line 2651 "sql_yacc.yy" { (yyval.item)= new Item_func_div((yyvsp[-2].item),(yyvsp[0].item)); } break; case 573: #line 2652 "sql_yacc.yy" { (yyval.item)= new Item_func_int_div((yyvsp[-2].item),(yyvsp[0].item)); } break; case 574: #line 2653 "sql_yacc.yy" { (yyval.item)= new Item_func_mod((yyvsp[-2].item),(yyvsp[0].item)); } break; case 575: #line 2654 "sql_yacc.yy" { (yyval.item)= new Item_func_bit_or((yyvsp[-2].item),(yyvsp[0].item)); } break; case 576: #line 2655 "sql_yacc.yy" { (yyval.item)= new Item_func_bit_xor((yyvsp[-2].item),(yyvsp[0].item)); } break; case 577: #line 2656 "sql_yacc.yy" { (yyval.item)= new Item_func_bit_and((yyvsp[-2].item),(yyvsp[0].item)); } break; case 578: #line 2657 "sql_yacc.yy" { (yyval.item)= new Item_func_mod((yyvsp[-2].item),(yyvsp[0].item)); } break; case 579: #line 2659 "sql_yacc.yy" { (yyval.item)= new Item_date_add_interval((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].interval),0); } break; case 580: #line 2661 "sql_yacc.yy" { (yyval.item)= new Item_date_add_interval((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].interval),1); } break; case 581: #line 2667 "sql_yacc.yy" { (yyval.item)= new Item_func_between((yyvsp[-4].item),(yyvsp[-2].item),(yyvsp[0].item)); } break; case 582: #line 2669 "sql_yacc.yy" { Item_func_between *item= new Item_func_between((yyvsp[-5].item),(yyvsp[-2].item),(yyvsp[0].item)); item->negate(); (yyval.item)= item; } break; case 583: #line 2674 "sql_yacc.yy" { (yyval.item)= or_or_concat(YYTHD, (yyvsp[-2].item),(yyvsp[0].item)); } break; case 584: #line 2675 "sql_yacc.yy" { (yyval.item)= new Item_cond_or((yyvsp[-2].item),(yyvsp[0].item)); } break; case 585: #line 2676 "sql_yacc.yy" { (yyval.item)= new Item_cond_xor((yyvsp[-2].item),(yyvsp[0].item)); } break; case 586: #line 2677 "sql_yacc.yy" { (yyval.item)= new Item_cond_and((yyvsp[-2].item),(yyvsp[0].item)); } break; case 587: #line 2679 "sql_yacc.yy" { (yyval.item)= new Item_func_eq(new Item_func_soundex((yyvsp[-3].item)), new Item_func_soundex((yyvsp[0].item))); } break; case 588: #line 2684 "sql_yacc.yy" { (yyval.item)= new Item_func_like((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].item)); } break; case 589: #line 2686 "sql_yacc.yy" { (yyval.item)= new Item_func_not(new Item_func_like((yyvsp[-4].item),(yyvsp[-1].item),(yyvsp[0].item))); } break; case 590: #line 2687 "sql_yacc.yy" { (yyval.item)= new Item_func_regex((yyvsp[-2].item),(yyvsp[0].item)); } break; case 591: #line 2689 "sql_yacc.yy" { (yyval.item)= new Item_func_not(new Item_func_regex((yyvsp[-3].item),(yyvsp[0].item))); } break; case 592: #line 2690 "sql_yacc.yy" { (yyval.item)= new Item_func_isnull((yyvsp[-2].item)); } break; case 593: #line 2691 "sql_yacc.yy" { (yyval.item)= new Item_func_isnotnull((yyvsp[-3].item)); } break; case 594: #line 2692 "sql_yacc.yy" { (yyval.item)= new Item_func_equal((yyvsp[-2].item),(yyvsp[0].item)); } break; case 595: #line 2693 "sql_yacc.yy" { (yyval.item)= (*(yyvsp[-1].boolfunc2creator))(0)->create((yyvsp[-2].item),(yyvsp[0].item)); } break; case 596: #line 2695 "sql_yacc.yy" { all_any_subquery_creator((yyvsp[-3].item), (yyvsp[-2].boolfunc2creator), (yyvsp[-1].num), (yyvsp[0].select_lex)); } break; case 597: #line 2698 "sql_yacc.yy" { (yyval.item)= new Item_func_shift_left((yyvsp[-2].item),(yyvsp[0].item)); } break; case 598: #line 2699 "sql_yacc.yy" { (yyval.item)= new Item_func_shift_right((yyvsp[-2].item),(yyvsp[0].item)); } break; case 599: #line 2700 "sql_yacc.yy" { (yyval.item)= new Item_func_plus((yyvsp[-2].item),(yyvsp[0].item)); } break; case 600: #line 2701 "sql_yacc.yy" { (yyval.item)= new Item_func_minus((yyvsp[-2].item),(yyvsp[0].item)); } break; case 601: #line 2702 "sql_yacc.yy" { (yyval.item)= new Item_func_mul((yyvsp[-2].item),(yyvsp[0].item)); } break; case 602: #line 2703 "sql_yacc.yy" { (yyval.item)= new Item_func_div((yyvsp[-2].item),(yyvsp[0].item)); } break; case 603: #line 2704 "sql_yacc.yy" { (yyval.item)= new Item_func_int_div((yyvsp[-2].item),(yyvsp[0].item)); } break; case 604: #line 2705 "sql_yacc.yy" { (yyval.item)= new Item_func_bit_or((yyvsp[-2].item),(yyvsp[0].item)); } break; case 605: #line 2706 "sql_yacc.yy" { (yyval.item)= new Item_func_bit_xor((yyvsp[-2].item),(yyvsp[0].item)); } break; case 606: #line 2707 "sql_yacc.yy" { (yyval.item)= new Item_func_bit_and((yyvsp[-2].item),(yyvsp[0].item)); } break; case 607: #line 2708 "sql_yacc.yy" { (yyval.item)= new Item_func_mod((yyvsp[-2].item),(yyvsp[0].item)); } break; case 608: #line 2709 "sql_yacc.yy" { (yyval.item)= new Item_func_mod((yyvsp[-2].item),(yyvsp[0].item)); } break; case 609: #line 2711 "sql_yacc.yy" { (yyval.item)= new Item_date_add_interval((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].interval),0); } break; case 610: #line 2713 "sql_yacc.yy" { (yyval.item)= new Item_date_add_interval((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].interval),1); } break; case 612: #line 2719 "sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-4].item)); (yyval.item)= new Item_func_in(*(yyvsp[-1].item_list)); } break; case 613: #line 2721 "sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-5].item)); Item_func_in *item= new Item_func_in(*(yyvsp[-1].item_list)); item->negate(); (yyval.item)= item; } break; case 614: #line 2728 "sql_yacc.yy" { (yyval.item)= new Item_in_subselect((yyvsp[-2].item), (yyvsp[0].select_lex)); } break; case 615: #line 2730 "sql_yacc.yy" { (yyval.item)= new Item_func_not(new Item_in_subselect((yyvsp[-3].item), (yyvsp[0].select_lex))); } break; case 616: #line 2734 "sql_yacc.yy" { (yyval.item)= new Item_func_between((yyvsp[-4].item),(yyvsp[-2].item),(yyvsp[0].item)); } break; case 617: #line 2736 "sql_yacc.yy" { Item_func_between *item= new Item_func_between((yyvsp[-5].item),(yyvsp[-2].item),(yyvsp[0].item)); item->negate(); (yyval.item)= item; } break; case 618: #line 2741 "sql_yacc.yy" { (yyval.item)= or_or_concat(YYTHD, (yyvsp[-2].item),(yyvsp[0].item)); } break; case 619: #line 2742 "sql_yacc.yy" { (yyval.item)= new Item_cond_or((yyvsp[-2].item),(yyvsp[0].item)); } break; case 620: #line 2743 "sql_yacc.yy" { (yyval.item)= new Item_cond_xor((yyvsp[-2].item),(yyvsp[0].item)); } break; case 621: #line 2745 "sql_yacc.yy" { (yyval.item)= new Item_func_eq(new Item_func_soundex((yyvsp[-3].item)), new Item_func_soundex((yyvsp[0].item))); } break; case 622: #line 2750 "sql_yacc.yy" { (yyval.item)= new Item_func_like((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].item)); } break; case 623: #line 2752 "sql_yacc.yy" { (yyval.item)= new Item_func_not(new Item_func_like((yyvsp[-4].item),(yyvsp[-1].item),(yyvsp[0].item))); } break; case 624: #line 2753 "sql_yacc.yy" { (yyval.item)= new Item_func_regex((yyvsp[-2].item),(yyvsp[0].item)); } break; case 625: #line 2755 "sql_yacc.yy" { (yyval.item)= new Item_func_not(new Item_func_regex((yyvsp[-3].item),(yyvsp[0].item))); } break; case 626: #line 2756 "sql_yacc.yy" { (yyval.item)= new Item_func_isnull((yyvsp[-2].item)); } break; case 627: #line 2757 "sql_yacc.yy" { (yyval.item)= new Item_func_isnotnull((yyvsp[-3].item)); } break; case 628: #line 2758 "sql_yacc.yy" { (yyval.item)= new Item_func_equal((yyvsp[-2].item),(yyvsp[0].item)); } break; case 629: #line 2759 "sql_yacc.yy" { (yyval.item)= (*(yyvsp[-1].boolfunc2creator))(0)->create((yyvsp[-2].item),(yyvsp[0].item)); } break; case 630: #line 2761 "sql_yacc.yy" { all_any_subquery_creator((yyvsp[-3].item), (yyvsp[-2].boolfunc2creator), (yyvsp[-1].num), (yyvsp[0].select_lex)); } break; case 631: #line 2764 "sql_yacc.yy" { (yyval.item)= new Item_func_shift_left((yyvsp[-2].item),(yyvsp[0].item)); } break; case 632: #line 2765 "sql_yacc.yy" { (yyval.item)= new Item_func_shift_right((yyvsp[-2].item),(yyvsp[0].item)); } break; case 633: #line 2766 "sql_yacc.yy" { (yyval.item)= new Item_func_plus((yyvsp[-2].item),(yyvsp[0].item)); } break; case 634: #line 2767 "sql_yacc.yy" { (yyval.item)= new Item_func_minus((yyvsp[-2].item),(yyvsp[0].item)); } break; case 635: #line 2768 "sql_yacc.yy" { (yyval.item)= new Item_func_mul((yyvsp[-2].item),(yyvsp[0].item)); } break; case 636: #line 2769 "sql_yacc.yy" { (yyval.item)= new Item_func_div((yyvsp[-2].item),(yyvsp[0].item)); } break; case 637: #line 2770 "sql_yacc.yy" { (yyval.item)= new Item_func_int_div((yyvsp[-2].item),(yyvsp[0].item)); } break; case 638: #line 2771 "sql_yacc.yy" { (yyval.item)= new Item_func_bit_or((yyvsp[-2].item),(yyvsp[0].item)); } break; case 639: #line 2772 "sql_yacc.yy" { (yyval.item)= new Item_func_bit_xor((yyvsp[-2].item),(yyvsp[0].item)); } break; case 640: #line 2773 "sql_yacc.yy" { (yyval.item)= new Item_func_bit_and((yyvsp[-2].item),(yyvsp[0].item)); } break; case 641: #line 2774 "sql_yacc.yy" { (yyval.item)= new Item_func_mod((yyvsp[-2].item),(yyvsp[0].item)); } break; case 642: #line 2775 "sql_yacc.yy" { (yyval.item)= new Item_func_mod((yyvsp[-2].item),(yyvsp[0].item)); } break; case 643: #line 2777 "sql_yacc.yy" { (yyval.item)= new Item_date_add_interval((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].interval),0); } break; case 644: #line 2779 "sql_yacc.yy" { (yyval.item)= new Item_date_add_interval((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].interval),1); } break; case 646: #line 2783 "sql_yacc.yy" { (yyval.item)=(yyvsp[0].item); } break; case 648: #line 2789 "sql_yacc.yy" { (yyval.item)= new Item_func_set_collation((yyvsp[-2].item), new Item_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, YYTHD->charset())); } break; case 651: #line 2798 "sql_yacc.yy" { (yyval.item)= new Item_func_set_user_var((yyvsp[-2].lex_str),(yyvsp[0].item)); Lex->uncacheable(UNCACHEABLE_RAND); } break; case 652: #line 2803 "sql_yacc.yy" { (yyval.item)= new Item_func_get_user_var((yyvsp[0].lex_str)); Lex->uncacheable(UNCACHEABLE_RAND); } break; case 653: #line 2808 "sql_yacc.yy" { if ((yyvsp[-1].lex_str).str && (yyvsp[0].lex_str).str && check_reserved_words(&(yyvsp[-1].lex_str))) { yyerror(ER(ER_SYNTAX_ERROR)); YYABORT; } if (!((yyval.item)= get_system_var(YYTHD, (enum_var_type) (yyvsp[-2].num), (yyvsp[-1].lex_str), (yyvsp[0].lex_str)))) YYABORT; } break; case 655: #line 2819 "sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } break; case 656: #line 2820 "sql_yacc.yy" { (yyval.item)= new Item_func_neg((yyvsp[0].item)); } break; case 657: #line 2821 "sql_yacc.yy" { (yyval.item)= new Item_func_bit_neg((yyvsp[0].item)); } break; case 658: #line 2823 "sql_yacc.yy" { (yyval.item)= negate_expression(YYTHD, (yyvsp[0].item)); } break; case 659: #line 2827 "sql_yacc.yy" { (yyval.item)= negate_expression(YYTHD, (yyvsp[0].item)); } break; case 660: #line 2830 "sql_yacc.yy" { (yyval.item)= (yyvsp[-1].item); } break; case 661: #line 2832 "sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item)); (yyval.item)= new Item_row(*(yyvsp[-1].item_list)); } break; case 662: #line 2837 "sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item)); (yyval.item)= new Item_row(*(yyvsp[-1].item_list)); } break; case 663: #line 2841 "sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } break; case 664: #line 2842 "sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } break; case 665: #line 2843 "sql_yacc.yy" { (yyval.item)= (yyvsp[-1].item); } break; case 666: #line 2845 "sql_yacc.yy" { (yyvsp[-5].item_list)->push_front((yyvsp[-2].item)); Select->add_ftfunc_to_list((Item_func_match*) ((yyval.item)=new Item_func_match(*(yyvsp[-5].item_list),(yyvsp[-1].num)))); } break; case 667: #line 2848 "sql_yacc.yy" { (yyval.item)= new Item_func_ascii((yyvsp[-1].item)); } break; case 668: #line 2850 "sql_yacc.yy" { (yyval.item)= create_func_cast((yyvsp[0].item), ITEM_CAST_CHAR, -1, &my_charset_bin); } break; case 669: #line 2854 "sql_yacc.yy" { (yyval.item)= create_func_cast((yyvsp[-3].item), (yyvsp[-1].cast_type), Lex->length ? atoi(Lex->length) : -1, Lex->charset); } break; case 670: #line 2860 "sql_yacc.yy" { (yyval.item)= new Item_func_case(* (yyvsp[-2].item_list), (yyvsp[-4].item), (yyvsp[-1].item) ); } break; case 671: #line 2862 "sql_yacc.yy" { (yyval.item)= create_func_cast((yyvsp[-3].item), (yyvsp[-1].cast_type), Lex->length ? atoi(Lex->length) : -1, Lex->charset); } break; case 672: #line 2868 "sql_yacc.yy" { (yyval.item)= new Item_func_conv_charset((yyvsp[-3].item),(yyvsp[-1].charset)); } break; case 673: #line 2870 "sql_yacc.yy" { (yyval.item)= new Item_default_value((yyvsp[-1].item)); } break; case 674: #line 2872 "sql_yacc.yy" { (yyval.item)= new Item_insert_value((yyvsp[-1].item)); } break; case 675: #line 2874 "sql_yacc.yy" { if (!(yyvsp[-2].symbol).symbol->create_func) { net_printf(Lex->thd, ER_FEATURE_DISABLED, (yyvsp[-2].symbol).symbol->group->name, (yyvsp[-2].symbol).symbol->group->needed_define); YYABORT; } (yyval.item)= ((Item*(*)(void))((yyvsp[-2].symbol).symbol->create_func))(); } break; case 676: #line 2885 "sql_yacc.yy" { if (!(yyvsp[-3].symbol).symbol->create_func) { net_printf(Lex->thd, ER_FEATURE_DISABLED, (yyvsp[-3].symbol).symbol->group->name, (yyvsp[-3].symbol).symbol->group->needed_define); YYABORT; } (yyval.item)= ((Item*(*)(Item*))((yyvsp[-3].symbol).symbol->create_func))((yyvsp[-1].item)); } break; case 677: #line 2896 "sql_yacc.yy" { if (!(yyvsp[-5].symbol).symbol->create_func) { net_printf(Lex->thd, ER_FEATURE_DISABLED, (yyvsp[-5].symbol).symbol->group->name, (yyvsp[-5].symbol).symbol->group->needed_define); YYABORT; } (yyval.item)= ((Item*(*)(Item*,Item*))((yyvsp[-5].symbol).symbol->create_func))((yyvsp[-3].item),(yyvsp[-1].item)); } break; case 678: #line 2907 "sql_yacc.yy" { if (!(yyvsp[-7].symbol).symbol->create_func) { net_printf(Lex->thd, ER_FEATURE_DISABLED, (yyvsp[-7].symbol).symbol->group->name, (yyvsp[-7].symbol).symbol->group->needed_define); YYABORT; } (yyval.item)= ((Item*(*)(Item*,Item*,Item*))((yyvsp[-7].symbol).symbol->create_func))((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); } break; case 679: #line 2918 "sql_yacc.yy" { (yyval.item)= new Item_date_add_interval((yyvsp[-3].item), (yyvsp[-1].item), INTERVAL_DAY, 0);} break; case 680: #line 2920 "sql_yacc.yy" { (yyval.item)= new Item_date_add_interval((yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0); } break; case 681: #line 2922 "sql_yacc.yy" { (yyval.item)= new Item_func_atan((yyvsp[-1].item)); } break; case 682: #line 2924 "sql_yacc.yy" { (yyval.item)= new Item_func_atan((yyvsp[-3].item),(yyvsp[-1].item)); } break; case 683: #line 2926 "sql_yacc.yy" { (yyval.item)= new Item_func_char(*(yyvsp[-1].item_list)); } break; case 684: #line 2928 "sql_yacc.yy" { (yyval.item)= new Item_func_char(*(yyvsp[-3].item_list), (yyvsp[-1].charset)); } break; case 685: #line 2930 "sql_yacc.yy" { (yyval.item)= new Item_func_charset((yyvsp[-1].item)); } break; case 686: #line 2932 "sql_yacc.yy" { (yyval.item)= new Item_func_coalesce(* (yyvsp[-1].item_list)); } break; case 687: #line 2934 "sql_yacc.yy" { (yyval.item)= new Item_func_collation((yyvsp[-1].item)); } break; case 688: #line 2936 "sql_yacc.yy" { (yyval.item)= new Item_func_concat(* (yyvsp[-1].item_list)); } break; case 689: #line 2938 "sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item)); (yyval.item)= new Item_func_concat_ws(*(yyvsp[-1].item_list)); } break; case 690: #line 2940 "sql_yacc.yy" { Lex->time_zone_tables_used= &fake_time_zone_tables_list; (yyval.item)= new Item_func_convert_tz((yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); } break; case 691: #line 2945 "sql_yacc.yy" { (yyval.item)= new Item_func_curdate_local(); Lex->safe_to_cache_query=0; } break; case 692: #line 2947 "sql_yacc.yy" { (yyval.item)= new Item_func_curtime_local(); Lex->safe_to_cache_query=0; } break; case 693: #line 2949 "sql_yacc.yy" { (yyval.item)= new Item_func_curtime_local((yyvsp[-1].item)); Lex->safe_to_cache_query=0; } break; case 694: #line 2954 "sql_yacc.yy" { (yyval.item)= create_func_current_user(); } break; case 695: #line 2956 "sql_yacc.yy" { (yyval.item)= new Item_date_add_interval((yyvsp[-4].item),(yyvsp[-2].item),(yyvsp[-1].interval),0); } break; case 696: #line 2958 "sql_yacc.yy" { (yyval.item)= new Item_date_add_interval((yyvsp[-4].item),(yyvsp[-2].item),(yyvsp[-1].interval),1); } break; case 697: #line 2960 "sql_yacc.yy" { (yyval.item)= new Item_func_database(); Lex->safe_to_cache_query=0; } break; case 698: #line 2965 "sql_yacc.yy" { (yyval.item)= new Item_date_typecast((yyvsp[-1].item)); } break; case 699: #line 2967 "sql_yacc.yy" { (yyval.item)= new Item_func_dayofmonth((yyvsp[-1].item)); } break; case 700: #line 2969 "sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item)); (yyval.item)= new Item_func_elt(*(yyvsp[-1].item_list)); } break; case 701: #line 2971 "sql_yacc.yy" { (yyval.item)= new Item_func_make_set((yyvsp[-3].item), *(yyvsp[-1].item_list)); } break; case 702: #line 2973 "sql_yacc.yy" { (yyval.item)= new Item_func_encrypt((yyvsp[-1].item)); Lex->uncacheable(UNCACHEABLE_RAND); } break; case 703: #line 2977 "sql_yacc.yy" { (yyval.item)= new Item_func_encrypt((yyvsp[-3].item),(yyvsp[-1].item)); } break; case 704: #line 2979 "sql_yacc.yy" { (yyval.item)= new Item_func_decode((yyvsp[-3].item),(yyvsp[-1].lex_str).str); } break; case 705: #line 2981 "sql_yacc.yy" { (yyval.item)= new Item_func_encode((yyvsp[-3].item),(yyvsp[-1].lex_str).str); } break; case 706: #line 2983 "sql_yacc.yy" { (yyval.item)= new Item_func_des_decrypt((yyvsp[-1].item)); } break; case 707: #line 2985 "sql_yacc.yy" { (yyval.item)= new Item_func_des_decrypt((yyvsp[-3].item),(yyvsp[-1].item)); } break; case 708: #line 2987 "sql_yacc.yy" { (yyval.item)= new Item_func_des_encrypt((yyvsp[-1].item)); } break; case 709: #line 2989 "sql_yacc.yy" { (yyval.item)= new Item_func_des_encrypt((yyvsp[-3].item),(yyvsp[-1].item)); } break; case 710: #line 2991 "sql_yacc.yy" { (yyval.item)= new Item_func_export_set((yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); } break; case 711: #line 2993 "sql_yacc.yy" { (yyval.item)= new Item_func_export_set((yyvsp[-7].item), (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); } break; case 712: #line 2995 "sql_yacc.yy" { (yyval.item)= new Item_func_export_set((yyvsp[-9].item), (yyvsp[-7].item), (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); } break; case 713: #line 2997 "sql_yacc.yy" { (yyval.item)= new Item_func_format((yyvsp[-3].item),atoi((yyvsp[-1].lex_str).str)); } break; case 714: #line 2999 "sql_yacc.yy" { (yyval.item)= new Item_func_from_unixtime((yyvsp[-1].item)); } break; case 715: #line 3001 "sql_yacc.yy" { (yyval.item)= new Item_func_date_format (new Item_func_from_unixtime((yyvsp[-3].item)),(yyvsp[-1].item),0); } break; case 716: #line 3005 "sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item)); (yyval.item)= new Item_func_field(*(yyvsp[-1].item_list)); } break; case 717: #line 3007 "sql_yacc.yy" { #ifdef HAVE_SPATIAL (yyval.item)= (yyvsp[0].item); #else net_printf(Lex->thd, ER_FEATURE_DISABLED, sym_group_geom.name, sym_group_geom.needed_define); YYABORT; #endif } break; case 718: #line 3017 "sql_yacc.yy" { (yyval.item)= new Item_func_get_format((yyvsp[-3].date_time_type), (yyvsp[-1].item)); } break; case 719: #line 3019 "sql_yacc.yy" { (yyval.item)= new Item_func_hour((yyvsp[-1].item)); } break; case 720: #line 3021 "sql_yacc.yy" { (yyval.item)= new Item_func_if((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); } break; case 721: #line 3023 "sql_yacc.yy" { (yyval.item)= new Item_func_insert((yyvsp[-7].item),(yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); } break; case 722: #line 3026 "sql_yacc.yy" { (yyval.item)= new Item_date_add_interval((yyvsp[0].item),(yyvsp[-3].item),(yyvsp[-2].interval),0); } break; case 723: #line 3028 "sql_yacc.yy" { if ((yyvsp[0].item)->type() != Item::ROW_ITEM) { yyerror(ER(ER_SYNTAX_ERROR)); YYABORT; } (yyval.item)= new Item_func_interval((Item_row *)(yyvsp[0].item)); } break; case 724: #line 3037 "sql_yacc.yy" { (yyval.item)= new Item_func_last_insert_id(); Lex->safe_to_cache_query= 0; } break; case 725: #line 3042 "sql_yacc.yy" { (yyval.item)= new Item_func_last_insert_id((yyvsp[-1].item)); Lex->safe_to_cache_query= 0; } break; case 726: #line 3047 "sql_yacc.yy" { (yyval.item)= new Item_func_left((yyvsp[-3].item),(yyvsp[-1].item)); } break; case 727: #line 3049 "sql_yacc.yy" { (yyval.item)= new Item_func_locate((yyvsp[-1].item),(yyvsp[-3].item)); } break; case 728: #line 3051 "sql_yacc.yy" { (yyval.item)= new Item_func_locate((yyvsp[-3].item),(yyvsp[-5].item),(yyvsp[-1].item)); } break; case 729: #line 3053 "sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item)); (yyval.item)= new Item_func_max(*(yyvsp[-1].item_list)); } break; case 730: #line 3055 "sql_yacc.yy" { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item)); (yyval.item)= new Item_func_min(*(yyvsp[-1].item_list)); } break; case 731: #line 3057 "sql_yacc.yy" { (yyval.item)= new Item_func_log((yyvsp[-1].item)); } break; case 732: #line 3059 "sql_yacc.yy" { (yyval.item)= new Item_func_log((yyvsp[-3].item), (yyvsp[-1].item)); } break; case 733: #line 3061 "sql_yacc.yy" { (yyval.item)= new Item_master_pos_wait((yyvsp[-3].item), (yyvsp[-1].item)); Lex->safe_to_cache_query=0; } break; case 734: #line 3066 "sql_yacc.yy" { (yyval.item)= new Item_master_pos_wait((yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); Lex->safe_to_cache_query=0; } break; case 735: #line 3071 "sql_yacc.yy" { (yyval.item)= new Item_func_microsecond((yyvsp[-1].item)); } break; case 736: #line 3073 "sql_yacc.yy" { (yyval.item)= new Item_func_minute((yyvsp[-1].item)); } break; case 737: #line 3075 "sql_yacc.yy" { (yyval.item) = new Item_func_mod( (yyvsp[-3].item), (yyvsp[-1].item)); } break; case 738: #line 3077 "sql_yacc.yy" { (yyval.item)= new Item_func_month((yyvsp[-1].item)); } break; case 739: #line 3079 "sql_yacc.yy" { (yyval.item)= new Item_func_now_local(); Lex->safe_to_cache_query=0;} break; case 740: #line 3081 "sql_yacc.yy" { (yyval.item)= new Item_func_now_local((yyvsp[-1].item)); Lex->safe_to_cache_query=0;} break; case 741: #line 3083 "sql_yacc.yy" { (yyval.item)= YYTHD->variables.old_passwords ? (Item *) new Item_func_old_password((yyvsp[-1].item)) : (Item *) new Item_func_password((yyvsp[-1].item)); } break; case 742: #line 3089 "sql_yacc.yy" { (yyval.item)= new Item_func_old_password((yyvsp[-1].item)); } break; case 743: #line 3091 "sql_yacc.yy" { (yyval.item) = new Item_func_locate((yyvsp[-1].item),(yyvsp[-3].item)); } break; case 744: #line 3093 "sql_yacc.yy" { (yyval.item)= new Item_func_rand((yyvsp[-1].item)); Lex->uncacheable(UNCACHEABLE_RAND);} break; case 745: #line 3095 "sql_yacc.yy" { (yyval.item)= new Item_func_rand(); Lex->uncacheable(UNCACHEABLE_RAND);} break; case 746: #line 3097 "sql_yacc.yy" { (yyval.item)= new Item_func_replace((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); } break; case 747: #line 3099 "sql_yacc.yy" { (yyval.item)= new Item_func_right((yyvsp[-3].item),(yyvsp[-1].item)); } break; case 748: #line 3101 "sql_yacc.yy" { (yyval.item)= new Item_func_round((yyvsp[-1].item), new Item_int((char*)"0",0,1),0); } break; case 749: #line 3102 "sql_yacc.yy" { (yyval.item)= new Item_func_round((yyvsp[-3].item),(yyvsp[-1].item),0); } break; case 750: #line 3104 "sql_yacc.yy" { (yyval.item)= new Item_date_add_interval((yyvsp[-3].item), (yyvsp[-1].item), INTERVAL_DAY, 1);} break; case 751: #line 3106 "sql_yacc.yy" { (yyval.item)= new Item_date_add_interval((yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1); } break; case 752: #line 3108 "sql_yacc.yy" { (yyval.item)= new Item_func_second((yyvsp[-1].item)); } break; case 753: #line 3110 "sql_yacc.yy" { (yyval.item)= new Item_func_substr((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); } break; case 754: #line 3112 "sql_yacc.yy" { (yyval.item)= new Item_func_substr((yyvsp[-3].item),(yyvsp[-1].item)); } break; case 755: #line 3114 "sql_yacc.yy" { (yyval.item)= new Item_func_substr((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); } break; case 756: #line 3116 "sql_yacc.yy" { (yyval.item)= new Item_func_substr((yyvsp[-3].item),(yyvsp[-1].item)); } break; case 757: #line 3118 "sql_yacc.yy" { (yyval.item)= new Item_func_substr_index((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); } break; case 758: #line 3120 "sql_yacc.yy" { (yyval.item)= new Item_time_typecast((yyvsp[-1].item)); } break; case 759: #line 3122 "sql_yacc.yy" { (yyval.item)= new Item_datetime_typecast((yyvsp[-1].item)); } break; case 760: #line 3124 "sql_yacc.yy" { (yyval.item)= new Item_func_add_time((yyvsp[-3].item), (yyvsp[-1].item), 1, 0); } break; case 761: #line 3126 "sql_yacc.yy" { (yyval.item)= new Item_func_trim((yyvsp[-1].item)); } break; case 762: #line 3128 "sql_yacc.yy" { (yyval.item)= new Item_func_ltrim((yyvsp[-1].item),(yyvsp[-3].item)); } break; case 763: #line 3130 "sql_yacc.yy" { (yyval.item)= new Item_func_rtrim((yyvsp[-1].item),(yyvsp[-3].item)); } break; case 764: #line 3132 "sql_yacc.yy" { (yyval.item)= new Item_func_trim((yyvsp[-1].item),(yyvsp[-3].item)); } break; case 765: #line 3134 "sql_yacc.yy" { (yyval.item)= new Item_func_ltrim((yyvsp[-1].item)); } break; case 766: #line 3136 "sql_yacc.yy" { (yyval.item)= new Item_func_rtrim((yyvsp[-1].item)); } break; case 767: #line 3138 "sql_yacc.yy" { (yyval.item)= new Item_func_trim((yyvsp[-1].item)); } break; case 768: #line 3140 "sql_yacc.yy" { (yyval.item)= new Item_func_trim((yyvsp[-1].item),(yyvsp[-3].item)); } break; case 769: #line 3142 "sql_yacc.yy" { (yyval.item)= new Item_func_round((yyvsp[-3].item),(yyvsp[-1].item),1); } break; case 770: #line 3144 "sql_yacc.yy" { if ((yyvsp[-1].item_list) != NULL) (yyval.item) = new Item_sum_udf_str((yyvsp[-3].udf), *(yyvsp[-1].item_list)); else (yyval.item) = new Item_sum_udf_str((yyvsp[-3].udf)); } break; case 771: #line 3151 "sql_yacc.yy" { if ((yyvsp[-1].item_list) != NULL) (yyval.item) = new Item_sum_udf_float((yyvsp[-3].udf), *(yyvsp[-1].item_list)); else (yyval.item) = new Item_sum_udf_float((yyvsp[-3].udf)); } break; case 772: #line 3158 "sql_yacc.yy" { if ((yyvsp[-1].item_list) != NULL) (yyval.item) = new Item_sum_udf_int((yyvsp[-3].udf), *(yyvsp[-1].item_list)); else (yyval.item) = new Item_sum_udf_int((yyvsp[-3].udf)); } break; case 773: #line 3165 "sql_yacc.yy" { if ((yyvsp[-1].item_list) != NULL) (yyval.item) = new Item_func_udf_str((yyvsp[-3].udf), *(yyvsp[-1].item_list)); else (yyval.item) = new Item_func_udf_str((yyvsp[-3].udf)); } break; case 774: #line 3172 "sql_yacc.yy" { if ((yyvsp[-1].item_list) != NULL) (yyval.item) = new Item_func_udf_float((yyvsp[-3].udf), *(yyvsp[-1].item_list)); else (yyval.item) = new Item_func_udf_float((yyvsp[-3].udf)); } break; case 775: #line 3179 "sql_yacc.yy" { if ((yyvsp[-1].item_list) != NULL) (yyval.item) = new Item_func_udf_int((yyvsp[-3].udf), *(yyvsp[-1].item_list)); else (yyval.item) = new Item_func_udf_int((yyvsp[-3].udf)); } break; case 776: #line 3186 "sql_yacc.yy" { (yyval.item)= new Item_func_unique_users((yyvsp[-7].item),atoi((yyvsp[-5].lex_str).str),atoi((yyvsp[-3].lex_str).str), * (yyvsp[-1].item_list)); } break; case 777: #line 3190 "sql_yacc.yy" { (yyval.item)= new Item_func_unix_timestamp(); Lex->safe_to_cache_query=0; } break; case 778: #line 3195 "sql_yacc.yy" { (yyval.item)= new Item_func_unix_timestamp((yyvsp[-1].item)); } break; case 779: #line 3197 "sql_yacc.yy" { (yyval.item)= new Item_func_user(); Lex->safe_to_cache_query=0; } break; case 780: #line 3199 "sql_yacc.yy" { (yyval.item)= new Item_func_curdate_utc(); Lex->safe_to_cache_query=0;} break; case 781: #line 3201 "sql_yacc.yy" { (yyval.item)= new Item_func_curtime_utc(); Lex->safe_to_cache_query=0;} break; case 782: #line 3203 "sql_yacc.yy" { (yyval.item)= new Item_func_now_utc(); Lex->safe_to_cache_query=0;} break; case 783: #line 3205 "sql_yacc.yy" { (yyval.item)= new Item_func_week((yyvsp[-1].item),new Item_int((char*) "0", YYTHD->variables.default_week_format,1)); } break; case 784: #line 3210 "sql_yacc.yy" { (yyval.item)= new Item_func_week((yyvsp[-3].item),(yyvsp[-1].item)); } break; case 785: #line 3212 "sql_yacc.yy" { (yyval.item)= new Item_func_year((yyvsp[-1].item)); } break; case 786: #line 3214 "sql_yacc.yy" { (yyval.item)= new Item_func_yearweek((yyvsp[-1].item),new Item_int((char*) "0",0,1)); } break; case 787: #line 3216 "sql_yacc.yy" { (yyval.item)= new Item_func_yearweek((yyvsp[-3].item), (yyvsp[-1].item)); } break; case 788: #line 3218 "sql_yacc.yy" { (yyval.item)=new Item_func_benchmark((yyvsp[-3].ulong_num),(yyvsp[-1].item)); Lex->uncacheable(UNCACHEABLE_SIDEEFFECT); } break; case 789: #line 3223 "sql_yacc.yy" { (yyval.item)=new Item_extract( (yyvsp[-3].interval), (yyvsp[-1].item)); } break; case 790: #line 3227 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-1].item))); } break; case 791: #line 3229 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-3].item), (yyvsp[-1].item))); } break; case 792: #line 3231 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_wkb((yyvsp[-1].item))); } break; case 793: #line 3233 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_wkb((yyvsp[-3].item), (yyvsp[-1].item))); } break; case 794: #line 3235 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_spatial_collection(* (yyvsp[-1].item_list), Geometry::wkb_geometrycollection, Geometry::wkb_point)); } break; case 795: #line 3239 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_spatial_collection(* (yyvsp[-1].item_list), Geometry::wkb_linestring, Geometry::wkb_point)); } break; case 796: #line 3242 "sql_yacc.yy" { (yyval.item)= GEOM_NEW( Item_func_spatial_collection(* (yyvsp[-1].item_list), Geometry::wkb_multilinestring, Geometry::wkb_linestring)); } break; case 797: #line 3245 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-1].item))); } break; case 798: #line 3247 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-3].item), (yyvsp[-1].item))); } break; case 799: #line 3249 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-1].item))); } break; case 800: #line 3251 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-3].item), (yyvsp[-1].item))); } break; case 801: #line 3253 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-1].item))); } break; case 802: #line 3255 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-3].item), (yyvsp[-1].item))); } break; case 803: #line 3257 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_spatial_collection(* (yyvsp[-1].item_list), Geometry::wkb_multipoint, Geometry::wkb_point)); } break; case 804: #line 3260 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_spatial_collection(* (yyvsp[-1].item_list), Geometry::wkb_multipolygon, Geometry::wkb_polygon)); } break; case 805: #line 3263 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_point((yyvsp[-3].item),(yyvsp[-1].item))); } break; case 806: #line 3265 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-1].item))); } break; case 807: #line 3267 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-3].item), (yyvsp[-1].item))); } break; case 808: #line 3269 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-1].item))); } break; case 809: #line 3271 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-3].item), (yyvsp[-1].item))); } break; case 810: #line 3273 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_spatial_collection(* (yyvsp[-1].item_list), Geometry::wkb_polygon, Geometry::wkb_linestring)); } break; case 811: #line 3276 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-1].item))); } break; case 812: #line 3278 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-3].item), (yyvsp[-1].item))); } break; case 813: #line 3280 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-1].item))); } break; case 814: #line 3282 "sql_yacc.yy" { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-3].item), (yyvsp[-1].item))); } break; case 815: #line 3286 "sql_yacc.yy" { (yyval.num)= FT_NL; } break; case 816: #line 3287 "sql_yacc.yy" { (yyval.num)= FT_NL | FT_EXPAND; } break; case 817: #line 3288 "sql_yacc.yy" { (yyval.num)= FT_BOOL; } break; case 818: #line 3292 "sql_yacc.yy" { (yyval.item_list)= NULL; } break; case 819: #line 3293 "sql_yacc.yy" { (yyval.item_list)= (yyvsp[0].item_list);} break; case 820: #line 3296 "sql_yacc.yy" { LEX *lex= Lex; if (lex->current_select->inc_in_sum_expr()) { yyerror(ER(ER_SYNTAX_ERROR)); YYABORT; } } break; case 821: #line 3305 "sql_yacc.yy" { Select->in_sum_expr--; (yyval.item_list)= (yyvsp[0].item_list); } break; case 822: #line 3312 "sql_yacc.yy" { (yyval.item)=new Item_sum_avg((yyvsp[-1].item)); } break; case 823: #line 3314 "sql_yacc.yy" { (yyval.item)=new Item_sum_and((yyvsp[-1].item)); } break; case 824: #line 3316 "sql_yacc.yy" { (yyval.item)=new Item_sum_or((yyvsp[-1].item)); } break; case 825: #line 3318 "sql_yacc.yy" { (yyval.item)=new Item_sum_xor((yyvsp[-1].item)); } break; case 826: #line 3320 "sql_yacc.yy" { (yyval.item)=new Item_sum_count(new Item_int((int32) 0L,1)); } break; case 827: #line 3322 "sql_yacc.yy" { (yyval.item)=new Item_sum_count((yyvsp[-1].item)); } break; case 828: #line 3324 "sql_yacc.yy" { Select->in_sum_expr++; } break; case 829: #line 3326 "sql_yacc.yy" { Select->in_sum_expr--; } break; case 830: #line 3328 "sql_yacc.yy" { (yyval.item)=new Item_sum_count_distinct(* (yyvsp[-2].item_list)); } break; case 831: #line 3330 "sql_yacc.yy" { (yyval.item)= new Item_sum_unique_users((yyvsp[-7].item),atoi((yyvsp[-5].lex_str).str),atoi((yyvsp[-3].lex_str).str),(yyvsp[-1].item)); } break; case 832: #line 3332 "sql_yacc.yy" { (yyval.item)=new Item_sum_min((yyvsp[-1].item)); } break; case 833: #line 3334 "sql_yacc.yy" { (yyval.item)=new Item_sum_max((yyvsp[-1].item)); } break; case 834: #line 3336 "sql_yacc.yy" { (yyval.item)=new Item_sum_std((yyvsp[-1].item)); } break; case 835: #line 3338 "sql_yacc.yy" { (yyval.item)=new Item_sum_variance((yyvsp[-1].item)); } break; case 836: #line 3340 "sql_yacc.yy" { (yyval.item)=new Item_sum_sum((yyvsp[-1].item)); } break; case 837: #line 3342 "sql_yacc.yy" { Select->in_sum_expr++; } break; case 838: #line 3346 "sql_yacc.yy" { Select->in_sum_expr--; (yyval.item)=new Item_func_group_concat((yyvsp[-5].num),(yyvsp[-3].item_list),Select->gorder_list,(yyvsp[-1].string)); (yyvsp[-3].item_list)->empty(); } break; case 839: #line 3353 "sql_yacc.yy" { (yyval.num) = 0; } break; case 840: #line 3354 "sql_yacc.yy" { (yyval.num) = 1; } break; case 841: #line 3357 "sql_yacc.yy" { (yyval.string) = new (YYTHD->mem_root) String(",",1,default_charset_info); } break; case 842: #line 3358 "sql_yacc.yy" { (yyval.string) = (yyvsp[0].string); } break; case 843: #line 3363 "sql_yacc.yy" { Select->gorder_list = NULL; } break; case 844: #line 3367 "sql_yacc.yy" { SELECT_LEX *select= Select; select->gorder_list= (SQL_LIST*) sql_memdup((char*) &select->order_list, sizeof(st_sql_list)); select->order_list.empty(); } break; case 845: #line 3378 "sql_yacc.yy" { LEX *lex= Lex; if (lex->current_select->inc_in_sum_expr()) { yyerror(ER(ER_SYNTAX_ERROR)); YYABORT; } } break; case 846: #line 3387 "sql_yacc.yy" { Select->in_sum_expr--; (yyval.item)= (yyvsp[0].item); } break; case 847: #line 3393 "sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= &my_charset_bin; } break; case 848: #line 3394 "sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_CHAR; } break; case 849: #line 3395 "sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= national_charset_info; } break; case 850: #line 3396 "sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->length= (char*)0; } break; case 851: #line 3397 "sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->length= (char*)0; } break; case 852: #line 3398 "sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_UNSIGNED_INT; Lex->charset= NULL; Lex->length= (char*)0; } break; case 853: #line 3399 "sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_UNSIGNED_INT; Lex->charset= NULL; Lex->length= (char*)0; } break; case 854: #line 3400 "sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_DATE; Lex->charset= NULL; Lex->length= (char*)0; } break; case 855: #line 3401 "sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_TIME; Lex->charset= NULL; Lex->length= (char*)0; } break; case 856: #line 3402 "sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_DATETIME; Lex->charset= NULL; Lex->length= (char*)0; } break; case 857: #line 3406 "sql_yacc.yy" { Select->expr_list.push_front(new List); } break; case 858: #line 3408 "sql_yacc.yy" { (yyval.item_list)= Select->expr_list.pop(); } break; case 859: #line 3411 "sql_yacc.yy" { Select->expr_list.head()->push_back((yyvsp[0].item)); } break; case 860: #line 3412 "sql_yacc.yy" { Select->expr_list.head()->push_back((yyvsp[0].item)); } break; case 861: #line 3415 "sql_yacc.yy" { (yyval.item_list)= (yyvsp[0].item_list); } break; case 862: #line 3416 "sql_yacc.yy" { (yyval.item_list)= (yyvsp[-1].item_list); } break; case 863: #line 3419 "sql_yacc.yy" { Select->expr_list.push_front(new List); } break; case 864: #line 3421 "sql_yacc.yy" { (yyval.item_list)= Select->expr_list.pop(); } break; case 865: #line 3424 "sql_yacc.yy" { Select->expr_list.head()->push_back((yyvsp[0].item)); } break; case 866: #line 3425 "sql_yacc.yy" { Select->expr_list.head()->push_back((yyvsp[0].item)); } break; case 867: #line 3428 "sql_yacc.yy" { (yyval.item)= NULL; } break; case 868: #line 3429 "sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } break; case 869: #line 3432 "sql_yacc.yy" { (yyval.item)= NULL; } break; case 870: #line 3433 "sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } break; case 871: #line 3436 "sql_yacc.yy" { Select->when_list.push_front(new List); } break; case 872: #line 3438 "sql_yacc.yy" { (yyval.item_list)= Select->when_list.pop(); } break; case 873: #line 3442 "sql_yacc.yy" { SELECT_LEX *sel=Select; sel->when_list.head()->push_back((yyvsp[-2].item)); sel->when_list.head()->push_back((yyvsp[0].item)); } break; case 874: #line 3448 "sql_yacc.yy" { SELECT_LEX *sel=Select; sel->when_list.head()->push_back((yyvsp[-2].item)); sel->when_list.head()->push_back((yyvsp[0].item)); } break; case 875: #line 3455 "sql_yacc.yy" { (yyval.table_list)=(yyvsp[0].table_list); } break; case 876: #line 3456 "sql_yacc.yy" { (yyval.table_list)=(yyvsp[0].table_list); } break; case 877: #line 3457 "sql_yacc.yy" { (yyval.table_list)=(yyvsp[0].table_list); } break; case 878: #line 3459 "sql_yacc.yy" { (yyval.table_list)=(yyvsp[0].table_list) ; (yyvsp[-2].table_list)->next->straight=1; } break; case 879: #line 3461 "sql_yacc.yy" { add_join_on((yyvsp[-2].table_list),(yyvsp[0].item)); (yyval.table_list)=(yyvsp[-2].table_list); } break; case 880: #line 3464 "sql_yacc.yy" { SELECT_LEX *sel= Select; sel->db1=(yyvsp[-3].table_list)->db; sel->table1=(yyvsp[-3].table_list)->alias; sel->db2=(yyvsp[-1].table_list)->db; sel->table2=(yyvsp[-1].table_list)->alias; } break; case 881: #line 3470 "sql_yacc.yy" { add_join_on((yyvsp[-5].table_list),(yyvsp[-1].item)); (yyval.table_list)=(yyvsp[-5].table_list); } break; case 882: #line 3473 "sql_yacc.yy" { add_join_on((yyvsp[-2].table_list),(yyvsp[0].item)); (yyvsp[-2].table_list)->outer_join|=JOIN_TYPE_LEFT; (yyval.table_list)=(yyvsp[-2].table_list); } break; case 883: #line 3475 "sql_yacc.yy" { SELECT_LEX *sel= Select; sel->db1=(yyvsp[-4].table_list)->db; sel->table1=(yyvsp[-4].table_list)->alias; sel->db2=(yyvsp[0].table_list)->db; sel->table2=(yyvsp[0].table_list)->alias; } break; case 884: #line 3481 "sql_yacc.yy" { add_join_on((yyvsp[-5].table_list),(yyvsp[-1].item)); (yyvsp[-5].table_list)->outer_join|=JOIN_TYPE_LEFT; (yyval.table_list)=(yyvsp[-5].table_list); } break; case 885: #line 3483 "sql_yacc.yy" { add_join_natural((yyvsp[-5].table_list),(yyvsp[-5].table_list)->next); (yyvsp[-5].table_list)->next->outer_join|=JOIN_TYPE_LEFT; (yyval.table_list)=(yyvsp[0].table_list); } break; case 886: #line 3489 "sql_yacc.yy" { add_join_on((yyvsp[-6].table_list),(yyvsp[0].item)); (yyvsp[-6].table_list)->outer_join|=JOIN_TYPE_RIGHT; (yyval.table_list)=(yyvsp[-2].table_list); } break; case 887: #line 3491 "sql_yacc.yy" { SELECT_LEX *sel= Select; sel->db1=(yyvsp[-4].table_list)->db; sel->table1=(yyvsp[-4].table_list)->alias; sel->db2=(yyvsp[0].table_list)->db; sel->table2=(yyvsp[0].table_list)->alias; } break; case 888: #line 3497 "sql_yacc.yy" { add_join_on((yyvsp[-9].table_list),(yyvsp[-1].item)); (yyvsp[-9].table_list)->outer_join|=JOIN_TYPE_RIGHT; (yyval.table_list)=(yyvsp[-5].table_list); } break; case 889: #line 3499 "sql_yacc.yy" { add_join_natural((yyvsp[-5].table_list)->next,(yyvsp[-5].table_list)); (yyvsp[-5].table_list)->outer_join|=JOIN_TYPE_RIGHT; (yyval.table_list)=(yyvsp[0].table_list); } break; case 890: #line 3505 "sql_yacc.yy" { add_join_natural((yyvsp[-3].table_list),(yyvsp[-3].table_list)->next); (yyval.table_list)=(yyvsp[0].table_list); } break; case 891: #line 3508 "sql_yacc.yy" {} break; case 892: #line 3509 "sql_yacc.yy" {} break; case 893: #line 3510 "sql_yacc.yy" {} break; case 894: #line 3514 "sql_yacc.yy" { SELECT_LEX *sel= Select; sel->use_index_ptr=sel->ignore_index_ptr=0; sel->table_join_options= 0; } break; case 895: #line 3520 "sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX *sel= lex->current_select; if (!((yyval.table_list)= sel->add_table_to_list(lex->thd, (yyvsp[-2].table), (yyvsp[-1].lex_str_ptr), sel->get_table_join_options(), lex->lock_option, sel->get_use_index(), sel->get_ignore_index()))) YYABORT; } break; case 896: #line 3531 "sql_yacc.yy" { add_join_on((yyvsp[-3].table_list),(yyvsp[-1].item)); (yyvsp[-3].table_list)->outer_join|=JOIN_TYPE_LEFT; (yyval.table_list)=(yyvsp[-3].table_list); } break; case 897: #line 3533 "sql_yacc.yy" { LEX *lex=Lex; SELECT_LEX_UNIT *unit= lex->current_select->master_unit(); lex->current_select= unit->outer_select(); if (!((yyval.table_list)= lex->current_select-> add_table_to_list(lex->thd, new Table_ident(unit), (yyvsp[0].lex_str_ptr), 0, TL_READ,(List *)0, (List *)0))) YYABORT; } break; case 898: #line 3544 "sql_yacc.yy" { (yyval.table_list)=(yyvsp[-1].table_list); } break; case 900: #line 3549 "sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX * sel= lex->current_select; if (sel->set_braces(1)) { yyerror(ER(ER_SYNTAX_ERROR)); YYABORT; } /* select in braces, can't contain global parameters */ if (sel->master_unit()->fake_select_lex) sel->master_unit()->global_parameters= sel->master_unit()->fake_select_lex; } break; case 901: #line 3564 "sql_yacc.yy" { LEX *lex= Lex; lex->derived_tables= 1; if (lex->sql_command == (int)SQLCOM_HA_READ || lex->sql_command == (int)SQLCOM_KILL) { yyerror(ER(ER_SYNTAX_ERROR)); YYABORT; } if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE || mysql_new_select(lex, 1)) YYABORT; mysql_init_select(lex); lex->current_select->linkage= DERIVED_TABLE_TYPE; lex->current_select->parsing_place= SELECT_LIST; } break; case 902: #line 3581 "sql_yacc.yy" { Select->parsing_place= NO_MATTER; } break; case 904: #line 3588 "sql_yacc.yy" {} break; case 905: #line 3589 "sql_yacc.yy" {} break; case 906: #line 3592 "sql_yacc.yy" {} break; case 907: #line 3594 "sql_yacc.yy" { SELECT_LEX *sel= Select; sel->use_index= *(yyvsp[0].string_list); sel->use_index_ptr= &sel->use_index; } break; case 908: #line 3600 "sql_yacc.yy" { SELECT_LEX *sel= Select; sel->use_index= *(yyvsp[0].string_list); sel->use_index_ptr= &sel->use_index; sel->table_join_options|= TL_OPTION_FORCE_INDEX; } break; case 909: #line 3607 "sql_yacc.yy" { SELECT_LEX *sel= Select; sel->ignore_index= *(yyvsp[0].string_list); sel->ignore_index_ptr= &sel->ignore_index; } break; case 910: #line 3614 "sql_yacc.yy" { Select->interval_list.empty(); } break; case 911: #line 3616 "sql_yacc.yy" { (yyval.string_list)= &Select->interval_list; } break; case 912: #line 3620 "sql_yacc.yy" {} break; case 913: #line 3621 "sql_yacc.yy" {} break; case 914: #line 3626 "sql_yacc.yy" { Select-> interval_list.push_back(new (YYTHD->mem_root) String((const char*) (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, system_charset_info)); } break; case 915: #line 3630 "sql_yacc.yy" { Select-> interval_list.push_back(new (YYTHD->mem_root) String((const char*) (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, system_charset_info)); } break; case 916: #line 3634 "sql_yacc.yy" { Select-> interval_list.push_back(new (YYTHD->mem_root) String("PRIMARY", 7, system_charset_info)); } break; case 917: #line 3640 "sql_yacc.yy" { SELECT_LEX *sel= Select; if (!((yyval.item)= new Item_func_eq(new Item_field(sel->db1, sel->table1, (yyvsp[0].lex_str).str), new Item_field(sel->db2, sel->table2, (yyvsp[0].lex_str).str)))) YYABORT; } break; case 918: #line 3649 "sql_yacc.yy" { SELECT_LEX *sel= Select; if (!((yyval.item)= new Item_cond_and(new Item_func_eq(new Item_field(sel->db1,sel->table1,(yyvsp[0].lex_str).str), new Item_field(sel->db2,sel->table2,(yyvsp[0].lex_str).str)), (yyvsp[-2].item)))) YYABORT; } break; case 919: #line 3656 "sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_HOUR; } break; case 920: #line 3657 "sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_MICROSECOND; } break; case 921: #line 3658 "sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_MINUTE; } break; case 922: #line 3659 "sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_SECOND; } break; case 923: #line 3660 "sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY; } break; case 924: #line 3661 "sql_yacc.yy" { (yyval.interval)=INTERVAL_HOUR_MICROSECOND; } break; case 925: #line 3662 "sql_yacc.yy" { (yyval.interval)=INTERVAL_HOUR_MINUTE; } break; case 926: #line 3663 "sql_yacc.yy" { (yyval.interval)=INTERVAL_HOUR_SECOND; } break; case 927: #line 3664 "sql_yacc.yy" { (yyval.interval)=INTERVAL_HOUR; } break; case 928: #line 3665 "sql_yacc.yy" { (yyval.interval)=INTERVAL_MICROSECOND; } break; case 929: #line 3666 "sql_yacc.yy" { (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; } break; case 930: #line 3667 "sql_yacc.yy" { (yyval.interval)=INTERVAL_MINUTE_SECOND; } break; case 931: #line 3668 "sql_yacc.yy" { (yyval.interval)=INTERVAL_MINUTE; } break; case 932: #line 3669 "sql_yacc.yy" { (yyval.interval)=INTERVAL_MONTH; } break; case 933: #line 3670 "sql_yacc.yy" { (yyval.interval)=INTERVAL_SECOND_MICROSECOND; } break; case 934: #line 3671 "sql_yacc.yy" { (yyval.interval)=INTERVAL_SECOND; } break; case 935: #line 3672 "sql_yacc.yy" { (yyval.interval)=INTERVAL_YEAR_MONTH; } break; case 936: #line 3673 "sql_yacc.yy" { (yyval.interval)=INTERVAL_YEAR; } break; case 937: #line 3677 "sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATE;} break; case 938: #line 3678 "sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_TIME;} break; case 939: #line 3679 "sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;} break; case 940: #line 3680 "sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;} break; case 944: #line 3689 "sql_yacc.yy" { (yyval.lex_str_ptr)=0; } break; case 945: #line 3691 "sql_yacc.yy" { (yyval.lex_str_ptr)= (LEX_STRING*) sql_memdup(&(yyvsp[0].lex_str),sizeof(LEX_STRING)); } break; case 948: #line 3699 "sql_yacc.yy" { Select->where= 0; } break; case 949: #line 3701 "sql_yacc.yy" { Select->parsing_place= IN_WHERE; } break; case 950: #line 3705 "sql_yacc.yy" { SELECT_LEX *select= Select; select->where= (yyvsp[0].item); select->parsing_place= NO_MATTER; if ((yyvsp[0].item)) (yyvsp[0].item)->top_level_item(); } break; case 952: #line 3717 "sql_yacc.yy" { Select->parsing_place= IN_HAVING; } break; case 953: #line 3721 "sql_yacc.yy" { SELECT_LEX *sel= Select; sel->having= (yyvsp[0].item); sel->parsing_place= NO_MATTER; if ((yyvsp[0].item)) (yyvsp[0].item)->top_level_item(); } break; case 954: #line 3731 "sql_yacc.yy" { (yyval.item)= (yyvsp[0].item); } break; case 955: #line 3733 "sql_yacc.yy" { (yyval.item)= new Item_string("\\", 1, &my_charset_latin1); } break; case 958: #line 3749 "sql_yacc.yy" { if (add_group_to_list(YYTHD, (yyvsp[-1].item),(bool) (yyvsp[0].num))) YYABORT; } break; case 959: #line 3751 "sql_yacc.yy" { if (add_group_to_list(YYTHD, (yyvsp[-1].item),(bool) (yyvsp[0].num))) YYABORT; } break; case 960: #line 3754 "sql_yacc.yy" {} break; case 961: #line 3756 "sql_yacc.yy" { LEX *lex=Lex; if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE) { net_printf(lex->thd, ER_WRONG_USAGE, "WITH CUBE", "global union parameters"); YYABORT; } lex->current_select->olap= CUBE_TYPE; net_printf(lex->thd, ER_NOT_SUPPORTED_YET, "CUBE"); YYABORT; /* To be deleted in 5.1 */ } break; case 962: #line 3769 "sql_yacc.yy" { LEX *lex= Lex; if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE) { net_printf(lex->thd, ER_WRONG_USAGE, "WITH ROLLUP", "global union parameters"); YYABORT; } lex->current_select->olap= ROLLUP_TYPE; } break; case 965: #line 3791 "sql_yacc.yy" { LEX *lex=Lex; SELECT_LEX *sel= lex->current_select; SELECT_LEX_UNIT *unit= sel-> master_unit(); if (sel->linkage != GLOBAL_OPTIONS_TYPE && sel->olap != UNSPECIFIED_OLAP_TYPE) { net_printf(lex->thd, ER_WRONG_USAGE, "CUBE/ROLLUP", "ORDER BY"); YYABORT; } if (lex->sql_command != SQLCOM_ALTER_TABLE && !unit->fake_select_lex) { /* A query of the of the form (SELECT ...) ORDER BY order_list is executed in the same way as the query SELECT ... ORDER BY order_list unless the SELECT construct contains ORDER BY or LIMIT clauses. Otherwise we create a fake SELECT_LEX if it has not been created yet. */ SELECT_LEX *first_sl= unit->first_select(); if (!first_sl->next_select() && (first_sl->order_list.elements || first_sl->select_limit != HA_POS_ERROR) && unit->add_fake_select_lex(lex->thd)) YYABORT; } } break; case 967: #line 3824 "sql_yacc.yy" { if (add_order_to_list(YYTHD, (yyvsp[-1].item),(bool) (yyvsp[0].num))) YYABORT; } break; case 968: #line 3826 "sql_yacc.yy" { if (add_order_to_list(YYTHD, (yyvsp[-1].item),(bool) (yyvsp[0].num))) YYABORT; } break; case 969: #line 3829 "sql_yacc.yy" { (yyval.num) = 1; } break; case 970: #line 3830 "sql_yacc.yy" { (yyval.num) =1; } break; case 971: #line 3831 "sql_yacc.yy" { (yyval.num) =0; } break; case 972: #line 3836 "sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX *sel= lex->current_select; sel->offset_limit= 0L; sel->select_limit= HA_POS_ERROR; } break; case 973: #line 3842 "sql_yacc.yy" {} break; case 974: #line 3846 "sql_yacc.yy" {} break; case 975: #line 3847 "sql_yacc.yy" {} break; case 976: #line 3851 "sql_yacc.yy" {} break; case 977: #line 3856 "sql_yacc.yy" { SELECT_LEX *sel= Select; sel->select_limit= (yyvsp[0].ulong_num); sel->offset_limit= 0L; sel->explicit_limit= 1; } break; case 978: #line 3863 "sql_yacc.yy" { SELECT_LEX *sel= Select; sel->select_limit= (yyvsp[0].ulong_num); sel->offset_limit= (yyvsp[-2].ulong_num); sel->explicit_limit= 1; } break; case 979: #line 3870 "sql_yacc.yy" { SELECT_LEX *sel= Select; sel->select_limit= (yyvsp[-2].ulong_num); sel->offset_limit= (yyvsp[0].ulong_num); sel->explicit_limit= 1; } break; case 980: #line 3881 "sql_yacc.yy" { LEX *lex=Lex; lex->current_select->select_limit= HA_POS_ERROR; } break; case 981: #line 3886 "sql_yacc.yy" { SELECT_LEX *sel= Select; sel->select_limit= (ha_rows) (yyvsp[0].ulonglong_number); sel->explicit_limit= 1; } break; case 982: #line 3893 "sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } break; case 983: #line 3894 "sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } break; case 984: #line 3895 "sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } break; case 985: #line 3896 "sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } break; case 986: #line 3897 "sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } break; case 987: #line 3901 "sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } break; case 988: #line 3902 "sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } break; case 989: #line 3903 "sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } break; case 990: #line 3904 "sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } break; case 991: #line 3905 "sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); } break; case 993: #line 3911 "sql_yacc.yy" { LEX *lex=Lex; if (&lex->select_lex != lex->current_select) { net_printf(lex->thd, ER_WRONG_USAGE, "PROCEDURE", "subquery"); YYABORT; } lex->proc_list.elements=0; lex->proc_list.first=0; lex->proc_list.next= (byte**) &lex->proc_list.first; if (add_proc_to_list(lex->thd, new Item_field(NULL,NULL,(yyvsp[0].lex_str).str))) YYABORT; Lex->uncacheable(UNCACHEABLE_SIDEEFFECT); } break; case 995: #line 3931 "sql_yacc.yy" {} break; case 996: #line 3932 "sql_yacc.yy" {} break; case 999: #line 3940 "sql_yacc.yy" { LEX *lex= Lex; if (add_proc_to_list(lex->thd, (yyvsp[0].item))) YYABORT; if (!(yyvsp[0].item)->name) (yyvsp[0].item)->set_name((yyvsp[-1].simple_string),(uint) ((char*) lex->tok_end - (yyvsp[-1].simple_string)), YYTHD->charset()); } break; case 1000: #line 3951 "sql_yacc.yy" { LEX *lex=Lex; if (!lex->describe && (!(lex->result= new select_dumpvar()))) YYABORT; } break; case 1001: #line 3957 "sql_yacc.yy" {} break; case 1003: #line 3962 "sql_yacc.yy" {} break; case 1004: #line 3966 "sql_yacc.yy" { LEX *lex=Lex; if (lex->result && ((select_dumpvar *)lex->result)->var_list.push_back((LEX_STRING*) sql_memdup(&(yyvsp[0].lex_str),sizeof(LEX_STRING)))) YYABORT; } break; case 1005: #line 3975 "sql_yacc.yy" { LEX *lex= Lex; lex->uncacheable(UNCACHEABLE_SIDEEFFECT); if (!(lex->exchange= new sql_exchange((yyvsp[0].lex_str).str, 0)) || !(lex->result= new select_export(lex->exchange))) YYABORT; } break; case 1007: #line 3984 "sql_yacc.yy" { LEX *lex=Lex; if (!lex->describe) { lex->uncacheable(UNCACHEABLE_SIDEEFFECT); if (!(lex->exchange= new sql_exchange((yyvsp[0].lex_str).str,1))) YYABORT; if (!(lex->result= new select_dump(lex->exchange))) YYABORT; } } break; case 1008: #line 3996 "sql_yacc.yy" { Lex->uncacheable(UNCACHEABLE_SIDEEFFECT); } break; case 1009: #line 4006 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_DO; mysql_init_select(lex); } break; case 1010: #line 4012 "sql_yacc.yy" { Lex->insert_list= (yyvsp[0].item_list); } break; case 1011: #line 4023 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_DROP_TABLE; lex->drop_temporary= (yyvsp[-4].num); lex->drop_if_exists= (yyvsp[-2].num); } break; case 1012: #line 4029 "sql_yacc.yy" {} break; case 1013: #line 4030 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_DROP_INDEX; lex->alter_info.drop_list.empty(); lex->alter_info.drop_list.push_back(new Alter_drop(Alter_drop::KEY, (yyvsp[-3].lex_str).str)); if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), NULL, TL_OPTION_UPDATING)) YYABORT; } break; case 1014: #line 4041 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_DROP_DB; lex->drop_if_exists=(yyvsp[-1].num); lex->name=(yyvsp[0].lex_str).str; } break; case 1015: #line 4048 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_DROP_FUNCTION; lex->udf.name = (yyvsp[0].lex_str); } break; case 1016: #line 4054 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_DROP_USER; lex->users_list.empty(); } break; case 1017: #line 4060 "sql_yacc.yy" {} break; case 1020: #line 4070 "sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[0].table), NULL, TL_OPTION_UPDATING)) YYABORT; } break; case 1021: #line 4077 "sql_yacc.yy" { (yyval.num)= 0; } break; case 1022: #line 4078 "sql_yacc.yy" { (yyval.num)= 1; } break; case 1023: #line 4082 "sql_yacc.yy" { (yyval.num)= 0; } break; case 1024: #line 4083 "sql_yacc.yy" { (yyval.num)= 1; } break; case 1025: #line 4091 "sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_INSERT; lex->duplicates= DUP_ERROR; mysql_init_select(lex); /* for subselects */ lex->lock_option= (using_update_log) ? TL_READ_NO_INSERT : TL_READ; lex->select_lex.resolve_mode= SELECT_LEX::INSERT_MODE; } break; case 1026: #line 4101 "sql_yacc.yy" { Select->set_lock_for_tables((yyvsp[-2].lock_type)); Lex->current_select= &Lex->select_lex; } break; case 1027: #line 4106 "sql_yacc.yy" {} break; case 1028: #line 4111 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_REPLACE; lex->duplicates= DUP_REPLACE; mysql_init_select(lex); lex->select_lex.resolve_mode= SELECT_LEX::INSERT_MODE; } break; case 1029: #line 4119 "sql_yacc.yy" { Select->set_lock_for_tables((yyvsp[-1].lock_type)); Lex->current_select= &Lex->select_lex; } break; case 1030: #line 4124 "sql_yacc.yy" {} break; case 1031: #line 4128 "sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_CONCURRENT_INSERT; } break; case 1032: #line 4129 "sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } break; case 1033: #line 4130 "sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_DELAYED; } break; case 1034: #line 4131 "sql_yacc.yy" { (yyval.lock_type)= TL_WRITE; } break; case 1035: #line 4135 "sql_yacc.yy" { (yyval.lock_type)= (yyvsp[0].lock_type); } break; case 1036: #line 4136 "sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_DELAYED; } break; case 1037: #line 4139 "sql_yacc.yy" {} break; case 1038: #line 4140 "sql_yacc.yy" {} break; case 1039: #line 4144 "sql_yacc.yy" { LEX *lex=Lex; lex->field_list.empty(); lex->many_values.empty(); lex->insert_list=0; } break; case 1040: #line 4152 "sql_yacc.yy" {} break; case 1041: #line 4153 "sql_yacc.yy" {} break; case 1042: #line 4154 "sql_yacc.yy" {} break; case 1043: #line 4156 "sql_yacc.yy" { LEX *lex=Lex; if (!(lex->insert_list = new List_item) || lex->many_values.push_back(lex->insert_list)) YYABORT; } break; case 1045: #line 4165 "sql_yacc.yy" { } break; case 1046: #line 4166 "sql_yacc.yy" { } break; case 1047: #line 4167 "sql_yacc.yy" { } break; case 1048: #line 4170 "sql_yacc.yy" { Lex->field_list.push_back((yyvsp[0].item)); } break; case 1049: #line 4171 "sql_yacc.yy" { Lex->field_list.push_back((yyvsp[0].item)); } break; case 1050: #line 4174 "sql_yacc.yy" {} break; case 1051: #line 4175 "sql_yacc.yy" {} break; case 1052: #line 4176 "sql_yacc.yy" { Select->set_braces(0);} break; case 1053: #line 4176 "sql_yacc.yy" {} break; case 1054: #line 4177 "sql_yacc.yy" { Select->set_braces(1);} break; case 1055: #line 4177 "sql_yacc.yy" {} break; case 1060: #line 4191 "sql_yacc.yy" { LEX *lex=Lex; if (lex->field_list.push_back((yyvsp[-2].item)) || lex->insert_list->push_back((yyvsp[0].item))) YYABORT; } break; case 1061: #line 4198 "sql_yacc.yy" {} break; case 1062: #line 4199 "sql_yacc.yy" {} break; case 1063: #line 4203 "sql_yacc.yy" {} break; case 1064: #line 4204 "sql_yacc.yy" {} break; case 1065: #line 4209 "sql_yacc.yy" { if (!(Lex->insert_list = new List_item)) YYABORT; } break; case 1066: #line 4214 "sql_yacc.yy" { LEX *lex=Lex; if (lex->many_values.push_back(lex->insert_list)) YYABORT; } break; case 1067: #line 4221 "sql_yacc.yy" {} break; case 1069: #line 4226 "sql_yacc.yy" { if (Lex->insert_list->push_back((yyvsp[0].item))) YYABORT; } break; case 1070: #line 4231 "sql_yacc.yy" { if (Lex->insert_list->push_back((yyvsp[0].item))) YYABORT; } break; case 1071: #line 4238 "sql_yacc.yy" { (yyval.item)= (yyvsp[0].item);} break; case 1072: #line 4239 "sql_yacc.yy" {(yyval.item)= new Item_default_value(); } break; case 1074: #line 4244 "sql_yacc.yy" { Lex->duplicates= DUP_UPDATE; } break; case 1076: #line 4252 "sql_yacc.yy" { LEX *lex= Lex; mysql_init_select(lex); lex->sql_command= SQLCOM_UPDATE; lex->lock_option= TL_UNLOCK; /* Will be set later */ lex->duplicates= DUP_ERROR; } break; case 1077: #line 4261 "sql_yacc.yy" { LEX *lex= Lex; if (lex->select_lex.table_list.elements > 1) { lex->sql_command= SQLCOM_UPDATE_MULTI; lex->multi_lock_option= (yyvsp[-4].lock_type); } else if (lex->select_lex.get_table_list()->derived) { /* it is single table update and it is update of derived table */ net_printf(lex->thd, ER_NON_UPDATABLE_TABLE, lex->select_lex.get_table_list()->alias, "UPDATE"); YYABORT; } else Select->set_lock_for_tables((yyvsp[-4].lock_type)); } break; case 1078: #line 4278 "sql_yacc.yy" {} break; case 1081: #line 4287 "sql_yacc.yy" { if (add_item_to_list(YYTHD, (yyvsp[-2].item)) || add_value_to_list(YYTHD, (yyvsp[0].item))) YYABORT; } break; case 1084: #line 4298 "sql_yacc.yy" { LEX *lex= Lex; if (lex->update_list.push_back((yyvsp[-2].item)) || lex->value_list.push_back((yyvsp[0].item))) YYABORT; } break; case 1085: #line 4306 "sql_yacc.yy" { (yyval.lock_type)= YYTHD->update_lock_default; } break; case 1086: #line 4307 "sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } break; case 1087: #line 4313 "sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_DELETE; mysql_init_select(lex); lex->lock_option= lex->thd->update_lock_default; lex->ignore= 0; lex->select_lex.init_order(); } break; case 1088: #line 4321 "sql_yacc.yy" {} break; case 1089: #line 4326 "sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[0].table), NULL, TL_OPTION_UPDATING, Lex->lock_option)) YYABORT; } break; case 1090: #line 4332 "sql_yacc.yy" {} break; case 1091: #line 4333 "sql_yacc.yy" {mysql_init_multi_delete(Lex);} break; case 1092: #line 4334 "sql_yacc.yy" {fix_multi_delete_lex(Lex);} break; case 1094: #line 4335 "sql_yacc.yy" { mysql_init_multi_delete(Lex);} break; case 1095: #line 4336 "sql_yacc.yy" {fix_multi_delete_lex(Lex);} break; case 1096: #line 4337 "sql_yacc.yy" {} break; case 1097: #line 4341 "sql_yacc.yy" {} break; case 1098: #line 4342 "sql_yacc.yy" {} break; case 1099: #line 4346 "sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, new Table_ident((yyvsp[-2].lex_str)), (yyvsp[0].lex_str_ptr), TL_OPTION_UPDATING, Lex->lock_option)) YYABORT; } break; case 1100: #line 4352 "sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, new Table_ident(YYTHD, (yyvsp[-4].lex_str), (yyvsp[-2].lex_str), 0), (yyvsp[0].lex_str_ptr), TL_OPTION_UPDATING, Lex->lock_option)) YYABORT; } break; case 1101: #line 4362 "sql_yacc.yy" {} break; case 1102: #line 4363 "sql_yacc.yy" {} break; case 1103: #line 4367 "sql_yacc.yy" {} break; case 1104: #line 4368 "sql_yacc.yy" {} break; case 1105: #line 4371 "sql_yacc.yy" { Select->options|= OPTION_QUICK; } break; case 1106: #line 4372 "sql_yacc.yy" { Lex->lock_option= TL_WRITE_LOW_PRIORITY; } break; case 1107: #line 4373 "sql_yacc.yy" { Lex->ignore= 1; } break; case 1108: #line 4377 "sql_yacc.yy" { LEX* lex= Lex; lex->sql_command= SQLCOM_TRUNCATE; lex->select_lex.options= 0; lex->select_lex.init_order(); } break; case 1111: #line 4392 "sql_yacc.yy" { LEX *lex=Lex; lex->wild=0; bzero((char*) &lex->create_info,sizeof(lex->create_info)); } break; case 1112: #line 4398 "sql_yacc.yy" {} break; case 1113: #line 4403 "sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_DATABASES; } break; case 1114: #line 4405 "sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_TABLES; lex->select_lex.db= (yyvsp[-1].simple_string); } break; case 1115: #line 4411 "sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_TABLES; lex->describe= DESCRIBE_EXTENDED; lex->select_lex.db= (yyvsp[-1].simple_string); } break; case 1116: #line 4418 "sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_OPEN_TABLES; lex->select_lex.db= (yyvsp[-1].simple_string); } break; case 1117: #line 4424 "sql_yacc.yy" { Lex->create_info.db_type= (yyvsp[0].db_type); } break; case 1119: #line 4427 "sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_FIELDS; if ((yyvsp[-1].simple_string)) (yyvsp[-2].table)->change_db((yyvsp[-1].simple_string)); if (!Select->add_table_to_list(YYTHD, (yyvsp[-2].table), NULL, 0)) YYABORT; } break; case 1120: #line 4438 "sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_NEW_MASTER; Lex->mi.log_file_name = (yyvsp[-8].lex_str).str; Lex->mi.pos = (yyvsp[-4].ulonglong_number); Lex->mi.server_id = (yyvsp[0].ulong_num); } break; case 1121: #line 4445 "sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_BINLOGS; } break; case 1122: #line 4449 "sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_SLAVE_HOSTS; } break; case 1123: #line 4453 "sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_BINLOG_EVENTS; } break; case 1125: #line 4458 "sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_KEYS; if ((yyvsp[0].simple_string)) (yyvsp[-1].table)->change_db((yyvsp[0].simple_string)); if (!Select->add_table_to_list(YYTHD, (yyvsp[-1].table), NULL, 0)) YYABORT; } break; case 1126: #line 4466 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_COLUMN_TYPES; } break; case 1127: #line 4471 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES; WARN_DEPRECATED("SHOW TABLE TYPES", "SHOW [STORAGE] ENGINES"); } break; case 1128: #line 4477 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES; } break; case 1129: #line 4482 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_PRIVILEGES; } break; case 1130: #line 4487 "sql_yacc.yy" { (void) create_select_for_variable("warning_count"); } break; case 1131: #line 4489 "sql_yacc.yy" { (void) create_select_for_variable("error_count"); } break; case 1132: #line 4491 "sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_WARNS;} break; case 1133: #line 4493 "sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_ERRORS;} break; case 1134: #line 4495 "sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_STATUS; } break; case 1135: #line 4497 "sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_INNODB_STATUS; WARN_DEPRECATED("SHOW INNODB STATUS", "SHOW ENGINE INNODB STATUS"); } break; case 1136: #line 4499 "sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_PROCESSLIST;} break; case 1137: #line 4501 "sql_yacc.yy" { THD *thd= YYTHD; thd->lex->sql_command= SQLCOM_SHOW_VARIABLES; thd->lex->option_type= (enum_var_type) (yyvsp[-2].num); } break; case 1138: #line 4507 "sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_CHARSETS; } break; case 1139: #line 4509 "sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_COLLATIONS; } break; case 1140: #line 4511 "sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_LOGS; WARN_DEPRECATED("SHOW BDB LOGS", "SHOW ENGINE BDB LOGS"); } break; case 1141: #line 4513 "sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_LOGS; WARN_DEPRECATED("SHOW LOGS", "SHOW ENGINE BDB LOGS"); } break; case 1142: #line 4515 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_GRANTS; THD *thd= lex->thd; LEX_USER *curr_user; if (!(curr_user= (LEX_USER*) thd->alloc(sizeof(st_lex_user)))) YYABORT; curr_user->user.str= thd->priv_user; curr_user->user.length= strlen(thd->priv_user); if (*thd->priv_host != 0) { curr_user->host.str= thd->priv_host; curr_user->host.length= strlen(thd->priv_host); } else { curr_user->host.str= (char *) "%"; curr_user->host.length= 1; } curr_user->password.str=NullS; lex->grant_user= curr_user; } break; case 1143: #line 4538 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_GRANTS; lex->grant_user=(yyvsp[0].lex_user); lex->grant_user->password.str=NullS; } break; case 1144: #line 4545 "sql_yacc.yy" { Lex->sql_command=SQLCOM_SHOW_CREATE_DB; Lex->create_info.options=(yyvsp[-1].num); Lex->name=(yyvsp[0].lex_str).str; } break; case 1145: #line 4551 "sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_CREATE; if (!Select->add_table_to_list(YYTHD, (yyvsp[0].table), NULL,0)) YYABORT; } break; case 1146: #line 4557 "sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_MASTER_STAT; } break; case 1147: #line 4561 "sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT; } break; case 1148: #line 4567 "sql_yacc.yy" { switch (Lex->create_info.db_type) { case DB_TYPE_NDBCLUSTER: Lex->sql_command = SQLCOM_SHOW_NDBCLUSTER_STATUS; break; case DB_TYPE_INNODB: Lex->sql_command = SQLCOM_SHOW_INNODB_STATUS; break; default: net_printf(YYTHD, ER_NOT_SUPPORTED_YET, "STATUS"); YYABORT; } } break; case 1149: #line 4581 "sql_yacc.yy" { switch (Lex->create_info.db_type) { case DB_TYPE_BERKELEY_DB: Lex->sql_command = SQLCOM_SHOW_LOGS; break; default: net_printf(YYTHD, ER_NOT_SUPPORTED_YET, "LOGS"); YYABORT; } } break; case 1154: #line 4601 "sql_yacc.yy" { (yyval.simple_string)= 0; } break; case 1155: #line 4602 "sql_yacc.yy" { (yyval.simple_string)= (yyvsp[0].lex_str).str; } break; case 1157: #line 4607 "sql_yacc.yy" { Lex->wild= new (YYTHD->mem_root) String((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, system_charset_info); } break; case 1158: #line 4611 "sql_yacc.yy" { Lex->verbose=0; } break; case 1159: #line 4612 "sql_yacc.yy" { Lex->verbose=1; } break; case 1162: #line 4619 "sql_yacc.yy" { Lex->mi.log_file_name = 0; } break; case 1163: #line 4620 "sql_yacc.yy" { Lex->mi.log_file_name = (yyvsp[0].lex_str).str; } break; case 1164: #line 4623 "sql_yacc.yy" { Lex->mi.pos = 4; /* skip magic number */ } break; case 1165: #line 4624 "sql_yacc.yy" { Lex->mi.pos = (yyvsp[0].ulonglong_number); } break; case 1166: #line 4630 "sql_yacc.yy" { LEX *lex=Lex; lex->wild=0; lex->verbose=0; lex->sql_command=SQLCOM_SHOW_FIELDS; if (!Select->add_table_to_list(lex->thd, (yyvsp[0].table), NULL,0)) YYABORT; } break; case 1167: #line 4638 "sql_yacc.yy" {} break; case 1168: #line 4640 "sql_yacc.yy" { Lex->describe|= DESCRIBE_NORMAL; } break; case 1169: #line 4642 "sql_yacc.yy" { LEX *lex=Lex; lex->select_lex.options|= SELECT_DESCRIBE; } break; case 1172: #line 4653 "sql_yacc.yy" {} break; case 1173: #line 4654 "sql_yacc.yy" { Lex->describe|= DESCRIBE_EXTENDED; } break; case 1174: #line 4658 "sql_yacc.yy" {} break; case 1175: #line 4659 "sql_yacc.yy" { Lex->wild= (yyvsp[0].string); } break; case 1176: #line 4661 "sql_yacc.yy" { Lex->wild= new (YYTHD->mem_root) String((const char*) (yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,system_charset_info); } break; case 1177: #line 4668 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_FLUSH; lex->type=0; lex->no_write_to_binlog= (yyvsp[0].num); } break; case 1178: #line 4674 "sql_yacc.yy" {} break; case 1181: #line 4682 "sql_yacc.yy" { Lex->type|= REFRESH_TABLES; } break; case 1182: #line 4682 "sql_yacc.yy" {} break; case 1183: #line 4683 "sql_yacc.yy" { Lex->type|= REFRESH_TABLES | REFRESH_READ_LOCK; } break; case 1184: #line 4684 "sql_yacc.yy" { Lex->type|= REFRESH_QUERY_CACHE_FREE; } break; case 1185: #line 4685 "sql_yacc.yy" { Lex->type|= REFRESH_HOSTS; } break; case 1186: #line 4686 "sql_yacc.yy" { Lex->type|= REFRESH_GRANT; } break; case 1187: #line 4687 "sql_yacc.yy" { Lex->type|= REFRESH_LOG; } break; case 1188: #line 4688 "sql_yacc.yy" { Lex->type|= REFRESH_STATUS; } break; case 1189: #line 4689 "sql_yacc.yy" { Lex->type|= REFRESH_SLAVE; } break; case 1190: #line 4690 "sql_yacc.yy" { Lex->type|= REFRESH_MASTER; } break; case 1191: #line 4691 "sql_yacc.yy" { Lex->type|= REFRESH_DES_KEY_FILE; } break; case 1192: #line 4692 "sql_yacc.yy" { Lex->type|= REFRESH_USER_RESOURCES; } break; case 1193: #line 4695 "sql_yacc.yy" {;} break; case 1194: #line 4696 "sql_yacc.yy" {;} break; case 1195: #line 4700 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_RESET; lex->type=0; } break; case 1196: #line 4704 "sql_yacc.yy" {} break; case 1199: #line 4712 "sql_yacc.yy" { Lex->type|= REFRESH_SLAVE; } break; case 1200: #line 4713 "sql_yacc.yy" { Lex->type|= REFRESH_MASTER; } break; case 1201: #line 4714 "sql_yacc.yy" { Lex->type|= REFRESH_QUERY_CACHE;} break; case 1202: #line 4718 "sql_yacc.yy" { LEX *lex=Lex; lex->type=0; } break; case 1203: #line 4722 "sql_yacc.yy" {} break; case 1205: #line 4731 "sql_yacc.yy" { Lex->sql_command = SQLCOM_PURGE; Lex->to_log = (yyvsp[0].lex_str).str; } break; case 1206: #line 4736 "sql_yacc.yy" { if (!(yyvsp[0].item)) /* Can only be an out of memory situation, no need for a message */ YYABORT; if ((yyvsp[0].item)->fix_fields(Lex->thd, 0, &(yyvsp[0].item)) || (yyvsp[0].item)->check_cols(1)) { net_printf(Lex->thd, ER_WRONG_ARGUMENTS, "PURGE LOGS BEFORE"); YYABORT; } Item *tmp= new Item_func_unix_timestamp((yyvsp[0].item)); /* it is OK only emulate fix_fieds, because we need only value of constant */ tmp->quick_fix_field(); Lex->sql_command = SQLCOM_PURGE_BEFORE; Lex->purge_time= (ulong) tmp->val_int(); } break; case 1207: #line 4759 "sql_yacc.yy" { Lex->sql_command= SQLCOM_KILL; } break; case 1208: #line 4760 "sql_yacc.yy" { LEX *lex=Lex; if ((yyvsp[0].item)->fix_fields(lex->thd, 0, &(yyvsp[0].item)) || (yyvsp[0].item)->check_cols(1)) { send_error(lex->thd, ER_SET_CONSTANTS_ONLY); YYABORT; } lex->thread_id= (ulong) (yyvsp[0].item)->val_int(); } break; case 1209: #line 4773 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command=SQLCOM_CHANGE_DB; lex->select_lex.db= (yyvsp[0].lex_str).str; } break; case 1210: #line 4782 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_LOAD; lex->lock_option= (yyvsp[-3].lock_type); lex->local_file= (yyvsp[-2].num); lex->duplicates= DUP_ERROR; lex->ignore= 0; if (!(lex->exchange= new sql_exchange((yyvsp[0].lex_str).str,0))) YYABORT; lex->field_list.empty(); } break; case 1211: #line 4795 "sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[-4].table), NULL, TL_OPTION_UPDATING)) YYABORT; } break; case 1212: #line 4801 "sql_yacc.yy" { Lex->sql_command = SQLCOM_LOAD_MASTER_TABLE; if (!Select->add_table_to_list(YYTHD, (yyvsp[-2].table), NULL, TL_OPTION_UPDATING)) YYABORT; } break; case 1213: #line 4809 "sql_yacc.yy" { Lex->sql_command = SQLCOM_LOAD_MASTER_DATA; } break; case 1214: #line 4814 "sql_yacc.yy" { (yyval.num)=0;} break; case 1215: #line 4815 "sql_yacc.yy" { (yyval.num)=1;} break; case 1216: #line 4818 "sql_yacc.yy" { (yyval.lock_type)= YYTHD->update_lock_default; } break; case 1217: #line 4819 "sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_CONCURRENT_INSERT ; } break; case 1218: #line 4820 "sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } break; case 1219: #line 4824 "sql_yacc.yy" { Lex->duplicates=DUP_ERROR; } break; case 1220: #line 4825 "sql_yacc.yy" { Lex->duplicates=DUP_REPLACE; } break; case 1221: #line 4826 "sql_yacc.yy" { Lex->ignore= 1; } break; case 1226: #line 4838 "sql_yacc.yy" { DBUG_ASSERT(Lex->exchange); Lex->exchange->field_term= (yyvsp[0].string); } break; case 1227: #line 4843 "sql_yacc.yy" { LEX *lex= Lex; DBUG_ASSERT(lex->exchange); lex->exchange->enclosed= (yyvsp[0].string); lex->exchange->opt_enclosed= 1; } break; case 1228: #line 4850 "sql_yacc.yy" { DBUG_ASSERT(Lex->exchange); Lex->exchange->enclosed= (yyvsp[0].string); } break; case 1229: #line 4855 "sql_yacc.yy" { DBUG_ASSERT(Lex->exchange); Lex->exchange->escaped= (yyvsp[0].string); } break; case 1234: #line 4870 "sql_yacc.yy" { DBUG_ASSERT(Lex->exchange); Lex->exchange->line_term= (yyvsp[0].string); } break; case 1235: #line 4875 "sql_yacc.yy" { DBUG_ASSERT(Lex->exchange); Lex->exchange->line_start= (yyvsp[0].string); } break; case 1237: #line 4883 "sql_yacc.yy" { DBUG_ASSERT(Lex->exchange); Lex->exchange->skip_lines= atol((yyvsp[-1].lex_str).str); } break; case 1238: #line 4892 "sql_yacc.yy" { THD *thd= YYTHD; (yyval.item) = new Item_string((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,thd->variables.collation_connection); } break; case 1239: #line 4897 "sql_yacc.yy" { (yyval.item)= new Item_string((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,national_charset_info); } break; case 1240: #line 4899 "sql_yacc.yy" { (yyval.item) = new Item_string((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,Lex->charset); } break; case 1241: #line 4901 "sql_yacc.yy" { ((Item_string*) (yyvsp[-1].item))->append((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length); } break; case 1242: #line 4906 "sql_yacc.yy" { (yyval.string)= new (YYTHD->mem_root) String((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,YYTHD->variables.collation_connection); } break; case 1243: #line 4908 "sql_yacc.yy" { Item *tmp = new Item_varbinary((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length); /* it is OK only emulate fix_fieds, because we need only value of constant */ (yyval.string)= tmp ? tmp->quick_fix_field(), tmp->val_str((String*) 0) : (String*) 0; } break; case 1244: #line 4922 "sql_yacc.yy" { THD *thd=YYTHD; LEX *lex= thd->lex; Item_param *item= new Item_param((uint) (lex->tok_start - (uchar *) thd->query)); if (!((yyval.item)= item) || lex->param_list.push_back(item)) { send_error(thd, ER_OUT_OF_RESOURCES); YYABORT; } } break; case 1245: #line 4936 "sql_yacc.yy" { (yyval.item) = (yyvsp[0].item); } break; case 1246: #line 4937 "sql_yacc.yy" { (yyval.item) = (yyvsp[0].item_num); } break; case 1247: #line 4939 "sql_yacc.yy" { (yyvsp[0].item_num)->max_length++; (yyval.item)= (yyvsp[0].item_num)->neg(); } break; case 1248: #line 4947 "sql_yacc.yy" { (yyval.item) = (yyvsp[0].item); } break; case 1249: #line 4948 "sql_yacc.yy" { (yyval.item) = (yyvsp[0].item_num); } break; case 1250: #line 4949 "sql_yacc.yy" { (yyval.item) = new Item_null(); Lex->next_state=MY_LEX_OPERATOR_OR_IDENT;} break; case 1251: #line 4951 "sql_yacc.yy" { (yyval.item)= new Item_int((char*) "FALSE",0,1); } break; case 1252: #line 4952 "sql_yacc.yy" { (yyval.item)= new Item_int((char*) "TRUE",1,1); } break; case 1253: #line 4953 "sql_yacc.yy" { (yyval.item) = new Item_varbinary((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length);} break; case 1254: #line 4955 "sql_yacc.yy" { Item *tmp= new Item_varbinary((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length); /* it is OK only emulate fix_fieds, because we need only value of constant */ String *str= tmp ? tmp->quick_fix_field(), tmp->val_str((String*) 0) : (String*) 0; (yyval.item)= new Item_string(str ? str->ptr() : "", str ? str->length() : 0, Lex->charset); } break; case 1255: #line 4968 "sql_yacc.yy" { (yyval.item) = (yyvsp[0].item); } break; case 1256: #line 4969 "sql_yacc.yy" { (yyval.item) = (yyvsp[0].item); } break; case 1257: #line 4970 "sql_yacc.yy" { (yyval.item) = (yyvsp[0].item); } break; case 1258: #line 4973 "sql_yacc.yy" { int error; (yyval.item_num) = new Item_int((yyvsp[0].lex_str).str, (longlong) my_strtoll10((yyvsp[0].lex_str).str, NULL, &error), (yyvsp[0].lex_str).length); } break; case 1259: #line 4974 "sql_yacc.yy" { int error; (yyval.item_num) = new Item_int((yyvsp[0].lex_str).str, (longlong) my_strtoll10((yyvsp[0].lex_str).str, NULL, &error), (yyvsp[0].lex_str).length); } break; case 1260: #line 4975 "sql_yacc.yy" { (yyval.item_num) = new Item_uint((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); } break; case 1261: #line 4976 "sql_yacc.yy" { (yyval.item_num) = new Item_real((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); } break; case 1262: #line 4977 "sql_yacc.yy" { (yyval.item_num) = new Item_float((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); } break; case 1263: #line 4985 "sql_yacc.yy" { (yyval.item)=(yyvsp[0].item); } break; case 1264: #line 4986 "sql_yacc.yy" { (yyval.item)=(yyvsp[0].item); } break; case 1265: #line 4990 "sql_yacc.yy" { (yyval.item) = new Item_field(NullS,(yyvsp[-2].lex_str).str,"*"); Lex->current_select->with_wild++; } break; case 1266: #line 4995 "sql_yacc.yy" { (yyval.item) = new Item_field((YYTHD->client_capabilities & CLIENT_NO_SCHEMA ? NullS : (yyvsp[-4].lex_str).str), (yyvsp[-2].lex_str).str,"*"); Lex->current_select->with_wild++; } break; case 1267: #line 5004 "sql_yacc.yy" { (yyval.item)=(yyvsp[0].item); } break; case 1268: #line 5008 "sql_yacc.yy" { SELECT_LEX *sel=Select; (yyval.item)= (sel->parsing_place != IN_HAVING || sel->get_in_sum_expr() > 0) ? (Item*) new Item_field(NullS,NullS,(yyvsp[0].lex_str).str) : (Item*) new Item_ref(NullS, NullS, (yyvsp[0].lex_str).str); } break; case 1269: #line 5016 "sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; SELECT_LEX *sel= lex->current_select; if (sel->no_table_names_allowed) { my_printf_error(ER_TABLENAME_NOT_ALLOWED_HERE, ER(ER_TABLENAME_NOT_ALLOWED_HERE), MYF(0), (yyvsp[-2].lex_str).str, thd->where); } (yyval.item)= (sel->parsing_place != IN_HAVING || sel->get_in_sum_expr() > 0) ? (Item*) new Item_field(NullS,(yyvsp[-2].lex_str).str,(yyvsp[0].lex_str).str) : (Item*) new Item_ref(NullS, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str); } break; case 1270: #line 5032 "sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; SELECT_LEX *sel= lex->current_select; if (sel->no_table_names_allowed) { my_printf_error(ER_TABLENAME_NOT_ALLOWED_HERE, ER(ER_TABLENAME_NOT_ALLOWED_HERE), MYF(0), (yyvsp[-2].lex_str).str, thd->where); } (yyval.item)= (sel->parsing_place != IN_HAVING || sel->get_in_sum_expr() > 0) ? (Item*) new Item_field(NullS,(yyvsp[-2].lex_str).str,(yyvsp[0].lex_str).str) : (Item*) new Item_ref(NullS, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str); } break; case 1271: #line 5048 "sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; SELECT_LEX *sel= lex->current_select; if (sel->no_table_names_allowed) { my_printf_error(ER_TABLENAME_NOT_ALLOWED_HERE, ER(ER_TABLENAME_NOT_ALLOWED_HERE), MYF(0), (yyvsp[-2].lex_str).str, thd->where); } (yyval.item)= (sel->parsing_place != IN_HAVING || sel->get_in_sum_expr() > 0) ? (Item*) new Item_field((YYTHD->client_capabilities & CLIENT_NO_SCHEMA ? NullS : (yyvsp[-4].lex_str).str), (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str) : (Item*) new Item_ref((YYTHD->client_capabilities & CLIENT_NO_SCHEMA ? NullS : (yyvsp[-4].lex_str).str), (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str); } break; case 1272: #line 5070 "sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str);} break; case 1273: #line 5072 "sql_yacc.yy" { TABLE_LIST *table= (TABLE_LIST*) Select->table_list.first; if (my_strcasecmp(table_alias_charset, (yyvsp[-4].lex_str).str, table->db)) { net_printf(YYTHD, ER_WRONG_DB_NAME, (yyvsp[-4].lex_str).str); YYABORT; } if (my_strcasecmp(table_alias_charset, (yyvsp[-2].lex_str).str, table->real_name)) { net_printf(YYTHD, ER_WRONG_TABLE_NAME, (yyvsp[-2].lex_str).str); YYABORT; } (yyval.lex_str)=(yyvsp[0].lex_str); } break; case 1274: #line 5087 "sql_yacc.yy" { TABLE_LIST *table= (TABLE_LIST*) Select->table_list.first; if (my_strcasecmp(table_alias_charset, (yyvsp[-2].lex_str).str, table->alias)) { net_printf(YYTHD, ER_WRONG_TABLE_NAME, (yyvsp[-2].lex_str).str); YYABORT; } (yyval.lex_str)=(yyvsp[0].lex_str); } break; case 1275: #line 5096 "sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str);} break; case 1276: #line 5099 "sql_yacc.yy" { (yyval.table)=new Table_ident((yyvsp[0].lex_str)); } break; case 1277: #line 5100 "sql_yacc.yy" { (yyval.table)=new Table_ident(YYTHD, (yyvsp[-2].lex_str),(yyvsp[0].lex_str),0);} break; case 1278: #line 5101 "sql_yacc.yy" { (yyval.table)=new Table_ident((yyvsp[0].lex_str));} break; case 1279: #line 5105 "sql_yacc.yy" { LEX_STRING db={(char*) any_db,3}; (yyval.table)=new Table_ident(YYTHD, db,(yyvsp[0].lex_str),0); } break; case 1280: #line 5109 "sql_yacc.yy" { (yyval.lex_str)= (yyvsp[0].lex_str); } break; case 1281: #line 5111 "sql_yacc.yy" { THD *thd= YYTHD; if (thd->charset_is_system_charset) { CHARSET_INFO *cs= system_charset_info; int dummy_error; uint wlen= cs->cset->well_formed_len(cs, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).str+(yyvsp[0].lex_str).length, (yyvsp[0].lex_str).length, &dummy_error); if (wlen < (yyvsp[0].lex_str).length) { net_printf(YYTHD, ER_INVALID_CHARACTER_STRING, cs->csname, (yyvsp[0].lex_str).str + wlen); YYABORT; } (yyval.lex_str)= (yyvsp[0].lex_str); } else thd->convert_string(&(yyval.lex_str), system_charset_info, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset()); } break; case 1282: #line 5136 "sql_yacc.yy" { THD *thd= YYTHD; if (thd->charset_is_system_charset) (yyval.lex_str)= (yyvsp[0].lex_str); else thd->convert_string(&(yyval.lex_str), system_charset_info, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset()); } break; case 1283: #line 5148 "sql_yacc.yy" { THD *thd= YYTHD; if (thd->charset_is_collation_connection) (yyval.lex_str)= (yyvsp[0].lex_str); else thd->convert_string(&(yyval.lex_str), thd->variables.collation_connection, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset()); } break; case 1284: #line 5160 "sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str); } break; case 1285: #line 5162 "sql_yacc.yy" { THD *thd= YYTHD; (yyval.lex_str).str= thd->strmake((yyvsp[0].symbol).str, (yyvsp[0].symbol).length); (yyval.lex_str).length= (yyvsp[0].symbol).length; } break; case 1286: #line 5170 "sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str);} break; case 1287: #line 5171 "sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str);} break; case 1288: #line 5172 "sql_yacc.yy" { (yyval.lex_str)=(yyvsp[0].lex_str);} break; case 1289: #line 5176 "sql_yacc.yy" { THD *thd= YYTHD; if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user)))) YYABORT; (yyval.lex_user)->user = (yyvsp[0].lex_str); (yyval.lex_user)->host.str= (char *) "%"; (yyval.lex_user)->host.length= 1; } break; case 1290: #line 5185 "sql_yacc.yy" { THD *thd= YYTHD; if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user)))) YYABORT; (yyval.lex_user)->user = (yyvsp[-2].lex_str); (yyval.lex_user)->host=(yyvsp[0].lex_str); } break; case 1291: #line 5192 "sql_yacc.yy" { THD *thd= YYTHD; if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user)))) YYABORT; (yyval.lex_user)->user.str= thd->priv_user; (yyval.lex_user)->user.length= strlen(thd->priv_user); if (*thd->priv_host != 0) { (yyval.lex_user)->host.str= thd->priv_host; (yyval.lex_user)->host.length= strlen(thd->priv_host); } else { (yyval.lex_user)->host.str= (char *) "%"; (yyval.lex_user)->host.length= 1; } } break; case 1292: #line 5213 "sql_yacc.yy" {} break; case 1293: #line 5214 "sql_yacc.yy" {} break; case 1294: #line 5215 "sql_yacc.yy" {} break; case 1295: #line 5216 "sql_yacc.yy" {} break; case 1296: #line 5217 "sql_yacc.yy" {} break; case 1297: #line 5218 "sql_yacc.yy" {} break; case 1298: #line 5219 "sql_yacc.yy" {} break; case 1299: #line 5220 "sql_yacc.yy" {} break; case 1300: #line 5221 "sql_yacc.yy" {} break; case 1301: #line 5222 "sql_yacc.yy" {} break; case 1302: #line 5223 "sql_yacc.yy" {} break; case 1303: #line 5224 "sql_yacc.yy" {} break; case 1304: #line 5225 "sql_yacc.yy" {} break; case 1305: #line 5226 "sql_yacc.yy" {} break; case 1306: #line 5227 "sql_yacc.yy" {} break; case 1307: #line 5228 "sql_yacc.yy" {} break; case 1308: #line 5229 "sql_yacc.yy" {} break; case 1309: #line 5230 "sql_yacc.yy" {} break; case 1310: #line 5231 "sql_yacc.yy" {} break; case 1311: #line 5232 "sql_yacc.yy" {} break; case 1312: #line 5233 "sql_yacc.yy" {} break; case 1313: #line 5234 "sql_yacc.yy" {} break; case 1314: #line 5235 "sql_yacc.yy" {} break; case 1315: #line 5236 "sql_yacc.yy" {} break; case 1316: #line 5237 "sql_yacc.yy" {} break; case 1317: #line 5238 "sql_yacc.yy" {} break; case 1318: #line 5239 "sql_yacc.yy" {} break; case 1319: #line 5240 "sql_yacc.yy" {} break; case 1320: #line 5241 "sql_yacc.yy" {} break; case 1321: #line 5242 "sql_yacc.yy" {} break; case 1322: #line 5243 "sql_yacc.yy" {} break; case 1323: #line 5244 "sql_yacc.yy" {} break; case 1324: #line 5245 "sql_yacc.yy" {} break; case 1325: #line 5246 "sql_yacc.yy" {} break; case 1326: #line 5247 "sql_yacc.yy" {} break; case 1327: #line 5248 "sql_yacc.yy" {} break; case 1328: #line 5249 "sql_yacc.yy" {} break; case 1329: #line 5250 "sql_yacc.yy" {} break; case 1330: #line 5251 "sql_yacc.yy" {} break; case 1331: #line 5252 "sql_yacc.yy" {} break; case 1332: #line 5253 "sql_yacc.yy" {} break; case 1333: #line 5254 "sql_yacc.yy" {} break; case 1334: #line 5255 "sql_yacc.yy" {} break; case 1335: #line 5256 "sql_yacc.yy" {} break; case 1336: #line 5257 "sql_yacc.yy" {} break; case 1337: #line 5258 "sql_yacc.yy" {} break; case 1338: #line 5259 "sql_yacc.yy" {} break; case 1339: #line 5260 "sql_yacc.yy" {} break; case 1340: #line 5261 "sql_yacc.yy" {} break; case 1341: #line 5262 "sql_yacc.yy" {} break; case 1342: #line 5263 "sql_yacc.yy" {} break; case 1343: #line 5264 "sql_yacc.yy" {} break; case 1344: #line 5265 "sql_yacc.yy" {} break; case 1345: #line 5266 "sql_yacc.yy" {} break; case 1346: #line 5267 "sql_yacc.yy" {} break; case 1347: #line 5268 "sql_yacc.yy" {} break; case 1348: #line 5269 "sql_yacc.yy" {} break; case 1349: #line 5270 "sql_yacc.yy" {} break; case 1350: #line 5271 "sql_yacc.yy" {} break; case 1351: #line 5272 "sql_yacc.yy" {} break; case 1352: #line 5273 "sql_yacc.yy" {} break; case 1353: #line 5274 "sql_yacc.yy" {} break; case 1354: #line 5275 "sql_yacc.yy" {} break; case 1355: #line 5276 "sql_yacc.yy" {} break; case 1356: #line 5277 "sql_yacc.yy" {} break; case 1357: #line 5278 "sql_yacc.yy" {} break; case 1358: #line 5279 "sql_yacc.yy" {} break; case 1359: #line 5280 "sql_yacc.yy" {} break; case 1360: #line 5281 "sql_yacc.yy" {} break; case 1361: #line 5282 "sql_yacc.yy" {} break; case 1362: #line 5283 "sql_yacc.yy" {} break; case 1363: #line 5284 "sql_yacc.yy" {} break; case 1364: #line 5285 "sql_yacc.yy" {} break; case 1365: #line 5286 "sql_yacc.yy" {} break; case 1366: #line 5287 "sql_yacc.yy" {} break; case 1367: #line 5288 "sql_yacc.yy" {} break; case 1368: #line 5289 "sql_yacc.yy" {} break; case 1369: #line 5290 "sql_yacc.yy" {} break; case 1370: #line 5291 "sql_yacc.yy" {} break; case 1371: #line 5292 "sql_yacc.yy" {} break; case 1372: #line 5293 "sql_yacc.yy" {} break; case 1373: #line 5294 "sql_yacc.yy" {} break; case 1374: #line 5295 "sql_yacc.yy" {} break; case 1375: #line 5296 "sql_yacc.yy" {} break; case 1376: #line 5297 "sql_yacc.yy" {} break; case 1377: #line 5298 "sql_yacc.yy" {} break; case 1378: #line 5299 "sql_yacc.yy" {} break; case 1379: #line 5300 "sql_yacc.yy" {} break; case 1380: #line 5301 "sql_yacc.yy" {} break; case 1381: #line 5302 "sql_yacc.yy" {} break; case 1382: #line 5303 "sql_yacc.yy" {} break; case 1383: #line 5304 "sql_yacc.yy" {} break; case 1384: #line 5305 "sql_yacc.yy" {} break; case 1385: #line 5306 "sql_yacc.yy" {} break; case 1386: #line 5307 "sql_yacc.yy" {} break; case 1387: #line 5308 "sql_yacc.yy" {} break; case 1388: #line 5309 "sql_yacc.yy" {} break; case 1389: #line 5310 "sql_yacc.yy" {} break; case 1390: #line 5311 "sql_yacc.yy" {} break; case 1391: #line 5312 "sql_yacc.yy" {} break; case 1392: #line 5313 "sql_yacc.yy" {} break; case 1393: #line 5314 "sql_yacc.yy" {} break; case 1394: #line 5315 "sql_yacc.yy" {} break; case 1395: #line 5316 "sql_yacc.yy" {} break; case 1396: #line 5317 "sql_yacc.yy" {} break; case 1397: #line 5318 "sql_yacc.yy" {} break; case 1398: #line 5319 "sql_yacc.yy" {} break; case 1399: #line 5320 "sql_yacc.yy" {} break; case 1400: #line 5321 "sql_yacc.yy" {} break; case 1401: #line 5322 "sql_yacc.yy" {} break; case 1402: #line 5323 "sql_yacc.yy" {} break; case 1403: #line 5324 "sql_yacc.yy" {} break; case 1404: #line 5325 "sql_yacc.yy" {} break; case 1405: #line 5326 "sql_yacc.yy" {} break; case 1406: #line 5327 "sql_yacc.yy" {} break; case 1407: #line 5328 "sql_yacc.yy" {} break; case 1408: #line 5329 "sql_yacc.yy" {} break; case 1409: #line 5330 "sql_yacc.yy" {} break; case 1410: #line 5331 "sql_yacc.yy" {} break; case 1411: #line 5332 "sql_yacc.yy" {} break; case 1412: #line 5333 "sql_yacc.yy" {} break; case 1413: #line 5334 "sql_yacc.yy" {} break; case 1414: #line 5335 "sql_yacc.yy" {} break; case 1415: #line 5336 "sql_yacc.yy" {} break; case 1416: #line 5337 "sql_yacc.yy" {} break; case 1417: #line 5338 "sql_yacc.yy" {} break; case 1418: #line 5339 "sql_yacc.yy" {} break; case 1419: #line 5340 "sql_yacc.yy" {} break; case 1420: #line 5341 "sql_yacc.yy" {} break; case 1421: #line 5342 "sql_yacc.yy" {} break; case 1422: #line 5343 "sql_yacc.yy" {} break; case 1423: #line 5344 "sql_yacc.yy" {} break; case 1424: #line 5345 "sql_yacc.yy" {} break; case 1425: #line 5346 "sql_yacc.yy" {} break; case 1426: #line 5347 "sql_yacc.yy" {} break; case 1427: #line 5348 "sql_yacc.yy" {} break; case 1428: #line 5349 "sql_yacc.yy" {} break; case 1429: #line 5350 "sql_yacc.yy" {} break; case 1430: #line 5351 "sql_yacc.yy" {} break; case 1431: #line 5352 "sql_yacc.yy" {} break; case 1432: #line 5353 "sql_yacc.yy" {} break; case 1433: #line 5354 "sql_yacc.yy" {} break; case 1434: #line 5355 "sql_yacc.yy" {} break; case 1435: #line 5356 "sql_yacc.yy" {} break; case 1436: #line 5357 "sql_yacc.yy" {} break; case 1437: #line 5358 "sql_yacc.yy" {} break; case 1438: #line 5359 "sql_yacc.yy" {} break; case 1439: #line 5360 "sql_yacc.yy" {} break; case 1440: #line 5361 "sql_yacc.yy" {} break; case 1441: #line 5362 "sql_yacc.yy" {} break; case 1442: #line 5363 "sql_yacc.yy" {} break; case 1443: #line 5364 "sql_yacc.yy" {} break; case 1444: #line 5365 "sql_yacc.yy" {} break; case 1445: #line 5366 "sql_yacc.yy" {} break; case 1446: #line 5367 "sql_yacc.yy" {} break; case 1447: #line 5368 "sql_yacc.yy" {} break; case 1448: #line 5369 "sql_yacc.yy" {} break; case 1449: #line 5370 "sql_yacc.yy" {} break; case 1450: #line 5371 "sql_yacc.yy" {} break; case 1451: #line 5372 "sql_yacc.yy" {} break; case 1452: #line 5373 "sql_yacc.yy" {} break; case 1453: #line 5374 "sql_yacc.yy" {} break; case 1454: #line 5375 "sql_yacc.yy" {} break; case 1455: #line 5376 "sql_yacc.yy" {} break; case 1456: #line 5377 "sql_yacc.yy" {} break; case 1457: #line 5378 "sql_yacc.yy" {} break; case 1458: #line 5379 "sql_yacc.yy" {} break; case 1459: #line 5380 "sql_yacc.yy" {} break; case 1460: #line 5381 "sql_yacc.yy" {} break; case 1461: #line 5382 "sql_yacc.yy" {} break; case 1462: #line 5383 "sql_yacc.yy" {} break; case 1463: #line 5384 "sql_yacc.yy" {} break; case 1464: #line 5385 "sql_yacc.yy" {} break; case 1465: #line 5386 "sql_yacc.yy" {} break; case 1466: #line 5387 "sql_yacc.yy" {} break; case 1467: #line 5388 "sql_yacc.yy" {} break; case 1468: #line 5389 "sql_yacc.yy" {} break; case 1469: #line 5390 "sql_yacc.yy" {} break; case 1470: #line 5391 "sql_yacc.yy" {} break; case 1471: #line 5392 "sql_yacc.yy" {} break; case 1472: #line 5393 "sql_yacc.yy" {} break; case 1473: #line 5394 "sql_yacc.yy" {} break; case 1474: #line 5395 "sql_yacc.yy" {} break; case 1475: #line 5396 "sql_yacc.yy" {} break; case 1476: #line 5397 "sql_yacc.yy" {} break; case 1477: #line 5398 "sql_yacc.yy" {} break; case 1478: #line 5399 "sql_yacc.yy" {} break; case 1479: #line 5400 "sql_yacc.yy" {} break; case 1480: #line 5401 "sql_yacc.yy" {} break; case 1481: #line 5402 "sql_yacc.yy" {} break; case 1482: #line 5403 "sql_yacc.yy" {} break; case 1483: #line 5404 "sql_yacc.yy" {} break; case 1484: #line 5405 "sql_yacc.yy" {} break; case 1485: #line 5406 "sql_yacc.yy" {} break; case 1486: #line 5407 "sql_yacc.yy" {} break; case 1487: #line 5408 "sql_yacc.yy" {} break; case 1488: #line 5409 "sql_yacc.yy" {} break; case 1489: #line 5410 "sql_yacc.yy" {} break; case 1490: #line 5411 "sql_yacc.yy" {} break; case 1491: #line 5412 "sql_yacc.yy" {} break; case 1492: #line 5413 "sql_yacc.yy" {} break; case 1493: #line 5414 "sql_yacc.yy" {} break; case 1494: #line 5415 "sql_yacc.yy" {} break; case 1495: #line 5416 "sql_yacc.yy" {} break; case 1496: #line 5417 "sql_yacc.yy" {} break; case 1497: #line 5418 "sql_yacc.yy" {} break; case 1498: #line 5419 "sql_yacc.yy" {} break; case 1499: #line 5420 "sql_yacc.yy" {} break; case 1500: #line 5421 "sql_yacc.yy" {} break; case 1501: #line 5428 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SET_OPTION; mysql_init_select(lex); lex->option_type=OPT_SESSION; lex->var_list.empty(); lex->one_shot_set= 0; } break; case 1502: #line 5437 "sql_yacc.yy" {} break; case 1503: #line 5441 "sql_yacc.yy" {} break; case 1504: #line 5442 "sql_yacc.yy" {} break; case 1507: #line 5449 "sql_yacc.yy" {} break; case 1508: #line 5450 "sql_yacc.yy" {} break; case 1509: #line 5454 "sql_yacc.yy" {} break; case 1510: #line 5455 "sql_yacc.yy" { Lex->option_type= OPT_GLOBAL; } break; case 1511: #line 5456 "sql_yacc.yy" { Lex->option_type= OPT_SESSION; } break; case 1512: #line 5457 "sql_yacc.yy" { Lex->option_type= OPT_SESSION; } break; case 1513: #line 5461 "sql_yacc.yy" {} break; case 1514: #line 5462 "sql_yacc.yy" { Lex->option_type= OPT_SESSION; Lex->one_shot_set= 1; } break; case 1515: #line 5466 "sql_yacc.yy" { (yyval.num)=OPT_SESSION; } break; case 1516: #line 5467 "sql_yacc.yy" { (yyval.num)=OPT_GLOBAL; } break; case 1517: #line 5468 "sql_yacc.yy" { (yyval.num)=OPT_SESSION; } break; case 1518: #line 5469 "sql_yacc.yy" { (yyval.num)=OPT_SESSION; } break; case 1519: #line 5473 "sql_yacc.yy" { (yyval.num)=OPT_DEFAULT; } break; case 1520: #line 5474 "sql_yacc.yy" { (yyval.num)=OPT_GLOBAL; } break; case 1521: #line 5475 "sql_yacc.yy" { (yyval.num)=OPT_SESSION; } break; case 1522: #line 5476 "sql_yacc.yy" { (yyval.num)=OPT_SESSION; } break; case 1523: #line 5481 "sql_yacc.yy" { LEX *lex=Lex; lex->var_list.push_back(new set_var(lex->option_type, (yyvsp[-2].variable).var, &(yyvsp[-2].variable).base_name, (yyvsp[0].item))); } break; case 1524: #line 5487 "sql_yacc.yy" { LEX *lex=Lex; LEX_STRING tmp; tmp.str=0; tmp.length=0; lex->var_list.push_back(new set_var(lex->option_type, find_sys_var("tx_isolation"), &tmp, new Item_int((int32) (yyvsp[0].tx_isolation)))); } break; case 1525: #line 5501 "sql_yacc.yy" { Lex->var_list.push_back(new set_var_user(new Item_func_set_user_var((yyvsp[-2].lex_str),(yyvsp[0].item)))); } break; case 1526: #line 5505 "sql_yacc.yy" { LEX *lex=Lex; lex->var_list.push_back(new set_var((enum_var_type) (yyvsp[-3].num), (yyvsp[-2].variable).var, &(yyvsp[-2].variable).base_name, (yyvsp[0].item))); } break; case 1527: #line 5511 "sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= Lex; (yyvsp[0].charset)= (yyvsp[0].charset) ? (yyvsp[0].charset): global_system_variables.character_set_client; lex->var_list.push_back(new set_var_collation_client((yyvsp[0].charset),thd->variables.collation_database,(yyvsp[0].charset))); } break; case 1528: #line 5518 "sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= Lex; (yyvsp[-1].charset)= (yyvsp[-1].charset) ? (yyvsp[-1].charset) : global_system_variables.character_set_client; (yyvsp[0].charset)= (yyvsp[0].charset) ? (yyvsp[0].charset) : (yyvsp[-1].charset); if (!my_charset_same((yyvsp[-1].charset),(yyvsp[0].charset))) { net_printf(thd,ER_COLLATION_CHARSET_MISMATCH,(yyvsp[0].charset)->name,(yyvsp[-1].charset)->csname); YYABORT; } lex->var_list.push_back(new set_var_collation_client((yyvsp[0].charset),(yyvsp[0].charset),(yyvsp[0].charset))); } break; case 1529: #line 5531 "sql_yacc.yy" { THD *thd=YYTHD; LEX_USER *user; if (!(user=(LEX_USER*) thd->alloc(sizeof(LEX_USER)))) YYABORT; user->host.str=0; user->user.str=thd->priv_user; thd->lex->var_list.push_back(new set_var_password(user, (yyvsp[0].simple_string))); } break; case 1530: #line 5541 "sql_yacc.yy" { Lex->var_list.push_back(new set_var_password((yyvsp[-2].lex_user),(yyvsp[0].simple_string))); } break; case 1531: #line 5548 "sql_yacc.yy" { sys_var *tmp=find_sys_var((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); if (!tmp) YYABORT; (yyval.variable).var= tmp; (yyval.variable).base_name.str=0; (yyval.variable).base_name.length=0; /* If this is time_zone variable we should open time zone describing tables */ if (tmp == &sys_time_zone) Lex->time_zone_tables_used= &fake_time_zone_tables_list; } break; case 1532: #line 5563 "sql_yacc.yy" { if (check_reserved_words(&(yyvsp[-2].lex_str))) { yyerror(ER(ER_SYNTAX_ERROR)); YYABORT; } sys_var *tmp=find_sys_var((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); if (!tmp) YYABORT; if (!tmp->is_struct()) net_printf(YYTHD, ER_VARIABLE_IS_NOT_STRUCT, (yyvsp[0].lex_str).str); (yyval.variable).var= tmp; (yyval.variable).base_name= (yyvsp[-2].lex_str); } break; case 1533: #line 5578 "sql_yacc.yy" { sys_var *tmp=find_sys_var((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); if (!tmp) YYABORT; if (!tmp->is_struct()) net_printf(YYTHD, ER_VARIABLE_IS_NOT_STRUCT, (yyvsp[0].lex_str).str); (yyval.variable).var= tmp; (yyval.variable).base_name.str= (char*) "default"; (yyval.variable).base_name.length= 7; } break; case 1534: #line 5591 "sql_yacc.yy" { (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; } break; case 1535: #line 5592 "sql_yacc.yy" { (yyval.tx_isolation)= ISO_READ_COMMITTED; } break; case 1536: #line 5593 "sql_yacc.yy" { (yyval.tx_isolation)= ISO_REPEATABLE_READ; } break; case 1537: #line 5594 "sql_yacc.yy" { (yyval.tx_isolation)= ISO_SERIALIZABLE; } break; case 1538: #line 5598 "sql_yacc.yy" { (yyval.simple_string)=(yyvsp[0].lex_str).str;} break; case 1539: #line 5600 "sql_yacc.yy" { (yyval.simple_string)= (yyvsp[-1].lex_str).length ? YYTHD->variables.old_passwords ? Item_func_old_password::alloc(YYTHD, (yyvsp[-1].lex_str).str) : Item_func_password::alloc(YYTHD, (yyvsp[-1].lex_str).str) : (yyvsp[-1].lex_str).str; } break; case 1540: #line 5607 "sql_yacc.yy" { (yyval.simple_string)= (yyvsp[-1].lex_str).length ? Item_func_old_password::alloc(YYTHD, (yyvsp[-1].lex_str).str) : (yyvsp[-1].lex_str).str; } break; case 1541: #line 5615 "sql_yacc.yy" { (yyval.item)=(yyvsp[0].item); } break; case 1542: #line 5616 "sql_yacc.yy" { (yyval.item)=0; } break; case 1543: #line 5617 "sql_yacc.yy" { (yyval.item)=new Item_string("ON", 2, system_charset_info); } break; case 1544: #line 5618 "sql_yacc.yy" { (yyval.item)=new Item_string("ALL", 3, system_charset_info); } break; case 1545: #line 5619 "sql_yacc.yy" { (yyval.item)=new Item_string("binary", 6, system_charset_info); } break; case 1546: #line 5627 "sql_yacc.yy" { Lex->sql_command=SQLCOM_LOCK_TABLES; } break; case 1547: #line 5631 "sql_yacc.yy" {} break; case 1552: #line 5644 "sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[-2].table), (yyvsp[-1].lex_str_ptr), 0, (thr_lock_type) (yyvsp[0].num))) YYABORT; } break; case 1553: #line 5651 "sql_yacc.yy" { (yyval.num)=TL_READ_NO_INSERT; } break; case 1554: #line 5652 "sql_yacc.yy" { (yyval.num)=YYTHD->update_lock_default; } break; case 1555: #line 5653 "sql_yacc.yy" { (yyval.num)=TL_WRITE_LOW_PRIORITY; } break; case 1556: #line 5654 "sql_yacc.yy" { (yyval.num)= TL_READ; } break; case 1557: #line 5658 "sql_yacc.yy" { Lex->sql_command=SQLCOM_UNLOCK_TABLES; } break; case 1558: #line 5668 "sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_HA_OPEN; if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-2].table), (yyvsp[0].lex_str_ptr), 0)) YYABORT; } break; case 1559: #line 5675 "sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_HA_CLOSE; if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), 0, 0)) YYABORT; } break; case 1560: #line 5682 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_HA_READ; lex->ha_rkey_mode= HA_READ_KEY_EXACT; /* Avoid purify warnings */ lex->current_select->select_limit= 1; lex->current_select->offset_limit= 0L; if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), 0, 0)) YYABORT; } break; case 1561: #line 5691 "sql_yacc.yy" {} break; case 1562: #line 5695 "sql_yacc.yy" { Lex->backup_dir= 0; } break; case 1563: #line 5696 "sql_yacc.yy" { Lex->backup_dir= (yyvsp[-1].lex_str).str; } break; case 1564: #line 5700 "sql_yacc.yy" { Lex->ha_read_mode = RFIRST; } break; case 1565: #line 5701 "sql_yacc.yy" { Lex->ha_read_mode = RNEXT; } break; case 1566: #line 5705 "sql_yacc.yy" { Lex->ha_read_mode = RFIRST; } break; case 1567: #line 5706 "sql_yacc.yy" { Lex->ha_read_mode = RNEXT; } break; case 1568: #line 5707 "sql_yacc.yy" { Lex->ha_read_mode = RPREV; } break; case 1569: #line 5708 "sql_yacc.yy" { Lex->ha_read_mode = RLAST; } break; case 1570: #line 5710 "sql_yacc.yy" { LEX *lex=Lex; lex->ha_read_mode = RKEY; lex->ha_rkey_mode=(yyvsp[0].ha_rkey_mode); if (!(lex->insert_list = new List_item)) YYABORT; } break; case 1571: #line 5716 "sql_yacc.yy" { } break; case 1572: #line 5720 "sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_KEY_EXACT; } break; case 1573: #line 5721 "sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_NEXT; } break; case 1574: #line 5722 "sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_PREV; } break; case 1575: #line 5723 "sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_AFTER_KEY; } break; case 1576: #line 5724 "sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_BEFORE_KEY; } break; case 1577: #line 5731 "sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_REVOKE; lex->users_list.empty(); lex->columns.empty(); lex->grant= lex->grant_tot_col=0; lex->select_lex.db=0; lex->ssl_type= SSL_TYPE_NOT_SPECIFIED; lex->ssl_cipher= lex->x509_subject= lex->x509_issuer= 0; bzero((char*) &lex->mqh, sizeof(lex->mqh)); } break; case 1578: #line 5743 "sql_yacc.yy" {} break; case 1579: #line 5748 "sql_yacc.yy" {} break; case 1580: #line 5751 "sql_yacc.yy" { Lex->sql_command = SQLCOM_REVOKE_ALL; } break; case 1581: #line 5758 "sql_yacc.yy" { LEX *lex=Lex; lex->users_list.empty(); lex->columns.empty(); lex->sql_command = SQLCOM_GRANT; lex->grant= lex->grant_tot_col= 0; lex->select_lex.db= 0; lex->ssl_type= SSL_TYPE_NOT_SPECIFIED; lex->ssl_cipher= lex->x509_subject= lex->x509_issuer= 0; bzero((char *)&(lex->mqh),sizeof(lex->mqh)); } break; case 1582: #line 5771 "sql_yacc.yy" {} break; case 1583: #line 5775 "sql_yacc.yy" {} break; case 1584: #line 5776 "sql_yacc.yy" { Lex->grant = GLOBAL_ACLS;} break; case 1589: #line 5789 "sql_yacc.yy" { Lex->which_columns = SELECT_ACL;} break; case 1590: #line 5789 "sql_yacc.yy" {} break; case 1591: #line 5790 "sql_yacc.yy" { Lex->which_columns = INSERT_ACL;} break; case 1592: #line 5790 "sql_yacc.yy" {} break; case 1593: #line 5791 "sql_yacc.yy" { Lex->which_columns = UPDATE_ACL; } break; case 1594: #line 5791 "sql_yacc.yy" {} break; case 1595: #line 5792 "sql_yacc.yy" { Lex->which_columns = REFERENCES_ACL;} break; case 1596: #line 5792 "sql_yacc.yy" {} break; case 1597: #line 5793 "sql_yacc.yy" { Lex->grant |= DELETE_ACL;} break; case 1598: #line 5794 "sql_yacc.yy" {} break; case 1599: #line 5795 "sql_yacc.yy" { Lex->grant |= INDEX_ACL;} break; case 1600: #line 5796 "sql_yacc.yy" { Lex->grant |= ALTER_ACL;} break; case 1601: #line 5797 "sql_yacc.yy" { Lex->grant |= CREATE_ACL;} break; case 1602: #line 5798 "sql_yacc.yy" { Lex->grant |= DROP_ACL;} break; case 1603: #line 5799 "sql_yacc.yy" { Lex->grant |= EXECUTE_ACL;} break; case 1604: #line 5800 "sql_yacc.yy" { Lex->grant |= RELOAD_ACL;} break; case 1605: #line 5801 "sql_yacc.yy" { Lex->grant |= SHUTDOWN_ACL;} break; case 1606: #line 5802 "sql_yacc.yy" { Lex->grant |= PROCESS_ACL;} break; case 1607: #line 5803 "sql_yacc.yy" { Lex->grant |= FILE_ACL;} break; case 1608: #line 5804 "sql_yacc.yy" { Lex->grant |= GRANT_ACL;} break; case 1609: #line 5805 "sql_yacc.yy" { Lex->grant |= SHOW_DB_ACL;} break; case 1610: #line 5806 "sql_yacc.yy" { Lex->grant |= SUPER_ACL;} break; case 1611: #line 5807 "sql_yacc.yy" { Lex->grant |= CREATE_TMP_ACL;} break; case 1612: #line 5808 "sql_yacc.yy" { Lex->grant |= LOCK_TABLES_ACL; } break; case 1613: #line 5809 "sql_yacc.yy" { Lex->grant |= REPL_SLAVE_ACL;} break; case 1614: #line 5810 "sql_yacc.yy" { Lex->grant |= REPL_CLIENT_ACL;} break; case 1615: #line 5815 "sql_yacc.yy" {} break; case 1616: #line 5816 "sql_yacc.yy" {} break; case 1619: #line 5826 "sql_yacc.yy" { LEX *lex=Lex; if (lex->x509_subject) { net_printf(lex->thd,ER_DUP_ARGUMENT, "SUBJECT"); YYABORT; } lex->x509_subject=(yyvsp[0].lex_str).str; } break; case 1620: #line 5836 "sql_yacc.yy" { LEX *lex=Lex; if (lex->x509_issuer) { net_printf(lex->thd,ER_DUP_ARGUMENT, "ISSUER"); YYABORT; } lex->x509_issuer=(yyvsp[0].lex_str).str; } break; case 1621: #line 5846 "sql_yacc.yy" { LEX *lex=Lex; if (lex->ssl_cipher) { net_printf(lex->thd,ER_DUP_ARGUMENT, "CIPHER"); YYABORT; } lex->ssl_cipher=(yyvsp[0].lex_str).str; } break; case 1622: #line 5859 "sql_yacc.yy" { LEX *lex= Lex; lex->current_select->db= lex->thd->db; if (lex->grant == GLOBAL_ACLS) lex->grant = DB_ACLS & ~GRANT_ACL; else if (lex->columns.elements) { send_error(lex->thd,ER_ILLEGAL_GRANT_FOR_TABLE); YYABORT; } } break; case 1623: #line 5871 "sql_yacc.yy" { LEX *lex= Lex; lex->current_select->db = (yyvsp[-2].lex_str).str; if (lex->grant == GLOBAL_ACLS) lex->grant = DB_ACLS & ~GRANT_ACL; else if (lex->columns.elements) { send_error(lex->thd,ER_ILLEGAL_GRANT_FOR_TABLE); YYABORT; } } break; case 1624: #line 5883 "sql_yacc.yy" { LEX *lex= Lex; lex->current_select->db = NULL; if (lex->grant == GLOBAL_ACLS) lex->grant= GLOBAL_ACLS & ~GRANT_ACL; else if (lex->columns.elements) { send_error(lex->thd,ER_ILLEGAL_GRANT_FOR_TABLE); YYABORT; } } break; case 1625: #line 5895 "sql_yacc.yy" { LEX *lex=Lex; if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[0].table),NULL,0)) YYABORT; if (lex->grant == GLOBAL_ACLS) lex->grant = TABLE_ACLS & ~GRANT_ACL; } break; case 1626: #line 5906 "sql_yacc.yy" { if (Lex->users_list.push_back((yyvsp[0].lex_user))) YYABORT;} break; case 1627: #line 5908 "sql_yacc.yy" { if (Lex->users_list.push_back((yyvsp[0].lex_user))) YYABORT; } break; case 1628: #line 5917 "sql_yacc.yy" { (yyval.lex_user)=(yyvsp[-3].lex_user); (yyvsp[-3].lex_user)->password=(yyvsp[0].lex_str); if ((yyvsp[0].lex_str).length) { if (YYTHD->variables.old_passwords) { char *buff= (char *) YYTHD->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH_323+1); if (buff) make_scrambled_password_323(buff, (yyvsp[0].lex_str).str); (yyvsp[-3].lex_user)->password.str= buff; (yyvsp[-3].lex_user)->password.length= SCRAMBLED_PASSWORD_CHAR_LENGTH_323; } else { char *buff= (char *) YYTHD->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH+1); if (buff) make_scrambled_password(buff, (yyvsp[0].lex_str).str); (yyvsp[-3].lex_user)->password.str= buff; (yyvsp[-3].lex_user)->password.length= SCRAMBLED_PASSWORD_CHAR_LENGTH; } } } break; case 1629: #line 5942 "sql_yacc.yy" { (yyval.lex_user)=(yyvsp[-4].lex_user); (yyvsp[-4].lex_user)->password=(yyvsp[0].lex_str) ; } break; case 1630: #line 5944 "sql_yacc.yy" { (yyval.lex_user)=(yyvsp[0].lex_user); (yyvsp[0].lex_user)->password.str=NullS; } break; case 1631: #line 5950 "sql_yacc.yy" { LEX *lex=Lex; lex->grant |= lex->which_columns; } break; case 1635: #line 5962 "sql_yacc.yy" { String *new_str = new (YYTHD->mem_root) String((const char*) (yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,system_charset_info); List_iterator iter(Lex->columns); class LEX_COLUMN *point; LEX *lex=Lex; while ((point=iter++)) { if (!my_strcasecmp(system_charset_info, point->column.ptr(), new_str->ptr())) break; } lex->grant_tot_col|= lex->which_columns; if (point) point->rights |= lex->which_columns; else lex->columns.push_back(new LEX_COLUMN (*new_str,lex->which_columns)); } break; case 1637: #line 5984 "sql_yacc.yy" { Lex->ssl_type=SSL_TYPE_SPECIFIED; } break; case 1638: #line 5988 "sql_yacc.yy" { Lex->ssl_type=SSL_TYPE_ANY; } break; case 1639: #line 5992 "sql_yacc.yy" { Lex->ssl_type=SSL_TYPE_X509; } break; case 1640: #line 5996 "sql_yacc.yy" { Lex->ssl_type=SSL_TYPE_NONE; } break; case 1641: #line 6002 "sql_yacc.yy" {} break; case 1643: #line 6006 "sql_yacc.yy" {} break; case 1644: #line 6007 "sql_yacc.yy" {} break; case 1645: #line 6011 "sql_yacc.yy" { Lex->grant |= GRANT_ACL;} break; case 1646: #line 6013 "sql_yacc.yy" { Lex->mqh.questions=(yyvsp[0].ulong_num); Lex->mqh.bits |= 1; } break; case 1647: #line 6018 "sql_yacc.yy" { Lex->mqh.updates=(yyvsp[0].ulong_num); Lex->mqh.bits |= 2; } break; case 1648: #line 6023 "sql_yacc.yy" { Lex->mqh.connections=(yyvsp[0].ulong_num); Lex->mqh.bits |= 4; } break; case 1649: #line 6030 "sql_yacc.yy" { Lex->sql_command = SQLCOM_BEGIN; Lex->start_transaction_opt= 0;} break; case 1650: #line 6030 "sql_yacc.yy" {} break; case 1651: #line 6034 "sql_yacc.yy" {} break; case 1652: #line 6035 "sql_yacc.yy" {;} break; case 1653: #line 6039 "sql_yacc.yy" { Lex->sql_command = SQLCOM_COMMIT;} break; case 1654: #line 6043 "sql_yacc.yy" { Lex->sql_command = SQLCOM_ROLLBACK; } break; case 1655: #line 6047 "sql_yacc.yy" { Lex->sql_command = SQLCOM_ROLLBACK_TO_SAVEPOINT; Lex->savepoint_name = (yyvsp[0].lex_str).str; } break; case 1656: #line 6053 "sql_yacc.yy" { Lex->sql_command = SQLCOM_SAVEPOINT; Lex->savepoint_name = (yyvsp[0].lex_str).str; } break; case 1657: #line 6064 "sql_yacc.yy" {} break; case 1659: #line 6070 "sql_yacc.yy" { LEX *lex=Lex; if (lex->exchange) { /* Only the last SELECT can have INTO...... */ net_printf(lex->thd, ER_WRONG_USAGE, "UNION", "INTO"); YYABORT; } if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE) { yyerror(ER(ER_SYNTAX_ERROR)); YYABORT; } if (mysql_new_select(lex, 0)) YYABORT; mysql_init_select(lex); lex->current_select->linkage=UNION_TYPE; if ((yyvsp[0].num)) /* UNION DISTINCT - remember position */ lex->current_select->master_unit()->union_distinct= lex->current_select; } break; case 1660: #line 6091 "sql_yacc.yy" {} break; case 1661: #line 6095 "sql_yacc.yy" {} break; case 1662: #line 6096 "sql_yacc.yy" {} break; case 1663: #line 6100 "sql_yacc.yy" {} break; case 1664: #line 6102 "sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; DBUG_ASSERT(lex->current_select->linkage != GLOBAL_OPTIONS_TYPE); SELECT_LEX *sel= lex->current_select; SELECT_LEX_UNIT *unit= sel->master_unit(); SELECT_LEX *fake= unit->fake_select_lex; if (fake) { unit->global_parameters= fake; fake->no_table_names_allowed= 1; lex->current_select= fake; } thd->where= "global ORDER clause"; } break; case 1665: #line 6118 "sql_yacc.yy" { THD *thd= YYTHD; thd->lex->current_select->no_table_names_allowed= 0; thd->where= ""; } break; case 1668: #line 6131 "sql_yacc.yy" { (yyval.num)=1; } break; case 1669: #line 6132 "sql_yacc.yy" { (yyval.num)=1; } break; case 1670: #line 6133 "sql_yacc.yy" { (yyval.num)=0; } break; case 1671: #line 6139 "sql_yacc.yy" { (yyval.item)= (yyvsp[-1].item); } break; case 1672: #line 6145 "sql_yacc.yy" { (yyval.item)= new Item_singlerow_subselect(Lex->current_select-> master_unit()->first_select()); } break; case 1673: #line 6153 "sql_yacc.yy" { (yyval.item)= (yyvsp[-1].item); } break; case 1674: #line 6159 "sql_yacc.yy" { (yyval.item)= new Item_exists_subselect(Lex->current_select->master_unit()-> first_select()); } break; case 1675: #line 6167 "sql_yacc.yy" { (yyval.select_lex)= (yyvsp[-1].select_lex); } break; case 1676: #line 6173 "sql_yacc.yy" { (yyval.select_lex)= Lex->current_select->master_unit()->first_select(); } break; case 1677: #line 6179 "sql_yacc.yy" { LEX *lex=Lex; if (lex->sql_command == (int)SQLCOM_HA_READ || lex->sql_command == (int)SQLCOM_KILL) { yyerror(ER(ER_SYNTAX_ERROR)); YYABORT; } if (mysql_new_select(Lex, 1)) YYABORT; } break; case 1678: #line 6193 "sql_yacc.yy" { LEX *lex=Lex; lex->current_select = lex->current_select->return_after_parsing(); } break; } /* Line 1037 of yacc.c. */ #line 21935 "sql_yacc.cc" yyvsp -= yylen; yyssp -= yylen; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*------------------------------------. | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if YYERROR_VERBOSE yyn = yypact[yystate]; if (YYPACT_NINF < yyn && yyn < YYLAST) { YYSIZE_T yysize = 0; int yytype = YYTRANSLATE (yychar); const char* yyprefix; char *yymsg; int yyx; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yycount = 0; yyprefix = ", expecting "; for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); yycount += 1; if (yycount == 5) { yysize = 0; break; } } yysize += (sizeof ("syntax error, unexpected ") + yystrlen (yytname[yytype])); yymsg = (char *) YYSTACK_ALLOC (yysize); if (yymsg != 0) { char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); yyp = yystpcpy (yyp, yytname[yytype]); if (yycount < 5) { yyprefix = ", expecting "; for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { yyp = yystpcpy (yyp, yyprefix); yyp = yystpcpy (yyp, yytname[yyx]); yyprefix = " or "; } } yyerror (yymsg); YYSTACK_FREE (yymsg); } else yyerror ("syntax error; also virtual memory exhausted"); } else #endif /* YYERROR_VERBOSE */ yyerror ("syntax error"); } if (yyerrstatus == 3) { /* If just tried and failed to reuse look-ahead token after an error, discard it. */ if (yychar <= YYEOF) { /* If at end of input, pop the error token, then the rest of the stack, then return failure. */ if (yychar == YYEOF) for (;;) { YYPOPSTACK; if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[*yyssp], yyvsp); } } else { yydestruct ("Error: discarding", yytoken, &yylval); yychar = YYEMPTY; } } /* Else will try to reuse look-ahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: #ifdef __GNUC__ /* Pacify GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (0) goto yyerrorlab; #endif yyvsp -= yylen; yyssp -= yylen; yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (yyn != YYPACT_NINF) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[yystate], yyvsp); YYPOPSTACK; yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } if (yyn == YYFINAL) YYACCEPT; *++yyvsp = yylval; /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yydestruct ("Error: discarding lookahead", yytoken, &yylval); yychar = YYEMPTY; yyresult = 1; goto yyreturn; #ifndef yyoverflow /*----------------------------------------------. | yyoverflowlab -- parser overflow comes here. | `----------------------------------------------*/ yyoverflowlab: yyerror ("parser stack overflow"); yyresult = 2; /* Fall through. */ #endif yyreturn: #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif return yyresult; }