/* A Bison parser, made by GNU Bison 2.4.1. */ /* Skeleton implementation for Bison's Yacc-like parsers in C Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "2.4.1" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 1 /* Push parsers. */ #define YYPUSH 0 /* Pull parsers. */ #define YYPULL 1 /* Using locations. */ #define YYLSP_NEEDED 1 /* Substitute the variable and function names. */ #define yyparse obsql_mysql_yyparse #define yylex obsql_mysql_yylex #define yyerror obsql_mysql_yyerror #define yylval obsql_mysql_yylval #define yychar obsql_mysql_yychar #define yydebug obsql_mysql_yydebug #define yynerrs obsql_mysql_yynerrs #define yylloc obsql_mysql_yylloc /* Copy the first part of user declarations. */ /* Line 189 of yacc.c */ #line 18 "../../../src/sql/parser/sql_parser_mysql_mode.y" #include #define YYDEBUG 1 /* Line 189 of yacc.c */ #line 87 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" /* 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 1 #endif /* Enabling the token table. */ #ifndef YYTOKEN_TABLE # define YYTOKEN_TABLE 0 #endif /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { NAME_OB = 258, STRING_VALUE = 259, INTNUM = 260, DATE_VALUE = 261, TIMESTAMP_VALUE = 262, HINT_VALUE = 263, BOOL_VALUE = 264, APPROXNUM = 265, DECIMAL_VAL = 266, NULLX = 267, QUESTIONMARK = 268, SYSTEM_VARIABLE = 269, USER_VARIABLE = 270, CLIENT_VERSION = 271, MYSQL_DRIVER = 272, HEX_STRING_VALUE = 273, OUTLINE_DEFAULT_TOKEN = 274, KILL_EXPR = 275, QUERY = 276, CONNECTION = 277, LOWER_COMMA = 278, MINUS = 279, EXCEPT = 280, UNION = 281, INTERSECT = 282, WINDOW = 283, INNER = 284, RIGHT = 285, FULL = 286, LEFT = 287, CROSS = 288, JOIN = 289, SET_VAR = 290, OR_OP = 291, OR = 292, XOR = 293, AND_OP = 294, AND = 295, ELSE = 296, THEN = 297, WHEN = 298, CASE = 299, BETWEEN = 300, LOWER_THAN_COMP = 301, REGEXP = 302, IN = 303, LIKE = 304, IS = 305, COMP_NE = 306, COMP_LT = 307, COMP_LE = 308, COMP_GT = 309, COMP_GE = 310, P_NSEQ = 311, COM = 312, COMP_EQ = 313, ESCAPE = 314, SHIFT_RIGHT = 315, SHIFT_LEFT = 316, POW = 317, DIV = 318, MOD = 319, LOWER_THAN_NEG = 320, CNNOP = 321, NEG = 322, LOWER_PARENS = 323, TRANSACTION = 324, HIGHER_PARENS = 325, NOT2 = 326, NOT = 327, COLLATE = 328, BINARY = 329, INTERVAL = 330, LOWER_KEY = 331, KEY = 332, LOWER_ON = 333, ON = 334, LOWER_OVER = 335, OVER = 336, LOWER_INTO = 337, INTO = 338, LOWER_THAN_BY_ACCESS_SESSION = 339, ERROR = 340, PARSER_SYNTAX_ERROR = 341, READ_STATIC = 342, INDEX_HINT = 343, USE_NL = 344, FROZEN_VERSION = 345, TOPK = 346, QUERY_TIMEOUT = 347, READ_CONSISTENCY = 348, HOTSPOT = 349, LOG_LEVEL = 350, LEADING_HINT = 351, ORDERED = 352, FULL_HINT = 353, USE_MERGE = 354, USE_HASH = 355, NO_USE_HASH = 356, USE_PLAN_CACHE = 357, USE_JIT = 358, NO_USE_JIT = 359, NO_USE_NL = 360, NO_USE_MERGE = 361, NO_USE_BNL = 362, USE_NL_MATERIALIZATION = 363, NO_USE_NL_MATERIALIZATION = 364, NO_REWRITE = 365, TRACE_LOG = 366, USE_PX = 367, QB_NAME = 368, USE_HASH_AGGREGATION = 369, NO_USE_HASH_AGGREGATION = 370, NEG_SIGN = 371, USE_LATE_MATERIALIZATION = 372, NO_USE_LATE_MATERIALIZATION = 373, USE_BNL = 374, MAX_CONCURRENT = 375, PX_JOIN_FILTER = 376, NO_USE_PX = 377, PQ_DISTRIBUTE = 378, RANDOM_LOCAL = 379, BROADCAST = 380, TRACING = 381, MERGE_HINT = 382, NO_MERGE_HINT = 383, NO_EXPAND = 384, USE_CONCAT = 385, UNNEST = 386, NO_UNNEST = 387, PLACE_GROUP_BY = 388, NO_PLACE_GROUP_BY = 389, NO_PRED_DEDUCE = 390, TRANS_PARAM = 391, FORCE_REFRESH_LOCATION_CACHE = 392, LOAD_BATCH_SIZE = 393, NO_PX_JOIN_FILTER = 394, DISABLE_PARALLEL_DML = 395, PQ_MAP = 396, ENABLE_PARALLEL_DML = 397, NO_PARALLEL = 398, _BINARY = 399, _UTF8 = 400, _UTF8MB4 = 401, _GBK = 402, _UTF16 = 403, _GB18030 = 404, SELECT_HINT_BEGIN = 405, UPDATE_HINT_BEGIN = 406, DELETE_HINT_BEGIN = 407, INSERT_HINT_BEGIN = 408, REPLACE_HINT_BEGIN = 409, HINT_HINT_BEGIN = 410, HINT_END = 411, LOAD_DATA_HINT_BEGIN = 412, END_P = 413, DELIMITER = 414, ACCESSIBLE = 415, ADD = 416, ALL = 417, ALTER = 418, ANALYZE = 419, AS = 420, ASC = 421, ASENSITIVE = 422, BEFORE = 423, BIGINT = 424, BLOB = 425, BOTH = 426, BY = 427, CALL = 428, CASCADE = 429, CHANGE = 430, CHAR = 431, CHARACTER = 432, CHECK = 433, COLUMN = 434, CONDITION = 435, CONSTRAINT = 436, CONTINUE = 437, CONVERT = 438, CREATE = 439, CURRENT_DATE = 440, CURRENT_TIME = 441, CURRENT_TIMESTAMP = 442, CURRENT_USER = 443, CURSOR = 444, DATABASE = 445, DATABASES = 446, DAY_HOUR = 447, DAY_MICROSECOND = 448, DAY_MINUTE = 449, DAY_SECOND = 450, DECLARE = 451, DECIMAL = 452, DEFAULT = 453, DELAYED = 454, DELETE = 455, DESC = 456, DESCRIBE = 457, DETERMINISTIC = 458, DISTINCT = 459, DISTINCTROW = 460, DOUBLE = 461, DROP = 462, DUAL = 463, EACH = 464, ELSEIF = 465, ENCLOSED = 466, ESCAPED = 467, EXISTS = 468, EXIT = 469, EXPLAIN = 470, FETCH = 471, FLOAT = 472, FLOAT4 = 473, FLOAT8 = 474, FOR = 475, FORCE = 476, FOREIGN = 477, FROM = 478, GENERATED = 479, GET = 480, GRANT = 481, GROUP = 482, HAVING = 483, HIGH_PRIORITY = 484, HOUR_MICROSECOND = 485, HOUR_MINUTE = 486, HOUR_SECOND = 487, IF = 488, IGNORE = 489, INDEX = 490, INFILE = 491, INOUT = 492, INSENSITIVE = 493, INSERT = 494, INT = 495, INT1 = 496, INT2 = 497, INT3 = 498, INT4 = 499, INT8 = 500, INTEGER = 501, IO_AFTER_GTIDS = 502, IO_BEFORE_GTIDS = 503, ITERATE = 504, KEYS = 505, KILL = 506, LEADING = 507, LEAVE = 508, LIMIT = 509, LINEAR = 510, LINES = 511, LOAD = 512, LOCALTIME = 513, LOCALTIMESTAMP = 514, LONG = 515, LONGBLOB = 516, LONGTEXT = 517, LOOP = 518, LOW_PRIORITY = 519, MASTER_BIND = 520, MASTER_SSL_VERIFY_SERVER_CERT = 521, MATCH = 522, MAXVALUE = 523, MEDIUMBLOB = 524, MEDIUMINT = 525, MEDIUMTEXT = 526, MIDDLEINT = 527, MINUTE_MICROSECOND = 528, MINUTE_SECOND = 529, MODIFIES = 530, NATURAL = 531, NO_WRITE_TO_BINLOG = 532, OPTIMIZE = 533, OPTION = 534, OPTIONALLY = 535, ORDER = 536, OUT = 537, OUTER = 538, OUTFILE = 539, PARTITION = 540, PRECISION = 541, PRIMARY = 542, PROCEDURE = 543, PURGE = 544, RANGE = 545, READ = 546, READS = 547, READ_WRITE = 548, REAL = 549, REFERENCES = 550, RELEASE = 551, RENAME = 552, REPEAT = 553, REPLACE = 554, REQUIRE = 555, RESIGNAL = 556, RESTRICT = 557, RETURN = 558, REVOKE = 559, RLIKE = 560, SCHEMA = 561, SCHEMAS = 562, SECOND_MICROSECOND = 563, SELECT = 564, SENSITIVE = 565, SEPARATOR = 566, SET = 567, SHOW = 568, SIGNAL = 569, SMALLINT = 570, SPATIAL = 571, SPECIFIC = 572, SQL = 573, SQLEXCEPTION = 574, SQLSTATE = 575, SQLWARNING = 576, SQL_BIG_RESULT = 577, SQL_CALC_FOUND_ROWS = 578, SQL_SMALL_RESULT = 579, SSL = 580, STARTING = 581, STORED = 582, STRAIGHT_JOIN = 583, TABLE = 584, TERMINATED = 585, TINYBLOB = 586, TINYINT = 587, TINYTEXT = 588, TO = 589, TRAILING = 590, TRIGGER = 591, UNDO = 592, UNIQUE = 593, UNLOCK = 594, UNSIGNED = 595, UPDATE = 596, USAGE = 597, USE = 598, USING = 599, UTC_DATE = 600, UTC_TIME = 601, UTC_TIMESTAMP = 602, VALUES = 603, VARBINARY = 604, VARCHAR = 605, VARCHARACTER = 606, VARYING = 607, VIRTUAL = 608, WHERE = 609, WHILE = 610, WITH = 611, WRITE = 612, YEAR_MONTH = 613, ZEROFILL = 614, TABLEGROUP = 615, ACCESS = 616, ACCOUNT = 617, ACTION = 618, ACTIVE = 619, ADDDATE = 620, AFTER = 621, AGAINST = 622, AGGREGATE = 623, ALGORITHM = 624, ALWAYS = 625, ANALYSE = 626, ANY = 627, APPROX_COUNT_DISTINCT = 628, APPROX_COUNT_DISTINCT_SYNOPSIS = 629, APPROX_COUNT_DISTINCT_SYNOPSIS_MERGE = 630, ASCII = 631, AT = 632, AUTHORS = 633, AUTO = 634, AUTOEXTEND_SIZE = 635, AUTO_INCREMENT = 636, AVG = 637, AVG_ROW_LENGTH = 638, ACTIVATE = 639, AVAILABILITY = 640, ARCHIVELOG = 641, AUDIT = 642, BACKUP = 643, BALANCE = 644, BASE = 645, BASELINE = 646, BASELINE_ID = 647, BASIC = 648, BEGI = 649, BINDING = 650, BINLOG = 651, BIT = 652, BLOCK = 653, BLOCK_INDEX = 654, BLOCK_SIZE = 655, BLOOM_FILTER = 656, BOOL = 657, BOOLEAN = 658, BOOTSTRAP = 659, BTREE = 660, BYTE = 661, BREADTH = 662, BUCKETS = 663, BISON_LIST = 664, BACKUPSET = 665, CACHE = 666, CANCEL = 667, CASCADED = 668, CAST = 669, CATALOG_NAME = 670, CHAIN = 671, CHANGED = 672, CHARSET = 673, CHECKSUM = 674, CHECKPOINT = 675, CHUNK = 676, CIPHER = 677, CLASS_ORIGIN = 678, CLEAN = 679, CLEAR = 680, CLIENT = 681, CLOG = 682, CLOSE = 683, CLUSTER = 684, CLUSTER_ID = 685, CLUSTER_NAME = 686, COALESCE = 687, COLUMN_STAT = 688, CODE = 689, COLLATION = 690, COLUMN_FORMAT = 691, COLUMN_NAME = 692, COLUMNS = 693, COMMENT = 694, COMMIT = 695, COMMITTED = 696, COMPACT = 697, COMPLETION = 698, COMPRESSED = 699, COMPRESSION = 700, CONCURRENT = 701, CONSISTENT = 702, CONSISTENT_MODE = 703, CONSTRAINT_CATALOG = 704, CONSTRAINT_NAME = 705, CONSTRAINT_SCHEMA = 706, CONTAINS = 707, CONTEXT = 708, CONTRIBUTORS = 709, COPY = 710, COUNT = 711, CPU = 712, CREATE_TIMESTAMP = 713, CTX_ID = 714, CUBE = 715, CURDATE = 716, CURRENT = 717, CURTIME = 718, CURSOR_NAME = 719, CUME_DIST = 720, CYCLE = 721, DAG = 722, DATA = 723, DATAFILE = 724, DATA_TABLE_ID = 725, DATE = 726, DATE_ADD = 727, DATE_SUB = 728, DATETIME = 729, DAY = 730, DEALLOCATE = 731, DECRYPTION = 732, DEFAULT_AUTH = 733, DEFINER = 734, DELAY = 735, DELAY_KEY_WRITE = 736, DEPTH = 737, DES_KEY_FILE = 738, DENSE_RANK = 739, DESTINATION = 740, DIAGNOSTICS = 741, DIRECTORY = 742, DISABLE = 743, DISCARD = 744, DISK = 745, DISKGROUP = 746, DO = 747, DUMP = 748, DUMPFILE = 749, DUPLICATE = 750, DUPLICATE_SCOPE = 751, DYNAMIC = 752, DATABASE_ID = 753, DEFAULT_TABLEGROUP = 754, EFFECTIVE = 755, ENABLE = 756, ENCRYPTION = 757, END = 758, ENDS = 759, ENGINE_ = 760, ENGINES = 761, ENUM = 762, ENTITY = 763, ERROR_CODE = 764, ERROR_P = 765, ERRORS = 766, EVENT = 767, EVENTS = 768, EVERY = 769, EXCHANGE = 770, EXECUTE = 771, EXPANSION = 772, EXPIRE = 773, EXPIRE_INFO = 774, EXPORT = 775, OUTLINE = 776, EXTENDED = 777, EXTENDED_NOADDR = 778, EXTENT_SIZE = 779, EXTRACT = 780, EXPIRED = 781, FAILOVER = 782, FAST = 783, FAULTS = 784, FIELDS = 785, FILEX = 786, FINAL_COUNT = 787, FIRST = 788, FIRST_VALUE = 789, FIXED = 790, FLUSH = 791, FOLLOWER = 792, FORMAT = 793, FOUND = 794, FREEZE = 795, FREQUENCY = 796, FUNCTION = 797, FOLLOWING = 798, FLASHBACK = 799, FROZEN = 800, FILE_ID = 801, GENERAL = 802, GEOMETRY = 803, GEOMETRYCOLLECTION = 804, GET_FORMAT = 805, GLOBAL = 806, GRANTS = 807, GROUP_CONCAT = 808, GROUPING = 809, GTS = 810, GLOBAL_NAME = 811, GLOBAL_ALIAS = 812, HANDLER = 813, HASH = 814, HELP = 815, HISTOGRAM = 816, HOST = 817, HOSTS = 818, HOUR = 819, ID = 820, IDC = 821, IDENTIFIED = 822, IGNORE_SERVER_IDS = 823, ILOG = 824, IMPORT = 825, INCR = 826, INDEXES = 827, INDEX_TABLE_ID = 828, INFO = 829, INITIAL_SIZE = 830, INNODB = 831, INSERT_METHOD = 832, INSTALL = 833, INSTANCE = 834, INVOKER = 835, IO = 836, IO_THREAD = 837, IPC = 838, ISOLATE = 839, ISOLATION = 840, ISSUER = 841, IS_TENANT_SYS_POOL = 842, INVISIBLE = 843, MERGE = 844, ISNULL = 845, INCREMENTAL = 846, INNER_PARSE = 847, ILOGCACHE = 848, INPUT = 849, JOB = 850, JSON = 851, KEY_BLOCK_SIZE = 852, KEY_VERSION = 853, KVCACHE = 854, LAG = 855, LANGUAGE = 856, LAST = 857, LAST_VALUE = 858, LEAD = 859, LEADER = 860, LEAVES = 861, LESS = 862, LEAK = 863, LEAK_MOD = 864, LINESTRING = 865, LIST_ = 866, LISTAGG = 867, LOCAL = 868, LOCALITY = 869, LOCATION = 870, LOCKED = 871, LOCKS = 872, LOGFILE = 873, LOGONLY_REPLICA_NUM = 874, LOGS = 875, LOCK_ = 876, LOGICAL_READS = 877, LEVEL = 878, LN = 879, LOG = 880, MAJOR = 881, MANUAL = 882, MASTER = 883, MASTER_AUTO_POSITION = 884, MASTER_CONNECT_RETRY = 885, MASTER_DELAY = 886, MASTER_HEARTBEAT_PERIOD = 887, MASTER_HOST = 888, MASTER_LOG_FILE = 889, MASTER_LOG_POS = 890, MASTER_PASSWORD = 891, MASTER_PORT = 892, MASTER_RETRY_COUNT = 893, MASTER_SERVER_ID = 894, MASTER_SSL = 895, MASTER_SSL_CA = 896, MASTER_SSL_CAPATH = 897, MASTER_SSL_CERT = 898, MASTER_SSL_CIPHER = 899, MASTER_SSL_CRL = 900, MASTER_SSL_CRLPATH = 901, MASTER_SSL_KEY = 902, MASTER_USER = 903, MAX = 904, MAX_CONNECTIONS_PER_HOUR = 905, MAX_CPU = 906, MAX_DISK_SIZE = 907, MAX_IOPS = 908, MAX_MEMORY = 909, MAX_QUERIES_PER_HOUR = 910, MAX_ROWS = 911, MAX_SESSION_NUM = 912, MAX_SIZE = 913, MAX_UPDATES_PER_HOUR = 914, MAX_USER_CONNECTIONS = 915, MEDIUM = 916, MEMORY = 917, MEMTABLE = 918, MESSAGE_TEXT = 919, META = 920, MICROSECOND = 921, MIGRATE = 922, MIN = 923, MIN_CPU = 924, MIN_IOPS = 925, MIN_MEMORY = 926, MINOR = 927, MIN_ROWS = 928, MINUTE = 929, MODE = 930, MODIFY = 931, MONTH = 932, MOVE = 933, MULTILINESTRING = 934, MULTIPOINT = 935, MULTIPOLYGON = 936, MUTEX = 937, MYSQL_ERRNO = 938, MIGRATION = 939, MAX_USED_PART_ID = 940, MAXIMIZE = 941, MATERIALIZED = 942, MEMSTORE_PERCENT = 943, NAME = 944, NAMES = 945, NATIONAL = 946, NCHAR = 947, NDB = 948, NDBCLUSTER = 949, NEW = 950, NEXT = 951, NO = 952, NOAUDIT = 953, NODEGROUP = 954, NONE = 955, NORMAL = 956, NOW = 957, NOWAIT = 958, NO_WAIT = 959, NULLS = 960, NUMBER = 961, NVARCHAR = 962, NTILE = 963, NTH_VALUE = 964, NOARCHIVELOG = 965, NETWORK = 966, NOPARALLEL = 967, OBSOLETE = 968, OCCUR = 969, OF = 970, OFF = 971, OFFSET = 972, OLD_PASSWORD = 973, ONE = 974, ONE_SHOT = 975, ONLY = 976, OPEN = 977, OPTIONS = 978, ORIG_DEFAULT = 979, OWNER = 980, OLD_KEY = 981, PACK_KEYS = 982, PAGE = 983, PARALLEL = 984, PARAMETERS = 985, PARSER = 986, PARTIAL = 987, PARTITION_ID = 988, PARTITIONING = 989, PARTITIONS = 990, PASSWORD = 991, PAUSE = 992, PERCENT_RANK = 993, PHASE = 994, PLAN = 995, PHYSICAL = 996, PLANREGRESS = 997, PLUGIN = 998, PLUGIN_DIR = 999, PLUGINS = 1000, POINT = 1001, POLYGON = 1002, PERFORMANCE = 1003, PROTECTION = 1004, PRIORITY = 1005, PL = 1006, POOL = 1007, PORT = 1008, POSITION = 1009, PREPARE = 1010, PRESERVE = 1011, PREV = 1012, PRIMARY_ZONE = 1013, PRIVILEGES = 1014, PROCESS = 1015, PROCESSLIST = 1016, PROFILE = 1017, PROFILES = 1018, PROXY = 1019, PRECEDING = 1020, PCTFREE = 1021, P_ENTITY = 1022, P_CHUNK = 1023, PRIMARY_ROOTSERVICE_LIST = 1024, PRIMARY_CLUSTER_ID = 1025, PUBLIC = 1026, PROGRESSIVE_MERGE_NUM = 1027, PS = 1028, QUARTER = 1029, QUEUE_TIME = 1030, QUICK = 1031, REBUILD = 1032, RECOVER = 1033, RECYCLE = 1034, REDO_BUFFER_SIZE = 1035, REDOFILE = 1036, REDUNDANT = 1037, REFRESH = 1038, REGION = 1039, RELAY = 1040, RELAYLOG = 1041, RELAY_LOG_FILE = 1042, RELAY_LOG_POS = 1043, RELAY_THREAD = 1044, RELOAD = 1045, REMOVE = 1046, REORGANIZE = 1047, REPAIR = 1048, REPEATABLE = 1049, REPLICA = 1050, REPLICA_NUM = 1051, REPLICA_TYPE = 1052, REPLICATION = 1053, REPORT = 1054, RESET = 1055, RESOURCE = 1056, RESOURCE_POOL_LIST = 1057, RESPECT = 1058, RESTART = 1059, RESTORE = 1060, RESUME = 1061, RETURNED_SQLSTATE = 1062, RETURNS = 1063, REVERSE = 1064, REWRITE_MERGE_VERSION = 1065, ROLLBACK = 1066, ROLLUP = 1067, ROOT = 1068, ROOTTABLE = 1069, ROOTSERVICE = 1070, ROOTSERVICE_LIST = 1071, ROUTINE = 1072, ROW = 1073, ROLLING = 1074, ROW_COUNT = 1075, ROW_FORMAT = 1076, ROWS = 1077, RTREE = 1078, RUN = 1079, RECYCLEBIN = 1080, ROTATE = 1081, ROW_NUMBER = 1082, RUDUNDANT = 1083, RECURSIVE = 1084, RANDOM = 1085, REDO_TRANSPORT_OPTIONS = 1086, REMOTE_OSS = 1087, RT = 1088, RANK = 1089, READ_ONLY = 1090, RECOVERY = 1091, SAMPLE = 1092, SAVEPOINT = 1093, SCHEDULE = 1094, SCHEMA_NAME = 1095, SCOPE = 1096, SECOND = 1097, SECURITY = 1098, SEED = 1099, SERIAL = 1100, SERIALIZABLE = 1101, SERVER = 1102, SERVER_IP = 1103, SERVER_PORT = 1104, SERVER_TYPE = 1105, SESSION = 1106, SESSION_USER = 1107, SET_MASTER_CLUSTER = 1108, SET_SLAVE_CLUSTER = 1109, SET_TP = 1110, SHARE = 1111, SHUTDOWN = 1112, SIGNED = 1113, SIMPLE = 1114, SLAVE = 1115, SLOW = 1116, SLOT_IDX = 1117, SNAPSHOT = 1118, SOCKET = 1119, SOME = 1120, SONAME = 1121, SOUNDS = 1122, SOURCE = 1123, SPFILE = 1124, SPLIT = 1125, SQL_AFTER_GTIDS = 1126, SQL_AFTER_MTS_GAPS = 1127, SQL_BEFORE_GTIDS = 1128, SQL_BUFFER_RESULT = 1129, SQL_CACHE = 1130, SQL_NO_CACHE = 1131, SQL_ID = 1132, SQL_THREAD = 1133, SQL_TSI_DAY = 1134, SQL_TSI_HOUR = 1135, SQL_TSI_MINUTE = 1136, SQL_TSI_MONTH = 1137, SQL_TSI_QUARTER = 1138, SQL_TSI_SECOND = 1139, SQL_TSI_WEEK = 1140, SQL_TSI_YEAR = 1141, STANDBY = 1142, STAT = 1143, START = 1144, STARTS = 1145, STATS_AUTO_RECALC = 1146, STATS_PERSISTENT = 1147, STATS_SAMPLE_PAGES = 1148, STATUS = 1149, STATEMENTS = 1150, STD = 1151, STDDEV = 1152, STDDEV_POP = 1153, STDDEV_SAMP = 1154, STRONG = 1155, SYNCHRONIZATION = 1156, STOP = 1157, STORAGE = 1158, STORAGE_FORMAT_VERSION = 1159, STORAGE_FORMAT_WORK_VERSION = 1160, STORING = 1161, STRING = 1162, SUBCLASS_ORIGIN = 1163, SUBDATE = 1164, SUBJECT = 1165, SUBPARTITION = 1166, SUBPARTITIONS = 1167, SUBSTR = 1168, SUBSTRING = 1169, SUCCESSFUL = 1170, SUM = 1171, SUPER = 1172, SUSPEND = 1173, SWAPS = 1174, SWITCH = 1175, SWITCHES = 1176, SWITCHOVER = 1177, SYSTEM = 1178, SYSTEM_USER = 1179, SYSDATE = 1180, SESSION_ALIAS = 1181, SYNONYM = 1182, SIZE = 1183, TABLE_CHECKSUM = 1184, TABLE_MODE = 1185, TABLE_ID = 1186, TABLE_NAME = 1187, TABLEGROUPS = 1188, TABLES = 1189, TABLESPACE = 1190, TABLET = 1191, TABLET_MAX_SIZE = 1192, TEMPLATE = 1193, TEMPORARY = 1194, TEMPTABLE = 1195, TENANT = 1196, TEXT = 1197, THAN = 1198, TIME = 1199, TIMESTAMP = 1200, TIMESTAMPADD = 1201, TIMESTAMPDIFF = 1202, TP_NO = 1203, TP_NAME = 1204, TRACE = 1205, TRADITIONAL = 1206, TRIGGERS = 1207, TRIM = 1208, TRUNCATE = 1209, TYPE = 1210, TYPES = 1211, TASK = 1212, TABLET_SIZE = 1213, TABLEGROUP_ID = 1214, TENANT_ID = 1215, THROTTLE = 1216, TIME_ZONE_INFO = 1217, UNCOMMITTED = 1218, UNDEFINED = 1219, UNDO_BUFFER_SIZE = 1220, UNDOFILE = 1221, UNICODE = 1222, UNINSTALL = 1223, UNIT = 1224, UNIT_NUM = 1225, UNLOCKED = 1226, UNTIL = 1227, UNUSUAL = 1228, UPGRADE = 1229, USE_BLOOM_FILTER = 1230, UNKNOWN = 1231, USE_FRM = 1232, USER = 1233, USER_RESOURCES = 1234, UNBOUNDED = 1235, VALID = 1236, VALUE = 1237, VARIANCE = 1238, VARIABLES = 1239, VERBOSE = 1240, VERIFY = 1241, VIEW = 1242, VISIBLE = 1243, VIRTUAL_COLUMN_ID = 1244, VALIDATE = 1245, VAR_POP = 1246, VAR_SAMP = 1247, WAIT = 1248, WARNINGS = 1249, WEEK = 1250, WEIGHT_STRING = 1251, WHENEVER = 1252, WITH_ROWID = 1253, WORK = 1254, WRAPPER = 1255, WEAK = 1256, X509 = 1257, XA = 1258, XML = 1259, YEAR = 1260, ZONE = 1261, ZONE_LIST = 1262, ZONE_TYPE = 1263, COMP_NSEQ = 1264, COMMA = 1265 }; #endif #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE { /* Line 214 of yacc.c */ #line 23 "../../../src/sql/parser/sql_parser_mysql_mode.y" struct _ParseNode *node; const struct _NonReservedKeyword *non_reserved_keyword; const struct _NonReservedKeyword *reserved_keyword; int32_t ival[2]; //ival[0] means value, //ival[1] means the number of constants that fast parse can recognize in the corresponding node and its child nodes, //ival[2] for length_semantics /* Line 214 of yacc.c */ #line 1144 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED typedef struct YYLTYPE { int first_line; int first_column; int last_line; int last_column; } YYLTYPE; # define yyltype YYLTYPE /* obsolescent; will be withdrawn */ # define YYLTYPE_IS_DECLARED 1 # define YYLTYPE_IS_TRIVIAL 1 #endif /* Copy the second part of user declarations. */ /* Line 264 of yacc.c */ #line 32 "../../../src/sql/parser/sql_parser_mysql_mode.y" #include "../../../src/sql/parser/sql_parser_mysql_mode_lex.h" #include "../../../src/sql/parser/sql_parser_base.h" /* Line 264 of yacc.c */ #line 1175 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" #ifdef short # undef short #endif #ifdef YYTYPE_UINT8 typedef YYTYPE_UINT8 yytype_uint8; #else typedef unsigned char yytype_uint8; #endif #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; #elif (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) typedef signed char yytype_int8; #else typedef short int yytype_int8; #endif #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else typedef unsigned short int yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned int # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) # endif # endif # ifndef YY_ # define YY_(msgid) msgid # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(e) ((void) (e)) #else # define YYUSE(e) /* empty */ #endif /* Identity function, used to suppress warnings about constant conditions. */ #ifndef lint # define YYID(n) (n) #else #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static int YYID (int yyi) #else static int YYID (yyi) int yyi; #endif { return yyi; } #endif #if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ # ifndef _STDLIB_H # define _STDLIB_H 1 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's `empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined _STDLIB_H \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef _STDLIB_H # define _STDLIB_H 1 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \ && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss_alloc; YYSTYPE yyvs_alloc; YYLTYPE yyls_alloc; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ + 2 * YYSTACK_GAP_MAXIMUM) /* 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 \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (YYID (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_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (YYID (0)) #endif /* YYFINAL -- State number of the termination state. */ #define YYFINAL 1373 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 106652 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 1027 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 622 /* YYNRULES -- Number of rules. */ #define YYNRULES 2902 /* YYNRULES -- Number of states. */ #define YYNSTATES 5026 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 1265 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ static const yytype_uint16 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1023, 2, 2, 2, 69, 62, 1025, 79, 80, 67, 65, 24, 66, 83, 68, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1024, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 73, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 61, 2, 76, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, 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, 63, 64, 70, 71, 72, 74, 75, 77, 78, 81, 82, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1026 }; #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ static const yytype_uint16 yyprhs[] = { 0, 0, 3, 5, 7, 9, 12, 16, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119, 121, 123, 125, 127, 129, 131, 133, 135, 137, 139, 141, 143, 145, 147, 149, 151, 153, 155, 157, 159, 161, 163, 167, 169, 173, 175, 179, 183, 185, 189, 193, 197, 201, 207, 213, 219, 225, 230, 235, 240, 242, 245, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 314, 317, 320, 322, 324, 328, 333, 337, 344, 348, 355, 359, 366, 370, 374, 381, 385, 392, 396, 403, 405, 409, 414, 421, 427, 431, 436, 442, 449, 456, 464, 469, 475, 482, 490, 498, 507, 511, 516, 521, 527, 529, 531, 534, 538, 542, 546, 550, 554, 558, 564, 570, 574, 578, 582, 586, 590, 594, 596, 599, 602, 604, 606, 610, 613, 616, 619, 622, 624, 628, 634, 641, 644, 654, 656, 658, 660, 662, 667, 671, 672, 676, 680, 684, 688, 692, 695, 699, 704, 708, 713, 715, 719, 721, 723, 725, 727, 729, 731, 733, 735, 739, 745, 753, 761, 769, 776, 783, 790, 798, 806, 814, 822, 830, 838, 846, 854, 862, 870, 878, 888, 898, 904, 910, 916, 922, 929, 935, 940, 945, 950, 955, 966, 968, 970, 973, 974, 976, 978, 981, 982, 988, 993, 999, 1007, 1012, 1014, 1016, 1021, 1025, 1026, 1029, 1031, 1035, 1039, 1043, 1044, 1048, 1050, 1052, 1054, 1056, 1058, 1062, 1065, 1068, 1074, 1077, 1078, 1080, 1082, 1083, 1085, 1088, 1093, 1096, 1097, 1099, 1100, 1107, 1113, 1119, 1125, 1131, 1136, 1141, 1146, 1152, 1158, 1164, 1170, 1176, 1182, 1188, 1194, 1200, 1206, 1212, 1217, 1225, 1234, 1239, 1241, 1243, 1245, 1247, 1249, 1251, 1253, 1260, 1271, 1278, 1285, 1292, 1299, 1304, 1309, 1314, 1319, 1324, 1329, 1334, 1339, 1346, 1351, 1356, 1363, 1368, 1373, 1378, 1383, 1388, 1393, 1398, 1405, 1412, 1417, 1422, 1429, 1434, 1439, 1444, 1449, 1456, 1463, 1468, 1473, 1478, 1485, 1487, 1494, 1503, 1505, 1509, 1514, 1516, 1520, 1525, 1527, 1531, 1535, 1540, 1544, 1549, 1552, 1554, 1556, 1558, 1562, 1567, 1570, 1574, 1576, 1580, 1584, 1587, 1588, 1590, 1592, 1596, 1602, 1606, 1612, 1618, 1624, 1625, 1627, 1628, 1630, 1632, 1633, 1635, 1637, 1639, 1640, 1643, 1650, 1654, 1658, 1663, 1672, 1674, 1678, 1682, 1689, 1696, 1698, 1702, 1703, 1707, 1711, 1715, 1719, 1723, 1727, 1731, 1735, 1737, 1741, 1742, 1746, 1750, 1756, 1760, 1762, 1766, 1768, 1772, 1779, 1780, 1784, 1789, 1795, 1801, 1807, 1821, 1833, 1839, 1845, 1852, 1854, 1858, 1859, 1863, 1868, 1872, 1876, 1880, 1884, 1888, 1894, 1900, 1904, 1908, 1910, 1914, 1916, 1920, 1923, 1927, 1930, 1931, 1934, 1935, 1937, 1941, 1943, 1947, 1954, 1961, 1969, 1974, 1980, 1985, 1990, 1996, 1998, 2000, 2002, 2004, 2005, 2007, 2010, 2012, 2015, 2020, 2025, 2029, 2033, 2035, 2037, 2041, 2044, 2047, 2052, 2058, 2060, 2061, 2077, 2080, 2083, 2084, 2086, 2088, 2089, 2091, 2093, 2094, 2098, 2099, 2103, 2107, 2109, 2111, 2112, 2115, 2119, 2121, 2125, 2127, 2129, 2130, 2133, 2135, 2139, 2143, 2146, 2155, 2166, 2177, 2190, 2192, 2193, 2195, 2197, 2200, 2201, 2203, 2205, 2211, 2219, 2221, 2222, 2224, 2226, 2227, 2229, 2230, 2238, 2248, 2259, 2272, 2282, 2291, 2298, 2306, 2308, 2309, 2311, 2313, 2315, 2317, 2326, 2331, 2335, 2336, 2338, 2342, 2344, 2354, 2362, 2371, 2382, 2389, 2404, 2407, 2408, 2412, 2416, 2418, 2420, 2423, 2426, 2429, 2432, 2433, 2435, 2437, 2439, 2444, 2455, 2458, 2459, 2462, 2463, 2466, 2468, 2471, 2474, 2476, 2479, 2482, 2484, 2486, 2487, 2489, 2493, 2499, 2501, 2505, 2508, 2512, 2515, 2518, 2521, 2524, 2527, 2529, 2531, 2532, 2534, 2536, 2538, 2540, 2542, 2544, 2549, 2554, 2559, 2564, 2566, 2568, 2571, 2573, 2579, 2585, 2588, 2594, 2597, 2600, 2602, 2605, 2613, 2621, 2623, 2627, 2629, 2631, 2633, 2635, 2637, 2639, 2641, 2643, 2645, 2647, 2650, 2653, 2655, 2657, 2659, 2661, 2664, 2666, 2668, 2670, 2672, 2674, 2676, 2678, 2680, 2684, 2685, 2689, 2690, 2696, 2700, 2701, 2707, 2711, 2712, 2716, 2717, 2721, 2722, 2726, 2728, 2729, 2731, 2732, 2734, 2736, 2737, 2739, 2740, 2742, 2743, 2745, 2747, 2751, 2755, 2757, 2759, 2761, 2763, 2765, 2767, 2770, 2771, 2774, 2776, 2777, 2780, 2781, 2784, 2786, 2789, 2792, 2794, 2797, 2800, 2802, 2805, 2809, 2812, 2814, 2816, 2818, 2821, 2824, 2825, 2827, 2829, 2830, 2832, 2833, 2835, 2838, 2840, 2844, 2846, 2848, 2850, 2852, 2854, 2856, 2860, 2864, 2869, 2875, 2879, 2883, 2887, 2891, 2895, 2899, 2903, 2907, 2912, 2917, 2921, 2925, 2929, 2933, 2935, 2939, 2943, 2947, 2951, 2953, 2957, 2959, 2961, 2963, 2965, 2967, 2968, 2970, 2971, 2973, 2975, 2977, 2979, 2982, 2984, 2986, 2993, 2995, 2997, 2999, 3005, 3012, 3020, 3029, 3039, 3049, 3060, 3069, 3079, 3087, 3096, 3106, 3117, 3118, 3120, 3127, 3136, 3138, 3142, 3144, 3148, 3150, 3154, 3156, 3158, 3168, 3179, 3189, 3199, 3210, 3220, 3221, 3228, 3236, 3244, 3251, 3259, 3267, 3271, 3273, 3277, 3282, 3286, 3288, 3292, 3301, 3305, 3307, 3311, 3319, 3321, 3323, 3325, 3326, 3330, 3332, 3336, 3339, 3343, 3345, 3349, 3356, 3360, 3362, 3366, 3372, 3376, 3380, 3382, 3386, 3390, 3392, 3393, 3396, 3398, 3402, 3404, 3406, 3409, 3410, 3413, 3414, 3416, 3418, 3420, 3422, 3424, 3426, 3427, 3433, 3440, 3447, 3456, 3463, 3472, 3479, 3488, 3493, 3499, 3506, 3515, 3516, 3518, 3520, 3522, 3524, 3526, 3533, 3538, 3545, 3550, 3555, 3557, 3558, 3560, 3563, 3565, 3569, 3574, 3578, 3582, 3586, 3590, 3592, 3596, 3599, 3604, 3609, 3611, 3612, 3622, 3624, 3627, 3628, 3630, 3631, 3633, 3637, 3638, 3642, 3643, 3657, 3659, 3660, 3662, 3663, 3665, 3668, 3669, 3671, 3672, 3674, 3676, 3680, 3685, 3686, 3689, 3693, 3694, 3695, 3697, 3699, 3702, 3704, 3706, 3710, 3713, 3718, 3720, 3724, 3726, 3728, 3732, 3736, 3740, 3744, 3746, 3747, 3749, 3752, 3755, 3757, 3759, 3760, 3767, 3769, 3771, 3778, 3779, 3782, 3784, 3788, 3794, 3800, 3805, 3808, 3813, 3819, 3823, 3826, 3828, 3830, 3832, 3834, 3835, 3837, 3838, 3844, 3845, 3846, 3848, 3851, 3853, 3856, 3858, 3862, 3866, 3872, 3874, 3878, 3879, 3881, 3883, 3886, 3888, 3890, 3893, 3897, 3901, 3904, 3907, 3910, 3915, 3924, 3926, 3928, 3930, 3932, 3934, 3937, 3941, 3945, 3949, 3953, 3955, 3957, 3959, 3961, 3963, 3965, 3968, 3972, 3975, 3979, 3982, 3986, 3988, 3991, 3993, 3996, 3998, 4001, 4012, 4014, 4016, 4018, 4020, 4023, 4025, 4026, 4028, 4030, 4032, 4033, 4037, 4038, 4040, 4045, 4048, 4053, 4060, 4064, 4067, 4068, 4070, 4074, 4076, 4078, 4080, 4083, 4084, 4087, 4089, 4093, 4098, 4102, 4106, 4109, 4110, 4113, 4115, 4119, 4123, 4126, 4128, 4132, 4133, 4135, 4138, 4140, 4143, 4147, 4149, 4154, 4161, 4166, 4171, 4177, 4179, 4184, 4191, 4197, 4203, 4205, 4211, 4216, 4222, 4228, 4234, 4240, 4246, 4252, 4258, 4264, 4270, 4276, 4278, 4280, 4283, 4286, 4289, 4292, 4295, 4298, 4301, 4304, 4307, 4312, 4314, 4316, 4318, 4320, 4325, 4330, 4332, 4334, 4341, 4347, 4353, 4355, 4360, 4365, 4370, 4372, 4381, 4386, 4392, 4394, 4396, 4398, 4400, 4402, 4404, 4408, 4409, 4411, 4413, 4415, 4417, 4419, 4421, 4423, 4425, 4427, 4429, 4431, 4433, 4435, 4438, 4439, 4441, 4443, 4444, 4446, 4447, 4451, 4452, 4455, 4458, 4460, 4462, 4464, 4468, 4473, 4478, 4483, 4487, 4491, 4495, 4496, 4500, 4503, 4505, 4509, 4512, 4513, 4515, 4517, 4518, 4521, 4523, 4524, 4528, 4530, 4534, 4537, 4538, 4540, 4542, 4543, 4546, 4548, 4549, 4551, 4554, 4556, 4558, 4560, 4562, 4564, 4567, 4571, 4575, 4577, 4579, 4580, 4582, 4586, 4588, 4590, 4594, 4596, 4598, 4600, 4602, 4604, 4608, 4610, 4613, 4617, 4621, 4626, 4631, 4637, 4640, 4644, 4648, 4653, 4656, 4660, 4665, 4670, 4676, 4682, 4689, 4694, 4700, 4706, 4713, 4720, 4728, 4731, 4735, 4739, 4744, 4749, 4755, 4761, 4768, 4772, 4777, 4782, 4788, 4791, 4796, 4798, 4800, 4801, 4803, 4805, 4807, 4814, 4816, 4817, 4820, 4824, 4826, 4827, 4832, 4834, 4836, 4838, 4839, 4841, 4843, 4844, 4847, 4851, 4855, 4857, 4859, 4861, 4865, 4867, 4868, 4875, 4882, 4884, 4887, 4889, 4891, 4893, 4897, 4900, 4905, 4908, 4909, 4911, 4915, 4919, 4922, 4925, 4928, 4931, 4932, 4934, 4938, 4940, 4941, 4943, 4947, 4951, 4953, 4957, 4961, 4965, 4971, 4979, 4981, 4985, 4987, 4991, 4995, 5001, 5005, 5007, 5010, 5015, 5019, 5025, 5033, 5038, 5044, 5051, 5054, 5058, 5060, 5063, 5066, 5070, 5072, 5075, 5078, 5080, 5081, 5085, 5089, 5093, 5097, 5101, 5103, 5104, 5112, 5122, 5129, 5133, 5136, 5137, 5141, 5144, 5148, 5152, 5156, 5160, 5164, 5168, 5174, 5176, 5178, 5180, 5182, 5184, 5186, 5188, 5190, 5192, 5198, 5203, 5211, 5217, 5223, 5229, 5234, 5239, 5244, 5247, 5253, 5258, 5263, 5268, 5273, 5277, 5281, 5288, 5295, 5299, 5303, 5307, 5311, 5316, 5323, 5327, 5331, 5336, 5340, 5345, 5349, 5352, 5355, 5360, 5362, 5364, 5369, 5372, 5373, 5375, 5378, 5383, 5385, 5386, 5387, 5389, 5391, 5393, 5395, 5396, 5398, 5400, 5402, 5404, 5406, 5408, 5410, 5412, 5414, 5415, 5418, 5419, 5422, 5427, 5430, 5431, 5433, 5435, 5441, 5448, 5450, 5454, 5457, 5463, 5470, 5473, 5476, 5479, 5482, 5485, 5486, 5489, 5491, 5494, 5497, 5499, 5502, 5506, 5509, 5512, 5515, 5517, 5519, 5521, 5523, 5524, 5527, 5529, 5533, 5535, 5539, 5545, 5554, 5561, 5566, 5572, 5576, 5577, 5581, 5587, 5589, 5593, 5599, 5601, 5603, 5607, 5610, 5612, 5616, 5619, 5624, 5627, 5629, 5632, 5634, 5635, 5637, 5638, 5642, 5644, 5650, 5656, 5657, 5660, 5664, 5668, 5672, 5676, 5680, 5684, 5688, 5691, 5694, 5697, 5701, 5705, 5713, 5715, 5718, 5720, 5724, 5726, 5728, 5731, 5733, 5735, 5738, 5740, 5742, 5744, 5746, 5749, 5752, 5755, 5757, 5759, 5761, 5764, 5766, 5769, 5772, 5776, 5780, 5782, 5783, 5785, 5789, 5793, 5795, 5799, 5803, 5804, 5811, 5820, 5825, 5827, 5829, 5831, 5834, 5836, 5840, 5842, 5846, 5848, 5850, 5852, 5854, 5858, 5862, 5864, 5869, 5873, 5877, 5881, 5883, 5885, 5888, 5891, 5893, 5895, 5899, 5902, 5903, 5905, 5909, 5911, 5915, 5917, 5919, 5923, 5927, 5929, 5933, 5937, 5942, 5944, 5948, 5949, 5952, 5954, 5956, 5960, 5962, 5964, 5966, 5968, 5974, 5982, 5986, 5990, 5994, 5996, 6002, 6006, 6010, 6012, 6014, 6018, 6022, 6024, 6030, 6034, 6036, 6040, 6042, 6044, 6046, 6048, 6050, 6052, 6054, 6056, 6065, 6075, 6087, 6091, 6100, 6105, 6111, 6116, 6121, 6137, 6139, 6141, 6145, 6151, 6155, 6160, 6165, 6170, 6174, 6175, 6177, 6180, 6183, 6186, 6188, 6189, 6191, 6192, 6194, 6195, 6197, 6199, 6200, 6204, 6207, 6211, 6215, 6219, 6223, 6226, 6230, 6234, 6238, 6242, 6252, 6256, 6266, 6272, 6278, 6282, 6287, 6295, 6303, 6310, 6316, 6322, 6333, 6344, 6351, 6358, 6368, 6378, 6391, 6397, 6403, 6409, 6415, 6421, 6427, 6434, 6440, 6444, 6452, 6458, 6465, 6472, 6478, 6486, 6492, 6499, 6504, 6509, 6516, 6525, 6530, 6535, 6540, 6545, 6555, 6562, 6568, 6575, 6580, 6587, 6593, 6599, 6604, 6612, 6618, 6625, 6632, 6645, 6651, 6659, 6667, 6677, 6686, 6690, 6694, 6699, 6705, 6710, 6715, 6720, 6726, 6732, 6737, 6743, 6749, 6755, 6761, 6769, 6775, 6780, 6781, 6784, 6787, 6789, 6793, 6797, 6801, 6805, 6809, 6813, 6817, 6818, 6820, 6824, 6826, 6828, 6830, 6832, 6834, 6836, 6838, 6840, 6842, 6844, 6846, 6848, 6850, 6852, 6854, 6856, 6858, 6862, 6863, 6867, 6868, 6874, 6876, 6880, 6882, 6883, 6887, 6888, 6890, 6894, 6904, 6911, 6913, 6915, 6918, 6920, 6922, 6925, 6927, 6929, 6933, 6934, 6940, 6941, 6944, 6946, 6948, 6950, 6953, 6955, 6959, 6963, 6965, 6966, 6970, 6971, 6973, 6975, 6977, 6978, 6982, 6986, 6990, 6992, 6996, 6997, 6999, 7001, 7003, 7007, 7009, 7011, 7012, 7015, 7018, 7021, 7023, 7025, 7027, 7030, 7032, 7034, 7038, 7042, 7044, 7046, 7050, 7052, 7053, 7057, 7059, 7060, 7064, 7068, 7070, 7071, 7075, 7077, 7078, 7082, 7084, 7085, 7088, 7089, 7091, 7095, 7103, 7111, 7119, 7127, 7130, 7131, 7133, 7137, 7138, 7142, 7146, 7150, 7154, 7158, 7160, 7161, 7165, 7169, 7173, 7174, 7176, 7178, 7180, 7182, 7187, 7191, 7195, 7200, 7205, 7210, 7212, 7216, 7222, 7228, 7231, 7234, 7237, 7240, 7243, 7245, 7248, 7252, 7257, 7262, 7266, 7268, 7270, 7272, 7274, 7276, 7278, 7280, 7282, 7284, 7286, 7288, 7290, 7292, 7294, 7296, 7298, 7300, 7302, 7304, 7306, 7308, 7310, 7312, 7314, 7316, 7318, 7320, 7322, 7324, 7326, 7328, 7330, 7332, 7334, 7336, 7338, 7340, 7342, 7344, 7346, 7348, 7350, 7352, 7354, 7356, 7358, 7360, 7362, 7364, 7366, 7368, 7370, 7372, 7374, 7376, 7378, 7380, 7382, 7384, 7386, 7388, 7390, 7392, 7394, 7396, 7398, 7400, 7402, 7404, 7406, 7408, 7410, 7412, 7414, 7416, 7418, 7420, 7422, 7424, 7426, 7428, 7430, 7432, 7434, 7436, 7438, 7440, 7442, 7444, 7446, 7448, 7450, 7452, 7454, 7456, 7458, 7460, 7462, 7464, 7466, 7468, 7470, 7472, 7474, 7476, 7478, 7480, 7482, 7484, 7486, 7488, 7490, 7492, 7494, 7496, 7498, 7500, 7502, 7504, 7506, 7508, 7510, 7512, 7514, 7516, 7518, 7520, 7522, 7524, 7526, 7528, 7530, 7532, 7534, 7536, 7538, 7540, 7542, 7544, 7546, 7548, 7550, 7552, 7554, 7556, 7558, 7560, 7562, 7564, 7566, 7568, 7570, 7572, 7574, 7576, 7578, 7580, 7582, 7584, 7586, 7588, 7590, 7592, 7594, 7596, 7598, 7600, 7602, 7604, 7606, 7608, 7610, 7612, 7614, 7616, 7618, 7620, 7622, 7624, 7626, 7628, 7630, 7632, 7634, 7636, 7638, 7640, 7642, 7644, 7646, 7648, 7650, 7652, 7654, 7656, 7658, 7660, 7662, 7664, 7666, 7668, 7670, 7672, 7674, 7676, 7678, 7680, 7682, 7684, 7686, 7688, 7690, 7692, 7694, 7696, 7698, 7700, 7702, 7704, 7706, 7708, 7710, 7712, 7714, 7716, 7718, 7720, 7722, 7724, 7726, 7728, 7730, 7732, 7734, 7736, 7738, 7740, 7742, 7744, 7746, 7748, 7750, 7752, 7754, 7756, 7758, 7760, 7762, 7764, 7766, 7768, 7770, 7772, 7774, 7776, 7778, 7780, 7782, 7784, 7786, 7788, 7790, 7792, 7794, 7796, 7798, 7800, 7802, 7804, 7806, 7808, 7810, 7812, 7814, 7816, 7818, 7820, 7822, 7824, 7826, 7828, 7830, 7832, 7834, 7836, 7838, 7840, 7842, 7844, 7846, 7848, 7850, 7852, 7854, 7856, 7858, 7860, 7862, 7864, 7866, 7868, 7870, 7872, 7874, 7876, 7878, 7880, 7882, 7884, 7886, 7888, 7890, 7892, 7894, 7896, 7898, 7900, 7902, 7904, 7906, 7908, 7910, 7912, 7914, 7916, 7918, 7920, 7922, 7924, 7926, 7928, 7930, 7932, 7934, 7936, 7938, 7940, 7942, 7944, 7946, 7948, 7950, 7952, 7954, 7956, 7958, 7960, 7962, 7964, 7966, 7968, 7970, 7972, 7974, 7976, 7978, 7980, 7982, 7984, 7986, 7988, 7990, 7992, 7994, 7996, 7998, 8000, 8002, 8004, 8006, 8008, 8010, 8012, 8014, 8016, 8018, 8020, 8022, 8024, 8026, 8028, 8030, 8032, 8034, 8036, 8038, 8040, 8042, 8044, 8046, 8048, 8050, 8052, 8054, 8056, 8058, 8060, 8062, 8064, 8066, 8068, 8070, 8072, 8074, 8076, 8078, 8080, 8082, 8084, 8086, 8088, 8090, 8092, 8094, 8096, 8098, 8100, 8102, 8104, 8106, 8108, 8110, 8112, 8114, 8116, 8118, 8120, 8122, 8124, 8126, 8128, 8130, 8132, 8134, 8136, 8138, 8140, 8142, 8144, 8146, 8148, 8150, 8152, 8154, 8156, 8158, 8160, 8162, 8164, 8166, 8168, 8170, 8172, 8174, 8176, 8178, 8180, 8182, 8184, 8186, 8188, 8190, 8192, 8194, 8196, 8198, 8200, 8202, 8204, 8206, 8208, 8210, 8212, 8214, 8216, 8218, 8220, 8222, 8224, 8226, 8228, 8230, 8232, 8234, 8236, 8238, 8240, 8242, 8244, 8246, 8248, 8250, 8252, 8254, 8256, 8258, 8260, 8262, 8264, 8266, 8268, 8270, 8272, 8274, 8276, 8278, 8280, 8282, 8284, 8286, 8288, 8290, 8292, 8294, 8296, 8298, 8300, 8302, 8304, 8306, 8308, 8310, 8312, 8314, 8316, 8318, 8320, 8322, 8324, 8326, 8328, 8330, 8332, 8334, 8336, 8338, 8340, 8342, 8344, 8346, 8348, 8350, 8352, 8354, 8356, 8358, 8360, 8362, 8364, 8366, 8368, 8370, 8372, 8374, 8376, 8378, 8380, 8382, 8384, 8386, 8388, 8390, 8392, 8394, 8396, 8398, 8400, 8402, 8404, 8406, 8408, 8410, 8412, 8414, 8416, 8418, 8420, 8422, 8424, 8426, 8428, 8430, 8432, 8434, 8436, 8438, 8440, 8442, 8444, 8446, 8448, 8450, 8452, 8454, 8456, 8458, 8460, 8462, 8464, 8466, 8468, 8470, 8472, 8474, 8476, 8478, 8480, 8482, 8484, 8486, 8488, 8490, 8492, 8494, 8496, 8498, 8500, 8502, 8504, 8506, 8508, 8510, 8512, 8514, 8516, 8518, 8520, 8522, 8524, 8526, 8528, 8530, 8532, 8534, 8536, 8538, 8540, 8542, 8544, 8546, 8548, 8550, 8552, 8554, 8556, 8558, 8560, 8562, 8564, 8566, 8568, 8570, 8572, 8574, 8576, 8578, 8580, 8582, 8584, 8586, 8588, 8590, 8592, 8594, 8596, 8598, 8600, 8602, 8604, 8606, 8608, 8610, 8612, 8614, 8616, 8618, 8620, 8622, 8624, 8626, 8628, 8630, 8632, 8634, 8636, 8638, 8640, 8642, 8644, 8646, 8648, 8650, 8652, 8654, 8656, 8658, 8660, 8662, 8664, 8666, 8668, 8670, 8672, 8674, 8676, 8678, 8680, 8682, 8684, 8686, 8688, 8690, 8692, 8694, 8696, 8698, 8700, 8702, 8704, 8706, 8708, 8710, 8712, 8714, 8716, 8718, 8720, 8722, 8724, 8726, 8728, 8730, 8732, 8734, 8736, 8738, 8740, 8742, 8744, 8746, 8748, 8750, 8752, 8754, 8756, 8758, 8760, 8762, 8764, 8766, 8768, 8770, 8772, 8774, 8776, 8778, 8780, 8782, 8784, 8786, 8788, 8790, 8792, 8794, 8796, 8798, 8800, 8802, 8804, 8806, 8808, 8810, 8812, 8814, 8816, 8818, 8820, 8822, 8824, 8826, 8828, 8830, 8832, 8834, 8836, 8838, 8840, 8842, 8844, 8846, 8848, 8850, 8852, 8854, 8856, 8858, 8860, 8862, 8864, 8866, 8868, 8870, 8872, 8874, 8876, 8878, 8880, 8882, 8884, 8886, 8888, 8890, 8892, 8894, 8896, 8898, 8900, 8902, 8904, 8906, 8908, 8910, 8912, 8914, 8916, 8918, 8920, 8922, 8924, 8926, 8928, 8930, 8932, 8934, 8936, 8938, 8940, 8942, 8944, 8946, 8948, 8950, 8952, 8954, 8956, 8958, 8960, 8962, 8964, 8966, 8968, 8970, 8972, 8974, 8976, 8978, 8980, 8982, 8984, 8986, 8988, 8990, 8992, 8994, 8996, 8998, 9000, 9002, 9004, 9006, 9008, 9010, 9012, 9014, 9016, 9018, 9020, 9022, 9024, 9026, 9028, 9030, 9032, 9034, 9036, 9038, 9040, 9042, 9044, 9046, 9048, 9050, 9052, 9054, 9056, 9058, 9060, 9062, 9064, 9066, 9068, 9070, 9072, 9074, 9076, 9078, 9080, 9082, 9084, 9086, 9088, 9090, 9092 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { 1028, 0, -1, 1029, -1, 171, -1, 172, -1, 1031, 171, -1, 1031, 172, 1030, -1, -1, 171, -1, 1338, -1, 1324, -1, 1161, -1, 1164, -1, 1165, -1, 1160, -1, 1126, -1, 1134, -1, 1135, -1, 1150, -1, 1101, -1, 1099, -1, 1318, -1, 1320, -1, 1458, -1, 1454, -1, 1455, -1, 1456, -1, 1462, -1, 1523, -1, 1526, -1, 1534, -1, 1544, -1, 1568, -1, 1538, -1, 1476, -1, 1489, -1, 1491, -1, 1493, -1, 1496, -1, 1515, -1, 1522, -1, 1506, -1, 1512, -1, 1513, -1, 1301, -1, 1323, -1, 1514, -1, 1294, -1, 1115, -1, 1122, -1, 1123, -1, 1124, -1, 1125, -1, 1104, -1, 1113, -1, 1114, -1, 1629, -1, 1630, -1, 1283, -1, 1284, -1, 1285, -1, 1541, -1, 1540, -1, 1631, -1, 1151, -1, 1156, -1, 1635, -1, 1636, -1, 1637, -1, 1498, -1, 1499, -1, 1565, -1, 1137, -1, 1507, -1, 1508, -1, 1509, -1, 1510, -1, 1511, -1, 1566, -1, 1567, -1, 1049, -1, 1032, 24, 1049, -1, 1034, -1, 1033, 24, 1034, -1, 1049, -1, 1049, 1404, 1642, -1, 1049, 1404, 4, -1, 1639, -1, 1640, 83, 1639, -1, 1640, 83, 1648, -1, 1648, 83, 1648, -1, 1640, 83, 67, -1, 1640, 83, 1640, 83, 1639, -1, 1640, 83, 1640, 83, 1648, -1, 1640, 83, 1648, 83, 1648, -1, 1640, 83, 1640, 83, 67, -1, 83, 1640, 83, 1639, -1, 83, 1640, 83, 1648, -1, 83, 1648, 83, 1648, -1, 4, -1, 1037, 4, -1, 1037, 18, -1, 158, -1, 159, -1, 157, -1, 160, -1, 162, -1, 161, -1, 1036, -1, 6, -1, 7, -1, 5, -1, 10, -1, 11, -1, 9, -1, 12, -1, 18, -1, 5, -1, 11, -1, 1038, -1, 14, -1, 13, -1, 1042, 83, 1639, -1, 4, -1, 6, -1, 7, -1, 5, -1, 10, -1, 11, -1, 9, -1, 12, -1, 14, -1, 1042, 83, 1639, -1, 66, 5, -1, 66, 11, -1, 570, -1, 939, -1, 1043, 51, 12, -1, 1043, 51, 1050, 12, -1, 1043, 54, 1044, -1, 1043, 54, 1052, 79, 1341, 80, -1, 1043, 53, 1044, -1, 1043, 53, 1052, 79, 1341, 80, -1, 1043, 59, 1044, -1, 1043, 59, 1052, 79, 1341, 80, -1, 1043, 1022, 1044, -1, 1043, 56, 1044, -1, 1043, 56, 1052, 79, 1341, 80, -1, 1043, 55, 1044, -1, 1043, 55, 1052, 79, 1341, 80, -1, 1043, 52, 1044, -1, 1043, 52, 1052, 79, 1341, 80, -1, 1044, -1, 1046, 49, 1053, -1, 1046, 1050, 49, 1053, -1, 1046, 1050, 46, 1046, 41, 1044, -1, 1046, 46, 1046, 41, 1044, -1, 1046, 50, 1047, -1, 1046, 50, 4, 1045, -1, 1046, 50, 1047, 60, 1047, -1, 1046, 50, 4, 1045, 60, 1047, -1, 1046, 50, 1047, 60, 4, 1045, -1, 1046, 50, 4, 1045, 60, 4, 1045, -1, 1046, 1050, 50, 1047, -1, 1046, 1050, 50, 4, 1045, -1, 1046, 1050, 50, 1047, 60, 1047, -1, 1046, 1050, 50, 4, 1045, 60, 1047, -1, 1046, 1050, 50, 1047, 60, 4, 1045, -1, 1046, 1050, 50, 4, 1045, 60, 4, 1045, -1, 1046, 48, 1046, -1, 1046, 48, 4, 1045, -1, 1046, 1050, 48, 1046, -1, 1046, 1050, 48, 4, 1045, -1, 1046, -1, 4, -1, 1045, 4, -1, 1046, 61, 1046, -1, 1046, 62, 1046, -1, 1046, 64, 1046, -1, 1046, 63, 1046, -1, 1046, 65, 1046, -1, 1046, 66, 1046, -1, 1046, 65, 88, 1049, 1643, -1, 1046, 66, 88, 1049, 1643, -1, 1046, 67, 1046, -1, 1046, 68, 1046, -1, 1046, 69, 1046, -1, 1046, 72, 1046, -1, 1046, 71, 1046, -1, 1046, 73, 1046, -1, 1047, -1, 1047, 1212, -1, 87, 1047, -1, 1035, -1, 1040, -1, 1047, 75, 1047, -1, 65, 1047, -1, 66, 1047, -1, 76, 1047, -1, 1051, 1047, -1, 1340, -1, 79, 1049, 80, -1, 79, 1032, 24, 1049, 80, -1, 831, 79, 1032, 24, 1049, 80, -1, 226, 1340, -1, 280, 79, 1334, 80, 380, 79, 4, 1048, 80, -1, 1054, -1, 1080, -1, 1055, -1, 15, -1, 49, 289, 614, 688, -1, 49, 416, 688, -1, -1, 1049, 41, 1049, -1, 1049, 40, 1049, -1, 1049, 38, 1049, -1, 1049, 37, 1049, -1, 1049, 39, 1049, -1, 85, 1049, -1, 1043, 51, 9, -1, 1043, 51, 1050, 9, -1, 1043, 51, 989, -1, 1043, 51, 1050, 989, -1, 1043, -1, 15, 36, 1049, -1, 85, -1, 84, -1, 1023, -1, 84, -1, 175, -1, 385, -1, 878, -1, 1340, -1, 79, 1032, 80, -1, 45, 1075, 1076, 1078, 516, -1, 469, 79, 1079, 67, 80, 94, 1062, -1, 469, 79, 1079, 1049, 80, 94, 1062, -1, 469, 79, 217, 1032, 80, 94, 1062, -1, 386, 79, 1032, 80, 94, 1062, -1, 387, 79, 1032, 80, 94, 1062, -1, 388, 79, 1049, 80, 94, 1062, -1, 929, 79, 1097, 1049, 80, 94, 1062, -1, 662, 79, 1097, 1049, 80, 94, 1062, -1, 681, 79, 1097, 1049, 80, 94, 1062, -1, 395, 79, 1097, 1049, 80, 94, 1062, -1, 909, 79, 1079, 1049, 80, 94, 1062, -1, 910, 79, 1079, 1049, 80, 94, 1062, -1, 996, 79, 1079, 1049, 80, 94, 1062, -1, 911, 79, 1079, 1049, 80, 94, 1062, -1, 912, 79, 1079, 1049, 80, 94, 1062, -1, 1004, 79, 1079, 1049, 80, 94, 1062, -1, 1005, 79, 1079, 1049, 80, 94, 1062, -1, 566, 79, 1096, 1032, 1394, 1098, 80, 94, 1062, -1, 625, 79, 1096, 1032, 1394, 1098, 80, 94, 1062, -1, 847, 79, 80, 94, 1062, -1, 497, 79, 80, 94, 1062, -1, 751, 79, 80, 94, 1062, -1, 840, 79, 80, 94, 1062, -1, 721, 79, 1049, 80, 94, 1062, -1, 478, 79, 80, 94, 1062, -1, 547, 1060, 94, 1062, -1, 616, 1060, 94, 1062, -1, 617, 1061, 94, 1062, -1, 613, 1061, 94, 1062, -1, 722, 79, 1049, 24, 1049, 80, 1057, 1059, 94, 1062, -1, 546, -1, 615, -1, 236, 1056, -1, -1, 816, -1, 247, -1, 1058, 718, -1, -1, 79, 1049, 1058, 718, 80, -1, 79, 1049, 80, 1059, -1, 79, 1049, 1058, 718, 80, -1, 79, 1049, 1058, 718, 24, 1032, 80, -1, 79, 1032, 80, 1059, -1, 3, -1, 1063, -1, 79, 3, 1067, 80, -1, 79, 1067, 80, -1, -1, 29, 1065, -1, 1066, -1, 1065, 24, 1066, -1, 3, 178, 1063, -1, 1068, 1394, 1074, -1, -1, 298, 185, 1032, -1, 835, -1, 303, -1, 778, -1, 556, -1, 1049, -1, 88, 1049, 1643, -1, 475, 831, -1, 1071, 1070, -1, 1069, 46, 1072, 41, 1072, -1, 1069, 1072, -1, -1, 1073, -1, 1049, -1, -1, 1077, -1, 1076, 1077, -1, 44, 1049, 43, 1049, -1, 42, 1049, -1, -1, 175, -1, -1, 72, 79, 1049, 24, 1049, 80, -1, 469, 79, 1079, 67, 80, -1, 469, 79, 1079, 1049, 80, -1, 469, 79, 217, 1032, 80, -1, 469, 79, 351, 1032, 80, -1, 386, 79, 1032, 80, -1, 387, 79, 1032, 80, -1, 388, 79, 1049, 80, -1, 929, 79, 1097, 1049, 80, -1, 662, 79, 1097, 1049, 80, -1, 681, 79, 1097, 1049, 80, -1, 395, 79, 1097, 1049, 80, -1, 909, 79, 1079, 1049, 80, -1, 910, 79, 1079, 1049, 80, -1, 996, 79, 1079, 1049, 80, -1, 911, 79, 1079, 1049, 80, -1, 912, 79, 1079, 1049, 80, -1, 1004, 79, 1079, 1049, 80, -1, 1005, 79, 1079, 1049, 80, -1, 567, 79, 1049, 80, -1, 566, 79, 1096, 1032, 1394, 1098, 80, -1, 246, 79, 1049, 24, 1049, 24, 1049, 80, -1, 603, 79, 1049, 80, -1, 1086, -1, 1085, -1, 1088, -1, 1089, -1, 1082, -1, 1083, -1, 1084, -1, 427, 79, 1049, 178, 1181, 80, -1, 252, 79, 1049, 24, 1049, 24, 1049, 24, 1049, 80, -1, 33, 79, 1049, 24, 1049, 80, -1, 196, 79, 1049, 24, 1181, 80, -1, 196, 79, 1049, 357, 1209, 80, -1, 767, 79, 1046, 49, 1049, 80, -1, 1091, 79, 1092, 80, -1, 966, 79, 1387, 80, -1, 484, 79, 1049, 80, -1, 1018, 79, 1049, 80, -1, 957, 79, 1049, 80, -1, 958, 79, 1049, 80, -1, 690, 79, 1049, 80, -1, 1008, 79, 1049, 80, -1, 1008, 79, 1049, 24, 1049, 80, -1, 787, 79, 1049, 80, -1, 855, 79, 1049, 80, -1, 563, 79, 1184, 24, 1049, 80, -1, 687, 79, 1049, 80, -1, 679, 79, 1049, 80, -1, 577, 79, 1049, 80, -1, 485, 79, 1093, 80, -1, 486, 79, 1093, 80, -1, 378, 79, 1093, 80, -1, 922, 79, 1093, 80, -1, 378, 79, 1049, 24, 1049, 80, -1, 922, 79, 1049, 24, 1049, 80, -1, 960, 79, 1094, 80, -1, 959, 79, 1094, 80, -1, 538, 79, 1643, 236, 1049, 80, -1, 389, 79, 1049, 80, -1, 211, 79, 1179, 80, -1, 361, 79, 1179, 80, -1, 190, 79, 1032, 80, -1, 190, 79, 1032, 357, 1209, 80, -1, 638, 79, 1049, 24, 1049, 80, -1, 638, 79, 1049, 80, -1, 637, 79, 1049, 80, -1, 1641, 79, 1095, 80, -1, 1640, 83, 1641, 79, 1095, 80, -1, 1081, -1, 88, 79, 1049, 24, 1049, 80, -1, 88, 79, 1049, 24, 1049, 24, 1032, 80, -1, 360, -1, 360, 79, 80, -1, 360, 79, 5, 80, -1, 359, -1, 359, 79, 80, -1, 359, 79, 5, 80, -1, 358, -1, 358, 79, 80, -1, 938, 79, 80, -1, 938, 79, 5, 80, -1, 715, 79, 80, -1, 715, 79, 5, 80, -1, 1087, 1090, -1, 200, -1, 271, -1, 272, -1, 476, 79, 80, -1, 476, 79, 5, 80, -1, 199, 1090, -1, 474, 79, 80, -1, 198, -1, 198, 79, 80, -1, 79, 5, 80, -1, 79, 80, -1, -1, 926, -1, 927, -1, 1049, 24, 1049, -1, 1049, 24, 1049, 24, 1049, -1, 1049, 236, 1049, -1, 1049, 236, 1049, 233, 1049, -1, 1049, 24, 88, 1049, 1643, -1, 1643, 24, 1049, 24, 1049, -1, -1, 1033, -1, -1, 217, -1, 351, -1, -1, 175, -1, 217, -1, 351, -1, -1, 324, 4, -1, 1353, 236, 1410, 1359, 1394, 1384, -1, 1353, 1100, 1359, -1, 1430, 236, 1407, -1, 236, 1430, 357, 1407, -1, 1352, 1329, 1407, 325, 1102, 1359, 1394, 1384, -1, 1103, -1, 1102, 24, 1103, -1, 1179, 59, 1337, -1, 197, 814, 982, 1166, 1640, 1105, -1, 197, 814, 765, 1166, 1640, 1107, -1, 1106, -1, 1105, 24, 1106, -1, -1, 682, 1228, 1041, -1, 683, 1228, 1041, -1, 684, 1228, 1041, -1, 664, 1228, 1041, -1, 667, 1228, 1041, -1, 666, 1228, 1041, -1, 665, 1228, 1041, -1, 670, 1228, 1041, -1, 1108, -1, 1107, 24, 1108, -1, -1, 982, 1228, 1227, -1, 983, 1228, 5, -1, 1020, 1228, 79, 1120, 80, -1, 810, 1228, 4, -1, 1112, -1, 1109, 24, 1112, -1, 5, -1, 1110, 24, 5, -1, 213, 982, 1228, 79, 1110, 80, -1, -1, 982, 1228, 1227, -1, 983, 1228, 5, 1111, -1, 1020, 1228, 79, 1120, 80, -1, 176, 814, 982, 1640, 1105, -1, 176, 814, 765, 1640, 1109, -1, 176, 814, 765, 1640, 883, 96, 79, 1121, 80, 92, 79, 1120, 80, -1, 176, 814, 765, 602, 79, 1121, 80, 96, 79, 1121, 80, -1, 220, 814, 982, 1321, 1640, -1, 220, 814, 765, 1321, 1640, -1, 197, 954, 1166, 1640, 1116, 1118, -1, 1117, -1, 1116, 24, 1117, -1, -1, 632, 1228, 5, -1, 627, 1228, 4, 1157, -1, 809, 1228, 5, -1, 823, 1228, 5, -1, 917, 1228, 5, -1, 918, 1228, 5, -1, 771, 1228, 1223, -1, 815, 1228, 79, 1121, 80, -1, 1020, 1228, 79, 1120, 80, -1, 1131, 1228, 1209, -1, 86, 1228, 1206, -1, 1133, -1, 452, 1228, 4, -1, 1292, -1, 785, 1228, 5, -1, 325, 1527, -1, 325, 997, 1527, -1, 997, 1527, -1, -1, 997, 1527, -1, -1, 4, -1, 1120, 1219, 4, -1, 4, -1, 1121, 24, 4, -1, 176, 954, 1640, 1562, 1116, 1119, -1, 176, 954, 175, 1562, 1116, 1119, -1, 176, 954, 1640, 310, 569, 347, 1640, -1, 176, 954, 1640, 1497, -1, 220, 954, 1321, 1640, 1158, -1, 197, 818, 759, 1640, -1, 220, 818, 759, 1640, -1, 197, 1127, 1166, 1128, 1129, -1, 203, -1, 319, -1, 1640, -1, 1130, -1, -1, 1132, -1, 1130, 1132, -1, 431, -1, 190, 325, -1, 1229, 1131, 1228, 1209, -1, 1229, 86, 1228, 1206, -1, 809, 1228, 5, -1, 771, 1228, 1223, -1, 1133, -1, 1292, -1, 511, 1228, 5, -1, 304, 734, -1, 304, 370, -1, 220, 1127, 1321, 1128, -1, 176, 1127, 1136, 1562, 1130, -1, 3, -1, -1, 1138, 1139, 249, 4, 1140, 96, 342, 1429, 1418, 1141, 1366, 1369, 1142, 1144, 1147, -1, 270, 481, -1, 170, 1372, -1, -1, 626, -1, 845, -1, -1, 247, -1, 312, -1, -1, 190, 325, 1210, -1, -1, 247, 5, 1143, -1, 237, 5, 1143, -1, 269, -1, 835, -1, -1, 79, 80, -1, 79, 1145, 80, -1, 1146, -1, 1145, 24, 1146, -1, 1179, -1, 15, -1, -1, 325, 1148, -1, 1149, -1, 1148, 24, 1149, -1, 1179, 59, 1337, -1, 356, 1128, -1, 197, 1296, 1152, 940, 1153, 233, 1155, 1154, -1, 197, 1296, 1152, 940, 1128, 83, 1153, 233, 1155, 1154, -1, 197, 1296, 1152, 940, 1153, 233, 1128, 83, 1155, 1154, -1, 197, 1296, 1152, 940, 1128, 83, 1153, 233, 1128, 83, 1155, 1154, -1, 784, -1, -1, 3, -1, 1644, -1, 1024, 1590, -1, -1, 3, -1, 1644, -1, 220, 1152, 940, 1153, 1157, -1, 220, 1152, 940, 1128, 83, 1153, 1157, -1, 234, -1, -1, 234, -1, 302, -1, -1, 952, -1, -1, 197, 1159, 342, 1166, 1429, 50, 1429, -1, 197, 1159, 342, 1166, 1429, 79, 50, 1429, 80, -1, 197, 1159, 342, 1166, 1429, 79, 1167, 80, 1220, 1231, -1, 197, 1159, 342, 1166, 1429, 79, 1167, 80, 1220, 1231, 1404, 1338, -1, 197, 1159, 342, 1166, 1429, 1222, 1231, 1404, 1338, -1, 197, 1159, 342, 1166, 1429, 1230, 1404, 1338, -1, 197, 1159, 342, 1166, 1429, 1338, -1, 197, 1159, 342, 1166, 1429, 178, 1338, -1, 381, -1, -1, 920, -1, 259, -1, 307, -1, 210, -1, 197, 1162, 555, 3, 821, 1163, 879, 4, -1, 220, 555, 1321, 3, -1, 246, 1050, 226, -1, -1, 1168, -1, 1167, 24, 1168, -1, 1174, -1, 1305, 300, 90, 1315, 79, 1244, 80, 1315, 1622, -1, 1422, 1303, 1315, 79, 1308, 80, 1312, -1, 351, 1421, 1303, 1315, 79, 1308, 80, 1312, -1, 194, 1306, 351, 1421, 1303, 1315, 79, 1308, 80, 1312, -1, 194, 1307, 191, 79, 1049, 80, -1, 1305, 235, 90, 1303, 79, 1244, 80, 308, 1429, 79, 1244, 80, 1172, 1169, -1, 1169, 1170, -1, -1, 92, 354, 1171, -1, 92, 213, 1171, -1, 315, -1, 187, -1, 325, 12, -1, 710, 376, -1, 325, 211, -1, 280, 1173, -1, -1, 872, -1, 32, -1, 745, -1, 1179, 1185, 1214, 1558, -1, 1179, 1185, 1175, 178, 79, 1049, 80, 1178, 1176, 1558, -1, 237, 383, -1, -1, 1176, 1177, -1, -1, 85, 12, -1, 12, -1, 351, 90, -1, 1218, 90, -1, 351, -1, 452, 4, -1, 578, 5, -1, 366, -1, 340, -1, -1, 1639, -1, 1640, 83, 1639, -1, 1640, 83, 1640, 83, 1639, -1, 1174, -1, 1180, 24, 1174, -1, 87, 1202, -1, 190, 1202, 1205, -1, 1183, 1199, -1, 719, 1197, -1, 210, 1197, -1, 871, 1182, -1, 353, 1182, -1, 219, -1, 259, -1, -1, 487, -1, 484, -1, 957, -1, 487, -1, 484, -1, 957, -1, 1188, 1194, 1203, 1204, -1, 1189, 1196, 1203, 1204, -1, 719, 1197, 1203, 1204, -1, 210, 1197, 1203, 1204, -1, 415, -1, 416, -1, 1190, 1199, -1, 1191, -1, 190, 1201, 1205, 1211, 1213, -1, 363, 1200, 1205, 1211, 1213, -1, 1193, 1202, -1, 1192, 1202, 1205, 1211, 1213, -1, 87, 1201, -1, 362, 1200, -1, 4, -1, 410, 1195, -1, 520, 79, 1186, 80, 1205, 1211, 1213, -1, 325, 79, 1186, 80, 1205, 1211, 1213, -1, 1187, -1, 1186, 24, 1187, -1, 4, -1, 18, -1, 345, -1, 328, -1, 283, -1, 259, -1, 182, -1, 230, -1, 219, -1, 307, -1, 219, 299, -1, 307, 299, -1, 487, -1, 958, -1, 957, -1, 484, -1, 1018, 1198, -1, 346, -1, 955, -1, 284, -1, 275, -1, 344, -1, 183, -1, 282, -1, 274, -1, 79, 5, 80, -1, -1, 79, 5, 80, -1, -1, 79, 5, 24, 5, 80, -1, 79, 5, 80, -1, -1, 79, 5, 24, 5, 80, -1, 79, 5, 80, -1, -1, 79, 5, 80, -1, -1, 79, 5, 80, -1, -1, 79, 1039, 80, -1, 1200, -1, -1, 1200, -1, -1, 353, -1, 871, -1, -1, 372, -1, -1, 87, -1, -1, 3, -1, 4, -1, 1025, 4, 1025, -1, 1025, 4, 1025, -1, 5, -1, 3, -1, 4, -1, 87, -1, 1209, -1, 211, -1, 1131, 1209, -1, -1, 86, 1206, -1, 1212, -1, -1, 1214, 1215, -1, -1, 1050, 12, -1, 12, -1, 211, 1216, -1, 737, 1216, -1, 394, -1, 351, 90, -1, 1218, 90, -1, 351, -1, 452, 4, -1, 92, 354, 1086, -1, 578, 5, -1, 1086, -1, 1217, -1, 1038, -1, 65, 1039, -1, 66, 1039, -1, -1, 300, -1, 24, -1, -1, 1222, -1, -1, 1225, -1, 1225, 1221, -1, 1221, -1, 1225, 24, 1222, -1, 211, -1, 843, -1, 15, -1, 1227, -1, 4, -1, 211, -1, 943, 1228, 4, -1, 509, 1228, 4, -1, 627, 1228, 1224, 1157, -1, 532, 1228, 79, 1049, 80, -1, 785, 1228, 5, -1, 413, 1228, 5, -1, 944, 1228, 5, -1, 809, 1228, 5, -1, 458, 1228, 4, -1, 834, 1228, 1282, -1, 917, 1228, 5, -1, 988, 1228, 9, -1, 1229, 1131, 1228, 1209, -1, 1229, 86, 1228, 1206, -1, 452, 1228, 4, -1, 771, 1228, 1223, -1, 373, 1228, 1227, -1, 394, 1228, 1275, -1, 1133, -1, 518, 1228, 1227, -1, 971, 1228, 5, -1, 779, 1228, 5, -1, 698, 1228, 5, -1, 1226, -1, 742, 1228, 5, -1, 725, -1, 1640, -1, 4, -1, 175, -1, 59, -1, -1, 211, -1, -1, 1236, -1, 1238, -1, 1239, -1, 1237, -1, 1230, 1240, -1, 1240, -1, 1232, -1, 1234, 298, 941, 1233, 748, 392, -1, 1041, -1, 392, -1, 1235, -1, 298, 185, 303, 79, 80, -1, 298, 185, 303, 79, 1049, 80, -1, 298, 185, 303, 451, 79, 1244, 80, -1, 298, 185, 572, 79, 1049, 80, 1245, 1273, -1, 298, 185, 572, 79, 1049, 80, 1245, 1273, 1248, -1, 298, 185, 422, 79, 1049, 80, 1245, 1273, 1254, -1, 298, 185, 422, 451, 79, 1244, 80, 1245, 1273, 1254, -1, 298, 185, 90, 79, 1244, 80, 1245, 1273, -1, 298, 185, 90, 79, 1244, 80, 1245, 1273, 1248, -1, 298, 185, 90, 79, 80, 1245, 1273, -1, 298, 185, 90, 79, 80, 1245, 1273, 1248, -1, 298, 185, 303, 79, 1049, 80, 1245, 1273, 1251, -1, 298, 185, 303, 451, 79, 1244, 80, 1245, 1273, 1251, -1, -1, 1241, -1, 298, 185, 192, 79, 1243, 80, -1, 298, 185, 192, 79, 1243, 24, 1242, 80, -1, 1243, -1, 1242, 24, 1243, -1, 1639, -1, 79, 1244, 80, -1, 1639, -1, 1244, 24, 1639, -1, 1246, -1, 1247, -1, 924, 185, 303, 79, 1049, 80, 924, 951, 1261, -1, 924, 185, 303, 451, 79, 1244, 80, 924, 951, 1261, -1, 924, 185, 572, 79, 1049, 80, 924, 951, 1258, -1, 924, 185, 422, 79, 1049, 80, 924, 951, 1264, -1, 924, 185, 422, 451, 79, 1244, 80, 924, 951, 1264, -1, 924, 185, 90, 79, 1244, 80, 924, 951, 1258, -1, -1, 924, 185, 303, 79, 1049, 80, -1, 924, 185, 303, 451, 79, 1244, 80, -1, 924, 185, 572, 79, 1049, 80, 1274, -1, 924, 185, 422, 79, 1049, 80, -1, 924, 185, 422, 451, 79, 1244, 80, -1, 924, 185, 90, 79, 1244, 80, 1274, -1, 79, 1249, 80, -1, 1250, -1, 1249, 24, 1250, -1, 298, 1429, 1270, 1257, -1, 79, 1252, 80, -1, 1253, -1, 1252, 24, 1253, -1, 298, 1429, 361, 620, 956, 1269, 1270, 1257, -1, 79, 1255, 80, -1, 1256, -1, 1255, 24, 1256, -1, 298, 1429, 361, 49, 1267, 1270, 1257, -1, 1258, -1, 1261, -1, 1264, -1, -1, 79, 1259, 80, -1, 1260, -1, 1259, 24, 1260, -1, 924, 1429, -1, 79, 1262, 80, -1, 1263, -1, 1262, 24, 1263, -1, 924, 1429, 361, 620, 956, 1269, -1, 79, 1265, 80, -1, 1266, -1, 1265, 24, 1266, -1, 924, 1429, 361, 49, 1267, -1, 79, 1268, 80, -1, 79, 211, 80, -1, 1049, -1, 1268, 24, 1049, -1, 79, 1271, 80, -1, 281, -1, -1, 578, 5, -1, 1272, -1, 1271, 24, 1272, -1, 1049, -1, 281, -1, 748, 5, -1, -1, 925, 5, -1, -1, 5, -1, 11, -1, 1277, -1, 1278, -1, 1279, -1, 1280, -1, -1, 298, 185, 572, 1281, 1273, -1, 298, 185, 90, 5, 1281, 1273, -1, 298, 185, 303, 1281, 1273, 1251, -1, 298, 185, 303, 451, 5, 1281, 1273, 1251, -1, 298, 185, 422, 1281, 1273, 1254, -1, 298, 185, 422, 451, 5, 1281, 1273, 1254, -1, 924, 185, 303, 924, 951, 1261, -1, 924, 185, 303, 451, 5, 924, 951, 1261, -1, 924, 185, 572, 1274, -1, 924, 185, 90, 5, 1274, -1, 924, 185, 422, 924, 951, 1264, -1, 924, 185, 422, 451, 5, 924, 951, 1264, -1, -1, 795, -1, 455, -1, 510, -1, 457, -1, 211, -1, 197, 373, 1166, 1640, 1286, 1276, -1, 220, 373, 1321, 1640, -1, 176, 373, 1640, 174, 1293, 1322, -1, 176, 373, 1640, 1290, -1, 176, 373, 1640, 1550, -1, 1288, -1, -1, 1289, -1, 1289, 1287, -1, 1287, -1, 1289, 24, 1288, -1, 627, 1228, 1224, 1157, -1, 771, 1228, 1223, -1, 972, 1228, 5, -1, 408, 1228, 9, -1, 698, 1228, 5, -1, 1291, -1, 1290, 24, 1291, -1, 1562, 1287, -1, 1229, 373, 1228, 1640, -1, 1229, 373, 1228, 12, -1, 342, -1, -1, 197, 1296, 1297, 1000, 1298, 1299, 1300, 178, 1295, -1, 1338, -1, 38, 312, -1, -1, 700, -1, -1, 1429, -1, 79, 1244, 80, -1, -1, 944, 59, 5, -1, -1, 197, 1302, 248, 1166, 1433, 1315, 92, 1429, 79, 1308, 80, 1312, 1231, -1, 351, -1, -1, 1304, -1, -1, 1640, -1, 194, 1306, -1, -1, 1307, -1, -1, 1640, -1, 1309, -1, 1308, 24, 1309, -1, 1639, 1311, 1398, 1310, -1, -1, 578, 5, -1, 79, 5, 80, -1, -1, -1, 1313, -1, 1314, -1, 1313, 1314, -1, 564, -1, 626, -1, 413, 1228, 5, -1, 452, 4, -1, 919, 79, 1244, 80, -1, 1011, -1, 369, 744, 4, -1, 1316, -1, 1556, -1, 483, 1228, 5, -1, 586, 1228, 5, -1, 1002, 1228, 5, -1, 698, 1228, 5, -1, 1226, -1, -1, 1316, -1, 357, 418, -1, 357, 572, -1, 952, -1, 700, -1, -1, 220, 1317, 1319, 1321, 1322, 1563, -1, 342, -1, 947, -1, 220, 1297, 1000, 1321, 1322, 1563, -1, -1, 246, 226, -1, 1429, -1, 1322, 24, 1429, -1, 220, 248, 1640, 92, 1429, -1, 1333, 1329, 1328, 1325, 1330, -1, 1332, 1329, 1328, 1325, -1, 1411, 1326, -1, 1411, 79, 80, 1326, -1, 1411, 79, 1334, 80, 1326, -1, 1411, 325, 1102, -1, 1327, 1335, -1, 1338, -1, 995, -1, 361, -1, 96, -1, -1, 247, -1, -1, 92, 508, 90, 354, 1102, -1, -1, -1, 312, -1, 167, 1372, -1, 252, -1, 166, 1372, -1, 1179, -1, 1334, 24, 1179, -1, 79, 1336, 80, -1, 1335, 24, 79, 1336, 80, -1, 1337, -1, 1336, 24, 1337, -1, -1, 1049, -1, 211, -1, 1341, 1331, -1, 1340, -1, 1339, -1, 1341, 1362, -1, 79, 1341, 80, -1, 79, 1340, 80, -1, 1343, 1385, -1, 1345, 1385, -1, 1344, 1385, -1, 1351, 1400, 1405, 1363, -1, 1351, 1400, 1405, 1363, 236, 221, 1359, 1064, -1, 1342, -1, 1348, -1, 1354, -1, 1349, -1, 1350, -1, 1345, 1395, -1, 1345, 1394, 1361, -1, 1345, 1357, 1346, -1, 1344, 1357, 1346, -1, 1347, 1357, 1346, -1, 1342, -1, 1354, -1, 1340, -1, 1348, -1, 1349, -1, 1346, -1, 1342, 1395, -1, 1342, 1394, 1361, -1, 1354, 1395, -1, 1354, 1394, 1361, -1, 1340, 1395, -1, 1340, 1394, 1361, -1, 322, -1, 163, 1372, -1, 354, -1, 164, 1372, -1, 213, -1, 165, 1372, -1, 1351, 1400, 1405, 1363, 236, 1406, 1359, 1388, 1399, 1064, -1, 27, -1, 28, -1, 26, -1, 25, -1, 1355, 1358, -1, 1356, -1, -1, 175, -1, 217, -1, 351, -1, -1, 367, 1360, 1049, -1, -1, 8, -1, 267, 1383, 730, 1383, -1, 267, 1383, -1, 267, 1383, 24, 1383, -1, 96, 297, 4, 1211, 1366, 1369, -1, 96, 507, 4, -1, 96, 1364, -1, -1, 1362, -1, 1364, 24, 1365, -1, 1365, -1, 15, -1, 1638, -1, 1469, 1367, -1, -1, 1367, 1368, -1, 1368, -1, 343, 185, 4, -1, 293, 224, 185, 4, -1, 224, 185, 4, -1, 225, 185, 4, -1, 269, 1370, -1, -1, 1370, 1371, -1, 1371, -1, 343, 185, 4, -1, 339, 185, 4, -1, 1373, 169, -1, 1374, -1, 1373, 24, 1374, -1, -1, 1376, -1, 1374, 1376, -1, 3, -1, 1375, 3, -1, 1375, 24, 3, -1, 123, -1, 106, 79, 1378, 80, -1, 101, 79, 1436, 1435, 3, 80, -1, 105, 79, 5, 80, -1, 103, 79, 5, 80, -1, 104, 79, 5, 5, 80, -1, 107, -1, 108, 79, 3, 80, -1, 108, 79, 1025, 4, 1025, 80, -1, 109, 79, 1436, 1442, 80, -1, 109, 79, 1436, 1437, 80, -1, 110, -1, 111, 79, 1436, 1435, 80, -1, 115, 79, 1379, 80, -1, 112, 79, 1436, 1443, 80, -1, 119, 79, 1436, 1443, 80, -1, 113, 79, 1436, 1443, 80, -1, 114, 79, 1436, 1443, 80, -1, 102, 79, 1436, 1443, 80, -1, 118, 79, 1436, 1443, 80, -1, 132, 79, 1436, 1443, 80, -1, 120, 79, 1436, 1443, 80, -1, 121, 79, 1436, 1443, 80, -1, 122, 79, 1436, 1443, 80, -1, 127, -1, 128, -1, 140, 1377, -1, 141, 1377, -1, 142, 1377, -1, 143, 1377, -1, 144, 1377, -1, 145, 1377, -1, 146, 1377, -1, 147, 1377, -1, 148, 1377, -1, 116, 79, 1380, 80, -1, 117, -1, 130, -1, 131, -1, 124, -1, 901, 79, 1444, 80, -1, 139, 79, 1444, 80, -1, 125, -1, 135, -1, 149, 79, 1207, 1219, 1208, 80, -1, 134, 79, 1436, 1443, 80, -1, 152, 79, 1436, 1443, 80, -1, 150, -1, 126, 79, 3, 80, -1, 133, 79, 5, 80, -1, 742, 79, 5, 80, -1, 156, -1, 136, 79, 1436, 1439, 1219, 1381, 1382, 80, -1, 151, 79, 5, 80, -1, 154, 79, 1436, 1435, 80, -1, 3, -1, 171, -1, 99, -1, 1, -1, 155, -1, 153, -1, 79, 1436, 80, -1, -1, 1014, -1, 913, -1, 558, -1, 713, -1, 211, -1, 392, -1, 234, -1, 713, -1, 298, -1, 843, -1, 137, -1, 572, -1, 138, -1, 1219, 1381, -1, -1, 5, -1, 13, -1, -1, 1361, -1, -1, 233, 354, 1386, -1, -1, 1006, 11, -1, 1006, 5, -1, 716, -1, 717, -1, 1049, -1, 1049, 236, 1049, -1, 184, 1049, 236, 1049, -1, 265, 1049, 236, 1049, -1, 348, 1049, 236, 1049, -1, 184, 236, 1049, -1, 265, 236, 1049, -1, 348, 236, 1049, -1, -1, 240, 185, 1389, -1, 1390, 1393, -1, 1391, -1, 1390, 24, 1391, -1, 1049, 1392, -1, -1, 179, -1, 214, -1, -1, 369, 825, -1, 1395, -1, -1, 294, 185, 1396, -1, 1397, -1, 1396, 24, 1397, -1, 1049, 1398, -1, -1, 179, -1, 214, -1, -1, 241, 1049, -1, 1401, -1, -1, 1402, -1, 1402, 1402, -1, 175, -1, 217, -1, 351, -1, 336, -1, 1049, -1, 1049, 1642, -1, 1049, 178, 1642, -1, 1049, 1404, 4, -1, 67, -1, 178, -1, -1, 1403, -1, 1405, 24, 1403, -1, 1407, -1, 1408, -1, 1407, 24, 1408, -1, 1409, -1, 1446, -1, 1410, -1, 1417, -1, 1340, -1, 79, 1407, 80, -1, 1429, -1, 1429, 1419, -1, 1429, 1419, 1428, -1, 1429, 1419, 1415, -1, 1429, 1419, 1415, 1412, -1, 1429, 1419, 1415, 1428, -1, 1429, 1419, 1415, 1412, 1428, -1, 1429, 1415, -1, 1429, 1415, 1412, -1, 1429, 1415, 1428, -1, 1429, 1415, 1412, 1428, -1, 1429, 1428, -1, 1429, 178, 1640, -1, 1429, 1419, 178, 1640, -1, 1429, 1415, 178, 1640, -1, 1429, 1415, 1412, 178, 1640, -1, 1429, 1419, 1415, 178, 1640, -1, 1429, 1419, 1415, 1412, 178, 1640, -1, 1429, 178, 1640, 1428, -1, 1429, 1419, 178, 1640, 1428, -1, 1429, 1415, 178, 1640, 1428, -1, 1429, 1415, 1412, 178, 1640, 1428, -1, 1429, 1419, 1415, 178, 1640, 1428, -1, 1429, 1419, 1415, 1412, 178, 1640, 1428, -1, 1429, 1640, -1, 1429, 1419, 1640, -1, 1429, 1640, 1428, -1, 1429, 1419, 1640, 1428, -1, 1429, 1415, 1412, 1640, -1, 1429, 1419, 1415, 1412, 1640, -1, 1429, 1415, 1412, 1640, 1428, -1, 1429, 1419, 1415, 1412, 1640, 1428, -1, 1429, 1415, 1640, -1, 1429, 1419, 1415, 1640, -1, 1429, 1415, 1640, 1428, -1, 1429, 1419, 1415, 1640, 1428, -1, 1429, 1418, -1, 857, 79, 5, 80, -1, 5, -1, 11, -1, -1, 175, -1, 403, -1, 584, -1, 850, 1416, 1414, 79, 1413, 80, -1, 411, -1, -1, 1340, 1640, -1, 1340, 178, 1640, -1, 1419, -1, -1, 298, 79, 1375, 80, -1, 234, -1, 247, -1, 1422, -1, -1, 90, -1, 248, -1, -1, 233, 35, -1, 233, 294, 185, -1, 233, 240, 185, -1, 3, -1, 300, -1, 1424, -1, 1425, 24, 1424, -1, 1425, -1, -1, 356, 1422, 1423, 79, 1426, 80, -1, 1420, 1422, 1423, 79, 1425, 80, -1, 1427, -1, 1427, 1428, -1, 1433, -1, 1434, -1, 1431, -1, 1430, 24, 1431, -1, 1640, 1432, -1, 1640, 83, 1640, 1432, -1, 83, 67, -1, -1, 1640, -1, 1640, 83, 1640, -1, 1640, 83, 1648, -1, 83, 1640, -1, 83, 1648, -1, 1433, 1436, -1, 1024, 3, -1, -1, 1435, -1, 1437, 1438, 1435, -1, 24, -1, -1, 1435, -1, 79, 1437, 80, -1, 79, 1437, 80, -1, 1440, -1, 1441, 1438, 1440, -1, 1441, 1438, 1435, -1, 79, 1441, 80, -1, 79, 1437, 1438, 1441, 80, -1, 1441, 1438, 79, 1437, 1438, 1441, 80, -1, 1441, -1, 1437, 1438, 1441, -1, 1435, -1, 79, 1437, 80, -1, 1443, 1438, 1435, -1, 1443, 1438, 79, 1437, 80, -1, 5, 1438, 1444, -1, 5, -1, 92, 1049, -1, 357, 79, 1334, 80, -1, 1408, 1449, 1447, -1, 1408, 1449, 1447, 92, 1049, -1, 1408, 1449, 1447, 357, 79, 1334, 80, -1, 1408, 1452, 1447, 1445, -1, 1408, 32, 35, 1447, 1445, -1, 1408, 32, 296, 35, 1447, 1445, -1, 1408, 32, -1, 1408, 1448, 1447, -1, 1409, -1, 1409, 32, -1, 289, 1451, -1, 289, 1450, 35, -1, 35, -1, 30, 35, -1, 34, 35, -1, 30, -1, -1, 32, 1453, 35, -1, 33, 1453, 35, -1, 31, 1453, 35, -1, 33, 1453, 35, -1, 31, 1453, 35, -1, 296, -1, -1, 197, 1296, 534, 1640, 92, 1460, 1457, -1, 197, 1296, 534, 1640, 92, 4, 357, 168, 1372, -1, 176, 534, 1640, 174, 1460, 1457, -1, 220, 534, 1429, -1, 347, 1460, -1, -1, 1459, 1429, 1475, -1, 1459, 1460, -1, 1459, 406, 1460, -1, 1459, 534, 1460, -1, 1459, 535, 1460, -1, 1459, 536, 1460, -1, 1459, 755, 1460, -1, 1459, 748, 1460, -1, 1459, 551, 59, 1461, 1460, -1, 228, -1, 215, -1, 214, -1, 1338, -1, 1099, -1, 1324, -1, 1101, -1, 964, -1, 609, -1, 326, 1625, 947, 1473, 1474, -1, 326, 1463, 1466, 1474, -1, 326, 1625, 1469, 1472, 1429, 1473, 1474, -1, 326, 342, 907, 1473, 1474, -1, 326, 301, 907, 1473, 1474, -1, 326, 555, 907, 1473, 1474, -1, 326, 965, 1473, 1474, -1, 326, 860, 907, 1474, -1, 326, 1468, 997, 1474, -1, 326, 319, -1, 326, 197, 1470, 1166, 1128, -1, 326, 197, 342, 1429, -1, 326, 197, 1000, 1429, -1, 326, 197, 301, 1429, -1, 326, 197, 555, 1429, -1, 326, 1007, 1464, -1, 326, 524, 1464, -1, 326, 469, 79, 67, 80, 1007, -1, 326, 469, 79, 67, 80, 524, -1, 326, 565, 1465, -1, 326, 1131, 1474, -1, 326, 963, 1474, -1, 326, 448, 1474, -1, 326, 743, 1474, 1614, -1, 326, 1471, 1472, 1429, 1473, 1359, -1, 326, 1625, 774, -1, 326, 946, 1474, -1, 326, 1468, 907, 1474, -1, 326, 954, 1466, -1, 326, 197, 954, 1640, -1, 326, 1467, 519, -1, 326, 772, -1, 326, 838, -1, 326, 197, 373, 1640, -1, 204, -1, 320, -1, 267, 5, 24, 5, -1, 267, 5, -1, -1, 1492, -1, 233, 201, -1, 233, 201, 79, 80, -1, 907, -1, -1, -1, 916, -1, 564, -1, 864, -1, 626, -1, -1, 451, -1, 543, -1, 203, -1, 319, -1, 248, -1, 585, -1, 263, -1, 236, -1, 49, -1, -1, 1472, 1128, -1, -1, 50, 4, -1, 50, 4, 60, 4, -1, 367, 1049, -1, -1, 4, -1, 1639, -1, 197, 991, 1166, 1477, 1480, -1, 197, 991, 1166, 1477, 1479, 1480, -1, 1478, -1, 1477, 24, 1478, -1, 1485, 1486, -1, 1485, 1486, 580, 185, 1488, -1, 1485, 1486, 580, 185, 749, 1488, -1, 313, 713, -1, 313, 338, -1, 313, 1015, -1, 313, 1483, -1, 369, 1481, -1, -1, 1481, 1482, -1, 1482, -1, 663, 5, -1, 673, 5, -1, 1484, -1, 1483, 1484, -1, 1483, 41, 1484, -1, 435, 4, -1, 599, 4, -1, 923, 4, -1, 4, -1, 3, -1, 1644, -1, 15, -1, -1, 1485, 1486, -1, 4, -1, 220, 991, 1490, -1, 1487, -1, 1490, 24, 1487, -1, 325, 749, 1492, 59, 4, -1, 325, 749, 1492, 59, 749, 79, 1488, 80, -1, 176, 991, 1487, 580, 185, 1488, -1, 176, 991, 1487, 1479, -1, 176, 991, 1487, 369, 1481, -1, 233, 1485, 1486, -1, -1, 310, 991, 1495, -1, 1485, 1486, 347, 1485, 1486, -1, 1494, -1, 1495, 24, 1494, -1, 176, 991, 1490, 375, 1497, -1, 634, -1, 352, -1, 634, 1319, 1500, -1, 352, 947, -1, 1501, -1, 1500, 24, 1501, -1, 1429, 1502, -1, 1429, 1404, 1640, 1502, -1, 304, 1503, -1, 370, -1, 277, 370, -1, 626, -1, -1, 1012, -1, -1, 369, 460, 876, -1, 1633, -1, 369, 460, 876, 24, 1633, -1, 1633, 24, 369, 460, 876, -1, -1, 407, 1504, -1, 902, 81, 1505, -1, 1016, 902, 4, -1, 1016, 407, 4, -1, 1016, 516, 4, -1, 1016, 768, 4, -1, 1016, 453, 4, -1, 1016, 824, 4, -1, 453, 1504, -1, 824, 1504, -1, 264, 1049, -1, 264, 22, 1049, -1, 264, 21, 1049, -1, 239, 1516, 92, 1520, 347, 1477, 1521, -1, 1517, -1, 175, 1519, -1, 1518, -1, 1517, 24, 1518, -1, 176, -1, 197, -1, 197, 991, -1, 213, -1, 220, -1, 239, 292, -1, 252, -1, 354, -1, 322, -1, 248, -1, 197, 1000, -1, 326, 1000, -1, 326, 204, -1, 930, -1, 773, -1, 355, -1, 197, 940, -1, 544, -1, 176, 954, -1, 176, 936, -1, 197, 814, 765, -1, 197, 814, 982, -1, 772, -1, -1, 67, -1, 67, 83, 67, -1, 1640, 83, 67, -1, 1640, -1, 1640, 83, 1640, -1, 369, 239, 292, -1, -1, 317, 1516, 92, 1520, 236, 1490, -1, 317, 175, 1519, 24, 239, 292, 236, 1490, -1, 768, 1524, 236, 1525, -1, 1642, -1, 1187, -1, 15, -1, 325, 1528, -1, 1531, -1, 1527, 24, 1531, -1, 1530, -1, 1528, 24, 1530, -1, 1049, -1, 92, -1, 87, -1, 211, -1, 15, 1533, 1049, -1, 15, 36, 1049, -1, 1531, -1, 1532, 1639, 1533, 1529, -1, 14, 1533, 1529, -1, 1638, 1533, 1529, -1, 1638, 36, 1529, -1, 564, -1, 864, -1, 570, 83, -1, 939, 83, -1, 347, -1, 59, -1, 529, 1524, 1535, -1, 357, 1536, -1, -1, 1537, -1, 1536, 24, 1537, -1, 15, -1, 1539, 768, 1524, -1, 489, -1, 220, -1, 967, 1293, 1429, -1, 310, 342, 1542, -1, 1543, -1, 1542, 24, 1543, -1, 1429, 347, 1429, -1, 176, 342, 1429, 1545, -1, 1546, -1, 1545, 24, 1546, -1, -1, 1562, 1221, -1, 1557, -1, 1559, -1, 310, 1561, 1429, -1, 1554, -1, 1548, -1, 1547, -1, 1555, -1, 220, 194, 79, 1375, 80, -1, 174, 194, 1307, 191, 79, 1049, 80, -1, 220, 298, 1551, -1, 220, 924, 1551, -1, 174, 298, 1549, -1, 1552, -1, 805, 298, 1375, 96, 1549, -1, 967, 298, 1375, -1, 967, 924, 1375, -1, 1251, -1, 1254, -1, 220, 298, 1551, -1, 174, 298, 1549, -1, 1553, -1, 805, 298, 1375, 96, 1549, -1, 967, 298, 1375, -1, 1375, -1, 79, 1375, 80, -1, 1236, -1, 1238, -1, 1239, -1, 1237, -1, 1277, -1, 1278, -1, 1279, -1, 1280, -1, 174, 1422, 1303, 1315, 79, 1308, 80, 1312, -1, 174, 351, 1421, 1303, 1315, 79, 1308, 80, 1312, -1, 174, 194, 1306, 351, 1421, 1303, 1315, 79, 1308, 80, 1312, -1, 220, 1422, 1304, -1, 174, 1305, 300, 90, 79, 1244, 80, 1312, -1, 176, 248, 1304, 1556, -1, 310, 1422, 1304, 347, 1304, -1, 176, 248, 1304, 1226, -1, 220, 235, 90, 1304, -1, 174, 1305, 235, 90, 1303, 79, 1244, 80, 308, 1429, 79, 1244, 80, 1172, 1169, -1, 1001, -1, 601, -1, 174, 1560, 1174, -1, 174, 1560, 79, 1180, 80, -1, 220, 1179, 1563, -1, 220, 192, 1179, 1563, -1, 176, 1560, 1179, 1564, -1, 188, 1560, 1179, 1174, -1, 689, 1560, 1174, -1, -1, 546, -1, 181, 1639, -1, 379, 1639, -1, 220, 373, -1, 192, -1, -1, 347, -1, -1, 325, -1, -1, 187, -1, 315, -1, -1, 325, 211, 1217, -1, 220, 211, -1, 302, 342, 1429, -1, 302, 248, 1429, -1, 302, 1127, 1128, -1, 302, 954, 1640, -1, 302, 838, -1, 291, 342, 1322, -1, 291, 954, 1640, -1, 291, 954, 175, -1, 506, 521, 175, -1, 506, 521, 780, 59, 4, 24, 875, 59, 5, -1, 506, 434, 175, -1, 506, 434, 973, 59, 5, 24, 472, 59, 5, -1, 506, 434, 781, 59, 4, -1, 325, 292, 622, 59, 4, -1, 506, 675, 621, -1, 176, 936, 417, 1583, -1, 176, 936, 549, 1575, 424, 1578, 1581, -1, 176, 936, 549, 331, 1575, 1578, 1581, -1, 176, 936, 549, 612, 1614, 1616, -1, 176, 936, 549, 480, 1007, -1, 176, 936, 549, 606, 1618, -1, 176, 936, 176, 753, 404, 1614, 1611, 1609, 325, 1612, -1, 176, 936, 270, 753, 404, 236, 753, 424, 1578, 1611, -1, 176, 936, 933, 808, 1627, 1601, -1, 176, 936, 933, 828, 1627, 1594, -1, 176, 936, 1598, 808, 1599, 1590, 1598, 1603, 1157, -1, 176, 936, 220, 808, 1599, 1590, 1593, 1592, 1157, -1, 176, 936, 1602, 808, 1599, 881, 1228, 4, 498, 1228, 4, 1157, -1, 176, 936, 812, 808, 1595, -1, 176, 936, 792, 808, 1595, -1, 176, 936, 902, 602, 1591, -1, 176, 936, 1607, 602, 1592, -1, 176, 936, 1607, 849, 1592, -1, 176, 936, 438, 602, 523, -1, 176, 936, 425, 1619, 970, 4, -1, 176, 936, 639, 553, 1588, -1, 176, 936, 433, -1, 176, 936, 685, 553, 1600, 1587, 1592, -1, 176, 936, 438, 827, 1614, -1, 176, 936, 1585, 860, 1586, 1592, -1, 176, 936, 174, 1019, 1227, 1597, -1, 176, 936, 1589, 1019, 1227, -1, 176, 936, 1598, 1019, 1227, 1562, 1597, -1, 176, 936, 796, 319, 1595, -1, 176, 936, 796, 675, 901, 1595, -1, 176, 936, 1562, 1620, -1, 176, 936, 868, 1623, -1, 176, 936, 438, 628, 424, 1595, -1, 176, 936, 804, 402, 970, 1578, 1582, 1577, -1, 176, 936, 803, 568, -1, 176, 936, 803, 982, -1, 176, 936, 803, 860, -1, 176, 936, 803, 1019, -1, 176, 936, 680, 982, 1228, 5, 498, 1228, 4, -1, 176, 936, 425, 680, 982, 5, -1, 176, 936, 987, 366, 319, -1, 176, 936, 837, 608, 4, 1595, -1, 176, 936, 1628, 987, -1, 176, 936, 837, 987, 608, 4, -1, 176, 936, 915, 987, 608, -1, 176, 936, 1628, 832, 987, -1, 176, 936, 796, 975, -1, 176, 936, 514, 331, 974, 1569, 1570, -1, 176, 936, 501, 331, 974, -1, 176, 936, 325, 503, 994, 1590, -1, 176, 936, 818, 1613, 236, 4, -1, 176, 936, 818, 1640, 236, 1640, 390, 4, 985, 4, 369, 4, -1, 176, 936, 188, 954, 1574, -1, 176, 936, 220, 947, 49, 864, 5, -1, 176, 936, 796, 947, 49, 864, 5, -1, 176, 504, 1640, 174, 503, 4, 1573, 1590, 1592, -1, 176, 504, 1640, 220, 503, 4, 1590, 1592, -1, 176, 936, 399, -1, 176, 936, 723, -1, 176, 936, 401, 203, -1, 176, 936, 401, 604, 203, -1, 176, 936, 425, 401, -1, 176, 936, 931, 401, -1, 176, 936, 819, 401, -1, 176, 936, 213, 539, 401, -1, 176, 936, 213, 423, 5, -1, 176, 936, 1003, 203, -1, 176, 936, 1003, 423, 5, -1, 176, 936, 425, 1003, 5, -1, 176, 936, 213, 726, 401, -1, 176, 936, 425, 213, 401, -1, 325, 515, 92, 580, 185, 4, 734, -1, 325, 490, 580, 185, 1186, -1, 233, 763, 54, 5, -1, -1, 357, 1571, -1, 1572, 1571, -1, 1572, -1, 846, 59, 1275, -1, 470, 59, 1275, -1, 594, 59, 5, -1, 724, 59, 1275, -1, 635, 59, 5, -1, 788, 59, 1275, -1, 702, 1228, 1227, -1, -1, 1227, -1, 973, 1228, 5, -1, 175, -1, 628, -1, 440, -1, 582, -1, 446, -1, 412, -1, 411, -1, 831, -1, 414, -1, 319, -1, 753, -1, 400, -1, 764, -1, 786, -1, 392, -1, 640, -1, 175, -1, 968, 1228, 1576, -1, -1, 954, 59, 1580, -1, -1, 954, 1228, 79, 1580, 80, -1, 1227, -1, 1580, 24, 1227, -1, 564, -1, -1, 1019, 59, 1120, -1, -1, 1584, -1, 1583, 24, 1584, -1, 797, 1228, 1227, 1019, 1228, 1227, 860, 1228, 4, -1, 1019, 1228, 1227, 860, 1228, 4, -1, 174, -1, 213, -1, 425, 213, -1, 902, -1, 915, -1, 234, 915, -1, 597, -1, 4, -1, 1586, 24, 4, -1, -1, 860, 1228, 79, 1586, 80, -1, -1, 247, 1586, -1, 213, -1, 902, -1, 915, -1, 234, 915, -1, 597, -1, 860, 1228, 4, -1, 1019, 1228, 1227, -1, 1591, -1, -1, 471, 1228, 5, -1, -1, 1590, -1, 1591, -1, 1594, -1, -1, 797, 1228, 1227, -1, 579, 1228, 1227, -1, 1021, 1228, 1227, -1, 1596, -1, 1597, 24, 1596, -1, -1, 176, -1, 188, -1, 689, -1, 746, 1228, 4, -1, 1579, -1, 1599, -1, -1, 1599, 1590, -1, 1590, 1614, -1, 1591, 1614, -1, 691, -1, 468, -1, 1604, -1, 1604, 1603, -1, 1605, -1, 1606, -1, 810, 1228, 4, -1, 701, 1228, 5, -1, 931, -1, 819, -1, 405, 1228, 5, -1, 1608, -1, -1, 890, 1228, 4, -1, 1610, -1, -1, 1639, 59, 1038, -1, 954, 1228, 1227, -1, 1613, -1, -1, 424, 1228, 1227, -1, 1615, -1, -1, 559, 1228, 5, -1, 1617, -1, -1, 298, 697, -1, -1, 1621, -1, 1620, 24, 1621, -1, 3, 59, 1041, 1622, 1626, 1595, 1614, -1, 971, 59, 1041, 1622, 1626, 1595, 1614, -1, 443, 59, 1041, 1622, 1626, 1595, 1614, -1, 829, 59, 4, 1622, 1626, 1595, 1614, -1, 452, 4, -1, -1, 1624, -1, 1623, 24, 1624, -1, -1, 961, 1228, 5, -1, 962, 1228, 1227, -1, 727, 1228, 5, -1, 554, 1228, 5, -1, 522, 1228, 5, -1, 32, -1, -1, 854, 59, 675, -1, 854, 59, 882, -1, 854, 59, 184, -1, -1, 618, -1, 550, -1, 407, -1, 516, -1, 325, 703, 1210, 1213, -1, 325, 1131, 1210, -1, 325, 81, 1632, -1, 325, 564, 81, 1632, -1, 325, 864, 81, 1632, -1, 325, 626, 81, 1632, -1, 1633, -1, 598, 636, 1634, -1, 1633, 24, 598, 636, 1634, -1, 598, 636, 1634, 24, 1633, -1, 304, 734, -1, 304, 370, -1, 304, 976, -1, 304, 454, -1, 807, 304, -1, 859, -1, 851, 1638, -1, 824, 347, 1638, -1, 824, 1012, 347, 1638, -1, 824, 347, 851, 1638, -1, 309, 851, 1638, -1, 3, -1, 1645, -1, 3, -1, 1644, -1, 3, -1, 1644, -1, 3, -1, 506, -1, 431, -1, 448, -1, 611, -1, 991, -1, 203, -1, 319, -1, 445, -1, 311, -1, 833, -1, 822, -1, 31, -1, 201, -1, 937, -1, 865, -1, 312, -1, 967, -1, 551, -1, 3, -1, 1644, -1, 488, -1, 205, -1, 206, -1, 207, -1, 208, -1, 577, -1, 243, -1, 244, -1, 245, -1, 679, -1, 687, -1, 286, -1, 287, -1, 690, -1, 787, -1, 855, -1, 321, -1, 1008, -1, 1018, -1, 371, -1, 1645, -1, 1646, -1, 1647, -1, 375, -1, 376, -1, 377, -1, 378, -1, 379, -1, 380, -1, 381, -1, 382, -1, 383, -1, 384, -1, 385, -1, 386, -1, 387, -1, 388, -1, 399, -1, 389, -1, 390, -1, 400, -1, 391, -1, 392, -1, 393, -1, 394, -1, 395, -1, 396, -1, 401, -1, 423, -1, 403, -1, 404, -1, 405, -1, 406, -1, 402, -1, 407, -1, 408, -1, 409, -1, 410, -1, 422, -1, 411, -1, 413, -1, 412, -1, 414, -1, 415, -1, 416, -1, 417, -1, 418, -1, 419, -1, 420, -1, 421, -1, 424, -1, 612, -1, 606, -1, 425, -1, 426, -1, 427, -1, 428, -1, 429, -1, 430, -1, 431, -1, 432, -1, 433, -1, 434, -1, 435, -1, 436, -1, 437, -1, 438, -1, 439, -1, 441, -1, 440, -1, 442, -1, 443, -1, 444, -1, 445, -1, 447, -1, 448, -1, 449, -1, 450, -1, 446, -1, 451, -1, 452, -1, 453, -1, 454, -1, 455, -1, 456, -1, 457, -1, 458, -1, 459, -1, 22, -1, 460, -1, 461, -1, 462, -1, 463, -1, 464, -1, 465, -1, 466, -1, 467, -1, 468, -1, 469, -1, 470, -1, 471, -1, 472, -1, 473, -1, 478, -1, 474, -1, 475, -1, 477, -1, 476, -1, 479, -1, 480, -1, 481, -1, 511, -1, 482, -1, 483, -1, 484, -1, 485, -1, 486, -1, 487, -1, 488, -1, 489, -1, 490, -1, 491, -1, 492, -1, 493, -1, 494, -1, 497, -1, 495, -1, 496, -1, 498, -1, 499, -1, 500, -1, 501, -1, 502, -1, 503, -1, 504, -1, 505, -1, 506, -1, 507, -1, 508, -1, 509, -1, 510, -1, 512, -1, 513, -1, 514, -1, 515, -1, 516, -1, 517, -1, 518, -1, 519, -1, 520, -1, 521, -1, 522, -1, 523, -1, 524, -1, 60, -1, 525, -1, 526, -1, 527, -1, 26, -1, 528, -1, 529, -1, 530, -1, 531, -1, 539, -1, 532, -1, 533, -1, 535, -1, 536, -1, 537, -1, 540, -1, 538, -1, 541, -1, 542, -1, 557, -1, 543, -1, 544, -1, 559, -1, 545, -1, 546, -1, 547, -1, 548, -1, 549, -1, 550, -1, 556, -1, 551, -1, 558, -1, 552, -1, 553, -1, 554, -1, 555, -1, 32, -1, 560, -1, 561, -1, 562, -1, 563, -1, 564, -1, 569, -1, 565, -1, 567, -1, 566, -1, 568, -1, 571, -1, 572, -1, 573, -1, 574, -1, 575, -1, 576, -1, 577, -1, 578, -1, 579, -1, 580, -1, 581, -1, 582, -1, 583, -1, 585, -1, 586, -1, 584, -1, 587, -1, 588, -1, 589, -1, 590, -1, 591, -1, 592, -1, 28, -1, 593, -1, 604, -1, 594, -1, 595, -1, 596, -1, 603, -1, 598, -1, 597, -1, 599, -1, 608, -1, 609, -1, 610, -1, 611, -1, 613, -1, 614, -1, 615, -1, 616, -1, 617, -1, 618, -1, 621, -1, 622, -1, 619, -1, 620, -1, 636, -1, 623, -1, 624, -1, 625, -1, 637, -1, 626, -1, 627, -1, 629, -1, 630, -1, 638, -1, 631, -1, 632, -1, 633, -1, 639, -1, 640, -1, 641, -1, 642, -1, 643, -1, 644, -1, 645, -1, 646, -1, 647, -1, 648, -1, 649, -1, 650, -1, 651, -1, 652, -1, 653, -1, 654, -1, 655, -1, 656, -1, 657, -1, 658, -1, 659, -1, 660, -1, 661, -1, 662, -1, 663, -1, 664, -1, 665, -1, 666, -1, 667, -1, 668, -1, 669, -1, 670, -1, 671, -1, 672, -1, 673, -1, 674, -1, 675, -1, 676, -1, 602, -1, 677, -1, 701, -1, 678, -1, 679, -1, 680, -1, 697, -1, 681, -1, 682, -1, 683, -1, 684, -1, 685, -1, 686, -1, 687, -1, 25, -1, 688, -1, 689, -1, 690, -1, 691, -1, 692, -1, 693, -1, 694, -1, 695, -1, 696, -1, 698, -1, 702, -1, 703, -1, 704, -1, 705, -1, 706, -1, 707, -1, 708, -1, 709, -1, 710, -1, 723, -1, 711, -1, 712, -1, 713, -1, 725, -1, 714, -1, 715, -1, 716, -1, 717, -1, 721, -1, 722, -1, 719, -1, 718, -1, 720, -1, 727, -1, 728, -1, 729, -1, 730, -1, 731, -1, 739, -1, 94, -1, 732, -1, 733, -1, 734, -1, 735, -1, 736, -1, 737, -1, 845, -1, 534, -1, 738, -1, 740, -1, 741, -1, 742, -1, 743, -1, 744, -1, 745, -1, 746, -1, 747, -1, 748, -1, 751, -1, 750, -1, 752, -1, 754, -1, 764, -1, 755, -1, 756, -1, 757, -1, 758, -1, 759, -1, 760, -1, 765, -1, 766, -1, 767, -1, 778, -1, 768, -1, 769, -1, 770, -1, 783, -1, 771, -1, 782, -1, 772, -1, 773, -1, 774, -1, 775, -1, 776, -1, 785, -1, 777, -1, 784, -1, 779, -1, 780, -1, 781, -1, 787, -1, 21, -1, 788, -1, 789, -1, 847, -1, 848, -1, 790, -1, 791, -1, 849, -1, 792, -1, 838, -1, 839, -1, 840, -1, 793, -1, 794, -1, 795, -1, 796, -1, 797, -1, 798, -1, 799, -1, 800, -1, 801, -1, 802, -1, 803, -1, 804, -1, 805, -1, 806, -1, 807, -1, 808, -1, 809, -1, 810, -1, 811, -1, 812, -1, 813, -1, 814, -1, 815, -1, 816, -1, 817, -1, 818, -1, 819, -1, 820, -1, 821, -1, 822, -1, 823, -1, 824, -1, 832, -1, 825, -1, 826, -1, 828, -1, 829, -1, 827, -1, 830, -1, 831, -1, 833, -1, 834, -1, 835, -1, 836, -1, 837, -1, 850, -1, 851, -1, 852, -1, 853, -1, 854, -1, 855, -1, 856, -1, 857, -1, 858, -1, 859, -1, 860, -1, 861, -1, 862, -1, 863, -1, 864, -1, 865, -1, 866, -1, 867, -1, 868, -1, 869, -1, 870, -1, 871, -1, 941, -1, 872, -1, 873, -1, 874, -1, 876, -1, 877, -1, 878, -1, 879, -1, 880, -1, 881, -1, 882, -1, 883, -1, 884, -1, 885, -1, 886, -1, 887, -1, 888, -1, 890, -1, 889, -1, 891, -1, 892, -1, 893, -1, 894, -1, 895, -1, 896, -1, 897, -1, 898, -1, 899, -1, 900, -1, 902, -1, 903, -1, 901, -1, 904, -1, 905, -1, 906, -1, 907, -1, 908, -1, 909, -1, 910, -1, 911, -1, 912, -1, 915, -1, 916, -1, 917, -1, 918, -1, 919, -1, 913, -1, 920, -1, 921, -1, 922, -1, 923, -1, 924, -1, 925, -1, 926, -1, 927, -1, 928, -1, 929, -1, 930, -1, 931, -1, 932, -1, 933, -1, 934, -1, 935, -1, 936, -1, 937, -1, 938, -1, 940, -1, 942, -1, 943, -1, 946, -1, 944, -1, 945, -1, 947, -1, 948, -1, 949, -1, 971, -1, 950, -1, 970, -1, 951, -1, 952, -1, 953, -1, 954, -1, 973, -1, 875, -1, 955, -1, 956, -1, 957, -1, 958, -1, 959, -1, 960, -1, 975, -1, 962, -1, 961, -1, 963, -1, 81, -1, 964, -1, 965, -1, 966, -1, 967, -1, 968, -1, 969, -1, 972, -1, 976, -1, 977, -1, 978, -1, 979, -1, 980, -1, 989, -1, 981, -1, 982, -1, 983, -1, 984, -1, 985, -1, 986, -1, 987, -1, 988, -1, 990, -1, 991, -1, 992, -1, 993, -1, 994, -1, 1003, -1, 995, -1, 996, -1, 997, -1, 1004, -1, 1005, -1, 998, -1, 1002, -1, 700, -1, 1000, -1, 999, -1, 1006, -1, 1007, -1, 1014, -1, 1008, -1, 1009, -1, 1010, -1, 29, -1, 1012, -1, 1013, -1, 1015, -1, 1016, -1, 1017, -1, 1018, -1, 1019, -1, 1020, -1, 1021, -1, 628, -1, 753, -1, 1001, -1, 601, -1, 397, -1, 914, -1, 974, -1, 763, -1, 846, -1, 724, -1, 635, -1, 844, -1, 699, -1, 398, -1, 761, -1, 762, -1, 726, -1, 749, -1, 374, -1, 173, -1, 174, -1, 176, -1, 177, -1, 41, -1, 178, -1, 179, -1, 180, -1, 181, -1, 46, -1, 182, -1, 87, -1, 183, -1, 185, -1, 186, -1, 187, -1, 45, -1, 188, -1, 189, -1, 190, -1, 191, -1, 86, -1, 192, -1, 193, -1, 194, -1, 195, -1, 196, -1, 197, -1, 34, -1, 198, -1, 199, -1, 200, -1, 201, -1, 202, -1, 203, -1, 204, -1, 205, -1, 206, -1, 207, -1, 208, -1, 209, -1, 210, -1, 211, -1, 212, -1, 213, -1, 214, -1, 215, -1, 216, -1, 218, -1, 71, -1, 219, -1, 220, -1, 221, -1, 222, -1, 42, -1, 223, -1, 224, -1, 225, -1, 226, -1, 227, -1, 228, -1, 229, -1, 230, -1, 231, -1, 232, -1, 233, -1, 234, -1, 235, -1, 237, -1, 238, -1, 239, -1, 240, -1, 241, -1, 242, -1, 243, -1, 244, -1, 245, -1, 246, -1, 247, -1, 49, -1, 248, -1, 249, -1, 30, -1, 250, -1, 251, -1, 252, -1, 253, -1, 254, -1, 255, -1, 256, -1, 257, -1, 258, -1, 259, -1, 88, -1, 96, -1, 260, -1, 261, -1, 51, -1, 262, -1, 35, -1, 90, -1, 263, -1, 264, -1, 266, -1, 33, -1, 50, -1, 267, -1, 268, -1, 269, -1, 270, -1, 271, -1, 272, -1, 273, -1, 274, -1, 275, -1, 276, -1, 277, -1, 278, -1, 279, -1, 280, -1, 281, -1, 282, -1, 283, -1, 284, -1, 285, -1, 286, -1, 287, -1, 72, -1, 288, -1, 289, -1, 85, -1, 290, -1, 92, -1, 291, -1, 292, -1, 293, -1, 38, -1, 294, -1, 295, -1, 296, -1, 297, -1, 298, -1, 299, -1, 300, -1, 301, -1, 302, -1, 303, -1, 304, -1, 305, -1, 306, -1, 307, -1, 308, -1, 48, -1, 309, -1, 310, -1, 311, -1, 312, -1, 313, -1, 314, -1, 315, -1, 316, -1, 317, -1, 31, -1, 318, -1, 319, -1, 320, -1, 321, -1, 323, -1, 324, -1, 325, -1, 326, -1, 327, -1, 328, -1, 329, -1, 330, -1, 331, -1, 332, -1, 333, -1, 334, -1, 335, -1, 337, -1, 338, -1, 339, -1, 340, -1, 341, -1, 342, -1, 343, -1, 43, -1, 344, -1, 345, -1, 346, -1, 347, -1, 349, -1, 350, -1, 27, -1, 352, -1, 353, -1, 354, -1, 355, -1, 356, -1, 357, -1, 358, -1, 359, -1, 360, -1, 361, -1, 362, -1, 363, -1, 364, -1, 365, -1, 366, -1, 367, -1, 368, -1, 369, -1, 370, -1, 39, -1, 371, -1, 372, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { 0, 433, 433, 442, 447, 452, 456, 464, 465, 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, 532, 534, 535, 536, 537, 538, 539, 540, 541, 542, 552, 560, 567, 571, 577, 586, 605, 631, 638, 643, 650, 659, 666, 671, 678, 687, 694, 699, 706, 719, 729, 737, 748, 757, 766, 775, 784, 793, 805, 806, 807, 808, 809, 810, 811, 812, 813, 821, 822, 826, 827, 828, 829, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 853, 858, 875, 876, 880, 886, 893, 899, 907, 913, 921, 927, 935, 941, 947, 955, 961, 969, 975, 983, 991, 995, 1000, 1005, 1009, 1014, 1026, 1039, 1059, 1070, 1088, 1094, 1107, 1121, 1142, 1154, 1173, 1177, 1188, 1193, 1205, 1210, 1214, 1220, 1226, 1232, 1238, 1244, 1250, 1256, 1265, 1274, 1280, 1286, 1292, 1298, 1304, 1310, 1319, 1326, 1341, 1342, 1343, 1347, 1351, 1391, 1395, 1400, 1402, 1404, 1410, 1416, 1423, 1430, 1434, 1438, 1445, 1452, 1456, 1461, 1466, 1470, 1474, 1478, 1482, 1486, 1490, 1494, 1499, 1509, 1516, 1518, 1526, 1527, 1531, 1532, 1537, 1541, 1545, 1552, 1556, 1561, 1569, 1577, 1583, 1592, 1599, 1606, 1611, 1616, 1621, 1626, 1631, 1636, 1641, 1646, 1651, 1656, 1661, 1666, 1673, 1680, 1685, 1690, 1695, 1700, 1705, 1710, 1716, 1722, 1728, 1734, 1742, 1747, 1754, 1760, 1764, 1769, 1776, 1783, 1787, 1791, 1798, 1806, 1813, 1822, 1827, 1833, 1838, 1846, 1847, 1854, 1858, 1865, 1873, 1881, 1882, 1888, 1894, 1902, 1908, 1917, 1922, 1929, 1934, 1942, 1947, 1956, 1957, 1964, 1965, 1969, 1970, 1975, 1982, 1983, 1987, 1990, 1994, 1998, 2005, 2010, 2018, 2026, 2032, 2038, 2042, 2046, 2050, 2054, 2058, 2062, 2066, 2070, 2074, 2078, 2082, 2086, 2090, 2096, 2103, 2110, 2114, 2118, 2122, 2126, 2130, 2134, 2138, 2146, 2153, 2160, 2168, 2175, 2182, 2188, 2193, 2200, 2207, 2214, 2221, 2228, 2235, 2242, 2249, 2256, 2263, 2270, 2277, 2284, 2289, 2294, 2299, 2304, 2318, 2332, 2337, 2342, 2349, 2356, 2377, 2384, 2403, 2413, 2420, 2437, 2454, 2469, 2484, 2491, 2496, 2508, 2512, 2516, 2523, 2527, 2531, 2538, 2542, 2550, 2554, 2561, 2565, 2569, 2588, 2589, 2590, 2594, 2598, 2602, 2619, 2623, 2627, 2634, 2635, 2636, 2642, 2646, 2654, 2658, 2662, 2666, 2673, 2680, 2688, 2689, 2695, 2698, 2702, 2710, 2713, 2717, 2721, 2729, 2732, 2744, 2763, 2778, 2788, 2807, 2829, 2833, 2840, 2852, 2861, 2872, 2876, 2881, 2887, 2892, 2897, 2902, 2907, 2912, 2917, 2922, 2930, 2934, 2939, 2945, 2950, 2955, 2960, 2968, 2972, 2979, 2984, 2991, 2997, 3003, 3008, 3013, 3021, 3029, 3037, 3048, 3061, 3065, 3077, 3090, 3094, 3099, 3105, 3110, 3115, 3120, 3125, 3130, 3135, 3140, 3145, 3150, 3158, 3166, 3170, 3175, 3179, 3187, 3191, 3195, 3200, 3205, 3210, 3218, 3220, 3225, 3227, 3232, 3243, 3254, 3262, 3272, 3279, 3285, 3298, 3308, 3312, 3318, 3325, 3330, 3336, 3340, 3347, 3351, 3357, 3366, 3375, 3381, 3386, 3390, 3394, 3402, 3404, 3413, 3426, 3437, 3442, 3452, 3474, 3475, 3481, 3484, 3488, 3495, 3496, 3497, 3501, 3502, 3509, 3510, 3515, 3523, 3524, 3528, 3529, 3530, 3537, 3541, 3548, 3552, 3560, 3561, 3568, 3572, 3579, 3591, 3604, 3620, 3636, 3651, 3668, 3672, 3677, 3679, 3686, 3690, 3694, 3696, 3708, 3720, 3734, 3738, 3742, 3745, 3749, 3753, 3757, 3767, 3771, 3784, 3801, 3820, 3836, 3850, 3863, 3879, 3885, 3892, 3898, 3904, 3910, 3918, 3925, 3932, 3937, 3941, 3945, 3952, 3956, 3963, 3973, 3983, 3993, 3999, 4012, 4017, 4023, 4029, 4038, 4042, 4046, 4051, 4055, 4062, 4068, 4074, 4078, 4082, 4090, 4096, 4107, 4112, 4118, 4123, 4128, 4133, 4138, 4142, 4147, 4151, 4155, 4162, 4166, 4171, 4177, 4182, 4187, 4196, 4200, 4207, 4216, 4226, 4234, 4245, 4256, 4264, 4271, 4283, 4284, 4288, 4289, 4290, 4294, 4299, 4304, 4312, 4318, 4328, 4338, 4348, 4354, 4360, 4365, 4369, 4382, 4388, 4397, 4409, 4418, 4424, 4430, 4435, 4443, 4454, 4458, 4464, 4468, 4475, 4476, 4477, 4478, 4479, 4483, 4484, 4485, 4486, 4487, 4491, 4492, 4493, 4497, 4498, 4502, 4503, 4504, 4505, 4509, 4510, 4511, 4512, 4516, 4517, 4521, 4522, 4526, 4532, 4539, 4545, 4560, 4572, 4581, 4582, 4586, 4587, 4591, 4629, 4630, 4634, 4635, 4639, 4640, 4641, 4645, 4646, 4650, 4655, 4659, 4665, 4673, 4683, 4689, 4697, 4704, 4710, 4724, 4728, 4735, 4743, 4747, 4756, 4761, 4765, 4768, 4772, 4778, 4783, 4787, 4791, 4795, 4799, 4805, 4809, 4813, 4817, 4824, 4828, 4835, 4837, 4839, 4869, 4872, 4879, 4884, 4890, 4895, 4901, 4905, 4912, 4916, 4923, 4927, 4931, 4935, 4942, 4946, 4953, 4958, 4963, 4968, 4974, 4979, 4984, 4989, 4994, 4999, 5004, 5009, 5014, 5021, 5030, 5035, 5040, 5045, 5050, 5054, 5059, 5064, 5069, 5074, 5081, 5090, 5100, 5102, 5103, 5111, 5112, 5116, 5117, 5121, 5125, 5129, 5133, 5140, 5144, 5148, 5154, 5161, 5165, 5172, 5179, 5184, 5191, 5200, 5210, 5223, 5230, 5240, 5250, 5260, 5268, 5279, 5286, 5296, 5297, 5302, 5306, 5315, 5319, 5326, 5331, 5340, 5344, 5351, 5355, 5361, 5370, 5379, 5391, 5400, 5409, 5422, 5428, 5435, 5442, 5452, 5459, 5466, 5479, 5485, 5489, 5496, 5503, 5510, 5514, 5520, 5527, 5534, 5538, 5545, 5552, 5556, 5560, 5565, 5570, 5576, 5580, 5586, 5593, 5600, 5604, 5611, 5618, 5625, 5629, 5636, 5643, 5647, 5653, 5657, 5663, 5667, 5677, 5678, 5685, 5689, 5696, 5700, 5716, 5721, 5727, 5732, 5738, 5739, 5743, 5747, 5751, 5755, 5760, 5766, 5776, 5785, 5789, 5796, 5800, 5807, 5811, 5815, 5822, 5829, 5833, 5838, 5844, 5849, 5854, 5859, 5864, 5876, 5890, 5902, 5909, 5915, 5924, 5929, 5936, 5940, 5947, 5951, 5958, 5963, 5968, 5973, 5978, 5987, 5991, 5998, 6011, 6019, 6030, 6031, 6040, 6056, 6063, 6066, 6070, 6073, 6077, 6082, 6086, 6090, 6094, 6103, 6122, 6123, 6128, 6133, 6139, 6143, 6148, 6154, 6159, 6165, 6169, 6171, 6176, 6193, 6194, 6200, 6205, 6212, 6215, 6222, 6226, 6233, 6250, 6267, 6272, 6276, 6280, 6284, 6288, 6292, 6296, 6301, 6306, 6311, 6316, 6324, 6327, 6334, 6338, 6345, 6348, 6351, 6360, 6370, 6374, 6381, 6391, 6392, 6397, 6401, 6415, 6428, 6442, 6454, 6463, 6472, 6483, 6497, 6502, 6509, 6513, 6519, 6524, 6529, 6534, 6540, 6547, 6552, 6555, 6561, 6570, 6576, 6585, 6586, 6593, 6597, 6605, 6606, 6611, 6616, 6617, 6630, 6640, 6644, 6653, 6668, 6669, 6673, 6678, 6683, 6691, 6706, 6727, 6731, 6735, 6739, 6743, 6750, 6755, 6764, 6773, 6781, 6792, 6796, 6800, 6807, 6811, 6815, 6822, 6827, 6836, 6841, 6850, 6880, 6915, 6916, 6938, 6939, 6944, 6945, 6950, 6978, 6982, 6983, 6984, 6988, 6992, 6999, 7000, 7004, 7008, 7016, 7017, 7026, 7027, 7034, 7047, 7060, 7077, 7081, 7085, 7095, 7099, 7106, 7110, 7117, 7122, 7129, 7135, 7141, 7145, 7152, 7156, 7160, 7164, 7171, 7176, 7182, 7186, 7193, 7197, 7204, 7215, 7219, 7224, 7230, 7234, 7241, 7245, 7249, 7256, 7260, 7265, 7269, 7273, 7277, 7281, 7285, 7289, 7293, 7299, 7303, 7307, 7311, 7316, 7322, 7328, 7334, 7340, 7346, 7352, 7358, 7364, 7370, 7376, 7380, 7384, 7388, 7392, 7396, 7400, 7404, 7408, 7412, 7416, 7420, 7425, 7429, 7433, 7437, 7441, 7447, 7453, 7457, 7461, 7466, 7472, 7478, 7482, 7486, 7490, 7494, 7498, 7503, 7507, 7511, 7516, 7522, 7528, 7532, 7536, 7543, 7548, 7554, 7558, 7562, 7569, 7573, 7579, 7583, 7589, 7593, 7597, 7601, 7605, 7609, 7615, 7621, 7626, 7628, 7634, 7635, 7641, 7642, 7650, 7655, 7661, 7666, 7671, 7678, 7682, 7690, 7697, 7704, 7711, 7718, 7725, 7736, 7737, 7745, 7754, 7756, 7761, 7767, 7768, 7770, 7776, 7777, 7783, 7784, 7788, 7799, 7801, 7806, 7820, 7821, 7823, 7829, 7830, 7838, 7843, 7849, 7853, 7860, 7864, 7868, 7872, 7878, 7903, 7921, 7939, 7971, 7982, 7983, 7987, 7991, 7999, 8006, 8010, 8017, 8021, 8028, 8032, 8036, 8042, 8049, 8053, 8057, 8062, 8066, 8073, 8078, 8086, 8090, 8097, 8102, 8110, 8115, 8119, 8123, 8127, 8134, 8138, 8145, 8150, 8156, 8161, 8169, 8174, 8182, 8186, 8190, 8195, 8200, 8207, 8214, 8222, 8230, 8234, 8238, 8243, 8250, 8256, 8264, 8271, 8281, 8284, 8288, 8292, 8298, 8305, 8311, 8318, 8322, 8333, 8338, 8344, 8352, 8356, 8363, 8369, 8375, 8379, 8388, 8391, 8395, 8399, 8406, 8410, 8424, 8428, 8435, 8440, 8446, 8457, 8468, 8472, 8480, 8485, 8493, 8497, 8504, 8510, 8519, 8524, 8530, 8535, 8540, 8550, 8555, 8565, 8572, 8575, 8579, 8583, 8590, 8593, 8597, 8602, 8608, 8614, 8618, 8622, 8626, 8630, 8636, 8647, 8651, 8658, 8662, 8666, 8670, 8679, 8685, 8691, 8695, 8705, 8710, 8715, 8722, 8727, 8733, 8739, 8765, 8777, 8781, 8810, 8814, 8822, 8826, 8830, 8837, 8838, 8842, 8848, 8854, 8863, 8869, 8879, 8880, 8889, 8901, 8921, 8937, 8944, 8950, 8960, 8967, 8972, 8979, 8986, 8993, 9000, 9007, 9014, 9022, 9023, 9024, 9028, 9029, 9030, 9031, 9035, 9037, 9048, 9055, 9061, 9069, 9071, 9073, 9075, 9077, 9079, 9085, 9087, 9092, 9094, 9096, 9098, 9100, 9104, 9108, 9116, 9124, 9128, 9133, 9135, 9180, 9184, 9190, 9197, 9199, 9205, 9209, 9211, 9216, 9220, 9224, 9229, 9230, 9234, 9242, 9251, 9255, 9257, 9259, 9264, 9265, 9270, 9271, 9276, 9277, 9278, 9279, 9283, 9285, 9290, 9292, 9297, 9299, 9301, 9306, 9308, 9314, 9315, 9324, 9325, 9333, 9341, 9347, 9348, 9356, 9375, 9383, 9396, 9400, 9407, 9414, 9421, 9431, 9435, 9439, 9443, 9452, 9457, 9463, 9467, 9473, 9478, 9498, 9502, 9506, 9513, 9517, 9521, 9529, 9533, 9537, 9544, 9549, 9555, 9562, 9576, 9583, 9587, 9599, 9606, 9613, 9620, 9626, 9635, 9641, 9651, 9658, 9665, 9669, 9681, 9690, 9695, 9710, 9719, 9726, 9731, 9740, 9747, 9758, 9764, 9769, 9776, 9777, 9787, 9792, 9798, 9802, 9806, 9810, 9815, 9821, 9828, 9843, 9847, 9854, 9861, 9868, 9875, 9887, 9900, 9913, 9921, 9929, 9944, 9959, 9963, 9972, 9976, 9983, 9988, 9993, 9998, 10003, 10008, 10013, 10018, 10023, 10028, 10033, 10038, 10043, 10048, 10053, 10058, 10063, 10068, 10073, 10078, 10083, 10088, 10098, 10103, 10109, 10114, 10122, 10128, 10132, 10139, 10145, 10156, 10165, 10182, 10190, 10195, 10199, 10212, 10220, 10225, 10232, 10236, 10243, 10259, 10273, 10279, 10287, 10293, 10298, 10302, 10315, 10330, 10336, 10344, 10345, 10346, 10347, 10351, 10352, 10361, 10368, 10373, 10379, 10383, 10390, 10402, 10410, 10412, 10423, 10437, 10446, 10450, 10457, 10469, 10479, 10483, 10488, 10492, 10497, 10501, 10505, 10512, 10516, 10520, 10524, 10537, 10544, 10553, 10559, 10565, 10571, 10575, 10583, 10588, 10596, 10601, 10607, 10613, 10619, 10623, 10631, 10639, 10644, 10651, 10655, 10659, 10663, 10670, 10674, 10678, 10682, 10690, 10700, 10710, 10720, 10725, 10734, 10738, 10743, 10750, 10754, 10767, 10771, 10778, 10783, 10788, 10793, 10798, 10803, 10808, 10817, 10820, 10824, 10828, 10835, 10842, 10843, 10847, 10848, 10852, 10853, 10857, 10858, 10859, 10874, 10878, 10891, 10896, 10901, 10907, 10912, 10919, 10926, 10931, 10937, 10944, 10951, 10958, 10965, 10972, 10979, 10992, 10999, 11004, 11009, 11014, 11019, 11024, 11029, 11034, 11039, 11044, 11053, 11058, 11064, 11069, 11074, 11082, 11087, 11092, 11097, 11102, 11110, 11118, 11126, 11131, 11138, 11148, 11153, 11165, 11170, 11175, 11182, 11188, 11193, 11198, 11203, 11208, 11213, 11218, 11225, 11230, 11235, 11240, 11245, 11250, 11255, 11260, 11265, 11270, 11275, 11280, 11285, 11290, 11295, 11300, 11305, 11310, 11315, 11323, 11331, 11339, 11347, 11360, 11373, 11386, 11399, 11412, 11425, 11438, 11451, 11462, 11474, 11482, 11491, 11496, 11503, 11510, 11514, 11521, 11525, 11529, 11533, 11537, 11541, 11548, 11553, 11557, 11563, 11572, 11577, 11582, 11587, 11592, 11597, 11602, 11607, 11612, 11617, 11622, 11627, 11632, 11637, 11645, 11651, 11657, 11665, 11670, 11673, 11677, 11680, 11688, 11692, 11698, 11704, 11710, 11714, 11717, 11721, 11728, 11735, 11744, 11749, 11754, 11759, 11764, 11769, 11774, 11782, 11786, 11794, 11797, 11806, 11809, 11817, 11822, 11827, 11832, 11837, 11845, 11853, 11861, 11866, 11872, 11878, 11884, 11888, 11895, 11900, 11906, 11912, 11918, 11927, 11931, 11936, 11942, 11946, 11950, 11957, 11965, 11969, 11974, 11980, 11984, 11988, 11995, 12000, 12008, 12012, 12019, 12023, 12030, 12038, 12046, 12052, 12060, 12068, 12073, 12080, 12088, 12093, 12099, 12106, 12114, 12119, 12125, 12133, 12138, 12144, 12152, 12157, 12163, 12169, 12175, 12179, 12186, 12199, 12214, 12229, 12246, 12249, 12253, 12257, 12262, 12268, 12273, 12278, 12283, 12288, 12296, 12299, 12303, 12305, 12307, 12310, 12329, 12334, 12342, 12347, 12357, 12365, 12373, 12379, 12385, 12391, 12399, 12403, 12407, 12411, 12417, 12422, 12429, 12434, 12439, 12444, 12455, 12463, 12469, 12475, 12483, 12498, 12502, 12509, 12511, 12518, 12519, 12526, 12530, 12534, 12538, 12542, 12546, 12550, 12554, 12558, 12562, 12566, 12570, 12574, 12578, 12582, 12586, 12590, 12594, 12598, 12605, 12607, 12614, 12622, 12630, 12638, 12646, 12654, 12662, 12670, 12678, 12686, 12694, 12702, 12710, 12718, 12726, 12734, 12742, 12750, 12758, 12766, 12777, 12778, 12779, 12783, 12784, 12785, 12786, 12787, 12788, 12789, 12790, 12791, 12792, 12793, 12794, 12795, 12796, 12797, 12798, 12799, 12800, 12801, 12802, 12803, 12804, 12805, 12806, 12807, 12808, 12809, 12810, 12811, 12812, 12813, 12814, 12815, 12816, 12817, 12818, 12819, 12820, 12821, 12822, 12823, 12824, 12825, 12826, 12827, 12828, 12829, 12830, 12831, 12832, 12833, 12834, 12835, 12836, 12837, 12838, 12839, 12840, 12841, 12842, 12843, 12844, 12845, 12846, 12847, 12848, 12849, 12850, 12851, 12852, 12853, 12854, 12855, 12856, 12857, 12858, 12859, 12860, 12861, 12862, 12863, 12864, 12865, 12866, 12867, 12868, 12869, 12870, 12871, 12872, 12873, 12874, 12875, 12876, 12877, 12878, 12879, 12880, 12881, 12882, 12883, 12884, 12885, 12886, 12887, 12888, 12889, 12890, 12891, 12892, 12893, 12894, 12895, 12896, 12897, 12898, 12899, 12900, 12901, 12902, 12903, 12904, 12905, 12906, 12907, 12908, 12909, 12910, 12911, 12912, 12913, 12914, 12915, 12916, 12917, 12918, 12919, 12920, 12921, 12922, 12923, 12924, 12925, 12926, 12927, 12928, 12929, 12930, 12931, 12932, 12933, 12934, 12935, 12936, 12937, 12938, 12939, 12940, 12941, 12942, 12943, 12944, 12945, 12946, 12947, 12948, 12949, 12950, 12951, 12952, 12953, 12954, 12955, 12956, 12957, 12958, 12959, 12960, 12961, 12962, 12963, 12964, 12965, 12966, 12967, 12968, 12969, 12970, 12971, 12972, 12973, 12974, 12975, 12976, 12977, 12978, 12979, 12980, 12981, 12982, 12983, 12984, 12985, 12986, 12987, 12988, 12989, 12990, 12991, 12992, 12993, 12994, 12995, 12996, 12997, 12998, 12999, 13000, 13001, 13002, 13003, 13004, 13005, 13006, 13007, 13008, 13009, 13010, 13011, 13012, 13013, 13014, 13015, 13016, 13017, 13018, 13019, 13020, 13021, 13022, 13023, 13024, 13025, 13026, 13027, 13028, 13029, 13030, 13031, 13032, 13033, 13034, 13035, 13036, 13037, 13038, 13039, 13040, 13041, 13042, 13043, 13044, 13045, 13046, 13047, 13048, 13049, 13050, 13051, 13052, 13053, 13054, 13055, 13056, 13057, 13058, 13059, 13060, 13061, 13062, 13063, 13064, 13065, 13066, 13067, 13068, 13069, 13070, 13071, 13072, 13073, 13074, 13075, 13076, 13077, 13078, 13079, 13080, 13081, 13082, 13083, 13084, 13085, 13086, 13087, 13088, 13089, 13090, 13091, 13092, 13093, 13094, 13095, 13096, 13097, 13098, 13099, 13100, 13101, 13102, 13103, 13104, 13105, 13106, 13107, 13108, 13109, 13110, 13111, 13112, 13113, 13114, 13115, 13116, 13117, 13118, 13119, 13120, 13121, 13122, 13123, 13124, 13125, 13126, 13127, 13128, 13129, 13130, 13131, 13132, 13133, 13134, 13135, 13136, 13137, 13138, 13139, 13140, 13141, 13142, 13143, 13144, 13145, 13146, 13147, 13148, 13149, 13150, 13151, 13152, 13153, 13154, 13155, 13156, 13157, 13158, 13159, 13160, 13161, 13162, 13163, 13164, 13165, 13166, 13167, 13168, 13169, 13170, 13171, 13172, 13173, 13174, 13175, 13176, 13177, 13178, 13179, 13180, 13181, 13182, 13183, 13184, 13185, 13186, 13187, 13188, 13189, 13190, 13191, 13192, 13193, 13194, 13195, 13196, 13197, 13198, 13199, 13200, 13201, 13202, 13203, 13204, 13205, 13206, 13207, 13208, 13209, 13210, 13211, 13212, 13213, 13214, 13215, 13216, 13217, 13218, 13219, 13220, 13221, 13222, 13223, 13224, 13225, 13226, 13227, 13228, 13229, 13230, 13231, 13232, 13233, 13234, 13235, 13236, 13237, 13238, 13239, 13240, 13241, 13242, 13243, 13244, 13245, 13246, 13247, 13248, 13249, 13250, 13251, 13252, 13253, 13254, 13255, 13256, 13257, 13258, 13259, 13260, 13261, 13262, 13263, 13264, 13265, 13266, 13267, 13268, 13269, 13270, 13271, 13272, 13273, 13274, 13275, 13276, 13277, 13278, 13279, 13280, 13281, 13282, 13283, 13284, 13285, 13286, 13287, 13288, 13289, 13290, 13291, 13292, 13293, 13294, 13295, 13296, 13297, 13298, 13299, 13300, 13301, 13302, 13303, 13304, 13305, 13306, 13307, 13308, 13309, 13310, 13311, 13312, 13313, 13314, 13315, 13316, 13317, 13318, 13319, 13320, 13321, 13322, 13323, 13324, 13325, 13326, 13327, 13328, 13329, 13330, 13331, 13332, 13333, 13334, 13335, 13336, 13337, 13338, 13339, 13340, 13341, 13342, 13343, 13344, 13345, 13346, 13347, 13348, 13349, 13350, 13351, 13352, 13353, 13354, 13355, 13356, 13357, 13358, 13359, 13360, 13361, 13362, 13363, 13364, 13365, 13366, 13367, 13368, 13369, 13370, 13371, 13372, 13373, 13374, 13375, 13376, 13377, 13378, 13379, 13380, 13381, 13382, 13383, 13384, 13385, 13386, 13387, 13388, 13389, 13390, 13391, 13392, 13393, 13394, 13395, 13396, 13397, 13398, 13399, 13400, 13401, 13402, 13403, 13404, 13405, 13406, 13407, 13408, 13409, 13410, 13411, 13412, 13413, 13414, 13415, 13416, 13417, 13418, 13419, 13420, 13421, 13422, 13423, 13424, 13425, 13426, 13427, 13431, 13434, 13438, 13439, 13441, 13442, 13443, 13444, 13445, 13446, 13447, 13448, 13449, 13450, 13451, 13453, 13454, 13455, 13456, 13457, 13458, 13459, 13460, 13461, 13462, 13463, 13464, 13465, 13466, 13467, 13468, 13469, 13470, 13471, 13472, 13473, 13474, 13475, 13476, 13477, 13478, 13479, 13480, 13481, 13482, 13483, 13484, 13485, 13486, 13487, 13489, 13490, 13491, 13492, 13493, 13494, 13495, 13496, 13497, 13498, 13499, 13500, 13501, 13502, 13503, 13504, 13505, 13506, 13507, 13508, 13510, 13511, 13512, 13513, 13514, 13515, 13516, 13517, 13518, 13519, 13520, 13521, 13522, 13523, 13524, 13525, 13526, 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13534, 13535, 13536, 13537, 13538, 13539, 13540, 13541, 13542, 13543, 13544, 13546, 13547, 13548, 13549, 13550, 13551, 13552, 13553, 13554, 13555, 13556, 13557, 13558, 13559, 13560, 13561, 13562, 13563, 13564, 13565, 13566, 13567, 13568, 13569, 13570, 13571, 13572, 13573, 13574, 13575, 13576, 13577, 13578, 13579, 13580, 13581, 13582, 13583, 13584, 13585, 13586, 13587, 13588, 13589, 13590, 13591, 13592, 13593, 13594, 13595, 13596, 13597, 13598, 13599, 13600, 13601, 13602, 13603, 13604, 13605, 13606, 13607, 13608, 13609, 13611, 13612, 13613, 13614, 13615, 13616, 13617, 13618, 13619, 13620, 13621, 13622, 13623, 13625, 13626, 13627, 13628, 13629, 13630, 13631, 13632, 13633, 13634, 13635, 13636, 13638, 13639, 13640, 13642, 13643, 13644, 13645, 13646, 13647, 13648, 13649, 13650, 13651, 13652, 13653, 13654, 13655, 13656, 13658, 13659, 13660, 13661, 13662, 13663, 13664 }; #endif #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "NAME_OB", "STRING_VALUE", "INTNUM", "DATE_VALUE", "TIMESTAMP_VALUE", "HINT_VALUE", "BOOL_VALUE", "APPROXNUM", "DECIMAL_VAL", "NULLX", "QUESTIONMARK", "SYSTEM_VARIABLE", "USER_VARIABLE", "CLIENT_VERSION", "MYSQL_DRIVER", "HEX_STRING_VALUE", "OUTLINE_DEFAULT_TOKEN", "KILL_EXPR", "QUERY", "CONNECTION", "LOWER_COMMA", "','", "MINUS", "EXCEPT", "UNION", "INTERSECT", "WINDOW", "INNER", "RIGHT", "FULL", "LEFT", "CROSS", "JOIN", "SET_VAR", "OR_OP", "OR", "XOR", "AND_OP", "AND", "ELSE", "THEN", "WHEN", "CASE", "BETWEEN", "LOWER_THAN_COMP", "REGEXP", "IN", "LIKE", "IS", "COMP_NE", "COMP_LT", "COMP_LE", "COMP_GT", "COMP_GE", "P_NSEQ", "COM", "COMP_EQ", "ESCAPE", "'|'", "'&'", "SHIFT_RIGHT", "SHIFT_LEFT", "'+'", "'-'", "'*'", "'/'", "'%'", "POW", "DIV", "MOD", "'^'", "LOWER_THAN_NEG", "CNNOP", "'~'", "NEG", "LOWER_PARENS", "'('", "')'", "TRANSACTION", "HIGHER_PARENS", "'.'", "NOT2", "NOT", "COLLATE", "BINARY", "INTERVAL", "LOWER_KEY", "KEY", "LOWER_ON", "ON", "LOWER_OVER", "OVER", "LOWER_INTO", "INTO", "LOWER_THAN_BY_ACCESS_SESSION", "ERROR", "PARSER_SYNTAX_ERROR", "READ_STATIC", "INDEX_HINT", "USE_NL", "FROZEN_VERSION", "TOPK", "QUERY_TIMEOUT", "READ_CONSISTENCY", "HOTSPOT", "LOG_LEVEL", "LEADING_HINT", "ORDERED", "FULL_HINT", "USE_MERGE", "USE_HASH", "NO_USE_HASH", "USE_PLAN_CACHE", "USE_JIT", "NO_USE_JIT", "NO_USE_NL", "NO_USE_MERGE", "NO_USE_BNL", "USE_NL_MATERIALIZATION", "NO_USE_NL_MATERIALIZATION", "NO_REWRITE", "TRACE_LOG", "USE_PX", "QB_NAME", "USE_HASH_AGGREGATION", "NO_USE_HASH_AGGREGATION", "NEG_SIGN", "USE_LATE_MATERIALIZATION", "NO_USE_LATE_MATERIALIZATION", "USE_BNL", "MAX_CONCURRENT", "PX_JOIN_FILTER", "NO_USE_PX", "PQ_DISTRIBUTE", "RANDOM_LOCAL", "BROADCAST", "TRACING", "MERGE_HINT", "NO_MERGE_HINT", "NO_EXPAND", "USE_CONCAT", "UNNEST", "NO_UNNEST", "PLACE_GROUP_BY", "NO_PLACE_GROUP_BY", "NO_PRED_DEDUCE", "TRANS_PARAM", "FORCE_REFRESH_LOCATION_CACHE", "LOAD_BATCH_SIZE", "NO_PX_JOIN_FILTER", "DISABLE_PARALLEL_DML", "PQ_MAP", "ENABLE_PARALLEL_DML", "NO_PARALLEL", "_BINARY", "_UTF8", "_UTF8MB4", "_GBK", "_UTF16", "_GB18030", "SELECT_HINT_BEGIN", "UPDATE_HINT_BEGIN", "DELETE_HINT_BEGIN", "INSERT_HINT_BEGIN", "REPLACE_HINT_BEGIN", "HINT_HINT_BEGIN", "HINT_END", "LOAD_DATA_HINT_BEGIN", "END_P", "DELIMITER", "ACCESSIBLE", "ADD", "ALL", "ALTER", "ANALYZE", "AS", "ASC", "ASENSITIVE", "BEFORE", "BIGINT", "BLOB", "BOTH", "BY", "CALL", "CASCADE", "CHANGE", "CHAR", "CHARACTER", "CHECK", "COLUMN", "CONDITION", "CONSTRAINT", "CONTINUE", "CONVERT", "CREATE", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "DATABASE", "DATABASES", "DAY_HOUR", "DAY_MICROSECOND", "DAY_MINUTE", "DAY_SECOND", "DECLARE", "DECIMAL", "DEFAULT", "DELAYED", "DELETE", "DESC", "DESCRIBE", "DETERMINISTIC", "DISTINCT", "DISTINCTROW", "DOUBLE", "DROP", "DUAL", "EACH", "ELSEIF", "ENCLOSED", "ESCAPED", "EXISTS", "EXIT", "EXPLAIN", "FETCH", "FLOAT", "FLOAT4", "FLOAT8", "FOR", "FORCE", "FOREIGN", "FROM", "GENERATED", "GET", "GRANT", "GROUP", "HAVING", "HIGH_PRIORITY", "HOUR_MICROSECOND", "HOUR_MINUTE", "HOUR_SECOND", "IF", "IGNORE", "INDEX", "INFILE", "INOUT", "INSENSITIVE", "INSERT", "INT", "INT1", "INT2", "INT3", "INT4", "INT8", "INTEGER", "IO_AFTER_GTIDS", "IO_BEFORE_GTIDS", "ITERATE", "KEYS", "KILL", "LEADING", "LEAVE", "LIMIT", "LINEAR", "LINES", "LOAD", "LOCALTIME", "LOCALTIMESTAMP", "LONG", "LONGBLOB", "LONGTEXT", "LOOP", "LOW_PRIORITY", "MASTER_BIND", "MASTER_SSL_VERIFY_SERVER_CERT", "MATCH", "MAXVALUE", "MEDIUMBLOB", "MEDIUMINT", "MEDIUMTEXT", "MIDDLEINT", "MINUTE_MICROSECOND", "MINUTE_SECOND", "MODIFIES", "NATURAL", "NO_WRITE_TO_BINLOG", "OPTIMIZE", "OPTION", "OPTIONALLY", "ORDER", "OUT", "OUTER", "OUTFILE", "PARTITION", "PRECISION", "PRIMARY", "PROCEDURE", "PURGE", "RANGE", "READ", "READS", "READ_WRITE", "REAL", "REFERENCES", "RELEASE", "RENAME", "REPEAT", "REPLACE", "REQUIRE", "RESIGNAL", "RESTRICT", "RETURN", "REVOKE", "RLIKE", "SCHEMA", "SCHEMAS", "SECOND_MICROSECOND", "SELECT", "SENSITIVE", "SEPARATOR", "SET", "SHOW", "SIGNAL", "SMALLINT", "SPATIAL", "SPECIFIC", "SQL", "SQLEXCEPTION", "SQLSTATE", "SQLWARNING", "SQL_BIG_RESULT", "SQL_CALC_FOUND_ROWS", "SQL_SMALL_RESULT", "SSL", "STARTING", "STORED", "STRAIGHT_JOIN", "TABLE", "TERMINATED", "TINYBLOB", "TINYINT", "TINYTEXT", "TO", "TRAILING", "TRIGGER", "UNDO", "UNIQUE", "UNLOCK", "UNSIGNED", "UPDATE", "USAGE", "USE", "USING", "UTC_DATE", "UTC_TIME", "UTC_TIMESTAMP", "VALUES", "VARBINARY", "VARCHAR", "VARCHARACTER", "VARYING", "VIRTUAL", "WHERE", "WHILE", "WITH", "WRITE", "YEAR_MONTH", "ZEROFILL", "TABLEGROUP", "ACCESS", "ACCOUNT", "ACTION", "ACTIVE", "ADDDATE", "AFTER", "AGAINST", "AGGREGATE", "ALGORITHM", "ALWAYS", "ANALYSE", "ANY", "APPROX_COUNT_DISTINCT", "APPROX_COUNT_DISTINCT_SYNOPSIS", "APPROX_COUNT_DISTINCT_SYNOPSIS_MERGE", "ASCII", "AT", "AUTHORS", "AUTO", "AUTOEXTEND_SIZE", "AUTO_INCREMENT", "AVG", "AVG_ROW_LENGTH", "ACTIVATE", "AVAILABILITY", "ARCHIVELOG", "AUDIT", "BACKUP", "BALANCE", "BASE", "BASELINE", "BASELINE_ID", "BASIC", "BEGI", "BINDING", "BINLOG", "BIT", "BLOCK", "BLOCK_INDEX", "BLOCK_SIZE", "BLOOM_FILTER", "BOOL", "BOOLEAN", "BOOTSTRAP", "BTREE", "BYTE", "BREADTH", "BUCKETS", "BISON_LIST", "BACKUPSET", "CACHE", "CANCEL", "CASCADED", "CAST", "CATALOG_NAME", "CHAIN", "CHANGED", "CHARSET", "CHECKSUM", "CHECKPOINT", "CHUNK", "CIPHER", "CLASS_ORIGIN", "CLEAN", "CLEAR", "CLIENT", "CLOG", "CLOSE", "CLUSTER", "CLUSTER_ID", "CLUSTER_NAME", "COALESCE", "COLUMN_STAT", "CODE", "COLLATION", "COLUMN_FORMAT", "COLUMN_NAME", "COLUMNS", "COMMENT", "COMMIT", "COMMITTED", "COMPACT", "COMPLETION", "COMPRESSED", "COMPRESSION", "CONCURRENT", "CONSISTENT", "CONSISTENT_MODE", "CONSTRAINT_CATALOG", "CONSTRAINT_NAME", "CONSTRAINT_SCHEMA", "CONTAINS", "CONTEXT", "CONTRIBUTORS", "COPY", "COUNT", "CPU", "CREATE_TIMESTAMP", "CTX_ID", "CUBE", "CURDATE", "CURRENT", "CURTIME", "CURSOR_NAME", "CUME_DIST", "CYCLE", "DAG", "DATA", "DATAFILE", "DATA_TABLE_ID", "DATE", "DATE_ADD", "DATE_SUB", "DATETIME", "DAY", "DEALLOCATE", "DECRYPTION", "DEFAULT_AUTH", "DEFINER", "DELAY", "DELAY_KEY_WRITE", "DEPTH", "DES_KEY_FILE", "DENSE_RANK", "DESTINATION", "DIAGNOSTICS", "DIRECTORY", "DISABLE", "DISCARD", "DISK", "DISKGROUP", "DO", "DUMP", "DUMPFILE", "DUPLICATE", "DUPLICATE_SCOPE", "DYNAMIC", "DATABASE_ID", "DEFAULT_TABLEGROUP", "EFFECTIVE", "ENABLE", "ENCRYPTION", "END", "ENDS", "ENGINE_", "ENGINES", "ENUM", "ENTITY", "ERROR_CODE", "ERROR_P", "ERRORS", "EVENT", "EVENTS", "EVERY", "EXCHANGE", "EXECUTE", "EXPANSION", "EXPIRE", "EXPIRE_INFO", "EXPORT", "OUTLINE", "EXTENDED", "EXTENDED_NOADDR", "EXTENT_SIZE", "EXTRACT", "EXPIRED", "FAILOVER", "FAST", "FAULTS", "FIELDS", "FILEX", "FINAL_COUNT", "FIRST", "FIRST_VALUE", "FIXED", "FLUSH", "FOLLOWER", "FORMAT", "FOUND", "FREEZE", "FREQUENCY", "FUNCTION", "FOLLOWING", "FLASHBACK", "FROZEN", "FILE_ID", "GENERAL", "GEOMETRY", "GEOMETRYCOLLECTION", "GET_FORMAT", "GLOBAL", "GRANTS", "GROUP_CONCAT", "GROUPING", "GTS", "GLOBAL_NAME", "GLOBAL_ALIAS", "HANDLER", "HASH", "HELP", "HISTOGRAM", "HOST", "HOSTS", "HOUR", "ID", "IDC", "IDENTIFIED", "IGNORE_SERVER_IDS", "ILOG", "IMPORT", "INCR", "INDEXES", "INDEX_TABLE_ID", "INFO", "INITIAL_SIZE", "INNODB", "INSERT_METHOD", "INSTALL", "INSTANCE", "INVOKER", "IO", "IO_THREAD", "IPC", "ISOLATE", "ISOLATION", "ISSUER", "IS_TENANT_SYS_POOL", "INVISIBLE", "MERGE", "ISNULL", "INCREMENTAL", "INNER_PARSE", "ILOGCACHE", "INPUT", "JOB", "JSON", "KEY_BLOCK_SIZE", "KEY_VERSION", "KVCACHE", "LAG", "LANGUAGE", "LAST", "LAST_VALUE", "LEAD", "LEADER", "LEAVES", "LESS", "LEAK", "LEAK_MOD", "LINESTRING", "LIST_", "LISTAGG", "LOCAL", "LOCALITY", "LOCATION", "LOCKED", "LOCKS", "LOGFILE", "LOGONLY_REPLICA_NUM", "LOGS", "LOCK_", "LOGICAL_READS", "LEVEL", "LN", "LOG", "MAJOR", "MANUAL", "MASTER", "MASTER_AUTO_POSITION", "MASTER_CONNECT_RETRY", "MASTER_DELAY", "MASTER_HEARTBEAT_PERIOD", "MASTER_HOST", "MASTER_LOG_FILE", "MASTER_LOG_POS", "MASTER_PASSWORD", "MASTER_PORT", "MASTER_RETRY_COUNT", "MASTER_SERVER_ID", "MASTER_SSL", "MASTER_SSL_CA", "MASTER_SSL_CAPATH", "MASTER_SSL_CERT", "MASTER_SSL_CIPHER", "MASTER_SSL_CRL", "MASTER_SSL_CRLPATH", "MASTER_SSL_KEY", "MASTER_USER", "MAX", "MAX_CONNECTIONS_PER_HOUR", "MAX_CPU", "MAX_DISK_SIZE", "MAX_IOPS", "MAX_MEMORY", "MAX_QUERIES_PER_HOUR", "MAX_ROWS", "MAX_SESSION_NUM", "MAX_SIZE", "MAX_UPDATES_PER_HOUR", "MAX_USER_CONNECTIONS", "MEDIUM", "MEMORY", "MEMTABLE", "MESSAGE_TEXT", "META", "MICROSECOND", "MIGRATE", "MIN", "MIN_CPU", "MIN_IOPS", "MIN_MEMORY", "MINOR", "MIN_ROWS", "MINUTE", "MODE", "MODIFY", "MONTH", "MOVE", "MULTILINESTRING", "MULTIPOINT", "MULTIPOLYGON", "MUTEX", "MYSQL_ERRNO", "MIGRATION", "MAX_USED_PART_ID", "MAXIMIZE", "MATERIALIZED", "MEMSTORE_PERCENT", "NAME", "NAMES", "NATIONAL", "NCHAR", "NDB", "NDBCLUSTER", "NEW", "NEXT", "NO", "NOAUDIT", "NODEGROUP", "NONE", "NORMAL", "NOW", "NOWAIT", "NO_WAIT", "NULLS", "NUMBER", "NVARCHAR", "NTILE", "NTH_VALUE", "NOARCHIVELOG", "NETWORK", "NOPARALLEL", "OBSOLETE", "OCCUR", "OF", "OFF", "OFFSET", "OLD_PASSWORD", "ONE", "ONE_SHOT", "ONLY", "OPEN", "OPTIONS", "ORIG_DEFAULT", "OWNER", "OLD_KEY", "PACK_KEYS", "PAGE", "PARALLEL", "PARAMETERS", "PARSER", "PARTIAL", "PARTITION_ID", "PARTITIONING", "PARTITIONS", "PASSWORD", "PAUSE", "PERCENT_RANK", "PHASE", "PLAN", "PHYSICAL", "PLANREGRESS", "PLUGIN", "PLUGIN_DIR", "PLUGINS", "POINT", "POLYGON", "PERFORMANCE", "PROTECTION", "PRIORITY", "PL", "POOL", "PORT", "POSITION", "PREPARE", "PRESERVE", "PREV", "PRIMARY_ZONE", "PRIVILEGES", "PROCESS", "PROCESSLIST", "PROFILE", "PROFILES", "PROXY", "PRECEDING", "PCTFREE", "P_ENTITY", "P_CHUNK", "PRIMARY_ROOTSERVICE_LIST", "PRIMARY_CLUSTER_ID", "PUBLIC", "PROGRESSIVE_MERGE_NUM", "PS", "QUARTER", "QUEUE_TIME", "QUICK", "REBUILD", "RECOVER", "RECYCLE", "REDO_BUFFER_SIZE", "REDOFILE", "REDUNDANT", "REFRESH", "REGION", "RELAY", "RELAYLOG", "RELAY_LOG_FILE", "RELAY_LOG_POS", "RELAY_THREAD", "RELOAD", "REMOVE", "REORGANIZE", "REPAIR", "REPEATABLE", "REPLICA", "REPLICA_NUM", "REPLICA_TYPE", "REPLICATION", "REPORT", "RESET", "RESOURCE", "RESOURCE_POOL_LIST", "RESPECT", "RESTART", "RESTORE", "RESUME", "RETURNED_SQLSTATE", "RETURNS", "REVERSE", "REWRITE_MERGE_VERSION", "ROLLBACK", "ROLLUP", "ROOT", "ROOTTABLE", "ROOTSERVICE", "ROOTSERVICE_LIST", "ROUTINE", "ROW", "ROLLING", "ROW_COUNT", "ROW_FORMAT", "ROWS", "RTREE", "RUN", "RECYCLEBIN", "ROTATE", "ROW_NUMBER", "RUDUNDANT", "RECURSIVE", "RANDOM", "REDO_TRANSPORT_OPTIONS", "REMOTE_OSS", "RT", "RANK", "READ_ONLY", "RECOVERY", "SAMPLE", "SAVEPOINT", "SCHEDULE", "SCHEMA_NAME", "SCOPE", "SECOND", "SECURITY", "SEED", "SERIAL", "SERIALIZABLE", "SERVER", "SERVER_IP", "SERVER_PORT", "SERVER_TYPE", "SESSION", "SESSION_USER", "SET_MASTER_CLUSTER", "SET_SLAVE_CLUSTER", "SET_TP", "SHARE", "SHUTDOWN", "SIGNED", "SIMPLE", "SLAVE", "SLOW", "SLOT_IDX", "SNAPSHOT", "SOCKET", "SOME", "SONAME", "SOUNDS", "SOURCE", "SPFILE", "SPLIT", "SQL_AFTER_GTIDS", "SQL_AFTER_MTS_GAPS", "SQL_BEFORE_GTIDS", "SQL_BUFFER_RESULT", "SQL_CACHE", "SQL_NO_CACHE", "SQL_ID", "SQL_THREAD", "SQL_TSI_DAY", "SQL_TSI_HOUR", "SQL_TSI_MINUTE", "SQL_TSI_MONTH", "SQL_TSI_QUARTER", "SQL_TSI_SECOND", "SQL_TSI_WEEK", "SQL_TSI_YEAR", "STANDBY", "STAT", "START", "STARTS", "STATS_AUTO_RECALC", "STATS_PERSISTENT", "STATS_SAMPLE_PAGES", "STATUS", "STATEMENTS", "STD", "STDDEV", "STDDEV_POP", "STDDEV_SAMP", "STRONG", "SYNCHRONIZATION", "STOP", "STORAGE", "STORAGE_FORMAT_VERSION", "STORAGE_FORMAT_WORK_VERSION", "STORING", "STRING", "SUBCLASS_ORIGIN", "SUBDATE", "SUBJECT", "SUBPARTITION", "SUBPARTITIONS", "SUBSTR", "SUBSTRING", "SUCCESSFUL", "SUM", "SUPER", "SUSPEND", "SWAPS", "SWITCH", "SWITCHES", "SWITCHOVER", "SYSTEM", "SYSTEM_USER", "SYSDATE", "SESSION_ALIAS", "SYNONYM", "SIZE", "TABLE_CHECKSUM", "TABLE_MODE", "TABLE_ID", "TABLE_NAME", "TABLEGROUPS", "TABLES", "TABLESPACE", "TABLET", "TABLET_MAX_SIZE", "TEMPLATE", "TEMPORARY", "TEMPTABLE", "TENANT", "TEXT", "THAN", "TIME", "TIMESTAMP", "TIMESTAMPADD", "TIMESTAMPDIFF", "TP_NO", "TP_NAME", "TRACE", "TRADITIONAL", "TRIGGERS", "TRIM", "TRUNCATE", "TYPE", "TYPES", "TASK", "TABLET_SIZE", "TABLEGROUP_ID", "TENANT_ID", "THROTTLE", "TIME_ZONE_INFO", "UNCOMMITTED", "UNDEFINED", "UNDO_BUFFER_SIZE", "UNDOFILE", "UNICODE", "UNINSTALL", "UNIT", "UNIT_NUM", "UNLOCKED", "UNTIL", "UNUSUAL", "UPGRADE", "USE_BLOOM_FILTER", "UNKNOWN", "USE_FRM", "USER", "USER_RESOURCES", "UNBOUNDED", "VALID", "VALUE", "VARIANCE", "VARIABLES", "VERBOSE", "VERIFY", "VIEW", "VISIBLE", "VIRTUAL_COLUMN_ID", "VALIDATE", "VAR_POP", "VAR_SAMP", "WAIT", "WARNINGS", "WEEK", "WEIGHT_STRING", "WHENEVER", "WITH_ROWID", "WORK", "WRAPPER", "WEAK", "X509", "XA", "XML", "YEAR", "ZONE", "ZONE_LIST", "ZONE_TYPE", "COMP_NSEQ", "'!'", "'@'", "'\\''", "COMMA", "$accept", "sql_stmt", "stmt_list", "opt_end_p", "stmt", "expr_list", "expr_as_list", "expr_with_opt_alias", "column_ref", "complex_string_literal", "charset_introducer", "literal", "number_literal", "expr_const", "conf_const", "global_or_session_alias", "bool_pri", "predicate", "string_val_list", "bit_expr", "simple_expr", "opt_mode_flag", "expr", "not", "not2", "sub_query_flag", "in_expr", "case_expr", "window_function", "first_or_last", "opt_from_first_or_last", "respect_or_ignore", "opt_respect_or_ignore_nulls", "win_fun_first_last_params", "win_fun_lead_lag_params", "new_generalized_window_clause", "new_generalized_window_clause_with_blanket", "opt_named_windows", "named_windows", "named_window", "generalized_window_clause", "opt_partition_by", "win_rows_or_range", "win_preceding_or_following", "win_interval", "win_bounding", "win_window", "opt_win_window", "case_arg", "when_clause_list", "when_clause", "case_default", "opt_all", "func_expr", "sys_interval_func", "utc_timestamp_func", "utc_time_func", "utc_date_func", "sysdate_func", "cur_timestamp_func", "now_synonyms_func", "cur_time_func", "cur_date_func", "opt_time_func_fsp_i", "substr_or_substring", "substr_params", "date_params", "timestamp_params", "opt_expr_as_list", "opt_distinct", "opt_distinct_or_all", "opt_separator", "delete_stmt", "multi_delete_table", "update_stmt", "update_asgn_list", "update_asgn_factor", "create_resource_stmt", "opt_resource_unit_option_list", "resource_unit_option", "opt_create_resource_pool_option_list", "create_resource_pool_option", "alter_resource_pool_option_list", "unit_id_list", "opt_shrink_unit_option", "alter_resource_pool_option", "alter_resource_stmt", "drop_resource_stmt", "create_tenant_stmt", "opt_tenant_option_list", "tenant_option", "opt_set_sys_var", "opt_global_sys_vars_set", "zone_list", "resource_pool_list", "alter_tenant_stmt", "drop_tenant_stmt", "create_restore_point_stmt", "drop_restore_point_stmt", "create_database_stmt", "database_key", "database_factor", "opt_database_option_list", "database_option_list", "charset_key", "database_option", "read_only_or_write", "drop_database_stmt", "alter_database_stmt", "opt_database_name", "load_data_stmt", "load_data_with_opt_hint", "opt_load_local", "opt_duplicate", "opt_load_charset", "opt_load_ignore_rows", "lines_or_rows", "opt_field_or_var_spec", "field_or_vars_list", "field_or_vars", "opt_load_set_spec", "load_set_list", "load_set_element", "use_database_stmt", "create_synonym_stmt", "opt_public", "synonym_name", "opt_dlink", "synonym_object", "drop_synonym_stmt", "opt_force", "opt_force_purge", "temporary_option", "create_table_like_stmt", "create_table_stmt", "opt_agg", "ret_type", "create_function_stmt", "drop_function_stmt", "opt_if_not_exists", "table_element_list", "table_element", "opt_reference_option_list", "reference_option", "reference_action", "opt_match_option", "match_action", "column_definition", "opt_generated_keyname", "opt_generated_column_attribute_list", "generated_column_attribute", "opt_storage_type", "column_definition_ref", "column_definition_list", "cast_data_type", "opt_integer", "cast_datetime_type_i", "get_format_unit", "data_type", "string_list", "text_string", "int_type_i", "float_type_i", "datetime_type_i", "date_year_type_i", "text_type_i", "blob_type_i", "opt_int_length_i", "opt_bit_length_i", "opt_float_precision", "opt_number_precision", "opt_year_i", "opt_datetime_fsp_i", "string_length_i", "opt_string_length_i", "opt_string_length_i_v2", "opt_unsigned_i", "opt_zerofill_i", "opt_binary", "collation_name", "trans_param_name", "trans_param_value", "charset_name", "charset_name_or_default", "opt_charset", "collation", "opt_collation", "opt_column_attribute_list", "column_attribute", "now_or_signed_literal", "signed_literal", "opt_primary", "opt_comma", "opt_table_option_list", "table_option_list_space_seperated", "table_option_list", "primary_zone_name", "locality_name", "table_option", "parallel_option", "relation_name_or_string", "opt_equal_mark", "opt_default_mark", "partition_option", "opt_partition_option", "auto_partition_option", "partition_size", "auto_partition_type", "auto_range_type", "hash_partition_option", "list_partition_option", "key_partition_option", "range_partition_option", "opt_column_partition_option", "column_partition_option", "aux_column_list", "vertical_column_name", "column_name_list", "subpartition_option", "subpartition_template_option", "subpartition_individual_option", "opt_hash_partition_list", "hash_partition_list", "hash_partition_element", "opt_range_partition_list", "range_partition_list", "range_partition_element", "opt_list_partition_list", "list_partition_list", "list_partition_element", "opt_subpartition_list", "opt_hash_subpartition_list", "hash_subpartition_list", "hash_subpartition_element", "opt_range_subpartition_list", "range_subpartition_list", "range_subpartition_element", "opt_list_subpartition_list", "list_subpartition_list", "list_subpartition_element", "list_partition_expr", "list_expr", "range_partition_expr", "opt_part_id", "range_expr_list", "range_expr", "opt_partitions", "opt_subpartitions", "int_or_decimal", "opt_tg_partition_option", "tg_hash_partition_option", "tg_key_partition_option", "tg_range_partition_option", "tg_list_partition_option", "tg_subpartition_option", "row_format_option", "create_tablegroup_stmt", "drop_tablegroup_stmt", "alter_tablegroup_stmt", "opt_tablegroup_option_list", "tablegroup_option_list_space_seperated", "tablegroup_option_list", "tablegroup_option", "alter_tablegroup_actions", "alter_tablegroup_action", "default_tablegroup", "opt_table", "create_view_stmt", "view_select_stmt", "opt_replace", "opt_materialized", "view_name", "opt_column_list", "opt_table_id", "create_index_stmt", "opt_index_keyname", "opt_index_name", "index_name", "opt_constraint", "opt_constraint_name", "constraint_name", "sort_column_list", "sort_column_key", "opt_column_id", "opt_sort_column_key_length", "opt_index_option_list", "opt_index_options", "index_option", "opt_index_using_algorithm", "index_using_algorithm", "opt_materialized_or_temporary", "drop_table_stmt", "table_or_tables", "drop_view_stmt", "opt_if_exists", "table_list", "drop_index_stmt", "insert_stmt", "single_table_insert", "values_clause", "value_or_values", "opt_into", "opt_ignore", "opt_on_duplicate_key_clause", "opt_when", "replace_with_opt_hint", "insert_with_opt_hint", "column_list", "insert_vals_list", "insert_vals", "expr_or_default", "select_stmt", "select_into", "select_with_parens", "select_no_parens", "no_table_select", "select_clause", "select_clause_set_with_order_and_limit", "select_clause_set", "select_clause_set_right", "select_clause_set_left", "no_table_select_with_order_and_limit", "simple_select_with_order_and_limit", "select_with_parens_with_order_and_limit", "select_with_opt_hint", "update_with_opt_hint", "delete_with_opt_hint", "simple_select", "set_type_union", "set_type_other", "set_type", "set_expression_option", "opt_where", "opt_hint_value", "limit_clause", "into_clause", "into_opt", "into_var_list", "into_var", "field_opt", "field_term_list", "field_term", "line_opt", "line_term_list", "line_term", "hint_list_with_end", "opt_hint_list", "hint_options", "name_list", "hint_option", "opt_qb_name", "consistency_level", "use_plan_cache_type", "use_jit_type", "distribute_method", "opt_distribute_method", "limit_expr", "opt_limit_clause", "opt_for_update", "opt_for_update_wait", "parameterized_trim", "opt_groupby", "groupby_clause", "sort_list_for_group_by", "sort_key_for_group_by", "opt_asc_desc_for_group_by", "opt_rollup", "opt_order_by", "order_by", "sort_list", "sort_key", "opt_asc_desc", "opt_having", "opt_query_expression_option_list", "query_expression_option_list", "query_expression_option", "projection", "opt_as", "select_expr_list", "from_list", "table_references", "table_reference", "table_factor", "tbl_name", "dml_table_name", "seed", "sample_percent", "opt_sample_scope", "sample_clause", "opt_block", "table_subquery", "opt_use_partition", "use_partition", "index_hint_type", "opt_key_or_index", "key_or_index", "index_hint_scope", "index_element", "index_list", "opt_index_list", "index_hint_definition", "index_hint_list", "relation_factor", "relation_with_star_list", "relation_factor_with_star", "opt_with_star", "normal_relation_factor", "dot_relation_factor", "relation_factor_in_hint", "qb_name_option", "relation_factor_in_hint_list", "relation_sep_option", "relation_factor_in_pq_hint", "relation_factor_in_leading_hint", "relation_factor_in_leading_hint_list", "relation_factor_in_leading_hint_list_entry", "relation_factor_in_use_join_hint_list", "tracing_num_list", "join_condition", "joined_table", "opt_full_table_factor", "natural_join_type", "inner_join_type", "opt_inner", "outer_join_type", "except_full_outer_join_type", "opt_outer", "create_outline_stmt", "alter_outline_stmt", "drop_outline_stmt", "opt_outline_target", "explain_stmt", "explain_or_desc", "explainable_stmt", "format_name", "show_stmt", "databases_or_schemas", "opt_limit", "opt_for_grant_user", "opt_status", "opt_storage", "opt_scope", "columns_or_fields", "database_or_schema", "index_or_indexes_or_keys", "from_or_in", "opt_from_or_in_database_clause", "opt_show_condition", "opt_desc_column_option", "create_user_stmt", "user_specification_list", "user_specification", "require_specification", "opt_resource_option", "resource_option_list", "resource_option", "tls_option_list", "tls_option", "user", "opt_host_name", "user_with_host_name", "password", "drop_user_stmt", "user_list", "set_password_stmt", "opt_for_user", "rename_user_stmt", "rename_info", "rename_list", "lock_user_stmt", "lock_spec_mysql57", "lock_tables_stmt", "unlock_tables_stmt", "lock_table_list", "lock_table", "lock_type", "opt_local", "opt_work", "opt_with_consistent_snapshot", "begin_stmt", "xa_begin_stmt", "xa_end_stmt", "xa_prepare_stmt", "xa_commit_stmt", "xa_rollback_stmt", "commit_stmt", "rollback_stmt", "kill_stmt", "grant_stmt", "grant_privileges", "priv_type_list", "priv_type", "opt_privilege", "priv_level", "grant_options", "revoke_stmt", "prepare_stmt", "stmt_name", "preparable_stmt", "variable_set_stmt", "sys_var_and_val_list", "var_and_val_list", "set_expr_or_default", "var_and_val", "sys_var_and_val", "scope_or_scope_alias", "to_or_eq", "execute_stmt", "opt_using_args", "argument_list", "argument", "deallocate_prepare_stmt", "deallocate_or_drop", "truncate_table_stmt", "rename_table_stmt", "rename_table_actions", "rename_table_action", "alter_table_stmt", "alter_table_actions", "alter_table_action", "alter_constraint_option", "alter_partition_option", "opt_partition_range_or_list", "alter_tg_partition_option", "drop_partition_name_list", "modify_partition_info", "modify_tg_partition_info", "alter_index_option", "alter_foreign_key_action", "visibility_option", "alter_column_option", "opt_position_column", "alter_tablegroup_option", "opt_column", "opt_to", "opt_set", "opt_drop_behavior", "alter_column_behavior", "purge_stmt", "optimize_stmt", "dump_memory_stmt", "alter_system_stmt", "opt_sql_throttle_for_priority", "opt_sql_throttle_using_cond", "sql_throttle_one_or_more_metrics", "sql_throttle_metric", "opt_disk_alias", "change_tenant_name_or_tenant_id", "cache_type", "balance_task_type", "opt_balance_task_type", "opt_tenant_list", "tenant_list_tuple", "tenant_name_list", "flush_scope", "opt_zone_list", "server_info_list", "server_info", "server_action", "server_list", "opt_server_list", "opt_ignore_server_list", "zone_action", "ip_port", "zone_desc", "opt_zone_desc", "opt_create_timestamp", "server_or_zone", "opt_server_or_zone", "add_or_alter_zone_option", "add_or_alter_zone_options", "alter_or_change_or_modify", "partition_id_desc", "opt_tenant_list_or_partition_id_desc", "partition_id_or_server_or_zone", "migrate_action", "change_actions", "change_action", "replica_type", "memstore_percent", "suspend_or_resume", "baseline_id_expr", "opt_baseline_id", "sql_id_expr", "opt_sql_id", "baseline_asgn_factor", "tenant_name", "opt_tenant_name", "cache_name", "opt_cache_name", "file_id", "opt_file_id", "cancel_task_type", "alter_system_set_parameter_actions", "alter_system_set_parameter_action", "opt_comment", "alter_system_settp_actions", "settp_option", "opt_full", "opt_config_scope", "partition_role", "upgrade_action", "set_names_stmt", "set_charset_stmt", "set_transaction_stmt", "transaction_characteristics", "transaction_access_mode", "isolation_level", "create_savepoint_stmt", "rollback_savepoint_stmt", "release_savepoint_stmt", "var_name", "column_name", "relation_name", "function_name", "column_label", "date_unit", "unreserved_keyword", "unreserved_keyword_normal", "unreserved_keyword_special", "unreserved_keyword_extra", "mysql_reserved_keyword", 0 }; #endif # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 44, 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, 124, 38, 315, 316, 43, 45, 42, 47, 37, 317, 318, 319, 94, 320, 321, 126, 322, 323, 40, 41, 324, 325, 46, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 33, 64, 39, 1265 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { 0, 1027, 1028, 1029, 1029, 1029, 1029, 1030, 1030, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1032, 1032, 1033, 1033, 1034, 1034, 1034, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1036, 1036, 1036, 1037, 1037, 1037, 1037, 1037, 1037, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1039, 1039, 1040, 1040, 1040, 1040, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1042, 1042, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1045, 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1048, 1048, 1048, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1050, 1050, 1051, 1051, 1052, 1052, 1052, 1053, 1053, 1054, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1056, 1056, 1057, 1057, 1058, 1058, 1059, 1059, 1060, 1060, 1061, 1061, 1061, 1062, 1062, 1063, 1063, 1064, 1064, 1065, 1065, 1066, 1067, 1068, 1068, 1069, 1069, 1070, 1070, 1071, 1071, 1072, 1072, 1073, 1073, 1074, 1074, 1075, 1075, 1076, 1076, 1077, 1078, 1078, 1079, 1079, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1081, 1081, 1082, 1082, 1082, 1083, 1083, 1083, 1084, 1084, 1085, 1085, 1086, 1086, 1086, 1087, 1087, 1087, 1088, 1088, 1088, 1089, 1089, 1089, 1090, 1090, 1090, 1091, 1091, 1092, 1092, 1092, 1092, 1093, 1094, 1095, 1095, 1096, 1096, 1096, 1097, 1097, 1097, 1097, 1098, 1098, 1099, 1099, 1100, 1100, 1101, 1102, 1102, 1103, 1104, 1104, 1105, 1105, 1105, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1107, 1107, 1107, 1108, 1108, 1108, 1108, 1109, 1109, 1110, 1110, 1111, 1111, 1112, 1112, 1112, 1113, 1113, 1113, 1113, 1114, 1114, 1115, 1116, 1116, 1116, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1118, 1118, 1118, 1119, 1119, 1120, 1120, 1121, 1121, 1122, 1122, 1122, 1122, 1123, 1124, 1125, 1126, 1127, 1127, 1128, 1129, 1129, 1130, 1130, 1131, 1131, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1133, 1133, 1134, 1135, 1136, 1136, 1137, 1138, 1138, 1139, 1139, 1139, 1140, 1140, 1140, 1141, 1141, 1142, 1142, 1142, 1143, 1143, 1144, 1144, 1144, 1145, 1145, 1146, 1146, 1147, 1147, 1148, 1148, 1149, 1150, 1151, 1151, 1151, 1151, 1152, 1152, 1153, 1153, 1154, 1154, 1155, 1155, 1156, 1156, 1157, 1157, 1158, 1158, 1158, 1159, 1159, 1160, 1160, 1161, 1161, 1161, 1161, 1161, 1161, 1162, 1162, 1163, 1163, 1163, 1163, 1164, 1165, 1166, 1166, 1167, 1167, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1169, 1169, 1170, 1170, 1171, 1171, 1171, 1171, 1171, 1172, 1172, 1173, 1173, 1173, 1174, 1174, 1175, 1175, 1176, 1176, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1178, 1178, 1178, 1179, 1179, 1179, 1180, 1180, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1182, 1182, 1183, 1183, 1183, 1184, 1184, 1184, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1186, 1186, 1187, 1187, 1188, 1188, 1188, 1188, 1188, 1189, 1189, 1189, 1189, 1189, 1190, 1190, 1190, 1191, 1191, 1192, 1192, 1192, 1192, 1193, 1193, 1193, 1193, 1194, 1194, 1195, 1195, 1196, 1196, 1196, 1197, 1197, 1197, 1198, 1198, 1199, 1199, 1200, 1201, 1201, 1202, 1202, 1203, 1203, 1203, 1204, 1204, 1205, 1205, 1206, 1206, 1207, 1208, 1208, 1209, 1209, 1209, 1210, 1210, 1211, 1211, 1212, 1213, 1213, 1214, 1214, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1216, 1216, 1217, 1217, 1217, 1218, 1218, 1219, 1219, 1220, 1220, 1221, 1221, 1222, 1222, 1223, 1223, 1223, 1223, 1224, 1224, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1226, 1226, 1227, 1227, 1227, 1228, 1228, 1229, 1229, 1230, 1230, 1230, 1230, 1231, 1231, 1231, 1232, 1233, 1233, 1234, 1235, 1235, 1235, 1236, 1236, 1237, 1237, 1238, 1238, 1238, 1238, 1239, 1239, 1240, 1240, 1241, 1241, 1242, 1242, 1243, 1243, 1244, 1244, 1245, 1245, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1247, 1247, 1247, 1247, 1247, 1247, 1248, 1249, 1249, 1250, 1251, 1252, 1252, 1253, 1254, 1255, 1255, 1256, 1257, 1257, 1257, 1257, 1258, 1259, 1259, 1260, 1261, 1262, 1262, 1263, 1264, 1265, 1265, 1266, 1267, 1267, 1268, 1268, 1269, 1269, 1270, 1270, 1271, 1271, 1272, 1272, 1273, 1273, 1274, 1274, 1275, 1275, 1276, 1276, 1276, 1276, 1276, 1277, 1278, 1279, 1279, 1280, 1280, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1282, 1282, 1282, 1282, 1282, 1283, 1284, 1285, 1285, 1285, 1286, 1286, 1287, 1287, 1288, 1288, 1289, 1289, 1289, 1289, 1289, 1290, 1290, 1291, 1292, 1292, 1293, 1293, 1294, 1295, 1296, 1296, 1297, 1297, 1298, 1299, 1299, 1300, 1300, 1301, 1302, 1302, 1303, 1303, 1304, 1305, 1305, 1306, 1306, 1307, 1308, 1308, 1309, 1310, 1310, 1311, 1311, 1312, 1312, 1313, 1313, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1315, 1315, 1316, 1316, 1317, 1317, 1317, 1318, 1319, 1319, 1320, 1321, 1321, 1322, 1322, 1323, 1324, 1324, 1325, 1325, 1325, 1325, 1326, 1326, 1327, 1327, 1328, 1328, 1329, 1329, 1330, 1330, 1331, 1332, 1332, 1333, 1333, 1334, 1334, 1335, 1335, 1336, 1336, 1336, 1337, 1337, 1338, 1338, 1338, 1339, 1340, 1340, 1341, 1341, 1341, 1342, 1342, 1343, 1343, 1343, 1343, 1343, 1344, 1344, 1345, 1345, 1345, 1346, 1346, 1346, 1347, 1347, 1347, 1348, 1348, 1349, 1349, 1350, 1350, 1351, 1351, 1352, 1352, 1353, 1353, 1354, 1355, 1356, 1356, 1356, 1357, 1357, 1358, 1358, 1358, 1358, 1359, 1359, 1360, 1360, 1361, 1361, 1361, 1362, 1362, 1362, 1363, 1363, 1364, 1364, 1365, 1365, 1366, 1366, 1367, 1367, 1368, 1368, 1368, 1368, 1369, 1369, 1370, 1370, 1371, 1371, 1372, 1373, 1373, 1373, 1374, 1374, 1375, 1375, 1375, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1377, 1377, 1378, 1378, 1378, 1379, 1379, 1380, 1380, 1381, 1381, 1381, 1381, 1381, 1381, 1382, 1382, 1383, 1383, 1384, 1384, 1385, 1385, 1386, 1386, 1386, 1386, 1386, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1388, 1388, 1389, 1390, 1390, 1391, 1392, 1392, 1392, 1393, 1393, 1394, 1394, 1395, 1396, 1396, 1397, 1398, 1398, 1398, 1399, 1399, 1400, 1400, 1401, 1401, 1402, 1402, 1402, 1402, 1403, 1403, 1403, 1403, 1403, 1404, 1404, 1405, 1405, 1406, 1407, 1407, 1408, 1408, 1409, 1409, 1409, 1409, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1411, 1412, 1413, 1413, 1414, 1414, 1414, 1414, 1415, 1416, 1416, 1417, 1417, 1418, 1418, 1419, 1420, 1420, 1421, 1421, 1422, 1422, 1423, 1423, 1423, 1423, 1424, 1424, 1425, 1425, 1426, 1426, 1427, 1427, 1428, 1428, 1429, 1429, 1430, 1430, 1431, 1431, 1432, 1432, 1433, 1433, 1433, 1434, 1434, 1435, 1436, 1436, 1437, 1437, 1438, 1438, 1439, 1439, 1440, 1441, 1441, 1441, 1441, 1441, 1441, 1442, 1442, 1443, 1443, 1443, 1443, 1444, 1444, 1445, 1445, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1447, 1447, 1448, 1448, 1449, 1449, 1449, 1450, 1450, 1451, 1451, 1451, 1452, 1452, 1453, 1453, 1454, 1454, 1455, 1456, 1457, 1457, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1459, 1459, 1459, 1460, 1460, 1460, 1460, 1461, 1461, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1463, 1463, 1464, 1464, 1464, 1465, 1465, 1465, 1466, 1466, 1467, 1467, 1468, 1468, 1468, 1468, 1469, 1469, 1470, 1470, 1471, 1471, 1471, 1472, 1472, 1473, 1473, 1474, 1474, 1474, 1474, 1475, 1475, 1475, 1476, 1476, 1477, 1477, 1478, 1478, 1478, 1479, 1479, 1479, 1479, 1480, 1480, 1481, 1481, 1482, 1482, 1483, 1483, 1483, 1484, 1484, 1484, 1485, 1485, 1485, 1486, 1486, 1487, 1488, 1489, 1490, 1490, 1491, 1491, 1491, 1491, 1491, 1492, 1492, 1493, 1494, 1495, 1495, 1496, 1497, 1497, 1498, 1499, 1500, 1500, 1501, 1501, 1502, 1502, 1502, 1503, 1503, 1504, 1504, 1505, 1505, 1505, 1505, 1505, 1506, 1506, 1507, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1514, 1514, 1515, 1516, 1516, 1517, 1517, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1519, 1519, 1520, 1520, 1520, 1520, 1520, 1521, 1521, 1522, 1522, 1523, 1524, 1525, 1525, 1526, 1527, 1527, 1528, 1528, 1529, 1529, 1529, 1529, 1530, 1530, 1530, 1530, 1530, 1531, 1531, 1532, 1532, 1532, 1532, 1533, 1533, 1534, 1535, 1535, 1536, 1536, 1537, 1538, 1539, 1539, 1540, 1541, 1542, 1542, 1543, 1544, 1545, 1545, 1545, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1547, 1547, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1549, 1549, 1550, 1550, 1550, 1550, 1550, 1551, 1551, 1552, 1552, 1552, 1552, 1553, 1553, 1553, 1553, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1555, 1555, 1556, 1556, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1558, 1558, 1558, 1558, 1559, 1560, 1560, 1561, 1561, 1562, 1562, 1563, 1563, 1563, 1564, 1564, 1565, 1565, 1565, 1565, 1565, 1566, 1566, 1566, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1569, 1569, 1570, 1571, 1571, 1572, 1572, 1572, 1572, 1572, 1572, 1573, 1573, 1574, 1574, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1576, 1576, 1576, 1577, 1577, 1578, 1578, 1579, 1580, 1580, 1581, 1581, 1582, 1582, 1583, 1583, 1584, 1584, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1586, 1586, 1587, 1587, 1588, 1588, 1589, 1589, 1589, 1589, 1589, 1590, 1591, 1592, 1592, 1593, 1593, 1594, 1594, 1595, 1595, 1596, 1596, 1596, 1597, 1597, 1597, 1598, 1598, 1598, 1599, 1600, 1600, 1600, 1601, 1601, 1601, 1602, 1602, 1603, 1603, 1604, 1604, 1605, 1606, 1607, 1607, 1608, 1609, 1609, 1610, 1611, 1611, 1612, 1613, 1614, 1614, 1615, 1616, 1616, 1617, 1618, 1618, 1619, 1619, 1620, 1620, 1621, 1621, 1621, 1621, 1622, 1622, 1623, 1623, 1623, 1624, 1624, 1624, 1624, 1624, 1625, 1625, 1626, 1626, 1626, 1626, 1627, 1627, 1628, 1628, 1629, 1630, 1631, 1631, 1631, 1631, 1632, 1632, 1632, 1632, 1633, 1633, 1634, 1634, 1634, 1634, 1635, 1636, 1636, 1636, 1637, 1638, 1638, 1639, 1639, 1640, 1640, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1642, 1642, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1644, 1644, 1644, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1646, 1647, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 1, 1, 2, 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 3, 3, 1, 3, 3, 3, 3, 5, 5, 5, 5, 4, 4, 4, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 1, 1, 3, 4, 3, 6, 3, 6, 3, 6, 3, 3, 6, 3, 6, 3, 6, 1, 3, 4, 6, 5, 3, 4, 5, 6, 6, 7, 4, 5, 6, 7, 7, 8, 3, 4, 4, 5, 1, 1, 2, 3, 3, 3, 3, 3, 3, 5, 5, 3, 3, 3, 3, 3, 3, 1, 2, 2, 1, 1, 3, 2, 2, 2, 2, 1, 3, 5, 6, 2, 9, 1, 1, 1, 1, 4, 3, 0, 3, 3, 3, 3, 3, 2, 3, 4, 3, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 7, 7, 7, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 9, 5, 5, 5, 5, 6, 5, 4, 4, 4, 4, 10, 1, 1, 2, 0, 1, 1, 2, 0, 5, 4, 5, 7, 4, 1, 1, 4, 3, 0, 2, 1, 3, 3, 3, 0, 3, 1, 1, 1, 1, 1, 3, 2, 2, 5, 2, 0, 1, 1, 0, 1, 2, 4, 2, 0, 1, 0, 6, 5, 5, 5, 5, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 7, 8, 4, 1, 1, 1, 1, 1, 1, 1, 6, 10, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 6, 4, 4, 6, 4, 4, 4, 4, 4, 4, 4, 6, 6, 4, 4, 6, 4, 4, 4, 4, 6, 6, 4, 4, 4, 6, 1, 6, 8, 1, 3, 4, 1, 3, 4, 1, 3, 3, 4, 3, 4, 2, 1, 1, 1, 3, 4, 2, 3, 1, 3, 3, 2, 0, 1, 1, 3, 5, 3, 5, 5, 5, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 2, 6, 3, 3, 4, 8, 1, 3, 3, 6, 6, 1, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 0, 3, 3, 5, 3, 1, 3, 1, 3, 6, 0, 3, 4, 5, 5, 5, 13, 11, 5, 5, 6, 1, 3, 0, 3, 4, 3, 3, 3, 3, 3, 5, 5, 3, 3, 1, 3, 1, 3, 2, 3, 2, 0, 2, 0, 1, 3, 1, 3, 6, 6, 7, 4, 5, 4, 4, 5, 1, 1, 1, 1, 0, 1, 2, 1, 2, 4, 4, 3, 3, 1, 1, 3, 2, 2, 4, 5, 1, 0, 15, 2, 2, 0, 1, 1, 0, 1, 1, 0, 3, 0, 3, 3, 1, 1, 0, 2, 3, 1, 3, 1, 1, 0, 2, 1, 3, 3, 2, 8, 10, 10, 12, 1, 0, 1, 1, 2, 0, 1, 1, 5, 7, 1, 0, 1, 1, 0, 1, 0, 7, 9, 10, 12, 9, 8, 6, 7, 1, 0, 1, 1, 1, 1, 8, 4, 3, 0, 1, 3, 1, 9, 7, 8, 10, 6, 14, 2, 0, 3, 3, 1, 1, 2, 2, 2, 2, 0, 1, 1, 1, 4, 10, 2, 0, 2, 0, 2, 1, 2, 2, 1, 2, 2, 1, 1, 0, 1, 3, 5, 1, 3, 2, 3, 2, 2, 2, 2, 2, 1, 1, 0, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 2, 1, 5, 5, 2, 5, 2, 2, 1, 2, 7, 7, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, 0, 3, 0, 5, 3, 0, 5, 3, 0, 3, 0, 3, 0, 3, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 2, 0, 2, 1, 0, 2, 0, 2, 1, 2, 2, 1, 2, 2, 1, 2, 3, 2, 1, 1, 1, 2, 2, 0, 1, 1, 0, 1, 0, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 3, 3, 4, 5, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 2, 1, 1, 6, 1, 1, 1, 5, 6, 7, 8, 9, 9, 10, 8, 9, 7, 8, 9, 10, 0, 1, 6, 8, 1, 3, 1, 3, 1, 3, 1, 1, 9, 10, 9, 9, 10, 9, 0, 6, 7, 7, 6, 7, 7, 3, 1, 3, 4, 3, 1, 3, 8, 3, 1, 3, 7, 1, 1, 1, 0, 3, 1, 3, 2, 3, 1, 3, 6, 3, 1, 3, 5, 3, 3, 1, 3, 3, 1, 0, 2, 1, 3, 1, 1, 2, 0, 2, 0, 1, 1, 1, 1, 1, 1, 0, 5, 6, 6, 8, 6, 8, 6, 8, 4, 5, 6, 8, 0, 1, 1, 1, 1, 1, 6, 4, 6, 4, 4, 1, 0, 1, 2, 1, 3, 4, 3, 3, 3, 3, 1, 3, 2, 4, 4, 1, 0, 9, 1, 2, 0, 1, 0, 1, 3, 0, 3, 0, 13, 1, 0, 1, 0, 1, 2, 0, 1, 0, 1, 1, 3, 4, 0, 2, 3, 0, 0, 1, 1, 2, 1, 1, 3, 2, 4, 1, 3, 1, 1, 3, 3, 3, 3, 1, 0, 1, 2, 2, 1, 1, 0, 6, 1, 1, 6, 0, 2, 1, 3, 5, 5, 4, 2, 4, 5, 3, 2, 1, 1, 1, 1, 0, 1, 0, 5, 0, 0, 1, 2, 1, 2, 1, 3, 3, 5, 1, 3, 0, 1, 1, 2, 1, 1, 2, 3, 3, 2, 2, 2, 4, 8, 1, 1, 1, 1, 1, 2, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 2, 3, 2, 3, 2, 3, 1, 2, 1, 2, 1, 2, 10, 1, 1, 1, 1, 2, 1, 0, 1, 1, 1, 0, 3, 0, 1, 4, 2, 4, 6, 3, 2, 0, 1, 3, 1, 1, 1, 2, 0, 2, 1, 3, 4, 3, 3, 2, 0, 2, 1, 3, 3, 2, 1, 3, 0, 1, 2, 1, 2, 3, 1, 4, 6, 4, 4, 5, 1, 4, 6, 5, 5, 1, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 1, 1, 1, 1, 4, 4, 1, 1, 6, 5, 5, 1, 4, 4, 4, 1, 8, 4, 5, 1, 1, 1, 1, 1, 1, 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 0, 1, 0, 3, 0, 2, 2, 1, 1, 1, 3, 4, 4, 4, 3, 3, 3, 0, 3, 2, 1, 3, 2, 0, 1, 1, 0, 2, 1, 0, 3, 1, 3, 2, 0, 1, 1, 0, 2, 1, 0, 1, 2, 1, 1, 1, 1, 1, 2, 3, 3, 1, 1, 0, 1, 3, 1, 1, 3, 1, 1, 1, 1, 1, 3, 1, 2, 3, 3, 4, 4, 5, 2, 3, 3, 4, 2, 3, 4, 4, 5, 5, 6, 4, 5, 5, 6, 6, 7, 2, 3, 3, 4, 4, 5, 5, 6, 3, 4, 4, 5, 2, 4, 1, 1, 0, 1, 1, 1, 6, 1, 0, 2, 3, 1, 0, 4, 1, 1, 1, 0, 1, 1, 0, 2, 3, 3, 1, 1, 1, 3, 1, 0, 6, 6, 1, 2, 1, 1, 1, 3, 2, 4, 2, 0, 1, 3, 3, 2, 2, 2, 2, 0, 1, 3, 1, 0, 1, 3, 3, 1, 3, 3, 3, 5, 7, 1, 3, 1, 3, 3, 5, 3, 1, 2, 4, 3, 5, 7, 4, 5, 6, 2, 3, 1, 2, 2, 3, 1, 2, 2, 1, 0, 3, 3, 3, 3, 3, 1, 0, 7, 9, 6, 3, 2, 0, 3, 2, 3, 3, 3, 3, 3, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 4, 7, 5, 5, 5, 4, 4, 4, 2, 5, 4, 4, 4, 4, 3, 3, 6, 6, 3, 3, 3, 3, 4, 6, 3, 3, 4, 3, 4, 3, 2, 2, 4, 1, 1, 4, 2, 0, 1, 2, 4, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 0, 2, 4, 2, 0, 1, 1, 5, 6, 1, 3, 2, 5, 6, 2, 2, 2, 2, 2, 0, 2, 1, 2, 2, 1, 2, 3, 2, 2, 2, 1, 1, 1, 1, 0, 2, 1, 3, 1, 3, 5, 8, 6, 4, 5, 3, 0, 3, 5, 1, 3, 5, 1, 1, 3, 2, 1, 3, 2, 4, 2, 1, 2, 1, 0, 1, 0, 3, 1, 5, 5, 0, 2, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 3, 3, 7, 1, 2, 1, 3, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 2, 1, 2, 2, 3, 3, 1, 0, 1, 3, 3, 1, 3, 3, 0, 6, 8, 4, 1, 1, 1, 2, 1, 3, 1, 3, 1, 1, 1, 1, 3, 3, 1, 4, 3, 3, 3, 1, 1, 2, 2, 1, 1, 3, 2, 0, 1, 3, 1, 3, 1, 1, 3, 3, 1, 3, 3, 4, 1, 3, 0, 2, 1, 1, 3, 1, 1, 1, 1, 5, 7, 3, 3, 3, 1, 5, 3, 3, 1, 1, 3, 3, 1, 5, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 8, 9, 11, 3, 8, 4, 5, 4, 4, 15, 1, 1, 3, 5, 3, 4, 4, 4, 3, 0, 1, 2, 2, 2, 1, 0, 1, 0, 1, 0, 1, 1, 0, 3, 2, 3, 3, 3, 3, 2, 3, 3, 3, 3, 9, 3, 9, 5, 5, 3, 4, 7, 7, 6, 5, 5, 10, 10, 6, 6, 9, 9, 12, 5, 5, 5, 5, 5, 5, 6, 5, 3, 7, 5, 6, 6, 5, 7, 5, 6, 4, 4, 6, 8, 4, 4, 4, 4, 9, 6, 5, 6, 4, 6, 5, 5, 4, 7, 5, 6, 6, 12, 5, 7, 7, 9, 8, 3, 3, 4, 5, 4, 4, 4, 5, 5, 4, 5, 5, 5, 5, 7, 5, 4, 0, 2, 2, 1, 3, 3, 3, 3, 3, 3, 3, 0, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 0, 3, 0, 5, 1, 3, 1, 0, 3, 0, 1, 3, 9, 6, 1, 1, 2, 1, 1, 2, 1, 1, 3, 0, 5, 0, 2, 1, 1, 1, 2, 1, 3, 3, 1, 0, 3, 0, 1, 1, 1, 0, 3, 3, 3, 1, 3, 0, 1, 1, 1, 3, 1, 1, 0, 2, 2, 2, 1, 1, 1, 2, 1, 1, 3, 3, 1, 1, 3, 1, 0, 3, 1, 0, 3, 3, 1, 0, 3, 1, 0, 3, 1, 0, 2, 0, 1, 3, 7, 7, 7, 7, 2, 0, 1, 3, 0, 3, 3, 3, 3, 3, 1, 0, 3, 3, 3, 0, 1, 1, 1, 1, 4, 3, 3, 4, 4, 4, 1, 3, 5, 5, 2, 2, 2, 2, 2, 1, 2, 3, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 yytype_uint16 yydefact[] = { 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 955, 1082, 1431, 1430, 1005, 1429, 0, 1034, 0, 0, 0, 0, 0, 0, 1032, 0, 1078, 0, 1959, 0, 1080, 0, 1565, 1565, 1655, 0, 0, 0, 0, 1565, 0, 0, 951, 0, 0, 2, 0, 20, 19, 53, 54, 55, 48, 49, 50, 51, 52, 15, 16, 17, 72, 533, 18, 64, 65, 14, 11, 12, 13, 58, 59, 60, 47, 44, 21, 22, 45, 10, 1028, 1028, 9, 1047, 1046, 1031, 1056, 1216, 1216, 1216, 1071, 0, 1057, 1059, 1060, 1254, 1028, 0, 1058, 24, 25, 26, 23, 0, 27, 34, 35, 36, 37, 38, 69, 70, 41, 73, 74, 75, 76, 77, 42, 43, 46, 39, 40, 28, 29, 30, 33, 0, 62, 61, 31, 71, 78, 79, 32, 56, 57, 63, 66, 67, 68, 1068, 0, 1192, 1189, 1191, 0, 0, 0, 0, 0, 0, 1140, 0, 0, 1145, 0, 0, 0, 0, 0, 0, 1170, 0, 0, 0, 0, 0, 1134, 1173, 1176, 0, 1158, 1159, 1171, 1172, 0, 0, 0, 1177, 0, 0, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 0, 1181, 0, 0, 1194, 0, 1193, 1185, 1190, 0, 0, 1079, 0, 0, 1129, 1081, 1083, 1035, 1033, 532, 508, 509, 0, 0, 0, 0, 0, 1729, 0, 0, 529, 0, 964, 597, 588, 0, 0, 578, 597, 597, 597, 0, 0, 564, 0, 0, 1010, 0, 1010, 1004, 563, 0, 0, 1003, 1010, 0, 1010, 0, 0, 0, 1612, 1589, 1590, 1592, 1593, 0, 1598, 1595, 1597, 0, 1596, 1604, 1606, 1603, 1602, 0, 1585, 1587, 1991, 99, 111, 109, 110, 114, 112, 113, 115, 121, 120, 209, 116, 2440, 2124, 2348, 2194, 2880, 2259, 2657, 2768, 2848, 2226, 2790, 2714, 2785, 2822, 2900, 2690, 2740, 2873, 303, 2695, 2838, 2765, 2791, 2783, 2190, 0, 0, 2735, 2813, 0, 0, 2613, 0, 228, 2816, 2707, 2697, 2779, 2786, 2818, 2388, 2780, 104, 102, 103, 105, 107, 106, 2686, 2687, 2688, 2689, 2691, 2692, 2693, 2694, 2696, 2698, 2699, 2700, 2701, 2703, 2704, 2705, 2706, 2708, 2709, 2710, 2711, 2712, 2713, 404, 408, 397, 2718, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2736, 2737, 2738, 2739, 2741, 2742, 2743, 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2761, 2762, 2763, 2764, 2766, 2767, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2777, 2778, 2781, 2782, 2784, 2787, 2788, 2789, 2792, 2793, 2794, 2795, 398, 399, 2798, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2814, 2815, 2817, 2819, 2820, 2821, 2823, 2824, 2825, 2826, 2827, 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2835, 2836, 2837, 2839, 2840, 2841, 2842, 2843, 2844, 2845, 2846, 2847, 2849, 2850, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, 2859, 2860, 2861, 2862, 2863, 2864, 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872, 2874, 2875, 2876, 2877, 2878, 2879, 2881, 2882, 2883, 2884, 2885, 2886, 390, 387, 384, 2890, 2891, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2899, 2901, 2902, 2685, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2054, 2055, 2057, 2058, 2059, 2060, 2061, 2062, 2671, 2680, 2053, 2056, 2063, 2069, 2065, 2066, 2067, 2068, 2070, 2071, 2072, 2073, 2075, 2077, 2076, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2074, 2064, 2086, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2105, 2104, 2106, 2107, 2108, 2109, 2114, 2110, 2111, 2112, 2113, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2140, 2141, 2143, 2142, 2139, 2144, 2145, 2146, 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2162, 2163, 2161, 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2147, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2191, 2192, 2193, 2195, 2196, 2197, 2198, 2200, 2201, 2396, 2202, 2203, 2204, 2206, 2199, 2205, 2207, 2208, 2210, 2211, 2213, 2214, 2215, 2216, 2217, 2218, 2220, 2222, 2223, 2224, 2225, 2219, 2209, 2221, 2212, 2227, 2228, 2229, 2230, 2231, 2233, 2235, 2234, 2236, 2232, 135, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2252, 2250, 2251, 2253, 2254, 2255, 2256, 2257, 2258, 2260, 2262, 2263, 2264, 2267, 2266, 2268, 2670, 2334, 2265, 2261, 2088, 2269, 2270, 2271, 2272, 2087, 2273, 2274, 2275, 2276, 2277, 2278, 2281, 2282, 2279, 2280, 2284, 2285, 2286, 2288, 2289, 2667, 2290, 2291, 2293, 2294, 2295, 2677, 2283, 2287, 2292, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2335, 2337, 2338, 2339, 2341, 2342, 2343, 2344, 2345, 2346, 2347, 2349, 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2340, 2358, 2679, 2648, 2336, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2369, 2370, 2371, 2373, 2374, 2375, 2376, 2380, 2379, 2381, 2377, 2378, 2368, 2676, 2372, 2683, 2382, 2383, 2384, 2385, 2386, 2389, 2390, 2391, 2392, 2393, 2394, 2397, 2387, 2398, 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2684, 2408, 2407, 2409, 2668, 2410, 2412, 2413, 2414, 2415, 2416, 2417, 2681, 2682, 2674, 2411, 2418, 2419, 2420, 2422, 2423, 2424, 2426, 2428, 2429, 2430, 2431, 2432, 2434, 2421, 2436, 2437, 2438, 2427, 2425, 2435, 2433, 2439, 2441, 2442, 2445, 2446, 2448, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2485, 2486, 2489, 2487, 2488, 2490, 2491, 2484, 2492, 2493, 2494, 2495, 2496, 2449, 2450, 2451, 2678, 2395, 2675, 2443, 2444, 2447, 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 2520, 2521, 2522, 2602, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2537, 2536, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2550, 2548, 2549, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2565, 2672, 2560, 2561, 2562, 2563, 2564, 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, 2583, 2584, 136, 2585, 2519, 2586, 2587, 2589, 2590, 2588, 2591, 2592, 2593, 2595, 2597, 2598, 2599, 2600, 2603, 2604, 2605, 2606, 2607, 2608, 2611, 2610, 2612, 2614, 2615, 2616, 2617, 2618, 2619, 2596, 2594, 2620, 2601, 2673, 2609, 2621, 2622, 2623, 2624, 2625, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2626, 2635, 2636, 2637, 2638, 2639, 2641, 2642, 2643, 2646, 2650, 2649, 2669, 2647, 2640, 2644, 2645, 2651, 2652, 2654, 2655, 2656, 2658, 2659, 2653, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 227, 193, 108, 0, 119, 194, 0, 223, 152, 173, 190, 1581, 0, 206, 208, 207, 381, 338, 339, 340, 335, 334, 408, 336, 337, 0, 200, 87, 0, 0, 1992, 2036, 2037, 2038, 0, 531, 0, 0, 0, 0, 1739, 0, 0, 0, 0, 0, 1612, 0, 1989, 0, 0, 2440, 2124, 2613, 0, 0, 2042, 2050, 2051, 2052, 2054, 2061, 2091, 515, 2109, 2111, 2134, 2140, 2143, 2139, 2150, 2151, 2152, 2156, 2161, 2172, 2180, 2206, 2215, 2220, 2230, 1642, 2235, 2234, 0, 2243, 2265, 2272, 2273, 2276, 2277, 2286, 2288, 2287, 2292, 2319, 2338, 2341, 2347, 2351, 2360, 2374, 2377, 2378, 1545, 2407, 2420, 2439, 2481, 2491, 2492, 2451, 2443, 2502, 1643, 2512, 2556, 2557, 2558, 2559, 2568, 2572, 2573, 2575, 2583, 2584, 0, 2605, 2606, 2607, 2608, 2616, 2617, 2636, 2642, 2644, 2645, 2654, 2663, 0, 1626, 1629, 1637, 0, 0, 1990, 1958, 0, 1472, 1492, 1494, 0, 1447, 1473, 0, 515, 1499, 0, 1476, 0, 1484, 1545, 1493, 1486, 1499, 1469, 1470, 0, 1485, 1483, 1499, 1481, 1499, 1497, 1476, 1499, 1481, 0, 0, 0, 0, 1554, 1993, 2095, 558, 510, 1994, 1564, 1571, 1579, 0, 0, 0, 2014, 1650, 1623, 2015, 1007, 1008, 0, 0, 0, 1564, 1580, 1984, 1570, 950, 0, 0, 0, 0, 0, 0, 0, 1, 5, 7, 534, 535, 0, 1027, 1026, 1026, 0, 0, 1076, 0, 1045, 1048, 0, 1072, 0, 1051, 1088, 1087, 1085, 1086, 1091, 1090, 0, 1053, 0, 1052, 0, 1061, 0, 1257, 1258, 1260, 1259, 0, 1253, 1255, 0, 0, 1095, 0, 1353, 1358, 0, 1074, 0, 2068, 2396, 2202, 2203, 2220, 2406, 2412, 1433, 1435, 1434, 1432, 1503, 1351, 1352, 1421, 1359, 0, 1050, 1049, 1366, 1366, 0, 0, 0, 0, 0, 1366, 1366, 1366, 1366, 1366, 0, 0, 1366, 1366, 1366, 1366, 1366, 0, 1366, 0, 1366, 1366, 0, 1366, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 0, 0, 1366, 1366, 0, 0, 0, 1125, 1130, 1729, 1729, 0, 0, 0, 0, 1870, 1904, 1905, 1871, 0, 0, 0, 1728, 1807, 0, 1966, 0, 1941, 1771, 0, 1915, 0, 0, 1967, 0, 1876, 0, 0, 0, 1906, 1914, 1808, 0, 0, 0, 0, 0, 0, 1923, 0, 1952, 1873, 1874, 1922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1729, 1729, 1530, 1529, 1533, 1537, 0, 1531, 528, 1729, 954, 0, 0, 597, 597, 0, 0, 0, 0, 597, 0, 0, 956, 0, 0, 597, 0, 0, 0, 1417, 0, 1010, 1010, 0, 0, 1537, 1536, 0, 0, 1010, 1010, 1611, 1586, 1608, 1607, 0, 1605, 1591, 1599, 1594, 1601, 1600, 0, 0, 0, 1583, 1582, 0, 302, 0, 209, 2816, 196, 197, 0, 198, 0, 80, 200, 2848, 2790, 2702, 2813, 2697, 2779, 2705, 2712, 2715, 2716, 2717, 2718, 2720, 2728, 2744, 2763, 2771, 2796, 2797, 2805, 2841, 2842, 2850, 2887, 2888, 2889, 2890, 0, 0, 218, 192, 0, 0, 0, 0, 0, 402, 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 422, 0, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 422, 0, 422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 310, 310, 310, 0, 422, 0, 0, 0, 0, 0, 0, 310, 310, 310, 0, 0, 100, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 225, 0, 0, 0, 191, 0, 0, 0, 0, 0, 199, 396, 0, 0, 417, 0, 1740, 1012, 1742, 1741, 1736, 1735, 1738, 1737, 1988, 0, 1658, 1659, 1533, 1548, 1546, 1586, 0, 1647, 1646, 0, 0, 0, 0, 0, 1970, 1974, 516, 0, 0, 0, 0, 1644, 0, 734, 735, 736, 738, 737, 743, 0, 0, 0, 1645, 1969, 0, 1991, 0, 1992, 0, 0, 1490, 0, 1491, 0, 0, 0, 0, 0, 597, 1497, 1497, 0, 0, 1460, 0, 0, 1454, 1497, 0, 1457, 1477, 1933, 1499, 1464, 1480, 1466, 1459, 1496, 1495, 0, 1499, 1453, 1458, 1499, 1468, 1499, 1499, 0, 1488, 1489, 1463, 1497, 0, 1745, 0, 0, 1743, 0, 1749, 0, 1648, 1267, 1553, 1555, 0, 2498, 1985, 0, 0, 1572, 1567, 1657, 1574, 1577, 1575, 1576, 1578, 1573, 8, 6, 0, 1025, 0, 0, 0, 0, 1077, 1109, 0, 2173, 1104, 1108, 1110, 1073, 1218, 1092, 1093, 1094, 1089, 1068, 1066, 1064, 1067, 1063, 1062, 1065, 1265, 1261, 1268, 1105, 1256, 0, 1277, 0, 1271, 1273, 1275, 1276, 1279, 1274, 1095, 0, 1359, 1097, 429, 0, 0, 0, 1355, 1075, 1362, 1363, 1422, 1423, 1424, 1425, 0, 1427, 1426, 1504, 1420, 1505, 0, 1654, 0, 0, 0, 0, 0, 0, 1199, 1198, 1197, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 1200, 0, 1203, 1202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1370, 0, 0, 0, 765, 0, 0, 0, 0, 0, 0, 1725, 1725, 1725, 0, 0, 1727, 1728, 1725, 0, 0, 1692, 1695, 1693, 1694, 1662, 1663, 1672, 1671, 1679, 1670, 1673, 1667, 1668, 810, 951, 0, 0, 0, 0, 1696, 1697, 1698, 1699, 932, 945, 933, 1687, 0, 0, 0, 0, 2334, 0, 440, 0, 0, 0, 0, 0, 0, 0, 0, 1875, 0, 0, 1809, 0, 808, 808, 1750, 1866, 1872, 0, 1811, 0, 0, 0, 0, 0, 1933, 0, 0, 1838, 1847, 0, 1849, 1844, 1843, 1846, 1840, 1842, 0, 1841, 1939, 1933, 1839, 1848, 1850, 1851, 1845, 0, 1881, 808, 1910, 1897, 1897, 0, 0, 1796, 1784, 1786, 1785, 1787, 0, 1897, 808, 0, 0, 1813, 0, 0, 808, 808, 808, 808, 808, 1781, 1950, 0, 0, 1812, 0, 0, 0, 1816, 0, 0, 0, 0, 0, 1780, 1942, 0, 0, 0, 0, 0, 1891, 1891, 0, 1792, 474, 0, 1552, 1551, 503, 474, 1532, 1534, 0, 0, 0, 1542, 0, 0, 810, 0, 935, 0, 0, 505, 474, 1518, 1508, 1533, 810, 0, 0, 0, 0, 0, 0, 0, 1011, 930, 595, 0, 0, 506, 577, 526, 565, 0, 574, 566, 0, 0, 1609, 1610, 1613, 0, 1616, 1588, 224, 0, 0, 308, 304, 0, 0, 201, 0, 0, 0, 0, 80, 0, 405, 0, 407, 1991, 0, 637, 0, 0, 0, 1036, 0, 391, 0, 388, 0, 385, 0, 0, 0, 0, 0, 0, 0, 423, 424, 425, 0, 0, 309, 0, 0, 0, 403, 0, 400, 0, 0, 0, 0, 0, 0, 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2027, 2028, 2032, 2035, 2016, 2021, 2025, 2026, 2029, 2030, 2031, 2033, 2034, 0, 0, 0, 656, 655, 657, 0, 420, 421, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 0, 0, 0, 0, 0, 0, 0, 0, 1223, 0, 0, 0, 0, 0, 0, 122, 219, 137, 221, 0, 229, 2049, 2525, 150, 0, 141, 0, 139, 0, 148, 0, 146, 0, 143, 0, 145, 0, 99, 169, 0, 153, 232, 99, 157, 176, 177, 179, 178, 2779, 180, 2779, 181, 184, 185, 186, 188, 187, 189, 0, 0, 0, 0, 195, 729, 730, 741, 216, 215, 217, 214, 213, 0, 0, 91, 88, 0, 0, 89, 418, 82, 1267, 0, 90, 0, 0, 0, 0, 0, 0, 0, 1633, 1632, 1634, 1631, 1639, 1636, 1635, 1979, 1978, 0, 0, 0, 0, 0, 1971, 1973, 742, 1968, 1533, 0, 1972, 1642, 1643, 1630, 0, 1641, 1640, 1451, 1449, 1471, 1452, 1467, 1450, 0, 1499, 1499, 1500, 1502, 0, 1475, 1499, 1478, 808, 1932, 1461, 1445, 1498, 1444, 1439, 1465, 1446, 1497, 1499, 0, 0, 0, 0, 1653, 1649, 1651, 1266, 0, 1563, 1560, 0, 1557, 0, 678, 1625, 679, 1624, 1622, 1987, 1986, 0, 0, 536, 1016, 0, 1329, 1030, 1248, 1244, 1245, 1212, 1213, 1100, 740, 1103, 0, 1221, 1222, 0, 1217, 1266, 0, 1262, 0, 1106, 1054, 1277, 0, 0, 1326, 0, 0, 0, 1413, 1396, 1413, 0, 1402, 1406, 0, 0, 0, 0, 1331, 1332, 0, 0, 2497, 1286, 1280, 0, 1349, 1290, 1303, 1243, 0, 0, 1098, 0, 1354, 430, 1357, 1358, 1437, 1436, 0, 1360, 1361, 1365, 1366, 0, 0, 1382, 1370, 1138, 0, 1137, 1135, 1141, 0, 0, 1367, 1370, 1374, 1370, 0, 0, 1370, 1370, 1370, 1147, 1169, 1370, 1370, 1370, 1370, 1370, 1182, 1370, 1183, 1370, 0, 1371, 765, 1369, 0, 1175, 1195, 0, 764, 0, 1187, 1370, 0, 1184, 1174, 1335, 1724, 972, 1336, 0, 1334, 0, 967, 0, 0, 0, 0, 0, 0, 0, 0, 1723, 2570, 1732, 0, 0, 1726, 0, 0, 0, 0, 0, 0, 1729, 809, 0, 808, 808, 808, 808, 808, 808, 808, 808, 808, 808, 803, 808, 808, 808, 808, 808, 808, 808, 808, 808, 808, 808, 796, 1666, 768, 801, 0, 0, 0, 0, 0, 0, 0, 1729, 808, 808, 808, 808, 808, 947, 936, 0, 0, 1419, 0, 0, 808, 808, 808, 466, 456, 808, 808, 808, 808, 808, 808, 808, 808, 465, 438, 805, 806, 1903, 804, 1933, 2601, 1836, 1802, 1815, 1814, 1819, 808, 0, 0, 0, 0, 1810, 807, 0, 0, 0, 1820, 1940, 0, 1818, 0, 1768, 1897, 1773, 1798, 1824, 1858, 1754, 808, 1938, 1755, 1936, 1858, 0, 1770, 0, 808, 1908, 1909, 1879, 808, 808, 1894, 1895, 1896, 1764, 1778, 1897, 0, 1858, 1763, 0, 0, 0, 1897, 0, 0, 0, 0, 0, 0, 0, 1765, 1794, 1965, 1964, 0, 0, 1790, 1817, 0, 0, 0, 0, 0, 1877, 1891, 1776, 0, 1729, 0, 1890, 1766, 1767, 1795, 808, 808, 808, 808, 808, 808, 808, 808, 808, 808, 808, 808, 495, 472, 808, 486, 0, 488, 0, 495, 1514, 0, 0, 1513, 0, 1515, 1516, 1523, 0, 0, 1543, 1520, 0, 1538, 1550, 808, 808, 808, 810, 513, 521, 0, 522, 596, 910, 938, 934, 936, 451, 440, 493, 0, 0, 1518, 1506, 1510, 507, 810, 810, 0, 0, 0, 0, 960, 958, 999, 1014, 470, 469, 575, 576, 504, 0, 573, 571, 1732, 1732, 0, 0, 0, 0, 0, 0, 305, 0, 0, 81, 96, 97, 98, 0, 0, 374, 0, 0, 0, 406, 372, 0, 0, 0, 0, 0, 389, 386, 373, 0, 364, 316, 317, 318, 371, 0, 0, 0, 0, 0, 0, 401, 0, 349, 0, 362, 363, 0, 0, 272, 270, 269, 0, 278, 288, 260, 279, 0, 1243, 330, 361, 333, 272, 0, 263, 261, 262, 1243, 378, 0, 377, 0, 360, 0, 359, 353, 395, 0, 0, 0, 0, 356, 0, 0, 0, 357, 0, 0, 0, 0, 0, 365, 0, 393, 351, 352, 369, 0, 368, 0, 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, 0, 354, 350, 220, 138, 222, 0, 0, 0, 0, 0, 0, 0, 174, 170, 0, 158, 0, 0, 0, 0, 0, 99, 171, 154, 99, 163, 0, 0, 347, 0, 417, 0, 0, 0, 379, 1013, 1661, 1660, 0, 1549, 0, 0, 0, 0, 1983, 1975, 0, 1748, 1822, 676, 0, 1544, 1539, 0, 1638, 1448, 1442, 1441, 0, 0, 0, 1443, 0, 1095, 1438, 1497, 1747, 0, 0, 0, 1561, 1562, 1559, 0, 1556, 1566, 0, 537, 538, 0, 0, 0, 1024, 1023, 1017, 0, 1022, 1315, 1328, 0, 1015, 1249, 1250, 1247, 0, 0, 0, 0, 1112, 1107, 1220, 1219, 1263, 1264, 1269, 0, 1278, 1327, 1272, 1095, 433, 0, 1403, 1412, 0, 0, 0, 0, 1404, 1405, 1413, 1413, 1413, 0, 1400, 1398, 1397, 1390, 0, 1291, 0, 1337, 1324, 1319, 0, 2504, 1287, 1288, 1311, 0, 1282, 1281, 1304, 1337, 1350, 1305, 1214, 1242, 431, 1360, 1096, 0, 1356, 1428, 1364, 0, 1370, 1152, 0, 1139, 0, 1370, 1370, 1144, 0, 0, 1143, 1146, 1148, 1150, 1151, 1153, 1149, 1155, 1156, 1157, 1154, 1179, 1370, 0, 1386, 731, 733, 0, 0, 1180, 1188, 969, 971, 973, 0, 1683, 1684, 1678, 967, 1333, 0, 0, 999, 966, 968, 0, 1712, 0, 0, 0, 0, 1732, 0, 0, 1131, 0, 1690, 1676, 1677, 1730, 1731, 1714, 1703, 0, 0, 0, 0, 0, 1669, 1718, 0, 1681, 1682, 1664, 525, 524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 769, 808, 808, 1686, 931, 1685, 0, 923, 923, 923, 0, 1689, 946, 0, 0, 0, 0, 0, 937, 1835, 0, 0, 1416, 498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 808, 808, 808, 1901, 1775, 1929, 0, 0, 1893, 0, 0, 1799, 0, 0, 1867, 1789, 1769, 1782, 0, 0, 0, 1863, 0, 808, 1935, 1753, 1863, 1882, 0, 0, 808, 1891, 0, 0, 1779, 0, 1865, 1931, 1800, 0, 1791, 1793, 1957, 1956, 1955, 1953, 1954, 1951, 1933, 1933, 0, 1758, 1759, 123, 126, 124, 125, 129, 127, 128, 130, 131, 0, 1949, 0, 1949, 1949, 1949, 1943, 0, 1774, 0, 1903, 808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 810, 0, 501, 0, 808, 0, 500, 1526, 1527, 1528, 0, 1524, 1521, 1522, 1519, 1535, 1541, 0, 0, 0, 514, 808, 808, 929, 906, 907, 908, 909, 0, 808, 808, 808, 808, 437, 449, 436, 0, 0, 471, 1509, 1517, 1507, 0, 0, 970, 0, 770, 835, 768, 1267, 811, 814, 812, 813, 586, 593, 591, 592, 590, 0, 0, 1419, 0, 0, 0, 962, 0, 0, 1000, 565, 574, 566, 1009, 1006, 1614, 1619, 1615, 1617, 0, 0, 307, 234, 0, 202, 0, 81, 0, 721, 721, 712, 649, 651, 653, 652, 712, 651, 654, 0, 716, 0, 638, 0, 0, 0, 1037, 0, 2779, 0, 0, 0, 0, 322, 0, 314, 315, 312, 313, 259, 0, 255, 0, 0, 274, 0, 288, 0, 0, 1243, 0, 426, 277, 0, 426, 0, 320, 321, 0, 0, 256, 0, 81, 257, 254, 323, 324, 326, 327, 0, 319, 0, 1228, 0, 1229, 0, 1230, 0, 1224, 325, 328, 329, 0, 1068, 0, 0, 0, 0, 0, 0, 156, 175, 233, 0, 99, 159, 0, 182, 183, 0, 172, 164, 0, 411, 413, 95, 92, 93, 0, 94, 83, 86, 85, 1533, 0, 1620, 1981, 1980, 1982, 0, 0, 0, 0, 0, 1501, 1456, 1455, 1474, 1479, 1462, 1499, 0, 0, 1652, 1558, 0, 0, 0, 0, 0, 1020, 1042, 1021, 0, 1246, 1101, 1099, 739, 1120, 0, 1095, 1095, 1270, 0, 1243, 0, 1411, 0, 0, 1410, 0, 0, 0, 1401, 1399, 0, 0, 0, 0, 1393, 1297, 0, 0, 0, 1320, 1321, 1322, 0, 1293, 0, 0, 1289, 1307, 1313, 1292, 0, 1283, 1284, 1312, 1306, 0, 1215, 428, 1136, 1383, 0, 0, 1384, 1142, 1373, 0, 1377, 1368, 1370, 0, 1376, 1375, 1372, 1207, 1209, 1205, 1208, 1204, 1206, 765, 0, 1178, 1334, 0, 0, 0, 865, 0, 869, 999, 967, 0, 0, 640, 0, 672, 719, 684, 700, 719, 712, 686, 685, 683, 702, 698, 701, 682, 697, 687, 0, 681, 699, 680, 695, 0, 0, 706, 662, 663, 693, 690, 0, 712, 696, 692, 691, 714, 745, 704, 709, 716, 665, 721, 721, 1711, 1710, 1707, 1705, 0, 0, 1716, 1717, 1715, 0, 1708, 0, 1132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 794, 904, 905, 795, 783, 792, 786, 779, 797, 0, 776, 777, 574, 800, 802, 774, 772, 773, 793, 775, 799, 782, 785, 928, 925, 927, 926, 924, 787, 788, 778, 784, 798, 789, 0, 0, 923, 0, 0, 901, 0, 901, 901, 0, 943, 574, 944, 941, 942, 808, 0, 1891, 1418, 0, 0, 0, 462, 461, 0, 457, 444, 447, 446, 445, 448, 441, 442, 443, 439, 0, 0, 0, 0, 808, 1928, 1926, 1837, 1907, 808, 1891, 1803, 0, 808, 808, 0, 0, 1797, 0, 1862, 1752, 1937, 0, 1751, 808, 0, 0, 1772, 1888, 1889, 1804, 0, 1856, 0, 1912, 1913, 1911, 133, 134, 0, 1963, 0, 1963, 1963, 1963, 1878, 1904, 1905, 0, 1777, 0, 485, 487, 574, 475, 481, 489, 477, 0, 478, 479, 480, 0, 473, 494, 1627, 484, 0, 502, 1525, 523, 520, 519, 0, 0, 939, 0, 0, 0, 0, 0, 2643, 490, 492, 0, 580, 0, 972, 1334, 0, 598, 600, 0, 967, 587, 0, 835, 1267, 817, 0, 821, 816, 836, 810, 0, 0, 0, 1414, 0, 569, 0, 568, 570, 0, 843, 0, 0, 1001, 1002, 0, 572, 0, 1584, 343, 306, 311, 0, 382, 375, 0, 720, 642, 728, 0, 646, 650, 648, 645, 647, 344, 0, 644, 345, 0, 0, 0, 0, 0, 366, 238, 239, 240, 0, 341, 0, 0, 0, 370, 271, 273, 0, 0, 281, 300, 358, 0, 0, 0, 275, 0, 376, 0, 0, 258, 268, 346, 203, 0, 0, 0, 0, 367, 0, 0, 1225, 1226, 1227, 0, 0, 0, 355, 151, 142, 140, 149, 147, 144, 99, 160, 161, 155, 0, 99, 165, 0, 0, 380, 1547, 0, 1977, 1976, 677, 1821, 0, 1440, 0, 0, 1568, 1569, 0, 1018, 0, 1044, 1043, 0, 1040, 0, 0, 0, 1102, 0, 0, 0, 0, 1111, 1114, 282, 1231, 434, 1214, 435, 1394, 0, 1409, 1407, 1408, 1391, 0, 1388, 0, 1330, 1338, 0, 0, 1346, 0, 1299, 0, 1294, 1309, 1298, 1295, 0, 1285, 1308, 1314, 0, 1370, 1370, 1370, 0, 0, 732, 967, 0, 0, 0, 864, 0, 868, 0, 0, 0, 0, 0, 1713, 718, 670, 728, 724, 688, 689, 0, 671, 728, 0, 673, 0, 724, 0, 694, 0, 0, 1719, 0, 724, 0, 724, 664, 728, 668, 1734, 0, 1674, 1691, 1133, 853, 0, 0, 0, 0, 0, 0, 1706, 1680, 0, 780, 791, 790, 901, 923, 0, 0, 0, 923, 0, 911, 1688, 940, 0, 1891, 1806, 499, 0, 0, 0, 463, 496, 765, 1899, 1898, 1900, 1902, 0, 808, 1925, 0, 0, 574, 1858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1825, 1827, 1860, 1857, 1934, 0, 0, 0, 0, 808, 1783, 0, 1948, 0, 1897, 132, 1897, 1897, 1897, 808, 808, 574, 1916, 1918, 1919, 0, 476, 0, 765, 0, 949, 948, 518, 517, 455, 452, 453, 0, 450, 491, 0, 1511, 0, 969, 971, 967, 970, 767, 0, 0, 999, 0, 0, 815, 0, 0, 771, 585, 594, 0, 0, 0, 0, 559, 0, 959, 0, 0, 0, 0, 0, 117, 118, 0, 727, 643, 0, 0, 639, 0, 0, 212, 415, 244, 237, 235, 236, 280, 289, 291, 290, 0, 301, 287, 427, 331, 0, 0, 242, 243, 0, 272, 245, 246, 248, 249, 241, 416, 247, 250, 251, 162, 99, 166, 167, 412, 414, 1621, 1540, 0, 0, 1329, 1019, 0, 1038, 1042, 0, 0, 0, 1119, 1122, 0, 0, 0, 0, 1113, 0, 1055, 0, 1251, 432, 1395, 0, 0, 1340, 1339, 1341, 1342, 1343, 1345, 0, 1317, 1318, 0, 1316, 1300, 1301, 1296, 1310, 0, 1385, 1378, 0, 1210, 1186, 999, 0, 0, 0, 866, 0, 870, 0, 0, 0, 0, 974, 980, 641, 740, 722, 723, 726, 0, 740, 0, 0, 726, 0, 623, 0, 747, 0, 0, 0, 763, 753, 0, 750, 0, 1720, 0, 0, 0, 744, 0, 621, 0, 726, 0, 726, 740, 0, 0, 759, 1733, 0, 901, 845, 846, 853, 853, 0, 853, 0, 853, 781, 912, 901, 0, 0, 0, 903, 900, 0, 913, 901, 0, 915, 1834, 1805, 0, 0, 808, 464, 0, 1927, 0, 0, 1892, 1761, 1929, 0, 1869, 1823, 0, 0, 0, 0, 0, 0, 1826, 0, 1788, 1859, 0, 1864, 0, 0, 0, 1933, 1933, 1933, 1933, 0, 0, 1760, 1917, 808, 482, 483, 1628, 765, 1512, 581, 1334, 0, 999, 599, 835, 766, 967, 999, 0, 0, 0, 0, 584, 0, 1415, 0, 568, 569, 568, 570, 567, 844, 961, 952, 953, 0, 1618, 383, 717, 0, 711, 715, 332, 0, 0, 0, 0, 2779, 2141, 294, 0, 299, 0, 276, 0, 265, 266, 267, 0, 168, 1746, 1744, 539, 1041, 0, 1029, 0, 0, 1121, 1117, 1118, 0, 1115, 0, 283, 284, 0, 0, 282, 1392, 1389, 0, 1347, 1323, 1302, 1348, 1370, 0, 1675, 0, 0, 0, 0, 0, 0, 981, 0, 981, 0, 1248, 743, 725, 661, 728, 743, 705, 728, 660, 713, 0, 0, 1721, 397, 398, 399, 0, 757, 748, 758, 751, 1722, 754, 756, 749, 746, 752, 703, 658, 0, 708, 659, 743, 760, 761, 0, 831, 901, 901, 853, 901, 853, 901, 0, 903, 0, 0, 0, 0, 0, 919, 0, 0, 0, 0, 497, 1924, 1756, 0, 1757, 808, 1829, 1830, 1832, 1831, 1833, 1828, 1861, 1880, 1854, 1852, 1853, 1855, 0, 1962, 1960, 1961, 1944, 1946, 1947, 1945, 1921, 1920, 0, 454, 967, 0, 0, 1267, 0, 0, 0, 0, 0, 0, 820, 819, 0, 0, 560, 561, 0, 0, 0, 0, 0, 205, 0, 0, 296, 293, 292, 297, 252, 253, 0, 0, 1112, 1039, 1124, 1123, 1116, 0, 0, 1237, 1232, 1240, 1234, 1252, 1084, 1344, 1379, 0, 0, 894, 0, 0, 0, 981, 0, 0, 808, 0, 808, 985, 808, 986, 808, 0, 808, 990, 998, 1704, 982, 983, 992, 993, 975, 1700, 0, 977, 666, 740, 667, 740, 0, 755, 0, 669, 0, 0, 0, 0, 0, 832, 829, 0, 901, 0, 901, 825, 914, 920, 0, 0, 0, 0, 902, 916, 468, 0, 0, 0, 0, 0, 574, 999, 0, 0, 0, 0, 0, 0, 0, 0, 841, 822, 0, 0, 0, 568, 981, 710, 342, 0, 211, 0, 295, 264, 0, 1120, 286, 285, 1238, 1239, 1236, 0, 0, 1233, 0, 2728, 890, 0, 0, 875, 0, 893, 894, 1701, 0, 0, 0, 988, 0, 0, 0, 0, 0, 984, 979, 0, 976, 743, 743, 636, 707, 0, 0, 0, 0, 0, 0, 0, 0, 861, 830, 833, 0, 827, 0, 826, 0, 0, 917, 0, 0, 921, 765, 458, 0, 1930, 1868, 1801, 1762, 0, 605, 0, 583, 0, 0, 981, 0, 0, 837, 853, 0, 818, 562, 835, 210, 298, 540, 541, 1235, 1241, 981, 889, 0, 888, 895, 0, 871, 872, 873, 874, 899, 898, 0, 896, 875, 0, 991, 987, 994, 995, 997, 0, 996, 978, 675, 674, 635, 634, 626, 0, 0, 0, 0, 0, 0, 894, 0, 860, 834, 828, 0, 0, 0, 881, 0, 0, 0, 885, 467, 0, 460, 0, 981, 0, 999, 602, 842, 0, 839, 853, 963, 0, 0, 546, 1702, 891, 0, 0, 877, 0, 892, 867, 0, 989, 1719, 903, 854, 0, 857, 0, 903, 875, 862, 918, 0, 0, 880, 922, 0, 0, 884, 459, 0, 603, 0, 1949, 0, 838, 0, 0, 0, 553, 879, 0, 876, 897, 0, 628, 0, 631, 0, 0, 625, 0, 622, 0, 859, 0, 855, 0, 858, 0, 856, 863, 0, 882, 0, 886, 981, 0, 601, 840, 544, 545, 543, 542, 552, 547, 0, 549, 551, 0, 530, 0, 0, 878, 617, 627, 629, 632, 633, 630, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 548, 554, 555, 0, 879, 0, 608, 0, 852, 847, 0, 850, 0, 849, 0, 887, 0, 550, 0, 0, 619, 620, 618, 616, 1709, 848, 851, 883, 617, 556, 557, 0, 607, 608, 0, 0, 606, 612, 611, 0, 0, 610, 609, 613, 615, 614 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 45, 46, 1879, 47, 1605, 2380, 2381, 1160, 1161, 1162, 1163, 4211, 1164, 3307, 1165, 1166, 1167, 2965, 1168, 1169, 4458, 2193, 1745, 1171, 2326, 2342, 1172, 1173, 4470, 4239, 3451, 3452, 1671, 1678, 2896, 2897, 4275, 4487, 4488, 3456, 3457, 4229, 4624, 4463, 4464, 4230, 4231, 1598, 2184, 2185, 2848, 2226, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1644, 1184, 2374, 2213, 2304, 2383, 2265, 2221, 3935, 1428, 1414, 1429, 3061, 3062, 50, 2672, 2673, 3363, 3364, 2662, 4791, 4115, 2663, 51, 52, 53, 2776, 2777, 3368, 3332, 4117, 3229, 54, 55, 56, 57, 58, 220, 1343, 2820, 2802, 3049, 2803, 2635, 59, 60, 1548, 61, 62, 1378, 3031, 4629, 4880, 4951, 4918, 4955, 4956, 4959, 4981, 4982, 63, 64, 247, 2171, 4201, 3880, 65, 2838, 2835, 231, 66, 67, 232, 3389, 68, 69, 1551, 3858, 3859, 5004, 5012, 5021, 4986, 5003, 3860, 4071, 4891, 4929, 4845, 3155, 3637, 3427, 3905, 3428, 2262, 3671, 3000, 3001, 3672, 3673, 3674, 3675, 3676, 3677, 4074, 4065, 4076, 3903, 4069, 3910, 3899, 4056, 3900, 4320, 4515, 4213, 2367, 1981, 3136, 1797, 1798, 3050, 1748, 2409, 4072, 4342, 4530, 4531, 4343, 4383, 4427, 3376, 3377, 3718, 3712, 2637, 4663, 3719, 2730, 2639, 3865, 3866, 3867, 4609, 3868, 3869, 3380, 3381, 3382, 3383, 3870, 3871, 4874, 4716, 3882, 4550, 4356, 4357, 4686, 4775, 4776, 3143, 3628, 3629, 3144, 3630, 3631, 4823, 4824, 4884, 4885, 4825, 4859, 4860, 4826, 4863, 4864, 4646, 4744, 4749, 4746, 4829, 4830, 4102, 4562, 3703, 3353, 2017, 2018, 2019, 2020, 3739, 3728, 70, 71, 72, 2808, 2809, 2810, 2653, 2021, 2022, 2781, 1366, 73, 4446, 233, 248, 2827, 3395, 3885, 74, 234, 3150, 3151, 3861, 3139, 3140, 4313, 4314, 4763, 4512, 4664, 4665, 4666, 3397, 3398, 249, 75, 1358, 76, 1567, 1760, 77, 1430, 2469, 3036, 3037, 1882, 1380, 3042, 1386, 79, 80, 2205, 3550, 3993, 3994, 1431, 82, 1185, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 1396, 1397, 1398, 1898, 1924, 2524, 3599, 1387, 2491, 1890, 1891, 3556, 4003, 4004, 3998, 4267, 4268, 201, 202, 203, 3164, 204, 1466, 1953, 1963, 1966, 3622, 4040, 2478, 3600, 1391, 2485, 2311, 4277, 4637, 4638, 4639, 4737, 4740, 1383, 1384, 2474, 2475, 3045, 4491, 1409, 1410, 1411, 1908, 2456, 1909, 3559, 1913, 1914, 1915, 1916, 2470, 3088, 4291, 3585, 2514, 3085, 1917, 3039, 3040, 2516, 3146, 3147, 3581, 4286, 4287, 4288, 2517, 2518, 1918, 1415, 1416, 1928, 1433, 1434, 2538, 1945, 2548, 3110, 2569, 2549, 2550, 2551, 2539, 1978, 3577, 1919, 3078, 2505, 2506, 3075, 3076, 2507, 3066, 98, 99, 100, 3227, 101, 102, 1435, 2531, 103, 1335, 1826, 1829, 1835, 1336, 1337, 3557, 1818, 1338, 1839, 1840, 1823, 1940, 104, 2150, 2151, 2140, 2818, 2794, 2795, 2790, 2791, 1543, 2136, 1574, 3346, 105, 1545, 106, 1800, 107, 1773, 1774, 108, 2133, 109, 110, 1862, 1863, 2457, 3024, 1347, 1869, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 265, 266, 267, 1581, 2178, 3891, 121, 122, 1353, 2463, 123, 3833, 1299, 2396, 1300, 3834, 1302, 1779, 124, 1860, 2450, 2451, 125, 126, 127, 128, 1770, 1771, 129, 2002, 2003, 2004, 2005, 3145, 2023, 3165, 2006, 2024, 2007, 2008, 4668, 2009, 4344, 2010, 2590, 2605, 2011, 3169, 3684, 130, 131, 132, 133, 3263, 3786, 4138, 4139, 3750, 2681, 2078, 4584, 4148, 3265, 2716, 4141, 3789, 3801, 2047, 2048, 1533, 2755, 3275, 2713, 1534, 2721, 2722, 2761, 3779, 2723, 2724, 3247, 3248, 1535, 2686, 2718, 3295, 1536, 4159, 4160, 4161, 4162, 1537, 4124, 4125, 3774, 3775, 4569, 2435, 2436, 3268, 3269, 2708, 2709, 2054, 2118, 2119, 3809, 2104, 2105, 1339, 4152, 2745, 1538, 134, 135, 136, 1784, 1785, 2997, 137, 138, 139, 1303, 1186, 1187, 1188, 1354, 2305, 1189, 1190, 1191, 1192, 1193 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -4337 static const int yypact[] = { 4487, 1247, 6227, 6227, 6227, 6227, 6227, 6227, -4337, -4337, 102, 116, -4337, -4337, -4337, 235, -4337, 772, -4337, 17191, 588, -116, 86, 326, -131, -4337, 1116, -4337, 49746, 3074, 393, -4337, 84117, 310, 310, -4337, 554, 85125, -54, 85125, -129,102261, 1135, 1039, 575, 1400, -4337, 1514, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -220, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 1162, 1162, -4337, -4337, 1458, 1322, 1554, 1225, 1388, 1489, -4337, 1967, 2491, 2600, -4337, 1121, 1162, 63913, 1606, -4337, -4337, -4337, -4337, 46722, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 754, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 1185, 1469, -4337, -4337, -4337, 1494, 1528, 1558, 1561, 1570, 1573, -4337, 1598, 1615, -4337, 1633, 1659, 1733, 1817, 1930, 1966, -4337, 2027, 2029, 2037, 2068, 2077, -4337, -4337, -4337, 2084, -4337, -4337, -4337, -4337, 2120, 2132, 2162, -4337, 2184, 2199, 2230, 2230, 2230, 2230, 2230, 2230, 2230, 2230, 2230, 2251, -4337, 2299, 2309, -4337, 2328, -4337, -4337, -4337, 2360, 2362, -4337, 425, 6384, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 64921, 84117, 84117, 84117, -340, 5110, 65929, 66948, 1885, 1646, -4337, 1773, -4337, 132, 1294, -4337, 1773, 1773, 1773, 1687, 1628, -151, 1949, 84117, 2112, 64921, 2112, 1409, -4337, 222, 1652, -4337, 2112, 66948, 2112, 1482, 1447, -54, 1697, -415, 653, -4337, -4337, 2164, -4337, -4337, -4337, -34, -4337, -4337, -4337, -4337, -4337, 2367, 2437, -4337, 1531, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2435, -4337, 18212, 18212, -4337, -4337, -4337, -4337, -4337, -4337, 2395, -4337, 2401, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 18212, -4337, -4337, -4337, -4337, -4337, -4337, 19233, 19233, -4337, 2403, 19233, 9023, -4337, 44706, -4337, 38632, -4337, 39653, 2411, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2416, -4337, -4337, -4337, -4337, -4337, 2427, -4337, 1668, 1696, 2425, 2430, -4337, 2442, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2453, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2454, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2462, -4337, -4337, -4337, -4337, -4337, 2465, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2470, 2473, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2479, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2480, 2482, -4337, -4337, -4337, -4337, -4337, -4337, 2485, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 1730, 1991, 2183, 2503, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2518, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2532, 2534, 2538, 2540, -4337, -4337, -4337, -4337, -4337, 2542, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2543, -4337, -4337, -4337, 2551, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2565, -4337, -4337, 2570, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2571, -4337, -4337, -4337, -4337, 2573, -4337, 2574, -4337, 2582, -4337, -4337, -4337, -4337, -4337, 2584, 2585, 2590, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2591, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2592, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2595, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2599, -4337, -4337, -4337, 2601, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2604, -4337, -4337, 2605, 2607, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2609, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2611, -4337, -4337, -4337, -4337, -4337, 2613, -4337, 2615, -4337, -4337, 2599, 2615, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2616, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2617, 2618, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2622, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2627, -4337, 2633, -4337, -4337, -4337, -4337, -4337, 2643, -4337, -4337, 2644, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2645, -4337, -4337, -4337, -4337, -4337, 2665, 2666, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2667, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2669, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2671, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2672, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2676, -4337, 2683, -4337, -4337, -4337, -4337, -4337, -4337, 2692, -4337, -4337, -4337, 2693, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2694, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2699, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2700, 2703, 2710, 2717, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2722, -4337, -4337, -4337, 2724, 2725, -4337, 2726, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2735, 2736, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2737, 2738, 2749, 2750, -4337, -4337, -4337, -4337, -4337, 2758, 2759, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2760, -4337, -4337, -4337, -4337, 2762, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2763, 2764, -4337, -4337, 2768, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2770, -4337, -4337, -4337, -4337, -4337, -4337, 1078, -4337, -4337, 2642, 218, -4337, 4060, 1406, 3033, 19233, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2771, -4337, -4337, 2775, -4337, -4337, 2784, 2789, 2786, -4337, -4337, -4337, 2790, -4337, 64921, 67956, 64921, 64921, -4337, 84117, 84117,102261, 64921, 66948, 1697, 2494, -4337, 277, 1140, -4337, -4337, 246, 2354, 2153, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 1146, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2035, -4337, -4337, 2583, -4337, -4337, -4337, -4337, 1115, -4337, -4337, 2792, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2752, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 1496, -4337, -4337, -4337, 2544, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 1131, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2793, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 1496, 2783, -4337, -4337, 86133, 1201, -4337, -4337, 50, -4337, -4337, -4337, 1965, -4337, -4337, 1970, -4337, 306, 2799, 2621, 1973, -4337, 2649, -4337, -4337, 306, -4337, -4337, 1982, -4337, -4337, 306, 1983, 306, 367, 2621, 306, 1983, 2373, -438, 367, -104, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -13, 6, 2275, -4337, 2546, -4337, -4337, -4337, -4337, 64921, 2661, 103269, 2554, -4337, -4337, 1072, -4337, 64921, 2895, 2902, 2903, 2904, 2907, 2914, -4337, -4337, 2751, -4337, -4337, 2660, -4337, 2824, 2824, 2739, 2664, 2673, 87141, -4337, -4337, 2664, 2673, 2576, -4337, -4337, -4337, -4337, -4337, 929, -4337, 1247, -4337, 1247, -4337, 2664, 2673, 1247, -4337, -4337, -4337, -4337, 10044, -4337, 1121, 57832, 64921, 2561, 920, -4337, 2856, 2664, 2673, 44706, 1858, 1858, 1858, 1858, 2888, 1858, 1858, -4337, -4337, -4337, -4337, 68975, -4337, -4337, -4337, 2865, 85125, -4337, -4337, 1931, 1931, 2944, 2949, 2952, -118, 115, 1931, 1931, 1931, 1931, 1931, 95, 217, 1931, 1931, 1931, 1931, 1931, 2955, 1931, 2956, 1931, 1931, 2957, 1931, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 1943, 2966, 1931, 1931, 2967, 2957, 6692, -4337, -4337, 152, 87, 314, 2801, 88149, 84117, 1954, 2223, 2025, -109, -351, 2063, 2244, 2477, -4337, 134, -4337, -393, 45, -4337, -187, -4337, 2680, 2681, -4337, 3216, 1979, 2450, 2019, 2471, -4337, -4337, -4337, 2217, -119, 203, 2624, 2220, 89157, 2631, -251, -3, -275, 376, 2632, -292, 2668, 822, 154, 2178, 2018, 206, 2233, 404, -373, 2715, 685, -4337, -4337, 3027, 705, 520, -4337, -4337, 2715, -4337, 1753, 84117, 1773, 1773, 84117, 84117, 66948, 84117, 1773, 3041, 84117, -4337, 2106, 2047, 1773, 2958, 2822, 84117, -4337, 3050, 2112, 2112, 84117, 84117, -4337, 3031, 84117, 90165, 2112, 2112, -4337, -4337, -4337, -4337, 281, -4337, -4337, -4337, -4337, -4337, -4337, 69983, 1684, 18212, 3033, 3033, 18212, 3033, 3008, -4337, -4337, 2972, 2972, 18212, 2972, 3035, 2448, 1529, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2978, 2994, -4337, 2972, 18212, 18212, 18212, 2983, 519, -4337, 91173, -4337, 18212, 18212, 91173, 2998, 1316, 1349, 91173, 18212, 18212, 18212, 18212, 18212, 1227, 18212, 1330, 2999, 1374, 3000, 18212, 18212, 18212, 3002, 618, 18212, 2990, -58, 292, 18212, 18212, 18212, 18212, 2991, 3009, 3010, 292, 18212, 18212, 1227, 18212, 1227, 18212, 18212, 1444, 18212, 18212, 3013, 19233, 18212, 18212, 3016, 3025, 18212, 2932, 2932, 2932, 2932, 18212, 1227, 1484, 18212, 18212, 618, 618, 8002, 2932, 2932, 2932, 18212, 18212, -4337, -4337, 86133, 180, 11065, 11065, 11065, 11065, 11065, 11065, 19233, 19233, 20254, 3032, 21275, 19233, 19233, 19233, 19233, 22296, 23317, 19233, 19233, 19233, 19233, 19233, 19233, -4337, -4337, 2379, 19233, 1927, -4337, 18212, 18212, 18212, 18212, 18212, 2972, -4337, 18212, 41682, 18212,106280, 3086, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2769, 3093, -4337, 3027, -4337, 3094, 3095, 69983, -4337, -4337, 24338, 18212, 18212, 16, 2487, -4337, 3100, -4337, 3067, 2947, 2553, 246, -4337, 246, -4337, -4337, -4337, -4337, -4337, 2972, 66948, 3076, 246, -4337, -4337, 58840, -4337, 277, -4337, 24338, 24338, -4337, 64921, -4337, 64921, 84117, 64921, 84117, 64921, 1773, 367, 367, 3132, 18212, -4337, 3070, 3140, -4337, 367, 59859, -4337, -4337, 2192, 306, -4337, -4337, -4337, -4337, -4337, -4337, 84117, 306, -4337, -4337, 306, -4337, 306, 306, 64921, -4337, -4337, -4337, 367, 367, -4337, 3089, 3096, -4337, 3097, -4337, 3142, -4337, 1191, 3135, -4337, 1784,102261, -4337,102261, 2687, -4337, 3144, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 3162, -4337, 64921, 64921, 18212, 493, -4337, -4337, 3165, 3166, 3147, -4337, -4337, -4337, 296, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 51784, -4337, 991, -4337, 52792,105285, 431, 1566, -4337, -4337, -4337, 92181, -4337, 2561, 608, 944, 3172, -4337, 84117, 57832, 70991, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -254, -4337, -4337, -4337, -4337, -4337, 44706, -4337, 3180, 84117, 71999, 3105, 3181, 3107, -4337, -4337, -4337, 3109, 3111, 3188, 73007, 84117, 71999, 71999, 71999, -4337, -4337, 3114, -4337, -4337, 3116, 71999, 71999, 71999, 71999, 71999, 3117, 71999, 3118, 71999, 74015, 463, 3119, 3124, 3201, 3182, 3128, 71999, 84117, 3129, 3137, 6455, 1376, 1156, 3026, 48738, 3036, 886, -4337, 3026, 2922, -84, -4337, -4337, -4337, -4337, 3205, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2670, 204, 2939, 3063, 2951, 2963, -4337, -4337, -4337, -4337, 3238, -4337, -4337, -4337, -64, 2766, 2767, 1858, 3184, 660, 2569, 60878, 2861, 61897, 3261, 2871, 2873, 2529, 3228, 2260, 2877, 2288, -4337, 3077, 3232, 3232, 3271, -4337, 2911, 2629, -4337, 2314, 3293, 2335, 2791, 2900, 2192, 2347, 2353, -4337, -4337, 1968, -4337, -4337, -4337, -4337, -4337, -4337, 2322, -4337, 2773, 2192, -4337, -4337, -4337, -4337, -4337, 2910, 3084, 3232, 318, 434, 434, 2434, 3287, -4337, -4337, -4337, -4337, -4337, 2370, 434, 1071, 3103, 3108, -4337, 3337, 2742, 3232, 3232, 3232, 3232, 3232, 3319, -4337, 2327, 2744, -4337, 497, 497, 3043, -4337, 3342, 3301, 3306, 3308, 3310, 3347, -4337, 3368, 60878, 2529, 60878, 2529, 2327, 2327, 2387, -4337, 780, 2807, -4337, -4337, -4337, 780, -4337, -4337, 185, 952, 3193, -4337, 66948, 597, 120, 3153, -64, 84117, 84117, -4337, 780, 665, -4337, 3027, 104, 64921, 2563, 3290, 90165, 64921, 84117, 64921, -4337, -4337, -4337, 84117, 84117, -4337, 1128, -4337, 3300, 3303, 3158, 2786, 64921, 64921, -4337, -4337, 3304, 3053, 3314, -4337, 3033, 2905, 18212, 487, -4337, 3474, 18212, -4337, 45714, 106280, 3571, 755, 3033, 1333, -4337, 3322, -4337, 3300, 3323, -4337, 3325, 3796, 3801, -4337, 1582, -4337, 3326, -4337, 3329, -4337, 3330, 3839, 3331, 1665, 1675, 2463, 2474, -4337, -4337, -4337, 18212, 2010, -4337, 18212, 18212, 12086, -4337, 3334, -4337, 3321, 2486, 3850, 3338, 3339, 3327, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 3189, 245, 504, -4337, -4337, -4337, 3396, -4337, -4337, 18212, 2498, 2530, 2536, 1677, 261, 504, 504, 504, 18212, 2552, 2211, 18212, 2562, 18212, 2568, 2596, 3343, -4337, 2619, 3890, 3332, 3987, 2690, 3403, 3336, 3344, 2696, 18212, 18212, 18212, 18212, 3902, 3348, 18212, 3351, -4337, 2701, 2720, 3353, 3412, 3359, 13107, 14128, 15149, 1871, 3360, 18212, 18212, 18212, 2231, 2728, -4337, -4337, -4337, -4337, 133, -4337, 3364, 3366, -4337, 3367, -4337, 3382, -4337, 3384, -4337, 3386, -4337, 3388, -4337, 3390, -4337, 3738, 3467, 4089, 9023, -4337, -4337, 3467, 1516, 4101, 4019, 4146, 4146, 40674, 2646, 40674, 2646, 3374, 3374, 3374, 3374, 3374, -4337, 19233, 25359, 3032, 26380, 2972, -4337, -4337, -4337, 2507, 2507, 1928, -4337, -4337, 1853, 3398, -4337, -4337, 3402, 3408, 3417, 3471, -4337, 1974, 3416, -4337, 64921, 64921, 64921, 3154, 66948, 3263, 3267, 27401, 3446, 2298, 3033, -4337, 3033, 3033, -4337, -4337, 35, 2934, 3529, 1740, 3349, -4337, -4337, -4337, -4337, 3027, 168, -4337, 1211, 1215, -4337, 24338, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 84117, 306, 306, 3476, 3033, 3457, 3514, 306, 3460, 3232, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 367, 306, 64921, 3538, 3540, 3542, -4337, 3526, -4337, -4337, 3183, 2925, -4337, 84117, -4337, 64921, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2679, 3190, 1260, -4337, 72, 3254, 3466, 2134, 3537, -4337, -4337, -4337, 173, 197, -4337, 96213, -4337, -4337, 1583, -4337, 85125, 3558, -4337, 10044, -4337, 3328, 53800, 1700, 84117, -4337, 57832, 91173, 3531, 3272, 965, 3272, 3534, -4337, 2608, 57832, 57832, 57832, 84117, -4337, -4337, 3492, 364, 540, 97221, 98229, 364, 1274, -4337, 1274, 3278, 57832, 42690, -4337, 18212, -4337, 3549, -4337, 3491, -4337, -4337, 1858, -4337, -4337, -4337, 1931, 3573, 84117, -4337, 1702, -4337, 3497, -4337, -4337, -4337, 2557, 73007, -4337, 1711, -4337, 1712, 3498, 3499, 1742, 1749, 1752, -4337, -4337, 1754, 1774, 1787, 1806, 1821, -4337, 1838, -4337, 1839, 84117, -4337, 3182, -4337, 2957, -4337, -4337, 2558, -4337, 119, -4337, 1846, 3505, -4337, -4337, -4337, -4337, 84117, -4337, 3507, 364, 1143, 84117, 75023, 84117, 91173, 91173, 91173, 3509, 3501, 1094, -4337, 1094, 835, 84117, 545, -4337, 84117, 64921, 91173, 3586, 3586, 3586, 297, -4337, 43, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3232, -4337, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3232, -4337, -4337, 2663, -4337, 440, 3507, 64921, 1094, 551, 3586, 3586, 2715, 3232, 3232, 3232, 3232, 3232, -4337, -64, 3588, 3593, 3255, 3599, 3508, 3232, 3232, 3232, 3581, -4337, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3591, -4337, -4337, -4337, -168, -4337, 2192, 489, -4337, -4337, -4337, -4337, -4337, 3232, 2757, 2755, 3385, 2757, -4337, -4337, 60878, 60878, -393, -4337, -4337, 3615, -4337, 3618, -4337, 434, -4337, -4337, 3393, 2677, -4337, 3232, -4337, -4337, 3199, 2677, 3368, -4337, 3628, 3232, -4337, -4337, 2776, 3232, 3232, -4337, -4337, -4337, -4337, -4337, 434, 2785, 2677, -4337, 60878, 3631, 84117, 434, 3633, 3635, 3642, 3643, 3647, 60878, -3, -4337, -4337, -4337, -4337, 256, 434, -4337, -4337, 370, 370, 3651, 370, 154, -4337, 101, -4337, 2757, 2715, 2779, -4337, -4337, -4337, -4337, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 3232, 106, -4337, 3232, -4337, 3284, -4337, 3317, 106, -4337, 3659, 3661, -4337, 3664, -4337, 166, -4337, 3665, 3666, 952, -4337, 3669, -4337, -4337, 3232, 3232, 3232, 319, -4337, -4337, 889, -4337, -4337, 3377, -4337, -4337, 167, 570, 2569, 112, 66948, 952, 3311, -4337, 3101, -4337, 735, 3259, 22, 1790, 3594, 3449, 3607, -4337, 3340, -4337, -4337, -4337, -4337, -4337, -4337, 93189, -4337, -4337, 974, 974, 3620, 66948, 76031, 18212, 4024, 18212, -4337, 3173, 18212, 2746, -4337, -4337, -4337, 18212, 18212, -4337, 475, 286, 475, -4337, -4337, 91173, 18212, 18212, 91173, 3315, -4337, -4337, -4337, 28422, -4337, 3597, 3600, 3608, -4337, 2754, 286, 1847, 1854, 3619, 2772, -4337, 504, -4337, 3613, -4337, -4337, 504, 18212, 56, -4337, -4337, 2970, -4337, 329, -4337, -4337, 18212, 972, -4337, -4337, -4337, 56, 2986, -4337, -4337, -4337, 972, -4337, 18212, -4337, 2781, -4337, 2825, -4337, -4337, -4337, 3616, 18212, 504, 18212, -4337, 18212, 504, 504, -4337, 2846, 2876, 2897, 2969, 28422, -4337, 2980, -4337, -4337, -4337, -4337, 18212, -4337, 18212, 1926, 18212, 1945, 18212, 1950, 18212, -4337, 3028, 3049, 3102, 18212, -4337, -4337, -4337, -4337, -4337, 1247, 1247, 1247, 1247, 1247, 1247, 19233, -4337, 3708, 1863, 1878, 29443, 9023, 1933, 1933, 3786, 3467, 4089, -4337, 3467, 1709, 18212, 18212, -4337, 43698, 18212,106280, 18212, 77050, -4337, -4337, -4337, -4337, 66948, -4337, 3430, 66948, -164, 3424, -4337, 3714, 3106, -4337, 3720, -4337, 3737, -4337, -4337, 3681, -4337, -4337, -4337, -4337, 3757, -194, 3758, -4337, 3682, 2561, -4337, 367, -4337, 3752, 3769, 3142, -4337, -4337, -4337, 1242, -4337, 3770, 3335, -4337, -4337, 3700, 54808, 91173, -4337, -4337, -4337, 3729, -4337, -4337, -4337, 3305, -4337, -4337, -4337, -4337, 18212, 493, 493, 475, 635, -4337, -4337, -4337, -4337, -4337, -4337, 56824, -4337, -4337, 1566, 375, -4337, 3755, -4337, -4337, 3780, 57832, 3781, 3783, -4337, -4337, 3272, 3272, 3272, 3784, -4337, 3789, -4337, 858, 892, 1274, 3586, 3596, -4337, 177, 84117, 3745, 99237, -4337, 1274, 84117,100245, -4337, 1274, 3596, -4337, -4337, 2664, -4337, 3549, 953, 3033, 3759, -4337, -4337, -4337, 3751, 1879, -4337, 78058, -4337, 3782, 1898, 1900, -4337, 73007, 79066, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 1901, 174, -4337, -4337, -4337, 3856, 3785, -4337, -4337, 3510, 3673, -4337, 3574, -4337, -4337, -4337, 84117, -4337, 3793, 3794, 3340, -4337, -4337, 91173, -4337, 2948, 15, 228, 91173, 835, 3586, 84117, -4337, 3586, 511, -4337, -4337, -4337, -4337, -4337, -4337, 3806, 263, 309, 3813, 3546, -4337, -4337, 1517, 511, 511, -4337, -4337, -4337, 60878, 1845, 3868, 3892, 3898, 3900, 60878, 3837, 1077, 3919, 3920, 50765, 3927, 3931, 3932, 127, 3939, 3943, 3948, 3951, 3955, -4337, 3232, 3232, -4337, 3086, -4337, 3960, -51, 9, 3044, 1689, 511, -4337, 3961, 1077, 3962, 50765, 3971, -4337, 3275, 2757, 1858, -4337, -4337, 1921, 3899, 60878, 3974, 3904, 603, 370, 370, 370, 370, 370, 370, 370, 370, 2569, 3232, 3232, 3232, -4337, 3963, 3098, 3980, 3982, 3518, 3988, 3241, -4337, 2981, 3143, -4337, -4337, -4337, -4337, 3246, 3653, 3952, 3448, 4008, 3232, -4337, -4337, 3448, 3992, 3519, 3940, 3232, 2327, 4017, 60878, -4337, 4018, 3003, -4337, -4337, 3636, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2192, 2192, 2757, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 1874, 3575, 3942, 3575, 3575, 3575, -4337, 4025, -4337, 213, -168, 3232, 1927, 4027, 4028, 4029, 50765, 4030, 4035, 3954, 4036, 4037, 4038, 3966, 1312,102261, -4337, 475, 3232, 84117, -4337, -4337, -4337, -4337, -42, -4337, -4337, -4337, -4337, -4337, -4337, 4041, 50765, 4052, -4337, 3232, 3232, -4337, -4337, -4337, -4337, -4337, -64, 3232, 3232, 3232, 3232, 4042, -4337, 3591,104277,102261, -4337, -4337, 952, -4337, 3885, 64921, 47730, 1247, -4337, 3774, 1809, 3895, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 3196, 3719, 3255, 93189, 94197, 86133, 3133, 625, 3986, -4337, -4337, 3158, -4337, -4337, -4337, -4337, 501, -4337, -4337, 3113, 18212, 3033, -4337, 3123, -4337, 2259, 3033, 3999, 4001, 4001, 4010, -4337, 3835, -4337, -4337, 4010, 3835, -4337, 4015, 4020, 4023, -4337, 4014, 3911, 3922, -4337, 4021, 40674, 3136, 504, 504, 504, 4004, 4033, 4011, -4337, 4013, 4043, -4337, 18212, -4337, 3174, 3397, -4337, 4034, 3819, 3933, 4039, 3278, 3187, 3812, -4337, 1922, 3812, 3204, 4044, 4045, 504, 3219, -4337, 3248, 3279, -4337, -4337, 4048, 4049, 4053, 4054, 3316, 4065, 3934, 3033, 18212, 3033, 18212, 3033, 18212, 3033, 4077, 4081, 4093, 3413, 243, 4050, 4066, 4108, 4109, 4110, 4111, -4337, -4337, -4337, 30464, 3467, 1406, 2312, -4337, -4337, 19233, 3708, 1947, 31485, 3958, 1876, -4337, -4337, -4337, 4112, -4337, -4337, -4337, -4337, 3027, 3957, 3031, -4337, -4337, -4337, 3800, 35, 1740, 3461, 3669, -4337, -4337, -4337, -4337, -4337, -4337, 306, 3724, 3324, -4337, -4337, 3800, 3333, 3858, 105, 1925, 4174, 32506, 4177, 4114, -4337, -4337, -4337, -4337, 3936, 1380, 2561, 2561, 3549, 91173, 3278, 32506, -4337, 892, 57832, -4337, 4173, 4185, 4186, -4337, -4337, 18212, 4143, 18212, 4144, -4337, -4337, 498, 962, 4145, -4337, -4337, -4337, 4147, 1274, 4220, 84117, -4337, 1274, -4337, 1274, 84117,101253, -4337, 1274, -4337, 4148, -4337, -4337, -4337, -4337, 84117, 84117, -4337, -4337, -4337, 73007, -4337, -4337, 1936, 84117, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 1951, 3203, -4337, 364, 4152, 64921, 1952, -4337, 1955, -4337, 3340, 84117, 4153, 4154, -4337, 1976, -4337, 4001, -4337, -4337, 4001, 4010, 3935, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 3937, 4156, -4337, -4337, -4337, -4337, 4001, 4001, 4158, -4337, -4337, -4337, -4337, 4159, 4010, -4337, -4337, -4337, 4160, 894, 4161, 4162, 4020, -4337, 4001, 4001, -4337, -4337, -4337, -4337, 4032, 4040, -4337, -4337, -4337, 1052, -4337, 1408, -4337, 4242, 80074, 18212, 4167, 18212, 4169, 18212, 84117, 3507, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 18212, -4337, -4337, 3158, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 1927, 475, 3044, 4244, 4067, 3502, 4248, 3502, 3502, 3507, -4337, 3158, -4337, -4337, -4337, 3232, 2757, 2327, -4337, 4250, 4163, 3599, -4337, 4047, 4251, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 60878, 60878, 60878, -168, 3232, -4337, 3851, -4337, -4337, 3232, 2327, -4337, 3833, 3232, 3232, 4204, 615, -4337, 60878, -4337, -4337, -4337, 60878, -4337, 3232, 60878, 4182, -4337, -4337, -4337, -4337, 4203, 3296, 4262, -4337, -4337, -4337, -4337, -4337, 4263, 3414, 86133, 3414, 3414, 3414, -4337, -4337, -4337, -236, 3963, 4265, -4337, -4337, 3158, -4337, -4337, -4337, -4337, 3599, -4337, -4337, -4337, 4251, -4337, 4246, -4337, -4337, 81093, -4337, -4337, -4337, -4337, -4337, 1927, 475, -4337, 4267, 60878, 4268, 4193, 570, 102261, 4246, 4246, 178, -4337, 64921, 84117, 364, 1980, -4337, -4337, 1275, 84117, -4337, 4090, 3976, 3895, -4337, 3978, -4337, -4337, -4337, 2670, 1247, 4276, 4113, -4337, 4057, 3300, 4199, 3269, 2786, 1984, -4337, 4228, 4116, -4337, -4337, 64921, -4337, 4058, -4337, -4337, 3033, -4337, 18212, -4337, -4337, 2213, -4337, -4337, 4209, 4293, -4337, -4337, -4337, -4337, -4337, -4337, 4295, -4337, -4337, 86133, 18212, 18212, 4297, 1933, -4337, -4337, -4337, -4337, 504, -4337, 504, 504, 504, -4337, -4337, -4337, 4223, 18212, -4337, -69, -4337, 4300, 4225, 18212, -4337, 4227, -4337, 504, 504, -4337, 4072, -4337, -4337, 504, 504, 504, 504, -4337, 504, 18212, 3033, 3033, 3033, 504, 504, 504, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 3467, 1406, 3708, -4337, 33527, 3467, 1406, 18212, 18212, -4337, -4337, 66948, -4337, -4337, -4337, -4337, 4229, -4337, 4253, 4254, -4337, -4337, 64921, -4337, 105, 2298, 3033, 1993, -4337, 4231, 3964, 1424, -4337, 4129, 4130, 4092, 4132, 1380, -4337, 4290, 4080, -4337, 2664, -4337, -4337, 892, -4337, -4337, -4337, 3033, 91173, 3033, 91173, -4337, -4337, 4136, 4137, 928, 2227, -4337, 4243, 1274, -4337, -4337, 1274, 84117, -4337, 1274, -4337, 928, 2002, 2012, 1898, 174, 4245, -4337, 84117, 18212, 3965, 4026, -4337, 4031, -4337, 4249, 4252, 86133, 86133, 91173, -4337, -4337, -4337, 4209, -44, -4337, -4337, 1740, -4337, 4209, 4322, -4337, 1740, -44, 4325, -4337, 3949, 4155, 981, 4329, -44, 4330, -44, -4337, 4209, -4337, -4337, 3709, -4337, -4337, -4337, 3415, 2013, 3419, 86133, 3436, 86133, 3443, -4337, -4337, 3451, -4337, -4337, -4337, 3502, 3044, 629, 4331, 4258, 3044, 4259, -4337, -4337, -4337, 60878, 2327, -4337, -4337, 4261, 2020, 3361, -4337, -4337, 2042, -4337, -4337, -4337, -4337, 4337, 3232, -4337, 4022, 4340, 3158, 2677, 60878, 4338, 4341, 4289, 4291, 4292, 4294, 4296, 4298, -4337, 615, -4337, 4328, -4337, 4345, 2043, 3368, 4251, 3232, -4337, 3371, -4337, 4299, 434, -4337, 434, 434, 434, 3232, 3232, 3158, -236, -4337, -4337, 3861, -4337, 2045, 2052,102261, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 4251, -4337, 4246, 3669, -4337, 4280, 4016, 4170, 84117, 55816, 2663, 4272, 4275, 3340, 726, 4181, -4337, 1247, 3427, -4337, -4337, -4337, 6227, 94197, 95205, 2757, -4337, 86133, -4337, 4364, 1247, 4301, 4079, 2053, -4337, -4337, 4302, -4337, -4337, 2066, 4303, -4337, 3469, 3967, 4323, -4337, -4337, -4337, -4337, -4337, -4337, 4349, -4337, -4337, 34548, -4337, -4337, -4337, 4281, 2070, 4282, -4337, -4337, 486, 56, -4337, -4337, -4337, -4337, -4337, 3033, -4337, -4337, -4337, 3708, 3467, 1406, 3708, 3033, 3033, 3031, -4337, 4369, 4372, 3254, -4337, 32506, -4337, 32506, 91173, 4194, 4196, 1424, -4337, 4374, 4380, 4200, 4382, -4337, 4384, -4337, 4206, 4151, -4337, -4337, 2071, 2074, -4337, -4337, -4337, -4337, -4337, 4365, 4308, -4337, -4337, 4313, -4337, -4337, -4337, 1274, -4337, 2080, -4337, -4337, 73007, -4337, -4337, 3340, 3480, 230, 64921, -4337, 64921, -4337, 86133, 86133, 2104, 2105, -4337, 4315, -4337, 197, -4337, -4337, 4046, 2118, 197, 4317, 2124, 4046, 4318, -4337, 4316, -4337, 4051, 86133, 2698, -4337, 4309, 86133, -4337, 4396, -4337, 4397, 2698, 4389, -4337, 4314, -4337, 4326, 4046, 2125, 4046, 197, 2213, 2213, -4337, -4337, 4218, 3502, -4337, -4337, 3415, 3415, 2141, 3415, 2143, 3415, -4337, -4337, 3502, 4402, 12, 29, 3483, -4337, 4026, -4337, 3502, 4031, -4337, -4337, -4337, 3599, 4319, 3232, -4337, 4405, -4337, 4407, 86133, -4337, -4337, 3098, 3550, -4337, -4337, 1845, 4408, 4409, 1845, 1845, 1845, -4337, 60878, -4337, -4337, 2145, 1038, 135, 4411, -6, 2192, 2192, 2192, 2192, 4412, 4415, -4337, -4337, 3232, -4337, -4337, -4337, 2167, -4337, -4337, 364, 4342, 3340, -4337, 3774, -4337, 84117, 3340, 4343, 4344, 340, 4224, -4337, 356, -4337, 4346, 3269, -4337, 3269, -4337, -4337, -4337, -4337, -4337, -4337, 86133, -4337, -4337, -4337, 4419, -4337, -4337, -4337, 18212, 752, 4347, 35569, 40674, 3589, 3033, -100, -4337, 504, -4337, 504, -4337, -4337, -4337, 4332, 3708, -4337, -4337, 4235, -4337, 2177, 4174, 4424, 4426, -4337, -4337, -4337, 4427, -4337, 4255, 4410, -4337, 18212, 18212, 4290, -4337, -4337, 928, -4337, -4337, -4337, -4337, 2193, 4353, -4337, 4356, 3482, 4075, 4078, 2221, 2222, 2682, 86133, 2682, 4437, 1004, 2972, -4337, -4337, 4209, 2972, -4337, 4209, -4337, -4337, 18212, 171, -4337, -4337, -4337, -4337, 2645, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 4438, -4337, -4337, 2972, -4337, -4337, 638, 4366, 3502, 3502, 3415, 3502, 3415, 3502, 4258, 3483, 4439, 3496, 4443, 3500, 4444, -4337, 4259, 2232, 4371, 4373, -4337, -4337, -4337, 4394, -4337, 3232, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 4086, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 4452, -4337, 84117, 18212, 4378, 1727, 4379, 4381, 86133, 82101, 16170, 4383, -4337, -4337, 3711, 95205, -4337, -4337, 2235, 4385, 3487, 3847, 3775, -4337, 4423, 1933, -4337, -4337, -4337, -4337, -4337, -4337, 504, 4141, 635, -4337, -4337, -4337, -4337, 4388, 4384, 2155, -4337, 587, -4337, 3033, -4337, -4337, -4337, 86133, 36590, 3891, 1050, 3848, 4425, 2682, 4164, 3731, 3232, 4469, 3232, -4337, 3232, -4337, 3232, 4398, 3232, -4337, -4337, -4337, 2682, -4337, -4337, -4337, -4337, -4337, 4399, 3903, -4337, 197, -4337, 197, 3605, -4337, 4400, -4337, 4403, 341, 366, 4404, 4178, -4337, 4366, 4258, 3502, 4259, 3502, 4366, -4337, -4337, 3554, 4406, 3560, 4413, -4337, -4337, -4337, 4251, 4481, 3760, 4483, 4484, 3158, 3340, 3668, 86133, 1247, 86133, 86133, 2240, 86133, 2255, -4337, -4337, 3693, 86133, 4097, 3269, 2682, -4337, -4337, 3802, -4337, 35569, -4337, -4337, 1496, 3936, -4337, -4337, -4337, -4337, -4337, 18212, 3670, -4337, 2257, 1999, 3033, 2258, 4486, 4414, 37611, -4337, 3891, -4337, 64921, 4490, 4492, -4337, 4493, 4494, 4497, 86133, 4499, -4337, -4337, 4500, -4337, 2972, 2972, 1226, -4337, 86133, 18212, 4428, 18212, 4430, 18212, 64921, 2279, -4337, -4337, -4337, 4258, -4337, 4259, -4337, 3555, 3587, -4337, 3559, 3590, -4337, 2281, -4337, 2283, -4337, -4337, -4337, -4337, 4433, -4337, 2284, -4337, 2286, 2290, 2682, 2292, 82101, -4337, -65, 2293, -4337, -4337, 3774, -4337, -4337, -4337, 1580, -4337, -4337, 2682, -4337, 18212, -4337, -4337, 3592, -4337, -4337, -4337, -4337, 4432, 3033, 2304, -4337, 4414, 4434, -4337, -4337, -4337, -4337, -4337, 2316, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2330, 3712, 86133, 3717, 86133, 3743, 3891, 4178, -4337, -4337, -4337, 4406, 64921, 2332, -4337, 4413, 64921, 2343, -4337, -4337, 4512, -4337, 86133, 2682, 4210, 3340, -4337, -4337, 2350, -4337, -4, -4337, 4514, 4516, 4449, -4337, 3033, 64921, 2351, -4337, 37611, -4337, -4337, 86133, -4337, 2006, 1212, 3598, 2352, 3606, 2363, 1289, 4414, -4337, -4337, 4168, 3587, -4337, -4337, 4171, 3590, -4337, -4337, 2365, -4337, 64921, 3575, 82101, -4337, 47, 47, 62905, 4198, 4172, 3610, -4337, -4337, 2369, -4337, 4519, 4445, 4532, 4533, -4337, 4447, -4337, 3595, -4337, 3601, 3617, 3602, 3621, 3603, -4337, -4337, 3923, -4337, 4491, -4337, 2682, 4463, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 2380, -4337, -4337, 91173, -4337, 269, 64921, -4337, 4264, -4337, -4337, -4337, -4337, -4337, 4470, 4406, 3604, 4413, 3609, 4470, 3611, 4356, -4337, 86133, 83109, -4337, 4524, -4337, 4498, -4337, 129, -4337, 3610, -4337, -4337, 4406, -4337, 4413, -4337, 1050, -4337, 2382, -4337, 91173, 32506, -4337, -4337, -4337, -4337, 4459, -4337, -4337, -4337, 4264, -4337, -4337, 248, -4337, -4337, 227, 227, 4459, -4337, -4337, 982, 4180, -4337, -4337, -4337, -4337, -4337 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -4337, -4337, -4337, -4337, -4337, -1512, -4337, 1574, -4337, -4337, -4337, -3759, -2065, -4337, -2671, -2649, -4337, -1635, -2288, -202, -291, -4337, -19, -1515, -4337, 2065, 2197, -4337, -4337, -4337, -4337, -1742, -2833, 3803, 3804, -2105, -71, 74, -4337, -66, 1114, -4337, -4337, -4337, -4337, -4110, -4337, -4337, -4337, -4337, 2386, -4337, 2024, -4337, -4337, -4337, -4337, -4337, -4337, -2981, -4337, -4337, -4337, 3391, -4337, -4337, -49, 2862, 1591, 2893, 357, 1113, 4578, -4337, 4580, -2961, 1020, -4337, 1769, 1340, -4337, 736, -4337, -4337, -4337, 1350, -4337, -4337, -4337, -936, 1257, -4337, 1805, -3676, -3468, -4337, -4337, -4337, -4337, -4337, 1918, -1167, -4337, 2436, -15, -1722, -1944, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -326, -4337, -4337, -388, -4337, -4337, -406, -4337, -4337, 4360, -2055, -3418, -3695, -4337, -3281, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -89, -4337, 410, -418, -4337, -419, -411, -4337, -2426, -4337, -4337, -4337, -4337, -1613, -4337, 1721, 1174, -4337, -4337, -4337, -2345, -1810, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -3022, -4337, 926, -1313, 959, -2359, -1840, -2291, -3545, -2985, -4337, -4337, -2602, -1287, -3239, -1770, -3016, -4337, -4337, 262, 522, -287, -1882, -4337, -1919, -3476, -1703, 1386, -2754, -1970, -1963, -1968, -1933, 1785, -4069, -4337, -4337, -4337, -4337, -1391, -1380, -1374, -1368, 741, -4337, -4337, -4336, -3577, -3877, -4337, -4337, -2933, -4337, -245, -3900, -4337, 564, -3826, -4337, 565, -3710, -3027, -4337, -309, -3530, -4337, -289, -3405, -4337, -288, -362, -4337, -379, -4267, -4337, -269, -3519, -3840, -1900, -4337, 1811, 1812, 1813, 1814, -2954, -4337, -4337, -4337, -4337, -4337, -1839, 1265, -2072, -4337, 1978, -1912, 2620, -4337, -4337, -4337, 4392, -4337, -4337, -4337, -4337, -4337, -3088, -2398, 2639, 773, 774, -3810, 122, -4337, -4337, -3558, -4337, -37, -3100, -3152, -4337, -4337, 4386, -4337, -67, -1756, -4337, 4633, 2753, -3139, -4337, 3253, 1270, -4337, -4337, -4337, -4337, -2905, -4337, 377, -3503, 2, -4337, 24, 30, 720, -4337, -4337, -4337, 1042, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 1183, -4337, -4337, 2015, -4337, -1844, -4337, 1177, 2729, -4337, -4337, 2160, 17, -4337, 644, -83, -4337, 389, 0, -4337, 3185, -1600, -161, 3995, -4337, -4337, -4337, 623, -4337, -653, 659, 2329, -4337, -4337, -4337, -4337, -4337, -70, -4337, -4337, -76, -68, -4337, 1623, 158, -4337, -4337, -4337, 3260, 2185, -1889, -4337, -4337, -1788, 2176, -2332, 3262, -4337, 1581, -4337, -4337, 2161, -4337, -4337, 418, 2765, -4337, -3462, -1940, 1585, 184, 646, -4337, -4337, -2169, -43, 3273, 2774, -2233, -1862, -4337, -1728, -1211, -2325, -1950, -4337, 1565, -2503, -4337, 1940, -1363, -3252, -4337, -2282, -4337, -4337, -4337, -4337, -4337, -2110, -4337, -4337, -4337, 1296, -4337, -4337, -1274, -4337, -4337, -4337, 3352, -4337, 3354, -4337, -4337, 3355, -4337, -4337, -1030, -1632, -1285, -4337, -4337, 1848, 1873, 2545, 1880, 1877, -2581, -4337, -2473, -1122, -1720, -180, -3333, -4337, -237, -4337, 3376, -4337, 2315, -4337, -4337, 2556, -4337, -4337, -4337, 2245, 1680, -4337, 2203, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 4684, -4337, 3120, 3506, 2940, -4337, -4337, -4337, 28, -4337, -4337, -3013, -4337, -1488, 2913, -27, -4337, -905, -4337, -4337, -4337, 1699, -4337, -4337, -4337, -4337, -4337, 2331, -4337, -4337, 2111, -4337, -4337, -2520, -4337, -2104, -4337, -4337, -4337, -4337, 1567, -4337, -169, -4337, 38, -4337, -195, -2387, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 585, -4337, -4337, -4337, 2674, -4337, -4337, -2648, -4337, 931, 1457, -4337, -4337, 2036, -4337, -2651, -4337, -4337, -4337, -2530, -2051, -2069, -4337, 1986, -1946, 957, 1417, 1419, -1831, -4337, -4337, -4337, 577, -4337, -4337, -4337, -4337, -4337, -4337, -4337, 349, -4337, 3218, -2010, -4337, -4337, -4337, -4337, -4337, -4337, 1988, -3245, -4337, 2003, -4337, -1166, 2634, -4337, -4337, -4337, -4337, 441, -1327, 1214, -4337, -4337, -4337, -8, 1153, 508, 2988, -1778, -1624, 3088, -18, -4337, -4337, -283 }; /* 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 -2890 static const yytype_int16 yytable[] = { 1170, 1301, 81, 205, 206, 207, 208, 209, 1575, 1388, 1304, 1803, 1402, 1298, 1334, 1601, 1602, 1389, 2487, 1604, 1403, 1418, 1532, 1304, 83, 140, 1638, 2571, 2408, 1419, 1636, 141, 2199, 1363, 1767, 2144, 2204, 1870, 1831, 1544, 2211, 2638, 1483, 3114, 1833, 2256, 1836, 2702, 2589, 1842, 3635, 2601, 2388, 2604, 2462, 2741, 2967, 2762, 3632, 1432, 4009, 3271, 2710, 3270, 3811, 3812, 3813, 1359, 3378, 2676, 3460, 2680, 3548, 2811, 2760, 2760, 2520, 2692, 2693, 3309, 3280, 3311, 1772, 2535, 2535, 2325, 2327, 2329, 2331, 2333, 2335, 2337, 2636, 1998, 2535, 2535, 2535, 2535, 2535, 2576, 3308, 3308, 2826, 3308, 1999, 2535, 2535, 2535, 2535, 2535, 2000, 2535, 2714, 2535, 2535, 4086, 2001, 1986, 1954, 3889, 3208, 2535, 2535, 2493, 3134, 3313, 83, 3547, 2192, 2488, 3330, 2735, 2736, 2737, 2738, 2739, 3330, 2725, 2526, 1555, 1556, 1557, 2954, 2214, 2215, 2955, 2729, 1932, 1933, 1934, 1935, 3032, 1937, 1938, 221, 4166, 3252, 2114, 2756, 3255, 2758, 5000, 1853, 4042, 3154, 2269, 2905, 2906, 2907, 1484, 1589, 1569, 3004, 3077, 3077, 3077, -1665, 1573, 4586, 1576, 3177, 1856, 3345, 2289, 1, 2779, 2652, 2426, 2427, 2318, 2779, 3358, 2319, 3156, 1568, 2432, 2780, 3047, 3982, 2804, 2083, 2780, 4373, 3170, 2321, 2779, 3175, 3340, 4355, 2804, 2805, 1203, 3108, 3344, 2608, 3292, 2780, 2536, 1360, 2444, 2805, 3113, 4104, 4105, 3079, 3080, 1195, 3315, 2547, 2552, 1946, 2806, 3385, -823, 4227, 2, 1956, 1957, 1958, 1959, 1960, 2806, 3130, 1967, 1968, 1969, 1970, 1971, 2568, 1973, 2717, 1975, 1976, 1810, 1979, 3416, 2579, 3429, 2049, 3741, 3742, 2012, 1594, 1595, 1743, 1744, 1983, 1984, 2, 1719, 1720, 1721, 1722, 1723, 1724, -512, -512, 1725, 4376, 4502, 1597, 3386, 1749, 1750, 1751, 1752, 1753, 4113, 1356, 210, 3524, 2757, 1606, 2759, -824, 3104, 1637, 2829, 1749, 1750, 1751, 1752, 1753, 2891, 1781, 210, 1961, 2013, 1847, 4318, 4581, 3616, 3617, 4010, 2035, 2611, 4949, 3341, 4976, 210, 2417, 2418, 4352, -1665, -1665, 2890, 1988, 2106, 1989, 3387, 3533, 2611, 3454, 3820, 1197, 1607, 1777, 2043, 3723, 2994, 1990, 141, 3693, 2050, 2647, 3089, 3093, 1848, 3096, 4619, 3097, 1811, 3582, 3851, 3852, 2529, 1821, 2097, 4600, 4165, 3297, 3298, 3299, 3300, -965, 3301, 3302, 3303, 3304, 1812, 3305, 4525, 1991, 3417, 3297, 3298, 3299, 3300, 2600, 3301, 3302, 3303, 3304, 1560, 3305, 2014, 2399, 1213, 3695, 3815, 2153, 3069, 1813, 2785, 27, 4183, 4194, 3033, 1809, 3561, 3737, 3816, 3906, 1646, 2045, 211, 1376, 3989, 2612, 2168, 2170, 3244, 1994, 3182, 5017, 2055, 1837, 2839, 2840, 4605, 4769, 211, 3306, 1814, 2612, 1488, 2259, 27, 1198, 2260, 2036, 4095, 2819, 3034, 2152, 211, 3306, 3366, 210, 1849, 1950, 2056, 4526, 4527, 212, 4771, 2051, 3555, 3682, 1481, 1992, 1964, 3402, 3403, 2582, 2496, 4622, 2038, -579, 2127, 3740, 5014, 1993, 4557, 4107, 4157, 3034, 222, 4875, 1845, 4404, 1988, 3618, 1989, 4312, 213, 3418, 1994, 1793, 1794, 4559, 4549, 4831, 235, 4552, 1990, 4554, 2570, 2026, 223, -527, -527, 2891, 2985, -808, 3166, 3419, 224, 2476, 4420, 4506, 3690, 2640, 4439, 4441, 3420, 2477, 2894, 2891, 2263, -1243, 4360, 4317, 4362, 3690, 2893, 2109, 1991, 4322, 2099, 4179, 1582, 3691, 2784, 2196, 2815, 3206, 4582, 2904, 2846, 2611, 2183, 4049, 4349, 2027, 3691, 2110, 1382, 3210, 1583, 1344, 4164, 5018, -1387, 2141, 4050, 1365, 2437, 2691, 1561, 1782, 2100, 5019, 3683, 211, 2439, 2084, 2786, 2440, 1846, 2441, 2442, 1795, 2648, 3760, 3761, 3762, 3763, 3764, 3765, 3766, 3767, 3083, 4352, 4158, 2647, 3095, 4948, 4019, 4365, 3583, 4352, 3724, 2895, 3725, 4898, 3308, 3308, 3308, 3308, 3308, 3308, 3308, 3308, 1482, 1992, 2039, 2115, 3116, 2197, 3117, 2785, 5015, 1838, 1417, 1815, 214, 1993, 236, 1965, 1436, 4738, 2585, 3611, 2128, 2799, 3678, 2037, 4812, -1325, 2785, 4058, 1994, 2612, 1778, 1377, 2046, 3455, 1314, 3245, 1213, 2799, 1925, 240, 2649, 3171, 215, 3726, 4613, 3421, 2057, 3211, 1489, 2264, 4067, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 4693, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 2638, 3249, 4587, 1850, -589, 2438, 1822, 4689, 2535, 4691, 2410, 4623, 3218, 3219, 3220, 3221, 3222, 2535, 3508, 3314, 3131, 3509, 2815, 3003, 3231, 3232, 3233, 3293, 3751, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 2760, 2535, 2410, 2650, 3054, 4428, 2530, 3250, 2878, 2879, 3694, -1325, 4694, 3251, 3205, 4367, 1436, 1485, 1486, 1487, 2101, 2052, 1540, 3636, 4681, 3256, 3257, 3835, 3685, 3100, 4507, 3077, 2098, 4700, 2044, 3266, 2623, 4877, 1923, 1565, -1884, 1436, 3619, 3273, 4607, 4096, 2400, 3276, 3277, 2899, 2656, 3261, 2497, 2624, 4476, 4279, 3696, 3584, 2908, 3688, 3805, 2786, 4228, 3281, 1854, 237, 3422, 2087, 3686, 3423, 4188, 4583, 3290, 3183, 3447, 2855, 3278, 3400, 4098, 3449, 2786, 3565, 1857, 3284, 4778, 3344, 238, 4606, 4770, 4714, 2648, 1951, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 1962, 2547, 3333, 3015, 3525, 3534, 3223, 3468, 3171, 4772, 2547, 3471, 3472, 1635, 2445, 2236, 2237, 2238, 2239, 4319, 2085, 2966, 2799, 3347, 3348, 3349, 4741, 2856, 4548, 4177, 1196, 2547, 2609, 1995, 2995, 1851, 1783, 4421, 4388, 4555, 3172, -957, 4503, 4260, 2638, 3246, 3212, 4563, 2086, 4170, 2804, 4354, 1204, 2240, 2241, 2242, 4780, 2649, 2764, 3838, 3104, 2805, 3890, 1314, 2892, 3738, 5001, 2800, 4588, 2804, 4414, 4855, 1754, 2788, 4950, 1361, 3063, 3209, 4528, 3620, 2805, 4975, 2806, 2800, 2015, 1357, 2996, 2142, 1952, 1552, 2787, 2261, 4798, 2416, 1514, 3048, 2243, 2244, -511, -511, 2651, 2806, -1883, 4564, 3578, 2801, 3294, 4722, 216, 3005, 4432, 3589, 4354, 3591, 3727, 3595, 1199, 3597, 716, 4178, 3006, 2801, 225, 4284, 4368, 3738, 226, 239, 4558, 5020, 2650, 2245, 716, 4682, 3388, -1325, 1925, 4792, 2611, 250, 251, 2131, 3573, 3084, 4670, 4560, 4303, 4856, 4739, 1996, 2102, 2103, 1855, 4597, 3568, 3569, 3570, 2521, 1590, 3173, -1358, 252, 1213, 4674, 3223, 3213, 4676, 3351, 2582, -1358, 2137, 3157, 3158, 3159, 1367, 2116, 3575, 253, 1995, 1570, 1349, 2246, 2825, 2611, 254, 4329, 5023, 2130, 2855, 4020, 2385, 4689, 3067, 5002, 2685, -1656, 1816, 3424, 2125, 3178, 3179, 3180, 1994, 255, 2482, 2483, 2122, 2489, 3679, 3621, 2137, 240, 256, 4611, 3167, 4612, 257, 2112, 4789, 2522, 1368, 4433, 4687, 4688, 4468, 4690, 2816, 4692, 3103, 2131, 217, 2612, 1200, 4616, -765, 3886, 3215, 3216, 2175, 2743, 2053, 241, 1817, 4369, 4933, 242, 2016, 3690, 218, 4939, 4909, 3901, 4683, 2892, 2575, 2088, 2685, 1743, 1744, 3035, 227, 1194, 228, -762, -624, 4330, 2138, 1350, 3691, 2892, 4513, 1213, 3350, 3710, 1716, 4517, 2612, 4132, 1848, 1385, 4431, 2788, 2800, 1369, 4750, 219, 258, 4425, 1717, 3162, 259, 3350, 3035, 4469, 1996, 3331, 1895, 4037, 2247, 229, 2788, 3367, 4544, 4280, 2857, 4281, 1553, 2744, 2719, 3174, 3378, 1997, 2720, 4888, 2956, 3214, -1325, 2117, 260, 261, 2801, 4747, 2691, 4070, 4082, 4097, 2585, 4800, 4801, 1931, 4803, 2651, 1955, 3008, 3009, 4807, 3135, 4366, 1896, 3013, 3173, 4374, 3168, -2231, 1761, -810, 1764, 1765, 1926, 3425, 3603, 3016, 1769, 3167, 4331, 3608, 3117, 4810, 4785, -2511, 4617, 2320, 4779, 3537, 4781, 3163, -2231, -564, 1780, 1202, 1849, 4093, 3603, 4838, -2095, 3043, 1304, 2089, 3680, 243, 4940, 244, -2511, 4846, 4332, 5024, 1768, 2248, 1790, 3887, 2783, 1777, 2789, 4370, 4021, 4500, 1571, -2095, 3796, 3520, 3132, 4133, 4684, 1314, 1801, 2814, 3968, 3574, 1364, 3562, 3044, 1998, 4109, 3700, 2090, 4106, 2760, 2123, 245, 3708, 4285, 1351, 1999, 2132, 2765, 2603, 3077, -957, 2000, 1808, 3734, 3735, 1726, 4171, 2001, 3426, 4872, 2113, 2799, -2231, 2535, 3576, 4134, -2511, 3434, 2126, 2535, 2535, 4022, 3105, 3007, 4881, 1777, 3068, 3334, 2176, 1997, 1438, 1382, 1772, 3756, 3560, -2231, 4894, 2715, 4896, -2511, 2720, 3769, 3770, 3771, 4036, 1897, 4333, 3803, 3804, 4011, 2139, 2811, 4038, 3711, 3168, 2025, 1205, 251, 4788, 2719, 1077, 1405, 2249, 3174, 3791, 4092, -1358, 2484, 4478, 4809, 2250, 3795, -2600, 2251, 1077, -1358, 4910, 4923, 252, 3798, 1861, 262, 4078, 4079, 2132, 1314, 2207, 1346, 1871, 3106, 4599, 1, 4900, 3498, 253, 4602, 4748, 4334, 3918, 3919, 3920, 254, 3877, 1406, 4135, 1340, 4601, 1304, 1370, 2129, 2134, 3505, 3506, 2583, 3819, 1381, 4529, 1866, 2143, 2209, 255, 4667, 2858, 4667, 4529, 4335, 3942, 2833, 2107, 256, 1412, 3836, 1304, 257, 2452, 1749, 1750, 1751, 1752, 1753, 4336, 1782, 1892, 3148, 2228, 3359, 1365, 3605, 3842, 3843, 3538, 2779, 4977, 3610, 3613, 1907, 3845, 3846, 3847, 3848, -1885, 2208, 2780, 2764, 1371, 1373, 4996, 2218, 4136, 2591, 2252, 4471, 2766, 2638, 1379, 2, 3690, 2767, 1392, 1393, 1394, 1395, 4025, 1385, 2204, 3063, 4028, 1899, 4029, 1899, 4032, 4795, 4034, 1899, 2210, 2834, 3378, 3691, 4337, 3862, 4764, 1912, 4765, 258, 2345, 4989, 1868, 259, 3149, 2219, 83, 83, 83, 83, 2282, 83, 83, -1243, 2720, 2229, 2364, 4904, 1407, 1390, 3205, 5005, 4137, -2231, 2146, 2147, 1943, 2582, 1584, 2453, 2154, 260, 261, 1408, 2253, 2379, 2159, 2384, 1372, -2511, 1382, 4389, 1746, 3579, -1068, -1068, -1068, -1068, 1778, 4083, 2300, 3873, 2287, 1747, -2095, 4403, 2454, 5010, 4673, 4667, 1793, 1794, 4675, 1213, 2164, 2165, 2223, 2800, 3029, 2509, 4708, 4186, 2173, 2174, 4667, 1392, 1393, 1394, 1395, 3747, 2453, 3690, 2510, 1437, 2611, 2283, 2338, 2340, 4338, 4680, 2346, 2347, 2348, 2349, 2351, 2353, 2354, 2355, 2356, 2357, 2358, 2359, 3691, 4678, 2658, 2801, 263, 2454, 2224, 1778, 1439, 3391, 2768, 3360, 3361, -1068, -1068, -1068, -1068, -2231, 4339, 3687, 2455, -2511, 3689, 2301, 2769, 4843, 4991, 2583, 27, 2584, 4667, 3030, 1440, 2181, 4187, 2968, 2182, 2220, -1066, -1066, -1066, -1066, 1795, 2186, 2659, 2660, 5006, 3052, 2770, 3362, 1746, 4844, 1585, 3053, 2771, 2498, 2499, 2500, 2501, 2502, 2503, 1747, 2772, 3999, 4000, 2865, 1441, 4796, 1438, -1995, -970, 2455, 3699, -1993, 2792, 2612, 2233, 2234, 3824, 2191, 1390, 2194, 2661, 2585, 2793, 2254, 4316, 2202, 2203, 2512, -1067, -1067, -1067, -1067, 2212, 2255, 1442, 2216, 2217, 1443, 2222, 2659, 2660, 1586, 3840, 2231, 2232, 2232, 1444, 4667, 2257, 1445, 1587, 2298, 2266, 2267, 2268, 2270, 2533, 262, 3117, 2866, 2275, 2276, 4667, 2278, 4947, 2280, 2281, 4443, 2284, 2285, 4001, 2586, 2288, -970, 1446, 4249, 2292, 2661, 2225, 4110, 4252, 2297, 1374, 1375, 2302, 2303, 2855, 2859, 2310, 3690, 2152, 1447, 2315, 2316, 2773, 2774, 2855, 2760, 2855, 264, 1436, 1763, 1436, 1436, 1796, 1766, 1344, 4127, 1436, 1448, 3691, 4005, 4006, 4321, 4667, 4340, 3980, 2152, 4324, 1390, 4002, 2496, -1243, 2570, 2587, 2760, 2425, 2368, 2369, 2370, 2371, 2372, 2570, 2570, 2373, 1449, 2382, 4039, 2535, 2535, 1314, 2459, 2872, 2535, 1642, 4841, 4842, 2535, -2715, 1382, 2343, 4777, 2873, -1243, 2903, 2461, 4782, 2395, 2397, 2398, 4265, 2765, 4608, 2570, 4266, 2419, 3510, 2420, 4912, 2422, 2570, 2424, 1643, 2570, 1301, 2570, -2716, 3058, 4108, 3109, 1382, 1746, 3743, 1304, 3308, 2459, 2395, 2395, 3115, -1380, 4667, 3390, 1747, -1243, 4499, 2570, 2460, 2775, 3976, 2461, 2429, 2443, 4122, 4118, 4119, 4120, 1650, 4126, 2570, 1450, -2887, 4129, 4130, 4221, 4878, 4222, 4223, 4224, -1243, 3120, 1382, 4140, 4143, 1483, 4879, 4142, 3121, 2570, 4140, 3122, 3872, 3123, 4236, 4237, 1743, 1744, 2471, 2471, 4240, 4241, 4242, 4243, 2570, 4244, 1304, 1382, 1304, 3701, 4246, 4247, 4248, 3124, 2504, 3702, 2464, 4293, 2465, 251, 4294, 2570, 2570, 4296, 2473, 1436, 3125, 3521, 1, 2570, 2855, 3969, -1243, 1436, 3610, 2547, 2978, 2855, 3806, 3610, 252, 3499, 4173, 2547, 3807, 3126, 2855, 1547, 263, 1749, 1750, 1751, 1752, 1753, -810, 1451, 253, -582, -582, 1382, 3127, 2638, 2570, 254, 2452, 2852, 2853, 1749, 1750, 1751, 1752, 1753, 1749, 1750, 1751, 1752, 1753, 3128, 3129, 1436, 1922, 2570, 255, 2570, 2570, 3137, 3443, 1930, 230, 2365, 2366, 256, 246, 3444, 2492, 257, 1, 3501, 2766, 1201, 141, 4988, 3500, 2767, 3753, 3936, 4993, 3063, 2865, 1912, 3499, 3752, 2, 3, 4, 5, 6, 1549, 3602, 2570, 2797, 4472, 1749, 1750, 1751, 1752, 1753, 1752, 1753, 1749, 1750, 1751, 1752, 1753, 2575, 4045, 4192, 3607, 4047, 3609, 3615, 1749, 1750, 1751, 1752, 1753, 1749, 1750, 1751, 1752, 1753, 1392, 1393, 1394, 1395, 2030, 2031, -84, -810, 4053, 3754, 3937, 12, 4184, 3990, 258, 3970, 4202, 1452, 259, 1749, 1750, 1751, 1752, 1753, -1381, 4261, 4924, 1550, 2611, 2, 3, 4, 5, 6, 2570, 2592, 2593, 1558, 2095, -1211, 4046, 2606, 4520, 4048, 2570, 4202, 260, 261, 4378, 2277, 18, 2279, 3753, 1453, 264, 1749, 1750, 1751, 1752, 1753, 83, 1554, -84, 4540, 4054, 4543, 2760, 2145, 4185, 2299, 2148, 2149, 4203, 1344, 2575, 4400, 2156, 3753, 1651, 12, 2977, 4262, -2888, 2162, 2575, 2855, 1645, 4818, 2166, 2167, 4298, 2768, 1344, 1344, 3603, 3117, 4300, 2979, 4452, 4925, 4299, 4358, 2855, 2865, -762, 2769, 2865, 2179, 4380, 1638, 25, 1400, 4494, 1404, 1454, 2946, 1455, 3974, 18, 2822, 27, 2612, 2778, 2828, 1456, 2830, 1900, 2778, 1900, 2770, 4382, 4402, 1900, 4417, 4497, 2771, 4202, 4509, 1761, 1761, 4418, 4450, 2778, 2772, 4932, 4561, 2236, 2237, 2238, 2239, 3529, 2060, 31, 4377, 4453, 1457, 3529, 4541, 4466, 4492, 2452, 2201, 4493, 4385, 1458, 2201, 2972, 2974, 4498, 2201, 3481, 1459, 2845, 4202, 4390, 4202, 2850, 3313, 25, 1749, 1750, 1751, 1752, 1753, 2240, 2241, 2242, 4405, 27, 3483, 2613, 1559, 4508, 4510, 3485, 4331, 2877, 4412, 4413, 2575, 1749, 1750, 1751, 1752, 1753, 1564, 4516, 1460, 3978, 4261, 2876, 2614, 4519, 4542, 4408, 2881, 4409, 4410, 4411, 1461, 31, 4938, 4561, 2638, 3986, 2570, 4209, 2243, 2244, 4551, 2615, 4553, 4210, 4580, 3879, 4325, 262, 2773, 2774, 2406, 4289, 2407, 4346, 2910, 4348, 1348, 4290, 2533, -810, 1462, 2412, 1362, 3862, 4509, 4202, 4596, 1749, 1750, 1751, 1752, 1753, 3983, 2245, 2951, 3753, 4630, 2912, 4509, 2914, 2616, 1652, 1463, 4509, 2377, -2889, 2617, 1749, 1750, 1751, 1752, 1753, 4643, 2927, 2928, 2929, 2930, 1464, 4804, 2933, 4509, 4819, 3895, 2179, 4545, 4546, 2061, 2941, 2943, 2945, 2911, 4220, 2948, 2949, 2950, 1749, 1750, 1751, 1752, 1753, 4650, 4651, 4853, 2246, 2575, 4333, 4866, 4509, 1465, 4202, 2952, 4701, 3043, 4202, 4723, 4202, 4202, 2618, 1436, 4802, 1436, 2421, 1436, 2423, 1436, 4055, 2619, 4886, 4055, 1475, 2970, 2775, 2971, 4735, 4805, 2854, 4817, 4820, 3896, 4202, 2620, 2987, 2988, 1769, 4062, 4063, 1344, 3044, 1749, 1750, 1751, 1752, 1753, 4202, 1436, 4902, 4926, 1566, 4854, 4625, 4865, 4626, 4867, 4869, 1607, 4870, 4906, 2063, 4736, 4871, 141, 4873, 4876, 4913, 4920, 4202, 1645, 1476, 2064, 2065, -2728, 2066, 4208, 4887, 4335, 2343, 4202, 1477, 4509, 1436, 1436, 2188, 4202, 3553, 3554, 4890, 2395, 4589, 4590, 4591, 4592, 3017, 2204, 4979, 2204, 4202, 1478, 2067, -956, 4892, 1572, 4903, 4566, 2068, 1861, 1399, 1401, 4226, 1436, 2495, 2247, 1577, 4907, 4234, 2360, 2519, 2361, 2362, 2363, 4914, 4921, 4935, 1417, 1436, 2528, 2621, 4579, 2535, 1479, 1901, 1480, 1903, 4937, 3098, 4945, 1905, 1578, 4595, 4963, 2532, 2025, 3099, 1436, 1436, 1806, 1588, 263, 4927, 1591, 4980, 1592, 5008, 1304, 1436, 1436, 1436, 1436, 1436, 1580, 1907, 1593, 3038, 1892, -2007, 1436, 1436, 1436, 1436, 1436, 1596, 1436, 1603, 1436, 1436, 1749, 1750, 1751, 1752, 1753, 1639, 1436, 1436, 4573, 83, 1640, 4576, 4577, 4578, 2201, 1749, 1750, 1751, 1752, 1753, 3102, 1641, 2622, -2717, -2008, 2248, 1749, 1750, 1751, 1752, 1753, -1069, -1069, -1069, -1069, 1912, -2001, 4730, 1749, 1750, 1751, 1752, 1753, 2188, 1912, 1912, 1912, 1645, 1, 2623, 1749, 1750, 1751, 1752, 1753, 2677, 1647, 2677, 2874, 1648, 1912, 1751, 1752, 1753, 3117, 2070, 2624, 4338, -2796, 2875, 83, -2797, 4341, 1649, -2004, 1886, -2011, 3176, 3316, -2002, 1893, 2884, 1749, 1750, 1751, 1752, 1753, 3610, 1749, 1750, 1751, 1752, 1753, 2900, 1904, 2625, 1902, 1653, 1902, 4928, 1941, 1776, 1902, 2626, 1749, 1750, 1751, 1752, 1753, 2627, 1929, 2073, 1654, 1761, 1749, 1750, 1751, 1752, 1753, 4705, 1749, 1750, 1751, 1752, 1753, 2901, 1655, 2249, 1656, 264, 1788, 2902, 1657, 2628, 1658, 2250, 1659, 1660, 2251, 3207, -1070, -1070, -1070, -1070, 2677, -1997, 2677, 2909, 1749, 1750, 1751, 1752, 1753, 3071, 3072, 3073, 3074, 2913, 2629, -2003, 4154, 4155, 4156, 2915, -1998, 1661, 3063, 1662, 1663, 2812, 2813, 1749, 1750, 1751, 1752, 1753, 1664, 1436, 1665, 1666, 1344, 1436, 1436, 1436, 1667, 1668, -1996, 2831, 2832, 1669, 1789, 2916, 3503, 1670, 1786, -2013, 1436, 1436, 1672, 1673, 4753, 1674, 4755, 1675, 4756, 1676, 4757, -1999, 4759, 1677, 1681, 1682, 1683, 3515, 2918, 3517, 1684, 269, 270, 271, 272, 1685, 273, 274, 275, 276, 4711, 1686, 1737, 1738, 1739, 280, 1740, 1741, 1742, 2252, 2074, 1687, 1688, 1689, 1718, 2630, 1749, 1750, 1751, 1752, 1753, 2075, 1749, 1750, 1751, 1752, 1753, 1749, 1750, 1751, 1752, 1753, 2408, 1690, 1691, 1692, 2408, 1693, -810, 1694, -2006, 2631, 2632, 2076, 1695, 3523, 1749, 1750, 1751, 1752, 1753, -2005, 4350, 4351, 1749, 1750, 1751, 1752, 1753, 2922, 1696, 1697, 1698, 2408, 1787, 2926, 1799, -2010, 1699, 2633, 2935, 1700, 1749, 1750, 1751, 1752, 1753, 2253, 1701, 3352, 1749, 1750, 1751, 1752, 1753, 1702, 2634, 2200, 2077, 2936, 1703, 2200, -409, -410, 1704, 2200, 1804, 2953, 1749, 1750, 1751, 1752, 1753, -2009, 1705, 1706, 1707, 1749, 1750, 1751, 1752, 1753, 3459, 3384, 3408, 3413, 3410, 1708, 1709, 3412, 3099, 3462, 1792, 3441, 3414, 3415, 1710, -2012, -2000, 3099, 1711, 1712, 1713, 3432, 3433, 83, 1714, 83, 1715, 1643, 3437, 3446, -810, 1756, 323, 324, 325, 326, 327, 328, 3464, 1749, 1750, 1751, 1752, 1753, 1757, 1758, -1994, 3450, 2317, 1819, 1759, 2611, 1791, 1802, 1820, 1824, 3458, 1827, 2611, 1828, 1749, 1750, 1751, 1752, 1753, 1825, 1832, 1834, 3463, 1844, 1436, 1436, 1436, 1858, 1864, 4525, 1872, 3467, 1867, 3469, 1859, 3470, 3465, 1873, 1874, 1875, 1880, 2376, 1876, 3477, 1749, 1750, 1751, 1752, 1753, 1877, 3479, 1881, 3480, 1878, 3482, 1884, 3484, 3473, 3486, 1923, 2844, 1894, 1885, 3490, 1344, 1749, 1750, 1751, 1752, 1753, 1927, -1242, 2254, 1749, 1750, 1751, 1752, 1753, 1936, 1942, 1947, 3504, 2255, 3638, 1436, 1948, 1944, 3474, 1949, 1972, 3511, 3512, 1974, 1977, 2382, 3025, 2382, 1436, 2612, 1980, 4526, 4527, 1982, 1985, 2032, 2612, 2028, 2033, 3475, 2040, 2034, 2042, 3491, 3491, 3491, 3491, 3491, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 1607, 2408, 2408, 4729, 2041, -1887, 141, 2495, 2080, 3059, 2079, 1436, 2201, 1749, 1750, 1751, 1752, 1753, 2058, 2059, 1436, 1436, 1436, 3081, 1749, 1750, 1751, 1752, 1753, 3090, 3094, 2081, 2082, 2091, 2473, 2092, 1436, 3101, 4438, 2096, 2108, 2111, 3639, 2613, 2121, 2120, 3396, 1994, 2124, 2135, 2613, 2155, 1436, 2157, 2158, 2161, 3476, 2160, 4652, 2183, 2163, 1436, 2141, 140, 2614, 1747, 2187, 3478, 2189, 141, 2195, 2614, 1749, 1750, 1751, 1752, 1753, 1749, 1750, 1751, 1752, 1753, 1436, 2615, 2190, 2206, 2227, 2230, 1912, 2235, 2615, 2258, 2271, 1749, 1750, 1751, 1752, 1753, 1912, 3141, 2286, -810, 4653, 2290, 3152, 2201, 3152, 2201, 2201, 2201, 2272, 2273, 2291, 1305, 2223, 3487, 3152, 2385, 2341, 3152, 1436, 2201, 2616, 2386, 2387, 2389, 2390, 1345, 2617, 2616, 2401, 2402, 1355, 2403, 1355, 2617, 3488, 3640, 3641, 2404, 2405, 4654, 2411, 2428, 2430, 3642, 1749, 1750, 1751, 1752, 1753, 2200, 2431, 2434, 2466, 2446, 1436, 1749, 1750, 1751, 1752, 1753, 2447, 2448, 2449, 3643, 2458, 1749, 1750, 1751, 1752, 1753, 4655, 2468, 3644, 2467, 2479, 2480, 2481, 2618, 1749, 1750, 1751, 1752, 1753, 3645, 2618, 2523, 2619, 3489, 2534, 1345, 2540, 2541, 2542, 2619, 2543, 1345, 2544, 2545, 3892, 2556, 2620, 2557, 2563, 2565, 2572, 2677, 2677, 2620, 3894, 2573, 2574, 2575, 3646, 2577, 2580, 3967, 1749, 1750, 1751, 1752, 1753, 3917, 2581, 2583, 3972, 2607, 2602, 3647, 3648, 1749, 1750, 1751, 1752, 1753, 2610, 3649, 3650, 3651, 2664, 2665, 2666, 2667, 2642, 2677, 2668, 3283, 1749, 1750, 1751, 1752, 1753, 4656, 2677, 2643, 2644, 83, 2669, 2670, 2671, 3926, 3652, 1749, 1750, 1751, 1752, 1753, 2645, 2646, 2657, 1213, 2678, 2682, 3933, 4657, 2654, 2655, 1306, 2683, 3653, 2684, 2685, 3654, 2687, 1307, -1886, 2690, 2688, 2689, 3678, 3939, 1749, 1750, 1751, 1752, 1753, 2621, 2691, 3655, 3656, 3657, 2694, 2697, 2621, 2698, 3943, 1345, 1345, 1345, 1345, 4957, 2699, 1345, 1546, 4658, 3373, 3658, 3659, 2695, 1304, 2700, 2778, 1749, 1750, 1751, 1752, 1753, 2703, 1308, 1345, 2701, 1345, 2696, 2704, 3944, 2706, 3854, 2712, 2707, 1546, 2711, 2726, 2727, 1309, 3374, 2731, 2728, 2733, 2851, 2740, 2732, 4983, 2720, 2748, 1304, 1304, 2734, 3407, 2742, 1749, 1750, 1751, 1752, 1753, 3660, 3945, 2749, 2622, 2747, 3661, 3662, 2750, 4957, 2751, 2622, 2752, 3431, 2753, 2754, 2201, 2763, 1310, 2782, 3863, 2796, 2807, 4659, 3932, 2824, -1993, 2823, 4983, 2836, 2841, 2623, 3099, 3893, 2060, 2837, 1311, 1312, 2623, 3950, 2843, 140, 83, 2842, 1345, 2860, 2861, 141, 2624, 2867, 2623, 2862, 2868, 2869, 2871, 2624, 4528, 2882, 2883, 1313, 3916, 2886, 2887, 2898, 2888, 2, 2917, 2624, 2889, 2920, 2923, 2932, 3916, 2924, 2934, 3663, 2937, 2625, 3664, 2938, 3375, 2925, 2939, 2947, 2625, 2626, -230, 4813, -231, 2957, 1742, 2627, 2626, 1749, 1750, 1751, 1752, 1753, 2627, 1749, 1750, 1751, 1752, 1753, 2958, 3953, 2959, 3954, 2960, 3955, 2961, 3665, 2962, 2611, 2964, 2628, 1749, 1750, 1751, 1752, 1753, 2980, 2628, 1749, 1750, 1751, 1752, 1753, 2981, 4008, 2982, 1749, 1750, 1751, 1752, 1753, 3959, 3099, 2984, 2986, 2629, 2849, 4359, 2983, 2990, 2992, 2993, 2629, 1314, 1749, 1750, 1751, 1752, 1753, 1749, 1750, 1751, 1752, 1753, 4361, 1749, 1750, 1751, 1752, 1753, 1315, 4363, 1749, 1750, 1751, 1752, 1753, -2818, 3992, 4364, 2998, 2999, 3002, 2061, 3010, 3011, 3012, 3014, 2201, 2201, 3018, 1316, 3992, 3019, 3020, 2062, 3038, 4455, 3021, 3023, 2511, 3022, 4015, 3027, 4017, 1992, 3041, 3028, 4501, 3046, 3055, 2612, 3057, 1436, 3064, 4725, 3065, 3070, 83, 3082, 1382, 2496, 3103, 1436, 3107, 3111, 3118, 3119, 2630, 27, 3112, 3133, 4044, 3138, 3142, 2630, 3160, 3162, 1912, 3161, 3224, -1482, 3586, 2854, 3590, 3225, 1317, 3592, 3596, 4660, 3226, 3228, 3230, 3234, 2631, 2632, 1749, 1750, 1751, 1752, 1753, 2631, 2632, 3243, 2063, 2719, 1436, 3253, 3259, 3254, 3260, 3267, 1436, 1436, 3262, 2064, 2065, 1318, 2066, 3264, 2613, 3272, 2633, 3282, 3274, 3285, 1319, 1320, 3286, 2633, 1749, 1750, 1751, 1752, 1753, 3287, 3288, 3279, 2200, 2634, 3289, 2614, 3152, 3310, 2067, 3334, 2634, 1321, 3317, 2201, 2068, 3337, 3335, 3338, 2201, 3666, 3339, 3152, 3342, 3343, 2615, 3345, 4087, 2014, 4089, 3392, 4091, 4251, 2816, 3372, 3393, 3679, 4661, 4766, 3394, 3404, 3453, 3411, 4094, 3438, 2677, 4662, 3439, 3435, 2069, 3396, 2677, 3445, 1322, 3448, 3440, 2677, 3461, 1749, 1750, 1751, 1752, 1753, 3466, 2616, 3499, 269, 270, 271, 272, 2617, 273, 274, 275, 276, 3522, 2293, 2294, 2295, 2296, 280, 3526, 2677, 1749, 1750, 1751, 1752, 1753, 2312, 2313, 2314, 3527, 2677, 4255, 3530, 3528, 2200, 3529, 2200, 2200, 2200, 4797, 1749, 1750, 1751, 1752, 1753, 1749, 1750, 1751, 1752, 1753, 2200, 3531, 3532, 3536, 3535, 269, 270, 271, 272, 2618, 273, 274, 275, 276, 4806, 4350, 4351, 3539, 2619, 280, 2963, 1749, 1750, 1751, 1752, 1753, 2677, 2328, 2330, 2332, 2334, 2336, 2620, 4893, 3540, 3543, 3544, 3545, 4895, 2070, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 3549, 1740, 1741, 1742, 4180, 3551, 3563, 3564, 3566, 1323, 3567, 3571, 2863, 3572, 2071, 4897, 3587, 2864, 2527, 3507, 2072, 3580, 2677, 3601, 1304, 1749, 1750, 1751, 1752, 1753, 1749, 1750, 1751, 1752, 1753, 3837, 2073, 4206, 1324, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 2677, 1740, 1741, 1742, 3623, 3625, 3606, 2870, 3626, 3624, 323, 324, 325, 326, 327, 328, 3627, 3704, 2885, 4195, 1749, 1750, 1751, 1752, 1753, 1436, 2201, 3633, 3634, 3692, 2621, 1749, 1750, 1751, 1752, 1753, 3697, 3698, 4217, 4218, 3705, 83, 2553, 2554, 2555, 1344, 3706, 3667, 3707, 3668, 3669, 2558, 2559, 2560, 2561, 2562, 1325, 2564, 2919, 2566, 3709, 323, 324, 325, 326, 327, 328, 2578, 3713, 3714, 2931, 1749, 1750, 1751, 1752, 1753, 3720, 4245, 1326, 3913, 3721, 3722, 1327, 1749, 1750, 1751, 1752, 1753, 3729, 4259, 3914, 3730, 1749, 1750, 1751, 1752, 1753, 3731, 4253, 4254, 3732, 2622, 3952, 1749, 1750, 1751, 1752, 1753, 3733, 3736, 3670, 3746, 3738, 2074, 3744, 1749, 1750, 1751, 1752, 1753, 3748, 3749, 3755, 3757, 2075, -1487, 3973, 3758, 2623, 3776, 3777, 3772, 3773, 3778, 1328, 4456, 3038, 3780, 3781, 1749, 1750, 1751, 1752, 1753, 3782, 2624, 2076, 3783, 1749, 1750, 1751, 1752, 1753, 3784, 3785, 3787, 3788, 3790, 83, 3430, 3313, 3793, 2200, 3794, 1329, 3797, 3800, 3799, 4304, 3810, 3802, 3808, 1330, 3814, 2625, 3821, 3822, 3827, 3823, 3825, 2921, 1331, 2626, 1332, 3826, 3828, 3829, 3830, 2627, 3831, 3839, 2077, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 3841, 1740, 1741, 1742, 1749, 1750, 1751, 1752, 1753, 3849, 3409, 2628, 2201, 3853, -1487, 3864, 2452, 1436, 3874, 3875, 3884, 3888, 3897, 3898, 1333, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 3902, 1740, 1741, 1742, 2629, 3904, 3908, 4027, 3912, 3921, 3909, 3915, 4030, 4033, 3911, 1782, 3923, 1727, 3924, 1728, 1729, 1730, 1436, 1436, 3922, 3928, 3927, 1436, 3455, 3930, 3931, 1436, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 3960, 1740, 1741, 1742, 3514, 1436, 3934, 3925, 3940, 3941, 4419, 3152, 3946, 3947, 1743, 1744, 3961, 3948, 3949, 1304, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 3951, 1740, 1741, 1742, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 3956, 1740, 1741, 1742, 3957, 2630, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 2200, 2200, 3958, 3962, 3963, 3964, 3965, 3975, 3977, 4435, 3981, 3984, 4437, 3561, 3985, 3988, 3995, 2631, 2632, 3996, 3997, 3152, 4447, 4012, 3987, 4462, 1735, 1736, 1737, 1738, 1739, 83, 1740, 1741, 1742, 4013, 4014, 4016, 4018, 4023, 4026, 4024, 4035, 4041, 83, 2633, 4043, 4051, 4052, 4059, 4061, 4060, 4064, 4066, 4068, 4073, 4075, 3992, 4080, 3992, 4084, 4088, 2634, 4090, 4099, 4101, 4081, 4100, 4103, 4111, 4116, 4123, 4128, 4131, 4112, 4114, 4145, 4146, 4504, 4147, 4505, 4149, 4150, 4151, 4163, 4167, 4172, 4175, 4174, 4190, 4189, 4193, 2677, 2677, 2677, 4196, 4197, 4199, 1345, 1345, 1345, 1345, 4204, 1345, 1345, 4198, 1345, 1546, 4200, 4205, 2677, 4212, 4207, 4214, 2677, 4215, 4219, 2677, 4225, 4232, 4233, 2200, 4235, 4238, 4256, 4263, 2200, 4257, 4258, 4269, 4270, 4271, 4272, 4264, 4274, 4276, 4282, 4283, 4292, 4306, 4302, 4305, 4323, 4310, 4308, 4326, 4311, 4327, 4328, 4345, 4347, 4371, 4372, 4375, 4354, 4379, 4384, 4391, 4381, 4169, 4387, 4392, 4386, 4393, 4401, 4394, 4395, 4400, 4396, 2677, 4397, 4406, 4398, 4407, 4416, 4422, 4424, 4429, 1436, 3141, 4430, 4434, 4423, 4436, 4445, 3152, 4449, 4457, 2855, 4473, 4465, 4467, 4474, 4482, 4479, 4448, 4480, 4451, 4454, 4483, 4484, 4485, 4486, 4495, 4494, 1807, 4489, 4490, 4496, 4511, 4522, 1436, 4518, 4521, 4532, 4534, 4537, 4535, 4547, 4538, 4523, 4539, 4556, 4561, 4567, 4572, 4565, 4568, 4574, 4575, 4585, 4432, 4593, 4514, 4594, 4621, 4598, 4603, 4604, 4614, 4628, 4627, 4618, 4631, 4610, 4632, 4633, 4644, 4634, 4635, 4645, 4648, 4615, 4647, 4649, 4462, 4620, 4671, 4679, 4695, 4685, 1345, 4696, 4697, 4699, 4702, 4698, 4703, 4704, 1345, 4706, 4707, 4710, 4712, 4721, 4713, 4726, 4720, 4727, 4728, 4724, 4731, 2895, 4503, 4745, 4636, 4640, 4751, 4754, 4502, 4752, 4774, 4758, 4783, 4761, 4767, 4762, 4768, 4773, 4786, 4784, 4790, 4793, 4794, 4808, 4811, 4821, 4787, 4822, 4833, 4816, 1436, 4834, 4835, 4836, 1345, 1345, 4837, 4677, 4839, 4840, 4857, 4848, 1345, 4850, 4861, 4858, 4868, 4889, 4862, -2806, 4883, 4908, 4911, 4915, 1807, 4916, 4934, 4958, 2201, 1355, 2201, 2200, 4917, 4941, 4936, 4964, 4943, 4960, 4961, 4965, 4966, 4968, 4967, 4295, 4976, 4971, 4978, 4975, 4985, 4973, 4969, 3883, 4998, 4987, 3152, 5011, 4970, 4972, 4974, 4990, 5025, 4999, 3518, 2975, 4992, 2201, 1679, 4733, 1680, 4641, 1, 4994, 3929, 4734, 2847, 2306, 1755, 3516, 2274, 3938, 1345, 1345, 48, 4709, 49, 4007, 3365, 3768, 3759, 4176, 4719, 3832, 3336, 2821, 4952, 4997, 5009, 1562, 4426, 5016, 5022, 5013, 3442, 3907, 4077, 4057, 4536, 4353, 4930, 3745, 4191, 3379, 4899, 4307, 1345, 4962, 4309, 4942, 4995, 5007, 2677, 4922, 4944, 3354, 3355, 3356, 3357, 3844, 3217, 1563, 4743, 2588, 4760, 4181, 4182, 4669, 2641, 78, 1883, 1579, 2472, 2677, 2490, 1345, 4477, 3051, 1345, 1345, 1546, 1345, 4732, 4273, 1345, 4814, 2, 3, 4, 5, 6, 1345, 4481, 7, 8, 9, 1345, 1345, 4301, 10, 1345, 2172, 1987, 4278, 4815, 3552, 4672, 1910, 3060, 3594, 3056, 1920, 3092, 4475, 4642, 1345, 3598, 4297, 3614, 2515, 11, 1841, 1921, 3876, 3369, 1843, 3405, 3152, 2201, 3370, 1852, 2817, 1830, 3371, 2798, 2525, 12, 13, 14, 3026, 2991, 3542, 1344, 15, 4832, 4462, 1206, 1775, 2180, 4799, 2200, 16, 2391, 2415, 2989, 4636, 3541, 3181, 4931, 3681, 4399, 4144, 17, 3792, 4828, 4121, 3258, 4852, 3296, 3818, 3817, 83, 2705, 4415, 4571, 18, 2094, 3312, 3979, 3291, 2746, 2378, 0, 0, 0, 0, 4847, 19, 4849, 0, 4851, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2201, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 23, 24, 0, 25, 4882, 0, 0, 0, 26, 0, 1807, 0, 1436, 27, 0, 0, 28, 29, 1436, 4901, 1436, 0, 0, 4905, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 4919, 31, 0, 32, 0, 3883, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 4828, 4946, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1546, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 1345, 0, 1345, 1345, 1345, 1345, 1345, 0, 0, 2677, 0, 0, 0, 0, 0, 0, 0, 1546, 0, 4984, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 3152, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4153, 0, 0, 0, 0, 0, 0, 1345, 1345, 0, 0, 0, 0, 35, 0, 0, 0, 3992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 1355, 0, 0, 0, 1345, 1345, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 1345, 1345, 1345, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 1345, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 1345, 1345, 1345, 1345, 0, 0, 0, 0, 0, 0, 1345, 1345, 1345, 1345, 1345, 0, 1345, 0, 1345, 1345, 4216, 0, 0, 0, 0, 0, 1345, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 38, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2200, 0, 2200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3883, 4315, 2200, 0, 0, 1345, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1546, 0, 0, 0, 0, 1345, 1345, 0, 0, 0, 0, 0, 3883, 1345, 3883, 0, 2172, 1345, 1345, 1345, 0, 0, 0, 1345, 1345, 0, 39, 0, 0, 0, 1436, 0, 1345, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1807, 0, 0, 0, 0, 1436, 0, 1490, 0, 1491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1493, 0, 0, 0, 0, 0, 0, 1494, 0, 0, 0, 0, 0, 0, 2200, 41, 0, 0, 0, 0, 0, 1495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1436, 0, 0, 0, 1436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 1436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2200, 0, 1436, 0, 0, 0, 0, 0, 2201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 4315, 3883, 0, 2201, 0, 0, 1436, 0, 0, 0, 1345, 1345, 1345, 0, 1546, 0, 0, 0, 0, 0, 0, 4524, 0, 0, 2201, 4533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 2201, 0, 0, 1498, 0, 1499, 0, 1345, 0, 0, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1501, 0, 0, 0, 0, 0, 1345, 0, 1502, 0, 0, 0, 4570, 0, 0, 0, 1503, 1345, 0, 1345, 0, 1504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1355, 0, 0, 0, 1505, 0, 1345, 0, 1345, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 1345, 1345, 1345, 0, 0, 0, 0, 4315, 1345, 1345, 0, 0, 0, 0, 0, 1345, 1345, 1506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1507, 1345, 1508, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 1509, 0, 0, 4315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 1345, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 1345, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1511, 0, 0, 0, 0, 0, 0, 4315, 4717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 1512, 0, 0, 0, 0, 1513, 0, 4315, 0, 1514, 0, 1515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 1345, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 1516, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4315, 0, 3883, 3883, 0, 3883, 0, 0, 0, 0, 3883, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1517, 1546, 0, 0, 1518, 0, 0, 0, 0, 3883, 0, 1519, 1520, 0, 0, 0, 0, 0, 0, 3883, 1521, 0, 3401, 0, 0, 0, 1522, 1523, 1546, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3883, 0, 3883, 0, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 0, 0, 0, 0, 0, 0, 0, 4315, 0, 0, 0, 1527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 3883, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4717, 0, 0, 1807, 2200, 0, 0, 1355, 0, 0, 0, 0, 1546, 0, 0, 1546, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2200, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3883, 2200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 2200, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 1345, 0, 0, 1345, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 1345, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 0, 143, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, -1128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 144, 0, 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, 0, 173, 174, 175, 176, 177, 178, 179, 0, 1345, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 0, 142, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, -1128, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1126, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 0, 143, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1127, 3401, 3881, 1807, 144, 0, 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, 0, 173, 174, 175, 176, 177, 178, 179, 0, 0, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1126, 144, 198, 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, 0, 173, 174, 175, 176, 177, 178, 179, 0, 0, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1127, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 1345, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 1345, 142, 0, 143, 1345, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1807, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 144, 0, 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, 0, 173, 174, 175, 176, 177, 178, 179, 0, 0, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 1345, 1345, 0, 0, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 1345, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 1345, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1546, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 199, 0, 200, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 1807, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1807, 0, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 3881, 4442, 0, 0, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 1345, 0, 1345, 0, 1807, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1807, 0, 0, 0, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 1807, 1807, 0, 0, 0, 0, 0, 4442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1807, 0, 1807, 1807, 0, 1807, 0, 0, 0, 0, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1807, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1807, 0, 1807, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 1807, 0, 0, 0, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 1345, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 1807, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 2307, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 2308, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 2309, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 27, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 1906, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 1599, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 1600, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 2322, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 2323, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 2324, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 2880, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 2940, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 2942, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 2944, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 4718, 312, 0, 313, 314, 315, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 281, 282, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 1599, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 1600, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 2339, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 1599, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 1600, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 2344, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 1599, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 1600, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 1599, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 1600, 316, 317, 2350, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 1599, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 1600, 316, 317, 2352, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 315, 316, 2392, 318, 0, 319, 0, 2393, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 2394, 366, 367, 368, 369, 370, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 2973, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 1599, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 1600, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 2976, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 1599, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 1600, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 1599, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, -2697, 314, 1600, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 315, 316, 317, 3436, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 3502, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 1599, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 1600, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 3966, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 1599, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 1600, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 3971, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 1599, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 1600, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 3991, 366, 367, 368, 369, 370, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 4250, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 1599, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 1600, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 4459, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 315, 316, 317, 4460, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 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, 4461, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 315, 316, 317, 4460, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 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, 4461, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 4742, 366, 367, 368, 369, 370, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 4827, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 0, 314, 315, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 1599, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 311, 0, 312, 0, 0, 314, 1600, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 268, 269, 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, 279, 0, 0, 280, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 299, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 308, 309, 0, 0, 0, 310, 0, 0, 2969, 0, 312, 0, 0, 314, 315, 316, 317, 318, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 325, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 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, 0, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 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, 0, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 748, 749, 0, 750, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 0, 0, 0, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 268, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 1159, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 289, 290, 1609, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 1610, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 2375, 0, 0, 0, 308, 1611, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 1600, 316, 1612, 1613, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 339, 340, 341, 342, 343, 1614, 345, 346, 347, 348, 349, 1615, 351, 1616, 1617, 1618, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 1621, 366, 367, 368, 369, 370, 0, 371, 372, 373, 374, 375, 376, 377, 378, 1622, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, 1623, 399, 400, 401, 402, 403, 1624, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, 417, 418, 419, 420, 421, 1625, 1626, 424, 425, 426, 427, 428, 429, 430, 1627, 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, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 1631, 1632, 1633, 1634, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 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, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 754, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 974, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 1608, 290, 1609, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 1610, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 2527, 0, 0, 0, 308, 1611, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 1600, 316, 1612, 1613, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 339, 340, 341, 342, 343, 1614, 345, 346, 347, 348, 349, 1615, 351, 1616, 1617, 1618, 1619, 356, 1620, 358, 359, 360, 361, 362, 363, 364, 1621, 366, 367, 368, 369, 370, 0, 371, 372, 373, 374, 375, 376, 377, 378, 1622, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, 1623, 399, 400, 401, 402, 403, 1624, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, 417, 418, 419, 420, 421, 1625, 1626, 424, 425, 426, 427, 428, 429, 430, 1627, 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, 1628, 1629, 464, 465, 466, 467, 468, 469, 1630, 471, 472, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 1631, 1632, 1633, 1634, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1805, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 1608, 290, 1609, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 1610, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 3513, 0, 0, 0, 308, 1611, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 1600, 316, 1612, 1613, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 339, 340, 341, 342, 343, 1614, 345, 346, 347, 348, 349, 1615, 351, 1616, 1617, 1618, 1619, 356, 1620, 358, 359, 360, 361, 362, 363, 364, 1621, 366, 367, 368, 369, 370, 0, 371, 372, 373, 374, 375, 376, 377, 378, 1622, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, 1623, 399, 400, 401, 402, 403, 1624, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, 417, 418, 419, 420, 421, 1625, 1626, 424, 425, 426, 427, 428, 429, 430, 1627, 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, 1628, 1629, 464, 465, 466, 467, 468, 469, 1630, 471, 472, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 1631, 1632, 1633, 1634, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 1608, 290, 1609, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 1610, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308, 1611, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 1600, 316, 1612, 1613, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 339, 340, 341, 342, 343, 1614, 345, 346, 347, 348, 349, 1615, 351, 1616, 1617, 1618, 1619, 356, 1620, 358, 359, 360, 361, 362, 363, 364, 1621, 366, 367, 368, 369, 370, 0, 371, 372, 373, 374, 375, 376, 377, 378, 1622, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, 1623, 399, 400, 401, 402, 403, 1624, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, 417, 418, 419, 420, 421, 1625, 1626, 424, 425, 426, 427, 428, 429, 430, 1627, 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, 1628, 1629, 464, 465, 466, 467, 468, 469, 1630, 471, 472, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 1631, 1632, 1633, 1634, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1805, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 285, 286, 287, 288, 1608, 290, 1609, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 1610, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308, 1611, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 1600, 316, 1612, 1613, 0, 319, 0, 320, 0, 321, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 339, 340, 341, 342, 343, 1614, 345, 346, 347, 348, 349, 1615, 351, 1616, 1617, 1618, 1619, 356, 1620, 358, 359, 360, 361, 362, 363, 364, 1621, 366, 367, 368, 369, 370, 0, 371, 372, 373, 374, 375, 376, 377, 378, 1622, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, 1623, 399, 400, 401, 402, 403, 1624, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, 417, 418, 419, 420, 421, 1625, 1626, 424, 425, 426, 427, 428, 429, 430, 1627, 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, 1628, 1629, 464, 465, 466, 467, 468, 469, 1630, 471, 472, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 1631, 1632, 1633, 1634, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 312, 0, 1420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 1421, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1422, 1423, 1424, 683, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1425, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 1426, 891, 892, 1264, 894, 895, 896, 1427, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 2198, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 2198, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2594, 0, 2595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2598, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 2599, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1207, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 1208, 1209, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1222, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 1232, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 653, 654, 655, 656, 657, 658, 659, 660, 1235, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 1240, 711, 1241, 1242, 714, 715, 1243, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 1251, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 1259, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 1263, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1273, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 1285, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 1341, 2674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3715, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3716, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 3717, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 1352, -1267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 0, 0, 0, 0, 287, 0, 0, 290, 0, 0, 0, 0, 1749, 1750, 1751, 1752, 1753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1911, 0, 312, 0, 1420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, -1068, -1068, -1068, -1068, 287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1438, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 2198, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3546, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 2198, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1911, 0, 312, 0, 1420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1911, 0, 312, 0, 1420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1207, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 1208, 1209, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 2413, 711, 1241, 1242, 714, 715, 1243, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 0, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 2414, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 1285, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 1541, 1542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 1341, 2674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 1341, 2674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 2679, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 2198, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 4953, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4954, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1413, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 1420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 1541, 1542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 1805, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 2177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 2527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2537, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2546, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2567, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 2198, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3153, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 3406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 1352, 3519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3604, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3612, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1805, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4085, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 1341, 0, 0, 0, 0, 0, 0, 0, 0, 4168, 0, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1805, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4715, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 2198, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 4953, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1352, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1805, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1207, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 1887, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 1889, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 0, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 2029, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 2093, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 2169, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 2198, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 2513, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 3399, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 3878, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 4440, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1207, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 1887, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 0, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 3087, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 2513, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3588, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 3087, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4031, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1207, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 0, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1207, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 0, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 1865, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1207, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 283, 284, 0, 286, 287, 0, 0, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 0, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 3850, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 1341, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 1210, 1211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 521, 522, 523, 1215, 525, 526, 527, 528, 529, 530, 531, 1216, 1217, 1218, 1219, 536, 537, 538, 539, 540, 1220, 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, 1221, 574, 575, 576, 1342, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 1223, 592, 593, 1224, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 1225, 616, 617, 618, 619, 1226, 621, 1227, 623, 1228, 625, 626, 627, 628, 629, 1229, 1230, 1231, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 1233, 644, 645, 646, 647, 648, 649, 650, 651, 1234, 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, 1236, 685, 686, 687, 688, 689, 690, 691, 692, 1237, 694, 695, 696, 1238, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 1239, 710, 711, 1241, 1242, 714, 715, 0, 717, 718, 719, 720, 721, 722, 1244, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 0, 746, 747, 1245, 749, 0, 750, 0, 751, 752, 753, 1246, 755, 1247, 757, 758, 1248, 1249, 761, 762, 763, 764, 765, 766, 767, 1250, 769, 770, 771, 772, 773, 774, 775, 776, 0, 777, 778, 1252, 1253, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 1254, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 1255, 822, 1256, 824, 825, 826, 827, 828, 1257, 830, 831, 1258, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 1260, 858, 859, 860, 861, 862, 1261, 1262, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 1264, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 1265, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 0, 1266, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 1267, 964, 965, 966, 967, 968, 969, 970, 971, 1268, 973, 1269, 975, 976, 977, 978, 979, 980, 1270, 0, 0, 0, 982, 983, 984, 1271, 986, 987, 988, 989, 990, 991, 992, 1272, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1274, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1275, 1276, 1277, 1278, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1279, 1061, 1062, 1063, 1280, 1281, 1066, 1282, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1283, 1284, 0, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1286, 1287, 1288, 1289, 1099, 1100, 1101, 1102, 1103, 1290, 1291, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1292, 1130, 1131, 1132, 1133, 1293, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1294, 1295, 1144, 1145, 1296, 1147, 1148, 0, 1149, 1150, 1151, 1152, 1153, 1154, 1297, 1156, 1157, 1158, 285, 0, 0, 288, 1608, 0, 1609, 292, 293, 0, 0, 294, 295, 0, 296, 297, 298, 0, 1610, 300, 0, 301, 302, 303, 304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308, 1611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1600, 316, 1612, 1613, 0, 319, 0, 320, 0, 0, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 0, 339, 340, 341, 342, 343, 1614, 345, 346, 347, 348, 349, 1615, 351, 1616, 1617, 1618, 1619, 356, 1620, 358, 359, 360, 361, 362, 363, 364, 1621, 366, 367, 368, 369, 370, 0, 371, 372, 373, 374, 375, 376, 377, 378, 1622, 380, 381, 382, 383, 384, 385, 386, 387, 388, 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, 1623, 399, 400, 401, 402, 403, 1624, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 0, 417, 418, 419, 420, 421, 1625, 1626, 424, 425, 426, 427, 428, 429, 430, 1627, 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, 1628, 1629, 464, 465, 466, 467, 468, 469, 1630, 471, 472, 0, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 0, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 497, 498, 0, 499, 500, 501, 502, 503, 504, 1631, 1632, 1633, 1634, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519 }; static const yytype_int16 yycheck[] = { 19, 28, 0, 3, 4, 5, 6, 7, 245, 85, 28, 1298, 88, 28, 29, 306, 307, 85, 1907, 310, 88, 97, 217, 41, 0, 1, 317, 1977, 1798, 97, 313, 1, 1645, 41, 1201, 1550, 1649, 1364, 1323, 219, 1653, 2011, 203, 2546, 1329, 1669, 1331, 2057, 1988, 1334, 3150, 1991, 1772, 1993, 1864, 2106, 2344, 2126, 3146, 102, 3563, 2712, 2072, 2711, 3309, 3310, 3311, 39, 2822, 2032, 2903, 2034, 3033, 2145, 2125, 2126, 1920, 2045, 2046, 2750, 2728, 2752, 1204, 1945, 1946, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 2011, 1484, 1956, 1957, 1958, 1959, 1960, 1981, 2749, 2750, 2157, 2752, 1484, 1967, 1968, 1969, 1970, 1971, 1484, 1973, 2080, 1975, 1976, 3692, 1484, 1480, 3, 3400, 2640, 1983, 1984, 1911, 5, 24, 102, 3032, 1640, 1907, 24, 2099, 2100, 2101, 2102, 2103, 24, 2083, 1926, 228, 229, 230, 9, 1655, 1656, 12, 2092, 1421, 1422, 1423, 1424, 79, 1426, 1427, 38, 3831, 2686, 3, 2121, 2689, 2123, 32, 175, 3625, 2590, 1677, 2271, 2272, 2273, 212, 204, 238, 4, 2505, 2506, 2507, 24, 244, 184, 246, 2606, 175, 4, 1695, 79, 2129, 2025, 1819, 1820, 9, 2134, 24, 12, 2591, 237, 1827, 2129, 24, 3531, 2143, 319, 2134, 4102, 2601, 1719, 2149, 2604, 41, 4085, 2153, 2143, 342, 2537, 2794, 298, 2745, 2149, 1945, 347, 1851, 2153, 2546, 3741, 3742, 2506, 2507, 342, 2757, 1956, 1957, 1441, 2143, 210, 298, 303, 163, 1447, 1448, 1449, 1450, 1451, 2153, 2567, 1454, 1455, 1456, 1457, 1458, 1976, 1460, 2081, 1462, 1463, 203, 1465, 2857, 1984, 2859, 213, 3213, 3214, 174, 281, 282, 84, 85, 1477, 1478, 163, 51, 52, 53, 54, 55, 56, 171, 172, 59, 4104, 49, 299, 259, 37, 38, 39, 40, 41, 3755, 342, 203, 454, 2122, 311, 2124, 298, 2528, 315, 2159, 37, 38, 39, 40, 41, 247, 1209, 203, 211, 220, 1338, 353, 175, 137, 138, 3565, 423, 211, 269, 2790, 49, 203, 1808, 1809, 4081, 171, 172, 80, 174, 602, 176, 307, 524, 211, 3, 3318, 248, 311, 59, 203, 211, 304, 188, 311, 79, 298, 408, 2514, 2515, 451, 2517, 4459, 2519, 301, 175, 3366, 3367, 609, 50, 608, 4427, 3827, 4, 5, 6, 7, 248, 9, 10, 11, 12, 319, 14, 200, 220, 87, 4, 5, 6, 7, 1991, 9, 10, 11, 12, 534, 14, 298, 370, 190, 79, 176, 1557, 2501, 342, 435, 322, 3857, 3872, 325, 1303, 24, 451, 188, 3424, 379, 797, 319, 626, 3546, 304, 1576, 1577, 579, 325, 370, 187, 602, 49, 2173, 2174, 79, 79, 319, 66, 373, 304, 765, 484, 322, 342, 487, 539, 3712, 2152, 361, 1556, 319, 66, 325, 203, 543, 558, 628, 271, 272, 342, 79, 401, 3049, 220, 24, 298, 234, 2839, 2840, 90, 24, 556, 808, 342, 832, 451, 213, 310, 451, 3745, 701, 361, 351, 4804, 907, 4146, 174, 298, 176, 4051, 373, 190, 325, 3, 4, 451, 4358, 4749, 248, 4361, 188, 4363, 24, 174, 373, 171, 172, 247, 2382, 5, 2599, 210, 381, 5, 4175, 4310, 3, 298, 4198, 4199, 219, 13, 3, 247, 217, 267, 4088, 4057, 4090, 3, 2257, 808, 220, 4063, 522, 3853, 936, 24, 338, 5, 24, 86, 392, 2270, 42, 211, 44, 3632, 4078, 220, 24, 828, 294, 2642, 954, 32, 3822, 315, 80, 24, 3633, 342, 1832, 59, 700, 304, 554, 325, 325, 319, 1840, 675, 599, 1843, 997, 1845, 1846, 87, 627, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 2512, 4332, 810, 408, 2516, 4913, 80, 4098, 403, 4340, 455, 79, 457, 4852, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 169, 298, 947, 443, 2548, 80, 2550, 435, 354, 236, 96, 555, 504, 310, 373, 392, 102, 24, 248, 3116, 987, 511, 601, 726, 4728, 79, 435, 3643, 325, 304, 347, 845, 1019, 298, 431, 797, 190, 511, 24, 784, 698, 90, 534, 510, 4448, 353, 827, 90, 982, 351, 3666, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 4555, 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2637, 2678, 675, 774, 555, 1839, 367, 4551, 2537, 4553, 1799, 778, 2647, 2648, 2649, 2650, 2651, 2546, 2973, 2755, 2569, 2976, 24, 2410, 2659, 2660, 2661, 2745, 3225, 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, 2755, 2567, 1828, 771, 2486, 4185, 964, 2679, 2224, 2225, 451, 175, 4556, 2685, 2637, 90, 212, 213, 214, 215, 727, 680, 218, 3153, 90, 2692, 2693, 3333, 3158, 2521, 4311, 3067, 987, 4563, 604, 2707, 725, 4810, 367, 235, 1019, 237, 572, 2715, 392, 3734, 734, 2719, 2720, 2265, 2028, 2701, 325, 742, 4261, 4011, 451, 584, 2274, 3161, 3294, 599, 835, 2730, 781, 534, 484, 568, 3159, 487, 3862, 640, 2739, 734, 2883, 24, 2726, 2836, 3736, 2888, 599, 3067, 780, 2733, 4688, 3370, 555, 451, 451, 4603, 627, 913, 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 713, 2537, 2778, 2443, 976, 1007, 2653, 2920, 90, 451, 2546, 2924, 2925, 313, 1852, 205, 206, 207, 208, 871, 947, 2341, 511, 2799, 2800, 2801, 4644, 80, 4355, 3850, 954, 2567, 924, 689, 807, 947, 598, 4178, 4127, 4366, 303, 1000, 620, 3990, 2822, 1021, 303, 4374, 975, 3842, 2802, 924, 991, 243, 244, 245, 4690, 698, 86, 3340, 3101, 2802, 369, 431, 816, 924, 745, 771, 882, 2821, 4159, 4779, 1171, 923, 835, 1012, 2497, 2641, 715, 713, 2821, 620, 2802, 771, 805, 947, 859, 375, 1014, 765, 713, 957, 4710, 1806, 689, 730, 286, 287, 171, 172, 972, 2821, 1019, 4379, 3081, 809, 2745, 4610, 814, 749, 192, 3088, 924, 3090, 795, 3092, 838, 3094, 570, 749, 2416, 809, 814, 3, 303, 924, 818, 700, 924, 710, 771, 321, 570, 303, 920, 403, 24, 4704, 211, 175, 176, 352, 92, 411, 4510, 924, 4042, 4781, 369, 805, 961, 962, 973, 4423, 3072, 3073, 3074, 357, 1000, 422, 24, 197, 190, 4516, 2811, 422, 4519, 86, 90, 24, 313, 2592, 2593, 2594, 407, 829, 92, 213, 689, 765, 434, 371, 2157, 211, 220, 12, 12, 310, 24, 35, 24, 4876, 35, 872, 746, 768, 954, 719, 602, 2607, 2608, 2609, 325, 239, 716, 717, 808, 24, 1001, 843, 313, 784, 248, 4439, 187, 4441, 252, 203, 4702, 83, 453, 303, 4549, 4550, 546, 4552, 369, 4554, 83, 352, 936, 304, 954, 289, 4, 418, 2644, 2645, 765, 550, 1003, 814, 1000, 422, 4892, 818, 967, 3, 954, 4897, 4868, 3418, 422, 816, 24, 860, 746, 84, 85, 995, 952, 481, 954, 90, 178, 92, 369, 521, 24, 816, 4317, 190, 2802, 4, 4, 4322, 304, 470, 451, 96, 4188, 923, 771, 516, 4650, 991, 322, 4183, 18, 3, 326, 2821, 995, 615, 805, 997, 175, 3608, 488, 991, 923, 997, 4349, 4016, 357, 4018, 982, 618, 860, 572, 3872, 967, 1019, 4831, 989, 572, 584, 971, 354, 355, 809, 79, 59, 237, 80, 3735, 248, 4712, 4713, 1420, 4715, 972, 1025, 2426, 2427, 4720, 1025, 4099, 217, 2432, 422, 4103, 315, 36, 1195, 373, 1197, 1198, 236, 871, 3108, 2444, 1203, 187, 181, 3113, 3114, 4723, 4696, 36, 416, 989, 4689, 3015, 4691, 79, 59, 940, 36, 851, 543, 3699, 3130, 4758, 36, 179, 1202, 982, 3156, 952, 4898, 954, 59, 4768, 211, 211, 1202, 577, 81, 572, 2134, 59, 1015, 572, 240, 4303, 982, 59, 3275, 2985, 2571, 594, 572, 431, 81, 2149, 3502, 357, 81, 3061, 214, 2610, 3750, 3184, 1019, 3743, 3275, 1019, 991, 3190, 300, 675, 2610, 634, 452, 347, 3566, 1000, 2610, 36, 3206, 3207, 1022, 3843, 2610, 957, 4802, 423, 511, 36, 3110, 357, 635, 36, 2865, 849, 3116, 3117, 294, 2531, 2425, 4817, 59, 296, 373, 982, 967, 80, 294, 2389, 3231, 3057, 59, 4848, 954, 4850, 59, 1019, 3244, 3245, 3246, 3604, 351, 300, 3292, 3293, 3566, 580, 3358, 3612, 211, 315, 1485, 175, 176, 4698, 860, 939, 175, 679, 572, 3267, 3698, 357, 1006, 4264, 4722, 687, 3274, 236, 690, 939, 357, 4869, 4889, 197, 3277, 1358, 544, 3676, 3677, 634, 431, 5, 1012, 1366, 2535, 4425, 79, 4857, 2963, 213, 4430, 281, 351, 3438, 3439, 3440, 220, 3392, 217, 724, 947, 4429, 1360, 768, 1539, 1540, 2970, 2971, 192, 3317, 80, 4332, 1360, 1548, 5, 239, 4508, 24, 4510, 4340, 379, 3466, 234, 987, 248, 95, 3334, 1385, 252, 178, 37, 38, 39, 40, 41, 394, 304, 1385, 235, 5, 810, 342, 3110, 3351, 3352, 3017, 3330, 4945, 3116, 3117, 1409, 3359, 3360, 3361, 3362, 1019, 80, 3330, 86, 824, 0, 4978, 175, 788, 248, 787, 4239, 627, 3378, 247, 163, 3, 632, 25, 26, 27, 28, 3586, 96, 3032, 3033, 3590, 1398, 3592, 1400, 3594, 4707, 3596, 1404, 80, 302, 4185, 24, 452, 3374, 4674, 1412, 4676, 322, 1730, 4970, 369, 326, 300, 217, 1421, 1422, 1423, 1424, 5, 1426, 1427, 267, 1019, 80, 1746, 4861, 336, 233, 3378, 4990, 846, 347, 1552, 1553, 1437, 90, 814, 277, 1558, 354, 355, 351, 855, 1757, 1564, 1759, 902, 347, 294, 4128, 75, 3082, 25, 26, 27, 28, 347, 80, 5, 3379, 1693, 86, 347, 4145, 304, 4999, 4513, 4650, 3, 4, 4517, 190, 1570, 1571, 175, 771, 247, 234, 4597, 235, 1578, 1579, 4665, 25, 26, 27, 28, 3221, 277, 3, 247, 768, 211, 80, 1727, 1728, 546, 4544, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 24, 4523, 883, 809, 773, 304, 217, 347, 80, 2824, 771, 982, 983, 25, 26, 27, 28, 347, 578, 3160, 370, 347, 3163, 80, 785, 340, 4972, 192, 322, 194, 4723, 312, 79, 1593, 300, 60, 1596, 351, 25, 26, 27, 28, 87, 1603, 982, 983, 4992, 5, 809, 1020, 75, 366, 940, 11, 815, 30, 31, 32, 33, 34, 35, 86, 823, 224, 225, 24, 79, 4708, 80, 79, 235, 370, 96, 83, 663, 304, 1666, 1667, 3322, 1639, 233, 1641, 1020, 248, 673, 1008, 4053, 1647, 1648, 356, 25, 26, 27, 28, 1654, 1018, 79, 1657, 1658, 79, 1660, 982, 983, 991, 3348, 1665, 1666, 1667, 79, 4802, 1670, 79, 1000, 1703, 1674, 1675, 1676, 1677, 1942, 544, 3611, 80, 1682, 1683, 4817, 1685, 4912, 1687, 1688, 4200, 1690, 1691, 293, 298, 1694, 300, 79, 3966, 1698, 1020, 351, 3751, 3971, 1703, 171, 172, 1706, 1707, 24, 357, 1710, 3, 2815, 79, 1714, 1715, 917, 918, 24, 3751, 24, 930, 1195, 1196, 1197, 1198, 211, 1200, 1201, 3779, 1203, 79, 24, 3558, 3559, 4061, 4869, 737, 3529, 2842, 4066, 233, 343, 24, 267, 24, 351, 3779, 1818, 1749, 1750, 1751, 1752, 1753, 24, 24, 1756, 79, 1758, 3622, 3603, 3604, 431, 4, 80, 3608, 79, 4764, 4765, 3612, 83, 294, 1729, 4687, 80, 267, 80, 18, 4692, 1779, 1780, 1781, 339, 452, 4436, 24, 343, 1811, 60, 1813, 4871, 1815, 24, 1817, 79, 24, 1804, 24, 83, 80, 3749, 80, 294, 75, 96, 1804, 4436, 4, 1808, 1809, 80, 80, 4945, 4, 86, 267, 4300, 24, 15, 1020, 3521, 18, 1822, 1847, 3773, 3769, 3770, 3771, 79, 3778, 24, 79, 83, 3782, 3783, 3921, 237, 3923, 3924, 3925, 267, 80, 294, 3787, 3793, 1987, 247, 3791, 80, 24, 3794, 80, 24, 80, 3940, 3941, 84, 85, 1882, 1883, 3946, 3947, 3948, 3949, 24, 3951, 1865, 294, 1867, 5, 3956, 3957, 3958, 80, 289, 11, 1865, 4027, 1867, 176, 4030, 24, 24, 4033, 1884, 1358, 80, 2990, 79, 24, 24, 3507, 267, 1366, 3603, 3604, 24, 24, 5, 3608, 197, 4, 3846, 3612, 11, 80, 24, 3, 773, 37, 38, 39, 40, 41, 86, 79, 213, 171, 172, 294, 80, 3872, 24, 220, 178, 2189, 2190, 37, 38, 39, 40, 41, 37, 38, 39, 40, 41, 80, 80, 1412, 1413, 24, 239, 24, 24, 80, 80, 1420, 11, 3, 4, 248, 15, 80, 1911, 252, 79, 60, 627, 22, 1911, 4969, 80, 632, 24, 24, 4974, 3561, 24, 1926, 4, 3226, 163, 164, 165, 166, 167, 312, 80, 24, 2141, 4250, 37, 38, 39, 40, 41, 40, 41, 37, 38, 39, 40, 41, 24, 24, 3866, 80, 24, 80, 80, 37, 38, 39, 40, 41, 37, 38, 39, 40, 41, 25, 26, 27, 28, 1488, 1489, 24, 190, 24, 80, 80, 213, 24, 80, 322, 60, 24, 79, 326, 37, 38, 39, 40, 41, 80, 24, 12, 246, 211, 163, 164, 165, 166, 167, 24, 1989, 1990, 342, 1522, 80, 80, 1995, 4325, 80, 24, 24, 354, 355, 4109, 1684, 252, 1686, 24, 79, 930, 37, 38, 39, 40, 41, 2028, 759, 80, 4346, 80, 4348, 4109, 1551, 80, 1704, 1554, 1555, 80, 1557, 24, 24, 1560, 24, 79, 213, 2363, 80, 83, 1567, 24, 24, 79, 80, 1572, 1573, 80, 771, 1576, 1577, 4036, 4037, 4038, 236, 24, 85, 80, 80, 24, 24, 90, 785, 24, 1591, 80, 2392, 312, 88, 24, 90, 79, 236, 79, 233, 252, 2154, 322, 304, 2129, 2158, 79, 2160, 1398, 2134, 1400, 809, 80, 80, 1404, 80, 4295, 815, 24, 24, 2173, 2174, 80, 80, 2149, 823, 924, 925, 205, 206, 207, 208, 24, 175, 354, 4108, 80, 79, 24, 24, 80, 80, 178, 1645, 80, 4123, 79, 1649, 2360, 2361, 80, 1653, 236, 79, 2183, 24, 4129, 24, 2187, 24, 312, 37, 38, 39, 40, 41, 243, 244, 245, 4147, 322, 236, 373, 555, 80, 80, 236, 181, 178, 4157, 4158, 24, 37, 38, 39, 40, 41, 248, 80, 79, 3527, 24, 2221, 394, 80, 80, 4152, 2226, 4154, 4155, 4156, 79, 354, 924, 925, 4185, 3543, 24, 5, 286, 287, 80, 413, 80, 11, 80, 3393, 4067, 544, 917, 918, 1790, 5, 1792, 4074, 24, 4076, 34, 11, 2522, 431, 79, 1801, 40, 4184, 24, 24, 80, 37, 38, 39, 40, 41, 3538, 321, 24, 24, 80, 2277, 24, 2279, 452, 79, 79, 24, 1757, 83, 458, 37, 38, 39, 40, 41, 80, 2293, 2294, 2295, 2296, 79, 24, 2299, 24, 24, 24, 1776, 4350, 4351, 319, 2307, 2308, 2309, 80, 3916, 2312, 2313, 2314, 37, 38, 39, 40, 41, 80, 80, 24, 371, 24, 300, 24, 24, 79, 24, 80, 80, 179, 24, 80, 24, 24, 509, 1811, 80, 1813, 1814, 1815, 1816, 1817, 3639, 518, 24, 3642, 79, 2350, 1020, 2352, 179, 80, 24, 80, 80, 80, 24, 532, 2385, 2386, 2387, 3658, 3659, 1839, 214, 37, 38, 39, 40, 41, 24, 1847, 24, 351, 246, 80, 4465, 80, 4467, 80, 80, 2341, 80, 24, 400, 214, 80, 2341, 80, 80, 24, 24, 24, 79, 79, 411, 412, 83, 414, 3895, 80, 379, 2362, 24, 79, 24, 1882, 1883, 80, 24, 3047, 3048, 80, 2416, 4408, 4409, 4410, 4411, 2445, 4016, 24, 4018, 24, 79, 440, 1000, 80, 759, 80, 4381, 446, 2458, 87, 88, 3930, 1911, 1912, 488, 940, 80, 3936, 46, 1918, 48, 49, 50, 80, 80, 80, 1925, 1926, 1927, 627, 4400, 4300, 79, 1398, 79, 1400, 80, 2520, 80, 1404, 1000, 4416, 80, 1942, 2646, 2520, 1945, 1946, 1302, 292, 773, 452, 92, 80, 24, 80, 2481, 1956, 1957, 1958, 1959, 1960, 772, 2489, 36, 2470, 2481, 79, 1967, 1968, 1969, 1970, 1971, 79, 1973, 79, 1975, 1976, 37, 38, 39, 40, 41, 79, 1983, 1984, 4393, 2470, 79, 4396, 4397, 4398, 1991, 37, 38, 39, 40, 41, 2524, 79, 698, 83, 79, 577, 37, 38, 39, 40, 41, 25, 26, 27, 28, 2496, 79, 4627, 37, 38, 39, 40, 41, 80, 2505, 2506, 2507, 79, 79, 725, 37, 38, 39, 40, 41, 2032, 79, 2034, 80, 79, 2521, 39, 40, 41, 4499, 582, 742, 546, 83, 80, 2531, 83, 4072, 79, 79, 1383, 79, 2605, 2758, 79, 1388, 80, 37, 38, 39, 40, 41, 4300, 37, 38, 39, 40, 41, 80, 1402, 771, 1398, 79, 1400, 578, 1432, 92, 1404, 779, 37, 38, 39, 40, 41, 785, 1418, 628, 79, 2641, 37, 38, 39, 40, 41, 4572, 37, 38, 39, 40, 41, 80, 79, 679, 79, 930, 580, 80, 79, 809, 79, 687, 79, 79, 690, 2639, 25, 26, 27, 28, 2121, 79, 2123, 80, 37, 38, 39, 40, 41, 30, 31, 32, 33, 80, 834, 79, 3811, 3812, 3813, 80, 79, 79, 4264, 79, 79, 2146, 2147, 37, 38, 39, 40, 41, 79, 2154, 79, 79, 2157, 2158, 2159, 2160, 79, 79, 79, 2164, 2165, 79, 92, 80, 2968, 79, 325, 79, 2173, 2174, 79, 79, 4653, 79, 4655, 79, 4657, 79, 4659, 79, 4661, 79, 79, 79, 79, 2981, 80, 2983, 79, 4, 5, 6, 7, 79, 9, 10, 11, 12, 4600, 79, 67, 68, 69, 18, 71, 72, 73, 787, 753, 79, 79, 79, 83, 917, 37, 38, 39, 40, 41, 764, 37, 38, 39, 40, 41, 37, 38, 39, 40, 41, 4513, 79, 79, 79, 4517, 79, 86, 79, 79, 943, 944, 786, 79, 2993, 37, 38, 39, 40, 41, 79, 65, 66, 37, 38, 39, 40, 41, 80, 79, 79, 79, 4544, 622, 80, 233, 79, 79, 971, 80, 79, 37, 38, 39, 40, 41, 855, 79, 2805, 37, 38, 39, 40, 41, 79, 988, 1645, 831, 80, 79, 1649, 79, 79, 79, 1653, 24, 80, 37, 38, 39, 40, 41, 79, 79, 79, 79, 37, 38, 39, 40, 41, 2899, 2822, 2844, 80, 2846, 79, 79, 2849, 2899, 2908, 81, 80, 2854, 2855, 79, 79, 79, 2908, 79, 79, 79, 2863, 2864, 2822, 79, 2824, 79, 79, 2870, 80, 190, 79, 157, 158, 159, 160, 161, 162, 80, 37, 38, 39, 40, 41, 83, 79, 83, 2889, 1718, 907, 83, 211, 83, 83, 907, 79, 2898, 907, 211, 233, 37, 38, 39, 40, 41, 267, 907, 907, 2910, 519, 2385, 2386, 2387, 621, 236, 200, 4, 2919, 347, 2921, 357, 2923, 80, 4, 4, 4, 249, 1757, 4, 2931, 37, 38, 39, 40, 41, 4, 2938, 96, 2940, 171, 2942, 185, 2944, 80, 2946, 367, 24, 354, 267, 2951, 2425, 37, 38, 39, 40, 41, 83, 267, 1008, 37, 38, 39, 40, 41, 59, 83, 5, 2969, 1018, 4, 2445, 5, 1024, 80, 5, 3, 2978, 2979, 5, 5, 2982, 2456, 2984, 2458, 304, 1025, 271, 272, 5, 5, 1019, 304, 174, 753, 80, 915, 954, 503, 2957, 2958, 2959, 2960, 2961, 2962, 2957, 2958, 2959, 2960, 2961, 2962, 2969, 4764, 4765, 4620, 753, 1019, 2969, 2492, 982, 2494, 553, 2496, 2497, 37, 38, 39, 40, 41, 331, 331, 2505, 2506, 2507, 2508, 37, 38, 39, 40, 41, 2514, 2515, 553, 808, 402, 3046, 808, 2521, 2522, 4198, 401, 401, 366, 87, 373, 1019, 860, 357, 325, 808, 15, 373, 3, 2537, 940, 1000, 226, 80, 92, 369, 44, 3, 2546, 24, 3032, 394, 86, 24, 80, 83, 3032, 80, 394, 37, 38, 39, 40, 41, 37, 38, 39, 40, 41, 2567, 413, 83, 80, 80, 80, 3057, 80, 413, 94, 94, 37, 38, 39, 40, 41, 3067, 2584, 80, 431, 413, 80, 2589, 2590, 2591, 2592, 2593, 2594, 94, 94, 80, 32, 175, 80, 2601, 24, 79, 2604, 2605, 2606, 452, 347, 24, 24, 24, 32, 458, 452, 636, 24, 37, 59, 39, 458, 80, 182, 183, 185, 580, 452, 59, 4, 67, 190, 37, 38, 39, 40, 41, 1991, 5, 954, 460, 59, 2641, 37, 38, 39, 40, 41, 59, 59, 15, 210, 24, 37, 38, 39, 40, 41, 483, 4, 219, 24, 4, 4, 24, 509, 37, 38, 39, 40, 41, 230, 509, 8, 518, 80, 3, 96, 80, 5, 80, 518, 80, 102, 80, 4, 80, 80, 532, 80, 80, 80, 80, 2692, 2693, 532, 80, 80, 4, 24, 259, 80, 80, 3501, 37, 38, 39, 40, 41, 80, 80, 192, 3510, 298, 185, 274, 275, 37, 38, 39, 40, 41, 24, 282, 283, 284, 664, 665, 666, 667, 298, 2730, 670, 2732, 37, 38, 39, 40, 41, 564, 2739, 185, 298, 3226, 682, 683, 684, 80, 307, 37, 38, 39, 40, 41, 298, 24, 79, 190, 404, 5, 80, 586, 503, 503, 197, 401, 325, 401, 746, 328, 49, 204, 1019, 203, 404, 994, 601, 80, 37, 38, 39, 40, 41, 627, 59, 344, 345, 346, 24, 982, 627, 5, 80, 212, 213, 214, 215, 4917, 970, 218, 219, 626, 50, 362, 363, 401, 3331, 523, 3330, 37, 38, 39, 40, 41, 974, 248, 235, 424, 237, 697, 974, 80, 1007, 3373, 247, 559, 245, 424, 901, 49, 263, 79, 236, 970, 4, 2189, 24, 236, 4958, 1019, 5, 3366, 3367, 608, 2843, 608, 37, 38, 39, 40, 41, 410, 80, 59, 698, 319, 415, 416, 59, 4979, 59, 698, 59, 2862, 24, 4, 2865, 987, 301, 569, 3375, 185, 226, 698, 3457, 92, 83, 821, 4998, 83, 83, 725, 3457, 3409, 175, 234, 319, 320, 725, 80, 83, 3374, 3375, 347, 313, 80, 80, 3374, 742, 80, 725, 83, 80, 80, 80, 742, 715, 80, 94, 342, 3436, 80, 80, 24, 94, 163, 80, 742, 236, 94, 24, 80, 3448, 94, 80, 484, 80, 771, 487, 24, 178, 94, 80, 80, 771, 779, 79, 4731, 79, 79, 73, 785, 779, 37, 38, 39, 40, 41, 785, 37, 38, 39, 40, 41, 79, 3481, 79, 3483, 79, 3485, 79, 520, 79, 211, 4, 809, 37, 38, 39, 40, 41, 80, 809, 37, 38, 39, 40, 41, 83, 3562, 79, 37, 38, 39, 40, 41, 80, 3562, 24, 80, 834, 24, 80, 83, 347, 239, 236, 834, 431, 37, 38, 39, 40, 41, 37, 38, 39, 40, 41, 80, 37, 38, 39, 40, 41, 448, 80, 37, 38, 39, 40, 41, 83, 3549, 80, 598, 4, 185, 319, 60, 80, 24, 79, 3032, 3033, 4, 469, 3563, 5, 4, 331, 3546, 80, 24, 626, 298, 370, 3573, 876, 3575, 298, 92, 369, 80, 24, 4, 304, 236, 3057, 35, 80, 296, 35, 3546, 79, 294, 24, 83, 3067, 3, 80, 80, 80, 917, 322, 1025, 1025, 3627, 80, 79, 917, 79, 3, 3566, 90, 4, 519, 3086, 24, 3088, 4, 524, 3091, 3092, 919, 347, 4, 96, 24, 943, 944, 37, 38, 39, 40, 41, 943, 944, 24, 400, 860, 3110, 864, 5, 236, 4, 424, 3116, 3117, 233, 411, 412, 555, 414, 954, 373, 5, 971, 4, 860, 4, 564, 565, 5, 971, 37, 38, 39, 40, 41, 5, 5, 864, 2497, 988, 5, 394, 3146, 4, 440, 373, 988, 585, 881, 3153, 446, 4, 347, 4, 3158, 719, 4, 3161, 5, 5, 413, 4, 3693, 298, 3695, 83, 3697, 3970, 369, 580, 233, 1001, 1002, 80, 79, 67, 718, 516, 3709, 94, 3184, 1011, 94, 380, 480, 357, 3190, 80, 626, 88, 94, 3195, 718, 37, 38, 39, 40, 41, 94, 452, 4, 4, 5, 6, 7, 458, 9, 10, 11, 12, 292, 1699, 1700, 1701, 1702, 18, 304, 3221, 37, 38, 39, 40, 41, 1711, 1712, 1713, 24, 3231, 3977, 4, 636, 2590, 24, 2592, 2593, 2594, 80, 37, 38, 39, 40, 41, 37, 38, 39, 40, 41, 2606, 79, 4, 80, 5, 4, 5, 6, 7, 509, 9, 10, 11, 12, 80, 65, 66, 24, 518, 18, 41, 37, 38, 39, 40, 41, 3277, 1721, 1722, 1723, 1724, 1725, 532, 80, 24, 24, 460, 96, 80, 582, 61, 62, 63, 64, 65, 66, 67, 68, 69, 79, 71, 72, 73, 3855, 508, 59, 35, 35, 743, 35, 35, 24, 32, 606, 80, 79, 24, 67, 41, 612, 233, 3322, 80, 3850, 37, 38, 39, 40, 41, 37, 38, 39, 40, 41, 3335, 628, 3888, 772, 61, 62, 63, 64, 65, 66, 67, 68, 69, 3348, 71, 72, 73, 4, 351, 80, 24, 191, 80, 157, 158, 159, 160, 161, 162, 298, 5, 24, 3873, 37, 38, 39, 40, 41, 3373, 3374, 90, 90, 79, 627, 37, 38, 39, 40, 41, 79, 347, 3913, 3914, 4, 3873, 1958, 1959, 1960, 3393, 4, 955, 4, 957, 958, 1967, 1968, 1969, 1970, 1971, 838, 1973, 24, 1975, 79, 157, 158, 159, 160, 161, 162, 1983, 5, 5, 24, 37, 38, 39, 40, 41, 5, 3952, 860, 24, 5, 5, 864, 37, 38, 39, 40, 41, 5, 3988, 24, 4, 37, 38, 39, 40, 41, 5, 3973, 3974, 5, 698, 24, 37, 38, 39, 40, 41, 9, 5, 1018, 5, 924, 753, 9, 37, 38, 39, 40, 41, 5, 702, 79, 5, 764, 907, 24, 79, 725, 5, 4, 24, 890, 471, 916, 24, 3990, 5, 753, 37, 38, 39, 40, 41, 1019, 742, 786, 860, 37, 38, 39, 40, 41, 763, 357, 59, 564, 5, 3990, 2862, 24, 498, 2865, 79, 946, 4, 1019, 5, 4043, 83, 390, 452, 954, 4, 771, 4, 4, 79, 5, 5, 49, 963, 779, 965, 5, 5, 5, 5, 785, 79, 5, 831, 61, 62, 63, 64, 65, 66, 67, 68, 69, 5, 71, 72, 73, 37, 38, 39, 40, 41, 24, 43, 809, 3561, 185, 997, 298, 178, 3566, 879, 357, 944, 92, 80, 79, 1007, 63, 64, 65, 66, 67, 68, 69, 79, 71, 72, 73, 834, 259, 80, 3588, 83, 94, 79, 79, 3593, 3594, 80, 304, 94, 46, 94, 48, 49, 50, 3603, 3604, 80, 80, 718, 3608, 298, 185, 80, 3612, 61, 62, 63, 64, 65, 66, 67, 68, 69, 80, 71, 72, 73, 2981, 3627, 324, 94, 94, 94, 4167, 3633, 94, 94, 84, 85, 80, 94, 94, 4167, 61, 62, 63, 64, 65, 66, 67, 68, 69, 94, 71, 72, 73, 62, 63, 64, 65, 66, 67, 68, 69, 94, 71, 72, 73, 94, 917, 182, 183, 184, 185, 186, 187, 188, 189, 3032, 3033, 94, 80, 80, 80, 80, 80, 236, 4192, 734, 472, 4197, 24, 875, 342, 24, 943, 944, 90, 269, 3698, 4205, 35, 876, 4229, 65, 66, 67, 68, 69, 4192, 71, 72, 73, 35, 35, 79, 79, 79, 5, 79, 79, 1025, 4205, 971, 79, 79, 79, 299, 79, 299, 79, 79, 79, 79, 79, 4261, 211, 4263, 3, 79, 988, 79, 5, 748, 211, 185, 5, 4, 4, 405, 424, 54, 96, 213, 79, 59, 4306, 968, 4308, 4, 4, 854, 4, 24, 4, 79, 5, 298, 185, 298, 3769, 3770, 3771, 4, 168, 83, 1195, 1196, 1197, 1198, 59, 1200, 1201, 233, 1203, 1204, 1024, 178, 3787, 87, 239, 5, 3791, 5, 4, 3794, 80, 4, 80, 3153, 80, 236, 80, 79, 3158, 59, 59, 185, 185, 224, 185, 354, 29, 240, 185, 185, 80, 298, 80, 361, 5, 79, 298, 5, 79, 383, 178, 5, 5, 5, 79, 79, 924, 79, 4, 4, 982, 3836, 5, 5, 325, 59, 4, 59, 59, 24, 59, 3846, 59, 985, 59, 59, 498, 80, 191, 90, 3855, 3856, 90, 185, 351, 941, 5, 3862, 292, 49, 24, 5, 94, 94, 5, 4, 185, 79, 185, 80, 80, 4, 185, 4, 3, 80, 24, 1302, 185, 241, 80, 79, 79, 3888, 80, 80, 90, 4, 12, 5, 185, 90, 354, 80, 5, 925, 4, 860, 92, 5, 5, 5, 4, 192, 5, 372, 4, 831, 79, 79, 79, 5, 190, 94, 80, 4, 83, 4, 4, 79, 178, 24, 79, 361, 4456, 956, 361, 4459, 4460, 5, 5, 5, 79, 1358, 951, 5, 5, 79, 951, 79, 59, 1366, 369, 4, 79, 79, 748, 79, 614, 79, 688, 41, 80, 325, 79, 620, 578, 4489, 4490, 308, 4, 49, 744, 298, 79, 924, 80, 80, 578, 79, 79, 924, 79, 5, 4, 4, 392, 688, 5, 79, 79, 4, 825, 3988, 5, 5, 5, 1412, 1413, 5, 4522, 5, 5, 951, 79, 1420, 79, 951, 924, 79, 79, 924, 83, 924, 5, 308, 5, 1432, 5, 924, 325, 4016, 1437, 4018, 3374, 79, 361, 924, 12, 361, 361, 924, 90, 4, 90, 5, 4031, 49, 924, 79, 620, 280, 924, 951, 3394, 24, 79, 4042, 92, 951, 951, 951, 951, 376, 59, 2984, 2362, 951, 4053, 759, 4634, 760, 4491, 79, 956, 3454, 4635, 2184, 1709, 1181, 2982, 1681, 3462, 1488, 1489, 0, 4598, 0, 3561, 2813, 3243, 3234, 3849, 4605, 3330, 2783, 2153, 4916, 4979, 4998, 233, 4184, 5013, 5015, 5008, 2877, 3425, 3674, 3642, 4340, 4081, 4891, 3219, 3865, 2822, 4853, 4045, 1522, 4920, 4047, 4902, 4976, 4994, 4108, 4886, 4906, 2808, 2808, 2808, 2808, 3358, 2646, 233, 4645, 1988, 4665, 3856, 3856, 4509, 2012, 0, 1381, 249, 1883, 4129, 1909, 1551, 4263, 2481, 1554, 1555, 1556, 1557, 4629, 4003, 1560, 4732, 163, 164, 165, 166, 167, 1567, 4267, 170, 171, 172, 1572, 1573, 4039, 176, 1576, 1577, 1481, 4008, 4738, 3046, 4512, 1411, 2496, 3092, 2489, 1413, 2515, 4259, 4494, 1591, 3095, 4035, 3117, 1918, 197, 1333, 1413, 3391, 2815, 1335, 2842, 4183, 4184, 2816, 1339, 2150, 1320, 2817, 2142, 1925, 213, 214, 215, 2458, 2389, 3025, 4198, 220, 4751, 4728, 26, 1205, 1592, 4711, 3561, 228, 1776, 1804, 2387, 4738, 3021, 2610, 4891, 3156, 4139, 3794, 239, 3270, 4747, 3772, 2694, 4774, 2746, 3316, 3315, 4711, 2062, 4160, 4389, 252, 1522, 2753, 3528, 2740, 2110, 1757, -1, -1, -1, -1, 4769, 264, 4771, -1, 4773, -1, -1, 270, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4264, -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 302, -1, -1, -1, -1, -1, -1, 309, 310, -1, 312, 4819, -1, -1, -1, 317, -1, 1718, -1, 4300, 322, -1, -1, 325, 326, 4306, 4858, 4308, -1, -1, 4862, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 352, 4883, 354, -1, 356, -1, 3692, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1776, -1, -1, 4886, 4911, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1799, -1, -1, -1, -1, -1, -1, 407, -1, -1, -1, -1, 1811, -1, 1813, 1814, 1815, 1816, 1817, -1, -1, 4400, -1, -1, -1, -1, -1, -1, -1, 1828, -1, 4961, -1, -1, -1, -1, -1, -1, -1, -1, 1839, -1, -1, -1, -1, -1, -1, -1, 1847, -1, 4429, -1, -1, 453, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3810, -1, -1, -1, -1, -1, -1, 1882, 1883, -1, -1, -1, -1, 489, -1, -1, -1, 4999, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 506, -1, 1907, -1, -1, -1, 1911, 1912, -1, -1, -1, -1, -1, 1918, -1, -1, -1, -1, -1, -1, 1925, 1926, 1927, 529, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1942, -1, -1, 1945, 1946, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1956, 1957, 1958, 1959, 1960, -1, -1, -1, -1, -1, -1, 1967, 1968, 1969, 1970, 1971, -1, 1973, -1, 1975, 1976, 3912, -1, -1, -1, -1, -1, 1983, 1984, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4597, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2032, 634, 2034, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4016, -1, 4018, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4051, 4052, 4053, -1, -1, 2121, -1, 2123, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2141, -1, -1, -1, -1, 2146, 2147, -1, -1, -1, -1, -1, 4088, 2154, 4090, -1, 2157, 2158, 2159, 2160, -1, -1, -1, 2164, 2165, -1, 768, -1, -1, -1, 4751, -1, 2173, 2174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2189, -1, -1, -1, -1, 4774, -1, 174, -1, 176, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 188, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 824, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 213, -1, -1, -1, -1, -1, -1, 220, -1, -1, -1, -1, -1, -1, 4184, 851, -1, -1, -1, -1, -1, 234, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4202, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4858, -1, -1, -1, 4862, -1, -1, -1, -1, -1, -1, -1, -1, -1, 270, -1, -1, -1, -1, -1, -1, -1, -1, 902, -1, 4883, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4264, -1, 4911, -1, -1, -1, -1, -1, 4917, -1, -1, -1, -1, -1, -1, -1, -1, -1, 325, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 967, -1, -1, -1, -1, -1, -1, -1, -1, 4310, 4311, -1, 4958, -1, -1, 4961, -1, -1, -1, 2385, 2386, 2387, -1, 2389, -1, -1, -1, -1, -1, -1, 4331, -1, -1, 4979, 4335, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1016, -1, -1, 4998, -1, -1, 399, -1, 401, -1, 2425, -1, -1, -1, 407, -1, -1, -1, -1, -1, -1, -1, -1, -1, 417, -1, -1, -1, -1, -1, 2445, -1, 425, -1, -1, -1, 4386, -1, -1, -1, 433, 2456, -1, 2458, -1, 438, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2486, -1, -1, -1, 468, -1, 2492, -1, 2494, -1, 2496, -1, -1, -1, -1, -1, -1, -1, -1, 2505, 2506, 2507, 2508, -1, -1, -1, -1, 4448, 2514, 2515, -1, -1, -1, -1, -1, 2521, 2522, 501, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 514, 2537, 516, -1, -1, -1, -1, -1, -1, -1, 2546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2567, -1, -1, -1, 549, -1, -1, 4509, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2584, -1, -1, -1, -1, 2589, -1, 2591, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2601, -1, -1, 2604, 2605, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 597, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2641, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 639, -1, -1, -1, -1, -1, -1, 4603, 4604, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2692, 2693, -1, -1, -1, -1, -1, -1, -1, -1, 680, -1, -1, -1, -1, 685, -1, 4644, -1, 689, -1, 691, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2730, -1, 2732, -1, -1, -1, -1, -1, -1, 2739, -1, -1, -1, -1, -1, 723, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4710, -1, 4712, 4713, -1, 4715, -1, -1, -1, -1, 4720, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 792, 2815, -1, -1, 796, -1, -1, -1, -1, 4758, -1, 803, 804, -1, -1, -1, -1, -1, -1, 4768, 812, -1, 2836, -1, -1, -1, 818, 819, 2842, 2843, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 837, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4804, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 868, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4848, -1, 4850, -1, -1, -1, -1, -1, -1, -1, -1, 902, -1, -1, -1, -1, -1, -1, -1, -1, 4868, -1, -1, -1, 915, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 931, 4889, 933, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4913, -1, -1, 2981, 4917, -1, -1, 2985, -1, -1, -1, -1, 2990, -1, -1, 2993, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 987, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4958, -1, 1003, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4978, 4979, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3057, -1, -1, -1, -1, -1, 4998, -1, -1, -1, 3067, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3086, -1, 3088, -1, -1, 3091, 3092, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3110, -1, -1, -1, -1, -1, 3116, 3117, -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, -1, 3146, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3161, -1, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3184, -1, -1, -1, -1, -1, 3190, -1, -1, -1, -1, 3195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3221, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3231, -1, -1, -1, -1, -1, -1, 99, -1, 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, -1, 130, 131, 132, 133, 134, 135, 136, -1, 3277, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, 1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, 169, -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, -1, 3322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3335, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3348, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, -1, -1, 3373, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, 3392, 3393, 3394, 99, -1, 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, -1, 130, 131, 132, 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 169, 99, 171, 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, -1, 130, 131, 132, 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 169, -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3566, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3588, -1, -1, -1, -1, 3593, 3594, -1, -1, -1, -1, -1, -1, -1, -1, 3603, 3604, 1, -1, 3, 3608, -1, -1, -1, 3612, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3627, -1, -1, -1, -1, -1, 3633, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3692, -1, -1, -1, -1, -1, 3698, -1, -1, -1, -1, 99, -1, 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, -1, 130, 131, 132, 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, -1, -1, -1, -1, -1, -1, -1, 3769, 3770, 3771, -1, -1, -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3787, -1, -1, -1, 3791, -1, -1, 3794, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3810, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3836, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3846, -1, -1, -1, -1, -1, -1, -1, -1, 3855, 3856, -1, -1, -1, -1, -1, 3862, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 742, -1, -1, -1, -1, -1, -1, 3888, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3912, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3977, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3988, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4031, -1, -1, -1, -1, -1, -1, 742, -1, 901, -1, 4042, -1, -1, -1, -1, -1, -1, -1, -1, 4051, 4052, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4088, -1, 4090, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4108, 742, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4129, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4183, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 901, 4198, 4199, -1, -1, 4202, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 901, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4300, -1, -1, -1, -1, -1, 4306, -1, 4308, -1, 4310, 4311, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4331, -1, -1, -1, 4335, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 742, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4386, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4400, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4448, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 901, -1, -1, -1, 4509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4597, -1, -1, -1, -1, -1, 4603, 4604, -1, -1, -1, -1, -1, 4610, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4644, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4710, -1, 4712, 4713, -1, 4715, -1, -1, -1, -1, 4720, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4751, -1, -1, -1, -1, -1, -1, 4758, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4768, -1, -1, -1, -1, -1, 4774, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4804, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4848, -1, 4850, -1, -1, -1, -1, -1, -1, -1, 4858, -1, -1, -1, 4862, -1, -1, -1, -1, -1, 4868, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4883, -1, -1, -1, -1, -1, 4889, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4911, -1, 4913, -1, -1, -1, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, 4961, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, 4978, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 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, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, 163, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, 67, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, 67, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, 80, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, -1, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, -1, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, -1, -1, 84, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 1023, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, 85, 86, 87, 88, -1, 90, -1, 92, -1, 94, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, 81, -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 163, 164, 165, 166, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 213, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 252, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, -1, 322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 354, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 163, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 194, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 351, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 192, -1, 194, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 235, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 298, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 14, 15, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 190, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 292, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, 32, -1, -1, -1, -1, 37, 38, 39, 40, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, 81, -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 163, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, 27, 28, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 267, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 294, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, 80, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 163, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 194, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 351, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, 81, -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 221, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, 81, -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 14, 15, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, -1, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 201, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 15, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 236, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 3, -1, -1, -1, -1, -1, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 15, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 15, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 297, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, -1, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 234, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 298, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, 15, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, -1, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 234, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 234, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 234, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 234, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 234, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, -1, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, -1, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 25, 26, -1, 28, 29, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, -1, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 3, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 601, 602, 603, 604, -1, 606, -1, 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, -1, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, -1, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, -1, -1, -1, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, -1, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, -1, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 27, -1, -1, 30, 31, -1, 33, 34, 35, -1, -1, 38, 39, -1, 41, 42, 43, -1, 45, 46, -1, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, -1, 90, -1, 92, -1, -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, -1, 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, -1, 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, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, -1, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { 0, 79, 163, 164, 165, 166, 167, 170, 171, 172, 176, 197, 213, 214, 215, 220, 228, 239, 252, 264, 270, 291, 302, 309, 310, 312, 317, 322, 325, 326, 352, 354, 356, 407, 453, 489, 506, 529, 634, 768, 824, 851, 902, 967, 1016, 1028, 1029, 1031, 1099, 1101, 1104, 1113, 1114, 1115, 1122, 1123, 1124, 1125, 1126, 1134, 1135, 1137, 1138, 1150, 1151, 1156, 1160, 1161, 1164, 1165, 1283, 1284, 1285, 1294, 1301, 1318, 1320, 1323, 1324, 1332, 1333, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1454, 1455, 1456, 1458, 1459, 1462, 1476, 1489, 1491, 1493, 1496, 1498, 1499, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1522, 1523, 1526, 1534, 1538, 1539, 1540, 1541, 1544, 1565, 1566, 1567, 1568, 1629, 1630, 1631, 1635, 1636, 1637, 1340, 1341, 1, 3, 99, 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, 130, 131, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 171, 742, 901, 1372, 1373, 1374, 1376, 1372, 1372, 1372, 1372, 1372, 203, 319, 342, 373, 504, 534, 814, 936, 954, 991, 1127, 38, 351, 373, 381, 814, 818, 952, 954, 991, 1127, 1159, 1162, 1296, 1302, 248, 373, 534, 555, 700, 784, 814, 818, 952, 954, 991, 1127, 1152, 1297, 1317, 175, 176, 197, 213, 220, 239, 248, 252, 322, 326, 354, 355, 544, 773, 930, 1516, 1517, 1518, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 18, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 41, 42, 43, 45, 46, 48, 49, 50, 51, 60, 65, 66, 71, 72, 76, 79, 81, 83, 84, 85, 86, 87, 88, 90, 92, 94, 96, 157, 158, 159, 160, 161, 162, 173, 174, 176, 177, 178, 179, 180, 181, 182, 183, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 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, 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, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 349, 350, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 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, 601, 602, 603, 604, 606, 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, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1023, 1035, 1036, 1037, 1038, 1040, 1042, 1043, 1044, 1046, 1047, 1049, 1051, 1054, 1055, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1091, 1340, 1639, 1640, 1641, 1644, 1645, 1646, 1647, 1648, 481, 342, 954, 248, 342, 838, 954, 1127, 851, 342, 991, 175, 1516, 3, 14, 15, 21, 22, 81, 190, 292, 378, 386, 387, 388, 389, 395, 427, 431, 445, 448, 469, 474, 476, 478, 484, 485, 486, 490, 497, 506, 515, 538, 547, 551, 563, 564, 566, 567, 570, 577, 603, 611, 613, 616, 617, 625, 626, 637, 638, 662, 679, 681, 687, 690, 703, 715, 721, 722, 749, 751, 767, 787, 822, 831, 833, 840, 847, 855, 864, 865, 909, 910, 911, 912, 922, 926, 927, 929, 937, 938, 939, 957, 958, 959, 960, 966, 967, 991, 996, 1004, 1005, 1008, 1018, 1131, 1528, 1530, 1531, 1532, 1638, 1645, 32, 197, 204, 248, 263, 301, 319, 320, 342, 431, 448, 469, 524, 555, 564, 565, 585, 626, 743, 772, 838, 860, 864, 916, 946, 954, 963, 965, 1007, 1131, 1463, 1467, 1468, 1471, 1625, 947, 3, 431, 1128, 1640, 1644, 1012, 1504, 1504, 434, 521, 675, 3, 1524, 1642, 1644, 342, 947, 1319, 1524, 347, 1012, 1504, 1638, 81, 342, 1293, 407, 453, 516, 768, 824, 902, 0, 171, 172, 626, 845, 1139, 247, 1329, 1329, 294, 1394, 1395, 96, 1331, 1362, 1394, 1395, 233, 1385, 25, 26, 27, 28, 1355, 1356, 1357, 1385, 1357, 1385, 1394, 1395, 1357, 175, 217, 336, 351, 1400, 1401, 1402, 1329, 236, 1100, 1430, 1431, 1640, 1394, 1395, 83, 406, 534, 535, 536, 551, 748, 755, 1099, 1101, 1324, 1338, 1429, 1433, 1434, 1460, 1640, 768, 80, 80, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 79, 79, 79, 79, 79, 79, 24, 169, 1376, 1429, 1640, 1640, 1640, 765, 982, 174, 176, 188, 213, 220, 234, 270, 325, 399, 401, 407, 417, 425, 433, 438, 468, 501, 514, 516, 549, 597, 639, 680, 685, 689, 691, 723, 792, 796, 803, 804, 812, 818, 819, 837, 868, 902, 915, 931, 933, 987, 1003, 1562, 1585, 1589, 1598, 1602, 1607, 1628, 175, 1640, 3, 4, 1485, 1487, 1490, 1644, 3, 1136, 312, 246, 1166, 765, 982, 759, 1166, 1166, 1166, 342, 555, 534, 700, 1152, 1297, 248, 1640, 246, 1321, 1429, 1321, 765, 982, 759, 1321, 1487, 1490, 1321, 940, 1000, 1319, 772, 1519, 936, 954, 814, 940, 991, 1000, 292, 204, 1000, 92, 24, 36, 1049, 1049, 79, 1049, 1075, 15, 85, 1047, 1047, 79, 1047, 1032, 1049, 1340, 31, 33, 45, 72, 87, 88, 190, 196, 198, 199, 200, 201, 203, 211, 226, 246, 252, 271, 272, 280, 311, 312, 319, 358, 359, 360, 361, 1640, 1648, 1049, 1047, 79, 79, 79, 79, 79, 1090, 79, 1340, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 1060, 79, 79, 79, 79, 79, 79, 1061, 1060, 1061, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 4, 18, 83, 51, 52, 53, 54, 55, 56, 59, 1022, 46, 48, 49, 50, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 84, 85, 1050, 75, 86, 1212, 37, 38, 39, 40, 41, 1047, 1090, 79, 83, 79, 83, 1322, 1429, 175, 1640, 1429, 1429, 1640, 1128, 1638, 1429, 1542, 1543, 1485, 1494, 1495, 1519, 92, 59, 347, 1533, 36, 1533, 304, 598, 1632, 1633, 325, 622, 580, 92, 81, 83, 81, 3, 4, 87, 211, 1209, 1210, 233, 1492, 81, 83, 1210, 24, 3, 1639, 1644, 36, 1533, 203, 301, 319, 342, 373, 555, 954, 1000, 1470, 907, 907, 50, 367, 1474, 79, 267, 1464, 907, 233, 1465, 1492, 1474, 907, 1474, 907, 1466, 1474, 49, 236, 1472, 1473, 1464, 1474, 1466, 519, 907, 997, 1472, 451, 543, 774, 947, 1469, 175, 781, 973, 175, 780, 621, 357, 1535, 1429, 1500, 1501, 236, 851, 1638, 347, 369, 1505, 1633, 1429, 4, 4, 4, 4, 4, 4, 171, 1030, 249, 96, 1328, 1328, 185, 267, 1361, 15, 297, 507, 1364, 1365, 1638, 1361, 354, 175, 217, 351, 1358, 1340, 1342, 1346, 1354, 1346, 1361, 1346, 67, 1049, 1403, 1405, 1402, 79, 1340, 1407, 1408, 1409, 1410, 1417, 1429, 1446, 1410, 1430, 1640, 367, 1359, 24, 236, 83, 1432, 1361, 1640, 1648, 1460, 1460, 1460, 1460, 59, 1460, 1460, 4, 1475, 1639, 83, 1524, 1024, 1436, 1436, 5, 5, 5, 558, 913, 1014, 1378, 3, 1025, 1436, 1436, 1436, 1436, 1436, 211, 713, 1379, 234, 392, 1380, 1436, 1436, 1436, 1436, 1436, 3, 1436, 5, 1436, 1436, 5, 1444, 1436, 1025, 1207, 5, 1436, 1436, 5, 1444, 1374, 174, 176, 188, 220, 298, 310, 325, 689, 805, 967, 1236, 1237, 1238, 1239, 1545, 1546, 1547, 1548, 1552, 1554, 1555, 1557, 1559, 1562, 174, 220, 298, 805, 967, 1277, 1278, 1279, 1280, 1290, 1291, 1550, 1553, 1562, 174, 220, 174, 602, 1640, 1640, 1019, 753, 954, 423, 539, 726, 808, 947, 915, 753, 503, 203, 604, 797, 1019, 1583, 1584, 213, 298, 401, 680, 1003, 1619, 602, 628, 827, 331, 331, 175, 319, 331, 400, 411, 412, 414, 440, 446, 480, 582, 606, 612, 628, 753, 764, 786, 831, 1575, 553, 982, 553, 808, 319, 675, 947, 975, 568, 860, 982, 1019, 402, 808, 954, 1613, 1640, 401, 608, 987, 522, 554, 727, 961, 962, 1623, 1624, 602, 987, 401, 808, 828, 366, 203, 423, 3, 443, 829, 971, 1620, 1621, 860, 1019, 808, 1019, 808, 602, 849, 832, 987, 1562, 310, 352, 634, 1497, 1562, 15, 1486, 313, 369, 580, 1479, 24, 375, 1562, 1050, 1640, 1166, 1166, 1640, 1640, 1477, 1478, 1485, 1128, 1166, 3, 1640, 940, 1000, 1166, 92, 226, 1640, 3, 1321, 1321, 1640, 1640, 1128, 3, 1128, 1153, 1644, 1321, 1321, 765, 982, 67, 1520, 1640, 1518, 1049, 1049, 44, 1076, 1077, 1049, 24, 80, 83, 83, 1049, 1032, 1049, 1049, 80, 5, 80, 3, 1179, 1639, 1640, 1049, 1049, 1179, 1334, 80, 5, 80, 5, 80, 1179, 1049, 1093, 1032, 1032, 1049, 1049, 175, 217, 351, 1097, 1049, 175, 217, 351, 1079, 80, 5, 80, 80, 1049, 1049, 1093, 1093, 80, 205, 206, 207, 208, 243, 244, 245, 286, 287, 321, 371, 488, 577, 679, 687, 690, 787, 855, 1008, 1018, 1643, 1049, 94, 484, 487, 957, 1184, 217, 351, 1096, 1049, 1049, 1049, 1032, 1049, 94, 94, 94, 1096, 1049, 1049, 1097, 1049, 1097, 1049, 1049, 5, 80, 1049, 1049, 80, 1046, 1049, 1032, 80, 80, 1049, 1079, 1079, 1079, 1079, 1049, 1093, 1097, 5, 80, 1049, 1049, 1094, 1643, 1094, 184, 265, 348, 1049, 1387, 1079, 1079, 1079, 1049, 1049, 1639, 9, 12, 989, 1050, 175, 385, 878, 1044, 1052, 1044, 1052, 1044, 1052, 1044, 1052, 1044, 1052, 1044, 1052, 1044, 1046, 4, 1046, 79, 1053, 1340, 4, 1047, 1046, 1046, 1046, 1046, 88, 1046, 88, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 46, 48, 49, 50, 1047, 3, 4, 1206, 1049, 1049, 1049, 1049, 1049, 1049, 1092, 67, 1639, 1640, 1641, 1648, 1033, 1034, 1049, 1095, 1648, 24, 347, 24, 1486, 24, 24, 1520, 87, 92, 211, 1049, 1529, 1049, 1049, 370, 734, 636, 24, 59, 185, 580, 1632, 1632, 1212, 1213, 1485, 59, 1632, 564, 864, 1530, 1533, 1529, 1529, 1429, 1429, 1640, 1429, 1640, 1429, 1166, 1473, 1473, 4, 1049, 67, 5, 1473, 201, 954, 1613, 1614, 1474, 1128, 1474, 1474, 1474, 1474, 1429, 1473, 1472, 59, 59, 59, 15, 1536, 1537, 178, 277, 304, 370, 1404, 1502, 24, 4, 15, 18, 1187, 1525, 1638, 1638, 460, 24, 4, 1325, 1411, 1429, 1325, 1049, 1396, 1397, 5, 13, 1383, 4, 4, 24, 716, 717, 1006, 1386, 178, 1404, 1642, 24, 1362, 1363, 1340, 1407, 178, 1640, 24, 325, 30, 31, 32, 33, 34, 35, 289, 1448, 1449, 1452, 178, 234, 247, 298, 356, 850, 1415, 1419, 1420, 1427, 1428, 1640, 1359, 357, 83, 8, 1360, 1431, 1407, 67, 1640, 609, 964, 1461, 1640, 1648, 3, 1433, 1435, 79, 1435, 1443, 80, 5, 80, 80, 80, 4, 79, 1435, 1437, 1440, 1441, 1442, 1435, 1443, 1443, 1443, 80, 80, 1443, 1443, 1443, 1443, 1443, 80, 1443, 80, 1443, 79, 1435, 1439, 24, 1438, 80, 80, 4, 24, 1219, 80, 1443, 1435, 80, 80, 90, 192, 194, 248, 298, 351, 1305, 1422, 1560, 248, 1560, 1560, 192, 194, 235, 298, 373, 924, 1179, 1422, 185, 347, 1422, 1561, 1560, 298, 298, 924, 24, 211, 304, 373, 394, 413, 452, 458, 509, 518, 532, 627, 698, 725, 742, 771, 779, 785, 809, 834, 917, 943, 944, 971, 988, 1133, 1221, 1225, 1226, 1229, 298, 1293, 298, 185, 298, 298, 24, 408, 627, 698, 771, 972, 1287, 1289, 503, 503, 1460, 79, 883, 982, 983, 1020, 1109, 1112, 664, 665, 666, 667, 670, 682, 683, 684, 1105, 1106, 4, 175, 1227, 1640, 404, 973, 1227, 1574, 5, 401, 401, 746, 1599, 49, 404, 994, 203, 59, 1228, 1228, 24, 401, 697, 982, 5, 970, 523, 424, 1614, 974, 974, 1575, 1007, 559, 1617, 1618, 1614, 424, 247, 1588, 1228, 954, 1579, 1599, 1600, 860, 1019, 1590, 1591, 1594, 1595, 1595, 901, 49, 970, 1595, 1228, 236, 236, 4, 608, 1228, 1228, 1228, 1228, 1228, 24, 1591, 608, 550, 618, 1627, 1627, 319, 5, 59, 59, 59, 59, 24, 4, 1586, 1227, 1599, 1227, 1599, 1591, 1592, 1592, 987, 86, 452, 627, 632, 771, 785, 809, 815, 823, 917, 918, 1020, 1116, 1117, 1131, 1133, 1229, 1292, 569, 1116, 338, 435, 599, 713, 923, 1015, 1483, 1484, 663, 673, 1481, 1482, 185, 1487, 1497, 511, 771, 809, 1130, 1132, 1133, 1229, 1292, 226, 1286, 1287, 1288, 1289, 1640, 1640, 1116, 24, 369, 1479, 1480, 1486, 1129, 1130, 1429, 821, 92, 1128, 1153, 1298, 1429, 1433, 1429, 1640, 1640, 234, 302, 1158, 83, 234, 1157, 1322, 1322, 83, 347, 83, 24, 1049, 42, 1077, 1078, 24, 1049, 1639, 1648, 1648, 24, 24, 80, 357, 24, 357, 80, 80, 83, 24, 24, 24, 80, 80, 80, 80, 24, 80, 80, 80, 80, 80, 1049, 178, 1032, 1032, 67, 1049, 80, 94, 80, 24, 80, 80, 94, 236, 80, 247, 816, 1058, 3, 79, 1062, 1063, 24, 1032, 80, 80, 80, 80, 1058, 1062, 1062, 1062, 1032, 80, 24, 80, 1049, 80, 1049, 80, 80, 80, 80, 24, 94, 49, 80, 24, 94, 94, 80, 1049, 1049, 1049, 1049, 24, 80, 1049, 80, 80, 80, 80, 24, 80, 236, 1049, 236, 1049, 236, 1049, 236, 80, 1049, 1049, 1049, 24, 80, 80, 9, 12, 989, 79, 79, 79, 79, 79, 79, 41, 4, 1045, 1032, 1045, 60, 79, 1049, 1049, 1046, 4, 1046, 1053, 4, 1047, 24, 236, 80, 83, 79, 83, 24, 1404, 80, 1429, 1429, 1543, 347, 1494, 239, 236, 304, 807, 859, 1634, 598, 4, 1186, 1187, 185, 1486, 4, 749, 1529, 1128, 1474, 1474, 60, 80, 24, 1474, 79, 1473, 1474, 1429, 4, 5, 4, 24, 370, 626, 1503, 1640, 1501, 876, 369, 247, 312, 1140, 79, 325, 361, 995, 1326, 1327, 1338, 1418, 1419, 92, 1330, 179, 214, 1398, 24, 24, 730, 1131, 1211, 1365, 5, 11, 1642, 4, 1403, 236, 80, 1640, 1408, 1102, 1103, 1179, 35, 296, 1453, 35, 296, 1453, 35, 30, 31, 32, 33, 1450, 1451, 1409, 1447, 1447, 1447, 1640, 79, 1422, 411, 1416, 178, 857, 1412, 1428, 1640, 178, 1415, 1428, 1640, 1422, 1428, 1428, 1394, 1395, 1407, 1640, 1049, 83, 1432, 1460, 1436, 3, 1437, 80, 1438, 80, 1025, 1437, 1441, 80, 1438, 1438, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 1437, 1219, 1444, 1025, 5, 1025, 1208, 80, 80, 1306, 1307, 1640, 79, 1251, 1254, 1549, 1421, 1422, 235, 300, 1303, 1304, 1640, 79, 1174, 1179, 1304, 1179, 1179, 1179, 79, 90, 3, 79, 1375, 1551, 1551, 187, 315, 1563, 1304, 90, 303, 422, 572, 1304, 1429, 1174, 1375, 1375, 1375, 1546, 370, 734, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1221, 86, 1131, 1549, 1322, 1551, 90, 303, 422, 572, 1375, 1375, 1291, 1228, 1228, 1228, 1228, 1228, 1287, 4, 4, 347, 1457, 4, 1121, 96, 1228, 1228, 1228, 24, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 24, 579, 797, 1021, 1596, 1597, 1614, 1228, 1228, 1590, 864, 236, 1590, 1227, 1227, 1584, 5, 4, 1595, 233, 1569, 954, 1578, 1228, 424, 1615, 1616, 1578, 1586, 5, 1228, 860, 1587, 1228, 1228, 1595, 864, 1578, 1227, 4, 1640, 1595, 4, 5, 5, 5, 5, 1227, 1624, 1590, 1591, 1599, 1601, 1594, 4, 5, 6, 7, 9, 10, 11, 12, 14, 66, 1041, 1042, 1041, 4, 1041, 1621, 24, 1592, 1590, 1562, 881, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 24, 997, 1119, 1228, 373, 347, 1119, 4, 4, 4, 41, 1484, 5, 5, 1482, 4, 1488, 1228, 1228, 1228, 1132, 86, 1131, 1276, 1277, 1278, 1279, 1280, 24, 810, 982, 983, 1020, 1107, 1108, 1105, 325, 997, 1118, 1478, 1481, 1480, 580, 50, 79, 178, 1221, 1222, 1225, 1230, 1236, 1237, 1238, 1239, 1338, 210, 259, 307, 920, 1163, 4, 1460, 83, 233, 79, 1299, 357, 1315, 1316, 3, 1153, 1644, 1563, 1563, 67, 1477, 67, 1640, 1049, 43, 1049, 516, 1049, 80, 1049, 1049, 1209, 87, 190, 210, 219, 353, 484, 487, 719, 871, 957, 1181, 1183, 1209, 1639, 1640, 1049, 1049, 1179, 380, 88, 1049, 94, 94, 94, 80, 1181, 80, 80, 80, 80, 1062, 88, 1062, 1049, 1058, 1059, 718, 3, 298, 1067, 1068, 1049, 1394, 1059, 718, 1394, 1049, 80, 80, 94, 1049, 1062, 1049, 1049, 1062, 1062, 80, 80, 80, 80, 1049, 80, 1049, 1049, 236, 1049, 236, 1049, 236, 1049, 80, 80, 80, 1049, 1340, 1341, 1341, 1341, 1341, 1341, 1341, 1044, 4, 80, 60, 4, 1047, 1049, 1643, 1643, 41, 1045, 1045, 60, 1049, 1049, 67, 1639, 1648, 1095, 1648, 1034, 4, 1642, 1485, 292, 1490, 454, 976, 304, 24, 636, 24, 4, 79, 4, 524, 1007, 5, 80, 1359, 1473, 24, 24, 1537, 1502, 24, 460, 96, 80, 1334, 1102, 79, 1335, 508, 1397, 1383, 1383, 1209, 1366, 1469, 221, 1406, 1407, 24, 1359, 59, 35, 1447, 35, 35, 1453, 1453, 1453, 35, 32, 92, 357, 92, 357, 1445, 1428, 1375, 233, 1423, 175, 403, 584, 1414, 1640, 79, 178, 1428, 1640, 1428, 1640, 178, 1412, 1428, 1640, 1428, 1423, 1361, 1384, 80, 80, 1438, 79, 1435, 80, 80, 1438, 80, 1435, 1441, 79, 1435, 1440, 80, 137, 138, 298, 572, 713, 843, 1381, 4, 80, 351, 191, 298, 1252, 1253, 1255, 1256, 1303, 90, 90, 1315, 1174, 1180, 4, 87, 182, 183, 190, 210, 219, 230, 259, 274, 275, 282, 283, 284, 307, 325, 328, 344, 345, 346, 362, 363, 410, 415, 416, 484, 487, 520, 719, 955, 957, 958, 1018, 1185, 1188, 1189, 1190, 1191, 1192, 1193, 601, 1001, 1226, 1556, 220, 325, 1564, 1174, 1563, 1375, 1304, 1375, 3, 24, 79, 79, 451, 79, 451, 79, 347, 96, 1227, 5, 11, 1275, 5, 4, 4, 4, 1227, 79, 4, 211, 1224, 5, 5, 15, 211, 843, 1223, 1227, 5, 5, 5, 211, 455, 457, 510, 795, 1282, 5, 4, 5, 5, 9, 1228, 1228, 5, 451, 924, 1281, 451, 1281, 1281, 96, 9, 1224, 5, 1223, 5, 702, 1573, 1590, 1460, 24, 80, 79, 1227, 5, 79, 1112, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1106, 1228, 1228, 1228, 24, 890, 1610, 1611, 5, 4, 471, 1593, 5, 753, 1019, 860, 763, 357, 1570, 59, 564, 1581, 5, 1228, 1581, 498, 79, 1228, 1592, 4, 1227, 5, 1019, 1582, 390, 1614, 1614, 1590, 5, 11, 452, 1622, 83, 1622, 1622, 1622, 4, 176, 188, 1598, 1597, 1228, 1206, 4, 4, 5, 1223, 5, 5, 79, 5, 5, 5, 79, 1117, 1527, 1531, 1209, 1228, 1640, 1484, 5, 1223, 5, 1228, 1228, 1288, 1228, 1228, 1228, 1228, 24, 997, 1527, 1527, 185, 1429, 50, 194, 351, 1167, 1168, 1174, 1305, 1422, 1338, 298, 1230, 1231, 1232, 1234, 1235, 1240, 1241, 24, 1404, 879, 357, 1457, 1153, 3, 1128, 1155, 1644, 1244, 1639, 944, 1300, 418, 572, 92, 1157, 369, 1521, 80, 1049, 80, 24, 80, 80, 79, 1200, 1202, 1202, 79, 1197, 259, 1182, 1197, 1182, 80, 79, 1199, 80, 83, 24, 24, 79, 1049, 80, 1062, 1062, 1062, 94, 80, 94, 94, 94, 80, 718, 80, 1067, 185, 80, 1394, 80, 324, 1098, 24, 80, 1098, 80, 94, 94, 1062, 80, 80, 80, 94, 94, 94, 94, 80, 94, 24, 1049, 1049, 1049, 94, 94, 94, 80, 80, 80, 80, 80, 80, 80, 4, 1047, 1045, 1044, 60, 4, 1047, 24, 233, 80, 1486, 236, 1633, 1634, 1187, 734, 1488, 1474, 472, 875, 1633, 876, 342, 1326, 80, 211, 1049, 1336, 1337, 24, 90, 269, 1369, 224, 225, 293, 343, 1367, 1368, 1359, 1359, 1103, 1394, 1337, 1445, 1447, 35, 35, 35, 1049, 79, 1049, 79, 80, 35, 240, 294, 79, 79, 1428, 5, 1640, 1428, 1428, 1640, 178, 1428, 1640, 1428, 79, 1437, 1441, 1437, 1219, 1382, 1025, 1421, 79, 1429, 24, 80, 24, 80, 1315, 1303, 79, 79, 24, 80, 1200, 1201, 1201, 1197, 299, 299, 79, 1200, 1200, 79, 1195, 79, 1197, 79, 1198, 237, 1175, 1214, 79, 1194, 79, 1196, 1199, 1202, 1202, 211, 211, 80, 80, 3, 80, 1244, 1049, 79, 1049, 79, 1049, 1304, 1549, 1049, 1157, 1206, 1209, 1281, 5, 185, 748, 1273, 5, 1273, 1273, 1549, 1157, 1228, 1590, 1592, 4, 96, 1121, 213, 1111, 4, 1120, 1227, 1227, 1227, 1596, 1228, 405, 1608, 1609, 1228, 1592, 424, 1228, 1228, 54, 470, 594, 635, 724, 788, 846, 1571, 1572, 1227, 1580, 1227, 1228, 1580, 79, 59, 968, 1577, 4, 4, 854, 1626, 1639, 1626, 1626, 1626, 701, 810, 1603, 1604, 1605, 1606, 4, 1157, 1121, 1120, 24, 12, 1640, 1206, 1209, 4, 1227, 5, 79, 1108, 1527, 749, 1488, 1429, 1306, 1307, 1421, 24, 80, 235, 300, 1303, 185, 298, 1240, 1404, 298, 1222, 1338, 4, 168, 233, 83, 1024, 1154, 24, 80, 59, 178, 1429, 239, 1032, 5, 11, 1039, 87, 1205, 5, 5, 1639, 1049, 1049, 4, 1643, 1062, 1062, 1062, 1062, 80, 1032, 303, 835, 1069, 1073, 1074, 4, 80, 1032, 80, 1062, 1062, 236, 1057, 1062, 1062, 1062, 1062, 1062, 1049, 1062, 1062, 1062, 1045, 4, 1047, 1045, 1049, 1049, 1490, 80, 59, 59, 1429, 1326, 24, 80, 79, 354, 339, 343, 1370, 1371, 185, 185, 224, 185, 1368, 29, 1064, 240, 1388, 1384, 1445, 1334, 1334, 185, 185, 3, 300, 1424, 1425, 1426, 5, 11, 1413, 80, 1428, 1428, 1640, 1428, 1425, 80, 80, 1438, 1381, 80, 1303, 1049, 361, 298, 1253, 298, 1256, 79, 79, 1244, 1308, 1309, 1639, 1174, 1205, 353, 871, 1203, 1186, 1205, 5, 1186, 1203, 5, 383, 178, 12, 92, 181, 211, 300, 351, 379, 394, 452, 546, 578, 737, 1050, 1215, 1218, 1558, 5, 1203, 5, 1203, 1205, 65, 66, 1038, 1217, 924, 1245, 1246, 1247, 80, 80, 1244, 80, 1244, 80, 80, 1273, 1281, 90, 303, 422, 572, 5, 79, 1251, 1281, 79, 1254, 1227, 1592, 79, 80, 982, 80, 1219, 4, 1228, 325, 5, 1157, 1578, 1227, 4, 5, 59, 59, 59, 59, 59, 59, 1571, 24, 4, 80, 1586, 1120, 1228, 985, 59, 1595, 1595, 1595, 1595, 1228, 1228, 1157, 1603, 498, 80, 80, 1531, 1120, 1488, 80, 351, 191, 1303, 1168, 1220, 1222, 90, 90, 1315, 192, 303, 185, 1338, 941, 1372, 1128, 1155, 3, 1155, 1644, 1590, 1639, 5, 1295, 1338, 79, 292, 80, 80, 24, 80, 80, 80, 24, 49, 1048, 46, 88, 475, 1049, 1071, 1072, 94, 80, 94, 546, 615, 1056, 1059, 1045, 5, 5, 1418, 1337, 1336, 1102, 185, 185, 1371, 4, 4, 185, 4, 3, 1065, 1066, 185, 241, 1399, 80, 80, 24, 80, 80, 1428, 80, 1441, 1315, 80, 49, 620, 1429, 1429, 1308, 1244, 80, 24, 80, 79, 1311, 1211, 372, 1204, 80, 1211, 80, 80, 1204, 80, 79, 354, 1639, 200, 271, 272, 715, 1086, 1216, 1217, 90, 1639, 4, 5, 1216, 12, 90, 80, 1204, 24, 80, 1204, 1211, 1039, 1039, 185, 1273, 1245, 1245, 80, 1245, 80, 1245, 1273, 5, 451, 924, 451, 924, 925, 1274, 1273, 1121, 92, 1228, 4, 5, 1612, 1639, 1611, 860, 1275, 5, 5, 1275, 1275, 1275, 1227, 80, 175, 392, 640, 1576, 4, 184, 675, 882, 1614, 1614, 1614, 1614, 5, 4, 1228, 80, 1421, 79, 1315, 1231, 1303, 1315, 79, 79, 79, 451, 392, 1041, 1233, 83, 1154, 1154, 1308, 5, 1049, 289, 416, 80, 1072, 1049, 831, 556, 778, 1070, 1062, 1062, 94, 190, 1141, 80, 4, 4, 4, 178, 24, 1049, 1389, 1390, 1391, 1049, 1064, 1424, 80, 79, 79, 1267, 956, 361, 361, 80, 80, 369, 413, 452, 483, 564, 586, 626, 698, 919, 1002, 1011, 1226, 1312, 1313, 1314, 1316, 1556, 1309, 1312, 5, 1398, 1213, 1205, 1213, 1205, 1049, 1086, 5, 1213, 90, 303, 422, 572, 79, 1248, 1273, 1273, 1245, 1273, 1245, 1273, 1251, 1274, 5, 951, 5, 951, 5, 1254, 80, 79, 79, 59, 1228, 369, 4, 1303, 1049, 79, 1404, 79, 79, 1308, 79, 1243, 1639, 80, 1049, 79, 748, 1155, 80, 80, 80, 614, 688, 41, 1643, 1062, 325, 1366, 1063, 1066, 179, 214, 1392, 24, 369, 1393, 1308, 211, 1049, 1268, 578, 1270, 79, 281, 1269, 1312, 308, 744, 1228, 4, 1228, 1228, 1228, 79, 1228, 1314, 80, 578, 1310, 1211, 1211, 80, 80, 79, 79, 451, 79, 451, 79, 298, 1249, 1250, 1248, 1251, 1273, 1254, 1273, 1248, 924, 79, 1261, 924, 79, 1264, 1120, 5, 1110, 1038, 4, 4, 1157, 1315, 80, 1308, 1338, 1244, 1244, 80, 1244, 24, 80, 80, 1244, 392, 1154, 1312, 688, 1072, 1210, 1369, 1391, 825, 80, 80, 24, 80, 5, 79, 1257, 1258, 1261, 1264, 281, 1049, 1271, 1272, 1270, 1429, 4, 5, 5, 5, 5, 1244, 5, 5, 1213, 1213, 340, 366, 1178, 1244, 1049, 79, 1049, 79, 1049, 1429, 24, 80, 1251, 1254, 951, 924, 1262, 1263, 951, 924, 1265, 1266, 80, 24, 80, 79, 80, 80, 80, 1312, 80, 1242, 1243, 80, 1231, 237, 247, 1142, 1312, 1049, 924, 1259, 1260, 24, 80, 1257, 79, 80, 1176, 80, 80, 1244, 80, 1244, 80, 1270, 1250, 1261, 1429, 24, 80, 1264, 1429, 24, 80, 5, 1308, 1312, 308, 1315, 24, 80, 5, 5, 79, 1144, 1429, 24, 80, 1272, 1244, 12, 85, 351, 452, 578, 1177, 1218, 1558, 924, 1274, 924, 80, 924, 80, 924, 1274, 1257, 361, 1263, 361, 1266, 80, 1429, 1622, 1243, 269, 835, 1143, 1143, 15, 80, 1145, 1146, 1179, 325, 1147, 361, 924, 1260, 80, 12, 90, 4, 5, 90, 951, 951, 924, 951, 924, 951, 620, 49, 1312, 79, 24, 80, 1148, 1149, 1179, 1429, 280, 1172, 79, 1258, 1261, 951, 1264, 951, 1258, 956, 1267, 1244, 1146, 24, 59, 32, 745, 872, 1173, 1169, 1261, 1264, 1269, 80, 1149, 1337, 92, 1170, 1172, 213, 354, 1169, 187, 315, 325, 710, 1171, 1171, 12, 211, 376 }; #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 (1); \ goto yybackup; \ } \ else \ { \ yyerror (&yylloc, result, YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (YYID (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 (YYID (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 (YYID (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, &yylloc, YYLEX_PARAM) #else # define YYLEX yylex (&yylval, &yylloc) #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 (YYID (0)) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value, Location, result); \ YYFPRINTF (stderr, "\n"); \ } \ } while (YYID (0)) /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ /*ARGSUSED*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, ParseResult *result) #else static void yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, result) FILE *yyoutput; int yytype; YYSTYPE const * const yyvaluep; YYLTYPE const * const yylocationp; ParseResult *result; #endif { if (!yyvaluep) return; YYUSE (yylocationp); YYUSE (result); # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # else YYUSE (yyoutput); # endif switch (yytype) { default: break; } } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, ParseResult *result) #else static void yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, result) FILE *yyoutput; int yytype; YYSTYPE const * const yyvaluep; YYLTYPE const * const yylocationp; ParseResult *result; #endif { if (yytype < YYNTOKENS) YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); else YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); YY_LOCATION_PRINT (yyoutput, *yylocationp); YYFPRINTF (yyoutput, ": "); yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, result); YYFPRINTF (yyoutput, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) #else static void yy_stack_print (yybottom, yytop) yytype_int16 *yybottom; yytype_int16 *yytop; #endif { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) { int yybot = *yybottom; YYFPRINTF (stderr, " %d", yybot); } YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (YYID (0)) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, ParseResult *result) #else static void yy_reduce_print (yyvsp, yylsp, yyrule, result) YYSTYPE *yyvsp; YYLTYPE *yylsp; int yyrule; ParseResult *result; #endif { int yynrhs = yyr2[yyrule]; int yyi; unsigned long int yylno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]) , &(yylsp[(yyi + 1) - (yynrhs)]) , result); YYFPRINTF (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyvsp, yylsp, Rule, result); \ } while (YYID (0)) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static YYSIZE_T yystrlen (const char *yystr) #else static YYSIZE_T yystrlen (yystr) const char *yystr; #endif { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; } # endif # endif # ifndef yystpcpy # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static char * yystpcpy (char *yydest, const char *yysrc) #else static char * yystpcpy (yydest, yysrc) char *yydest; const char *yysrc; #endif { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif /* Copy into YYRESULT an error message about the unexpected token YYCHAR while in state YYSTATE. Return the number of bytes copied, including the terminating null byte. If YYRESULT is null, do not copy anything; just return the number of bytes that would be copied. As a special case, return 0 if an ordinary "syntax error" message will do. Return YYSIZE_MAXIMUM if overflow occurs during size calculation. */ static YYSIZE_T yysyntax_error (char *yyresult, int yystate, int yychar) { int yyn = yypact[yystate]; if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) return 0; else { int yytype = YYTRANSLATE (yychar); YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); YYSIZE_T yysize = yysize0; YYSIZE_T yysize1; int yysize_overflow = 0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; int yyx; # if 0 /* This is so xgettext sees the translatable formats that are constructed on the fly. */ YY_("syntax error, unexpected %s"); YY_("syntax error, unexpected %s, expecting %s"); YY_("syntax error, unexpected %s, expecting %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); # endif char *yyfmt; char const *yyf; static char const yyunexpected[] = "syntax error, unexpected %s"; static char const yyexpecting[] = ", expecting %s"; static char const yyor[] = " or %s"; char yyformat[sizeof yyunexpected + sizeof yyexpecting - 1 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) * (sizeof yyor - 1))]; char const *yyprefix = yyexpecting; /* 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 + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yycount = 1; yyarg[0] = yytname[yytype]; yyfmt = yystpcpy (yyformat, yyunexpected); for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; yyformat[sizeof yyunexpected - 1] = '\0'; break; } yyarg[yycount++] = yytname[yyx]; yysize1 = yysize + yytnamerr (0, yytname[yyx]); yysize_overflow |= (yysize1 < yysize); yysize = yysize1; yyfmt = yystpcpy (yyfmt, yyprefix); yyprefix = yyor; } yyf = YY_(yyformat); yysize1 = yysize + yystrlen (yyf); yysize_overflow |= (yysize1 < yysize); yysize = yysize1; if (yysize_overflow) return YYSIZE_MAXIMUM; if (yyresult) { /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ char *yyp = yyresult; int yyi = 0; while ((*yyp = *yyf) != '\0') { if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyf += 2; } else { yyp++; yyf++; } } } return yysize; } } #endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ /*ARGSUSED*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, ParseResult *result) #else static void yydestruct (yymsg, yytype, yyvaluep, yylocationp, result) const char *yymsg; int yytype; YYSTYPE *yyvaluep; YYLTYPE *yylocationp; ParseResult *result; #endif { YYUSE (yyvaluep); YYUSE (yylocationp); YYUSE (result); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); switch (yytype) { case 3: /* "NAME_OB" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27692 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 4: /* "STRING_VALUE" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27701 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 5: /* "INTNUM" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27710 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 6: /* "DATE_VALUE" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27719 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 7: /* "TIMESTAMP_VALUE" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27728 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 8: /* "HINT_VALUE" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27737 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 9: /* "BOOL_VALUE" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27746 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 10: /* "APPROXNUM" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27755 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 11: /* "DECIMAL_VAL" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27764 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 12: /* "NULLX" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27773 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 13: /* "QUESTIONMARK" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27782 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 14: /* "SYSTEM_VARIABLE" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27791 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 15: /* "USER_VARIABLE" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27800 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 16: /* "CLIENT_VERSION" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27809 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 17: /* "MYSQL_DRIVER" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27818 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 18: /* "HEX_STRING_VALUE" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27827 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 19: /* "OUTLINE_DEFAULT_TOKEN" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27836 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1028: /* "sql_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27845 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1029: /* "stmt_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27854 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1030: /* "opt_end_p" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27863 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1031: /* "stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27872 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1032: /* "expr_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27881 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1033: /* "expr_as_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27890 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1034: /* "expr_with_opt_alias" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27899 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1035: /* "column_ref" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27908 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1036: /* "complex_string_literal" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27917 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1037: /* "charset_introducer" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27926 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1038: /* "literal" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27935 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1039: /* "number_literal" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27944 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1040: /* "expr_const" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27953 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1041: /* "conf_const" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27962 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1043: /* "bool_pri" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27971 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1044: /* "predicate" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27980 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1045: /* "string_val_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27989 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1046: /* "bit_expr" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 27998 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1047: /* "simple_expr" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28007 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1049: /* "expr" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28016 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1050: /* "not" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28025 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1051: /* "not2" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28034 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1052: /* "sub_query_flag" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28043 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1053: /* "in_expr" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28052 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1054: /* "case_expr" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28061 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1055: /* "window_function" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28070 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1056: /* "first_or_last" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28079 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1057: /* "opt_from_first_or_last" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28088 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1058: /* "respect_or_ignore" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28097 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1059: /* "opt_respect_or_ignore_nulls" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28106 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1060: /* "win_fun_first_last_params" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28115 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1061: /* "win_fun_lead_lag_params" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28124 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1062: /* "new_generalized_window_clause" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28133 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1063: /* "new_generalized_window_clause_with_blanket" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28142 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1064: /* "opt_named_windows" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28151 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1065: /* "named_windows" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28160 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1066: /* "named_window" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28169 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1067: /* "generalized_window_clause" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28178 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1068: /* "opt_partition_by" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28187 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1069: /* "win_rows_or_range" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28196 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1070: /* "win_preceding_or_following" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28205 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1071: /* "win_interval" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28214 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1072: /* "win_bounding" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28223 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1073: /* "win_window" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28232 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1074: /* "opt_win_window" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28241 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1075: /* "case_arg" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28250 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1076: /* "when_clause_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28259 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1077: /* "when_clause" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28268 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1078: /* "case_default" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28277 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1079: /* "opt_all" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28286 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1080: /* "func_expr" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28295 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1081: /* "sys_interval_func" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28304 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1082: /* "utc_timestamp_func" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28313 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1083: /* "utc_time_func" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28322 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1084: /* "utc_date_func" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28331 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1085: /* "sysdate_func" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28340 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1086: /* "cur_timestamp_func" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28349 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1087: /* "now_synonyms_func" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28358 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1088: /* "cur_time_func" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28367 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1089: /* "cur_date_func" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28376 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1091: /* "substr_or_substring" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28385 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1092: /* "substr_params" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28394 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1093: /* "date_params" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28403 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1094: /* "timestamp_params" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28412 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1095: /* "opt_expr_as_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28421 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1096: /* "opt_distinct" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28430 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1097: /* "opt_distinct_or_all" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28439 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1098: /* "opt_separator" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28448 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1099: /* "delete_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28457 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1100: /* "multi_delete_table" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28466 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1101: /* "update_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28475 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1102: /* "update_asgn_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28484 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1103: /* "update_asgn_factor" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28493 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1104: /* "create_resource_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28502 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1105: /* "opt_resource_unit_option_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28511 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1106: /* "resource_unit_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28520 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1107: /* "opt_create_resource_pool_option_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28529 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1108: /* "create_resource_pool_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28538 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1109: /* "alter_resource_pool_option_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28547 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1110: /* "unit_id_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28556 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1111: /* "opt_shrink_unit_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28565 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1112: /* "alter_resource_pool_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28574 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1113: /* "alter_resource_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28583 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1114: /* "drop_resource_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28592 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1115: /* "create_tenant_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28601 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1116: /* "opt_tenant_option_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28610 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1117: /* "tenant_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28619 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1118: /* "opt_set_sys_var" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28628 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1119: /* "opt_global_sys_vars_set" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28637 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1120: /* "zone_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28646 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1121: /* "resource_pool_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28655 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1122: /* "alter_tenant_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28664 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1123: /* "drop_tenant_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28673 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1124: /* "create_restore_point_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28682 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1125: /* "drop_restore_point_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28691 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1126: /* "create_database_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28700 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1127: /* "database_key" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28709 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1128: /* "database_factor" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28718 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1129: /* "opt_database_option_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28727 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1130: /* "database_option_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28736 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1131: /* "charset_key" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28745 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1132: /* "database_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28754 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1133: /* "read_only_or_write" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28763 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1134: /* "drop_database_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28772 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1135: /* "alter_database_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28781 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1136: /* "opt_database_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28790 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1137: /* "load_data_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28799 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1138: /* "load_data_with_opt_hint" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28808 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1139: /* "opt_load_local" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28817 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1140: /* "opt_duplicate" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28826 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1141: /* "opt_load_charset" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28835 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1142: /* "opt_load_ignore_rows" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28844 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1143: /* "lines_or_rows" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28853 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1144: /* "opt_field_or_var_spec" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28862 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1145: /* "field_or_vars_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28871 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1146: /* "field_or_vars" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28880 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1147: /* "opt_load_set_spec" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28889 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1148: /* "load_set_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28898 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1149: /* "load_set_element" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28907 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1150: /* "use_database_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28916 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1151: /* "create_synonym_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28925 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1152: /* "opt_public" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28934 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1153: /* "synonym_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28943 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1154: /* "opt_dlink" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28952 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1155: /* "synonym_object" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28961 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1156: /* "drop_synonym_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28970 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1157: /* "opt_force" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28979 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1158: /* "opt_force_purge" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28988 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1159: /* "temporary_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 28997 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1160: /* "create_table_like_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29006 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1161: /* "create_table_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29015 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1162: /* "opt_agg" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29024 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1163: /* "ret_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29033 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1164: /* "create_function_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29042 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1165: /* "drop_function_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29051 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1166: /* "opt_if_not_exists" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29060 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1167: /* "table_element_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29069 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1168: /* "table_element" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29078 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1169: /* "opt_reference_option_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29087 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1170: /* "reference_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29096 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1172: /* "opt_match_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29105 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1174: /* "column_definition" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29114 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1175: /* "opt_generated_keyname" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29123 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1176: /* "opt_generated_column_attribute_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29132 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1177: /* "generated_column_attribute" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29141 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1178: /* "opt_storage_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29150 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1179: /* "column_definition_ref" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29159 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1180: /* "column_definition_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29168 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1181: /* "cast_data_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29177 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1184: /* "get_format_unit" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29186 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1185: /* "data_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29195 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1186: /* "string_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29204 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1187: /* "text_string" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29213 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1196: /* "opt_float_precision" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29222 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1197: /* "opt_number_precision" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29231 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1205: /* "opt_binary" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29240 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1206: /* "collation_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29249 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1207: /* "trans_param_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29258 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1208: /* "trans_param_value" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29267 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1209: /* "charset_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29276 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1210: /* "charset_name_or_default" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29285 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1211: /* "opt_charset" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29294 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1212: /* "collation" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29303 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1213: /* "opt_collation" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29312 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1214: /* "opt_column_attribute_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29321 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1215: /* "column_attribute" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29330 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1216: /* "now_or_signed_literal" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29339 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1217: /* "signed_literal" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29348 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1218: /* "opt_primary" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29357 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1219: /* "opt_comma" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29366 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1220: /* "opt_table_option_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29375 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1221: /* "table_option_list_space_seperated" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29384 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1222: /* "table_option_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29393 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1223: /* "primary_zone_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29402 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1224: /* "locality_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29411 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1225: /* "table_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29420 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1226: /* "parallel_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29429 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1227: /* "relation_name_or_string" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29438 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1228: /* "opt_equal_mark" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29447 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1229: /* "opt_default_mark" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29456 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1230: /* "partition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29465 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1231: /* "opt_partition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29474 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1232: /* "auto_partition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29483 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1233: /* "partition_size" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29492 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1234: /* "auto_partition_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29501 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1235: /* "auto_range_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29510 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1236: /* "hash_partition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29519 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1237: /* "list_partition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29528 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1238: /* "key_partition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29537 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1239: /* "range_partition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29546 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1240: /* "opt_column_partition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29555 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1241: /* "column_partition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29564 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1242: /* "aux_column_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29573 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1243: /* "vertical_column_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29582 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1244: /* "column_name_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29591 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1245: /* "subpartition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29600 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1246: /* "subpartition_template_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29609 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1247: /* "subpartition_individual_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29618 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1248: /* "opt_hash_partition_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29627 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1249: /* "hash_partition_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29636 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1250: /* "hash_partition_element" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29645 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1251: /* "opt_range_partition_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29654 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1252: /* "range_partition_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29663 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1253: /* "range_partition_element" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29672 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1254: /* "opt_list_partition_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29681 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1255: /* "list_partition_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29690 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1256: /* "list_partition_element" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29699 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1257: /* "opt_subpartition_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29708 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1258: /* "opt_hash_subpartition_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29717 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1259: /* "hash_subpartition_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29726 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1260: /* "hash_subpartition_element" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29735 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1261: /* "opt_range_subpartition_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29744 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1262: /* "range_subpartition_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29753 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1263: /* "range_subpartition_element" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29762 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1264: /* "opt_list_subpartition_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29771 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1265: /* "list_subpartition_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29780 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1266: /* "list_subpartition_element" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29789 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1267: /* "list_partition_expr" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29798 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1268: /* "list_expr" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29807 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1269: /* "range_partition_expr" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29816 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1270: /* "opt_part_id" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29825 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1271: /* "range_expr_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29834 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1272: /* "range_expr" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29843 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1273: /* "opt_partitions" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29852 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1274: /* "opt_subpartitions" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29861 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1275: /* "int_or_decimal" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29870 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1276: /* "opt_tg_partition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29879 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1277: /* "tg_hash_partition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29888 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1278: /* "tg_key_partition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29897 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1279: /* "tg_range_partition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29906 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1280: /* "tg_list_partition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29915 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1281: /* "tg_subpartition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29924 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1282: /* "row_format_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29933 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1283: /* "create_tablegroup_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29942 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1284: /* "drop_tablegroup_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29951 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1285: /* "alter_tablegroup_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29960 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1286: /* "opt_tablegroup_option_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29969 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1287: /* "tablegroup_option_list_space_seperated" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29978 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1288: /* "tablegroup_option_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29987 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1289: /* "tablegroup_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29996 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1290: /* "alter_tablegroup_actions" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30005 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1291: /* "alter_tablegroup_action" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30014 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1292: /* "default_tablegroup" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30023 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1293: /* "opt_table" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30032 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1294: /* "create_view_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30041 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1295: /* "view_select_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30050 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1296: /* "opt_replace" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30059 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1297: /* "opt_materialized" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30068 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1298: /* "view_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30077 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1299: /* "opt_column_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30086 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1300: /* "opt_table_id" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30095 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1301: /* "create_index_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30104 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1303: /* "opt_index_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30113 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1304: /* "index_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30122 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1305: /* "opt_constraint" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30131 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1306: /* "opt_constraint_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30140 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1307: /* "constraint_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30149 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1308: /* "sort_column_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30158 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1309: /* "sort_column_key" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30167 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1310: /* "opt_column_id" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30176 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1311: /* "opt_sort_column_key_length" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30185 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1312: /* "opt_index_option_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30194 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1313: /* "opt_index_options" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30203 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1314: /* "index_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30212 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1315: /* "opt_index_using_algorithm" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30221 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1316: /* "index_using_algorithm" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30230 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1317: /* "opt_materialized_or_temporary" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30239 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1318: /* "drop_table_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30248 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1319: /* "table_or_tables" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30257 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1320: /* "drop_view_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30266 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1321: /* "opt_if_exists" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30275 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1322: /* "table_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30284 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1323: /* "drop_index_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30293 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1324: /* "insert_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30302 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1325: /* "single_table_insert" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30311 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1326: /* "values_clause" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30320 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1327: /* "value_or_values" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30329 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1328: /* "opt_into" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30338 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1329: /* "opt_ignore" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30347 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1330: /* "opt_on_duplicate_key_clause" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30356 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1331: /* "opt_when" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30365 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1332: /* "replace_with_opt_hint" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30374 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1333: /* "insert_with_opt_hint" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30383 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1334: /* "column_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30392 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1335: /* "insert_vals_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30401 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1336: /* "insert_vals" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30410 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1337: /* "expr_or_default" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30419 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1338: /* "select_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30428 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1339: /* "select_into" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30437 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1340: /* "select_with_parens" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30446 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1341: /* "select_no_parens" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30455 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1342: /* "no_table_select" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30464 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1343: /* "select_clause" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30473 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1344: /* "select_clause_set_with_order_and_limit" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30482 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1345: /* "select_clause_set" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30491 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1346: /* "select_clause_set_right" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30500 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1347: /* "select_clause_set_left" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30509 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1348: /* "no_table_select_with_order_and_limit" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30518 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1349: /* "simple_select_with_order_and_limit" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30527 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1350: /* "select_with_parens_with_order_and_limit" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30536 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1351: /* "select_with_opt_hint" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30545 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1352: /* "update_with_opt_hint" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30554 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1353: /* "delete_with_opt_hint" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30563 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1354: /* "simple_select" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30572 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1357: /* "set_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30581 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1358: /* "set_expression_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30590 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1359: /* "opt_where" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30599 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1360: /* "opt_hint_value" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30608 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1361: /* "limit_clause" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30617 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1362: /* "into_clause" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30626 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1363: /* "into_opt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30635 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1364: /* "into_var_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30644 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1365: /* "into_var" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30653 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1366: /* "field_opt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30662 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1367: /* "field_term_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30671 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1368: /* "field_term" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30680 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1369: /* "line_opt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30689 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1370: /* "line_term_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30698 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1371: /* "line_term" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30707 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1372: /* "hint_list_with_end" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30716 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1373: /* "opt_hint_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30725 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1374: /* "hint_options" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30734 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1375: /* "name_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30743 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1376: /* "hint_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30752 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1377: /* "opt_qb_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30761 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1381: /* "distribute_method" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30770 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1382: /* "opt_distribute_method" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30779 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1383: /* "limit_expr" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30788 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1384: /* "opt_limit_clause" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30797 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1385: /* "opt_for_update" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30806 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1386: /* "opt_for_update_wait" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30815 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1387: /* "parameterized_trim" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30824 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1388: /* "opt_groupby" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30833 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1389: /* "groupby_clause" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30842 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1390: /* "sort_list_for_group_by" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30851 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1391: /* "sort_key_for_group_by" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30860 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1392: /* "opt_asc_desc_for_group_by" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30869 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1393: /* "opt_rollup" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30878 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1394: /* "opt_order_by" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30887 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1395: /* "order_by" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30896 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1396: /* "sort_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30905 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1397: /* "sort_key" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30914 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1398: /* "opt_asc_desc" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30923 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1399: /* "opt_having" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30932 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1400: /* "opt_query_expression_option_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30941 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1401: /* "query_expression_option_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30950 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1402: /* "query_expression_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30959 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1403: /* "projection" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30968 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1404: /* "opt_as" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30977 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1405: /* "select_expr_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30986 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1406: /* "from_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 30995 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1407: /* "table_references" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31004 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1408: /* "table_reference" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31013 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1409: /* "table_factor" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31022 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1410: /* "tbl_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31031 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1411: /* "dml_table_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31040 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1412: /* "seed" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31049 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1413: /* "sample_percent" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31058 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1414: /* "opt_sample_scope" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31067 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1415: /* "sample_clause" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31076 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1416: /* "opt_block" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31085 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1417: /* "table_subquery" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31094 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1418: /* "opt_use_partition" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31103 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1419: /* "use_partition" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31112 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1420: /* "index_hint_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31121 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1421: /* "opt_key_or_index" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31130 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1422: /* "key_or_index" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31139 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1423: /* "index_hint_scope" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31148 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1424: /* "index_element" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31157 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1425: /* "index_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31166 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1426: /* "opt_index_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31175 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1427: /* "index_hint_definition" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31184 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1428: /* "index_hint_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31193 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1429: /* "relation_factor" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31202 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1430: /* "relation_with_star_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31211 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1431: /* "relation_factor_with_star" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31220 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1432: /* "opt_with_star" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31229 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1433: /* "normal_relation_factor" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31238 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1434: /* "dot_relation_factor" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31247 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1435: /* "relation_factor_in_hint" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31256 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1436: /* "qb_name_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31265 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1437: /* "relation_factor_in_hint_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31274 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1439: /* "relation_factor_in_pq_hint" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31283 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1440: /* "relation_factor_in_leading_hint" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31292 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1441: /* "relation_factor_in_leading_hint_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31301 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1442: /* "relation_factor_in_leading_hint_list_entry" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31310 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1443: /* "relation_factor_in_use_join_hint_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31319 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1444: /* "tracing_num_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31328 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1445: /* "join_condition" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31337 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1446: /* "joined_table" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31346 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1447: /* "opt_full_table_factor" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31355 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1448: /* "natural_join_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31364 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1449: /* "inner_join_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31373 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1450: /* "opt_inner" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31382 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1451: /* "outer_join_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31391 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1452: /* "except_full_outer_join_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31400 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1453: /* "opt_outer" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31409 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1454: /* "create_outline_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31418 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1455: /* "alter_outline_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31427 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1456: /* "drop_outline_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31436 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1457: /* "opt_outline_target" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31445 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1458: /* "explain_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31454 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1459: /* "explain_or_desc" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31463 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1460: /* "explainable_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31472 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1461: /* "format_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31481 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1462: /* "show_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31490 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1463: /* "databases_or_schemas" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31499 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1464: /* "opt_limit" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31508 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1465: /* "opt_for_grant_user" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31517 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1466: /* "opt_status" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31526 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1467: /* "opt_storage" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31535 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1469: /* "columns_or_fields" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31544 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1470: /* "database_or_schema" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31553 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1471: /* "index_or_indexes_or_keys" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31562 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1472: /* "from_or_in" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31571 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1473: /* "opt_from_or_in_database_clause" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31580 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1474: /* "opt_show_condition" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31589 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1475: /* "opt_desc_column_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31598 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1476: /* "create_user_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31607 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1477: /* "user_specification_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31616 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1478: /* "user_specification" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31625 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1479: /* "require_specification" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31634 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1480: /* "opt_resource_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31643 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1481: /* "resource_option_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31652 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1482: /* "resource_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31661 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1483: /* "tls_option_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31670 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1484: /* "tls_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31679 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1485: /* "user" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31688 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1486: /* "opt_host_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31697 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1487: /* "user_with_host_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31706 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1488: /* "password" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31715 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1489: /* "drop_user_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31724 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1490: /* "user_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31733 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1491: /* "set_password_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31742 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1492: /* "opt_for_user" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31751 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1493: /* "rename_user_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31760 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1494: /* "rename_info" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31769 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1495: /* "rename_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31778 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1496: /* "lock_user_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31787 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1497: /* "lock_spec_mysql57" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31796 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1498: /* "lock_tables_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31805 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1499: /* "unlock_tables_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31814 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1500: /* "lock_table_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31823 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1501: /* "lock_table" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31832 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1502: /* "lock_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31841 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1503: /* "opt_local" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31850 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1504: /* "opt_work" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31859 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1506: /* "begin_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31868 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1507: /* "xa_begin_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31877 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1508: /* "xa_end_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31886 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1509: /* "xa_prepare_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31895 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1510: /* "xa_commit_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31904 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1511: /* "xa_rollback_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31913 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1512: /* "commit_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31922 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1513: /* "rollback_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31931 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1514: /* "kill_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31940 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1515: /* "grant_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31949 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1516: /* "grant_privileges" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31958 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1517: /* "priv_type_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31967 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1518: /* "priv_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31976 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1519: /* "opt_privilege" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31985 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1520: /* "priv_level" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 31994 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1521: /* "grant_options" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32003 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1522: /* "revoke_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32012 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1523: /* "prepare_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32021 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1524: /* "stmt_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32030 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1525: /* "preparable_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32039 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1526: /* "variable_set_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32048 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1527: /* "sys_var_and_val_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32057 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1528: /* "var_and_val_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32066 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1529: /* "set_expr_or_default" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32075 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1530: /* "var_and_val" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32084 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1531: /* "sys_var_and_val" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32093 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1533: /* "to_or_eq" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32102 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1534: /* "execute_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32111 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1535: /* "opt_using_args" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32120 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1536: /* "argument_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32129 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1537: /* "argument" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32138 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1538: /* "deallocate_prepare_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32147 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1539: /* "deallocate_or_drop" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32156 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1540: /* "truncate_table_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32165 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1541: /* "rename_table_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32174 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1542: /* "rename_table_actions" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32183 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1543: /* "rename_table_action" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32192 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1544: /* "alter_table_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32201 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1545: /* "alter_table_actions" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32210 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1546: /* "alter_table_action" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32219 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1547: /* "alter_constraint_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32228 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1548: /* "alter_partition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32237 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1549: /* "opt_partition_range_or_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32246 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1550: /* "alter_tg_partition_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32255 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1551: /* "drop_partition_name_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32264 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1552: /* "modify_partition_info" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32273 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1553: /* "modify_tg_partition_info" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32282 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1554: /* "alter_index_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32291 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1555: /* "alter_foreign_key_action" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32300 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1556: /* "visibility_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32309 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1557: /* "alter_column_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32318 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1558: /* "opt_position_column" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32327 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1559: /* "alter_tablegroup_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32336 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1560: /* "opt_column" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32345 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1561: /* "opt_to" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32354 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1562: /* "opt_set" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32363 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1564: /* "alter_column_behavior" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32372 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1565: /* "purge_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32381 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1566: /* "optimize_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32390 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1567: /* "dump_memory_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32399 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1568: /* "alter_system_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32408 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1569: /* "opt_sql_throttle_for_priority" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32417 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1570: /* "opt_sql_throttle_using_cond" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32426 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1571: /* "sql_throttle_one_or_more_metrics" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32435 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1572: /* "sql_throttle_metric" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32444 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1573: /* "opt_disk_alias" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32453 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1574: /* "change_tenant_name_or_tenant_id" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32462 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1575: /* "cache_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32471 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1576: /* "balance_task_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32480 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1577: /* "opt_balance_task_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32489 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1578: /* "opt_tenant_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32498 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1579: /* "tenant_list_tuple" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32507 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1580: /* "tenant_name_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32516 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1581: /* "flush_scope" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32525 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1582: /* "opt_zone_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32534 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1583: /* "server_info_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32543 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1584: /* "server_info" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32552 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1585: /* "server_action" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32561 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1586: /* "server_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32570 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1587: /* "opt_server_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32579 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1588: /* "opt_ignore_server_list" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32588 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1589: /* "zone_action" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32597 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1590: /* "ip_port" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32606 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1591: /* "zone_desc" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32615 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1592: /* "opt_zone_desc" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32624 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1593: /* "opt_create_timestamp" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32633 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1594: /* "server_or_zone" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32642 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1595: /* "opt_server_or_zone" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32651 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1596: /* "add_or_alter_zone_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32660 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1597: /* "add_or_alter_zone_options" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32669 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1598: /* "alter_or_change_or_modify" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32678 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1599: /* "partition_id_desc" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32687 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1600: /* "opt_tenant_list_or_partition_id_desc" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32696 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1601: /* "partition_id_or_server_or_zone" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32705 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1602: /* "migrate_action" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32714 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1603: /* "change_actions" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32723 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1604: /* "change_action" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32732 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1605: /* "replica_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32741 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1606: /* "memstore_percent" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32750 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1607: /* "suspend_or_resume" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32759 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1608: /* "baseline_id_expr" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32768 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1609: /* "opt_baseline_id" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32777 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1610: /* "sql_id_expr" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32786 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1611: /* "opt_sql_id" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32795 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1612: /* "baseline_asgn_factor" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32804 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1613: /* "tenant_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32813 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1614: /* "opt_tenant_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32822 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1615: /* "cache_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32831 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1616: /* "opt_cache_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32840 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1617: /* "file_id" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32849 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1618: /* "opt_file_id" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32858 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1619: /* "cancel_task_type" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32867 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1620: /* "alter_system_set_parameter_actions" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32876 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1621: /* "alter_system_set_parameter_action" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32885 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1622: /* "opt_comment" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32894 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1623: /* "alter_system_settp_actions" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32903 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1624: /* "settp_option" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32912 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1627: /* "partition_role" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32921 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1628: /* "upgrade_action" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32930 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1629: /* "set_names_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32939 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1630: /* "set_charset_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32948 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1631: /* "set_transaction_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32957 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1632: /* "transaction_characteristics" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32966 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1633: /* "transaction_access_mode" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32975 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1634: /* "isolation_level" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32984 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1635: /* "create_savepoint_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 32993 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1636: /* "rollback_savepoint_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 33002 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1637: /* "release_savepoint_stmt" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 33011 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1638: /* "var_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 33020 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1639: /* "column_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 33029 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1640: /* "relation_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 33038 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1641: /* "function_name" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 33047 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1642: /* "column_label" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 33056 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1643: /* "date_unit" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 33065 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; 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 (ParseResult *result); #else int yyparse (); #endif #endif /* ! YYPARSE_PARAM */ /*-------------------------. | yyparse or yypush_parse. | `-------------------------*/ #ifdef YYPARSE_PARAM #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int yyparse (void *YYPARSE_PARAM) #else int yyparse (YYPARSE_PARAM) void *YYPARSE_PARAM; #endif #else /* ! YYPARSE_PARAM */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int yyparse (ParseResult *result) #else int yyparse (result) ParseResult *result; #endif #endif { /* The lookahead symbol. */ int yychar; /* The semantic value of the lookahead symbol. */ YYSTYPE yylval; /* Location data for the lookahead symbol. */ YYLTYPE yylloc; /* Number of syntax errors so far. */ int yynerrs; int yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* The stacks and their tools: `yyss': related to states. `yyvs': related to semantic values. `yyls': related to locations. Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ yytype_int16 yyssa[YYINITDEPTH]; yytype_int16 *yyss; yytype_int16 *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs; YYSTYPE *yyvsp; /* The location stack. */ YYLTYPE yylsa[YYINITDEPTH]; YYLTYPE *yyls; YYLTYPE *yylsp; /* The locations where the error started and ended. */ YYLTYPE yyerror_range[2]; YYSIZE_T yystacksize; int yyn; int yyresult; /* Lookahead token as an internal (translated) token number. */ int yytoken; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; YYLTYPE yyloc; #if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; yytoken = 0; yyss = yyssa; yyvs = yyvsa; yyls = yylsa; yystacksize = YYINITDEPTH; 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; yylsp = yyls; #if YYLTYPE_IS_TRIVIAL /* Initialize the default location before parsing starts. */ yylloc.first_line = yylloc.last_line = 1; yylloc.first_column = yylloc.last_column = 1; #endif goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; YYLTYPE *yyls1 = yyls; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yyls1, yysize * sizeof (*yylsp), &yystacksize); yyls = yyls1; yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); YYSTACK_RELOCATE (yyls_alloc, yyls); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; yylsp = yyls + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); if (yystate == YYFINAL) YYACCEPT; goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } 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; } /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token. */ yychar = YYEMPTY; yystate = yyn; *++yyvsp = yylval; *++yylsp = yylloc; goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; /* Default location. */ YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); YY_REDUCE_PRINT (yyn); switch (yyn) { case 2: /* Line 1455 of yacc.c */ #line 434 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_STMT_LIST, (yyvsp[(1) - (1)].node)); result->result_tree_ = (yyval.node); YYACCEPT; ;} break; case 3: /* Line 1455 of yacc.c */ #line 443 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_EMPTY_QUERY); (yyval.node)->value_ = result->has_encount_comment_; ;} break; case 4: /* Line 1455 of yacc.c */ #line 448 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_EMPTY_QUERY); (yyval.node)->value_ = result->has_encount_comment_; ;} break; case 5: /* Line 1455 of yacc.c */ #line 453 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (NULL != (yyvsp[(1) - (2)].node)) ? (yyvsp[(1) - (2)].node) : NULL; ;} break; case 6: /* Line 1455 of yacc.c */ #line 457 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(3) - (3)].node)); (yyval.node) = (NULL != (yyvsp[(1) - (3)].node)) ? (yyvsp[(1) - (3)].node) : NULL; ;} break; case 7: /* Line 1455 of yacc.c */ #line 464 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 8: /* Line 1455 of yacc.c */ #line 465 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 9: /* Line 1455 of yacc.c */ #line 470 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); question_mark_issue((yyval.node), result); ;} break; case 10: /* Line 1455 of yacc.c */ #line 471 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); question_mark_issue((yyval.node), result); ;} break; case 11: /* Line 1455 of yacc.c */ #line 472 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 12: /* Line 1455 of yacc.c */ #line 473 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 13: /* Line 1455 of yacc.c */ #line 474 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 14: /* Line 1455 of yacc.c */ #line 475 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 15: /* Line 1455 of yacc.c */ #line 476 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 16: /* Line 1455 of yacc.c */ #line 477 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 17: /* Line 1455 of yacc.c */ #line 478 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 18: /* Line 1455 of yacc.c */ #line 479 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 19: /* Line 1455 of yacc.c */ #line 480 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); question_mark_issue((yyval.node), result); ;} break; case 20: /* Line 1455 of yacc.c */ #line 481 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); question_mark_issue((yyval.node), result); ;} break; case 21: /* Line 1455 of yacc.c */ #line 482 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 22: /* Line 1455 of yacc.c */ #line 483 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 23: /* Line 1455 of yacc.c */ #line 484 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); question_mark_issue((yyval.node), result); ;} break; case 24: /* Line 1455 of yacc.c */ #line 485 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); question_mark_issue((yyval.node), result); ;} break; case 25: /* Line 1455 of yacc.c */ #line 486 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); question_mark_issue((yyval.node), result); ;} break; case 26: /* Line 1455 of yacc.c */ #line 487 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 27: /* Line 1455 of yacc.c */ #line 488 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 28: /* Line 1455 of yacc.c */ #line 489 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); question_mark_issue((yyval.node), result); ;} break; case 29: /* Line 1455 of yacc.c */ #line 490 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); question_mark_issue((yyval.node), result); ;} break; case 30: /* Line 1455 of yacc.c */ #line 491 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 31: /* Line 1455 of yacc.c */ #line 492 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 32: /* Line 1455 of yacc.c */ #line 493 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 33: /* Line 1455 of yacc.c */ #line 494 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 34: /* Line 1455 of yacc.c */ #line 495 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 35: /* Line 1455 of yacc.c */ #line 496 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 36: /* Line 1455 of yacc.c */ #line 497 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 37: /* Line 1455 of yacc.c */ #line 498 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 38: /* Line 1455 of yacc.c */ #line 499 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 39: /* Line 1455 of yacc.c */ #line 500 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 40: /* Line 1455 of yacc.c */ #line 501 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 41: /* Line 1455 of yacc.c */ #line 502 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 42: /* Line 1455 of yacc.c */ #line 503 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 43: /* Line 1455 of yacc.c */ #line 504 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 44: /* Line 1455 of yacc.c */ #line 505 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 45: /* Line 1455 of yacc.c */ #line 506 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 46: /* Line 1455 of yacc.c */ #line 507 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 47: /* Line 1455 of yacc.c */ #line 508 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 48: /* Line 1455 of yacc.c */ #line 509 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 49: /* Line 1455 of yacc.c */ #line 510 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 50: /* Line 1455 of yacc.c */ #line 511 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 51: /* Line 1455 of yacc.c */ #line 512 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 52: /* Line 1455 of yacc.c */ #line 513 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 53: /* Line 1455 of yacc.c */ #line 514 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 54: /* Line 1455 of yacc.c */ #line 515 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 55: /* Line 1455 of yacc.c */ #line 516 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 56: /* Line 1455 of yacc.c */ #line 517 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 57: /* Line 1455 of yacc.c */ #line 518 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 58: /* Line 1455 of yacc.c */ #line 519 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 59: /* Line 1455 of yacc.c */ #line 520 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 60: /* Line 1455 of yacc.c */ #line 521 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 61: /* Line 1455 of yacc.c */ #line 522 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 62: /* Line 1455 of yacc.c */ #line 523 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 63: /* Line 1455 of yacc.c */ #line 524 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 64: /* Line 1455 of yacc.c */ #line 525 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 65: /* Line 1455 of yacc.c */ #line 526 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 66: /* Line 1455 of yacc.c */ #line 527 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 67: /* Line 1455 of yacc.c */ #line 528 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 68: /* Line 1455 of yacc.c */ #line 529 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 69: /* Line 1455 of yacc.c */ #line 531 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); (yyval.node)->value_ = 1; ;} break; case 70: /* Line 1455 of yacc.c */ #line 533 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); (yyval.node)->value_ = 1; ;} break; case 71: /* Line 1455 of yacc.c */ #line 534 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 72: /* Line 1455 of yacc.c */ #line 535 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 73: /* Line 1455 of yacc.c */ #line 536 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 74: /* Line 1455 of yacc.c */ #line 537 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 75: /* Line 1455 of yacc.c */ #line 538 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 76: /* Line 1455 of yacc.c */ #line 539 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 77: /* Line 1455 of yacc.c */ #line 540 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 78: /* Line 1455 of yacc.c */ #line 541 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 79: /* Line 1455 of yacc.c */ #line 542 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_question_mark((yyval.node), result); ;} break; case 80: /* Line 1455 of yacc.c */ #line 553 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); /* every mysql's item(same as ob's expr) has its own name */ if (OB_UNLIKELY((NULL == (yyval.node)->str_value_)) && (yyval.node)->type_ != T_VARCHAR) { dup_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); } ;} break; case 81: /* Line 1455 of yacc.c */ #line 561 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 82: /* Line 1455 of yacc.c */ #line 568 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 83: /* Line 1455 of yacc.c */ #line 572 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 84: /* Line 1455 of yacc.c */ #line 578 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); /* every mysql's item(same as ob's expr) has its own name */ if (OB_UNLIKELY((NULL == (yyval.node)->str_value_)) && (yyval.node)->type_ != T_VARCHAR) { dup_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); } ;} break; case 85: /* Line 1455 of yacc.c */ #line 587 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); ParseNode *alias_node = NULL; if (OB_UNLIKELY((NULL == (yyvsp[(1) - (3)].node)))) { yyerror(NULL, result, "alias expr can not be NULL\n"); YYABORT_UNEXPECTED; } else if (OB_UNLIKELY(T_COLUMN_REF == (yyvsp[(1) - (3)].node)->type_ && NULL != (yyvsp[(1) - (3)].node)->children_ && NULL != (yyvsp[(1) - (3)].node)->children_[1] && NULL != (yyvsp[(1) - (3)].node)->children_[2] && T_STAR == (yyvsp[(1) - (3)].node)->children_[2]->type_)) { yyerror(&(yylsp[(2) - (3)]), result, "table.* as label is invalid\n"); YYERROR; } else { malloc_non_terminal_node(alias_node, result->malloc_pool_, T_ALIAS, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_WITH_ALIAS, 1, alias_node); dup_expr_string((yyval.node), result, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column); dup_node_string((yyvsp[(3) - (3)].node), alias_node, result->malloc_pool_); alias_node->param_num_ = 0; } ;} break; case 86: /* Line 1455 of yacc.c */ #line 606 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); if (OB_UNLIKELY(NULL == (yyvsp[(1) - (3)].node))) { yyerror(NULL, result, "alias expr can not be NULL\n"); YYABORT_UNEXPECTED; } else if (OB_UNLIKELY(T_COLUMN_REF == (yyvsp[(1) - (3)].node)->type_ && NULL !=(yyvsp[(1) - (3)].node)->children_ && NULL != (yyvsp[(1) - (3)].node)->children_[1] && NULL != (yyvsp[(1) - (3)].node)->children_[2] && T_STAR == (yyvsp[(1) - (3)].node)->children_[2]->type_)) { yyerror(&(yylsp[(2) - (3)]), result, "table.* as label is invalid\n"); YYERROR; } else { ParseNode *alias_node = NULL; ParseNode *alias_name_node = NULL; malloc_terminal_node(alias_name_node, result->malloc_pool_, T_IDENT); dup_node_string((yyvsp[(3) - (3)].node), alias_name_node, result->malloc_pool_); malloc_non_terminal_node(alias_node, result->malloc_pool_, T_ALIAS, 2, (yyvsp[(1) - (3)].node), alias_name_node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_WITH_ALIAS, 1, alias_node); dup_expr_string((yyval.node), result, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column); dup_node_string((yyvsp[(3) - (3)].node), alias_node, result->malloc_pool_); alias_node->param_num_ = 1; } ;} break; case 87: /* Line 1455 of yacc.c */ #line 632 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_REF, 3, NULL, NULL, (yyvsp[(1) - (1)].node)); dup_node_string((yyvsp[(1) - (1)].node), (yyval.node), result->malloc_pool_); #ifndef SQL_PARSER_COMPILATION #endif ;} break; case 88: /* Line 1455 of yacc.c */ #line 639 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_REF, 3, NULL, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); dup_node_string((yyvsp[(3) - (3)].node), (yyval.node), result->malloc_pool_); ;} break; case 89: /* Line 1455 of yacc.c */ #line 644 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *col_name = NULL; get_non_reserved_node(col_name, result->malloc_pool_, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_REF, 3, NULL, (yyvsp[(1) - (3)].node), col_name); dup_node_string(col_name, (yyval.node), result->malloc_pool_); ;} break; case 90: /* Line 1455 of yacc.c */ #line 651 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *col_name = NULL; ParseNode *table_name = NULL; get_non_reserved_node(table_name, result->malloc_pool_, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column); get_non_reserved_node(col_name, result->malloc_pool_, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_REF, 3, NULL, table_name, col_name); dup_node_string(col_name, (yyval.node), result->malloc_pool_); ;} break; case 91: /* Line 1455 of yacc.c */ #line 660 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *node = NULL; malloc_terminal_node(node, result->malloc_pool_, T_STAR); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_REF, 3, NULL, (yyvsp[(1) - (3)].node), node); (yyval.node)->value_ = 0; ;} break; case 92: /* Line 1455 of yacc.c */ #line 667 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_REF, 3, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); dup_node_string((yyvsp[(5) - (5)].node), (yyval.node), result->malloc_pool_); ;} break; case 93: /* Line 1455 of yacc.c */ #line 672 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *col_name = NULL; get_non_reserved_node(col_name, result->malloc_pool_, (yylsp[(5) - (5)]).first_column, (yylsp[(5) - (5)]).last_column); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_REF, 3, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), col_name); dup_node_string(col_name, (yyval.node), result->malloc_pool_); ;} break; case 94: /* Line 1455 of yacc.c */ #line 679 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *col_name = NULL; ParseNode *table_name = NULL; get_non_reserved_node(table_name, result->malloc_pool_, (yylsp[(3) - (5)]).first_column, (yylsp[(3) - (5)]).last_column); get_non_reserved_node(col_name, result->malloc_pool_, (yylsp[(5) - (5)]).first_column, (yylsp[(5) - (5)]).last_column); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_REF, 3, (yyvsp[(1) - (5)].node), table_name, col_name); dup_node_string(col_name, (yyval.node), result->malloc_pool_); ;} break; case 95: /* Line 1455 of yacc.c */ #line 688 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *node = NULL; malloc_terminal_node(node, result->malloc_pool_, T_STAR); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_REF, 3, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), node); (yyval.node)->value_ = 0; ;} break; case 96: /* Line 1455 of yacc.c */ #line 695 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_REF, 3, NULL, (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node)); dup_node_string((yyvsp[(4) - (4)].node), (yyval.node), result->malloc_pool_); ;} break; case 97: /* Line 1455 of yacc.c */ #line 700 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *col_name = NULL; get_non_reserved_node(col_name, result->malloc_pool_, (yylsp[(4) - (4)]).first_column, (yylsp[(4) - (4)]).last_column); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_REF, 3, NULL, (yyvsp[(2) - (4)].node), col_name); dup_node_string(col_name, (yyval.node), result->malloc_pool_); ;} break; case 98: /* Line 1455 of yacc.c */ #line 707 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *col_name = NULL; ParseNode *table_name = NULL; get_non_reserved_node(table_name, result->malloc_pool_, (yylsp[(2) - (4)]).first_column, (yylsp[(2) - (4)]).last_column); get_non_reserved_node(col_name, result->malloc_pool_, (yylsp[(4) - (4)]).first_column, (yylsp[(4) - (4)]).last_column); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_REF, 3, NULL, table_name, col_name); dup_node_string(col_name, (yyval.node), result->malloc_pool_); ;} break; case 99: /* Line 1455 of yacc.c */ #line 720 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_VARCHAR, 2, NULL, (yyvsp[(1) - (1)].node)); (yyval.node)->str_value_ = (yyvsp[(1) - (1)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(1) - (1)].node)->str_len_; (yyval.node)->raw_text_ = (yyvsp[(1) - (1)].node)->raw_text_; (yyval.node)->text_len_ = (yyvsp[(1) - (1)].node)->text_len_; (yyloc).first_column = (yylsp[(1) - (1)]).first_column; (yyloc).last_column = (yylsp[(1) - (1)]).last_column; ;} break; case 100: /* Line 1455 of yacc.c */ #line 730 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_VARCHAR, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); (yyval.node)->str_value_ = (yyvsp[(2) - (2)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(2) - (2)].node)->str_len_; (yyval.node)->raw_text_ = (yyvsp[(2) - (2)].node)->raw_text_; (yyval.node)->text_len_ = (yyvsp[(2) - (2)].node)->text_len_; ;} break; case 101: /* Line 1455 of yacc.c */ #line 738 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_VARCHAR, 1, (yyvsp[(1) - (2)].node)); (yyval.node)->str_value_ = (yyvsp[(2) - (2)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(2) - (2)].node)->str_len_; (yyval.node)->raw_text_ = (yyvsp[(2) - (2)].node)->raw_text_; (yyval.node)->text_len_ = (yyvsp[(2) - (2)].node)->text_len_; ;} break; case 102: /* Line 1455 of yacc.c */ #line 749 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CHARSET); (yyval.node)->str_value_ = parse_strdup("utf8", result->malloc_pool_, &((yyval.node)->str_len_)); if (OB_UNLIKELY(NULL == (yyval.node)->str_value_)) { yyerror(NULL, result, "No more space for mallocing string\n"); YYABORT_NO_MEMORY; } ;} break; case 103: /* Line 1455 of yacc.c */ #line 758 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CHARSET); (yyval.node)->str_value_ = parse_strdup("utf8mb4", result->malloc_pool_, &((yyval.node)->str_len_)); if (OB_UNLIKELY(NULL == (yyval.node)->str_value_)) { yyerror(NULL, result, "No more space for mallocing string\n"); YYABORT_NO_MEMORY; } ;} break; case 104: /* Line 1455 of yacc.c */ #line 767 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CHARSET); (yyval.node)->str_value_ = parse_strdup("binary", result->malloc_pool_, &((yyval.node)->str_len_)); if (OB_UNLIKELY(NULL == (yyval.node)->str_value_)) { yyerror(NULL, result, "No more space for mallocing string\n"); YYABORT_NO_MEMORY; } ;} break; case 105: /* Line 1455 of yacc.c */ #line 776 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CHARSET); (yyval.node)->str_value_ = parse_strdup("gbk", result->malloc_pool_, &((yyval.node)->str_len_)); if (OB_UNLIKELY(NULL == (yyval.node)->str_value_)) { yyerror(NULL, result, "No more space for mallocing string"); YYABORT_NO_MEMORY; } ;} break; case 106: /* Line 1455 of yacc.c */ #line 785 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CHARSET); (yyval.node)->str_value_ = parse_strdup("gb18030", result->malloc_pool_, &((yyval.node)->str_len_)); if (OB_UNLIKELY(NULL == (yyval.node)->str_value_)) { yyerror(NULL, result, "No more space for mallocing string"); YYABORT_NO_MEMORY; } ;} break; case 107: /* Line 1455 of yacc.c */ #line 794 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CHARSET); (yyval.node)->str_value_ = parse_strdup("utf16", result->malloc_pool_, &((yyval.node)->str_len_)); if (OB_UNLIKELY(NULL == (yyval.node)->str_value_)) { yyerror(NULL, result, "no more space for mallocing string\n"); YYABORT_NO_MEMORY; } ;} break; case 108: /* Line 1455 of yacc.c */ #line 805 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 109: /* Line 1455 of yacc.c */ #line 806 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 110: /* Line 1455 of yacc.c */ #line 807 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 111: /* Line 1455 of yacc.c */ #line 808 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 112: /* Line 1455 of yacc.c */ #line 809 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 113: /* Line 1455 of yacc.c */ #line 810 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 114: /* Line 1455 of yacc.c */ #line 811 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 115: /* Line 1455 of yacc.c */ #line 812 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 116: /* Line 1455 of yacc.c */ #line 814 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node)->type_ = T_HEX_STRING; ;} break; case 117: /* Line 1455 of yacc.c */ #line 821 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node)->param_num_ = 1;;} break; case 118: /* Line 1455 of yacc.c */ #line 822 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node)->param_num_ = 1;;} break; case 119: /* Line 1455 of yacc.c */ #line 826 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 120: /* Line 1455 of yacc.c */ #line 827 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 121: /* Line 1455 of yacc.c */ #line 828 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 122: /* Line 1455 of yacc.c */ #line 830 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyvsp[(3) - (3)].node)->type_ = T_SYSTEM_VARIABLE; (yyvsp[(3) - (3)].node)->value_ = (yyvsp[(1) - (3)].ival)[0]; (yyval.node) = (yyvsp[(3) - (3)].node); ;} break; case 132: /* Line 1455 of yacc.c */ #line 848 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyvsp[(3) - (3)].node)->type_ = T_SYSTEM_VARIABLE; (yyvsp[(3) - (3)].node)->value_ = (yyvsp[(1) - (3)].ival)[0]; (yyval.node) = (yyvsp[(3) - (3)].node); ;} break; case 133: /* Line 1455 of yacc.c */ #line 854 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyvsp[(2) - (2)].node)->value_ = -(yyvsp[(2) - (2)].node)->value_; (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 134: /* Line 1455 of yacc.c */ #line 859 "../../../src/sql/parser/sql_parser_mysql_mode.y" { int32_t len = (yyvsp[(2) - (2)].node)->str_len_ + 2; char *str_value = (char *)parse_malloc(len, result->malloc_pool_); if (OB_LIKELY(NULL != str_value)) { snprintf(str_value, len, "-%.*s", (int32_t)((yyvsp[(2) - (2)].node)->str_len_), (yyvsp[(2) - (2)].node)->str_value_); (yyval.node) = (yyvsp[(2) - (2)].node); (yyval.node)->str_value_ = str_value; (yyval.node)->str_len_ = (yyvsp[(2) - (2)].node)->str_len_ + 1; } else { yyerror(NULL, result, "No more space for copying expression string\n"); YYABORT_NO_MEMORY; } ;} break; case 135: /* Line 1455 of yacc.c */ #line 875 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 136: /* Line 1455 of yacc.c */ #line 876 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 137: /* Line 1455 of yacc.c */ #line 881 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_IS, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 138: /* Line 1455 of yacc.c */ #line 887 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(3) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_IS_NOT, 2, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (4)]).first_column, (yylsp[(4) - (4)]).last_column), &(yylsp[(1) - (4)]), result); ;} break; case 139: /* Line 1455 of yacc.c */ #line 894 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_LE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 140: /* Line 1455 of yacc.c */ #line 900 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *sub_query = NULL; malloc_non_terminal_node(sub_query, result->malloc_pool_, (yyvsp[(3) - (6)].node)->type_, 1, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_LE, 2, (yyvsp[(1) - (6)].node), sub_query); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (6)]).first_column, (yylsp[(6) - (6)]).last_column), &(yylsp[(1) - (6)]), result); ;} break; case 141: /* Line 1455 of yacc.c */ #line 908 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_LT, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 142: /* Line 1455 of yacc.c */ #line 914 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *sub_query = NULL; malloc_non_terminal_node(sub_query, result->malloc_pool_, (yyvsp[(3) - (6)].node)->type_, 1, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_LT, 2, (yyvsp[(1) - (6)].node), sub_query); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (6)]).first_column, (yylsp[(6) - (6)]).last_column), &(yylsp[(1) - (6)]), result); ;} break; case 143: /* Line 1455 of yacc.c */ #line 922 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_EQ, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 144: /* Line 1455 of yacc.c */ #line 928 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *sub_query = NULL; malloc_non_terminal_node(sub_query, result->malloc_pool_, (yyvsp[(3) - (6)].node)->type_, 1, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_EQ, 2, (yyvsp[(1) - (6)].node), sub_query); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (6)]).first_column, (yylsp[(6) - (6)]).last_column), &(yylsp[(1) - (6)]), result); ;} break; case 145: /* Line 1455 of yacc.c */ #line 936 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NSEQ, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 146: /* Line 1455 of yacc.c */ #line 942 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_GE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 147: /* Line 1455 of yacc.c */ #line 948 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *sub_query = NULL; malloc_non_terminal_node(sub_query, result->malloc_pool_, (yyvsp[(3) - (6)].node)->type_, 1, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_GE, 2, (yyvsp[(1) - (6)].node), sub_query); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (6)]).first_column, (yylsp[(6) - (6)]).last_column), &(yylsp[(1) - (6)]), result); ;} break; case 148: /* Line 1455 of yacc.c */ #line 956 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_GT, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 149: /* Line 1455 of yacc.c */ #line 962 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *sub_query = NULL; malloc_non_terminal_node(sub_query, result->malloc_pool_, (yyvsp[(3) - (6)].node)->type_, 1, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_GT, 2, (yyvsp[(1) - (6)].node), sub_query); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (6)]).first_column, (yylsp[(6) - (6)]).last_column), &(yylsp[(1) - (6)]), result); ;} break; case 150: /* Line 1455 of yacc.c */ #line 970 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 151: /* Line 1455 of yacc.c */ #line 976 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *sub_query = NULL; malloc_non_terminal_node(sub_query, result->malloc_pool_, (yyvsp[(3) - (6)].node)->type_, 1, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NE, 2, (yyvsp[(1) - (6)].node), sub_query); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (6)]).first_column, (yylsp[(6) - (6)]).last_column), &(yylsp[(1) - (6)]), result); ;} break; case 152: /* Line 1455 of yacc.c */ #line 983 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column), &(yylsp[(1) - (1)]), result); ;} break; case 153: /* Line 1455 of yacc.c */ #line 992 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_IN, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 154: /* Line 1455 of yacc.c */ #line 996 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NOT_IN, 2, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 155: /* Line 1455 of yacc.c */ #line 1001 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NOT_BTW, 3, (yyvsp[(1) - (6)].node), (yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)); ;} break; case 156: /* Line 1455 of yacc.c */ #line 1006 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_BTW, 3, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 157: /* Line 1455 of yacc.c */ #line 1010 "../../../src/sql/parser/sql_parser_mysql_mode.y" { //In the resolver, if only two children are found, the escape parameter will be set to '\' malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_LIKE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 158: /* Line 1455 of yacc.c */ #line 1015 "../../../src/sql/parser/sql_parser_mysql_mode.y" { //在resolver时,如果发现只有两个children,会将escape 参数设置为‘\’ ParseNode *str_node = NULL; malloc_non_terminal_node(str_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ParseNode *string_list_node = NULL; merge_nodes(string_list_node, result, T_EXPR_LIST, str_node); ParseNode *concat_node = NULL; make_name_node(concat_node, result->malloc_pool_, "concat"); malloc_non_terminal_node(concat_node, result->malloc_pool_, T_FUN_SYS, 2, concat_node, string_list_node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_LIKE, 2, (yyvsp[(1) - (4)].node), concat_node); ;} break; case 159: /* Line 1455 of yacc.c */ #line 1027 "../../../src/sql/parser/sql_parser_mysql_mode.y" { // If escape is an empty string '', the default value'\' is used if (OB_UNLIKELY(T_VARCHAR == (yyvsp[(5) - (5)].node)->type_ && 0 == (yyvsp[(5) - (5)].node)->str_len_)) { ParseNode *node = NULL; malloc_terminal_node(node, result->malloc_pool_, T_VARCHAR); node->str_value_ = "\\"; node->str_len_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_LIKE, 3, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), node); } else { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_LIKE, 3, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); } ;} break; case 160: /* Line 1455 of yacc.c */ #line 1040 "../../../src/sql/parser/sql_parser_mysql_mode.y" { // 如果escape 为空串 '', 则使用默认值'\' ParseNode *str_node = NULL; malloc_non_terminal_node(str_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(3) - (6)].node), (yyvsp[(4) - (6)].node)); ParseNode *string_list_node = NULL; merge_nodes(string_list_node, result, T_EXPR_LIST, str_node); ParseNode *concat_node = NULL; make_name_node(concat_node, result->malloc_pool_, "concat"); malloc_non_terminal_node(concat_node, result->malloc_pool_, T_FUN_SYS, 2, concat_node, string_list_node); if (OB_UNLIKELY(T_VARCHAR == (yyvsp[(6) - (6)].node)->type_ && 0 == (yyvsp[(6) - (6)].node)->str_len_)) { ParseNode *node = NULL; malloc_terminal_node(node, result->malloc_pool_, T_VARCHAR); node->str_value_ = "\\"; node->str_len_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_LIKE, 3, (yyvsp[(1) - (6)].node), concat_node, node); } else { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_LIKE, 3, (yyvsp[(1) - (6)].node), concat_node, (yyvsp[(6) - (6)].node)); } ;} break; case 161: /* Line 1455 of yacc.c */ #line 1060 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *escape_node = NULL; malloc_non_terminal_node(escape_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].node)); ParseNode *escape_list_node = NULL; merge_nodes(escape_list_node, result, T_EXPR_LIST, escape_node); ParseNode *concat_node = NULL; make_name_node(concat_node, result->malloc_pool_, "concat"); malloc_non_terminal_node(concat_node, result->malloc_pool_, T_FUN_SYS, 2, concat_node, escape_list_node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_LIKE, 3, (yyvsp[(1) - (6)].node), (yyvsp[(3) - (6)].node), concat_node); ;} break; case 162: /* Line 1455 of yacc.c */ #line 1071 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *str_node = NULL; ParseNode *escape_node = NULL; malloc_non_terminal_node(str_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(3) - (7)].node), (yyvsp[(4) - (7)].node)); malloc_non_terminal_node(escape_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(6) - (7)].node), (yyvsp[(7) - (7)].node)); ParseNode *string_list_node = NULL; ParseNode *escape_list_node = NULL; merge_nodes(string_list_node, result, T_EXPR_LIST, str_node); merge_nodes(escape_list_node, result, T_EXPR_LIST, escape_node); ParseNode *concat_node1 = NULL; ParseNode *concat_node2 = NULL; make_name_node(concat_node1, result->malloc_pool_, "concat"); make_name_node(concat_node2, result->malloc_pool_, "concat"); malloc_non_terminal_node(concat_node1, result->malloc_pool_, T_FUN_SYS, 2, concat_node1, string_list_node); malloc_non_terminal_node(concat_node2, result->malloc_pool_, T_FUN_SYS, 2, concat_node2, escape_list_node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_LIKE, 3, (yyvsp[(1) - (7)].node), concat_node1, concat_node2); ;} break; case 163: /* Line 1455 of yacc.c */ #line 1089 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (4)].node)); //In the resolver, if only two children are found, the escape parameter will be set to '\' malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NOT_LIKE, 2, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 164: /* Line 1455 of yacc.c */ #line 1095 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (5)].node)); //在resolver时,如果发现只有两个children,会将escape 参数设置为‘\’ ParseNode *str_node = NULL; malloc_non_terminal_node(str_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node)); ParseNode *string_list_node = NULL; merge_nodes(string_list_node, result, T_EXPR_LIST, str_node); ParseNode *concat_node = NULL; make_name_node(concat_node, result->malloc_pool_, "concat"); malloc_non_terminal_node(concat_node, result->malloc_pool_, T_FUN_SYS, 2, concat_node, string_list_node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NOT_LIKE, 2, (yyvsp[(1) - (5)].node), concat_node); ;} break; case 165: /* Line 1455 of yacc.c */ #line 1108 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (6)].node)); // If escape is an empty string '', the default value'\' is used if (OB_UNLIKELY(T_VARCHAR == (yyvsp[(6) - (6)].node)->type_ && 0 == (yyvsp[(6) - (6)].node)->str_len_)) { ParseNode *node = NULL; malloc_terminal_node(node, result->malloc_pool_, T_VARCHAR); node->str_value_ = "\\"; node->str_len_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NOT_LIKE, 3, (yyvsp[(1) - (6)].node), (yyvsp[(4) - (6)].node), node); } else { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NOT_LIKE, 3, (yyvsp[(1) - (6)].node), (yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)); } ;} break; case 166: /* Line 1455 of yacc.c */ #line 1122 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (7)].node)); ParseNode *str_node = NULL; malloc_non_terminal_node(str_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(4) - (7)].node), (yyvsp[(5) - (7)].node)); ParseNode *string_list_node = NULL; merge_nodes(string_list_node, result, T_EXPR_LIST, str_node); ParseNode *concat_node = NULL; make_name_node(concat_node, result->malloc_pool_, "concat"); malloc_non_terminal_node(concat_node, result->malloc_pool_, T_FUN_SYS, 2, concat_node, string_list_node); // 如果escape 为空串 '', 则使用默认值'\' if (OB_UNLIKELY(T_VARCHAR == (yyvsp[(7) - (7)].node)->type_ && 0 == (yyvsp[(7) - (7)].node)->str_len_)) { ParseNode *node = NULL; malloc_terminal_node(node, result->malloc_pool_, T_VARCHAR); node->str_value_ = "\\"; node->str_len_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NOT_LIKE, 3, (yyvsp[(1) - (7)].node), concat_node, node); } else { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NOT_LIKE, 3, (yyvsp[(1) - (7)].node), concat_node, (yyvsp[(7) - (7)].node)); } ;} break; case 167: /* Line 1455 of yacc.c */ #line 1143 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (7)].node)); ParseNode *escape_node = NULL; malloc_non_terminal_node(escape_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(6) - (7)].node), (yyvsp[(7) - (7)].node)); ParseNode *escape_list_node = NULL; merge_nodes(escape_list_node, result, T_EXPR_LIST, escape_node); ParseNode *concat_node = NULL; make_name_node(concat_node, result->malloc_pool_, "concat"); malloc_non_terminal_node(concat_node, result->malloc_pool_, T_FUN_SYS, 2, concat_node, escape_list_node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NOT_LIKE, 3, (yyvsp[(1) - (7)].node), (yyvsp[(4) - (7)].node), concat_node); ;} break; case 168: /* Line 1455 of yacc.c */ #line 1155 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (8)].node)); ParseNode *str_node = NULL; ParseNode *escape_node = NULL; malloc_non_terminal_node(str_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(4) - (8)].node), (yyvsp[(5) - (8)].node)); malloc_non_terminal_node(escape_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(7) - (8)].node), (yyvsp[(8) - (8)].node)); ParseNode *string_list_node = NULL; ParseNode *escape_list_node = NULL; merge_nodes(string_list_node, result, T_EXPR_LIST, str_node); merge_nodes(escape_list_node, result, T_EXPR_LIST, escape_node); ParseNode *concat_node1 = NULL; ParseNode *concat_node2 = NULL; make_name_node(concat_node1, result->malloc_pool_, "concat"); make_name_node(concat_node2, result->malloc_pool_, "concat"); malloc_non_terminal_node(concat_node1, result->malloc_pool_, T_FUN_SYS, 2, concat_node1, string_list_node); malloc_non_terminal_node(concat_node2, result->malloc_pool_, T_FUN_SYS, 2, concat_node2, escape_list_node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NOT_LIKE, 3, (yyvsp[(1) - (8)].node), concat_node1, concat_node2); ;} break; case 169: /* Line 1455 of yacc.c */ #line 1174 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_REGEXP, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 170: /* Line 1455 of yacc.c */ #line 1178 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *str_node = NULL; malloc_non_terminal_node(str_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ParseNode *string_list_node = NULL; merge_nodes(string_list_node, result, T_EXPR_LIST, str_node); ParseNode *concat_node = NULL; make_name_node(concat_node, result->malloc_pool_, "concat"); malloc_non_terminal_node(concat_node, result->malloc_pool_, T_FUN_SYS, 2, concat_node, string_list_node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_REGEXP, 2, (yyvsp[(1) - (4)].node), concat_node); ;} break; case 171: /* Line 1455 of yacc.c */ #line 1189 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NOT_REGEXP, 2, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 172: /* Line 1455 of yacc.c */ #line 1194 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (5)].node)); ParseNode *str_node = NULL; malloc_non_terminal_node(str_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node)); ParseNode *string_list_node = NULL; merge_nodes(string_list_node, result, T_EXPR_LIST, str_node); ParseNode *concat_node = NULL; make_name_node(concat_node, result->malloc_pool_, "concat"); malloc_non_terminal_node(concat_node, result->malloc_pool_, T_FUN_SYS, 2, concat_node, string_list_node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NOT_REGEXP, 2, (yyvsp[(1) - (5)].node), concat_node); ;} break; case 173: /* Line 1455 of yacc.c */ #line 1206 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 174: /* Line 1455 of yacc.c */ #line 1211 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 175: /* Line 1455 of yacc.c */ #line 1215 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 176: /* Line 1455 of yacc.c */ #line 1221 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_BIT_OR, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 177: /* Line 1455 of yacc.c */ #line 1227 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_BIT_AND, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 178: /* Line 1455 of yacc.c */ #line 1233 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_BIT_LEFT_SHIFT, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 179: /* Line 1455 of yacc.c */ #line 1239 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_BIT_RIGHT_SHIFT, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 180: /* Line 1455 of yacc.c */ #line 1245 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_ADD, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 181: /* Line 1455 of yacc.c */ #line 1251 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_MINUS, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 182: /* Line 1455 of yacc.c */ #line 1257 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 3, (yyvsp[(1) - (5)].node), (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node)); make_name_node((yyval.node), result->malloc_pool_, "date_add"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (5)]).first_column, (yylsp[(4) - (5)]).last_column), &(yylsp[(1) - (5)]), result); ;} break; case 183: /* Line 1455 of yacc.c */ #line 1266 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 3, (yyvsp[(1) - (5)].node), (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node)); make_name_node((yyval.node), result->malloc_pool_, "date_sub"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (5)]).first_column, (yylsp[(4) - (5)]).last_column), &(yylsp[(1) - (5)]), result); ;} break; case 184: /* Line 1455 of yacc.c */ #line 1275 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_MUL, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 185: /* Line 1455 of yacc.c */ #line 1281 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_DIV, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 186: /* Line 1455 of yacc.c */ #line 1287 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_MOD, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 187: /* Line 1455 of yacc.c */ #line 1293 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_MOD, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 188: /* Line 1455 of yacc.c */ #line 1299 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_INT_DIV, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 189: /* Line 1455 of yacc.c */ #line 1305 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_BIT_XOR, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).last_column), &(yylsp[(1) - (3)]), result); ;} break; case 190: /* Line 1455 of yacc.c */ #line 1311 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column), &(yylsp[(1) - (1)]), result); ;} break; case 191: /* Line 1455 of yacc.c */ #line 1320 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); make_name_node((yyval.node), result->malloc_pool_, "set_collation"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 192: /* Line 1455 of yacc.c */ #line 1327 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *cast_type = NULL; malloc_terminal_node(cast_type, result->malloc_pool_, T_CAST_ARGUMENT); cast_type->value_ = 0; cast_type->int16_values_[OB_NODE_CAST_TYPE_IDX] = T_VARCHAR; /* data type */ cast_type->int16_values_[OB_NODE_CAST_COLL_IDX] = BINARY_COLLATION; /* is binary */ cast_type->int32_values_[OB_NODE_CAST_C_LEN_IDX] = DEFAULT_STR_LENGTH; /* precision */ cast_type->param_num_ = 0; ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 2, (yyvsp[(2) - (2)].node), cast_type); make_name_node((yyval.node), result->malloc_pool_, "cast"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 193: /* Line 1455 of yacc.c */ #line 1341 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 194: /* Line 1455 of yacc.c */ #line 1342 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 195: /* Line 1455 of yacc.c */ #line 1344 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_CNN, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 196: /* Line 1455 of yacc.c */ #line 1348 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_POS, 1, (yyvsp[(2) - (2)].node)); ;} break; case 197: /* Line 1455 of yacc.c */ #line 1352 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if (T_UINT64 == (yyvsp[(2) - (2)].node)->type_ && 0 == (yyvsp[(2) - (2)].node)->is_assigned_from_child_) { uint64_t value = (yyvsp[(2) - (2)].node)->value_; int64_t pos = 0; for (; pos < (yyvsp[(2) - (2)].node)->str_len_ && ISSPACE((yyvsp[(2) - (2)].node)->str_value_[pos]); pos++); int64_t num_len = (yyvsp[(2) - (2)].node)->str_len_ - pos; if (INT64_MAX == value - 1) { char *new_str_value = (char *)parse_malloc((int32_t)num_len + 2, result->malloc_pool_); if (NULL == new_str_value) { yyerror(NULL, result, "No more space for copy str"); YYABORT_NO_MEMORY; } else { new_str_value[0] = '-'; memmove(new_str_value + 1, (yyvsp[(2) - (2)].node)->str_value_ + pos, num_len); new_str_value[num_len + 1] = '\0'; (yyvsp[(2) - (2)].node)->str_value_ = new_str_value; (yyvsp[(2) - (2)].node)->str_len_ = num_len + 1; (yyvsp[(2) - (2)].node)->value_ = INT64_MIN; (yyvsp[(2) - (2)].node)->type_ = T_INT; (yyval.node) = (yyvsp[(2) - (2)].node); } } else { char *new_str_value = (char *)parse_malloc((int32_t)num_len + 1, result->malloc_pool_); if (NULL == new_str_value) { yyerror(NULL, result, "No more space for copy str"); YYABORT_NO_MEMORY; } else { memmove(new_str_value, (yyvsp[(2) - (2)].node)->str_value_ + pos, num_len); new_str_value[num_len] = '\0'; (yyvsp[(2) - (2)].node)->str_value_ = new_str_value; (yyvsp[(2) - (2)].node)->str_len_ = num_len; (yyvsp[(2) - (2)].node)->type_ = T_NUMBER; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NEG, 1, (yyvsp[(2) - (2)].node)); } } } else { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NEG, 1, (yyvsp[(2) - (2)].node)); } ;} break; case 198: /* Line 1455 of yacc.c */ #line 1392 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_BIT_NEG, 1, (yyvsp[(2) - (2)].node)); ;} break; case 199: /* Line 1455 of yacc.c */ #line 1396 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (2)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NOT, 1, (yyvsp[(2) - (2)].node)); ;} break; case 200: /* Line 1455 of yacc.c */ #line 1401 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 201: /* Line 1455 of yacc.c */ #line 1403 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (3)].node); (yyval.node)->is_assigned_from_child_ = 1; ;} break; case 202: /* Line 1455 of yacc.c */ #line 1405 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *node = NULL; malloc_non_terminal_node(node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(2) - (5)].node), (yyvsp[(4) - (5)].node)); merge_nodes((yyval.node), result, T_EXPR_LIST, node); ;} break; case 203: /* Line 1455 of yacc.c */ #line 1411 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *node = NULL; malloc_non_terminal_node(node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node)); merge_nodes((yyval.node), result, T_EXPR_LIST, node); ;} break; case 204: /* Line 1455 of yacc.c */ #line 1417 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if (NULL == (yyvsp[(2) - (2)].node)->children_[PARSE_SELECT_FROM]) { (yyvsp[(2) - (2)].node)->value_ = 2; } malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_EXISTS, 1, (yyvsp[(2) - (2)].node)); ;} break; case 205: /* Line 1455 of yacc.c */ #line 1424 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *node = NULL; merge_nodes(node, result, T_MATCH_COLUMN_LIST, (yyvsp[(3) - (9)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_MATCH_AGAINST, 2, node, (yyvsp[(7) - (9)].node)); (yyval.node)->value_ = (yyvsp[(8) - (9)].ival)[0]; ;} break; case 206: /* Line 1455 of yacc.c */ #line 1431 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 207: /* Line 1455 of yacc.c */ #line 1435 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 208: /* Line 1455 of yacc.c */ #line 1439 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 209: /* Line 1455 of yacc.c */ #line 1446 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_GET_USER_VAR, 1, (yyvsp[(1) - (1)].node)); ;} break; case 210: /* Line 1455 of yacc.c */ #line 1453 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 211: /* Line 1455 of yacc.c */ #line 1457 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 212: /* Line 1455 of yacc.c */ #line 1461 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 213: /* Line 1455 of yacc.c */ #line 1467 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_AND, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 214: /* Line 1455 of yacc.c */ #line 1471 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_AND, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 215: /* Line 1455 of yacc.c */ #line 1475 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_OR, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 216: /* Line 1455 of yacc.c */ #line 1479 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_OR, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 217: /* Line 1455 of yacc.c */ #line 1483 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_XOR, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 218: /* Line 1455 of yacc.c */ #line 1487 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_NOT, 1, (yyvsp[(2) - (2)].node)); ;} break; case 219: /* Line 1455 of yacc.c */ #line 1491 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_IS, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 220: /* Line 1455 of yacc.c */ #line 1495 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(3) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_IS_NOT, 2, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 221: /* Line 1455 of yacc.c */ #line 1500 "../../../src/sql/parser/sql_parser_mysql_mode.y" { /* Unknown is can only appears in grammer 'bool_pri is unknown' * and it is equal to NULL semanticly * so we set its value to to NULL directly */ ParseNode *node = NULL; malloc_terminal_node(node, result->malloc_pool_, T_DEFAULT_NULL); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_IS, 2, (yyvsp[(1) - (3)].node), node); ;} break; case 222: /* Line 1455 of yacc.c */ #line 1510 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(3) - (4)].node)); ParseNode *node = NULL; malloc_terminal_node(node, result->malloc_pool_, T_DEFAULT_NULL); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_IS_NOT, 2, (yyvsp[(1) - (4)].node), node); ;} break; case 223: /* Line 1455 of yacc.c */ #line 1517 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node);;} break; case 224: /* Line 1455 of yacc.c */ #line 1519 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyvsp[(1) - (3)].node)->type_ = T_LEFT_VALUE; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_ASSIGN, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 225: /* Line 1455 of yacc.c */ #line 1526 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 226: /* Line 1455 of yacc.c */ #line 1527 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 227: /* Line 1455 of yacc.c */ #line 1531 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 228: /* Line 1455 of yacc.c */ #line 1532 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 229: /* Line 1455 of yacc.c */ #line 1538 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ALL); ;} break; case 230: /* Line 1455 of yacc.c */ #line 1542 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ANY); ;} break; case 231: /* Line 1455 of yacc.c */ #line 1546 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ANY); ;} break; case 232: /* Line 1455 of yacc.c */ #line 1553 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 233: /* Line 1455 of yacc.c */ #line 1557 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_EXPR_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 234: /* Line 1455 of yacc.c */ #line 1562 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_WHEN_LIST, (yyvsp[(3) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CASE, 3, (yyvsp[(2) - (5)].node), (yyval.node), (yyvsp[(4) - (5)].node)); ;} break; case 235: /* Line 1455 of yacc.c */ #line 1570 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(3) - (7)].node)); ParseNode *node = NULL; malloc_terminal_node(node, result->malloc_pool_, T_STAR); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_COUNT, 1, node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(7) - (7)].node)); ;} break; case 236: /* Line 1455 of yacc.c */ #line 1578 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyvsp[(3) - (7)].node), result->malloc_pool_, T_ALL); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_COUNT, 2, (yyvsp[(3) - (7)].node), (yyvsp[(4) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(7) - (7)].node)); ;} break; case 237: /* Line 1455 of yacc.c */ #line 1584 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *distinct = NULL; malloc_terminal_node(distinct, result->malloc_pool_, T_DISTINCT); ParseNode *expr_list = NULL; merge_nodes(expr_list, result, T_EXPR_LIST, (yyvsp[(4) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_COUNT, 2, distinct, expr_list); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(7) - (7)].node)); ;} break; case 238: /* Line 1455 of yacc.c */ #line 1593 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *expr_list = NULL; merge_nodes(expr_list, result, T_EXPR_LIST, (yyvsp[(3) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_APPROX_COUNT_DISTINCT, 1, expr_list); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(6) - (6)].node)); ;} break; case 239: /* Line 1455 of yacc.c */ #line 1600 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *expr_list = NULL; merge_nodes(expr_list, result, T_EXPR_LIST, (yyvsp[(3) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_APPROX_COUNT_DISTINCT_SYNOPSIS, 1, expr_list); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(6) - (6)].node)); ;} break; case 240: /* Line 1455 of yacc.c */ #line 1607 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_APPROX_COUNT_DISTINCT_SYNOPSIS_MERGE, 1, (yyvsp[(3) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(6) - (6)].node)); ;} break; case 241: /* Line 1455 of yacc.c */ #line 1612 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SUM, 2, (yyvsp[(3) - (7)].node), (yyvsp[(4) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(7) - (7)].node)); ;} break; case 242: /* Line 1455 of yacc.c */ #line 1617 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_MAX, 2, (yyvsp[(3) - (7)].node), (yyvsp[(4) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(7) - (7)].node)); ;} break; case 243: /* Line 1455 of yacc.c */ #line 1622 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_MIN, 2, (yyvsp[(3) - (7)].node), (yyvsp[(4) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(7) - (7)].node)); ;} break; case 244: /* Line 1455 of yacc.c */ #line 1627 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_AVG, 2, (yyvsp[(3) - (7)].node), (yyvsp[(4) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(7) - (7)].node)); ;} break; case 245: /* Line 1455 of yacc.c */ #line 1632 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_STDDEV, 2, (yyvsp[(3) - (7)].node), (yyvsp[(4) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(7) - (7)].node)); ;} break; case 246: /* Line 1455 of yacc.c */ #line 1637 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_STDDEV, 2, (yyvsp[(3) - (7)].node), (yyvsp[(4) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(7) - (7)].node)); ;} break; case 247: /* Line 1455 of yacc.c */ #line 1642 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_VARIANCE, 2, (yyvsp[(3) - (7)].node), (yyvsp[(4) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(7) - (7)].node)); ;} break; case 248: /* Line 1455 of yacc.c */ #line 1647 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_STDDEV_POP, 2, (yyvsp[(3) - (7)].node), (yyvsp[(4) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(7) - (7)].node)); ;} break; case 249: /* Line 1455 of yacc.c */ #line 1652 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_STDDEV_SAMP, 2, (yyvsp[(3) - (7)].node), (yyvsp[(4) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(7) - (7)].node)); ;} break; case 250: /* Line 1455 of yacc.c */ #line 1657 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_VAR_POP, 2, (yyvsp[(3) - (7)].node), (yyvsp[(4) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(7) - (7)].node)); ;} break; case 251: /* Line 1455 of yacc.c */ #line 1662 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_VAR_SAMP, 2, (yyvsp[(3) - (7)].node), (yyvsp[(4) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(7) - (7)].node)); ;} break; case 252: /* Line 1455 of yacc.c */ #line 1667 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *group_concat_exprs = NULL; merge_nodes(group_concat_exprs, result, T_EXPR_LIST, (yyvsp[(4) - (9)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_GROUP_CONCAT, 4, (yyvsp[(3) - (9)].node), group_concat_exprs, (yyvsp[(5) - (9)].node), (yyvsp[(6) - (9)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(9) - (9)].node)); ;} break; case 253: /* Line 1455 of yacc.c */ #line 1674 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *group_concat_exprs = NULL; merge_nodes(group_concat_exprs, result, T_EXPR_LIST, (yyvsp[(4) - (9)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_GROUP_CONCAT, 4, (yyvsp[(3) - (9)].node), group_concat_exprs, (yyvsp[(5) - (9)].node), (yyvsp[(6) - (9)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(9) - (9)].node)); ;} break; case 254: /* Line 1455 of yacc.c */ #line 1681 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_WIN_FUN_RANK); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(5) - (5)].node)); ;} break; case 255: /* Line 1455 of yacc.c */ #line 1686 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_WIN_FUN_DENSE_RANK); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(5) - (5)].node)); ;} break; case 256: /* Line 1455 of yacc.c */ #line 1691 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_WIN_FUN_PERCENT_RANK); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(5) - (5)].node)); ;} break; case 257: /* Line 1455 of yacc.c */ #line 1696 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_WIN_FUN_ROW_NUMBER); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(5) - (5)].node)); ;} break; case 258: /* Line 1455 of yacc.c */ #line 1701 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WIN_FUN_NTILE, 1, (yyvsp[(3) - (6)].node) ); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(6) - (6)].node)); ;} break; case 259: /* Line 1455 of yacc.c */ #line 1706 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_WIN_FUN_CUME_DIST); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(5) - (5)].node)); ;} break; case 260: /* Line 1455 of yacc.c */ #line 1711 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (4)].node); (yyval.node)->type_ = T_WIN_FUN_FIRST_VALUE; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(4) - (4)].node)); ;} break; case 261: /* Line 1455 of yacc.c */ #line 1717 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (4)].node); (yyval.node)->type_ = T_WIN_FUN_LAST_VALUE; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(4) - (4)].node)); ;} break; case 262: /* Line 1455 of yacc.c */ #line 1723 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (4)].node); (yyval.node)->type_ = T_WIN_FUN_LEAD; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(4) - (4)].node)); ;} break; case 263: /* Line 1455 of yacc.c */ #line 1729 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (4)].node); (yyval.node)->type_ = T_WIN_FUN_LAG; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(4) - (4)].node)); ;} break; case 264: /* Line 1455 of yacc.c */ #line 1735 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WIN_FUN_NTH_VALUE, 4, (yyvsp[(3) - (10)].node), (yyvsp[(5) - (10)].node), (yyvsp[(7) - (10)].node), (yyvsp[(8) - (10)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WINDOW_FUNCTION, 2, (yyval.node), (yyvsp[(10) - (10)].node)); ;} break; case 265: /* Line 1455 of yacc.c */ #line 1743 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_FIRST); ;} break; case 266: /* Line 1455 of yacc.c */ #line 1748 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_LAST); ;} break; case 267: /* Line 1455 of yacc.c */ #line 1755 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 268: /* Line 1455 of yacc.c */ #line 1760 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 269: /* Line 1455 of yacc.c */ #line 1765 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_RESPECT); ;} break; case 270: /* Line 1455 of yacc.c */ #line 1770 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_IGNORE); ;} break; case 271: /* Line 1455 of yacc.c */ #line 1777 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (2)].non_reserved_keyword)) ; /* make bison mute */ (yyval.node) = (yyvsp[(1) - (2)].node); ;} break; case 272: /* Line 1455 of yacc.c */ #line 1783 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 273: /* Line 1455 of yacc.c */ #line 1788 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INVALID, 2, (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].node)); ;} break; case 274: /* Line 1455 of yacc.c */ #line 1792 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INVALID, 2, (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 275: /* Line 1455 of yacc.c */ #line 1799 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params_node = NULL; malloc_non_terminal_node(params_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(2) - (5)].node), NULL); merge_nodes(params_node, result, T_EXPR_LIST, params_node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INVALID, 2, params_node, (yyvsp[(3) - (5)].node)); ;} break; case 276: /* Line 1455 of yacc.c */ #line 1807 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params_node = NULL; malloc_non_terminal_node(params_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(2) - (7)].node), (yyvsp[(6) - (7)].node)); merge_nodes(params_node, result, T_EXPR_LIST, params_node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INVALID, 2, params_node, (yyvsp[(3) - (7)].node)); ;} break; case 277: /* Line 1455 of yacc.c */ #line 1814 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params_node = NULL; merge_nodes(params_node, result, T_EXPR_LIST, (yyvsp[(2) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INVALID, 2, params_node, (yyvsp[(4) - (4)].node)); ;} break; case 278: /* Line 1455 of yacc.c */ #line 1823 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WIN_NEW_GENERALIZED_WINDOW, 2, (yyvsp[(1) - (1)].node), NULL); ;} break; case 279: /* Line 1455 of yacc.c */ #line 1828 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 280: /* Line 1455 of yacc.c */ #line 1834 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WIN_NEW_GENERALIZED_WINDOW, 2, (yyvsp[(2) - (4)].node), (yyvsp[(3) - (4)].node)); ;} break; case 281: /* Line 1455 of yacc.c */ #line 1839 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WIN_NEW_GENERALIZED_WINDOW, 2, NULL, (yyvsp[(2) - (3)].node)); ;} break; case 282: /* Line 1455 of yacc.c */ #line 1846 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 283: /* Line 1455 of yacc.c */ #line 1848 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_WIN_NAMED_WINDOWS, (yyvsp[(2) - (2)].node)); ;} break; case 284: /* Line 1455 of yacc.c */ #line 1855 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 285: /* Line 1455 of yacc.c */ #line 1859 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 286: /* Line 1455 of yacc.c */ #line 1866 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WIN_NAMED_WINDOW, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); dup_string((yyvsp[(3) - (3)].node), result, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column); ;} break; case 287: /* Line 1455 of yacc.c */ #line 1874 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WIN_GENERALIZED_WINDOW, 3, (yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 288: /* Line 1455 of yacc.c */ #line 1881 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 289: /* Line 1455 of yacc.c */ #line 1883 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_EXPR_LIST, (yyvsp[(3) - (3)].node)); ;} break; case 290: /* Line 1455 of yacc.c */ #line 1889 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->is_hidden_const_ = 1; (yyval.node)->value_ = 1; ;} break; case 291: /* Line 1455 of yacc.c */ #line 1895 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->is_hidden_const_ = 1; (yyval.node)->value_ = 2; ;} break; case 292: /* Line 1455 of yacc.c */ #line 1903 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->is_hidden_const_ = 1; (yyval.node)->value_ = 1; ;} break; case 293: /* Line 1455 of yacc.c */ #line 1909 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->is_hidden_const_ = 1; (yyval.node)->value_ = 2; ;} break; case 294: /* Line 1455 of yacc.c */ #line 1918 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WIN_INTERVAL, 1, (yyvsp[(1) - (1)].node)); (yyval.node)->value_ = 1; ;} break; case 295: /* Line 1455 of yacc.c */ #line 1923 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WIN_INTERVAL, 2, (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node)->value_ = 2; ;} break; case 296: /* Line 1455 of yacc.c */ #line 1930 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_WIN_BOUND); (yyval.node)->value_ = 1; ;} break; case 297: /* Line 1455 of yacc.c */ #line 1935 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WIN_BOUND, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); dup_string((yyvsp[(1) - (2)].node), result, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column); (yyval.node)->value_ = 2; ;} break; case 298: /* Line 1455 of yacc.c */ #line 1943 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WIN_WINDOW, 3, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); (yyval.node)->value_ = 1; ;} break; case 299: /* Line 1455 of yacc.c */ #line 1948 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WIN_WINDOW, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); (yyval.node)->value_ = 2; ;} break; case 300: /* Line 1455 of yacc.c */ #line 1956 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 301: /* Line 1455 of yacc.c */ #line 1958 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 302: /* Line 1455 of yacc.c */ #line 1964 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 303: /* Line 1455 of yacc.c */ #line 1965 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 304: /* Line 1455 of yacc.c */ #line 1969 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 305: /* Line 1455 of yacc.c */ #line 1971 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 306: /* Line 1455 of yacc.c */ #line 1976 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WHEN, 2, (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 307: /* Line 1455 of yacc.c */ #line 1982 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 308: /* Line 1455 of yacc.c */ #line 1983 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT_NULL); ;} break; case 309: /* Line 1455 of yacc.c */ #line 1987 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 310: /* Line 1455 of yacc.c */ #line 1990 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 311: /* Line 1455 of yacc.c */ #line 1995 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_MOD, 2, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node)); ;} break; case 312: /* Line 1455 of yacc.c */ #line 1999 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(3) - (5)].node)); ParseNode *node = NULL; malloc_terminal_node(node, result->malloc_pool_, T_STAR); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_COUNT, 1, node); ;} break; case 313: /* Line 1455 of yacc.c */ #line 2006 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyvsp[(3) - (5)].node), result->malloc_pool_, T_ALL); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_COUNT, 2, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 314: /* Line 1455 of yacc.c */ #line 2011 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *distinct = NULL; malloc_terminal_node(distinct, result->malloc_pool_, T_DISTINCT); ParseNode *expr_list = NULL; merge_nodes(expr_list, result, T_EXPR_LIST, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_COUNT, 2, distinct, expr_list); ;} break; case 315: /* Line 1455 of yacc.c */ #line 2019 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *distinct = NULL; malloc_terminal_node(distinct, result->malloc_pool_, T_DISTINCT); ParseNode *expr_list = NULL; merge_nodes(expr_list, result, T_EXPR_LIST, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_COUNT, 2, distinct, expr_list); ;} break; case 316: /* Line 1455 of yacc.c */ #line 2027 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *expr_list = NULL; merge_nodes(expr_list, result, T_EXPR_LIST, (yyvsp[(3) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_APPROX_COUNT_DISTINCT, 1, expr_list); ;} break; case 317: /* Line 1455 of yacc.c */ #line 2033 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *expr_list = NULL; merge_nodes(expr_list, result, T_EXPR_LIST, (yyvsp[(3) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_APPROX_COUNT_DISTINCT_SYNOPSIS, 1, expr_list); ;} break; case 318: /* Line 1455 of yacc.c */ #line 2039 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_APPROX_COUNT_DISTINCT_SYNOPSIS_MERGE, 1, (yyvsp[(3) - (4)].node)); ;} break; case 319: /* Line 1455 of yacc.c */ #line 2043 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SUM, 2, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 320: /* Line 1455 of yacc.c */ #line 2047 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_MAX, 2, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 321: /* Line 1455 of yacc.c */ #line 2051 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_MIN, 2, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 322: /* Line 1455 of yacc.c */ #line 2055 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_AVG, 2, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 323: /* Line 1455 of yacc.c */ #line 2059 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_STDDEV, 2, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 324: /* Line 1455 of yacc.c */ #line 2063 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_STDDEV, 2, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 325: /* Line 1455 of yacc.c */ #line 2067 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_VARIANCE, 2, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 326: /* Line 1455 of yacc.c */ #line 2071 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_STDDEV_POP, 2, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 327: /* Line 1455 of yacc.c */ #line 2075 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_STDDEV_SAMP, 2, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 328: /* Line 1455 of yacc.c */ #line 2079 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_VAR_POP, 2, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 329: /* Line 1455 of yacc.c */ #line 2083 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_VAR_SAMP, 2, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 330: /* Line 1455 of yacc.c */ #line 2087 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_GROUPING, 1, (yyvsp[(3) - (4)].node)); ;} break; case 331: /* Line 1455 of yacc.c */ #line 2091 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *group_concat_exprs = NULL; merge_nodes(group_concat_exprs, result, T_EXPR_LIST, (yyvsp[(4) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_GROUP_CONCAT, 4, (yyvsp[(3) - (7)].node), group_concat_exprs, (yyvsp[(5) - (7)].node), (yyvsp[(6) - (7)].node)); ;} break; case 332: /* Line 1455 of yacc.c */ #line 2097 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 3, (yyvsp[(3) - (8)].node), (yyvsp[(5) - (8)].node), (yyvsp[(7) - (8)].node)); make_name_node((yyval.node), result->malloc_pool_, "if"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_IF, 2, (yyval.node), params); ;} break; case 333: /* Line 1455 of yacc.c */ #line 2104 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(3) - (4)].node)); make_name_node((yyval.node), result->malloc_pool_, "isnull"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_ISNULL, 2, (yyval.node), params); ;} break; case 334: /* Line 1455 of yacc.c */ #line 2111 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 335: /* Line 1455 of yacc.c */ #line 2115 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 336: /* Line 1455 of yacc.c */ #line 2119 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 337: /* Line 1455 of yacc.c */ #line 2123 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 338: /* Line 1455 of yacc.c */ #line 2127 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 339: /* Line 1455 of yacc.c */ #line 2131 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 340: /* Line 1455 of yacc.c */ #line 2135 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 341: /* Line 1455 of yacc.c */ #line 2139 "../../../src/sql/parser/sql_parser_mysql_mode.y" { //cast_data_type is a T_CAST_ARGUMENT rather than a T_INT to avoid being parameterized automatically ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 2, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node)); make_name_node((yyval.node), result->malloc_pool_, "cast"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 342: /* Line 1455 of yacc.c */ #line 2147 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 4, (yyvsp[(3) - (10)].node), (yyvsp[(5) - (10)].node), (yyvsp[(7) - (10)].node), (yyvsp[(9) - (10)].node)); make_name_node((yyval.node), result->malloc_pool_, "insert"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 343: /* Line 1455 of yacc.c */ #line 2154 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 2, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node)); make_name_node((yyval.node), result->malloc_pool_, "left"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 344: /* Line 1455 of yacc.c */ #line 2161 "../../../src/sql/parser/sql_parser_mysql_mode.y" { //same as CAST ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 2, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node)); make_name_node((yyval.node), result->malloc_pool_, "cast"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 345: /* Line 1455 of yacc.c */ #line 2169 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 2, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node)); make_name_node((yyval.node), result->malloc_pool_, "convert"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 346: /* Line 1455 of yacc.c */ #line 2176 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 2, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node)); make_name_node((yyval.node), result->malloc_pool_, "position"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 347: /* Line 1455 of yacc.c */ #line 2183 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (4)].node)); /* unused */ make_name_node((yyval.node), result->malloc_pool_, "substr"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), (yyvsp[(3) - (4)].node)); ;} break; case 348: /* Line 1455 of yacc.c */ #line 2189 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "trim"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), (yyvsp[(3) - (4)].node)); ;} break; case 349: /* Line 1455 of yacc.c */ #line 2194 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(3) - (4)].node)); make_name_node((yyval.node), result->malloc_pool_, "date"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 350: /* Line 1455 of yacc.c */ #line 2201 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(3) - (4)].node)); make_name_node((yyval.node), result->malloc_pool_, "year"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 351: /* Line 1455 of yacc.c */ #line 2208 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(3) - (4)].node)); make_name_node((yyval.node), result->malloc_pool_, "time"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 352: /* Line 1455 of yacc.c */ #line 2215 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(3) - (4)].node)); make_name_node((yyval.node), result->malloc_pool_, "timestamp"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 353: /* Line 1455 of yacc.c */ #line 2222 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(3) - (4)].node)); make_name_node((yyval.node), result->malloc_pool_, "month"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 354: /* Line 1455 of yacc.c */ #line 2229 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(3) - (4)].node)); make_name_node((yyval.node), result->malloc_pool_, "week"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 355: /* Line 1455 of yacc.c */ #line 2236 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 2, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node)); make_name_node((yyval.node), result->malloc_pool_, "week"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 356: /* Line 1455 of yacc.c */ #line 2243 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(3) - (4)].node)); make_name_node((yyval.node), result->malloc_pool_, "quarter"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 357: /* Line 1455 of yacc.c */ #line 2250 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(3) - (4)].node)); make_name_node((yyval.node), result->malloc_pool_, "second"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 358: /* Line 1455 of yacc.c */ #line 2257 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 2, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node)); make_name_node((yyval.node), result->malloc_pool_, "get_format"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 359: /* Line 1455 of yacc.c */ #line 2264 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(3) - (4)].node)); make_name_node((yyval.node), result->malloc_pool_, "minute"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 360: /* Line 1455 of yacc.c */ #line 2271 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(3) - (4)].node)); make_name_node((yyval.node), result->malloc_pool_, "microsecond"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 361: /* Line 1455 of yacc.c */ #line 2278 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(3) - (4)].node)); make_name_node((yyval.node), result->malloc_pool_, "hour"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 362: /* Line 1455 of yacc.c */ #line 2285 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "date_add"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), (yyvsp[(3) - (4)].node)); ;} break; case 363: /* Line 1455 of yacc.c */ #line 2290 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "date_sub"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), (yyvsp[(3) - (4)].node)); ;} break; case 364: /* Line 1455 of yacc.c */ #line 2295 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "date_add"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), (yyvsp[(3) - (4)].node)); ;} break; case 365: /* Line 1455 of yacc.c */ #line 2300 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "date_sub"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), (yyvsp[(3) - (4)].node)); ;} break; case 366: /* Line 1455 of yacc.c */ #line 2305 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *param = NULL; ParseNode *interval = NULL; malloc_terminal_node(interval, result->malloc_pool_, T_INT); interval->value_ = DATE_UNIT_DAY; interval->is_hidden_const_ = 1; malloc_non_terminal_node(param, result->malloc_pool_, T_EXPR_LIST, 3, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node), interval); make_name_node((yyval.node), result->malloc_pool_, "date_add"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), param); ;} break; case 367: /* Line 1455 of yacc.c */ #line 2319 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *param = NULL; ParseNode *interval = NULL; malloc_terminal_node(interval, result->malloc_pool_, T_INT); interval->value_ = DATE_UNIT_DAY; interval->is_hidden_const_ = 1; malloc_non_terminal_node(param, result->malloc_pool_, T_EXPR_LIST, 3, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node), interval); make_name_node((yyval.node), result->malloc_pool_, "date_sub"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), param); ;} break; case 368: /* Line 1455 of yacc.c */ #line 2333 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "timestampdiff"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), (yyvsp[(3) - (4)].node)); ;} break; case 369: /* Line 1455 of yacc.c */ #line 2338 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "timestampadd"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), (yyvsp[(3) - (4)].node)); ;} break; case 370: /* Line 1455 of yacc.c */ #line 2343 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 2, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node)); make_name_node((yyval.node), result->malloc_pool_, "extract"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 371: /* Line 1455 of yacc.c */ #line 2350 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(3) - (4)].node)); make_name_node((yyval.node), result->malloc_pool_, "ascii"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 372: /* Line 1455 of yacc.c */ #line 2357 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *node = NULL; ParseNode *null_node1 = NULL; ParseNode *null_node2 = NULL; ParseNode *null_node3 = NULL; ParseNode *null_node4 = NULL; malloc_terminal_node(null_node1, result->malloc_pool_, T_NULL); null_node1->is_hidden_const_ = 1; malloc_terminal_node(null_node2, result->malloc_pool_, T_NULL); null_node2->is_hidden_const_ = 1; malloc_terminal_node(null_node3, result->malloc_pool_, T_NULL); null_node3->is_hidden_const_ = 1; malloc_terminal_node(null_node4, result->malloc_pool_, T_NULL); null_node4->is_hidden_const_ = 1; malloc_non_terminal_node(node, result->malloc_pool_, T_EXPR_LIST, 5, (yyvsp[(3) - (4)].node), null_node1, null_node2, null_node3, null_node4); make_name_node((yyval.node), result->malloc_pool_, "default"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), node); ;} break; case 373: /* Line 1455 of yacc.c */ #line 2378 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; merge_nodes(params, result, T_EXPR_LIST, (yyvsp[(3) - (4)].node)); make_name_node((yyval.node), result->malloc_pool_, "values"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 374: /* Line 1455 of yacc.c */ #line 2385 "../../../src/sql/parser/sql_parser_mysql_mode.y" { //default using binary ParseNode *charset_node = NULL; malloc_terminal_node(charset_node, result->malloc_pool_, T_CHAR_CHARSET); charset_node->str_value_ = parse_strdup("binary", result->malloc_pool_, &(charset_node->str_len_)); if (OB_UNLIKELY(NULL == charset_node->str_value_)) { yyerror(NULL, result, "No more space for mallocing string\n"); YYABORT_NO_MEMORY; } ParseNode *params_node = NULL; malloc_non_terminal_node(params_node, result->malloc_pool_, T_LINK_NODE, 2, charset_node, (yyvsp[(3) - (4)].node)); merge_nodes(params_node, result, T_EXPR_LIST, params_node); make_name_node((yyval.node), result->malloc_pool_, "char"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params_node); ;} break; case 375: /* Line 1455 of yacc.c */ #line 2404 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params_node = NULL; (yyvsp[(5) - (6)].node)->type_ = T_CHAR_CHARSET; malloc_non_terminal_node(params_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(5) - (6)].node), (yyvsp[(3) - (6)].node)); merge_nodes(params_node, result, T_EXPR_LIST, params_node); make_name_node((yyval.node), result->malloc_pool_, "char"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params_node); ;} break; case 376: /* Line 1455 of yacc.c */ #line 2414 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 2, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node)); make_name_node((yyval.node), result->malloc_pool_, "log"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 377: /* Line 1455 of yacc.c */ #line 2421 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *param_node = NULL; malloc_terminal_node(param_node, result->malloc_pool_, T_SFU_DOUBLE); int64_t len = strlen("2.718281828459045"); param_node->str_value_ = parse_strndup("2.718281828459045", len, result->malloc_pool_); if (OB_UNLIKELY(NULL == param_node->str_value_)) { yyerror(NULL, result, "No more space for mallocing string\n"); YYABORT_NO_MEMORY; } param_node->str_len_ = len; ParseNode *param_list_node = NULL; malloc_non_terminal_node(param_list_node, result->malloc_pool_, T_LINK_NODE, 2, param_node, (yyvsp[(3) - (4)].node)); merge_nodes(param_list_node, result, T_EXPR_LIST, param_list_node); make_name_node((yyval.node), result->malloc_pool_, "log"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), param_list_node); ;} break; case 378: /* Line 1455 of yacc.c */ #line 2438 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *param_node = NULL; malloc_terminal_node(param_node, result->malloc_pool_, T_SFU_DOUBLE); int64_t len = strlen("2.718281828459045"); param_node->str_value_ = parse_strndup("2.718281828459045", len, result->malloc_pool_); if (OB_UNLIKELY(NULL == param_node->str_value_)) { yyerror(NULL, result, "No more space for mallocing string\n"); YYABORT_NO_MEMORY; } param_node->str_len_ = len; ParseNode *param_list_node = NULL; malloc_non_terminal_node(param_list_node, result->malloc_pool_, T_LINK_NODE, 2, param_node, (yyvsp[(3) - (4)].node)); merge_nodes(param_list_node, result, T_EXPR_LIST, param_list_node); make_name_node((yyval.node), result->malloc_pool_, "log"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), param_list_node); ;} break; case 379: /* Line 1455 of yacc.c */ #line 2455 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if (NULL != (yyvsp[(3) - (4)].node)) { ParseNode *params = NULL; merge_nodes(params, result, T_EXPR_LIST, (yyvsp[(3) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyvsp[(1) - (4)].node), params); store_pl_ref_object_symbol((yyval.node), result, REF_FUNC); } else { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 1, (yyvsp[(1) - (4)].node)); store_pl_ref_object_symbol((yyval.node), result, REF_FUNC); } ;} break; case 380: /* Line 1455 of yacc.c */ #line 2470 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if (NULL != (yyvsp[(5) - (6)].node)) { ParseNode *params = NULL; merge_nodes(params, result, T_EXPR_LIST, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_UDF, 4, (yyvsp[(3) - (6)].node), params, (yyvsp[(1) - (6)].node), NULL); store_pl_ref_object_symbol((yyval.node), result, REF_FUNC); } else { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_UDF, 4, (yyvsp[(3) - (6)].node), NULL, (yyvsp[(1) - (6)].node), NULL); store_pl_ref_object_symbol((yyval.node), result, REF_FUNC); } ;} break; case 381: /* Line 1455 of yacc.c */ #line 2485 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 382: /* Line 1455 of yacc.c */ #line 2492 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "interval"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_INTERVAL, 2, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node)); ;} break; case 383: /* Line 1455 of yacc.c */ #line 2497 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; ParseNode *params_node = NULL; make_name_node((yyval.node), result->malloc_pool_, "interval"); malloc_non_terminal_node(params, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(5) - (8)].node), (yyvsp[(7) - (8)].node)); merge_nodes(params_node, result, T_EXPR_LIST, params); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_INTERVAL, 2, (yyvsp[(3) - (8)].node), params_node); ;} break; case 384: /* Line 1455 of yacc.c */ #line 2509 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_UTC_TIMESTAMP, 1, NULL); ;} break; case 385: /* Line 1455 of yacc.c */ #line 2513 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_UTC_TIMESTAMP, 1, NULL); ;} break; case 386: /* Line 1455 of yacc.c */ #line 2517 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_UTC_TIMESTAMP, 1, (yyvsp[(3) - (4)].node)); ;} break; case 387: /* Line 1455 of yacc.c */ #line 2524 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_UTC_TIME, 1, NULL); ;} break; case 388: /* Line 1455 of yacc.c */ #line 2528 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_UTC_TIME, 1, NULL); ;} break; case 389: /* Line 1455 of yacc.c */ #line 2532 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_UTC_TIME, 1, (yyvsp[(3) - (4)].node)); ;} break; case 390: /* Line 1455 of yacc.c */ #line 2539 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_UTC_DATE, 1, NULL); ;} break; case 391: /* Line 1455 of yacc.c */ #line 2543 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_UTC_DATE, 1, NULL); ;} break; case 392: /* Line 1455 of yacc.c */ #line 2551 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_SYSDATE, 1, NULL); ;} break; case 393: /* Line 1455 of yacc.c */ #line 2555 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_SYSDATE, 1, (yyvsp[(3) - (4)].node)); ;} break; case 394: /* Line 1455 of yacc.c */ #line 2562 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_CUR_TIMESTAMP, 1, NULL); ;} break; case 395: /* Line 1455 of yacc.c */ #line 2566 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_CUR_TIMESTAMP, 1, (yyvsp[(3) - (4)].node)); ;} break; case 396: /* Line 1455 of yacc.c */ #line 2570 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (2)].node)); if (0 != (yyvsp[(2) - (2)].ival)[1]) { ParseNode *params = NULL; malloc_terminal_node(params, result->malloc_pool_, T_INT); params->value_ = (yyvsp[(2) - (2)].ival)[0]; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_CUR_TIMESTAMP, 1, params); } else { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_CUR_TIMESTAMP, 1, NULL); } ;} break; case 397: /* Line 1455 of yacc.c */ #line 2588 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 398: /* Line 1455 of yacc.c */ #line 2589 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 399: /* Line 1455 of yacc.c */ #line 2590 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 400: /* Line 1455 of yacc.c */ #line 2595 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_CUR_TIME, 1, NULL); ;} break; case 401: /* Line 1455 of yacc.c */ #line 2599 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_CUR_TIME, 1, (yyvsp[(3) - (4)].node)); ;} break; case 402: /* Line 1455 of yacc.c */ #line 2603 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if (0 != (yyvsp[(2) - (2)].ival)[1]) { ParseNode *params = NULL; malloc_terminal_node(params, result->malloc_pool_, T_INT); params->value_ = (yyvsp[(2) - (2)].ival)[0]; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_CUR_TIME, 1, params); } else { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_CUR_TIME, 1, NULL); } ;} break; case 403: /* Line 1455 of yacc.c */ #line 2620 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_CUR_DATE, 1, NULL); ;} break; case 404: /* Line 1455 of yacc.c */ #line 2624 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_CUR_DATE, 1, NULL); ;} break; case 405: /* Line 1455 of yacc.c */ #line 2628 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS_CUR_DATE, 1, NULL); ;} break; case 406: /* Line 1455 of yacc.c */ #line 2634 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = (yyvsp[(2) - (3)].node)->value_; (yyval.ival)[1] = 1; ;} break; case 407: /* Line 1455 of yacc.c */ #line 2635 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; (yyval.ival)[1] = 0; ;} break; case 408: /* Line 1455 of yacc.c */ #line 2636 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; (yyval.ival)[1] = 0; ;} break; case 409: /* Line 1455 of yacc.c */ #line 2643 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 410: /* Line 1455 of yacc.c */ #line 2647 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 411: /* Line 1455 of yacc.c */ #line 2655 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_LIST, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 412: /* Line 1455 of yacc.c */ #line 2659 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_LIST, 3, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 413: /* Line 1455 of yacc.c */ #line 2663 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_LIST, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 414: /* Line 1455 of yacc.c */ #line 2667 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_LIST, 3, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 415: /* Line 1455 of yacc.c */ #line 2674 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_LIST, 3, (yyvsp[(1) - (5)].node), (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 416: /* Line 1455 of yacc.c */ #line 2681 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_LIST, 3, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 417: /* Line 1455 of yacc.c */ #line 2688 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 418: /* Line 1455 of yacc.c */ #line 2690 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 419: /* Line 1455 of yacc.c */ #line 2695 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 420: /* Line 1455 of yacc.c */ #line 2699 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTINCT); ;} break; case 421: /* Line 1455 of yacc.c */ #line 2703 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTINCT); ;} break; case 422: /* Line 1455 of yacc.c */ #line 2710 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 423: /* Line 1455 of yacc.c */ #line 2714 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ALL); ;} break; case 424: /* Line 1455 of yacc.c */ #line 2718 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTINCT); ;} break; case 425: /* Line 1455 of yacc.c */ #line 2722 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTINCT); ;} break; case 426: /* Line 1455 of yacc.c */ #line 2729 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 427: /* Line 1455 of yacc.c */ #line 2733 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SEPARATOR_CLAUSE, 1, (yyvsp[(2) - (2)].node)); ;} break; case 428: /* Line 1455 of yacc.c */ #line 2745 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *from_list = NULL; ParseNode *delete_table_node = NULL; merge_nodes(from_list, result, T_TABLE_REFERENCES, (yyvsp[(3) - (6)].node)); malloc_non_terminal_node(delete_table_node, result->malloc_pool_, T_DELETE_TABLE_NODE, 2, NULL, /*0. delete list*/ from_list); /*1. from list*/ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DELETE, 7, delete_table_node, /* 0. table_node */ (yyvsp[(4) - (6)].node), /* 1. where */ (yyvsp[(5) - (6)].node), /* 2. order by */ (yyvsp[(6) - (6)].node), /* 3. limit */ NULL, /* 4. when */ (yyvsp[(1) - (6)].node), /* 5. hint */ NULL /* 6. returning, unused in mysql */ ); ;} break; case 429: /* Line 1455 of yacc.c */ #line 2764 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DELETE, 7, (yyvsp[(2) - (3)].node), /* 0. table_node */ (yyvsp[(3) - (3)].node), /* 1. where */ NULL, /* 2. order by */ NULL, /* 3. limit */ NULL, /* 4. when */ (yyvsp[(1) - (3)].node), /* 5. hint */ NULL /* 6. returning, unused in mysql */ ); ;} break; case 430: /* Line 1455 of yacc.c */ #line 2779 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *delete_list = NULL; ParseNode *from_list = NULL; merge_nodes(delete_list, result, T_TABLE_REFERENCES, (yyvsp[(1) - (3)].node)); merge_nodes(from_list, result, T_TABLE_REFERENCES, (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DELETE_TABLE_NODE, 2, delete_list, /*0. delete list*/ from_list); /*1. from list*/ ;} break; case 431: /* Line 1455 of yacc.c */ #line 2789 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *delete_list = NULL; ParseNode *from_list = NULL; merge_nodes(delete_list, result, T_TABLE_REFERENCES, (yyvsp[(2) - (4)].node)); merge_nodes(from_list, result, T_TABLE_REFERENCES, (yyvsp[(4) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DELETE_TABLE_NODE, 2, delete_list, /*0. delete list*/ from_list); /*1. from list*/ ;} break; case 432: /* Line 1455 of yacc.c */ #line 2808 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *from_list = NULL; ParseNode *assign_list = NULL; merge_nodes(from_list, result, T_TABLE_REFERENCES, (yyvsp[(3) - (8)].node)); merge_nodes(assign_list, result, T_ASSIGN_LIST, (yyvsp[(5) - (8)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_UPDATE, 9, from_list, /* 0. table node */ assign_list, /* 1. update list */ (yyvsp[(6) - (8)].node), /* 2. where node */ (yyvsp[(7) - (8)].node), /* 3. order by node */ (yyvsp[(8) - (8)].node), /* 4. limit node */ NULL, /* 5. when node */ (yyvsp[(1) - (8)].node), /* 6. hint node */ (yyvsp[(2) - (8)].node), /* 7. ignore */ NULL /* 8. returning, unused in mysql */ ); ;} break; case 433: /* Line 1455 of yacc.c */ #line 2830 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 434: /* Line 1455 of yacc.c */ #line 2834 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 435: /* Line 1455 of yacc.c */ #line 2841 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ASSIGN_ITEM, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 436: /* Line 1455 of yacc.c */ #line 2853 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *resource_options = NULL; merge_nodes(resource_options, result, T_RESOURCE_UNIT_OPTION_LIST, (yyvsp[(6) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_RESOURCE_UNIT, 3, (yyvsp[(4) - (6)].node), (yyvsp[(5) - (6)].node), /* resource unit name */ resource_options); /* resource opt */ ;} break; case 437: /* Line 1455 of yacc.c */ #line 2862 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *resource_options = NULL; merge_nodes(resource_options, result, T_RESOURCE_POOL_OPTION_LIST, (yyvsp[(6) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_RESOURCE_POOL, 3, (yyvsp[(4) - (6)].node), (yyvsp[(5) - (6)].node), // resource pool name resource_options); // resource opt ;} break; case 438: /* Line 1455 of yacc.c */ #line 2873 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 439: /* Line 1455 of yacc.c */ #line 2877 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 440: /* Line 1455 of yacc.c */ #line 2881 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 441: /* Line 1455 of yacc.c */ #line 2888 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MIN_CPU, 1, (yyvsp[(3) - (3)].node)); ;} break; case 442: /* Line 1455 of yacc.c */ #line 2893 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MIN_IOPS, 1, (yyvsp[(3) - (3)].node)); ;} break; case 443: /* Line 1455 of yacc.c */ #line 2898 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MIN_MEMORY, 1, (yyvsp[(3) - (3)].node)); ;} break; case 444: /* Line 1455 of yacc.c */ #line 2903 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MAX_CPU, 1, (yyvsp[(3) - (3)].node)); ;} break; case 445: /* Line 1455 of yacc.c */ #line 2908 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MAX_MEMORY, 1, (yyvsp[(3) - (3)].node)); ;} break; case 446: /* Line 1455 of yacc.c */ #line 2913 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MAX_IOPS, 1, (yyvsp[(3) - (3)].node)); ;} break; case 447: /* Line 1455 of yacc.c */ #line 2918 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MAX_DISK_SIZE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 448: /* Line 1455 of yacc.c */ #line 2923 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MAX_SESSION_NUM, 1, (yyvsp[(3) - (3)].node)); ;} break; case 449: /* Line 1455 of yacc.c */ #line 2931 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 450: /* Line 1455 of yacc.c */ #line 2935 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 451: /* Line 1455 of yacc.c */ #line 2939 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 452: /* Line 1455 of yacc.c */ #line 2946 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_UNIT, 1, (yyvsp[(3) - (3)].node)); ;} break; case 453: /* Line 1455 of yacc.c */ #line 2951 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); /*make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_UNIT_NUM, 1, (yyvsp[(3) - (3)].node)); ;} break; case 454: /* Line 1455 of yacc.c */ #line 2956 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (5)].node)); /* make bison mute */ merge_nodes((yyval.node), result, T_ZONE_LIST, (yyvsp[(4) - (5)].node)); ;} break; case 455: /* Line 1455 of yacc.c */ #line 2961 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_REPLICA_TYPE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 456: /* Line 1455 of yacc.c */ #line 2969 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 457: /* Line 1455 of yacc.c */ #line 2973 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 458: /* Line 1455 of yacc.c */ #line 2980 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 459: /* Line 1455 of yacc.c */ #line 2985 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 460: /* Line 1455 of yacc.c */ #line 2992 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(3) - (6)].node)); /* make bison mute */ merge_nodes((yyval.node), result, T_UNIT_ID_LIST, (yyvsp[(5) - (6)].node)); ;} break; case 461: /* Line 1455 of yacc.c */ #line 2997 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 462: /* Line 1455 of yacc.c */ #line 3004 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_UNIT, 1, (yyvsp[(3) - (3)].node)); ;} break; case 463: /* Line 1455 of yacc.c */ #line 3009 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (4)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_UNIT_NUM, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 464: /* Line 1455 of yacc.c */ #line 3014 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (5)].node)) ; /* make bison mute */ merge_nodes((yyval.node), result, T_ZONE_LIST, (yyvsp[(4) - (5)].node)); ;} break; case 465: /* Line 1455 of yacc.c */ #line 3022 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *resource_options = NULL; merge_nodes(resource_options, result, T_RESOURCE_UNIT_OPTION_LIST, (yyvsp[(5) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_RESOURCE_UNIT, 2, (yyvsp[(4) - (5)].node), /* resource unit name */ resource_options); /* resource opt */ ;} break; case 466: /* Line 1455 of yacc.c */ #line 3030 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *resource_pool_options = NULL; merge_nodes(resource_pool_options, result, T_RESOURCE_POOL_OPTION_LIST, (yyvsp[(5) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_RESOURCE_POOL, 2, (yyvsp[(4) - (5)].node), /* resource_pool name */ resource_pool_options); /* resource_pool opt */ ;} break; case 467: /* Line 1455 of yacc.c */ #line 3038 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *resource_pool_list = NULL; ParseNode *zone_list = NULL; merge_nodes(resource_pool_list, result, T_RESOURCE_POOL_LIST, (yyvsp[(8) - (13)].node)); merge_nodes(zone_list, result, T_ZONE_LIST, (yyvsp[(12) - (13)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SPLIT_RESOURCE_POOL, 3, (yyvsp[(4) - (13)].node), /* resource pool name */ resource_pool_list, /* new pool names */ zone_list); /* corresponding zones */ ;} break; case 468: /* Line 1455 of yacc.c */ #line 3049 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *old_resource_pool_list = NULL; ParseNode *new_resource_pool_list = NULL; merge_nodes(old_resource_pool_list, result, T_RESOURCE_POOL_LIST, (yyvsp[(6) - (11)].node)); merge_nodes(new_resource_pool_list, result, T_RESOURCE_POOL_LIST, (yyvsp[(10) - (11)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MERGE_RESOURCE_POOL, 2, old_resource_pool_list, /* to be merged*/ new_resource_pool_list); /* finish merge*/ ;} break; case 469: /* Line 1455 of yacc.c */ #line 3062 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DROP_RESOURCE_UNIT, 2, (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 470: /* Line 1455 of yacc.c */ #line 3066 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DROP_RESOURCE_POOL, 2, (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 471: /* Line 1455 of yacc.c */ #line 3079 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *tenant_options = NULL; merge_nodes(tenant_options, result, T_TENANT_OPTION_LIST, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_TENANT, 4, (yyvsp[(3) - (6)].node), /* if not exists */ (yyvsp[(4) - (6)].node), /* tenant name */ tenant_options, /* tenant opt */ (yyvsp[(6) - (6)].node)); /* system variable set opt */ ;} break; case 472: /* Line 1455 of yacc.c */ #line 3091 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 473: /* Line 1455 of yacc.c */ #line 3095 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 474: /* Line 1455 of yacc.c */ #line 3099 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 475: /* Line 1455 of yacc.c */ #line 3106 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LOGONLY_REPLICA_NUM, 1, (yyvsp[(3) - (3)].node)); ;} break; case 476: /* Line 1455 of yacc.c */ #line 3111 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (4)].node)) ; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LOCALITY, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 477: /* Line 1455 of yacc.c */ #line 3116 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_REPLICA_NUM, 1, (yyvsp[(3) - (3)].node)); ;} break; case 478: /* Line 1455 of yacc.c */ #line 3121 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_REWRITE_MERGE_VERSION, 1, (yyvsp[(3) - (3)].node)); ;} break; case 479: /* Line 1455 of yacc.c */ #line 3126 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_STORAGE_FORMAT_VERSION, 1, (yyvsp[(3) - (3)].node)); ;} break; case 480: /* Line 1455 of yacc.c */ #line 3131 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_STORAGE_FORMAT_WORK_VERSION, 1, (yyvsp[(3) - (3)].node)); ;} break; case 481: /* Line 1455 of yacc.c */ #line 3136 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PRIMARY_ZONE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 482: /* Line 1455 of yacc.c */ #line 3141 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (5)].node)) ; /* make bison mute */ merge_nodes((yyval.node), result, T_TENANT_RESOURCE_POOL_LIST, (yyvsp[(4) - (5)].node)); ;} break; case 483: /* Line 1455 of yacc.c */ #line 3146 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (5)].node)) ; /* make bison mute */ merge_nodes((yyval.node), result, T_ZONE_LIST, (yyvsp[(4) - (5)].node)); ;} break; case 484: /* Line 1455 of yacc.c */ #line 3151 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (3)].node)); (void)((yyvsp[(2) - (3)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_CHARSET); (yyval.node)->str_value_ = (yyvsp[(3) - (3)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(3) - (3)].node)->str_len_; ;} break; case 485: /* Line 1455 of yacc.c */ #line 3159 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_COLLATION); (yyval.node)->str_value_ = (yyvsp[(3) - (3)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(3) - (3)].node)->str_len_; (yyval.node)->param_num_ = (yyvsp[(3) - (3)].node)->param_num_; ;} break; case 486: /* Line 1455 of yacc.c */ #line 3167 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_READ_ONLY, 1, (yyvsp[(1) - (1)].node)); ;} break; case 487: /* Line 1455 of yacc.c */ #line 3171 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); /* make bison mute*/ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COMMENT, 1, (yyvsp[(3) - (3)].node)); ;} break; case 488: /* Line 1455 of yacc.c */ #line 3176 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 489: /* Line 1455 of yacc.c */ #line 3180 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PROGRESSIVE_MERGE_NUM, 1, (yyvsp[(3) - (3)].node)); ;} break; case 490: /* Line 1455 of yacc.c */ #line 3188 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_VARIABLE_SET, (yyvsp[(2) - (2)].node)); ;} break; case 491: /* Line 1455 of yacc.c */ #line 3192 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_VARIABLE_SET, (yyvsp[(3) - (3)].node)); ;} break; case 492: /* Line 1455 of yacc.c */ #line 3196 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_VARIABLE_SET, (yyvsp[(2) - (2)].node)); ;} break; case 493: /* Line 1455 of yacc.c */ #line 3200 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 494: /* Line 1455 of yacc.c */ #line 3206 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_VARIABLE_SET, (yyvsp[(2) - (2)].node)); ;} break; case 495: /* Line 1455 of yacc.c */ #line 3210 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 496: /* Line 1455 of yacc.c */ #line 3219 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 497: /* Line 1455 of yacc.c */ #line 3221 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 498: /* Line 1455 of yacc.c */ #line 3226 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 499: /* Line 1455 of yacc.c */ #line 3228 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 500: /* Line 1455 of yacc.c */ #line 3233 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(4) - (6)].node); ParseNode *tenant_options = NULL; merge_nodes(tenant_options, result, T_TENANT_OPTION_LIST, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MODIFY_TENANT, 4, (yyvsp[(3) - (6)].node), /* tenant name */ tenant_options, /* tenant opt */ (yyvsp[(6) - (6)].node), /* global sys vars set opt */ NULL); /* new tenant name */ ;} break; case 501: /* Line 1455 of yacc.c */ #line 3244 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(4) - (6)].node); ParseNode *tenant_options = NULL; merge_nodes(tenant_options, result, T_TENANT_OPTION_LIST, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MODIFY_TENANT, 4, NULL, /* tenant name */ tenant_options, /* tenant opt */ (yyvsp[(6) - (6)].node), /* global sys vars set opt */ NULL); /* new tenant name */ ;} break; case 502: /* Line 1455 of yacc.c */ #line 3255 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MODIFY_TENANT, 4, (yyvsp[(3) - (7)].node), /* tenant name */ NULL, /* tenant opt */ NULL, /* global sys vars set opt */ (yyvsp[(7) - (7)].node)); /* new tenant name */ ;} break; case 503: /* Line 1455 of yacc.c */ #line 3263 "../../../src/sql/parser/sql_parser_mysql_mode.y" { /*ParseNode *tenant_options = NULL;*/ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LOCK_TENANT, 2, (yyvsp[(3) - (4)].node), /* tenant name */ (yyvsp[(4) - (4)].node)); /* lock opt */ ;} break; case 504: /* Line 1455 of yacc.c */ #line 3273 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DROP_TENANT, 3, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 505: /* Line 1455 of yacc.c */ #line 3280 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_RESTORE_POINT, 1, (yyvsp[(4) - (4)].node)); ;} break; case 506: /* Line 1455 of yacc.c */ #line 3286 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DROP_RESTORE_POINT, 1, (yyvsp[(4) - (4)].node)); ;} break; case 507: /* Line 1455 of yacc.c */ #line 3299 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (5)].node)); ParseNode *database_option = NULL; merge_nodes(database_option, result, T_DATABASE_OPTION_LIST, (yyvsp[(5) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_DATABASE, 3, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node), database_option); ;} break; case 508: /* Line 1455 of yacc.c */ #line 3309 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 509: /* Line 1455 of yacc.c */ #line 3313 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 510: /* Line 1455 of yacc.c */ #line 3319 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 511: /* Line 1455 of yacc.c */ #line 3326 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 512: /* Line 1455 of yacc.c */ #line 3330 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 513: /* Line 1455 of yacc.c */ #line 3337 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 514: /* Line 1455 of yacc.c */ #line 3341 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 515: /* Line 1455 of yacc.c */ #line 3348 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 516: /* Line 1455 of yacc.c */ #line 3352 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 517: /* Line 1455 of yacc.c */ #line 3358 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (4)].node)); (void)((yyvsp[(2) - (4)].node)); (void)((yyvsp[(3) - (4)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_CHARSET); (yyval.node)->str_value_ = (yyvsp[(4) - (4)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(4) - (4)].node)->str_len_; ;} break; case 518: /* Line 1455 of yacc.c */ #line 3367 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (4)].node)); (void)((yyvsp[(3) - (4)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_COLLATION); (yyval.node)->str_value_ = (yyvsp[(4) - (4)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(4) - (4)].node)->str_len_; (yyval.node)->param_num_ = (yyvsp[(4) - (4)].node)->param_num_; ;} break; case 519: /* Line 1455 of yacc.c */ #line 3376 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_REPLICA_NUM); (yyval.node)->value_ = (yyvsp[(3) - (3)].node)->value_; ;} break; case 520: /* Line 1455 of yacc.c */ #line 3382 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PRIMARY_ZONE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 521: /* Line 1455 of yacc.c */ #line 3387 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_READ_ONLY, 1, (yyvsp[(1) - (1)].node)); ;} break; case 522: /* Line 1455 of yacc.c */ #line 3391 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 523: /* Line 1455 of yacc.c */ #line 3395 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DATABASE_ID, 1, (yyvsp[(3) - (3)].node)); ;} break; case 524: /* Line 1455 of yacc.c */ #line 3402 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ON); ;} break; case 525: /* Line 1455 of yacc.c */ #line 3404 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_OFF); ;} break; case 526: /* Line 1455 of yacc.c */ #line 3414 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DROP_DATABASE, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 527: /* Line 1455 of yacc.c */ #line 3427 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (5)].node)); (void)((yyvsp[(4) - (5)].node)); ParseNode *database_option = NULL; merge_nodes(database_option, result, T_DATABASE_OPTION_LIST, (yyvsp[(5) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_DATABASE, 2, (yyvsp[(3) - (5)].node), database_option); ;} break; case 528: /* Line 1455 of yacc.c */ #line 3438 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 529: /* Line 1455 of yacc.c */ #line 3442 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 530: /* Line 1455 of yacc.c */ #line 3455 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void) (yyvsp[(9) - (15)].node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LOAD_DATA, 11, (yyvsp[(2) - (15)].node), /* 0. local */ (yyvsp[(4) - (15)].node), /* 1. filename */ (yyvsp[(5) - (15)].node), /* 2. duplicate */ (yyvsp[(8) - (15)].node), /* 3. table */ (yyvsp[(10) - (15)].node), /* 4. charset */ (yyvsp[(11) - (15)].node), /* 5. field */ (yyvsp[(12) - (15)].node), /* 6. line */ (yyvsp[(13) - (15)].node), /* 7. ignore rows */ (yyvsp[(14) - (15)].node), /* 8. field or vars */ (yyvsp[(15) - (15)].node), /* 9. set field */ (yyvsp[(1) - (15)].node) /* 10. hint */ ); ;} break; case 531: /* Line 1455 of yacc.c */ #line 3474 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 532: /* Line 1455 of yacc.c */ #line 3476 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = (yyvsp[(2) - (2)].node);;} break; case 533: /* Line 1455 of yacc.c */ #line 3481 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 534: /* Line 1455 of yacc.c */ #line 3485 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_LOCAL); ;} break; case 535: /* Line 1455 of yacc.c */ #line 3489 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_REMOTE_OSS); ;} break; case 536: /* Line 1455 of yacc.c */ #line 3495 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 537: /* Line 1455 of yacc.c */ #line 3496 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_IGNORE); ;} break; case 538: /* Line 1455 of yacc.c */ #line 3497 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_REPLACE); ;} break; case 539: /* Line 1455 of yacc.c */ #line 3501 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 540: /* Line 1455 of yacc.c */ #line 3503 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SET_CHARSET, 1, (yyvsp[(3) - (3)].node)); ;} break; case 541: /* Line 1455 of yacc.c */ #line 3509 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 542: /* Line 1455 of yacc.c */ #line 3511 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void) (yyvsp[(3) - (3)].node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_IGNORE_ROWS, 1, (yyvsp[(2) - (3)].node)); ;} break; case 543: /* Line 1455 of yacc.c */ #line 3516 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void) (yyvsp[(3) - (3)].node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_GEN_ROWS, 1, (yyvsp[(2) - (3)].node)); ;} break; case 544: /* Line 1455 of yacc.c */ #line 3523 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 545: /* Line 1455 of yacc.c */ #line 3524 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 546: /* Line 1455 of yacc.c */ #line 3528 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 547: /* Line 1455 of yacc.c */ #line 3529 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 548: /* Line 1455 of yacc.c */ #line 3531 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_COLUMN_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 549: /* Line 1455 of yacc.c */ #line 3538 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 550: /* Line 1455 of yacc.c */ #line 3542 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 551: /* Line 1455 of yacc.c */ #line 3549 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 552: /* Line 1455 of yacc.c */ #line 3553 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_USER_VARIABLE_IDENTIFIER, 1, (yyvsp[(1) - (1)].node)); dup_node_string((yyvsp[(1) - (1)].node), (yyval.node), result->malloc_pool_); ;} break; case 553: /* Line 1455 of yacc.c */ #line 3560 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 554: /* Line 1455 of yacc.c */ #line 3562 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_VALUE_LIST, (yyvsp[(2) - (2)].node)); ;} break; case 555: /* Line 1455 of yacc.c */ #line 3569 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 556: /* Line 1455 of yacc.c */ #line 3573 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 557: /* Line 1455 of yacc.c */ #line 3580 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ASSIGN_ITEM, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 558: /* Line 1455 of yacc.c */ #line 3592 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_USE_DATABASE, 1, (yyvsp[(2) - (2)].node)); ;} break; case 559: /* Line 1455 of yacc.c */ #line 3605 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_SYNONYM, 7, (yyvsp[(2) - (8)].node), /*or replace*/ (yyvsp[(3) - (8)].node), /* public */ NULL, /* opt schema name */ (yyvsp[(5) - (8)].node), /* synonym name */ NULL, /* opt schema name */ (yyvsp[(7) - (8)].node), /* synonym object */ (yyvsp[(8) - (8)].node)); /* partition optition */ ;} break; case 560: /* Line 1455 of yacc.c */ #line 3621 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_SYNONYM, 7, (yyvsp[(2) - (10)].node), /*or replace*/ (yyvsp[(3) - (10)].node), /* public */ (yyvsp[(5) - (10)].node), /* opt schema name */ (yyvsp[(7) - (10)].node), /* synonym name */ NULL, /* opt schema name */ (yyvsp[(9) - (10)].node), /* synonym object */ (yyvsp[(10) - (10)].node)); /* partition optition */ ;} break; case 561: /* Line 1455 of yacc.c */ #line 3637 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_SYNONYM, 7, (yyvsp[(2) - (10)].node), /*or replace*/ (yyvsp[(3) - (10)].node), /* public */ NULL, /* opt schema name */ (yyvsp[(5) - (10)].node), /* synonym name */ (yyvsp[(7) - (10)].node), /* opt schema name */ (yyvsp[(9) - (10)].node), /* synonym object */ (yyvsp[(10) - (10)].node)); /* partition optition */ ;} break; case 562: /* Line 1455 of yacc.c */ #line 3652 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_SYNONYM, 7, (yyvsp[(2) - (12)].node), /*or replace*/ (yyvsp[(3) - (12)].node), /* public */ (yyvsp[(5) - (12)].node), /* opt schema name */ (yyvsp[(7) - (12)].node), /* synonym name */ (yyvsp[(9) - (12)].node), /* opt schema name */ (yyvsp[(11) - (12)].node), /* synonym object */ (yyvsp[(12) - (12)].node)); /* partition optition */ ;} break; case 563: /* Line 1455 of yacc.c */ #line 3669 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PUBLIC); ;} break; case 564: /* Line 1455 of yacc.c */ #line 3672 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 565: /* Line 1455 of yacc.c */ #line 3678 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 566: /* Line 1455 of yacc.c */ #line 3680 "../../../src/sql/parser/sql_parser_mysql_mode.y" { get_non_reserved_node((yyval.node), result->malloc_pool_, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 567: /* Line 1455 of yacc.c */ #line 3687 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node);;} break; case 568: /* Line 1455 of yacc.c */ #line 3690 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 569: /* Line 1455 of yacc.c */ #line 3695 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 570: /* Line 1455 of yacc.c */ #line 3697 "../../../src/sql/parser/sql_parser_mysql_mode.y" { get_non_reserved_node((yyval.node), result->malloc_pool_, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 571: /* Line 1455 of yacc.c */ #line 3709 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DROP_SYNONYM, 4, (yyvsp[(2) - (5)].node), /*opt public*/ NULL, /* opt schema name */ (yyvsp[(4) - (5)].node), /* synonym name */ (yyvsp[(5) - (5)].node)); /* opt force */ ;} break; case 572: /* Line 1455 of yacc.c */ #line 3721 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DROP_SYNONYM, 4, (yyvsp[(2) - (7)].node), /*opt public*/ (yyvsp[(4) - (7)].node), /* opt schema name */ (yyvsp[(6) - (7)].node), /* synonym name */ (yyvsp[(7) - (7)].node)); /* opt force */ ;} break; case 573: /* Line 1455 of yacc.c */ #line 3735 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_FORCE); ;} break; case 574: /* Line 1455 of yacc.c */ #line 3738 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 575: /* Line 1455 of yacc.c */ #line 3743 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_FORCE); ;} break; case 576: /* Line 1455 of yacc.c */ #line 3746 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PURGE); ;} break; case 577: /* Line 1455 of yacc.c */ #line 3749 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 578: /* Line 1455 of yacc.c */ #line 3754 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TEMPORARY); ;} break; case 579: /* Line 1455 of yacc.c */ #line 3757 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 580: /* Line 1455 of yacc.c */ #line 3768 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_TABLE_LIKE, 4, (yyvsp[(2) - (7)].node), (yyvsp[(4) - (7)].node), (yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)); ;} break; case 581: /* Line 1455 of yacc.c */ #line 3772 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_TABLE_LIKE, 4, (yyvsp[(2) - (9)].node), (yyvsp[(4) - (9)].node), (yyvsp[(5) - (9)].node), (yyvsp[(8) - (9)].node)); ;} break; case 582: /* Line 1455 of yacc.c */ #line 3786 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *table_elements = NULL; ParseNode *table_options = NULL; merge_nodes(table_elements, result, T_TABLE_ELEMENT_LIST, (yyvsp[(7) - (10)].node)); merge_nodes(table_options, result, T_TABLE_OPTION_LIST, (yyvsp[(9) - (10)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_TABLE, 7, (yyvsp[(2) - (10)].node), /* temporary option */ (yyvsp[(4) - (10)].node), /* if not exists */ (yyvsp[(5) - (10)].node), /* table name */ table_elements, /* columns or primary key */ table_options, /* table option(s) */ (yyvsp[(10) - (10)].node), /* partition optition */ NULL); /* The on commit option for storing temporary tables in oracle compatibility mode */ ;} break; case 583: /* Line 1455 of yacc.c */ #line 3803 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(11) - (12)].node); ParseNode *table_elements = NULL; ParseNode *table_options = NULL; merge_nodes(table_elements, result, T_TABLE_ELEMENT_LIST, (yyvsp[(7) - (12)].node)); merge_nodes(table_options, result, T_TABLE_OPTION_LIST, (yyvsp[(9) - (12)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_TABLE, 8, (yyvsp[(2) - (12)].node), /* temporary option */ (yyvsp[(4) - (12)].node), /* if not exists */ (yyvsp[(5) - (12)].node), /* table name */ table_elements, /* columns or primary key */ table_options, /* table option(s) */ (yyvsp[(10) - (12)].node), /* partition optition */ NULL, /* The on commit option for storing temporary tables in oracle compatibility mode */ (yyvsp[(12) - (12)].node)); /* select_stmt */ ;} break; case 584: /* Line 1455 of yacc.c */ #line 3821 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(8) - (9)].node); ParseNode *table_options = NULL; merge_nodes(table_options, result, T_TABLE_OPTION_LIST, (yyvsp[(6) - (9)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_TABLE, 8, (yyvsp[(2) - (9)].node), /* temporary option */ (yyvsp[(4) - (9)].node), /* if not exists */ (yyvsp[(5) - (9)].node), /* table name */ NULL, /* columns or primary key */ table_options, /* table option(s) */ (yyvsp[(7) - (9)].node), /* partition optition */ NULL, /* The on commit option for storing temporary tables in oracle compatibility mode */ (yyvsp[(9) - (9)].node)); /* select_stmt */ ;} break; case 585: /* Line 1455 of yacc.c */ #line 3837 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(7) - (8)].node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_TABLE, 8, (yyvsp[(2) - (8)].node), /* temporary option */ (yyvsp[(4) - (8)].node), /* if not exists */ (yyvsp[(5) - (8)].node), /* table name */ NULL, /* columns or primary key */ NULL, /* table option(s) */ (yyvsp[(6) - (8)].node), /* partition optition */ NULL, /* The on commit option for storing temporary tables in oracle compatibility mode */ (yyvsp[(8) - (8)].node)); /* select_stmt */ ;} break; case 586: /* Line 1455 of yacc.c */ #line 3851 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_TABLE, 8, (yyvsp[(2) - (6)].node), /* temporary option */ (yyvsp[(4) - (6)].node), /* if not exists */ (yyvsp[(5) - (6)].node), /* table name */ NULL, /* columns or primary key */ NULL, /* table option(s) */ NULL, /* partition optition */ NULL, /* The on commit option for storing temporary tables in oracle compatibility mode */ (yyvsp[(6) - (6)].node)); /* select_stmt */ ;} break; case 587: /* Line 1455 of yacc.c */ #line 3864 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_TABLE, 8, (yyvsp[(2) - (7)].node), /* temporary option */ (yyvsp[(4) - (7)].node), /* if not exists */ (yyvsp[(5) - (7)].node), /* table name */ NULL, /* columns or primary key */ NULL, /* table option(s) */ NULL, /* partition optition */ NULL, /* The on commit option for storing temporary tables in oracle compatibility mode */ (yyvsp[(7) - (7)].node)); /* select_stmt */ ;} break; case 588: /* Line 1455 of yacc.c */ #line 3880 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 589: /* Line 1455 of yacc.c */ #line 3885 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 590: /* Line 1455 of yacc.c */ #line 3893 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 591: /* Line 1455 of yacc.c */ #line 3899 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 592: /* Line 1455 of yacc.c */ #line 3905 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 3; ;} break; case 593: /* Line 1455 of yacc.c */ #line 3911 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 4; ;} break; case 594: /* Line 1455 of yacc.c */ #line 3919 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_FUNC, 4, (yyvsp[(2) - (8)].node), (yyvsp[(4) - (8)].node), (yyvsp[(6) - (8)].node), (yyvsp[(8) - (8)].node)); ;} break; case 595: /* Line 1455 of yacc.c */ #line 3926 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DROP_FUNC, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 596: /* Line 1455 of yacc.c */ #line 3933 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_IF_NOT_EXISTS); ;} break; case 597: /* Line 1455 of yacc.c */ #line 3937 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 598: /* Line 1455 of yacc.c */ #line 3942 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 599: /* Line 1455 of yacc.c */ #line 3946 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 600: /* Line 1455 of yacc.c */ #line 3953 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 601: /* Line 1455 of yacc.c */ #line 3957 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (9)].node)); ParseNode *col_list= NULL; merge_nodes(col_list, result, T_COLUMN_LIST, (yyvsp[(6) - (9)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PRIMARY_KEY, 3, col_list, NULL != (yyvsp[(8) - (9)].node) ? (yyvsp[(8) - (9)].node) : (yyvsp[(4) - (9)].node), (yyvsp[(9) - (9)].node)); ;} break; case 602: /* Line 1455 of yacc.c */ #line 3964 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (7)].node)); ParseNode *col_list = NULL; ParseNode *index_option = NULL; merge_nodes(col_list, result, T_INDEX_COLUMN_LIST, (yyvsp[(5) - (7)].node)); merge_nodes(index_option, result, T_TABLE_OPTION_LIST, (yyvsp[(7) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INDEX, 4, (yyvsp[(2) - (7)].node), col_list, index_option, (yyvsp[(3) - (7)].node)); (yyval.node)->value_ = 0; ;} break; case 603: /* Line 1455 of yacc.c */ #line 3974 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (8)].node)); ParseNode *col_list = NULL; ParseNode *index_option = NULL; merge_nodes(col_list, result, T_INDEX_COLUMN_LIST, (yyvsp[(6) - (8)].node)); merge_nodes(index_option, result, T_TABLE_OPTION_LIST, (yyvsp[(8) - (8)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INDEX, 4, (yyvsp[(3) - (8)].node), col_list, index_option, (yyvsp[(4) - (8)].node)); (yyval.node)->value_ = 1; ;} break; case 604: /* Line 1455 of yacc.c */ #line 3984 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(4) - (10)].node)); ParseNode *col_list = NULL; ParseNode *index_option = NULL; merge_nodes(col_list, result, T_INDEX_COLUMN_LIST, (yyvsp[(8) - (10)].node)); merge_nodes(index_option, result, T_TABLE_OPTION_LIST, (yyvsp[(10) - (10)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INDEX, 4, (yyvsp[(5) - (10)].node) ? (yyvsp[(5) - (10)].node) : (yyvsp[(2) - (10)].node), col_list, index_option, (yyvsp[(6) - (10)].node)); (yyval.node)->value_ = 1; ;} break; case 605: /* Line 1455 of yacc.c */ #line 3994 "../../../src/sql/parser/sql_parser_mysql_mode.y" { dup_expr_string((yyvsp[(5) - (6)].node), result, (yylsp[(5) - (6)]).first_column, (yylsp[(5) - (6)]).last_column); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CHECK_CONSTRAINT, 2, (yyvsp[(2) - (6)].node), (yyvsp[(5) - (6)].node)); (yyval.node)->value_ = 1; ;} break; case 606: /* Line 1455 of yacc.c */ #line 4000 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *child_col_list= NULL; ParseNode *parent_col_list= NULL; ParseNode *reference_option_list = NULL; merge_nodes(child_col_list, result, T_COLUMN_LIST, (yyvsp[(6) - (14)].node)); merge_nodes(parent_col_list, result, T_COLUMN_LIST, (yyvsp[(11) - (14)].node)); merge_nodes(reference_option_list, result, T_REFERENCE_OPTION_LIST, (yyvsp[(14) - (14)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FOREIGN_KEY, 7, child_col_list, (yyvsp[(9) - (14)].node), parent_col_list, reference_option_list, (yyvsp[(1) - (14)].node), (yyvsp[(4) - (14)].node), (yyvsp[(13) - (14)].node)); ;} break; case 607: /* Line 1455 of yacc.c */ #line 4013 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 608: /* Line 1455 of yacc.c */ #line 4017 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 609: /* Line 1455 of yacc.c */ #line 4024 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_REFERENCE_OPTION); (yyval.node)->int32_values_[0] = T_UPDATE; (yyval.node)->int32_values_[1] = (yyvsp[(3) - (3)].ival)[0]; ;} break; case 610: /* Line 1455 of yacc.c */ #line 4030 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_REFERENCE_OPTION); (yyval.node)->int32_values_[0] = T_DELETE; (yyval.node)->int32_values_[1] = (yyvsp[(3) - (3)].ival)[0]; ;} break; case 611: /* Line 1455 of yacc.c */ #line 4039 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_RESTRICT; ;} break; case 612: /* Line 1455 of yacc.c */ #line 4043 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_CASCADE; ;} break; case 613: /* Line 1455 of yacc.c */ #line 4047 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (2)].node)); (yyval.ival)[0] = T_SET_NULL; ;} break; case 614: /* Line 1455 of yacc.c */ #line 4052 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_NO_ACTION; ;} break; case 615: /* Line 1455 of yacc.c */ #line 4056 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_SET_DEFAULT; ;} break; case 616: /* Line 1455 of yacc.c */ #line 4063 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_FOREIGN_KEY_MATCH); (yyval.node)->int32_values_[0] = (yyvsp[(2) - (2)].ival)[0]; ;} break; case 617: /* Line 1455 of yacc.c */ #line 4068 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 618: /* Line 1455 of yacc.c */ #line 4075 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_SIMPLE; ;} break; case 619: /* Line 1455 of yacc.c */ #line 4079 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_FULL; ;} break; case 620: /* Line 1455 of yacc.c */ #line 4083 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_PARTIAL; ;} break; case 621: /* Line 1455 of yacc.c */ #line 4091 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *attributes = NULL; merge_nodes(attributes, result, T_COLUMN_ATTRIBUTES, (yyvsp[(3) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_DEFINITION, 4, (yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].node), attributes, (yyvsp[(4) - (4)].node)); ;} break; case 622: /* Line 1455 of yacc.c */ #line 4097 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(3) - (10)].node)); ParseNode *attributes = NULL; dup_expr_string((yyvsp[(6) - (10)].node), result, (yylsp[(6) - (10)]).first_column, (yylsp[(6) - (10)]).last_column); merge_nodes(attributes, result, T_COLUMN_ATTRIBUTES, (yyvsp[(9) - (10)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_DEFINITION, 6, (yyvsp[(1) - (10)].node), (yyvsp[(2) - (10)].node), attributes, (yyvsp[(6) - (10)].node), (yyvsp[(8) - (10)].node), (yyvsp[(10) - (10)].node)); ;} break; case 623: /* Line 1455 of yacc.c */ #line 4108 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 624: /* Line 1455 of yacc.c */ #line 4112 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 625: /* Line 1455 of yacc.c */ #line 4119 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 626: /* Line 1455 of yacc.c */ #line 4123 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 627: /* Line 1455 of yacc.c */ #line 4129 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (2)].node)) ; /* make bison mute */ malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_NOT_NULL); ;} break; case 628: /* Line 1455 of yacc.c */ #line 4134 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (1)].node)) ; /* make bison mute */ malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_NULL); ;} break; case 629: /* Line 1455 of yacc.c */ #line 4139 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_UNIQUE_KEY); ;} break; case 630: /* Line 1455 of yacc.c */ #line 4143 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (2)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_PRIMARY_KEY); ;} break; case 631: /* Line 1455 of yacc.c */ #line 4148 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_UNIQUE_KEY); ;} break; case 632: /* Line 1455 of yacc.c */ #line 4152 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COMMENT, 1, (yyvsp[(2) - (2)].node)); ;} break; case 633: /* Line 1455 of yacc.c */ #line 4156 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_ID, 1, (yyvsp[(2) - (2)].node)); ;} break; case 634: /* Line 1455 of yacc.c */ #line 4163 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_VIRTUAL_COLUMN); ;} break; case 635: /* Line 1455 of yacc.c */ #line 4167 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_STORED_COLUMN); ;} break; case 636: /* Line 1455 of yacc.c */ #line 4171 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 637: /* Line 1455 of yacc.c */ #line 4178 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_REF, 3, NULL, NULL, (yyvsp[(1) - (1)].node)); dup_node_string((yyvsp[(1) - (1)].node), (yyval.node), result->malloc_pool_); ;} break; case 638: /* Line 1455 of yacc.c */ #line 4183 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_REF, 3, NULL, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); dup_node_string((yyvsp[(3) - (3)].node), (yyval.node), result->malloc_pool_); ;} break; case 639: /* Line 1455 of yacc.c */ #line 4188 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_REF, 3, (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); dup_node_string((yyvsp[(5) - (5)].node), (yyval.node), result->malloc_pool_); ;} break; case 640: /* Line 1455 of yacc.c */ #line 4197 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 641: /* Line 1455 of yacc.c */ #line 4201 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 642: /* Line 1455 of yacc.c */ #line 4208 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CAST_ARGUMENT); (yyval.node)->value_ = 0; (yyval.node)->int16_values_[OB_NODE_CAST_TYPE_IDX] = T_CHAR; /* data type */ (yyval.node)->int16_values_[OB_NODE_CAST_COLL_IDX] = BINARY_COLLATION; /* is binary */ (yyval.node)->int32_values_[OB_NODE_CAST_C_LEN_IDX] = (yyvsp[(2) - (2)].ival)[0]; /* length */ (yyval.node)->param_num_ = (yyvsp[(2) - (2)].ival)[1]; ;} break; case 643: /* Line 1455 of yacc.c */ #line 4217 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(3) - (3)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_CAST_ARGUMENT); (yyval.node)->value_ = 0; (yyval.node)->int16_values_[OB_NODE_CAST_TYPE_IDX] = T_CHAR;//to keep consitent with mysql (yyval.node)->int16_values_[OB_NODE_CAST_COLL_IDX] = INVALID_COLLATION; /* is char */ (yyval.node)->int32_values_[OB_NODE_CAST_C_LEN_IDX] = (yyvsp[(2) - (3)].ival)[0]; /* length */ (yyval.node)->param_num_ = (yyvsp[(2) - (3)].ival)[1]; ;} break; case 644: /* Line 1455 of yacc.c */ #line 4227 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CAST_ARGUMENT); (yyval.node)->value_ = 0; (yyval.node)->int16_values_[OB_NODE_CAST_TYPE_IDX] = (yyvsp[(1) - (2)].ival)[0]; (yyval.node)->int16_values_[OB_NODE_CAST_N_SCALE_IDX] = (yyvsp[(2) - (2)].ival)[0]; (yyval.node)->param_num_ = (yyvsp[(1) - (2)].ival)[1] + (yyvsp[(2) - (2)].ival)[1]; ;} break; case 645: /* Line 1455 of yacc.c */ #line 4235 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CAST_ARGUMENT); (yyval.node)->value_ = 0; (yyval.node)->int16_values_[OB_NODE_CAST_TYPE_IDX] = T_NUMBER; if (NULL != (yyvsp[(2) - (2)].node)) { (yyval.node)->int16_values_[OB_NODE_CAST_N_PREC_IDX] = (yyvsp[(2) - (2)].node)->int16_values_[0]; /* precision */ (yyval.node)->int16_values_[OB_NODE_CAST_N_SCALE_IDX] = (yyvsp[(2) - (2)].node)->int16_values_[1]; /* scale */ (yyval.node)->param_num_ = (yyvsp[(2) - (2)].node)->param_num_; } ;} break; case 646: /* Line 1455 of yacc.c */ #line 4246 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CAST_ARGUMENT); (yyval.node)->value_ = 0; (yyval.node)->int16_values_[OB_NODE_CAST_TYPE_IDX] = T_NUMBER; if (NULL != (yyvsp[(2) - (2)].node)) { (yyval.node)->int16_values_[OB_NODE_CAST_N_PREC_IDX] = (yyvsp[(2) - (2)].node)->int16_values_[0]; /* precision */ (yyval.node)->int16_values_[OB_NODE_CAST_N_SCALE_IDX] = (yyvsp[(2) - (2)].node)->int16_values_[1]; /* scale */ (yyval.node)->param_num_ = (yyvsp[(2) - (2)].node)->param_num_; } ;} break; case 647: /* Line 1455 of yacc.c */ #line 4257 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (2)].ival)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_CAST_ARGUMENT); (yyval.node)->value_ = 0; (yyval.node)->int16_values_[OB_NODE_CAST_TYPE_IDX] = T_INT; (yyval.node)->param_num_ = (yyvsp[(2) - (2)].ival)[1]; ;} break; case 648: /* Line 1455 of yacc.c */ #line 4265 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CAST_ARGUMENT); (yyval.node)->value_ = 0; (yyval.node)->int16_values_[OB_NODE_CAST_TYPE_IDX] = T_UINT64; (yyval.node)->param_num_ = (yyvsp[(2) - (2)].ival)[1]; ;} break; case 649: /* Line 1455 of yacc.c */ #line 4272 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CAST_ARGUMENT); (yyval.node)->value_ = 0; (yyval.node)->int16_values_[OB_NODE_CAST_TYPE_IDX] = T_DOUBLE; (yyval.node)->int16_values_[OB_NODE_CAST_N_PREC_IDX] = -1; /* precision */ (yyval.node)->int16_values_[OB_NODE_CAST_N_SCALE_IDX] = -1; /* scale */ (yyval.node)->param_num_ = 0; ;} break; case 650: /* Line 1455 of yacc.c */ #line 4283 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; (yyval.ival)[1] = 0;;} break; case 651: /* Line 1455 of yacc.c */ #line 4284 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; (yyval.ival)[1] = 0;;} break; case 652: /* Line 1455 of yacc.c */ #line 4288 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_DATETIME; (yyval.ival)[1] = 0; ;} break; case 653: /* Line 1455 of yacc.c */ #line 4289 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_DATE; (yyval.ival)[1] = 0; ;} break; case 654: /* Line 1455 of yacc.c */ #line 4290 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_TIME; (yyval.ival)[1] = 0; ;} break; case 655: /* Line 1455 of yacc.c */ #line 4295 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = GET_FORMAT_DATETIME; ;} break; case 656: /* Line 1455 of yacc.c */ #line 4300 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = GET_FORMAT_DATE; ;} break; case 657: /* Line 1455 of yacc.c */ #line 4305 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = GET_FORMAT_TIME; ;} break; case 658: /* Line 1455 of yacc.c */ #line 4313 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, ((yyvsp[(3) - (4)].ival)[0] || (yyvsp[(4) - (4)].ival)[0]) ? (yyvsp[(1) - (4)].ival)[0] + (T_UTINYINT - T_TINYINT) : (yyvsp[(1) - (4)].ival)[0]); (yyval.node)->int16_values_[0] = (yyvsp[(2) - (4)].ival)[0]; (yyval.node)->int16_values_[2] = (yyvsp[(4) - (4)].ival)[0]; /* 2 is the same index as float or number. */ ;} break; case 659: /* Line 1455 of yacc.c */ #line 4319 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, ((yyvsp[(3) - (4)].ival)[0] || (yyvsp[(4) - (4)].ival)[0]) ? (yyvsp[(1) - (4)].ival)[0] + (T_UFLOAT - T_FLOAT) : (yyvsp[(1) - (4)].ival)[0]); if (NULL != (yyvsp[(2) - (4)].node)) { (yyval.node)->int16_values_[0] = (yyvsp[(2) - (4)].node)->int16_values_[0]; (yyval.node)->int16_values_[1] = (yyvsp[(2) - (4)].node)->int16_values_[1]; } /* malloc_terminal_node() has set memory to 0 filled, so there is no else. */ (yyval.node)->int16_values_[2] = (yyvsp[(4) - (4)].ival)[0]; ;} break; case 660: /* Line 1455 of yacc.c */ #line 4329 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, ((yyvsp[(3) - (4)].ival)[0] || (yyvsp[(4) - (4)].ival)[0]) ? T_UNUMBER : T_NUMBER); if (NULL != (yyvsp[(2) - (4)].node)) { (yyval.node)->int16_values_[0] = (yyvsp[(2) - (4)].node)->int16_values_[0]; (yyval.node)->int16_values_[1] = (yyvsp[(2) - (4)].node)->int16_values_[1]; } /* malloc_terminal_node() has set memory to 0 filled, so there is no else. */ (yyval.node)->int16_values_[2] = (yyvsp[(4) - (4)].ival)[0]; ;} break; case 661: /* Line 1455 of yacc.c */ #line 4339 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, ((yyvsp[(3) - (4)].ival)[0] || (yyvsp[(4) - (4)].ival)[0]) ? T_UNUMBER : T_NUMBER); if (NULL != (yyvsp[(2) - (4)].node)) { (yyval.node)->int16_values_[0] = (yyvsp[(2) - (4)].node)->int16_values_[0]; (yyval.node)->int16_values_[1] = (yyvsp[(2) - (4)].node)->int16_values_[1]; } /* malloc_terminal_node() has set memory to 0 filled, so there is no else. */ (yyval.node)->int16_values_[2] = (yyvsp[(4) - (4)].ival)[0]; ;} break; case 662: /* Line 1455 of yacc.c */ #line 4349 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TINYINT); (yyval.node)->int16_values_[0] = 1; (yyval.node)->int16_values_[2] = 0; // zerofill always false ;} break; case 663: /* Line 1455 of yacc.c */ #line 4355 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TINYINT); (yyval.node)->int16_values_[0] = 1; (yyval.node)->int16_values_[2] = 0; // zerofill always false ;} break; case 664: /* Line 1455 of yacc.c */ #line 4361 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, (yyvsp[(1) - (2)].ival)[0]); (yyval.node)->int16_values_[1] = (yyvsp[(2) - (2)].ival)[0]; ;} break; case 665: /* Line 1455 of yacc.c */ #line 4366 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, (yyvsp[(1) - (1)].ival)[0]); ;} break; case 666: /* Line 1455 of yacc.c */ #line 4370 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CHAR, 3, (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node), (yyvsp[(3) - (5)].node)); (yyval.node)->int32_values_[0] = (yyvsp[(2) - (5)].ival)[0]; (yyval.node)->int32_values_[1] = 0; /* is char */ ;} break; case 667: /* Line 1455 of yacc.c */ #line 4383 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_VARCHAR, 3, (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node), (yyvsp[(3) - (5)].node)); (yyval.node)->int32_values_[0] = (yyvsp[(2) - (5)].ival)[0]; (yyval.node)->int32_values_[1] = 0; /* is char */ ;} break; case 668: /* Line 1455 of yacc.c */ #line 4389 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, (yyvsp[(1) - (2)].ival)[0]); if (0 == (yyvsp[(2) - (2)].ival)[1]) { (yyvsp[(2) - (2)].ival)[0] = 0; /* change default string len from -1 to 0 for compat mysql */ } (yyval.node)->int32_values_[0] = (yyvsp[(2) - (2)].ival)[0]; (yyval.node)->int32_values_[1] = 1; /* is binary */ ;} break; case 669: /* Line 1455 of yacc.c */ #line 4398 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, (yyvsp[(1) - (5)].ival)[0], 3, (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node), (yyvsp[(3) - (5)].node)); if ((yyvsp[(1) - (5)].ival)[0] != T_TEXT && (yyvsp[(2) - (5)].ival)[0] != -1) { yyerror(&(yylsp[(2) - (5)]), result, "not support to specify the length in parentheses\n"); YYERROR; } else if (0 == (yyvsp[(2) - (5)].ival)[1]) { (yyvsp[(2) - (5)].ival)[0] = 0; /* change default string len from -1 to 0 for compat mysql */ } (yyval.node)->int32_values_[0] = (yyvsp[(2) - (5)].ival)[0]; (yyval.node)->int32_values_[1] = 0; /* is text */ ;} break; case 670: /* Line 1455 of yacc.c */ #line 4410 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CHAR); if ((yyvsp[(2) - (2)].ival)[0] < 0) { (yyvsp[(2) - (2)].ival)[0] = 1; } (yyval.node)->int32_values_[0] = (yyvsp[(2) - (2)].ival)[0]; (yyval.node)->int32_values_[1] = 1; /* is binary */ ;} break; case 671: /* Line 1455 of yacc.c */ #line 4419 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_VARCHAR); (yyval.node)->int32_values_[0] = (yyvsp[(2) - (2)].ival)[0]; (yyval.node)->int32_values_[1] = 1; /* is binary */ ;} break; case 672: /* Line 1455 of yacc.c */ #line 4425 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INVALID); (yyval.node)->str_value_ = (yyvsp[(1) - (1)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(1) - (1)].node)->str_len_; ;} break; case 673: /* Line 1455 of yacc.c */ #line 4431 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_BIT); (yyval.node)->int16_values_[0] = (yyvsp[(2) - (2)].ival)[0]; ;} break; case 674: /* Line 1455 of yacc.c */ #line 4436 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *string_list_node = NULL; merge_nodes(string_list_node, result, T_STRING_LIST, (yyvsp[(3) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ENUM, 4, (yyvsp[(6) - (7)].node), (yyvsp[(7) - (7)].node), (yyvsp[(5) - (7)].node), string_list_node); (yyval.node)->int32_values_[0] = 0;//not used so far (yyval.node)->int32_values_[1] = 0; /* is char */ ;} break; case 675: /* Line 1455 of yacc.c */ #line 4444 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *string_list_node = NULL; merge_nodes(string_list_node, result, T_STRING_LIST, (yyvsp[(3) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SET, 4, (yyvsp[(6) - (7)].node), (yyvsp[(7) - (7)].node), (yyvsp[(5) - (7)].node), string_list_node); (yyval.node)->int32_values_[0] = 0;//not used so far (yyval.node)->int32_values_[1] = 0; /* is char */ ;} break; case 676: /* Line 1455 of yacc.c */ #line 4455 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 677: /* Line 1455 of yacc.c */ #line 4459 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 678: /* Line 1455 of yacc.c */ #line 4465 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 679: /* Line 1455 of yacc.c */ #line 4469 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 680: /* Line 1455 of yacc.c */ #line 4475 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_TINYINT; ;} break; case 681: /* Line 1455 of yacc.c */ #line 4476 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_SMALLINT; ;} break; case 682: /* Line 1455 of yacc.c */ #line 4477 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_MEDIUMINT; ;} break; case 683: /* Line 1455 of yacc.c */ #line 4478 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_INT32; ;} break; case 684: /* Line 1455 of yacc.c */ #line 4479 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_INT; ;} break; case 685: /* Line 1455 of yacc.c */ #line 4483 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_FLOAT; ;} break; case 686: /* Line 1455 of yacc.c */ #line 4484 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_DOUBLE; ;} break; case 687: /* Line 1455 of yacc.c */ #line 4485 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_DOUBLE; ;} break; case 688: /* Line 1455 of yacc.c */ #line 4486 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_DOUBLE; ;} break; case 689: /* Line 1455 of yacc.c */ #line 4487 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_DOUBLE; ;} break; case 690: /* Line 1455 of yacc.c */ #line 4491 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_DATETIME; ;} break; case 691: /* Line 1455 of yacc.c */ #line 4492 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_TIMESTAMP; ;} break; case 692: /* Line 1455 of yacc.c */ #line 4493 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_TIME; ;} break; case 693: /* Line 1455 of yacc.c */ #line 4497 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_DATE; ;} break; case 694: /* Line 1455 of yacc.c */ #line 4498 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_YEAR; ;} break; case 695: /* Line 1455 of yacc.c */ #line 4502 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_TINYTEXT; ;} break; case 696: /* Line 1455 of yacc.c */ #line 4503 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_TEXT; ;} break; case 697: /* Line 1455 of yacc.c */ #line 4504 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_MEDIUMTEXT; ;} break; case 698: /* Line 1455 of yacc.c */ #line 4505 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_LONGTEXT; ;} break; case 699: /* Line 1455 of yacc.c */ #line 4509 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_TINYTEXT; ;} break; case 700: /* Line 1455 of yacc.c */ #line 4510 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_TEXT; ;} break; case 701: /* Line 1455 of yacc.c */ #line 4511 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_MEDIUMTEXT; ;} break; case 702: /* Line 1455 of yacc.c */ #line 4512 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_LONGTEXT; ;} break; case 703: /* Line 1455 of yacc.c */ #line 4516 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = (yyvsp[(2) - (3)].node)->value_; ;} break; case 704: /* Line 1455 of yacc.c */ #line 4517 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = -1; ;} break; case 705: /* Line 1455 of yacc.c */ #line 4521 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = (yyvsp[(2) - (3)].node)->value_; ;} break; case 706: /* Line 1455 of yacc.c */ #line 4522 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 707: /* Line 1455 of yacc.c */ #line 4527 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE); (yyval.node)->int16_values_[0] = (yyvsp[(2) - (5)].node)->value_; (yyval.node)->int16_values_[1] = (yyvsp[(4) - (5)].node)->value_; ;} break; case 708: /* Line 1455 of yacc.c */ #line 4533 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE); (yyval.node)->int16_values_[0] = (yyvsp[(2) - (3)].node)->value_; (yyval.node)->int16_values_[1] = -1; ;} break; case 709: /* Line 1455 of yacc.c */ #line 4539 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 710: /* Line 1455 of yacc.c */ #line 4546 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE); if((yyvsp[(2) - (5)].node)->value_ > OB_MAX_PARSER_INT16_VALUE) { (yyval.node)->int16_values_[0] = OB_MAX_PARSER_INT16_VALUE; } else { (yyval.node)->int16_values_[0] = (yyvsp[(2) - (5)].node)->value_; } if((yyvsp[(4) - (5)].node)->value_ > OB_MAX_PARSER_INT16_VALUE) { (yyval.node)->int16_values_[1] = OB_MAX_PARSER_INT16_VALUE; } else { (yyval.node)->int16_values_[1] = (yyvsp[(4) - (5)].node)->value_; } (yyval.node)->param_num_ = 2; ;} break; case 711: /* Line 1455 of yacc.c */ #line 4561 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE); if((yyvsp[(2) - (3)].node)->value_ > OB_MAX_PARSER_INT16_VALUE) { (yyval.node)->int16_values_[0] = OB_MAX_PARSER_INT16_VALUE; } else { (yyval.node)->int16_values_[0] = (yyvsp[(2) - (3)].node)->value_; } (yyval.node)->int16_values_[1] = 0; (yyval.node)->param_num_ = 1; ;} break; case 712: /* Line 1455 of yacc.c */ #line 4572 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE); (yyval.node)->int16_values_[0] = 10; (yyval.node)->int16_values_[1] = 0; (yyval.node)->param_num_ = 0; ;} break; case 713: /* Line 1455 of yacc.c */ #line 4581 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = (yyvsp[(2) - (3)].node)->value_; ;} break; case 714: /* Line 1455 of yacc.c */ #line 4582 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 715: /* Line 1455 of yacc.c */ #line 4586 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = (yyvsp[(2) - (3)].node)->value_; (yyval.ival)[1] = 1; ;} break; case 716: /* Line 1455 of yacc.c */ #line 4587 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; (yyval.ival)[1] = 0;;} break; case 717: /* Line 1455 of yacc.c */ #line 4592 "../../../src/sql/parser/sql_parser_mysql_mode.y" { // Report a syntax error at `*` // select cast('' as BINARY(-1)); // * // select cast('' as CHARACTER(-1)); // * int64_t val = 0; if (T_NUMBER == (yyvsp[(2) - (3)].node)->type_) { errno = 0; val = strtoll((yyvsp[(2) - (3)].node)->str_value_, NULL, 10); if (ERANGE == errno) { (yyval.ival)[0] = OUT_OF_STR_LEN;// out of str_max_len } else if (val < 0) { yyerror(&(yylsp[(2) - (3)]), result, "length cannot < 0\n"); YYABORT_UNEXPECTED; } else if (val > UINT32_MAX) { (yyval.ival)[0] = OUT_OF_STR_LEN;// out of str_max_len } else if (val > INT32_MAX) { (yyval.ival)[0] = DEFAULT_STR_LENGTH; } else { (yyval.ival)[0] = val; } } else if ((yyvsp[(2) - (3)].node)->value_ < 0) { yyerror(&(yylsp[(2) - (3)]), result, "length cannot < 0\n"); YYABORT_UNEXPECTED; } else if ((yyvsp[(2) - (3)].node)->value_ > UINT32_MAX) { (yyval.ival)[0] = OUT_OF_STR_LEN;; } else if ((yyvsp[(2) - (3)].node)->value_ > INT32_MAX) { (yyval.ival)[0] = DEFAULT_STR_LENGTH; } else { (yyval.ival)[0] = (yyvsp[(2) - (3)].node)->value_; } (yyval.ival)[1] = (yyvsp[(2) - (3)].node)->param_num_; ;} break; case 718: /* Line 1455 of yacc.c */ #line 4629 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = (yyvsp[(1) - (1)].ival)[0]; (yyval.ival)[1] = (yyvsp[(1) - (1)].ival)[1];;} break; case 719: /* Line 1455 of yacc.c */ #line 4630 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; (yyval.ival)[1] = 0;;} break; case 720: /* Line 1455 of yacc.c */ #line 4634 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = (yyvsp[(1) - (1)].ival)[0]; (yyval.ival)[1] = (yyvsp[(1) - (1)].ival)[1]; ;} break; case 721: /* Line 1455 of yacc.c */ #line 4635 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = DEFAULT_STR_LENGTH; (yyval.ival)[1] = 0; ;} break; case 722: /* Line 1455 of yacc.c */ #line 4639 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 723: /* Line 1455 of yacc.c */ #line 4640 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 724: /* Line 1455 of yacc.c */ #line 4641 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 725: /* Line 1455 of yacc.c */ #line 4645 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 726: /* Line 1455 of yacc.c */ #line 4646 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 727: /* Line 1455 of yacc.c */ #line 4651 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_BINARY); (yyval.node)->value_ = 1; ;} break; case 728: /* Line 1455 of yacc.c */ #line 4655 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = 0; ;} break; case 729: /* Line 1455 of yacc.c */ #line 4660 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node)->type_ = T_VARCHAR; (yyval.node)->param_num_ = 0; ;} break; case 730: /* Line 1455 of yacc.c */ #line 4666 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node)->param_num_ = 1; ;} break; case 731: /* Line 1455 of yacc.c */ #line 4674 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (3)].node); (yyval.node)->type_ = T_VARCHAR; (yyval.node)->param_num_ = 1; (yyval.node)->is_hidden_const_ = 0; ;} break; case 732: /* Line 1455 of yacc.c */ #line 4684 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (3)].node); (yyval.node)->type_ = T_VARCHAR; (yyval.node)->param_num_ = 1; ;} break; case 733: /* Line 1455 of yacc.c */ #line 4690 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node)->type_ = T_INT; (yyval.node)->param_num_ = 1; ;} break; case 734: /* Line 1455 of yacc.c */ #line 4698 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node)->type_ = T_VARCHAR; (yyval.node)->param_num_ = 0; (yyval.node)->is_hidden_const_ = 1; ;} break; case 735: /* Line 1455 of yacc.c */ #line 4705 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node)->param_num_ = 1; (yyval.node)->is_hidden_const_ = 0; ;} break; case 736: /* Line 1455 of yacc.c */ #line 4711 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_VARCHAR); (yyval.node)->str_value_ = parse_strdup("binary", result->malloc_pool_, &((yyval.node)->str_len_)); if (OB_UNLIKELY(NULL == (yyval.node)->str_value_)) { yyerror(NULL, result, "No more space for mallocing string\n"); YYABORT_NO_MEMORY; } (yyval.node)->param_num_ = 0; (yyval.node)->is_hidden_const_ = 1; ;} break; case 737: /* Line 1455 of yacc.c */ #line 4725 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 738: /* Line 1455 of yacc.c */ #line 4729 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT); ;} break; case 739: /* Line 1455 of yacc.c */ #line 4736 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (2)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_CHARSET); (yyval.node)->str_value_ = (yyvsp[(2) - (2)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(2) - (2)].node)->str_len_; ;} break; case 740: /* Line 1455 of yacc.c */ #line 4743 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 741: /* Line 1455 of yacc.c */ #line 4748 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_COLLATION); (yyval.node)->str_value_ = (yyvsp[(2) - (2)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(2) - (2)].node)->str_len_; (yyval.node)->param_num_ = (yyvsp[(2) - (2)].node)->param_num_; ;} break; case 742: /* Line 1455 of yacc.c */ #line 4757 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 743: /* Line 1455 of yacc.c */ #line 4761 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 744: /* Line 1455 of yacc.c */ #line 4766 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 745: /* Line 1455 of yacc.c */ #line 4768 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 746: /* Line 1455 of yacc.c */ #line 4773 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (2)].node)) ; (void)((yyvsp[(2) - (2)].node)) ; /* make bison mute */ malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_NOT_NULL); ;} break; case 747: /* Line 1455 of yacc.c */ #line 4779 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (1)].node)) ; /* make bison mute */ malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_NULL); ;} break; case 748: /* Line 1455 of yacc.c */ #line 4784 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_DEFAULT, 1, (yyvsp[(2) - (2)].node)); ;} break; case 749: /* Line 1455 of yacc.c */ #line 4788 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_ORIG_DEFAULT, 1, (yyvsp[(2) - (2)].node)); ;} break; case 750: /* Line 1455 of yacc.c */ #line 4792 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_AUTO_INCREMENT); ;} break; case 751: /* Line 1455 of yacc.c */ #line 4796 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_UNIQUE_KEY); ;} break; case 752: /* Line 1455 of yacc.c */ #line 4801 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (2)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_PRIMARY_KEY); ;} break; case 753: /* Line 1455 of yacc.c */ #line 4806 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_UNIQUE_KEY); ;} break; case 754: /* Line 1455 of yacc.c */ #line 4810 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COMMENT, 1, (yyvsp[(2) - (2)].node)); ;} break; case 755: /* Line 1455 of yacc.c */ #line 4814 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ON_UPDATE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 756: /* Line 1455 of yacc.c */ #line 4818 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_ID, 1, (yyvsp[(2) - (2)].node)); ;} break; case 757: /* Line 1455 of yacc.c */ #line 4825 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 758: /* Line 1455 of yacc.c */ #line 4829 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 759: /* Line 1455 of yacc.c */ #line 4836 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node);;} break; case 760: /* Line 1455 of yacc.c */ #line 4838 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 761: /* Line 1455 of yacc.c */ #line 4840 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if (T_UINT64 == (yyvsp[(2) - (2)].node)->type_) { uint64_t value = (yyvsp[(2) - (2)].node)->value_; if (INT64_MAX == value - 1) { (yyvsp[(2) - (2)].node)->value_ = INT64_MIN; (yyvsp[(2) - (2)].node)->type_ = T_INT; } else { (yyvsp[(2) - (2)].node)->value_ = -(yyvsp[(2) - (2)].node)->value_; (yyvsp[(2) - (2)].node)->type_ = T_NUMBER; } } else { (yyvsp[(2) - (2)].node)->value_ = -(yyvsp[(2) - (2)].node)->value_; } int32_t len = (yyvsp[(2) - (2)].node)->str_len_ + 2; char *str_value = (char*)parse_malloc(len, result->malloc_pool_); if (OB_LIKELY(NULL != str_value)) { snprintf(str_value, len, "-%.*s", (int32_t)((yyvsp[(2) - (2)].node)->str_len_), (yyvsp[(2) - (2)].node)->str_value_); (yyval.node) = (yyvsp[(2) - (2)].node); (yyval.node)->str_value_ = str_value; (yyval.node)->str_len_ = (yyvsp[(2) - (2)].node)->str_len_ + 1; } else { yyerror(NULL, result, "No more space for copying expression string\n"); YYABORT_NO_MEMORY; } ;} break; case 762: /* Line 1455 of yacc.c */ #line 4869 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 763: /* Line 1455 of yacc.c */ #line 4873 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 764: /* Line 1455 of yacc.c */ #line 4880 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 765: /* Line 1455 of yacc.c */ #line 4884 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 766: /* Line 1455 of yacc.c */ #line 4891 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 767: /* Line 1455 of yacc.c */ #line 4895 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 768: /* Line 1455 of yacc.c */ #line 4902 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 769: /* Line 1455 of yacc.c */ #line 4906 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 770: /* Line 1455 of yacc.c */ #line 4913 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 771: /* Line 1455 of yacc.c */ #line 4917 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 772: /* Line 1455 of yacc.c */ #line 4924 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT); ;} break; case 773: /* Line 1455 of yacc.c */ #line 4928 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_RANDOM); ;} break; case 774: /* Line 1455 of yacc.c */ #line 4932 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_GET_USER_VAR, 1, (yyvsp[(1) - (1)].node)); ;} break; case 775: /* Line 1455 of yacc.c */ #line 4936 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 776: /* Line 1455 of yacc.c */ #line 4943 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 777: /* Line 1455 of yacc.c */ #line 4947 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT); ;} break; case 778: /* Line 1455 of yacc.c */ #line 4954 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TABLE_MODE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 779: /* Line 1455 of yacc.c */ #line 4959 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DUPLICATE_SCOPE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 780: /* Line 1455 of yacc.c */ #line 4964 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LOCALITY, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 781: /* Line 1455 of yacc.c */ #line 4969 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (5)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPIRE_INFO, 1, (yyvsp[(4) - (5)].node)); dup_expr_string((yyval.node), result, (yylsp[(4) - (5)]).first_column, (yylsp[(4) - (5)]).last_column); ;} break; case 782: /* Line 1455 of yacc.c */ #line 4975 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PROGRESSIVE_MERGE_NUM, 1, (yyvsp[(3) - (3)].node)); ;} break; case 783: /* Line 1455 of yacc.c */ #line 4980 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BLOCK_SIZE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 784: /* Line 1455 of yacc.c */ #line 4985 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TABLE_ID, 1, (yyvsp[(3) - (3)].node)); ;} break; case 785: /* Line 1455 of yacc.c */ #line 4990 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_REPLICA_NUM, 1, (yyvsp[(3) - (3)].node)); ;} break; case 786: /* Line 1455 of yacc.c */ #line 4995 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COMPRESSION, 1, (yyvsp[(3) - (3)].node)); ;} break; case 787: /* Line 1455 of yacc.c */ #line 5000 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_STORE_FORMAT, 1, (yyvsp[(3) - (3)].node)); ;} break; case 788: /* Line 1455 of yacc.c */ #line 5005 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_STORAGE_FORMAT_VERSION, 1, (yyvsp[(3) - (3)].node)); ;} break; case 789: /* Line 1455 of yacc.c */ #line 5010 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_USE_BLOOM_FILTER, 1, (yyvsp[(3) - (3)].node)); ;} break; case 790: /* Line 1455 of yacc.c */ #line 5015 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (4)].node)) ; /* make bison mute */ (void)((yyvsp[(2) - (4)].node)) ; /* make bison mute */ (void)((yyvsp[(3) - (4)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CHARSET, 1, (yyvsp[(4) - (4)].node)); ;} break; case 791: /* Line 1455 of yacc.c */ #line 5022 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (4)].node)); (void)((yyvsp[(3) - (4)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_COLLATION); (yyval.node)->str_value_ = (yyvsp[(4) - (4)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(4) - (4)].node)->str_len_; (yyval.node)->param_num_ = (yyvsp[(4) - (4)].node)->param_num_; ;} break; case 792: /* Line 1455 of yacc.c */ #line 5031 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); /* make bison mute*/ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COMMENT, 1, (yyvsp[(3) - (3)].node)); ;} break; case 793: /* Line 1455 of yacc.c */ #line 5036 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PRIMARY_ZONE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 794: /* Line 1455 of yacc.c */ #line 5041 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TABLEGROUP, 1, (yyvsp[(3) - (3)].node)); ;} break; case 795: /* Line 1455 of yacc.c */ #line 5046 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_AUTO_INCREMENT, 1, (yyvsp[(3) - (3)].node)); ;} break; case 796: /* Line 1455 of yacc.c */ #line 5051 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_READ_ONLY, 1, (yyvsp[(1) - (1)].node)); ;} break; case 797: /* Line 1455 of yacc.c */ #line 5055 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ENGINE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 798: /* Line 1455 of yacc.c */ #line 5060 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TABLET_SIZE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 799: /* Line 1455 of yacc.c */ #line 5065 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PCTFREE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 800: /* Line 1455 of yacc.c */ #line 5070 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MAX_USED_PART_ID, 1, (yyvsp[(3) - (3)].node)); ;} break; case 801: /* Line 1455 of yacc.c */ #line 5075 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 802: /* Line 1455 of yacc.c */ #line 5082 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ if (OB_UNLIKELY((yyvsp[(3) - (3)].node)->value_ < 1)) { yyerror(&(yylsp[(1) - (3)]), result, "value for PARALLEL or DEGREE must be greater than 0!\n"); YYERROR; } malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PARALLEL, 1, (yyvsp[(3) - (3)].node)); ;} break; case 803: /* Line 1455 of yacc.c */ #line 5091 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *int_node = NULL; malloc_terminal_node(int_node, result->malloc_pool_, T_INT); int_node->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PARALLEL, 1, int_node); ;} break; case 804: /* Line 1455 of yacc.c */ #line 5101 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node)->type_ = T_VARCHAR;;} break; case 805: /* Line 1455 of yacc.c */ #line 5102 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = (yyvsp[(1) - (1)].node);;} break; case 806: /* Line 1455 of yacc.c */ #line 5104 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "all"); ;} break; case 807: /* Line 1455 of yacc.c */ #line 5111 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 808: /* Line 1455 of yacc.c */ #line 5112 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 809: /* Line 1455 of yacc.c */ #line 5116 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 810: /* Line 1455 of yacc.c */ #line 5117 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 811: /* Line 1455 of yacc.c */ #line 5122 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 812: /* Line 1455 of yacc.c */ #line 5126 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 813: /* Line 1455 of yacc.c */ #line 5130 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 814: /* Line 1455 of yacc.c */ #line 5134 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 815: /* Line 1455 of yacc.c */ #line 5141 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PARTITION_OPTION, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 816: /* Line 1455 of yacc.c */ #line 5145 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 817: /* Line 1455 of yacc.c */ #line 5149 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 818: /* Line 1455 of yacc.c */ #line 5155 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_AUTO_PARTITION, 2, (yyvsp[(1) - (6)].node), (yyvsp[(4) - (6)].node)); ;} break; case 819: /* Line 1455 of yacc.c */ #line 5162 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 820: /* Line 1455 of yacc.c */ #line 5166 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_AUTO); ;} break; case 821: /* Line 1455 of yacc.c */ #line 5173 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 822: /* Line 1455 of yacc.c */ #line 5180 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RANGE_PARTITION, 1, params); ;} break; case 823: /* Line 1455 of yacc.c */ #line 5185 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RANGE_PARTITION, 1, params); dup_expr_string((yyval.node), result, (yylsp[(5) - (6)]).first_column, (yylsp[(5) - (6)]).last_column); ;} break; case 824: /* Line 1455 of yacc.c */ #line 5192 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; merge_nodes(params, result, T_EXPR_LIST, (yyvsp[(6) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RANGE_COLUMNS_PARTITION, 1, params); dup_expr_string((yyval.node), result, (yylsp[(6) - (7)]).first_column, (yylsp[(6) - (7)]).last_column); ;} break; case 825: /* Line 1455 of yacc.c */ #line 5201 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; ParseNode *hash_func = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(5) - (8)].node)); make_name_node(hash_func, result->malloc_pool_, "partition_hash"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, hash_func, params); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_HASH_PARTITION, 6, (yyval.node), (yyvsp[(8) - (8)].node), NULL, (yyvsp[(7) - (8)].node), NULL, NULL); dup_expr_string((yyval.node), result, (yylsp[(5) - (8)]).first_column, (yylsp[(5) - (8)]).last_column); ;} break; case 826: /* Line 1455 of yacc.c */ #line 5211 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; ParseNode *hash_func = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(5) - (9)].node)); make_name_node(hash_func, result->malloc_pool_, "partition_hash"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, hash_func, params); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_HASH_PARTITION, 6, (yyval.node), (yyvsp[(8) - (9)].node), (yyvsp[(9) - (9)].node), (yyvsp[(7) - (9)].node), NULL, NULL); dup_expr_string((yyval.node), result, (yylsp[(5) - (9)]).first_column, (yylsp[(5) - (9)]).last_column); ;} break; case 827: /* Line 1455 of yacc.c */ #line 5224 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(5) - (9)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LIST_PARTITION, 5, params, (yyvsp[(9) - (9)].node), (yyvsp[(7) - (9)].node), (yyvsp[(8) - (9)].node), NULL); dup_expr_string((yyval.node), result, (yylsp[(5) - (9)]).first_column, (yylsp[(5) - (9)]).last_column); ;} break; case 828: /* Line 1455 of yacc.c */ #line 5231 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; merge_nodes(params, result, T_EXPR_LIST, (yyvsp[(6) - (10)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LIST_COLUMNS_PARTITION, 5, params, (yyvsp[(10) - (10)].node), (yyvsp[(8) - (10)].node), (yyvsp[(9) - (10)].node), NULL); dup_expr_string((yyval.node), result, (yylsp[(6) - (10)]).first_column, (yylsp[(6) - (10)]).last_column); ;} break; case 829: /* Line 1455 of yacc.c */ #line 5241 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *column_name_list = NULL; ParseNode *hash_func = NULL; merge_nodes(column_name_list, result, T_EXPR_LIST, (yyvsp[(5) - (8)].node)); make_name_node(hash_func, result->malloc_pool_, "partition_key_v2"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, hash_func, column_name_list); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_KEY_PARTITION, 6, (yyval.node), (yyvsp[(8) - (8)].node), NULL, (yyvsp[(7) - (8)].node), NULL, NULL); dup_expr_string((yyval.node), result, (yylsp[(5) - (8)]).first_column, (yylsp[(5) - (8)]).last_column); ;} break; case 830: /* Line 1455 of yacc.c */ #line 5251 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *column_name_list = NULL; ParseNode *hash_func = NULL; merge_nodes(column_name_list, result, T_EXPR_LIST, (yyvsp[(5) - (9)].node)); make_name_node(hash_func, result->malloc_pool_, "partition_key_v2"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, hash_func, column_name_list); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_KEY_PARTITION, 6, (yyval.node), (yyvsp[(8) - (9)].node), (yyvsp[(9) - (9)].node), (yyvsp[(7) - (9)].node), NULL, NULL); dup_expr_string((yyval.node), result, (yylsp[(5) - (9)]).first_column, (yylsp[(5) - (9)]).last_column); ;} break; case 831: /* Line 1455 of yacc.c */ #line 5261 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *hash_func = NULL; ParseNode *column_name_list = NULL; make_name_node(hash_func, result->malloc_pool_, "partition_key_v2"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, hash_func, column_name_list); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_KEY_PARTITION, 6, (yyval.node), (yyvsp[(7) - (7)].node), NULL, (yyvsp[(6) - (7)].node), NULL, NULL); ;} break; case 832: /* Line 1455 of yacc.c */ #line 5269 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *hash_func = NULL; ParseNode *column_name_list = NULL; make_name_node(hash_func, result->malloc_pool_, "partition_key_v2"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, hash_func, column_name_list); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_KEY_PARTITION, 6, (yyval.node), (yyvsp[(7) - (8)].node), (yyvsp[(8) - (8)].node), (yyvsp[(6) - (8)].node), NULL, NULL); ;} break; case 833: /* Line 1455 of yacc.c */ #line 5280 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(5) - (9)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RANGE_PARTITION, 5, params, (yyvsp[(9) - (9)].node), (yyvsp[(7) - (9)].node), (yyvsp[(8) - (9)].node), NULL); dup_expr_string((yyval.node), result, (yylsp[(5) - (9)]).first_column, (yylsp[(5) - (9)]).last_column); ;} break; case 834: /* Line 1455 of yacc.c */ #line 5287 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; merge_nodes(params, result, T_EXPR_LIST, (yyvsp[(6) - (10)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RANGE_COLUMNS_PARTITION, 5, params, (yyvsp[(10) - (10)].node), (yyvsp[(8) - (10)].node), (yyvsp[(9) - (10)].node), NULL); dup_expr_string((yyval.node), result, (yylsp[(6) - (10)]).first_column, (yylsp[(6) - (10)]).last_column); ;} break; case 835: /* Line 1455 of yacc.c */ #line 5296 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 836: /* Line 1455 of yacc.c */ #line 5298 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) =(yyvsp[(1) - (1)].node); ;} break; case 837: /* Line 1455 of yacc.c */ #line 5303 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_VERTICAL_COLUMNS_PARTITION, 2, (yyvsp[(5) - (6)].node), NULL /*aux_column_list*/); ;} break; case 838: /* Line 1455 of yacc.c */ #line 5307 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *aux_column_list= NULL; merge_nodes(aux_column_list, result, T_COLUMN_LIST, (yyvsp[(7) - (8)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_VERTICAL_COLUMNS_PARTITION, 2, (yyvsp[(5) - (8)].node), aux_column_list); ;} break; case 839: /* Line 1455 of yacc.c */ #line 5316 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 840: /* Line 1455 of yacc.c */ #line 5320 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 841: /* Line 1455 of yacc.c */ #line 5327 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node)->value_ = 1; ;} break; case 842: /* Line 1455 of yacc.c */ #line 5332 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_COLUMN_LIST, (yyvsp[(2) - (3)].node)); (yyval.node)->value_ = 2; ;} break; case 843: /* Line 1455 of yacc.c */ #line 5341 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 844: /* Line 1455 of yacc.c */ #line 5345 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 845: /* Line 1455 of yacc.c */ #line 5352 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 846: /* Line 1455 of yacc.c */ #line 5356 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 847: /* Line 1455 of yacc.c */ #line 5362 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; ParseNode *template_mark = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(5) - (9)].node)); make_name_node(template_mark, result->malloc_pool_, "template_mark"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RANGE_PARTITION, 5, params, (yyvsp[(9) - (9)].node), NULL, NULL, template_mark); dup_expr_string((yyval.node), result, (yylsp[(5) - (9)]).first_column, (yylsp[(5) - (9)]).last_column); ;} break; case 848: /* Line 1455 of yacc.c */ #line 5371 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; ParseNode *template_mark = NULL; merge_nodes(params, result, T_EXPR_LIST, (yyvsp[(6) - (10)].node)); make_name_node(template_mark, result->malloc_pool_, "template_mark"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RANGE_COLUMNS_PARTITION, 5, params, (yyvsp[(10) - (10)].node), NULL, NULL, template_mark); dup_expr_string((yyval.node), result, (yylsp[(6) - (10)]).first_column, (yylsp[(6) - (10)]).last_column); ;} break; case 849: /* Line 1455 of yacc.c */ #line 5380 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; ParseNode *hash_func = NULL; ParseNode *template_mark = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(5) - (9)].node)); make_name_node(hash_func, result->malloc_pool_, "partition_hash"); make_name_node(template_mark, result->malloc_pool_, "template_mark"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, hash_func, params); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_HASH_PARTITION, 6, (yyval.node), NULL, (yyvsp[(9) - (9)].node), NULL, template_mark, NULL); dup_expr_string((yyval.node), result, (yylsp[(5) - (9)]).first_column, (yylsp[(5) - (9)]).last_column); ;} break; case 850: /* Line 1455 of yacc.c */ #line 5392 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; ParseNode *template_mark = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(5) - (9)].node)); make_name_node(template_mark, result->malloc_pool_, "template_mark"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LIST_PARTITION, 5, params, (yyvsp[(9) - (9)].node), NULL, NULL, template_mark); dup_expr_string((yyval.node), result, (yylsp[(5) - (9)]).first_column, (yylsp[(5) - (9)]).last_column); ;} break; case 851: /* Line 1455 of yacc.c */ #line 5401 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; ParseNode *template_mark = NULL; merge_nodes(params, result, T_EXPR_LIST, (yyvsp[(6) - (10)].node)); make_name_node(template_mark, result->malloc_pool_, "template_mark"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LIST_COLUMNS_PARTITION, 5, params, (yyvsp[(10) - (10)].node), NULL, NULL, template_mark); dup_expr_string((yyval.node), result, (yylsp[(6) - (10)]).first_column, (yylsp[(6) - (10)]).last_column); ;} break; case 852: /* Line 1455 of yacc.c */ #line 5410 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *column_name_list = NULL; ParseNode *hash_func = NULL; ParseNode *template_mark = NULL; merge_nodes(column_name_list, result, T_EXPR_LIST, (yyvsp[(5) - (9)].node)); make_name_node(hash_func, result->malloc_pool_, "partition_key_v2"); make_name_node(template_mark, result->malloc_pool_, "template_mark"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, hash_func, column_name_list); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_KEY_PARTITION, 6, (yyval.node), NULL, (yyvsp[(9) - (9)].node), NULL, template_mark, NULL); dup_expr_string((yyval.node), result, (yylsp[(5) - (9)]).first_column, (yylsp[(5) - (9)]).last_column); ;} break; case 853: /* Line 1455 of yacc.c */ #line 5422 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 854: /* Line 1455 of yacc.c */ #line 5429 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RANGE_PARTITION, 5, params, NULL, NULL, NULL, NULL); dup_expr_string((yyval.node), result, (yylsp[(5) - (6)]).first_column, (yylsp[(5) - (6)]).last_column); ;} break; case 855: /* Line 1455 of yacc.c */ #line 5436 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; merge_nodes(params, result, T_EXPR_LIST, (yyvsp[(6) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RANGE_COLUMNS_PARTITION, 5, params, NULL, NULL, NULL, NULL); dup_expr_string((yyval.node), result, (yylsp[(6) - (7)]).first_column, (yylsp[(6) - (7)]).last_column); ;} break; case 856: /* Line 1455 of yacc.c */ #line 5443 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; ParseNode *hash_func = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(5) - (7)].node)); make_name_node(hash_func, result->malloc_pool_, "partition_hash"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, hash_func, params); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_HASH_PARTITION, 6, (yyval.node), (yyvsp[(7) - (7)].node), NULL, NULL, NULL, NULL); dup_expr_string((yyval.node), result, (yylsp[(5) - (7)]).first_column, (yylsp[(5) - (7)]).last_column); ;} break; case 857: /* Line 1455 of yacc.c */ #line 5453 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LIST_PARTITION, 5, params, NULL, NULL, NULL, NULL); dup_expr_string((yyval.node), result, (yylsp[(5) - (6)]).first_column, (yylsp[(5) - (6)]).last_column); ;} break; case 858: /* Line 1455 of yacc.c */ #line 5460 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; merge_nodes(params, result, T_EXPR_LIST, (yyvsp[(6) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LIST_COLUMNS_PARTITION, 5, params, NULL, NULL, NULL, NULL); dup_expr_string((yyval.node), result, (yylsp[(6) - (7)]).first_column, (yylsp[(6) - (7)]).last_column); ;} break; case 859: /* Line 1455 of yacc.c */ #line 5467 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *column_name_list = NULL; ParseNode *hash_func = NULL; merge_nodes(column_name_list, result, T_EXPR_LIST, (yyvsp[(5) - (7)].node)); make_name_node(hash_func, result->malloc_pool_, "partition_key_v2"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, hash_func, column_name_list); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_KEY_PARTITION, 6, (yyval.node), (yyvsp[(7) - (7)].node), NULL, NULL, NULL, NULL); dup_expr_string((yyval.node), result, (yylsp[(5) - (7)]).first_column, (yylsp[(5) - (7)]).last_column); ;} break; case 860: /* Line 1455 of yacc.c */ #line 5480 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_PARTITION_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 861: /* Line 1455 of yacc.c */ #line 5486 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 862: /* Line 1455 of yacc.c */ #line 5490 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 863: /* Line 1455 of yacc.c */ #line 5497 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PARTITION_ELEMENT, 5, (yyvsp[(2) - (4)].node), NULL, (yyvsp[(3) - (4)].node), NULL, (yyvsp[(4) - (4)].node)); ;} break; case 864: /* Line 1455 of yacc.c */ #line 5504 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_PARTITION_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 865: /* Line 1455 of yacc.c */ #line 5511 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 866: /* Line 1455 of yacc.c */ #line 5515 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 867: /* Line 1455 of yacc.c */ #line 5521 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PARTITION_ELEMENT, 5, (yyvsp[(2) - (8)].node), (yyvsp[(6) - (8)].node), (yyvsp[(7) - (8)].node), NULL, (yyvsp[(8) - (8)].node)); ;} break; case 868: /* Line 1455 of yacc.c */ #line 5528 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_PARTITION_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 869: /* Line 1455 of yacc.c */ #line 5535 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 870: /* Line 1455 of yacc.c */ #line 5539 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 871: /* Line 1455 of yacc.c */ #line 5546 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PARTITION_ELEMENT, 5, (yyvsp[(2) - (7)].node), (yyvsp[(5) - (7)].node), (yyvsp[(6) - (7)].node), NULL, (yyvsp[(7) - (7)].node)); ;} break; case 872: /* Line 1455 of yacc.c */ #line 5553 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 873: /* Line 1455 of yacc.c */ #line 5557 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 874: /* Line 1455 of yacc.c */ #line 5561 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 875: /* Line 1455 of yacc.c */ #line 5565 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 876: /* Line 1455 of yacc.c */ #line 5571 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_HASH_SUBPARTITION_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 877: /* Line 1455 of yacc.c */ #line 5577 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 878: /* Line 1455 of yacc.c */ #line 5581 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 879: /* Line 1455 of yacc.c */ #line 5587 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PARTITION_ELEMENT, 5, (yyvsp[(2) - (2)].node), NULL, NULL, NULL, NULL); ;} break; case 880: /* Line 1455 of yacc.c */ #line 5594 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_RANGE_SUBPARTITION_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 881: /* Line 1455 of yacc.c */ #line 5601 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 882: /* Line 1455 of yacc.c */ #line 5605 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 883: /* Line 1455 of yacc.c */ #line 5612 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PARTITION_ELEMENT, 5, (yyvsp[(2) - (6)].node), (yyvsp[(6) - (6)].node), NULL, NULL, NULL); ;} break; case 884: /* Line 1455 of yacc.c */ #line 5619 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_LIST_SUBPARTITION_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 885: /* Line 1455 of yacc.c */ #line 5626 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 886: /* Line 1455 of yacc.c */ #line 5630 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 887: /* Line 1455 of yacc.c */ #line 5637 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PARTITION_ELEMENT, 5, (yyvsp[(2) - (5)].node), (yyvsp[(5) - (5)].node), NULL, NULL, NULL); ;} break; case 888: /* Line 1455 of yacc.c */ #line 5643 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_EXPR_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 889: /* Line 1455 of yacc.c */ #line 5647 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT); ;} break; case 890: /* Line 1455 of yacc.c */ #line 5653 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 891: /* Line 1455 of yacc.c */ #line 5657 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 892: /* Line 1455 of yacc.c */ #line 5664 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_EXPR_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 893: /* Line 1455 of yacc.c */ #line 5668 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *max_node = NULL; malloc_terminal_node(max_node, result->malloc_pool_, T_MAXVALUE); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_LIST, 1, max_node); ;} break; case 894: /* Line 1455 of yacc.c */ #line 5677 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 895: /* Line 1455 of yacc.c */ #line 5679 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PART_ID, 1, (yyvsp[(2) - (2)].node)); ;} break; case 896: /* Line 1455 of yacc.c */ #line 5686 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 897: /* Line 1455 of yacc.c */ #line 5690 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 898: /* Line 1455 of yacc.c */ #line 5697 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 899: /* Line 1455 of yacc.c */ #line 5701 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_MAXVALUE); ;} break; case 900: /* Line 1455 of yacc.c */ #line 5717 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 901: /* Line 1455 of yacc.c */ #line 5721 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 902: /* Line 1455 of yacc.c */ #line 5728 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 903: /* Line 1455 of yacc.c */ #line 5732 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 904: /* Line 1455 of yacc.c */ #line 5738 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 905: /* Line 1455 of yacc.c */ #line 5739 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 906: /* Line 1455 of yacc.c */ #line 5744 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 907: /* Line 1455 of yacc.c */ #line 5748 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 908: /* Line 1455 of yacc.c */ #line 5752 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 909: /* Line 1455 of yacc.c */ #line 5756 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 910: /* Line 1455 of yacc.c */ #line 5760 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 911: /* Line 1455 of yacc.c */ #line 5767 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *hash_func = NULL; make_name_node(hash_func, result->malloc_pool_, "partition_hash"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, hash_func, NULL); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_HASH_PARTITION, 3, (yyval.node), (yyvsp[(5) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 912: /* Line 1455 of yacc.c */ #line 5777 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *hash_func = NULL; make_name_node(hash_func, result->malloc_pool_, "partition_key_v2"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, hash_func, (yyvsp[(4) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_KEY_PARTITION, 3, (yyval.node), (yyvsp[(6) - (6)].node), (yyvsp[(5) - (6)].node)); ;} break; case 913: /* Line 1455 of yacc.c */ #line 5786 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RANGE_PARTITION, 4, NULL, (yyvsp[(6) - (6)].node), (yyvsp[(4) - (6)].node), (yyvsp[(5) - (6)].node)); ;} break; case 914: /* Line 1455 of yacc.c */ #line 5790 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RANGE_COLUMNS_PARTITION, 4, (yyvsp[(5) - (8)].node), (yyvsp[(8) - (8)].node), (yyvsp[(6) - (8)].node), (yyvsp[(7) - (8)].node)); ;} break; case 915: /* Line 1455 of yacc.c */ #line 5797 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LIST_PARTITION, 4, NULL, (yyvsp[(6) - (6)].node), (yyvsp[(4) - (6)].node), (yyvsp[(5) - (6)].node)); ;} break; case 916: /* Line 1455 of yacc.c */ #line 5801 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LIST_COLUMNS_PARTITION, 4, (yyvsp[(5) - (8)].node), (yyvsp[(8) - (8)].node), (yyvsp[(6) - (8)].node), (yyvsp[(7) - (8)].node)); ;} break; case 917: /* Line 1455 of yacc.c */ #line 5808 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RANGE_PARTITION, 4, NULL, (yyvsp[(6) - (6)].node), NULL, NULL); ;} break; case 918: /* Line 1455 of yacc.c */ #line 5812 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RANGE_COLUMNS_PARTITION, 4, (yyvsp[(5) - (8)].node), (yyvsp[(8) - (8)].node), NULL, NULL); ;} break; case 919: /* Line 1455 of yacc.c */ #line 5816 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *hash_func = NULL; make_name_node(hash_func, result->malloc_pool_, "partition_hash"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, hash_func, NULL); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_HASH_PARTITION, 3, (yyval.node), (yyvsp[(4) - (4)].node), NULL); ;} break; case 920: /* Line 1455 of yacc.c */ #line 5823 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *hash_func = NULL; make_name_node(hash_func, result->malloc_pool_, "partition_key_v2"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, hash_func, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_KEY_PARTITION, 3, (yyval.node), (yyvsp[(5) - (5)].node), NULL); ;} break; case 921: /* Line 1455 of yacc.c */ #line 5830 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LIST_PARTITION, 4, NULL, (yyvsp[(6) - (6)].node), NULL, NULL); ;} break; case 922: /* Line 1455 of yacc.c */ #line 5834 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LIST_COLUMNS_PARTITION, 4, (yyvsp[(5) - (8)].node), (yyvsp[(8) - (8)].node), NULL, NULL); ;} break; case 923: /* Line 1455 of yacc.c */ #line 5838 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 924: /* Line 1455 of yacc.c */ #line 5845 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 925: /* Line 1455 of yacc.c */ #line 5850 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 926: /* Line 1455 of yacc.c */ #line 5855 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 3; ;} break; case 927: /* Line 1455 of yacc.c */ #line 5860 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 4; ;} break; case 928: /* Line 1455 of yacc.c */ #line 5865 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 3; ;} break; case 929: /* Line 1455 of yacc.c */ #line 5877 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *tablegroup_options = NULL; merge_nodes(tablegroup_options, result, T_TABLEGROUP_OPTION_LIST, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_TABLEGROUP, 4, (yyvsp[(3) - (6)].node), (yyvsp[(4) - (6)].node), tablegroup_options, (yyvsp[(6) - (6)].node)); ;} break; case 930: /* Line 1455 of yacc.c */ #line 5891 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DROP_TABLEGROUP, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 931: /* Line 1455 of yacc.c */ #line 5903 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(5) - (6)].node)); ParseNode *table_list = NULL; merge_nodes(table_list, result, T_TABLE_LIST, (yyvsp[(6) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_TABLEGROUP, 2, (yyvsp[(3) - (6)].node), table_list); ;} break; case 932: /* Line 1455 of yacc.c */ #line 5910 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *tablegroup_actions = NULL; merge_nodes(tablegroup_actions, result, T_ALTER_TABLEGROUP_ACTION_LIST, (yyvsp[(4) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_TABLEGROUP, 2, (yyvsp[(3) - (4)].node), tablegroup_actions); ;} break; case 933: /* Line 1455 of yacc.c */ #line 5916 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *partition_options = NULL; malloc_non_terminal_node(partition_options, result->malloc_pool_, T_ALTER_PARTITION_OPTION, 1, (yyvsp[(4) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_TABLEGROUP, 2, (yyvsp[(3) - (4)].node), partition_options); ;} break; case 934: /* Line 1455 of yacc.c */ #line 5925 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 935: /* Line 1455 of yacc.c */ #line 5929 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 936: /* Line 1455 of yacc.c */ #line 5937 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 937: /* Line 1455 of yacc.c */ #line 5941 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 938: /* Line 1455 of yacc.c */ #line 5948 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 939: /* Line 1455 of yacc.c */ #line 5952 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 940: /* Line 1455 of yacc.c */ #line 5959 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LOCALITY, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 941: /* Line 1455 of yacc.c */ #line 5964 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PRIMARY_ZONE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 942: /* Line 1455 of yacc.c */ #line 5969 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TABLEGROUP_ID, 1, (yyvsp[(3) - (3)].node)); ;} break; case 943: /* Line 1455 of yacc.c */ #line 5974 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TABLEGROUP_BINDING, 1, (yyvsp[(3) - (3)].node)); ;} break; case 944: /* Line 1455 of yacc.c */ #line 5979 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MAX_USED_PART_ID, 1, (yyvsp[(3) - (3)].node)); ;} break; case 945: /* Line 1455 of yacc.c */ #line 5988 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 946: /* Line 1455 of yacc.c */ #line 5992 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 947: /* Line 1455 of yacc.c */ #line 5999 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(1) - (2)].node); (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 948: /* Line 1455 of yacc.c */ #line 6012 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (4)].node)) ; /* make bison mute */ (void)((yyvsp[(3) - (4)].node)) ; /* make bison mute */ malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT_TABLEGROUP); (yyval.node)->str_value_ = (yyvsp[(4) - (4)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(4) - (4)].node)->str_len_; ;} break; case 949: /* Line 1455 of yacc.c */ #line 6020 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (4)].node)) ; /* make bison mute */ (void)((yyvsp[(3) - (4)].node)) ; /* make bison mute */ (void)((yyvsp[(4) - (4)].node)) ; /* make bison mute */ malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT_TABLEGROUP); ;} break; case 950: /* Line 1455 of yacc.c */ #line 6030 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 951: /* Line 1455 of yacc.c */ #line 6031 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 952: /* Line 1455 of yacc.c */ #line 6041 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_VIEW, 7, (yyvsp[(3) - (9)].node), /* opt_materialized */ (yyvsp[(5) - (9)].node), /* view name */ (yyvsp[(6) - (9)].node), /* column list */ (yyvsp[(7) - (9)].node), /* table_id */ (yyvsp[(9) - (9)].node), /* select_stmt */ (yyvsp[(2) - (9)].node), NULL /* with option */ ); dup_expr_string((yyvsp[(9) - (9)].node), result, (yylsp[(9) - (9)]).first_column, (yylsp[(9) - (9)]).last_column); ;} break; case 953: /* Line 1455 of yacc.c */ #line 6057 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 954: /* Line 1455 of yacc.c */ #line 6064 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_IF_NOT_EXISTS); ;} break; case 955: /* Line 1455 of yacc.c */ #line 6066 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 956: /* Line 1455 of yacc.c */ #line 6071 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_MATERIALIZED); ;} break; case 957: /* Line 1455 of yacc.c */ #line 6073 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 958: /* Line 1455 of yacc.c */ #line 6078 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 959: /* Line 1455 of yacc.c */ #line 6083 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_COLUMN_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 960: /* Line 1455 of yacc.c */ #line 6086 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 961: /* Line 1455 of yacc.c */ #line 6091 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TABLE_ID, 1, (yyvsp[(3) - (3)].node)); ;} break; case 962: /* Line 1455 of yacc.c */ #line 6094 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 963: /* Line 1455 of yacc.c */ #line 6105 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *idx_columns = NULL; ParseNode *index_options = NULL; merge_nodes(idx_columns, result, T_INDEX_COLUMN_LIST, (yyvsp[(10) - (13)].node)); merge_nodes(index_options, result, T_TABLE_OPTION_LIST, (yyvsp[(12) - (13)].node)); (yyvsp[(5) - (13)].node)->value_ = (yyvsp[(2) - (13)].ival)[0]; /* index prefix keyname */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_INDEX, 7, (yyvsp[(5) - (13)].node), /* index name */ (yyvsp[(8) - (13)].node), /* table name */ idx_columns, /* index columns */ index_options, /* index option(s) */ (yyvsp[(6) - (13)].node), /* index method */ (yyvsp[(13) - (13)].node), /* partition method*/ (yyvsp[(4) - (13)].node)); /* if not exists*/ ;} break; case 964: /* Line 1455 of yacc.c */ #line 6122 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 965: /* Line 1455 of yacc.c */ #line 6123 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 966: /* Line 1455 of yacc.c */ #line 6129 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 967: /* Line 1455 of yacc.c */ #line 6133 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 968: /* Line 1455 of yacc.c */ #line 6139 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = (yyvsp[(1) - (1)].node);;} break; case 969: /* Line 1455 of yacc.c */ #line 6144 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CHECK_CONSTRAINT, 1, (yyvsp[(2) - (2)].node)); ;} break; case 970: /* Line 1455 of yacc.c */ #line 6148 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 971: /* Line 1455 of yacc.c */ #line 6155 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 972: /* Line 1455 of yacc.c */ #line 6159 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 973: /* Line 1455 of yacc.c */ #line 6165 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = (yyvsp[(1) - (1)].node);;} break; case 974: /* Line 1455 of yacc.c */ #line 6170 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 975: /* Line 1455 of yacc.c */ #line 6172 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 976: /* Line 1455 of yacc.c */ #line 6177 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SORT_COLUMN_KEY, 4, (yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].node), (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 977: /* Line 1455 of yacc.c */ #line 6193 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = 0; ;} break; case 978: /* Line 1455 of yacc.c */ #line 6195 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_ID, 1, (yyvsp[(2) - (2)].node)); ;} break; case 979: /* Line 1455 of yacc.c */ #line 6201 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; case 980: /* Line 1455 of yacc.c */ #line 6205 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 981: /* Line 1455 of yacc.c */ #line 6212 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 982: /* Line 1455 of yacc.c */ #line 6216 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 983: /* Line 1455 of yacc.c */ #line 6223 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 984: /* Line 1455 of yacc.c */ #line 6227 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 985: /* Line 1455 of yacc.c */ #line 6234 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *default_operand = NULL; malloc_terminal_node(default_operand, result->malloc_pool_, T_VARCHAR); int64_t len = strlen("GLOBAL"); default_operand->str_value_ = parse_strndup("GLOBAL", len, result->malloc_pool_); if (OB_UNLIKELY(NULL == default_operand->str_value_)) { yyerror(NULL, result, "No more space for mallocing string\n"); YYABORT_NO_MEMORY; } default_operand->str_len_ = len; ParseNode *default_type = NULL; malloc_terminal_node(default_type, result->malloc_pool_, T_INT); default_type->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INDEX_SCOPE, 2, default_type, default_operand); ;} break; case 986: /* Line 1455 of yacc.c */ #line 6251 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *default_operand = NULL; malloc_terminal_node(default_operand, result->malloc_pool_, T_VARCHAR); int64_t len = strlen("LOCAL"); default_operand->str_value_ = parse_strndup("LOCAL", len, result->malloc_pool_); if (OB_UNLIKELY(NULL == default_operand->str_value_)) { yyerror(NULL, result, "No more space for mallocing string\n"); YYABORT_NO_MEMORY; } default_operand->str_len_ = len; ParseNode *default_type = NULL; malloc_terminal_node(default_type, result->malloc_pool_, T_INT); default_type->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INDEX_SCOPE, 2, default_type, default_operand); ;} break; case 987: /* Line 1455 of yacc.c */ #line 6268 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BLOCK_SIZE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 988: /* Line 1455 of yacc.c */ #line 6273 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COMMENT, 1, (yyvsp[(2) - (2)].node)); ;} break; case 989: /* Line 1455 of yacc.c */ #line 6277 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_STORING_COLUMN_LIST, (yyvsp[(3) - (4)].node)); ;} break; case 990: /* Line 1455 of yacc.c */ #line 6281 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_WITH_ROWID); ;} break; case 991: /* Line 1455 of yacc.c */ #line 6285 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PARSER_NAME, 1, (yyvsp[(3) - (3)].node)); ;} break; case 992: /* Line 1455 of yacc.c */ #line 6289 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 993: /* Line 1455 of yacc.c */ #line 6293 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 994: /* Line 1455 of yacc.c */ #line 6297 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DATA_TABLE_ID, 1, (yyvsp[(3) - (3)].node)); ;} break; case 995: /* Line 1455 of yacc.c */ #line 6302 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INDEX_TABLE_ID, 1, (yyvsp[(3) - (3)].node)); ;} break; case 996: /* Line 1455 of yacc.c */ #line 6307 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_VIRTUAL_COLUMN_ID, 1, (yyvsp[(3) - (3)].node)); ;} break; case 997: /* Line 1455 of yacc.c */ #line 6312 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MAX_USED_PART_ID, 1, (yyvsp[(3) - (3)].node)); ;} break; case 998: /* Line 1455 of yacc.c */ #line 6317 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 999: /* Line 1455 of yacc.c */ #line 6324 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1000: /* Line 1455 of yacc.c */ #line 6328 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1001: /* Line 1455 of yacc.c */ #line 6335 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_USING_BTREE); ;} break; case 1002: /* Line 1455 of yacc.c */ #line 6339 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_USING_HASH); ;} break; case 1003: /* Line 1455 of yacc.c */ #line 6346 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TEMPORARY); ;} break; case 1004: /* Line 1455 of yacc.c */ #line 6349 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_MATERIALIZED); ;} break; case 1005: /* Line 1455 of yacc.c */ #line 6351 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1006: /* Line 1455 of yacc.c */ #line 6361 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(3) - (6)].node)); ParseNode *tables = NULL; merge_nodes(tables, result, T_TABLE_LIST, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DROP_TABLE, 3, (yyvsp[(2) - (6)].node), (yyvsp[(4) - (6)].node), tables); ;} break; case 1007: /* Line 1455 of yacc.c */ #line 6371 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1008: /* Line 1455 of yacc.c */ #line 6375 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1009: /* Line 1455 of yacc.c */ #line 6382 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *views = NULL; merge_nodes(views, result, T_VIEW_LIST, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DROP_VIEW, 3, (yyvsp[(2) - (6)].node), (yyvsp[(4) - (6)].node), views); ;} break; case 1010: /* Line 1455 of yacc.c */ #line 6391 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1011: /* Line 1455 of yacc.c */ #line 6393 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_IF_EXISTS); ;} break; case 1012: /* Line 1455 of yacc.c */ #line 6398 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1013: /* Line 1455 of yacc.c */ #line 6402 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1014: /* Line 1455 of yacc.c */ #line 6416 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DROP_INDEX, 2, (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 1015: /* Line 1455 of yacc.c */ #line 6429 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(3) - (5)].node)); if (NULL == (yyvsp[(4) - (5)].node)) { yyerror(NULL, result, "invalid single table insert node\n"); YYABORT_UNEXPECTED; } (yyvsp[(4) - (5)].node)->children_[2] = (yyvsp[(5) - (5)].node); /*duplicate key node*/ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INSERT, 4, (yyvsp[(4) - (5)].node), /*single or multi table insert node*/ (yyvsp[(1) - (5)].node)->children_[0], /* is replacement */ (yyvsp[(1) - (5)].node)->children_[1], /* hint */ (yyvsp[(2) - (5)].node) /*ignore node*/); ;} break; case 1016: /* Line 1455 of yacc.c */ #line 6443 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(3) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INSERT, 4, (yyvsp[(4) - (4)].node), /*single or multi table insert node*/ (yyvsp[(1) - (4)].node)->children_[0], /* is replacement */ (yyvsp[(1) - (4)].node)->children_[1], /* hint */ (yyvsp[(2) - (4)].node) /*ignore node*/); ;} break; case 1017: /* Line 1455 of yacc.c */ #line 6455 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *into_node = NULL; malloc_non_terminal_node(into_node, result->malloc_pool_, T_INSERT_INTO_CLAUSE, 2, (yyvsp[(1) - (2)].node), NULL); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SINGLE_TABLE_INSERT, 3, into_node, /*insert_into_clause*/ (yyvsp[(2) - (2)].node), /*values_clause*/ NULL /*duplicate key node*/); ;} break; case 1018: /* Line 1455 of yacc.c */ #line 6464 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *into_node = NULL; malloc_non_terminal_node(into_node, result->malloc_pool_, T_INSERT_INTO_CLAUSE, 2, (yyvsp[(1) - (4)].node), NULL); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SINGLE_TABLE_INSERT, 3, into_node, /*insert_into_clause*/ (yyvsp[(4) - (4)].node), /*values_clause*/ NULL /*duplicate key node*/); ;} break; case 1019: /* Line 1455 of yacc.c */ #line 6473 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *into_node = NULL; ParseNode *column_list = NULL; merge_nodes(column_list, result, T_COLUMN_LIST, (yyvsp[(3) - (5)].node)); malloc_non_terminal_node(into_node, result->malloc_pool_, T_INSERT_INTO_CLAUSE, 2, (yyvsp[(1) - (5)].node), column_list); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SINGLE_TABLE_INSERT, 3, into_node, /*insert_into_clause*/ (yyvsp[(5) - (5)].node), /*values_clause*/ NULL /*duplicate key node*/); ;} break; case 1020: /* Line 1455 of yacc.c */ #line 6484 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *val_list = NULL; ParseNode *into_node = NULL; merge_nodes(val_list, result, T_ASSIGN_LIST, (yyvsp[(3) - (3)].node)); malloc_non_terminal_node(into_node, result->malloc_pool_, T_INSERT_INTO_CLAUSE, 1, (yyvsp[(1) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SINGLE_TABLE_INSERT, 3, into_node, /*insert_into_clause*/ val_list, /*values_list*/ NULL /*duplicate key node*/); ;} break; case 1021: /* Line 1455 of yacc.c */ #line 6498 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (2)].node)); merge_nodes((yyval.node), result, T_VALUE_LIST, (yyvsp[(2) - (2)].node)); ;} break; case 1022: /* Line 1455 of yacc.c */ #line 6503 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1023: /* Line 1455 of yacc.c */ #line 6510 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1024: /* Line 1455 of yacc.c */ #line 6514 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1025: /* Line 1455 of yacc.c */ #line 6520 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1026: /* Line 1455 of yacc.c */ #line 6524 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1027: /* Line 1455 of yacc.c */ #line 6530 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_IGNORE); ;} break; case 1028: /* Line 1455 of yacc.c */ #line 6534 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1029: /* Line 1455 of yacc.c */ #line 6541 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *assign_list = NULL; merge_nodes(assign_list, result, T_ASSIGN_LIST, (yyvsp[(5) - (5)].node)); (yyval.node) = assign_list; ;} break; case 1030: /* Line 1455 of yacc.c */ #line 6547 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1031: /* Line 1455 of yacc.c */ #line 6552 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1032: /* Line 1455 of yacc.c */ #line 6556 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *op_node = NULL; malloc_terminal_node(op_node, result->malloc_pool_, T_REPLACE); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, op_node, NULL); ;} break; case 1033: /* Line 1455 of yacc.c */ #line 6562 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *op_node = NULL; malloc_terminal_node(op_node, result->malloc_pool_, T_REPLACE); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, op_node, (yyvsp[(2) - (2)].node)); ;} break; case 1034: /* Line 1455 of yacc.c */ #line 6571 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *op_node = NULL; malloc_terminal_node(op_node, result->malloc_pool_, T_INSERT); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, op_node, NULL); ;} break; case 1035: /* Line 1455 of yacc.c */ #line 6577 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *op_node = NULL; malloc_terminal_node(op_node, result->malloc_pool_, T_INSERT); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, op_node, (yyvsp[(2) - (2)].node)); ;} break; case 1036: /* Line 1455 of yacc.c */ #line 6585 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1037: /* Line 1455 of yacc.c */ #line 6587 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1038: /* Line 1455 of yacc.c */ #line 6594 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_VALUE_VECTOR, (yyvsp[(2) - (3)].node)); ;} break; case 1039: /* Line 1455 of yacc.c */ #line 6598 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyvsp[(4) - (5)].node), result, T_VALUE_VECTOR, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 1040: /* Line 1455 of yacc.c */ #line 6605 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1041: /* Line 1455 of yacc.c */ #line 6607 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1042: /* Line 1455 of yacc.c */ #line 6611 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_EMPTY); ;} break; case 1043: /* Line 1455 of yacc.c */ #line 6616 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node);;} break; case 1044: /* Line 1455 of yacc.c */ #line 6618 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT); ;} break; case 1045: /* Line 1455 of yacc.c */ #line 6631 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (2)].node); (yyval.node)->children_[PARSE_SELECT_WHEN] = (yyvsp[(2) - (2)].node); if (NULL == (yyval.node)->children_[PARSE_SELECT_FOR_UPD] && NULL != (yyvsp[(2) - (2)].node)) { malloc_terminal_node((yyval.node)->children_[PARSE_SELECT_FOR_UPD], result->malloc_pool_, T_INT); (yyval.node)->children_[PARSE_SELECT_FOR_UPD]->value_ = -1; } ;} break; case 1046: /* Line 1455 of yacc.c */ #line 6641 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1047: /* Line 1455 of yacc.c */ #line 6645 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1048: /* Line 1455 of yacc.c */ #line 6654 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (2)].node); if ((yyvsp[(2) - (2)].node) != NULL) { if ((yyval.node)->children_[PARSE_SELECT_INTO] != NULL) { yyerror(&(yylsp[(2) - (2)]), result, ""); YYERROR; } else { (yyval.node)->children_[PARSE_SELECT_INTO_EXTRA] = (yyvsp[(2) - (2)].node); } } ;} break; case 1049: /* Line 1455 of yacc.c */ #line 6668 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; case 1050: /* Line 1455 of yacc.c */ #line 6669 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; case 1051: /* Line 1455 of yacc.c */ #line 6674 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (2)].node); (yyval.node)->children_[PARSE_SELECT_FOR_UPD] = (yyvsp[(2) - (2)].node); ;} break; case 1052: /* Line 1455 of yacc.c */ #line 6679 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (2)].node); (yyval.node)->children_[PARSE_SELECT_FOR_UPD] = (yyvsp[(2) - (2)].node); ;} break; case 1053: /* Line 1455 of yacc.c */ #line 6684 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (2)].node); (yyval.node)->children_[PARSE_SELECT_FOR_UPD] = (yyvsp[(2) - (2)].node); ;} break; case 1054: /* Line 1455 of yacc.c */ #line 6692 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *project_list = NULL; merge_nodes(project_list, result, T_PROJECT_LIST, (yyvsp[(3) - (4)].node)); ParseNode *select_node = NULL; malloc_select_node(select_node, result->malloc_pool_); select_node->children_[PARSE_SELECT_DISTINCT] = (yyvsp[(2) - (4)].node); select_node->children_[PARSE_SELECT_SELECT] = project_list; select_node->children_[PARSE_SELECT_HINTS] = (yyvsp[(1) - (4)].node); select_node->children_[PARSE_SELECT_INTO] = (yyvsp[(4) - (4)].node); (yyval.node) = select_node; setup_token_pos_info(select_node, (yylsp[(1) - (4)]).first_column - 1, 6); ;} break; case 1055: /* Line 1455 of yacc.c */ #line 6708 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *project_list = NULL; merge_nodes(project_list, result, T_PROJECT_LIST, (yyvsp[(3) - (8)].node)); ParseNode *select_node = NULL; malloc_select_node(select_node, result->malloc_pool_); select_node->children_[PARSE_SELECT_DISTINCT] = (yyvsp[(2) - (8)].node); select_node->children_[PARSE_SELECT_SELECT] = project_list; select_node->children_[PARSE_SELECT_WHERE] = (yyvsp[(7) - (8)].node); select_node->children_[PARSE_SELECT_HINTS] = (yyvsp[(1) - (8)].node); select_node->children_[PARSE_SELECT_INTO] = (yyvsp[(4) - (8)].node); select_node->children_[PARSE_SELECT_NAMED_WINDOWS] = (yyvsp[(8) - (8)].node); (yyval.node) = select_node; setup_token_pos_info(select_node, (yylsp[(1) - (8)]).first_column - 1, 6); ;} break; case 1056: /* Line 1455 of yacc.c */ #line 6728 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1057: /* Line 1455 of yacc.c */ #line 6732 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1058: /* Line 1455 of yacc.c */ #line 6736 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1059: /* Line 1455 of yacc.c */ #line 6740 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1060: /* Line 1455 of yacc.c */ #line 6744 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1061: /* Line 1455 of yacc.c */ #line 6751 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (2)].node); (yyval.node)->children_[PARSE_SELECT_ORDER] = (yyvsp[(2) - (2)].node); ;} break; case 1062: /* Line 1455 of yacc.c */ #line 6756 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (3)].node); (yyval.node)->children_[PARSE_SELECT_ORDER] = (yyvsp[(2) - (3)].node); (yyval.node)->children_[PARSE_SELECT_LIMIT] = (yyvsp[(3) - (3)].node); ;} break; case 1063: /* Line 1455 of yacc.c */ #line 6765 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *select_node = NULL; malloc_select_node(select_node, result->malloc_pool_); select_node->children_[PARSE_SELECT_SET] = (yyvsp[(2) - (3)].node); select_node->children_[PARSE_SELECT_FORMER] = (yyvsp[(1) - (3)].node); select_node->children_[PARSE_SELECT_LATER] = (yyvsp[(3) - (3)].node); (yyval.node) = select_node; ;} break; case 1064: /* Line 1455 of yacc.c */ #line 6773 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *select_node = NULL; malloc_select_node(select_node, result->malloc_pool_); select_node->children_[PARSE_SELECT_SET] = (yyvsp[(2) - (3)].node); select_node->children_[PARSE_SELECT_FORMER] = (yyvsp[(1) - (3)].node); select_node->children_[PARSE_SELECT_LATER] = (yyvsp[(3) - (3)].node); (yyval.node) = select_node; ;} break; case 1065: /* Line 1455 of yacc.c */ #line 6781 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *select_node = NULL; malloc_select_node(select_node, result->malloc_pool_); select_node->children_[PARSE_SELECT_SET] = (yyvsp[(2) - (3)].node); select_node->children_[PARSE_SELECT_FORMER] = (yyvsp[(1) - (3)].node); select_node->children_[PARSE_SELECT_LATER] = (yyvsp[(3) - (3)].node); (yyval.node) = select_node; ;} break; case 1066: /* Line 1455 of yacc.c */ #line 6793 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1067: /* Line 1455 of yacc.c */ #line 6797 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1068: /* Line 1455 of yacc.c */ #line 6801 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1069: /* Line 1455 of yacc.c */ #line 6808 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1070: /* Line 1455 of yacc.c */ #line 6812 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1071: /* Line 1455 of yacc.c */ #line 6816 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1072: /* Line 1455 of yacc.c */ #line 6823 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (2)].node); (yyval.node)->children_[PARSE_SELECT_ORDER] = (yyvsp[(2) - (2)].node); ;} break; case 1073: /* Line 1455 of yacc.c */ #line 6828 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (3)].node); (yyval.node)->children_[PARSE_SELECT_ORDER] = (yyvsp[(2) - (3)].node); (yyval.node)->children_[PARSE_SELECT_LIMIT] = (yyvsp[(3) - (3)].node); ;} break; case 1074: /* Line 1455 of yacc.c */ #line 6837 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (2)].node); (yyval.node)->children_[PARSE_SELECT_ORDER] = (yyvsp[(2) - (2)].node); ;} break; case 1075: /* Line 1455 of yacc.c */ #line 6842 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (3)].node); (yyval.node)->children_[PARSE_SELECT_ORDER] = (yyvsp[(2) - (3)].node); (yyval.node)->children_[PARSE_SELECT_LIMIT] = (yyvsp[(3) - (3)].node); ;} break; case 1076: /* Line 1455 of yacc.c */ #line 6851 "../../../src/sql/parser/sql_parser_mysql_mode.y" { // select_list ParseNode *project_list = NULL; ParseNode *star_node = NULL; malloc_terminal_node(star_node, result->malloc_pool_, T_STAR); ParseNode *upper_node = NULL; malloc_non_terminal_node(upper_node, result->malloc_pool_, T_PROJECT_STRING, 1, star_node); dup_string_to_node(upper_node, result->malloc_pool_, "*"); merge_nodes(project_list, result, T_PROJECT_LIST, upper_node); // from_list ParseNode *alias_node = NULL; make_name_node(alias_node, result->malloc_pool_, ""); malloc_non_terminal_node(alias_node, result->malloc_pool_, T_ALIAS, 2, (yyvsp[(1) - (2)].node), alias_node); ParseNode *from_list = NULL; merge_nodes(from_list, result, T_FROM_LIST, alias_node); // upper stmt ParseNode *select_node = NULL; malloc_select_node(select_node, result->malloc_pool_); select_node->children_[PARSE_SELECT_SELECT] = project_list; select_node->children_[PARSE_SELECT_FROM] = from_list; select_node->children_[PARSE_SELECT_ORDER] = (yyvsp[(2) - (2)].node); (yyval.node) = select_node; ;} break; case 1077: /* Line 1455 of yacc.c */ #line 6881 "../../../src/sql/parser/sql_parser_mysql_mode.y" { // select_list ParseNode *project_list = NULL; ParseNode *star_node = NULL; malloc_terminal_node(star_node, result->malloc_pool_, T_STAR); ParseNode *upper_node = NULL; malloc_non_terminal_node(upper_node, result->malloc_pool_, T_PROJECT_STRING, 1, star_node); dup_string_to_node(upper_node, result->malloc_pool_, "*"); merge_nodes(project_list, result, T_PROJECT_LIST, upper_node); // from_list ParseNode *alias_node = NULL; make_name_node(alias_node, result->malloc_pool_, ""); malloc_non_terminal_node(alias_node, result->malloc_pool_, T_ALIAS, 2, (yyvsp[(1) - (3)].node), alias_node); ParseNode *from_list = NULL; merge_nodes(from_list, result, T_FROM_LIST, alias_node); // upper stmt ParseNode *select_node = NULL; malloc_select_node(select_node, result->malloc_pool_); select_node->children_[PARSE_SELECT_SELECT] = project_list; select_node->children_[PARSE_SELECT_FROM] = from_list; select_node->children_[PARSE_SELECT_ORDER] = (yyvsp[(2) - (3)].node); select_node->children_[PARSE_SELECT_LIMIT] = (yyvsp[(3) - (3)].node); (yyval.node) = select_node; ;} break; case 1078: /* Line 1455 of yacc.c */ #line 6915 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1079: /* Line 1455 of yacc.c */ #line 6917 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); #ifdef SQL_PARSER_COMPILATION if (NULL != (yyval.node)) { if (OB_UNLIKELY(NULL == (yyvsp[(2) - (2)].node))) { yyerror(NULL, result, "hint_list_with_end not cannot be NULL here"); YYABORT; } else { // select /*+ no_rewrite */ 1 from dual; // @1.first_column: pos of 'select' (1) // @1.last_column: pos of '+' (10) // @2.first_column: start pos of 'no_rewrite' (12) // @2.last_column: end pos of '*/' (24) setup_token_pos_info((yyval.node), (yylsp[(1) - (2)]).last_column - 1, (yylsp[(2) - (2)]).last_column - (yylsp[(1) - (2)]).last_column + 1); result->stop_add_comment_ = true; } } #endif ;} break; case 1080: /* Line 1455 of yacc.c */ #line 6938 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1081: /* Line 1455 of yacc.c */ #line 6940 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = (yyvsp[(2) - (2)].node);;} break; case 1082: /* Line 1455 of yacc.c */ #line 6944 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1083: /* Line 1455 of yacc.c */ #line 6946 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = (yyvsp[(2) - (2)].node);;} break; case 1084: /* Line 1455 of yacc.c */ #line 6953 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *project_list = NULL; ParseNode *from_list = NULL; merge_nodes(project_list, result, T_PROJECT_LIST, (yyvsp[(3) - (10)].node)); merge_nodes(from_list, result, T_FROM_LIST, (yyvsp[(6) - (10)].node)); ParseNode *select_node = NULL; malloc_select_node(select_node, result->malloc_pool_); select_node->children_[PARSE_SELECT_DISTINCT] = (yyvsp[(2) - (10)].node); select_node->children_[PARSE_SELECT_SELECT] = project_list; select_node->children_[PARSE_SELECT_FROM] = from_list; select_node->children_[PARSE_SELECT_WHERE] = (yyvsp[(7) - (10)].node); select_node->children_[PARSE_SELECT_GROUP] = (yyvsp[(8) - (10)].node); select_node->children_[PARSE_SELECT_HAVING] = (yyvsp[(9) - (10)].node); select_node->children_[PARSE_SELECT_HINTS] = (yyvsp[(1) - (10)].node); select_node->children_[PARSE_SELECT_INTO] = (yyvsp[(4) - (10)].node); select_node->children_[PARSE_SELECT_NAMED_WINDOWS] = (yyvsp[(10) - (10)].node); (yyval.node) = select_node; setup_token_pos_info(from_list, (yylsp[(5) - (10)]).first_column - 1, 4); setup_token_pos_info(select_node, (yylsp[(1) - (10)]).first_column - 1, 6); ;} break; case 1085: /* Line 1455 of yacc.c */ #line 6978 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_SET_UNION; ;} break; case 1086: /* Line 1455 of yacc.c */ #line 6982 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_SET_INTERSECT; ;} break; case 1087: /* Line 1455 of yacc.c */ #line 6983 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_SET_EXCEPT; ;} break; case 1088: /* Line 1455 of yacc.c */ #line 6984 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_SET_EXCEPT; ;} break; case 1089: /* Line 1455 of yacc.c */ #line 6989 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, (yyvsp[(1) - (2)].ival)[0], 1, (yyvsp[(2) - (2)].node)); ;} break; case 1090: /* Line 1455 of yacc.c */ #line 6993 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, (yyvsp[(1) - (1)].ival)[0], 1, NULL); ;} break; case 1091: /* Line 1455 of yacc.c */ #line 6999 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1092: /* Line 1455 of yacc.c */ #line 7001 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ALL); ;} break; case 1093: /* Line 1455 of yacc.c */ #line 7005 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTINCT); ;} break; case 1094: /* Line 1455 of yacc.c */ #line 7009 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTINCT); ;} break; case 1095: /* Line 1455 of yacc.c */ #line 7016 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1096: /* Line 1455 of yacc.c */ #line 7018 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WHERE_CLAUSE, 2, (yyvsp[(3) - (3)].node), (yyvsp[(2) - (3)].node)); setup_token_pos_info((yyval.node), (yylsp[(1) - (3)]).first_column - 1, 5); ;} break; case 1097: /* Line 1455 of yacc.c */ #line 7026 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1098: /* Line 1455 of yacc.c */ #line 7028 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1099: /* Line 1455 of yacc.c */ #line 7035 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(2) - (4)].node) != NULL) { if (T_INT == (yyvsp[(2) - (4)].node)->type_) { (yyvsp[(2) - (4)].node)->type_ = T_LIMIT_INT; } else if (T_UINT64 == (yyvsp[(2) - (4)].node)->type_) { (yyvsp[(2) - (4)].node)->type_ = T_LIMIT_UINT; } } malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LIMIT_CLAUSE, 2, (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node)); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (4)]).first_column, (yylsp[(4) - (4)]).last_column), &(yylsp[(1) - (4)]), result); ;} break; case 1100: /* Line 1455 of yacc.c */ #line 7048 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(2) - (2)].node) != NULL) { if (T_INT == (yyvsp[(2) - (2)].node)->type_) { (yyvsp[(2) - (2)].node)->type_ = T_LIMIT_INT; } else if (T_UINT64 == (yyvsp[(2) - (2)].node)->type_) { (yyvsp[(2) - (2)].node)->type_ = T_LIMIT_UINT; } } malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LIMIT_CLAUSE, 2, (yyvsp[(2) - (2)].node), NULL); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column), &(yylsp[(1) - (2)]), result); ;} break; case 1101: /* Line 1455 of yacc.c */ #line 7061 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(4) - (4)].node) != NULL) { if (T_INT == (yyvsp[(4) - (4)].node)->type_) { (yyvsp[(4) - (4)].node)->type_ = T_LIMIT_INT; } else if (T_UINT64 == (yyvsp[(4) - (4)].node)->type_) { (yyvsp[(4) - (4)].node)->type_ = T_LIMIT_UINT; } } malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COMMA_LIMIT_CLAUSE, 2, (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node)); // setup_token_pos_info($$, @1.first_column - 1, @4.last_column - @1.first_column + 1); check_ret(setup_token_pos_info_and_dup_string((yyval.node), result, (yylsp[(1) - (4)]).first_column, (yylsp[(4) - (4)]).last_column), &(yylsp[(1) - (4)]), result); ;} break; case 1102: /* Line 1455 of yacc.c */ #line 7078 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INTO_OUTFILE, 4, (yyvsp[(3) - (6)].node), (yyvsp[(4) - (6)].node), (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].node)); ;} break; case 1103: /* Line 1455 of yacc.c */ #line 7082 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INTO_DUMPFILE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1104: /* Line 1455 of yacc.c */ #line 7086 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *vars_list = NULL; merge_nodes(vars_list, result, T_INTO_VARS_LIST, (yyvsp[(2) - (2)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INTO_VARIABLES, 1, vars_list); copy_and_skip_symbol(result, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column); ;} break; case 1105: /* Line 1455 of yacc.c */ #line 7096 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1106: /* Line 1455 of yacc.c */ #line 7100 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1107: /* Line 1455 of yacc.c */ #line 7107 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1108: /* Line 1455 of yacc.c */ #line 7111 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1109: /* Line 1455 of yacc.c */ #line 7118 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1110: /* Line 1455 of yacc.c */ #line 7123 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1111: /* Line 1455 of yacc.c */ #line 7130 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(1) - (2)].node); merge_nodes((yyval.node), result, T_INTO_FIELD_LIST, (yyvsp[(2) - (2)].node)); ;} break; case 1112: /* Line 1455 of yacc.c */ #line 7135 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1113: /* Line 1455 of yacc.c */ #line 7142 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1114: /* Line 1455 of yacc.c */ #line 7146 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1115: /* Line 1455 of yacc.c */ #line 7153 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FIELD_TERMINATED_STR, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1116: /* Line 1455 of yacc.c */ #line 7157 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OPTIONALLY_CLOSED_STR, 1, (yyvsp[(4) - (4)].node)); ;} break; case 1117: /* Line 1455 of yacc.c */ #line 7161 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CLOSED_STR, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1118: /* Line 1455 of yacc.c */ #line 7165 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ESCAPED_STR, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1119: /* Line 1455 of yacc.c */ #line 7172 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_INTO_LINE_LIST, (yyvsp[(2) - (2)].node)); ;} break; case 1120: /* Line 1455 of yacc.c */ #line 7176 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1121: /* Line 1455 of yacc.c */ #line 7183 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1122: /* Line 1455 of yacc.c */ #line 7187 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1123: /* Line 1455 of yacc.c */ #line 7194 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINE_TERMINATED_STR, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1124: /* Line 1455 of yacc.c */ #line 7198 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINE_START_STR, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1125: /* Line 1455 of yacc.c */ #line 7205 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if (NULL != (yyvsp[(1) - (2)].node)) { merge_nodes((yyval.node), result, T_HINT_OPTION_LIST, (yyvsp[(1) - (2)].node)); } else { (yyval.node) = NULL; } ;} break; case 1126: /* Line 1455 of yacc.c */ #line 7216 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1127: /* Line 1455 of yacc.c */ #line 7220 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1128: /* Line 1455 of yacc.c */ #line 7224 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1129: /* Line 1455 of yacc.c */ #line 7231 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1130: /* Line 1455 of yacc.c */ #line 7235 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1131: /* Line 1455 of yacc.c */ #line 7242 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1132: /* Line 1455 of yacc.c */ #line 7246 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1133: /* Line 1455 of yacc.c */ #line 7250 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1134: /* Line 1455 of yacc.c */ #line 7257 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_NO_REWRITE); ;} break; case 1135: /* Line 1455 of yacc.c */ #line 7261 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_READ_CONSISTENCY); (yyval.node)->value_ = (yyvsp[(3) - (4)].ival)[0]; ;} break; case 1136: /* Line 1455 of yacc.c */ #line 7266 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INDEX, 3, (yyvsp[(3) - (6)].node), (yyvsp[(4) - (6)].node), (yyvsp[(5) - (6)].node)); ;} break; case 1137: /* Line 1455 of yacc.c */ #line 7270 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_QUERY_TIMEOUT, 1, (yyvsp[(3) - (4)].node)); ;} break; case 1138: /* Line 1455 of yacc.c */ #line 7274 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FROZEN_VERSION, 1, (yyvsp[(3) - (4)].node)); ;} break; case 1139: /* Line 1455 of yacc.c */ #line 7278 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TOPK, 2, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 1140: /* Line 1455 of yacc.c */ #line 7282 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_HOTSPOT); ;} break; case 1141: /* Line 1455 of yacc.c */ #line 7286 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LOG_LEVEL, 1, (yyvsp[(3) - (4)].node)); ;} break; case 1142: /* Line 1455 of yacc.c */ #line 7290 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LOG_LEVEL, 1, (yyvsp[(4) - (6)].node)); ;} break; case 1143: /* Line 1455 of yacc.c */ #line 7294 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *link_node = NULL; malloc_non_terminal_node(link_node, result->malloc_pool_, T_LINK_NODE, 1, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LEADING, 2, (yyvsp[(3) - (5)].node), link_node); ;} break; case 1144: /* Line 1455 of yacc.c */ #line 7300 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LEADING, 2, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 1145: /* Line 1455 of yacc.c */ #line 7304 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ORDERED); ;} break; case 1146: /* Line 1455 of yacc.c */ #line 7308 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FULL, 2, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 1147: /* Line 1455 of yacc.c */ #line 7312 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_USE_PLAN_CACHE); (yyval.node)->value_ = (yyvsp[(3) - (4)].ival)[0]; ;} break; case 1148: /* Line 1455 of yacc.c */ #line 7317 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *table_list = NULL; merge_nodes(table_list, result, T_RELATION_FACTOR_IN_USE_JOIN_HINT_LIST, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_USE_MERGE, 2, (yyvsp[(3) - (5)].node), table_list); ;} break; case 1149: /* Line 1455 of yacc.c */ #line 7323 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *table_list = NULL; merge_nodes(table_list, result, T_RELATION_FACTOR_IN_USE_JOIN_HINT_LIST, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_NO_USE_MERGE, 2, (yyvsp[(3) - (5)].node), table_list); ;} break; case 1150: /* Line 1455 of yacc.c */ #line 7329 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *table_list = NULL; merge_nodes(table_list, result, T_RELATION_FACTOR_IN_USE_JOIN_HINT_LIST, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_USE_HASH, 2, (yyvsp[(3) - (5)].node), table_list); ;} break; case 1151: /* Line 1455 of yacc.c */ #line 7335 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *table_list = NULL; merge_nodes(table_list, result, T_RELATION_FACTOR_IN_USE_JOIN_HINT_LIST, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_NO_USE_HASH, 2, (yyvsp[(3) - (5)].node), table_list); ;} break; case 1152: /* Line 1455 of yacc.c */ #line 7341 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *table_list = NULL; merge_nodes(table_list, result, T_RELATION_FACTOR_IN_USE_JOIN_HINT_LIST, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_USE_NL, 2, (yyvsp[(3) - (5)].node), table_list); ;} break; case 1153: /* Line 1455 of yacc.c */ #line 7347 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *table_list = NULL; merge_nodes(table_list, result, T_RELATION_FACTOR_IN_USE_JOIN_HINT_LIST, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_NO_USE_NL, 2, (yyvsp[(3) - (5)].node), table_list); ;} break; case 1154: /* Line 1455 of yacc.c */ #line 7353 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *table_list = NULL; merge_nodes(table_list, result, T_RELATION_FACTOR_IN_USE_JOIN_HINT_LIST, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_USE_BNL, 2, (yyvsp[(3) - (5)].node), table_list); ;} break; case 1155: /* Line 1455 of yacc.c */ #line 7359 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *table_list = NULL; merge_nodes(table_list, result, T_RELATION_FACTOR_IN_USE_JOIN_HINT_LIST, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_NO_USE_BNL, 2, (yyvsp[(3) - (5)].node), table_list); ;} break; case 1156: /* Line 1455 of yacc.c */ #line 7365 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *table_list = NULL; merge_nodes(table_list, result, T_RELATION_FACTOR_IN_USE_JOIN_HINT_LIST, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_USE_NL_MATERIALIZATION, 2, (yyvsp[(3) - (5)].node), table_list); ;} break; case 1157: /* Line 1455 of yacc.c */ #line 7371 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *table_list = NULL; merge_nodes(table_list, result, T_RELATION_FACTOR_IN_USE_JOIN_HINT_LIST, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_NO_USE_NL_MATERIALIZATION, 2, (yyvsp[(3) - (5)].node), table_list); ;} break; case 1158: /* Line 1455 of yacc.c */ #line 7377 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_USE_HASH_AGGREGATE); ;} break; case 1159: /* Line 1455 of yacc.c */ #line 7381 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_NO_USE_HASH_AGGREGATE); ;} break; case 1160: /* Line 1455 of yacc.c */ #line 7385 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MERGE_HINT, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1161: /* Line 1455 of yacc.c */ #line 7389 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_NO_MERGE_HINT, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1162: /* Line 1455 of yacc.c */ #line 7393 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_NO_EXPAND, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1163: /* Line 1455 of yacc.c */ #line 7397 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_USE_CONCAT, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1164: /* Line 1455 of yacc.c */ #line 7401 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_UNNEST, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1165: /* Line 1455 of yacc.c */ #line 7405 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_NO_UNNEST, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1166: /* Line 1455 of yacc.c */ #line 7409 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PLACE_GROUP_BY, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1167: /* Line 1455 of yacc.c */ #line 7413 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_NO_PLACE_GROUP_BY, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1168: /* Line 1455 of yacc.c */ #line 7417 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_NO_PRED_DEDUCE, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1169: /* Line 1455 of yacc.c */ #line 7421 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_USE_JIT); (yyval.node)->value_ = (yyvsp[(3) - (4)].ival)[0]; ;} break; case 1170: /* Line 1455 of yacc.c */ #line 7426 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_NO_USE_JIT); ;} break; case 1171: /* Line 1455 of yacc.c */ #line 7430 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_USE_LATE_MATERIALIZATION); ;} break; case 1172: /* Line 1455 of yacc.c */ #line 7434 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_NO_USE_LATE_MATERIALIZATION); ;} break; case 1173: /* Line 1455 of yacc.c */ #line 7438 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TRACE_LOG); ;} break; case 1174: /* Line 1455 of yacc.c */ #line 7442 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *tracing_nums = NULL; merge_nodes(tracing_nums, result, T_STAT, (yyvsp[(3) - (4)].node)); (yyval.node)=tracing_nums; ;} break; case 1175: /* Line 1455 of yacc.c */ #line 7448 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *tracing_nums = NULL; merge_nodes(tracing_nums, result, T_TRACING, (yyvsp[(3) - (4)].node)); (yyval.node)=tracing_nums; ;} break; case 1176: /* Line 1455 of yacc.c */ #line 7454 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_USE_PX); ;} break; case 1177: /* Line 1455 of yacc.c */ #line 7458 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_NO_USE_PX); ;} break; case 1178: /* Line 1455 of yacc.c */ #line 7462 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void) (yyvsp[(4) - (6)].node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TRANS_PARAM, 2, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node)); ;} break; case 1179: /* Line 1455 of yacc.c */ #line 7467 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *table_list = NULL; merge_nodes(table_list, result, T_RELATION_FACTOR_IN_USE_JOIN_HINT_LIST, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PX_JOIN_FILTER, 2, (yyvsp[(3) - (5)].node), table_list); ;} break; case 1180: /* Line 1455 of yacc.c */ #line 7473 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *table_list = NULL; merge_nodes(table_list, result, T_RELATION_FACTOR_IN_USE_JOIN_HINT_LIST, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_NO_PX_JOIN_FILTER, 2, (yyvsp[(3) - (5)].node), table_list); ;} break; case 1181: /* Line 1455 of yacc.c */ #line 7479 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_FORCE_REFRESH_LOCATION_CACHE); ;} break; case 1182: /* Line 1455 of yacc.c */ #line 7483 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_QB_NAME, 1, (yyvsp[(3) - (4)].node)); ;} break; case 1183: /* Line 1455 of yacc.c */ #line 7487 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MAX_CONCURRENT, 1, (yyvsp[(3) - (4)].node)); ;} break; case 1184: /* Line 1455 of yacc.c */ #line 7491 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PARALLEL, 1, (yyvsp[(3) - (4)].node)); ;} break; case 1185: /* Line 1455 of yacc.c */ #line 7495 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_NO_PARALLEL); ;} break; case 1186: /* Line 1455 of yacc.c */ #line 7499 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void) (yyvsp[(5) - (8)].node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PQ_DISTRIBUTE, 4, (yyvsp[(3) - (8)].node), (yyvsp[(4) - (8)].node), (yyvsp[(6) - (8)].node), (yyvsp[(7) - (8)].node)); ;} break; case 1187: /* Line 1455 of yacc.c */ #line 7504 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LOAD_BATCH_SIZE, 1, (yyvsp[(3) - (4)].node)); ;} break; case 1188: /* Line 1455 of yacc.c */ #line 7508 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PQ_MAP, 2, (yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)); ;} break; case 1189: /* Line 1455 of yacc.c */ #line 7512 "../../../src/sql/parser/sql_parser_mysql_mode.y" { destroy_tree((yyvsp[(1) - (1)].node)); (yyval.node) = NULL; ;} break; case 1190: /* Line 1455 of yacc.c */ #line 7517 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; yyerror(&(yylsp[(1) - (1)]), result, "unterminated hint string\n"); YYABORT; ;} break; case 1191: /* Line 1455 of yacc.c */ #line 7523 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; yyerror(&(yylsp[(1) - (1)]), result, "unterminated hint string\n"); YYABORT; ;} break; case 1192: /* Line 1455 of yacc.c */ #line 7529 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1193: /* Line 1455 of yacc.c */ #line 7533 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ENABLE_PARALLEL_DML); ;} break; case 1194: /* Line 1455 of yacc.c */ #line 7537 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISABLE_PARALLEL_DML); ;} break; case 1195: /* Line 1455 of yacc.c */ #line 7544 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OPT_QB_NAME, 1, (yyvsp[(2) - (3)].node)); ;} break; case 1196: /* Line 1455 of yacc.c */ #line 7548 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1197: /* Line 1455 of yacc.c */ #line 7555 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 3; ;} break; case 1198: /* Line 1455 of yacc.c */ #line 7559 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 4; ;} break; case 1199: /* Line 1455 of yacc.c */ #line 7563 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1200: /* Line 1455 of yacc.c */ #line 7570 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 1201: /* Line 1455 of yacc.c */ #line 7574 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1202: /* Line 1455 of yacc.c */ #line 7580 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 1203: /* Line 1455 of yacc.c */ #line 7584 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1204: /* Line 1455 of yacc.c */ #line 7590 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTRIBUTE_NONE); ;} break; case 1205: /* Line 1455 of yacc.c */ #line 7594 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTRIBUTE_PARTITION); ;} break; case 1206: /* Line 1455 of yacc.c */ #line 7598 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_RANDOM); ;} break; case 1207: /* Line 1455 of yacc.c */ #line 7602 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTRIBUTE_RANDOM_LOCAL); ;} break; case 1208: /* Line 1455 of yacc.c */ #line 7606 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTRIBUTE_HASH); ;} break; case 1209: /* Line 1455 of yacc.c */ #line 7610 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTRIBUTE_BROADCAST); ;} break; case 1210: /* Line 1455 of yacc.c */ #line 7616 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void) (yyvsp[(1) - (2)].node); (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 1211: /* Line 1455 of yacc.c */ #line 7621 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1212: /* Line 1455 of yacc.c */ #line 7627 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1213: /* Line 1455 of yacc.c */ #line 7629 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1214: /* Line 1455 of yacc.c */ #line 7634 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1215: /* Line 1455 of yacc.c */ #line 7636 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1216: /* Line 1455 of yacc.c */ #line 7641 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1217: /* Line 1455 of yacc.c */ #line 7643 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(3) - (3)].node); ;} break; case 1218: /* Line 1455 of yacc.c */ #line 7650 "../../../src/sql/parser/sql_parser_mysql_mode.y" { /* USE T_SFU_XXX to avoid being parsed by plan cache as template var */ malloc_terminal_node((yyval.node), result->malloc_pool_, T_SFU_INT); (yyval.node)->value_ = -1; ;} break; case 1219: /* Line 1455 of yacc.c */ #line 7656 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SFU_DECIMAL); (yyval.node)->str_value_ = (yyvsp[(2) - (2)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(2) - (2)].node)->str_len_; ;} break; case 1220: /* Line 1455 of yacc.c */ #line 7662 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SFU_INT); (yyval.node)->value_ = (yyvsp[(2) - (2)].node)->value_; ;} break; case 1221: /* Line 1455 of yacc.c */ #line 7667 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SFU_INT); (yyval.node)->value_ = 0; ;} break; case 1222: /* Line 1455 of yacc.c */ #line 7672 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SFU_INT); (yyval.node)->value_ = 0; ;} break; case 1223: /* Line 1455 of yacc.c */ #line 7679 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_LIST, 1, (yyvsp[(1) - (1)].node)); ;} break; case 1224: /* Line 1455 of yacc.c */ #line 7683 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *default_type = NULL; //avoid parameterized, so use T_DEFAULT_INT malloc_terminal_node(default_type, result->malloc_pool_, T_DEFAULT_INT); default_type->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_LIST, 3, default_type, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1225: /* Line 1455 of yacc.c */ #line 7691 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *default_type = NULL; malloc_terminal_node(default_type, result->malloc_pool_, T_DEFAULT_INT); default_type->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_LIST, 3, default_type, (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 1226: /* Line 1455 of yacc.c */ #line 7698 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *default_type = NULL; malloc_terminal_node(default_type, result->malloc_pool_, T_DEFAULT_INT); default_type->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_LIST, 3, default_type, (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 1227: /* Line 1455 of yacc.c */ #line 7705 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *default_type = NULL; malloc_terminal_node(default_type, result->malloc_pool_, T_DEFAULT_INT); default_type->value_ = 2; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_LIST, 3, default_type, (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 1228: /* Line 1455 of yacc.c */ #line 7712 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *default_type = NULL; malloc_terminal_node(default_type, result->malloc_pool_, T_DEFAULT_INT); default_type->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_LIST, 2, default_type, (yyvsp[(3) - (3)].node)); ;} break; case 1229: /* Line 1455 of yacc.c */ #line 7719 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *default_type = NULL; malloc_terminal_node(default_type, result->malloc_pool_, T_DEFAULT_INT); default_type->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_LIST, 2, default_type, (yyvsp[(3) - (3)].node)); ;} break; case 1230: /* Line 1455 of yacc.c */ #line 7726 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *default_type = NULL; malloc_terminal_node(default_type, result->malloc_pool_, T_DEFAULT_INT); default_type->value_ = 2; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPR_LIST, 2, default_type, (yyvsp[(3) - (3)].node)); ;} break; case 1231: /* Line 1455 of yacc.c */ #line 7736 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1232: /* Line 1455 of yacc.c */ #line 7738 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_GROUPBY_CLAUSE, 1, (yyvsp[(3) - (3)].node)); setup_token_pos_info((yyval.node), (yylsp[(1) - (3)]).first_column - 1, 8); ;} break; case 1233: /* Line 1455 of yacc.c */ #line 7746 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *group_exprs = NULL; merge_nodes(group_exprs, result, T_SORT_LIST, (yyvsp[(1) - (2)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WITH_ROLLUP_CLAUSE, 2, (yyvsp[(2) - (2)].node), group_exprs); ;} break; case 1234: /* Line 1455 of yacc.c */ #line 7755 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1235: /* Line 1455 of yacc.c */ #line 7757 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1236: /* Line 1455 of yacc.c */ #line 7762 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SORT_KEY, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1237: /* Line 1455 of yacc.c */ #line 7767 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 1238: /* Line 1455 of yacc.c */ #line 7769 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SORT_ASC); ;} break; case 1239: /* Line 1455 of yacc.c */ #line 7771 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SORT_DESC); ;} break; case 1240: /* Line 1455 of yacc.c */ #line 7776 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 1241: /* Line 1455 of yacc.c */ #line 7778 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ROLLUP); ;} break; case 1242: /* Line 1455 of yacc.c */ #line 7783 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node);;} break; case 1243: /* Line 1455 of yacc.c */ #line 7784 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1244: /* Line 1455 of yacc.c */ #line 7789 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *sort_list = NULL; ParseNode *opt_siblings = NULL; merge_nodes(sort_list, result, T_SORT_LIST, (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ORDER_BY, 2, sort_list, opt_siblings); setup_token_pos_info((yyval.node), (yylsp[(1) - (3)]).first_column - 1, 8); ;} break; case 1245: /* Line 1455 of yacc.c */ #line 7800 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1246: /* Line 1455 of yacc.c */ #line 7802 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1247: /* Line 1455 of yacc.c */ #line 7807 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SORT_KEY, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); if (NULL == (yyvsp[(1) - (2)].node)->str_value_) { dup_string((yyvsp[(1) - (2)].node), result, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column); } ;} break; case 1248: /* Line 1455 of yacc.c */ #line 7820 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SORT_ASC); (yyval.node)->value_ = 2; ;} break; case 1249: /* Line 1455 of yacc.c */ #line 7822 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SORT_ASC); (yyval.node)->value_ = 2; ;} break; case 1250: /* Line 1455 of yacc.c */ #line 7824 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SORT_DESC); (yyval.node)->value_ = 2; ;} break; case 1251: /* Line 1455 of yacc.c */ #line 7829 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = 0; ;} break; case 1252: /* Line 1455 of yacc.c */ #line 7831 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); setup_token_pos_info((yyval.node), (yylsp[(1) - (2)]).first_column - 1, 6); ;} break; case 1253: /* Line 1455 of yacc.c */ #line 7839 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_QEURY_EXPRESSION_LIST, (yyvsp[(1) - (1)].node)); ;} break; case 1254: /* Line 1455 of yacc.c */ #line 7843 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1255: /* Line 1455 of yacc.c */ #line 7850 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1256: /* Line 1455 of yacc.c */ #line 7854 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1257: /* Line 1455 of yacc.c */ #line 7861 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ALL); ;} break; case 1258: /* Line 1455 of yacc.c */ #line 7865 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTINCT); ;} break; case 1259: /* Line 1455 of yacc.c */ #line 7869 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTINCT); ;} break; case 1260: /* Line 1455 of yacc.c */ #line 7873 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_FOUND_ROWS); ;} break; case 1261: /* Line 1455 of yacc.c */ #line 7879 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PROJECT_STRING, 1, (yyvsp[(1) - (1)].node)); if (T_VARCHAR == (yyvsp[(1) - (1)].node)->type_) { if (2 == (yyvsp[(1) - (1)].node)->num_child_ && 1 == (yyvsp[(1) - (1)].node)->children_[1]->num_child_) { (yyval.node)->str_value_ = (yyvsp[(1) - (1)].node)->children_[1]->children_[0]->str_value_; (yyval.node)->str_len_ = (yyvsp[(1) - (1)].node)->children_[1]->children_[0]->str_len_; } else { if (1 == (yylsp[(1) - (1)]).last_column - (yylsp[(1) - (1)]).first_column) { (yyval.node)->str_value_ = (yyvsp[(1) - (1)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(1) - (1)].node)->str_len_; } else { dup_node_string((yyvsp[(1) - (1)].node), (yyval.node), result->malloc_pool_); } } } else { dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); } (yyval.node)->raw_sql_offset_ = (yylsp[(1) - (1)]).first_column - 1; ;} break; case 1262: /* Line 1455 of yacc.c */ #line 7904 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *alias_node = NULL; if (OB_UNLIKELY((NULL == (yyvsp[(1) - (2)].node)))) { yyerror(NULL, result, "alias expr can not be NULL\n"); YYABORT_UNEXPECTED; } else if (OB_UNLIKELY(T_COLUMN_REF == (yyvsp[(1) - (2)].node)->type_ && NULL != (yyvsp[(1) - (2)].node)->children_ && NULL != (yyvsp[(1) - (2)].node)->children_[1] && NULL != (yyvsp[(1) - (2)].node)->children_[2] && T_STAR == (yyvsp[(1) - (2)].node)->children_[2]->type_)) { yyerror(&(yylsp[(2) - (2)]), result, "select table.* as label is invalid\n"); YYERROR; } else { malloc_non_terminal_node(alias_node, result->malloc_pool_, T_ALIAS, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PROJECT_STRING, 1, alias_node); dup_expr_string((yyval.node), result, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column); dup_node_string((yyvsp[(2) - (2)].node), alias_node, result->malloc_pool_); alias_node->param_num_ = 0; } ;} break; case 1263: /* Line 1455 of yacc.c */ #line 7922 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *alias_node = NULL; if (OB_UNLIKELY((NULL == (yyvsp[(1) - (3)].node)))) { yyerror(NULL, result, "alias expr can not be NULL\n"); YYABORT_UNEXPECTED; } else if (OB_UNLIKELY(T_COLUMN_REF == (yyvsp[(1) - (3)].node)->type_ && NULL != (yyvsp[(1) - (3)].node)->children_ && NULL != (yyvsp[(1) - (3)].node)->children_[1] && NULL != (yyvsp[(1) - (3)].node)->children_[2] && T_STAR == (yyvsp[(1) - (3)].node)->children_[2]->type_)) { yyerror(&(yylsp[(2) - (3)]), result, "select table.* as label is invalid\n"); YYERROR; } else { malloc_non_terminal_node(alias_node, result->malloc_pool_, T_ALIAS, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PROJECT_STRING, 1, alias_node); dup_expr_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column); dup_node_string((yyvsp[(3) - (3)].node), alias_node, result->malloc_pool_); alias_node->param_num_ = 0; } ;} break; case 1264: /* Line 1455 of yacc.c */ #line 7940 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); if (OB_UNLIKELY(NULL == (yyvsp[(1) - (3)].node))) { yyerror(NULL, result, "alias expr can not be NULL\n"); YYABORT_UNEXPECTED; } else if (OB_UNLIKELY(T_COLUMN_REF == (yyvsp[(1) - (3)].node)->type_ && NULL !=(yyvsp[(1) - (3)].node)->children_ && NULL != (yyvsp[(1) - (3)].node)->children_[1] && NULL != (yyvsp[(1) - (3)].node)->children_[2] && T_STAR == (yyvsp[(1) - (3)].node)->children_[2]->type_)) { yyerror(&(yylsp[(2) - (3)]), result, "select table.* as label is invalid\n"); YYERROR; } else { ParseNode *alias_node = NULL; ParseNode *alias_name_node = NULL; malloc_terminal_node(alias_name_node, result->malloc_pool_, T_IDENT); if (NULL == (yyvsp[(3) - (3)].node)->str_value_) { alias_name_node->str_value_ = NULL; alias_name_node->str_len_ = 0; } else { dup_node_string((yyvsp[(3) - (3)].node), alias_name_node, result->malloc_pool_); } malloc_non_terminal_node(alias_node, result->malloc_pool_, T_ALIAS, 2, (yyvsp[(1) - (3)].node), alias_name_node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PROJECT_STRING, 1, alias_node); dup_expr_string((yyval.node), result, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column); if (NULL == (yyvsp[(3) - (3)].node)->str_value_) { alias_node->str_value_ = NULL; alias_node->str_len_ = 0; } else { dup_node_string((yyvsp[(3) - (3)].node), alias_node, result->malloc_pool_); } alias_node->param_num_ = 1; } ;} break; case 1265: /* Line 1455 of yacc.c */ #line 7972 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *star_node = NULL; malloc_terminal_node(star_node, result->malloc_pool_, T_STAR); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PROJECT_STRING, 1, star_node); dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); setup_token_pos_info(star_node, (yylsp[(1) - (1)]).first_column - 1, 1); ;} break; case 1266: /* Line 1455 of yacc.c */ #line 7982 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1267: /* Line 1455 of yacc.c */ #line 7983 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1268: /* Line 1455 of yacc.c */ #line 7988 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1269: /* Line 1455 of yacc.c */ #line 7992 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1270: /* Line 1455 of yacc.c */ #line 8000 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1271: /* Line 1455 of yacc.c */ #line 8007 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1272: /* Line 1455 of yacc.c */ #line 8011 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1273: /* Line 1455 of yacc.c */ #line 8018 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1274: /* Line 1455 of yacc.c */ #line 8022 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1275: /* Line 1455 of yacc.c */ #line 8029 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1276: /* Line 1455 of yacc.c */ #line 8033 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1277: /* Line 1455 of yacc.c */ #line 8037 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *unname_node = NULL; make_name_node(unname_node, result->malloc_pool_, ""); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 2, (yyvsp[(1) - (1)].node), unname_node); ;} break; case 1278: /* Line 1455 of yacc.c */ #line 8043 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; case 1279: /* Line 1455 of yacc.c */ #line 8050 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ORG, 4, (yyvsp[(1) - (1)].node), NULL, NULL, NULL); ;} break; case 1280: /* Line 1455 of yacc.c */ #line 8054 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ORG, 4, (yyvsp[(1) - (2)].node), NULL, (yyvsp[(2) - (2)].node), NULL); ;} break; case 1281: /* Line 1455 of yacc.c */ #line 8058 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ORG, 4, (yyvsp[(1) - (3)].node), (yyval.node), (yyvsp[(2) - (3)].node), NULL); ;} break; case 1282: /* Line 1455 of yacc.c */ #line 8063 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ORG, 4, (yyvsp[(1) - (3)].node), NULL, (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1283: /* Line 1455 of yacc.c */ #line 8067 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(3) - (4)].node) != NULL) { (yyvsp[(3) - (4)].node)->children_[2] = (yyvsp[(4) - (4)].node); } malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ORG, 4, (yyvsp[(1) - (4)].node), NULL, (yyvsp[(2) - (4)].node), (yyvsp[(3) - (4)].node)); ;} break; case 1284: /* Line 1455 of yacc.c */ #line 8074 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(4) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ORG, 4, (yyvsp[(1) - (4)].node), (yyval.node), (yyvsp[(2) - (4)].node), (yyvsp[(3) - (4)].node)); ;} break; case 1285: /* Line 1455 of yacc.c */ #line 8079 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(3) - (5)].node) != NULL) { (yyvsp[(3) - (5)].node)->children_[2] = (yyvsp[(4) - (5)].node); } merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(5) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ORG, 4, (yyvsp[(1) - (5)].node), (yyval.node), (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].node)); ;} break; case 1286: /* Line 1455 of yacc.c */ #line 8087 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ORG, 4, (yyvsp[(1) - (2)].node), NULL, NULL, (yyvsp[(2) - (2)].node)); ;} break; case 1287: /* Line 1455 of yacc.c */ #line 8091 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(2) - (3)].node) != NULL) { (yyvsp[(2) - (3)].node)->children_[2] = (yyvsp[(3) - (3)].node); } malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ORG, 4, (yyvsp[(1) - (3)].node), NULL, NULL, (yyvsp[(2) - (3)].node)); ;} break; case 1288: /* Line 1455 of yacc.c */ #line 8098 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ORG, 4, (yyvsp[(1) - (3)].node), (yyval.node), NULL, (yyvsp[(2) - (3)].node)); ;} break; case 1289: /* Line 1455 of yacc.c */ #line 8103 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(2) - (4)].node) != NULL) { (yyvsp[(2) - (4)].node)->children_[2] = (yyvsp[(3) - (4)].node); } merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(4) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ORG, 4, (yyvsp[(1) - (4)].node), (yyval.node), NULL, (yyvsp[(2) - (4)].node)); ;} break; case 1290: /* Line 1455 of yacc.c */ #line 8111 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(2) - (2)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ORG, 4, (yyvsp[(1) - (2)].node), (yyval.node), NULL, NULL); ;} break; case 1291: /* Line 1455 of yacc.c */ #line 8116 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), NULL, NULL, NULL); ;} break; case 1292: /* Line 1455 of yacc.c */ #line 8120 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), NULL, (yyvsp[(2) - (4)].node), NULL); ;} break; case 1293: /* Line 1455 of yacc.c */ #line 8124 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), NULL, NULL, (yyvsp[(2) - (4)].node)); ;} break; case 1294: /* Line 1455 of yacc.c */ #line 8128 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(2) - (5)].node) != NULL) { (yyvsp[(2) - (5)].node)->children_[2] = (yyvsp[(3) - (5)].node); } malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), NULL, NULL, (yyvsp[(2) - (5)].node)); ;} break; case 1295: /* Line 1455 of yacc.c */ #line 8135 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), NULL, (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].node)); ;} break; case 1296: /* Line 1455 of yacc.c */ #line 8139 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(3) - (6)].node) != NULL) { (yyvsp[(3) - (6)].node)->children_[2] = (yyvsp[(4) - (6)].node); } malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), NULL, (yyvsp[(2) - (6)].node), (yyvsp[(3) - (6)].node)); ;} break; case 1297: /* Line 1455 of yacc.c */ #line 8146 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(4) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node), (yyval.node), NULL, NULL); ;} break; case 1298: /* Line 1455 of yacc.c */ #line 8151 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(5) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (5)].node), (yyvsp[(4) - (5)].node), (yyval.node), (yyvsp[(2) - (5)].node), NULL); ;} break; case 1299: /* Line 1455 of yacc.c */ #line 8157 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(5) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (5)].node), (yyvsp[(4) - (5)].node), (yyval.node), NULL, (yyvsp[(2) - (5)].node)); ;} break; case 1300: /* Line 1455 of yacc.c */ #line 8162 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(2) - (6)].node) != NULL) { (yyvsp[(2) - (6)].node)->children_[2] = (yyvsp[(3) - (6)].node); } merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(6) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yyval.node), NULL, (yyvsp[(2) - (6)].node)); ;} break; case 1301: /* Line 1455 of yacc.c */ #line 8170 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(6) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yyval.node), (yyvsp[(2) - (6)].node), (yyvsp[(3) - (6)].node)); ;} break; case 1302: /* Line 1455 of yacc.c */ #line 8175 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(3) - (7)].node) != NULL) { (yyvsp[(3) - (7)].node)->children_[2] = (yyvsp[(4) - (7)].node); } merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(7) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (7)].node), (yyvsp[(6) - (7)].node), (yyval.node), (yyvsp[(2) - (7)].node), (yyvsp[(3) - (7)].node)); ;} break; case 1303: /* Line 1455 of yacc.c */ #line 8183 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node), NULL, NULL, NULL); ;} break; case 1304: /* Line 1455 of yacc.c */ #line 8187 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), NULL, (yyvsp[(2) - (3)].node), NULL); ;} break; case 1305: /* Line 1455 of yacc.c */ #line 8191 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node), (yyval.node), NULL, NULL); ;} break; case 1306: /* Line 1455 of yacc.c */ #line 8196 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(4) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node), (yyval.node), (yyvsp[(2) - (4)].node), NULL); ;} break; case 1307: /* Line 1455 of yacc.c */ #line 8201 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), NULL, NULL, (yyvsp[(2) - (4)].node)); if ((yyvsp[(2) - (4)].node) != NULL) { (yyvsp[(2) - (4)].node)->children_[2] = (yyvsp[(3) - (4)].node); } ;} break; case 1308: /* Line 1455 of yacc.c */ #line 8208 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), NULL, (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].node)); if ((yyvsp[(3) - (5)].node) != NULL) { (yyvsp[(3) - (5)].node)->children_[2] = (yyvsp[(4) - (5)].node); } ;} break; case 1309: /* Line 1455 of yacc.c */ #line 8215 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(5) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (5)].node), (yyvsp[(4) - (5)].node), (yyval.node), NULL, (yyvsp[(2) - (5)].node)); if ((yyvsp[(2) - (5)].node) != NULL) { (yyvsp[(2) - (5)].node)->children_[2] = (yyvsp[(3) - (5)].node); } ;} break; case 1310: /* Line 1455 of yacc.c */ #line 8223 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(6) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yyval.node), (yyvsp[(2) - (6)].node), (yyvsp[(3) - (6)].node)); if ((yyvsp[(3) - (6)].node) != NULL) { (yyvsp[(3) - (6)].node)->children_[2] = (yyvsp[(4) - (6)].node); } ;} break; case 1311: /* Line 1455 of yacc.c */ #line 8231 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), NULL, NULL, (yyvsp[(2) - (3)].node)); ;} break; case 1312: /* Line 1455 of yacc.c */ #line 8235 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), NULL, (yyvsp[(2) - (4)].node), (yyvsp[(3) - (4)].node)); ;} break; case 1313: /* Line 1455 of yacc.c */ #line 8239 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(4) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node), (yyval.node), NULL, (yyvsp[(2) - (4)].node)); ;} break; case 1314: /* Line 1455 of yacc.c */ #line 8244 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_INDEX_HINT_LIST, (yyvsp[(5) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 5, (yyvsp[(1) - (5)].node), (yyvsp[(4) - (5)].node), (yyval.node), (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].node)); ;} break; case 1315: /* Line 1455 of yacc.c */ #line 8251 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ORG, 3, (yyvsp[(1) - (2)].node), NULL, (yyvsp[(2) - (2)].node)); ;} break; case 1316: /* Line 1455 of yacc.c */ #line 8257 "../../../src/sql/parser/sql_parser_mysql_mode.y" { /* USE T_SFU_XXX to avoid being parsed by plan cache as template var */ malloc_terminal_node((yyval.node), result->malloc_pool_, T_SFU_INT); (yyval.node)->value_ = (yyvsp[(3) - (4)].node)->value_; ;} break; case 1317: /* Line 1455 of yacc.c */ #line 8265 "../../../src/sql/parser/sql_parser_mysql_mode.y" { /* USE T_SFU_XXX to avoid being parsed by plan cache as template var */ malloc_terminal_node((yyval.node), result->malloc_pool_, T_SFU_INT); (yyval.node)->value_ = (yyvsp[(1) - (1)].node)->value_; ;} break; case 1318: /* Line 1455 of yacc.c */ #line 8272 "../../../src/sql/parser/sql_parser_mysql_mode.y" { /* USE T_SFU_XXX to avoid being parsed by plan cache as template var */ malloc_terminal_node((yyval.node), result->malloc_pool_, T_SFU_DECIMAL); (yyval.node)->str_len_ = (yyvsp[(1) - (1)].node)->str_len_; (yyval.node)->str_value_ = (yyvsp[(1) - (1)].node)->str_value_; ;} break; case 1319: /* Line 1455 of yacc.c */ #line 8281 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ALL); ;} break; case 1320: /* Line 1455 of yacc.c */ #line 8285 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ALL); ;} break; case 1321: /* Line 1455 of yacc.c */ #line 8289 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_BASE); ;} break; case 1322: /* Line 1455 of yacc.c */ #line 8293 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INCR); ;} break; case 1323: /* Line 1455 of yacc.c */ #line 8299 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SAMPLE_SCAN, 4, (yyvsp[(2) - (6)].node), (yyvsp[(5) - (6)].node), NULL, (yyvsp[(3) - (6)].node)); ;} break; case 1324: /* Line 1455 of yacc.c */ #line 8306 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT_INT); (yyval.node)->value_ = 2; ;} break; case 1325: /* Line 1455 of yacc.c */ #line 8311 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT_INT); (yyval.node)->value_ = 1; ;} break; case 1326: /* Line 1455 of yacc.c */ #line 8319 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1327: /* Line 1455 of yacc.c */ #line 8323 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1328: /* Line 1455 of yacc.c */ #line 8334 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1329: /* Line 1455 of yacc.c */ #line 8338 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1330: /* Line 1455 of yacc.c */ #line 8345 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *name_list = NULL; merge_nodes(name_list, result, T_NAME_LIST, (yyvsp[(3) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_USE_PARTITION, 1, name_list); ;} break; case 1331: /* Line 1455 of yacc.c */ #line 8353 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_FORCE); ;} break; case 1332: /* Line 1455 of yacc.c */ #line 8357 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_IGNORE); ;} break; case 1333: /* Line 1455 of yacc.c */ #line 8364 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void) (yyvsp[(1) - (1)].node); (yyval.node) = NULL; ;} break; case 1334: /* Line 1455 of yacc.c */ #line 8369 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1335: /* Line 1455 of yacc.c */ #line 8376 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1336: /* Line 1455 of yacc.c */ #line 8380 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1337: /* Line 1455 of yacc.c */ #line 8388 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1338: /* Line 1455 of yacc.c */ #line 8392 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1339: /* Line 1455 of yacc.c */ #line 8396 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1340: /* Line 1455 of yacc.c */ #line 8400 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1341: /* Line 1455 of yacc.c */ #line 8407 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1342: /* Line 1455 of yacc.c */ #line 8411 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_IDENT); int64_t len = strlen("PRIAMRY"); (yyval.node)->str_value_ = parse_strndup("PRIMARY", len, result->malloc_pool_); if (OB_UNLIKELY(NULL == (yyval.node)->str_value_)) { yyerror(NULL, result, "No more space for mallocing string\n"); YYABORT_NO_MEMORY; } (yyval.node)->str_len_ = len; ;} break; case 1343: /* Line 1455 of yacc.c */ #line 8425 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1344: /* Line 1455 of yacc.c */ #line 8429 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1345: /* Line 1455 of yacc.c */ #line 8436 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1346: /* Line 1455 of yacc.c */ #line 8440 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1347: /* Line 1455 of yacc.c */ #line 8447 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *use_node = NULL; malloc_terminal_node(use_node, result->malloc_pool_, T_USE); (void) (yyvsp[(2) - (6)].node); (void) (yyvsp[(3) - (6)].node); ParseNode *index_list = NULL; merge_nodes(index_list, result, T_NAME_LIST, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INDEX_HINT_DEF, 2, use_node, index_list); ;} break; case 1348: /* Line 1455 of yacc.c */ #line 8458 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void) (yyvsp[(2) - (6)].node); (void) (yyvsp[(3) - (6)].node); ParseNode *index_list = NULL; merge_nodes(index_list, result, T_NAME_LIST, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INDEX_HINT_DEF, 2, (yyvsp[(1) - (6)].node), index_list); ;} break; case 1349: /* Line 1455 of yacc.c */ #line 8469 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1350: /* Line 1455 of yacc.c */ #line 8473 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1351: /* Line 1455 of yacc.c */ #line 8481 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); store_pl_ref_object_symbol((yyval.node), result, REF_REL); ;} break; case 1352: /* Line 1455 of yacc.c */ #line 8486 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); store_pl_ref_object_symbol((yyval.node), result, REF_REL); ;} break; case 1353: /* Line 1455 of yacc.c */ #line 8494 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1354: /* Line 1455 of yacc.c */ #line 8498 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1355: /* Line 1455 of yacc.c */ #line 8505 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (2)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RELATION_FACTOR, 2, NULL, (yyvsp[(1) - (2)].node)); dup_node_string((yyvsp[(1) - (2)].node), (yyval.node), result->malloc_pool_); ;} break; case 1356: /* Line 1455 of yacc.c */ #line 8511 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(4) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RELATION_FACTOR, 2, (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node)); dup_node_string((yyvsp[(3) - (4)].node), (yyval.node), result->malloc_pool_); ;} break; case 1357: /* Line 1455 of yacc.c */ #line 8520 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1358: /* Line 1455 of yacc.c */ #line 8524 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1359: /* Line 1455 of yacc.c */ #line 8531 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RELATION_FACTOR, 2, NULL, (yyvsp[(1) - (1)].node)); dup_node_string((yyvsp[(1) - (1)].node), (yyval.node), result->malloc_pool_); ;} break; case 1360: /* Line 1455 of yacc.c */ #line 8536 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RELATION_FACTOR, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); dup_node_string((yyvsp[(3) - (3)].node), (yyval.node), result->malloc_pool_); ;} break; case 1361: /* Line 1455 of yacc.c */ #line 8541 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *table_name = NULL; get_non_reserved_node(table_name, result->malloc_pool_, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RELATION_FACTOR, 2, (yyvsp[(1) - (3)].node), table_name); dup_node_string(table_name, (yyval.node), result->malloc_pool_); ;} break; case 1362: /* Line 1455 of yacc.c */ #line 8551 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RELATION_FACTOR, 2, NULL, (yyvsp[(2) - (2)].node)); dup_node_string((yyvsp[(2) - (2)].node), (yyval.node), result->malloc_pool_); ;} break; case 1363: /* Line 1455 of yacc.c */ #line 8556 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *table_name = NULL; get_non_reserved_node(table_name, result->malloc_pool_, (yylsp[(2) - (2)]).first_column, (yylsp[(2) - (2)]).last_column); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RELATION_FACTOR, 2, NULL, table_name); dup_node_string(table_name, (yyval.node), result->malloc_pool_); ;} break; case 1364: /* Line 1455 of yacc.c */ #line 8566 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RELATION_FACTOR_IN_HINT, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1365: /* Line 1455 of yacc.c */ #line 8573 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 1366: /* Line 1455 of yacc.c */ #line 8575 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1367: /* Line 1455 of yacc.c */ #line 8580 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1368: /* Line 1455 of yacc.c */ #line 8584 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1369: /* Line 1455 of yacc.c */ #line 8591 "../../../src/sql/parser/sql_parser_mysql_mode.y" {;} break; case 1370: /* Line 1455 of yacc.c */ #line 8593 "../../../src/sql/parser/sql_parser_mysql_mode.y" {;} break; case 1371: /* Line 1455 of yacc.c */ #line 8598 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1372: /* Line 1455 of yacc.c */ #line 8603 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RELATION_FACTOR_IN_HINT_LIST, 1, (yyvsp[(2) - (3)].node)); ;} break; case 1373: /* Line 1455 of yacc.c */ #line 8609 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RELATION_FACTOR_IN_HINT_LIST, 1, (yyvsp[(2) - (3)].node)); ;} break; case 1374: /* Line 1455 of yacc.c */ #line 8615 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1375: /* Line 1455 of yacc.c */ #line 8619 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1376: /* Line 1455 of yacc.c */ #line 8623 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1377: /* Line 1455 of yacc.c */ #line 8627 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RELATION_FACTOR_IN_HINT_LIST, 1, (yyvsp[(2) - (3)].node)); ;} break; case 1378: /* Line 1455 of yacc.c */ #line 8631 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *link_node = NULL; malloc_non_terminal_node(link_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(2) - (5)].node), (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RELATION_FACTOR_IN_HINT_LIST, 1, link_node); ;} break; case 1379: /* Line 1455 of yacc.c */ #line 8637 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *link_node = NULL; ParseNode *link_node2 = NULL; malloc_non_terminal_node(link_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(4) - (7)].node), (yyvsp[(6) - (7)].node)); malloc_non_terminal_node(link_node2, result->malloc_pool_, T_RELATION_FACTOR_IN_HINT_LIST, 1, link_node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (7)].node), link_node2); ;} break; case 1380: /* Line 1455 of yacc.c */ #line 8648 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1381: /* Line 1455 of yacc.c */ #line 8652 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1382: /* Line 1455 of yacc.c */ #line 8659 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1383: /* Line 1455 of yacc.c */ #line 8663 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RELATION_FACTOR_IN_HINT_LIST, 1, (yyvsp[(2) - (3)].node)); ;} break; case 1384: /* Line 1455 of yacc.c */ #line 8667 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1385: /* Line 1455 of yacc.c */ #line 8671 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *link_node = NULL; malloc_non_terminal_node(link_node, result->malloc_pool_, T_RELATION_FACTOR_IN_HINT_LIST, 1, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (5)].node), link_node); ;} break; case 1386: /* Line 1455 of yacc.c */ #line 8680 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *link_node = NULL; malloc_non_terminal_node(link_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), link_node); ;} break; case 1387: /* Line 1455 of yacc.c */ #line 8686 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)=(yyvsp[(1) - (1)].node); ;} break; case 1388: /* Line 1455 of yacc.c */ #line 8692 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 1389: /* Line 1455 of yacc.c */ #line 8696 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_COLUMN_LIST, (yyvsp[(3) - (4)].node)); ;} break; case 1390: /* Line 1455 of yacc.c */ #line 8706 "../../../src/sql/parser/sql_parser_mysql_mode.y" { JOIN_MERGE_NODES((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_JOINED_TABLE, 5, (yyvsp[(2) - (3)].node), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), NULL, NULL); ;} break; case 1391: /* Line 1455 of yacc.c */ #line 8711 "../../../src/sql/parser/sql_parser_mysql_mode.y" { JOIN_MERGE_NODES((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_JOINED_TABLE, 5, (yyvsp[(2) - (5)].node), (yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node), NULL); ;} break; case 1392: /* Line 1455 of yacc.c */ #line 8716 "../../../src/sql/parser/sql_parser_mysql_mode.y" { JOIN_MERGE_NODES((yyvsp[(1) - (7)].node), (yyvsp[(3) - (7)].node)); ParseNode *condition_node = NULL; merge_nodes(condition_node, result, T_COLUMN_LIST, (yyvsp[(6) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_JOINED_TABLE, 5, (yyvsp[(2) - (7)].node), (yyvsp[(1) - (7)].node), (yyvsp[(3) - (7)].node), condition_node, NULL); ;} break; case 1393: /* Line 1455 of yacc.c */ #line 8723 "../../../src/sql/parser/sql_parser_mysql_mode.y" { JOIN_MERGE_NODES((yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_JOINED_TABLE, 5, (yyvsp[(2) - (4)].node), (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node), NULL); ;} break; case 1394: /* Line 1455 of yacc.c */ #line 8728 "../../../src/sql/parser/sql_parser_mysql_mode.y" { JOIN_MERGE_NODES((yyvsp[(1) - (5)].node), (yyvsp[(4) - (5)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_JOIN_FULL); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_JOINED_TABLE, 5, (yyval.node), (yyvsp[(1) - (5)].node), (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node), NULL); ;} break; case 1395: /* Line 1455 of yacc.c */ #line 8734 "../../../src/sql/parser/sql_parser_mysql_mode.y" { JOIN_MERGE_NODES((yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_JOIN_FULL); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_JOINED_TABLE, 5, (yyval.node), (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].node), NULL); ;} break; case 1396: /* Line 1455 of yacc.c */ #line 8740 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(1) - (2)].node)->type_ == T_ORG) { ParseNode *name_node = NULL; make_name_node(name_node, result->malloc_pool_, "full"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, (yyvsp[(1) - (2)].node)->num_child_ + 1); for (int i = 0; i <= (yyvsp[(1) - (2)].node)->num_child_; ++i) { if (i == 0) { (yyval.node)->children_[i] = (yyvsp[(1) - (2)].node)->children_[i]; } else if (i == 1) { (yyval.node)->children_[i] = name_node; } else { (yyval.node)->children_[i] = (yyvsp[(1) - (2)].node)->children_[i - 1]; } } } else if ((yyvsp[(1) - (2)].node)->type_ == T_ALIAS && (yyvsp[(1) - (2)].node)->children_[1] != NULL && strlen((yyvsp[(1) - (2)].node)->children_[1]->str_value_) == 0) { ParseNode *name_node = NULL; make_name_node(name_node, result->malloc_pool_, "full"); (yyvsp[(1) - (2)].node)->children_[1] = name_node; (yyval.node) = (yyvsp[(1) - (2)].node); } else { yyerror(&(yylsp[(2) - (2)]), result, "occur multi alias name\n"); YYERROR; } ;} break; case 1397: /* Line 1455 of yacc.c */ #line 8766 "../../../src/sql/parser/sql_parser_mysql_mode.y" { JOIN_MERGE_NODES((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ParseNode *join_attr = NULL; malloc_terminal_node(join_attr, result->malloc_pool_, T_NATURAL_JOIN); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_JOINED_TABLE, 5, (yyvsp[(2) - (3)].node), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), NULL, join_attr); ;} break; case 1398: /* Line 1455 of yacc.c */ #line 8778 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1399: /* Line 1455 of yacc.c */ #line 8782 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(1) - (2)].node)->type_ == T_ORG) { ParseNode *name_node = NULL; make_name_node(name_node, result->malloc_pool_, "full"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALIAS, (yyvsp[(1) - (2)].node)->num_child_ + 1); for (int i = 0; i <= (yyvsp[(1) - (2)].node)->num_child_; ++i) { if (i == 0) { (yyval.node)->children_[i] = (yyvsp[(1) - (2)].node)->children_[i]; } else if (i == 1) { (yyval.node)->children_[i] = name_node; } else { (yyval.node)->children_[i] = (yyvsp[(1) - (2)].node)->children_[i - 1]; } } } else if ((yyvsp[(1) - (2)].node)->type_ == T_ALIAS && (yyvsp[(1) - (2)].node)->children_[1] != NULL && strlen((yyvsp[(1) - (2)].node)->children_[1]->str_value_) == 0) { ParseNode *name_node = NULL; make_name_node(name_node, result->malloc_pool_, "full"); (yyvsp[(1) - (2)].node)->children_[1] = name_node; (yyval.node) = (yyvsp[(1) - (2)].node); } else { yyerror(&(yylsp[(2) - (2)]), result, "occur multi alias name\n"); YYERROR; } ;} break; case 1400: /* Line 1455 of yacc.c */ #line 8811 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node) ;} break; case 1401: /* Line 1455 of yacc.c */ #line 8815 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(2) - (3)].node); malloc_terminal_node((yyval.node), result->malloc_pool_, T_JOIN_INNER); ;} break; case 1402: /* Line 1455 of yacc.c */ #line 8823 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_JOIN_INNER); ;} break; case 1403: /* Line 1455 of yacc.c */ #line 8827 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_JOIN_INNER); ;} break; case 1404: /* Line 1455 of yacc.c */ #line 8831 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_JOIN_INNER); ;} break; case 1405: /* Line 1455 of yacc.c */ #line 8837 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1406: /* Line 1455 of yacc.c */ #line 8838 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1407: /* Line 1455 of yacc.c */ #line 8843 "../../../src/sql/parser/sql_parser_mysql_mode.y" { /* make bison mute */ (void)((yyvsp[(2) - (3)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_JOIN_FULL); ;} break; case 1408: /* Line 1455 of yacc.c */ #line 8849 "../../../src/sql/parser/sql_parser_mysql_mode.y" { /* make bison mute */ (void)((yyvsp[(2) - (3)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_JOIN_LEFT); ;} break; case 1409: /* Line 1455 of yacc.c */ #line 8855 "../../../src/sql/parser/sql_parser_mysql_mode.y" { /* make bison mute */ (void)((yyvsp[(2) - (3)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_JOIN_RIGHT); ;} break; case 1410: /* Line 1455 of yacc.c */ #line 8864 "../../../src/sql/parser/sql_parser_mysql_mode.y" { /* make bison mute */ (void)((yyvsp[(2) - (3)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_JOIN_LEFT); ;} break; case 1411: /* Line 1455 of yacc.c */ #line 8870 "../../../src/sql/parser/sql_parser_mysql_mode.y" { /* make bison mute */ (void)((yyvsp[(2) - (3)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_JOIN_RIGHT); ;} break; case 1412: /* Line 1455 of yacc.c */ #line 8879 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1413: /* Line 1455 of yacc.c */ #line 8880 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1414: /* Line 1455 of yacc.c */ #line 8890 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *name_node = NULL; ParseNode *flag_node = new_terminal_node(result->malloc_pool_, T_DEFAULT); flag_node->value_ = 1; malloc_non_terminal_node(name_node, result->malloc_pool_, T_RELATION_FACTOR, 2, NULL, (yyvsp[(4) - (7)].node)); dup_node_string((yyvsp[(4) - (7)].node), name_node, result->malloc_pool_); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_OUTLINE, 5, (yyvsp[(2) - (7)].node), name_node, flag_node, (yyvsp[(6) - (7)].node), (yyvsp[(7) - (7)].node)); dup_expr_string((yyvsp[(6) - (7)].node), result, (yylsp[(6) - (7)]).first_column, (yylsp[(6) - (7)]).last_column); ;} break; case 1415: /* Line 1455 of yacc.c */ #line 8902 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *name_node = NULL; malloc_non_terminal_node(name_node, result->malloc_pool_, T_RELATION_FACTOR, 2, NULL, (yyvsp[(4) - (9)].node)); ParseNode *flag_node = new_terminal_node(result->malloc_pool_, T_DEFAULT); flag_node->value_ = 2; if ((yyvsp[(9) - (9)].node) != NULL) { dup_expr_string((yyvsp[(9) - (9)].node), result, (yylsp[(9) - (9)]).first_column, (yylsp[(9) - (9)]).last_column); } malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_OUTLINE, 5, (yyvsp[(2) - (9)].node), name_node, flag_node, (yyvsp[(9) - (9)].node), (yyvsp[(6) - (9)].node)); ;} break; case 1416: /* Line 1455 of yacc.c */ #line 8922 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *name_node = NULL; malloc_non_terminal_node(name_node, result->malloc_pool_, T_RELATION_FACTOR, 2, NULL, (yyvsp[(3) - (6)].node)); dup_node_string((yyvsp[(3) - (6)].node), name_node, result->malloc_pool_); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_OUTLINE, 3, name_node, (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].node)); dup_expr_string((yyvsp[(5) - (6)].node), result, (yylsp[(5) - (6)]).first_column, (yylsp[(5) - (6)]).last_column); ;} break; case 1417: /* Line 1455 of yacc.c */ #line 8938 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DROP_OUTLINE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1418: /* Line 1455 of yacc.c */ #line 8945 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); dup_expr_string((yyval.node), result, (yylsp[(2) - (2)]).first_column, (yylsp[(2) - (2)]).last_column); ;} break; case 1419: /* Line 1455 of yacc.c */ #line 8950 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1420: /* Line 1455 of yacc.c */ #line 8961 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (3)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_COLUMNS, 4, (yyval.node), (yyvsp[(2) - (3)].node), NULL, (yyvsp[(3) - (3)].node)); ;} break; case 1421: /* Line 1455 of yacc.c */ #line 8968 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (2)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPLAIN, 2, NULL, (yyvsp[(2) - (2)].node)); ;} break; case 1422: /* Line 1455 of yacc.c */ #line 8973 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (3)].node)); ParseNode *type_node = NULL; malloc_terminal_node(type_node, result->malloc_pool_, T_BASIC); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPLAIN, 2, type_node, (yyvsp[(3) - (3)].node)); ;} break; case 1423: /* Line 1455 of yacc.c */ #line 8980 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (3)].node)); ParseNode *type_node = NULL; malloc_terminal_node(type_node, result->malloc_pool_, T_OUTLINE); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPLAIN, 2, type_node, (yyvsp[(3) - (3)].node)); ;} break; case 1424: /* Line 1455 of yacc.c */ #line 8987 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (3)].node)); ParseNode *type_node = NULL; malloc_terminal_node(type_node, result->malloc_pool_, T_EXTENDED); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPLAIN, 2, type_node, (yyvsp[(3) - (3)].node)); ;} break; case 1425: /* Line 1455 of yacc.c */ #line 8994 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (3)].node)); ParseNode *type_node = NULL; malloc_terminal_node(type_node, result->malloc_pool_, T_EXTENDED_NOADDR); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPLAIN, 2, type_node, (yyvsp[(3) - (3)].node)); ;} break; case 1426: /* Line 1455 of yacc.c */ #line 9001 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (3)].node)); ParseNode *type_node = NULL; malloc_terminal_node(type_node, result->malloc_pool_, T_PLANREGRESS); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPLAIN, 2, type_node, (yyvsp[(3) - (3)].node)); ;} break; case 1427: /* Line 1455 of yacc.c */ #line 9008 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (3)].node)); ParseNode *type_node = NULL; malloc_terminal_node(type_node, result->malloc_pool_, T_PARTITIONS); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPLAIN, 2, type_node, (yyvsp[(3) - (3)].node)); ;} break; case 1428: /* Line 1455 of yacc.c */ #line 9015 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXPLAIN, 2, (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 1429: /* Line 1455 of yacc.c */ #line 9022 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1430: /* Line 1455 of yacc.c */ #line 9023 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1431: /* Line 1455 of yacc.c */ #line 9024 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1432: /* Line 1455 of yacc.c */ #line 9028 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1433: /* Line 1455 of yacc.c */ #line 9029 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1434: /* Line 1455 of yacc.c */ #line 9030 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1435: /* Line 1455 of yacc.c */ #line 9031 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1436: /* Line 1455 of yacc.c */ #line 9036 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TRADITIONAL); ;} break; case 1437: /* Line 1455 of yacc.c */ #line 9038 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_JSON); ;} break; case 1438: /* Line 1455 of yacc.c */ #line 9049 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *value = NULL; malloc_terminal_node(value, result->malloc_pool_, T_INT); value->value_ = (yyvsp[(2) - (5)].ival)[0]; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_TABLES, 3, (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node), value); ;} break; case 1439: /* Line 1455 of yacc.c */ #line 9056 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(2) - (4)].node); //(void)$3; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_DATABASES, 2, (yyvsp[(4) - (4)].node), (yyvsp[(3) - (4)].node)); ;} break; case 1440: /* Line 1455 of yacc.c */ #line 9062 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(3) - (7)].node); (void)(yyvsp[(4) - (7)].node); malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = (yyvsp[(2) - (7)].ival)[0]; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_COLUMNS, 4, (yyval.node), (yyvsp[(5) - (7)].node), (yyvsp[(6) - (7)].node), (yyvsp[(7) - (7)].node)); ;} break; case 1441: /* Line 1455 of yacc.c */ #line 9070 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_TABLE_STATUS, 2, (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 1442: /* Line 1455 of yacc.c */ #line 9072 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_PROCEDURE_STATUS, 2, (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 1443: /* Line 1455 of yacc.c */ #line 9074 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_FUNCTION_STATUS, 2, (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 1444: /* Line 1455 of yacc.c */ #line 9076 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_TRIGGERS, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 1445: /* Line 1455 of yacc.c */ #line 9078 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_SERVER_STATUS, 1, (yyvsp[(4) - (4)].node)); ;} break; case 1446: /* Line 1455 of yacc.c */ #line 9080 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = (yyvsp[(2) - (4)].ival)[0]; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_VARIABLES, 2, (yyval.node), (yyvsp[(4) - (4)].node)); ;} break; case 1447: /* Line 1455 of yacc.c */ #line 9086 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_SCHEMA); ;} break; case 1448: /* Line 1455 of yacc.c */ #line 9088 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(3) - (5)].node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_CREATE_DATABASE, 2, (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 1449: /* Line 1455 of yacc.c */ #line 9093 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_CREATE_TABLE, 1, (yyvsp[(4) - (4)].node)); ;} break; case 1450: /* Line 1455 of yacc.c */ #line 9095 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_CREATE_VIEW, 1, (yyvsp[(4) - (4)].node)); ;} break; case 1451: /* Line 1455 of yacc.c */ #line 9097 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_CREATE_PROCEDURE, 1, (yyvsp[(4) - (4)].node)); ;} break; case 1452: /* Line 1455 of yacc.c */ #line 9099 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_CREATE_FUNCTION, 1, (yyvsp[(4) - (4)].node)); ;} break; case 1453: /* Line 1455 of yacc.c */ #line 9101 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_WARNINGS, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1454: /* Line 1455 of yacc.c */ #line 9105 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_ERRORS, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1455: /* Line 1455 of yacc.c */ #line 9109 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *fun = NULL; ParseNode *node = NULL; malloc_terminal_node(node, result->malloc_pool_, T_STAR); malloc_non_terminal_node(fun, result->malloc_pool_, T_FUN_COUNT, 1, node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_WARNINGS, 1, fun); ;} break; case 1456: /* Line 1455 of yacc.c */ #line 9117 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *fun = NULL; ParseNode *node = NULL; malloc_terminal_node(node, result->malloc_pool_, T_STAR); malloc_non_terminal_node(fun, result->malloc_pool_, T_FUN_COUNT, 1, node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_ERRORS, 1, fun); ;} break; case 1457: /* Line 1455 of yacc.c */ #line 9125 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_GRANTS, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1458: /* Line 1455 of yacc.c */ #line 9129 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(2) - (3)].node); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_CHARSET, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1459: /* Line 1455 of yacc.c */ #line 9134 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_TRACE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1460: /* Line 1455 of yacc.c */ #line 9136 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_COLLATION, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1461: /* Line 1455 of yacc.c */ #line 9181 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_PARAMETERS, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 1462: /* Line 1455 of yacc.c */ #line 9185 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(2) - (6)].node);//useless (void)(yyvsp[(3) - (6)].node);//useless malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_INDEXES, 3, (yyvsp[(4) - (6)].node), (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].node)); ;} break; case 1463: /* Line 1455 of yacc.c */ #line 9191 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *full_node = NULL; malloc_terminal_node(full_node, result->malloc_pool_, T_INT); full_node->value_ = (yyvsp[(2) - (3)].ival)[0]; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_PROCESSLIST, 1, full_node); ;} break; case 1464: /* Line 1455 of yacc.c */ #line 9198 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_TABLEGROUPS, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1465: /* Line 1455 of yacc.c */ #line 9200 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = (yyvsp[(2) - (4)].ival)[0]; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_STATUS, 2, (yyval.node), (yyvsp[(4) - (4)].node)); ;} break; case 1466: /* Line 1455 of yacc.c */ #line 9206 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_TENANT, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1467: /* Line 1455 of yacc.c */ #line 9210 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_CREATE_TENANT, 1, (yyvsp[(4) - (4)].node)); ;} break; case 1468: /* Line 1455 of yacc.c */ #line 9212 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(2) - (3)].node); malloc_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_ENGINES); ;} break; case 1469: /* Line 1455 of yacc.c */ #line 9217 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_PRIVILEGES); ;} break; case 1470: /* Line 1455 of yacc.c */ #line 9221 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_RECYCLEBIN); ;} break; case 1471: /* Line 1455 of yacc.c */ #line 9225 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_CREATE_TABLEGROUP, 1, (yyvsp[(4) - (4)].node)); ;} break; case 1472: /* Line 1455 of yacc.c */ #line 9229 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1473: /* Line 1455 of yacc.c */ #line 9230 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1474: /* Line 1455 of yacc.c */ #line 9235 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if (OB_UNLIKELY((yyvsp[(2) - (4)].node)->value_ < 0 || (yyvsp[(4) - (4)].node)->value_ < 0)) { yyerror(&(yylsp[(1) - (4)]), result, "OFFSET/COUNT must not be less than 0!\n"); YYERROR; } malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_LIMIT, 2, (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 1475: /* Line 1455 of yacc.c */ #line 9243 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if (OB_UNLIKELY((yyvsp[(2) - (2)].node)->value_ < 0)) { yyerror(&(yylsp[(1) - (2)]), result, "COUNT must not be less than 0!\n"); YYERROR; } malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_LIMIT, 2, NULL, (yyvsp[(2) - (2)].node)); ;} break; case 1476: /* Line 1455 of yacc.c */ #line 9251 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1477: /* Line 1455 of yacc.c */ #line 9256 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1478: /* Line 1455 of yacc.c */ #line 9258 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1479: /* Line 1455 of yacc.c */ #line 9260 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1480: /* Line 1455 of yacc.c */ #line 9264 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_STATUS); ;} break; case 1481: /* Line 1455 of yacc.c */ #line 9265 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1482: /* Line 1455 of yacc.c */ #line 9270 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1483: /* Line 1455 of yacc.c */ #line 9272 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1484: /* Line 1455 of yacc.c */ #line 9276 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 1485: /* Line 1455 of yacc.c */ #line 9277 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1486: /* Line 1455 of yacc.c */ #line 9278 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1487: /* Line 1455 of yacc.c */ #line 9279 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 1488: /* Line 1455 of yacc.c */ #line 9284 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1489: /* Line 1455 of yacc.c */ #line 9286 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1490: /* Line 1455 of yacc.c */ #line 9291 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1491: /* Line 1455 of yacc.c */ #line 9293 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1492: /* Line 1455 of yacc.c */ #line 9298 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1493: /* Line 1455 of yacc.c */ #line 9300 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1494: /* Line 1455 of yacc.c */ #line 9302 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1495: /* Line 1455 of yacc.c */ #line 9307 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1496: /* Line 1455 of yacc.c */ #line 9309 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1497: /* Line 1455 of yacc.c */ #line 9314 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1498: /* Line 1455 of yacc.c */ #line 9316 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(1) - (2)].node);//useless malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FROM_LIST, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1499: /* Line 1455 of yacc.c */ #line 9324 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1500: /* Line 1455 of yacc.c */ #line 9326 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *node = NULL; malloc_terminal_node(node, result->malloc_pool_, T_VARCHAR); node->str_value_ = "\\"; node->str_len_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LIKE_CLAUSE, 2, (yyvsp[(2) - (2)].node), node); ;} break; case 1501: /* Line 1455 of yacc.c */ #line 9334 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if (OB_UNLIKELY(1 != (yyvsp[(4) - (4)].node)->str_len_)) { yyerror(&(yylsp[(1) - (4)]), result, "Incorrect arguments to ESCAPE\n"); YYABORT_PARSE_SQL_ERROR; } malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LIKE_CLAUSE, 2, (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 1502: /* Line 1455 of yacc.c */ #line 9342 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WHERE_CLAUSE, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1503: /* Line 1455 of yacc.c */ #line 9347 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1504: /* Line 1455 of yacc.c */ #line 9349 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *node = NULL; malloc_terminal_node(node, result->malloc_pool_, T_VARCHAR); node->str_value_ = "\\"; node->str_len_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LIKE_CLAUSE, 2, (yyvsp[(1) - (1)].node), node); ;} break; case 1505: /* Line 1455 of yacc.c */ #line 9357 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *pattern_node = NULL; malloc_terminal_node(pattern_node, result->malloc_pool_, T_VARCHAR); dup_node_string((yyvsp[(1) - (1)].node), pattern_node, result->malloc_pool_); ParseNode *escape_node = NULL; malloc_terminal_node(escape_node, result->malloc_pool_, T_VARCHAR); escape_node->str_value_ = "\\"; escape_node->str_len_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LIKE_CLAUSE, 2, pattern_node, escape_node); ;} break; case 1506: /* Line 1455 of yacc.c */ #line 9376 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *users_node = NULL; merge_nodes(users_node, result, T_USERS, (yyvsp[(4) - (5)].node)); ParseNode *res_opt_node = NULL; merge_nodes(res_opt_node, result, T_USER_RESOURCE_OPTIONS, (yyvsp[(5) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_USER, 4, (yyvsp[(3) - (5)].node), users_node, NULL, res_opt_node); ;} break; case 1507: /* Line 1455 of yacc.c */ #line 9384 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *users_node = NULL; merge_nodes(users_node, result, T_USERS, (yyvsp[(4) - (6)].node)); ParseNode *require_node = NULL; merge_nodes(require_node, result, T_TLS_OPTIONS, (yyvsp[(5) - (6)].node)); ParseNode *res_opt_node = NULL; merge_nodes(res_opt_node, result, T_USER_RESOURCE_OPTIONS, (yyvsp[(6) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_USER, 4, (yyvsp[(3) - (6)].node), users_node, require_node, res_opt_node); ;} break; case 1508: /* Line 1455 of yacc.c */ #line 9397 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1509: /* Line 1455 of yacc.c */ #line 9401 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1510: /* Line 1455 of yacc.c */ #line 9408 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *need_enc_node = NULL; malloc_terminal_node(need_enc_node, result->malloc_pool_, T_BOOL); need_enc_node->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_USER_SPEC, 4, (yyvsp[(1) - (2)].node), NULL, need_enc_node, (yyvsp[(2) - (2)].node)); ;} break; case 1511: /* Line 1455 of yacc.c */ #line 9415 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *need_enc_node = NULL; malloc_terminal_node(need_enc_node, result->malloc_pool_, T_BOOL); need_enc_node->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_USER_SPEC, 4, (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), need_enc_node, (yyvsp[(2) - (5)].node)); ;} break; case 1512: /* Line 1455 of yacc.c */ #line 9422 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *need_enc_node = NULL; malloc_terminal_node(need_enc_node, result->malloc_pool_, T_BOOL); need_enc_node->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_USER_SPEC, 4, (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), need_enc_node, (yyvsp[(2) - (6)].node)); ;} break; case 1513: /* Line 1455 of yacc.c */ #line 9432 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TLS_NONE); ;} break; case 1514: /* Line 1455 of yacc.c */ #line 9436 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TLS_SSL); ;} break; case 1515: /* Line 1455 of yacc.c */ #line 9440 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TLS_XFZN); ;} break; case 1516: /* Line 1455 of yacc.c */ #line 9444 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *specified_node = NULL; merge_nodes(specified_node, result, T_TLS_SPECIFIED, (yyvsp[(2) - (2)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TLS_SPECIFIED, 1, specified_node); ;} break; case 1517: /* Line 1455 of yacc.c */ #line 9453 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 1518: /* Line 1455 of yacc.c */ #line 9457 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1519: /* Line 1455 of yacc.c */ #line 9464 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1520: /* Line 1455 of yacc.c */ #line 9468 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1521: /* Line 1455 of yacc.c */ #line 9474 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_MAX_CONNECTIONS_PER_HOUR); (yyval.node)->value_ = (yyvsp[(2) - (2)].node)->value_; ;} break; case 1522: /* Line 1455 of yacc.c */ #line 9479 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_MAX_USER_CONNECTIONS); (yyval.node)->value_ = (yyvsp[(2) - (2)].node)->value_; ;} break; case 1523: /* Line 1455 of yacc.c */ #line 9499 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1524: /* Line 1455 of yacc.c */ #line 9503 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1525: /* Line 1455 of yacc.c */ #line 9507 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1526: /* Line 1455 of yacc.c */ #line 9514 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TLS_CIPHER, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1527: /* Line 1455 of yacc.c */ #line 9518 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TLS_ISSUER, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1528: /* Line 1455 of yacc.c */ #line 9522 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TLS_SUBJECT, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1529: /* Line 1455 of yacc.c */ #line 9530 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1530: /* Line 1455 of yacc.c */ #line 9534 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1531: /* Line 1455 of yacc.c */ #line 9538 "../../../src/sql/parser/sql_parser_mysql_mode.y" { get_non_reserved_node((yyval.node), result->malloc_pool_, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 1532: /* Line 1455 of yacc.c */ #line 9545 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1533: /* Line 1455 of yacc.c */ #line 9549 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1534: /* Line 1455 of yacc.c */ #line 9556 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_USER_WITH_HOST_NAME, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1535: /* Line 1455 of yacc.c */ #line 9563 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node)->stmt_loc_.first_column_ = (yylsp[(1) - (1)]).first_column - 1; (yyval.node)->stmt_loc_.last_column_ = (yylsp[(1) - (1)]).last_column - 1; ;} break; case 1536: /* Line 1455 of yacc.c */ #line 9577 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_DROP_USER, (yyvsp[(3) - (3)].node)); ;} break; case 1537: /* Line 1455 of yacc.c */ #line 9584 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1538: /* Line 1455 of yacc.c */ #line 9588 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1539: /* Line 1455 of yacc.c */ #line 9600 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *need_enc_node = NULL; malloc_terminal_node(need_enc_node, result->malloc_pool_, T_BOOL); need_enc_node->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SET_PASSWORD, 4, (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node), need_enc_node, NULL); ;} break; case 1540: /* Line 1455 of yacc.c */ #line 9607 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *need_enc_node = NULL; malloc_terminal_node(need_enc_node, result->malloc_pool_, T_BOOL); need_enc_node->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SET_PASSWORD, 4, (yyvsp[(3) - (8)].node), (yyvsp[(7) - (8)].node), need_enc_node, NULL); ;} break; case 1541: /* Line 1455 of yacc.c */ #line 9614 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *need_enc_node = NULL; malloc_terminal_node(need_enc_node, result->malloc_pool_, T_BOOL); need_enc_node->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SET_PASSWORD, 4, (yyvsp[(3) - (6)].node), (yyvsp[(6) - (6)].node), need_enc_node, NULL); ;} break; case 1542: /* Line 1455 of yacc.c */ #line 9621 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *require_node = NULL; merge_nodes(require_node, result, T_TLS_OPTIONS, (yyvsp[(4) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SET_PASSWORD, 4, (yyvsp[(3) - (4)].node), NULL, NULL, require_node); ;} break; case 1543: /* Line 1455 of yacc.c */ #line 9627 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *res_opt_node = NULL; merge_nodes(res_opt_node, result, T_USER_RESOURCE_OPTIONS, (yyvsp[(5) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SET_PASSWORD, 4, (yyvsp[(3) - (5)].node), NULL, NULL, res_opt_node); ;} break; case 1544: /* Line 1455 of yacc.c */ #line 9636 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_USER_WITH_HOST_NAME, 2, (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1545: /* Line 1455 of yacc.c */ #line 9641 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1546: /* Line 1455 of yacc.c */ #line 9652 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_RENAME_USER, (yyvsp[(3) - (3)].node)); ;} break; case 1547: /* Line 1455 of yacc.c */ #line 9659 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RENAME_INFO, 4, (yyvsp[(1) - (5)].node), (yyvsp[(2) - (5)].node), (yyvsp[(4) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 1548: /* Line 1455 of yacc.c */ #line 9666 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1549: /* Line 1455 of yacc.c */ #line 9670 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1550: /* Line 1455 of yacc.c */ #line 9682 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *users_node = NULL; merge_nodes(users_node, result, T_USERS, (yyvsp[(3) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LOCK_USER, 2, users_node, (yyvsp[(5) - (5)].node)); ;} break; case 1551: /* Line 1455 of yacc.c */ #line 9691 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_BOOL); (yyval.node)->value_ = 1; ;} break; case 1552: /* Line 1455 of yacc.c */ #line 9696 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_BOOL); (yyval.node)->value_ = 0; ;} break; case 1553: /* Line 1455 of yacc.c */ #line 9711 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(2) - (3)].node); (void)(yyvsp[(3) - (3)].node); malloc_terminal_node((yyval.node), result->malloc_pool_, T_EMPTY_QUERY); ;} break; case 1554: /* Line 1455 of yacc.c */ #line 9720 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_EMPTY_QUERY); ;} break; case 1555: /* Line 1455 of yacc.c */ #line 9727 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); (void)(yyvsp[(1) - (1)].node); ;} break; case 1556: /* Line 1455 of yacc.c */ #line 9732 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); (void)(yyvsp[(1) - (3)].node); (void)(yyvsp[(3) - (3)].node); ;} break; case 1557: /* Line 1455 of yacc.c */ #line 9741 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); (void)(yyvsp[(1) - (2)].node); (void)(yyvsp[(2) - (2)].node); ;} break; case 1558: /* Line 1455 of yacc.c */ #line 9748 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); (void)(yyvsp[(1) - (4)].node); (void)(yyvsp[(2) - (4)].node); (void)(yyvsp[(3) - (4)].node); (void)(yyvsp[(4) - (4)].node); ;} break; case 1559: /* Line 1455 of yacc.c */ #line 9759 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); (void)(yyvsp[(2) - (2)].node); ;} break; case 1560: /* Line 1455 of yacc.c */ #line 9765 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); ;} break; case 1561: /* Line 1455 of yacc.c */ #line 9770 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); ;} break; case 1562: /* Line 1455 of yacc.c */ #line 9776 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1563: /* Line 1455 of yacc.c */ #line 9777 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1564: /* Line 1455 of yacc.c */ #line 9788 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); ;} break; case 1565: /* Line 1455 of yacc.c */ #line 9792 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); ;} break; case 1566: /* Line 1455 of yacc.c */ #line 9799 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = OB_WITH_CONSTISTENT_SNAPSHOT; ;} break; case 1567: /* Line 1455 of yacc.c */ #line 9803 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = (yyvsp[(1) - (1)].node)->value_; ;} break; case 1568: /* Line 1455 of yacc.c */ #line 9807 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = OB_WITH_CONSTISTENT_SNAPSHOT | (yyvsp[(5) - (5)].node)->value_; ;} break; case 1569: /* Line 1455 of yacc.c */ #line 9811 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = OB_WITH_CONSTISTENT_SNAPSHOT | (yyvsp[(1) - (5)].node)->value_; ;} break; case 1570: /* Line 1455 of yacc.c */ #line 9815 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 1571: /* Line 1455 of yacc.c */ #line 9822 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(2) - (2)].node); malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BEGIN, 1, (yyval.node)); ;} break; case 1572: /* Line 1455 of yacc.c */ #line 9829 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = (yyvsp[(3) - (3)].ival)[0]; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BEGIN, 1, (yyval.node)); ;} break; case 1573: /* Line 1455 of yacc.c */ #line 9844 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_XA_START, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1574: /* Line 1455 of yacc.c */ #line 9848 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_XA_START, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1575: /* Line 1455 of yacc.c */ #line 9855 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_XA_END, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1576: /* Line 1455 of yacc.c */ #line 9862 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_XA_PREPARE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1577: /* Line 1455 of yacc.c */ #line 9869 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_XA_COMMIT, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1578: /* Line 1455 of yacc.c */ #line 9876 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_XA_ROLLBACK, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1579: /* Line 1455 of yacc.c */ #line 9888 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(2) - (2)].node); malloc_terminal_node((yyval.node), result->malloc_pool_, T_COMMIT); ;} break; case 1580: /* Line 1455 of yacc.c */ #line 9901 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(2) - (2)].node); malloc_terminal_node((yyval.node), result->malloc_pool_, T_ROLLBACK); ;} break; case 1581: /* Line 1455 of yacc.c */ #line 9914 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *opt_node = NULL; malloc_terminal_node(opt_node, result->malloc_pool_, T_BOOL); opt_node->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_KILL, 2, opt_node, (yyvsp[(2) - (2)].node)); ;} break; case 1582: /* Line 1455 of yacc.c */ #line 9922 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *opt_node = NULL; malloc_terminal_node(opt_node, result->malloc_pool_, T_BOOL); opt_node->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_KILL, 2, opt_node, (yyvsp[(3) - (3)].node)); ;} break; case 1583: /* Line 1455 of yacc.c */ #line 9930 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *opt_node = NULL; malloc_terminal_node(opt_node, result->malloc_pool_, T_BOOL); opt_node->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_KILL, 2, opt_node, (yyvsp[(3) - (3)].node)); ;} break; case 1584: /* Line 1455 of yacc.c */ #line 9945 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *privileges_list_node = NULL; ParseNode *privileges_node = NULL; ParseNode *users_node = NULL; malloc_non_terminal_node(privileges_list_node, result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(2) - (7)].node), (yyvsp[(7) - (7)].node)); merge_nodes(privileges_node, result, T_PRIVILEGES, privileges_list_node); merge_nodes(users_node, result, T_USERS, (yyvsp[(6) - (7)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_GRANT, 3, privileges_node, (yyvsp[(4) - (7)].node), users_node); ;} break; case 1585: /* Line 1455 of yacc.c */ #line 9960 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1586: /* Line 1455 of yacc.c */ #line 9964 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(2) - (2)].node); /* useless */ malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_ALL; ;} break; case 1587: /* Line 1455 of yacc.c */ #line 9973 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1588: /* Line 1455 of yacc.c */ #line 9977 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1589: /* Line 1455 of yacc.c */ #line 9984 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_ALTER; ;} break; case 1590: /* Line 1455 of yacc.c */ #line 9989 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_CREATE; ;} break; case 1591: /* Line 1455 of yacc.c */ #line 9994 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_CREATE_USER; ;} break; case 1592: /* Line 1455 of yacc.c */ #line 9999 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_DELETE; ;} break; case 1593: /* Line 1455 of yacc.c */ #line 10004 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_DROP; ;} break; case 1594: /* Line 1455 of yacc.c */ #line 10009 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_GRANT; ;} break; case 1595: /* Line 1455 of yacc.c */ #line 10014 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_INSERT; ;} break; case 1596: /* Line 1455 of yacc.c */ #line 10019 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_UPDATE; ;} break; case 1597: /* Line 1455 of yacc.c */ #line 10024 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_SELECT; ;} break; case 1598: /* Line 1455 of yacc.c */ #line 10029 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_INDEX; ;} break; case 1599: /* Line 1455 of yacc.c */ #line 10034 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_CREATE_VIEW; ;} break; case 1600: /* Line 1455 of yacc.c */ #line 10039 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_SHOW_VIEW; ;} break; case 1601: /* Line 1455 of yacc.c */ #line 10044 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_SHOW_DB; ;} break; case 1602: /* Line 1455 of yacc.c */ #line 10049 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_SUPER; ;} break; case 1603: /* Line 1455 of yacc.c */ #line 10054 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_PROCESS; ;} break; case 1604: /* Line 1455 of yacc.c */ #line 10059 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = 0; ;} break; case 1605: /* Line 1455 of yacc.c */ #line 10064 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_CREATE_SYNONYM; ;} break; case 1606: /* Line 1455 of yacc.c */ #line 10069 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_FILE; ;} break; case 1607: /* Line 1455 of yacc.c */ #line 10074 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_ALTER_TENANT; ;} break; case 1608: /* Line 1455 of yacc.c */ #line 10079 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_ALTER_SYSTEM; ;} break; case 1609: /* Line 1455 of yacc.c */ #line 10084 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_CREATE_RESOURCE_POOL; ;} break; case 1610: /* Line 1455 of yacc.c */ #line 10089 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_CREATE_RESOURCE_UNIT; ;} break; case 1611: /* Line 1455 of yacc.c */ #line 10099 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1612: /* Line 1455 of yacc.c */ #line 10103 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1613: /* Line 1455 of yacc.c */ #line 10110 "../../../src/sql/parser/sql_parser_mysql_mode.y" { /* means global priv_level */ malloc_terminal_node((yyval.node), result->malloc_pool_, T_STAR); ;} break; case 1614: /* Line 1455 of yacc.c */ #line 10115 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *first_node = NULL; ParseNode *snd_node = NULL; malloc_terminal_node(first_node, result->malloc_pool_, T_STAR); malloc_terminal_node(snd_node, result->malloc_pool_, T_STAR); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_LEVEL, 2, first_node, snd_node); ;} break; case 1615: /* Line 1455 of yacc.c */ #line 10123 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *node = NULL; malloc_terminal_node(node, result->malloc_pool_, T_STAR); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_LEVEL, 2, (yyvsp[(1) - (3)].node), node); ;} break; case 1616: /* Line 1455 of yacc.c */ #line 10129 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1617: /* Line 1455 of yacc.c */ #line 10133 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_LEVEL, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1618: /* Line 1455 of yacc.c */ #line 10140 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PRIV_TYPE); (yyval.node)->value_ = OB_PRIV_GRANT; ;} break; case 1619: /* Line 1455 of yacc.c */ #line 10145 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1620: /* Line 1455 of yacc.c */ #line 10157 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *privileges_node = NULL; ParseNode *users_node = NULL; merge_nodes(privileges_node, result, T_PRIVILEGES, (yyvsp[(2) - (6)].node)); merge_nodes(users_node, result, T_USERS, (yyvsp[(6) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_REVOKE, 3, privileges_node, (yyvsp[(4) - (6)].node), users_node); ;} break; case 1621: /* Line 1455 of yacc.c */ #line 10166 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(3) - (8)].node);//useless ParseNode *users_node = NULL; merge_nodes(users_node, result, T_USERS, (yyvsp[(8) - (8)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_REVOKE_ALL, 1, users_node); ;} break; case 1622: /* Line 1455 of yacc.c */ #line 10183 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PREPARE, 2, (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node)); // dup_expr_string($4, result, @4.first_column, @4.last_column); ;} break; case 1623: /* Line 1455 of yacc.c */ #line 10191 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1624: /* Line 1455 of yacc.c */ #line 10196 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1625: /* Line 1455 of yacc.c */ #line 10200 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_GET_USER_VAR, 1, (yyvsp[(1) - (1)].node)); ;} break; case 1626: /* Line 1455 of yacc.c */ #line 10213 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_VARIABLE_SET, (yyvsp[(2) - (2)].node)); //$$->value_ = 2; //useless ;} break; case 1627: /* Line 1455 of yacc.c */ #line 10221 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyvsp[(1) - (1)].node)->value_ = 1;//set global (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1628: /* Line 1455 of yacc.c */ #line 10226 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyvsp[(3) - (3)].node)->value_ = 1;//set global malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1629: /* Line 1455 of yacc.c */ #line 10233 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1630: /* Line 1455 of yacc.c */ #line 10237 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1631: /* Line 1455 of yacc.c */ #line 10244 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(1) - (1)].node) != NULL && (yyvsp[(1) - (1)].node)->type_ == T_COLUMN_REF && (yyvsp[(1) - (1)].node)->num_child_ == 3 && (yyvsp[(1) - (1)].node)->children_[0] == NULL && (yyvsp[(1) - (1)].node)->children_[1] == NULL && (yyvsp[(1) - (1)].node)->children_[2] != NULL) { ParseNode *obj_node = (yyvsp[(1) - (1)].node)->children_[2]; if (nodename_equal(obj_node, "OFF", 3)) { malloc_terminal_node((yyval.node), result->malloc_pool_, T_VARCHAR); (yyval.node)->str_value_ = "OFF"; (yyval.node)->str_len_ = 3; } else { (yyval.node) = (yyvsp[(1) - (1)].node); } } else { (yyval.node) = (yyvsp[(1) - (1)].node); } ;} break; case 1632: /* Line 1455 of yacc.c */ #line 10260 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_VARCHAR); (yyval.node)->str_value_ = "ON"; (yyval.node)->str_len_ = 2; ;} break; case 1633: /* Line 1455 of yacc.c */ #line 10274 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_VARCHAR); (yyval.node)->str_value_ = "BINARY"; (yyval.node)->str_len_ = 6; ;} break; case 1634: /* Line 1455 of yacc.c */ #line 10280 "../../../src/sql/parser/sql_parser_mysql_mode.y" { //$$ = NULL; malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT); ;} break; case 1635: /* Line 1455 of yacc.c */ #line 10288 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_VAR_VAL, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node)->value_ = 2; ;} break; case 1636: /* Line 1455 of yacc.c */ #line 10294 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_VAR_VAL, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node)->value_ = 2; ;} break; case 1637: /* Line 1455 of yacc.c */ #line 10299 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1638: /* Line 1455 of yacc.c */ #line 10303 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(3) - (4)].node)); (yyvsp[(2) - (4)].node)->type_ = T_SYSTEM_VARIABLE; if (NULL != (yyvsp[(4) - (4)].node) && T_COLUMN_REF == (yyvsp[(4) - (4)].node)->type_ && NULL != (yyvsp[(4) - (4)].node)->children_ && NULL == (yyvsp[(4) - (4)].node)->children_[0] && NULL == (yyvsp[(4) - (4)].node)->children_[1] && NULL != (yyvsp[(4) - (4)].node)->children_[2]) { (yyvsp[(4) - (4)].node)->type_ = T_VARCHAR; (yyvsp[(4) - (4)].node)->str_value_ = (yyvsp[(4) - (4)].node)->children_[2]->str_value_; (yyvsp[(4) - (4)].node)->str_len_ = (yyvsp[(4) - (4)].node)->children_[2]->str_len_; (yyvsp[(4) - (4)].node)->num_child_ = 0; } malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_VAR_VAL, 2, (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node)); (yyval.node)->value_ = (yyvsp[(1) - (4)].ival)[0]; ;} break; case 1639: /* Line 1455 of yacc.c */ #line 10316 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); if (NULL != (yyvsp[(3) - (3)].node) && T_COLUMN_REF == (yyvsp[(3) - (3)].node)->type_ && NULL != (yyvsp[(3) - (3)].node)->children_ && NULL == (yyvsp[(3) - (3)].node)->children_[0] && NULL == (yyvsp[(3) - (3)].node)->children_[1] && NULL != (yyvsp[(3) - (3)].node)->children_[2]) { (yyvsp[(3) - (3)].node)->type_ = T_VARCHAR; (yyvsp[(3) - (3)].node)->str_value_ = (yyvsp[(3) - (3)].node)->children_[2]->str_value_; (yyvsp[(3) - (3)].node)->str_len_ = (yyvsp[(3) - (3)].node)->children_[2]->str_len_; (yyvsp[(3) - (3)].node)->num_child_ = 0; } malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_VAR_VAL, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node)->value_ = 2; ;} break; case 1640: /* Line 1455 of yacc.c */ #line 10331 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_VAR_VAL, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node)->value_ = 2; ;} break; case 1641: /* Line 1455 of yacc.c */ #line 10337 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_VAR_VAL, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node)->value_ = 2; ;} break; case 1642: /* Line 1455 of yacc.c */ #line 10344 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 1643: /* Line 1455 of yacc.c */ #line 10345 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1644: /* Line 1455 of yacc.c */ #line 10346 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 1645: /* Line 1455 of yacc.c */ #line 10347 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1646: /* Line 1455 of yacc.c */ #line 10351 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1647: /* Line 1455 of yacc.c */ #line 10352 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1648: /* Line 1455 of yacc.c */ #line 10362 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_EXECUTE, 2, (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1649: /* Line 1455 of yacc.c */ #line 10369 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_ARGUMENT_LIST, (yyvsp[(2) - (2)].node)); ;} break; case 1650: /* Line 1455 of yacc.c */ #line 10373 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1651: /* Line 1455 of yacc.c */ #line 10380 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1652: /* Line 1455 of yacc.c */ #line 10384 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1653: /* Line 1455 of yacc.c */ #line 10391 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OP_GET_USER_VAR, 1, (yyvsp[(1) - (1)].node)); ;} break; case 1654: /* Line 1455 of yacc.c */ #line 10403 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DEALLOCATE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1655: /* Line 1455 of yacc.c */ #line 10411 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1656: /* Line 1455 of yacc.c */ #line 10413 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1657: /* Line 1455 of yacc.c */ #line 10424 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TRUNCATE_TABLE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1658: /* Line 1455 of yacc.c */ #line 10438 "../../../src/sql/parser/sql_parser_mysql_mode.y" { //ParseNode *rename_table_actions = NULL; merge_nodes((yyval.node), result, T_RENAME_TABLE, (yyvsp[(3) - (3)].node)); //malloc_non_terminal_node($$, result->malloc_pool_, T_RENAME_TABLE, 1, rename_table_actions); ;} break; case 1659: /* Line 1455 of yacc.c */ #line 10447 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1660: /* Line 1455 of yacc.c */ #line 10451 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1661: /* Line 1455 of yacc.c */ #line 10458 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RENAME_TABLE_ACTION, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1662: /* Line 1455 of yacc.c */ #line 10470 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *table_actions = NULL; merge_nodes(table_actions, result, T_ALTER_TABLE_ACTION_LIST, (yyvsp[(4) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_TABLE, 2, (yyvsp[(3) - (4)].node), table_actions); (yyval.node)->value_ = 0; ;} break; case 1663: /* Line 1455 of yacc.c */ #line 10480 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1664: /* Line 1455 of yacc.c */ #line 10484 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1665: /* Line 1455 of yacc.c */ #line 10488 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1666: /* Line 1455 of yacc.c */ #line 10493 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(1) - (2)].node); merge_nodes((yyval.node), result, T_TABLE_OPTION_LIST, (yyvsp[(2) - (2)].node)); ;} break; case 1667: /* Line 1455 of yacc.c */ #line 10498 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_COLUMN_OPTION, 1, (yyvsp[(1) - (1)].node)); ;} break; case 1668: /* Line 1455 of yacc.c */ #line 10502 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_TABLEGROUP_OPTION, 1, (yyvsp[(1) - (1)].node)); ;} break; case 1669: /* Line 1455 of yacc.c */ #line 10506 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); ParseNode *rename_node = NULL; malloc_non_terminal_node(rename_node, result->malloc_pool_, T_TABLE_RENAME, 1, (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_TABLE_OPTION, 1, rename_node); ;} break; case 1670: /* Line 1455 of yacc.c */ #line 10513 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_INDEX_OPTION, 1, (yyvsp[(1) - (1)].node)); ;} break; case 1671: /* Line 1455 of yacc.c */ #line 10517 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_PARTITION_OPTION, 1, (yyvsp[(1) - (1)].node)); ;} break; case 1672: /* Line 1455 of yacc.c */ #line 10521 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_CHECK_CONSTRAINT_OPTION, 1, (yyvsp[(1) - (1)].node)); ;} break; case 1673: /* Line 1455 of yacc.c */ #line 10525 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_FOREIGN_KEY_OPTION, 1, (yyvsp[(1) - (1)].node)); ;} break; case 1674: /* Line 1455 of yacc.c */ #line 10538 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_NAME_LIST, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CHECK_CONSTRAINT, 1, (yyval.node)); (yyval.node)->value_ = 0; ;} break; case 1675: /* Line 1455 of yacc.c */ #line 10545 "../../../src/sql/parser/sql_parser_mysql_mode.y" { dup_expr_string((yyvsp[(6) - (7)].node), result, (yylsp[(6) - (7)]).first_column, (yylsp[(6) - (7)]).last_column); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CHECK_CONSTRAINT, 2, (yyvsp[(3) - (7)].node), (yyvsp[(6) - (7)].node)); (yyval.node)->value_ = 1; ;} break; case 1676: /* Line 1455 of yacc.c */ #line 10554 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_NAME_LIST, (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_PARTITION_DROP, 2, (yyval.node), NULL); ;} break; case 1677: /* Line 1455 of yacc.c */ #line 10560 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_NAME_LIST, (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_SUBPARTITION_DROP, 2, (yyval.node), NULL); ;} break; case 1678: /* Line 1455 of yacc.c */ #line 10566 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_PARTITION_LIST, (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_PARTITION_ADD, 1, (yyval.node)); dup_string((yyval.node), result, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column); ;} break; case 1679: /* Line 1455 of yacc.c */ #line 10572 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_PARTITION_PARTITIONED, 1, (yyvsp[(1) - (1)].node)); ;} break; case 1680: /* Line 1455 of yacc.c */ #line 10576 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *partition_names = NULL; merge_nodes(partition_names, result, T_NAME_LIST, (yyvsp[(3) - (5)].node)); ParseNode *partition_node = NULL; merge_nodes(partition_node, result, T_PARTITION_LIST, (yyvsp[(5) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_PARTITION_REORGANIZE, 2, partition_node, partition_names); ;} break; case 1681: /* Line 1455 of yacc.c */ #line 10584 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_NAME_LIST, (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_PARTITION_TRUNCATE, 2, (yyval.node), NULL); ;} break; case 1682: /* Line 1455 of yacc.c */ #line 10589 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_NAME_LIST, (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_SUBPARTITION_TRUNCATE, 2, (yyval.node), NULL); ;} break; case 1683: /* Line 1455 of yacc.c */ #line 10597 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1684: /* Line 1455 of yacc.c */ #line 10602 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1685: /* Line 1455 of yacc.c */ #line 10608 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_NAME_LIST, (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_PARTITION_DROP, 1, (yyval.node)); ;} break; case 1686: /* Line 1455 of yacc.c */ #line 10614 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_PARTITION_LIST, (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_PARTITION_ADD, 1, (yyval.node)); dup_string((yyval.node), result, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column); ;} break; case 1687: /* Line 1455 of yacc.c */ #line 10620 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_PARTITION_PARTITIONED, 1, (yyvsp[(1) - (1)].node)); ;} break; case 1688: /* Line 1455 of yacc.c */ #line 10624 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *partition_names = NULL; merge_nodes(partition_names, result, T_NAME_LIST, (yyvsp[(3) - (5)].node)); ParseNode *partition_node = NULL; merge_nodes(partition_node, result, T_PARTITION_LIST, (yyvsp[(5) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_PARTITION_REORGANIZE, 2, partition_node, partition_names); ;} break; case 1689: /* Line 1455 of yacc.c */ #line 10632 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_NAME_LIST, (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_PARTITION_TRUNCATE, 1, (yyval.node)); ;} break; case 1690: /* Line 1455 of yacc.c */ #line 10640 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1691: /* Line 1455 of yacc.c */ #line 10645 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; case 1692: /* Line 1455 of yacc.c */ #line 10652 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1693: /* Line 1455 of yacc.c */ #line 10656 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1694: /* Line 1455 of yacc.c */ #line 10660 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1695: /* Line 1455 of yacc.c */ #line 10664 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1696: /* Line 1455 of yacc.c */ #line 10671 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1697: /* Line 1455 of yacc.c */ #line 10675 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1698: /* Line 1455 of yacc.c */ #line 10679 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1699: /* Line 1455 of yacc.c */ #line 10683 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1700: /* Line 1455 of yacc.c */ #line 10691 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (8)].node)); ParseNode *col_list = NULL; ParseNode *index_option = NULL; merge_nodes(col_list, result, T_INDEX_COLUMN_LIST, (yyvsp[(6) - (8)].node)); merge_nodes(index_option, result, T_TABLE_OPTION_LIST, (yyvsp[(8) - (8)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INDEX_ADD, 4, (yyvsp[(3) - (8)].node), col_list, index_option, (yyvsp[(4) - (8)].node)); (yyval.node)->value_ = 0; ;} break; case 1701: /* Line 1455 of yacc.c */ #line 10701 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(3) - (9)].node)); ParseNode *col_list = NULL; ParseNode *index_option = NULL; merge_nodes(col_list, result, T_INDEX_COLUMN_LIST, (yyvsp[(7) - (9)].node)); merge_nodes(index_option, result, T_TABLE_OPTION_LIST, (yyvsp[(9) - (9)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INDEX_ADD, 4, (yyvsp[(4) - (9)].node), col_list, index_option, (yyvsp[(5) - (9)].node)); (yyval.node)->value_ = 1; ;} break; case 1702: /* Line 1455 of yacc.c */ #line 10711 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(5) - (11)].node)); ParseNode *col_list = NULL; ParseNode *index_option = NULL; merge_nodes(col_list, result, T_INDEX_COLUMN_LIST, (yyvsp[(9) - (11)].node)); merge_nodes(index_option, result, T_TABLE_OPTION_LIST, (yyvsp[(11) - (11)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INDEX_ADD, 4, (yyvsp[(6) - (11)].node) ? (yyvsp[(6) - (11)].node) : (yyvsp[(3) - (11)].node), col_list, index_option, (yyvsp[(7) - (11)].node)); (yyval.node)->value_ = 1; ;} break; case 1703: /* Line 1455 of yacc.c */ #line 10721 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INDEX_DROP, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1704: /* Line 1455 of yacc.c */ #line 10726 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (8)].node)); ParseNode *col_list = NULL; ParseNode *index_option = NULL; merge_nodes(col_list, result, T_COLUMN_LIST, (yyvsp[(6) - (8)].node)); merge_nodes(index_option, result, T_TABLE_OPTION_LIST, (yyvsp[(8) - (8)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PRIMARY_KEY, 2, col_list, index_option); ;} break; case 1705: /* Line 1455 of yacc.c */ #line 10735 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INDEX_ALTER, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 1706: /* Line 1455 of yacc.c */ #line 10739 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INDEX_RENAME, 2, (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 1707: /* Line 1455 of yacc.c */ #line 10744 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_INDEX_ALTER_PARALLEL, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 1708: /* Line 1455 of yacc.c */ #line 10751 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FOREIGN_KEY_DROP, 1, (yyvsp[(4) - (4)].node)); ;} break; case 1709: /* Line 1455 of yacc.c */ #line 10755 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *child_col_list= NULL; ParseNode *parent_col_list= NULL; ParseNode *reference_option_list = NULL; merge_nodes(child_col_list, result, T_COLUMN_LIST, (yyvsp[(7) - (15)].node)); merge_nodes(parent_col_list, result, T_COLUMN_LIST, (yyvsp[(12) - (15)].node)); merge_nodes(reference_option_list, result, T_REFERENCE_OPTION_LIST, (yyvsp[(15) - (15)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FOREIGN_KEY, 7, child_col_list, (yyvsp[(10) - (15)].node), parent_col_list, reference_option_list, (yyvsp[(2) - (15)].node), (yyvsp[(5) - (15)].node), (yyvsp[(14) - (15)].node)); ;} break; case 1710: /* Line 1455 of yacc.c */ #line 10768 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_VISIBLE); ;} break; case 1711: /* Line 1455 of yacc.c */ #line 10772 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INVISIBLE); ;} break; case 1712: /* Line 1455 of yacc.c */ #line 10779 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_ADD, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1713: /* Line 1455 of yacc.c */ #line 10784 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (5)].node)); /* make bison mute */ merge_nodes((yyval.node), result, T_COLUMN_ADD, (yyvsp[(4) - (5)].node)); ;} break; case 1714: /* Line 1455 of yacc.c */ #line 10789 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_DROP, 1, (yyvsp[(2) - (3)].node)); (yyval.node)->value_ = (yyvsp[(3) - (3)].ival)[0]; ;} break; case 1715: /* Line 1455 of yacc.c */ #line 10794 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_DROP, 1, (yyvsp[(3) - (4)].node)); (yyval.node)->value_ = (yyvsp[(4) - (4)].ival)[0]; ;} break; case 1716: /* Line 1455 of yacc.c */ #line 10799 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (4)].node)); /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_ALTER, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 1717: /* Line 1455 of yacc.c */ #line 10804 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (4)].node)); /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_CHANGE, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node) ); ;} break; case 1718: /* Line 1455 of yacc.c */ #line 10809 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_MODIFY, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1719: /* Line 1455 of yacc.c */ #line 10817 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1720: /* Line 1455 of yacc.c */ #line 10821 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_ADD_FIRST); ;} break; case 1721: /* Line 1455 of yacc.c */ #line 10825 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_ADD_BEFORE, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1722: /* Line 1455 of yacc.c */ #line 10829 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_ADD_AFTER, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1723: /* Line 1455 of yacc.c */ #line 10836 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TABLEGROUP_DROP); ;} break; case 1724: /* Line 1455 of yacc.c */ #line 10842 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1725: /* Line 1455 of yacc.c */ #line 10843 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1726: /* Line 1455 of yacc.c */ #line 10847 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1727: /* Line 1455 of yacc.c */ #line 10848 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1728: /* Line 1455 of yacc.c */ #line 10852 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1729: /* Line 1455 of yacc.c */ #line 10853 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1730: /* Line 1455 of yacc.c */ #line 10857 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1731: /* Line 1455 of yacc.c */ #line 10858 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 1732: /* Line 1455 of yacc.c */ #line 10859 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 1733: /* Line 1455 of yacc.c */ #line 10875 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_DEFAULT, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1734: /* Line 1455 of yacc.c */ #line 10879 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_NULL); ;} break; case 1735: /* Line 1455 of yacc.c */ #line 10892 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PURGE_TABLE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1736: /* Line 1455 of yacc.c */ #line 10897 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PURGE_INDEX, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1737: /* Line 1455 of yacc.c */ #line 10902 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PURGE_DATABASE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1738: /* Line 1455 of yacc.c */ #line 10908 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PURGE_TENANT, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1739: /* Line 1455 of yacc.c */ #line 10913 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PURGE_RECYCLEBIN); ;} break; case 1740: /* Line 1455 of yacc.c */ #line 10920 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *tables = NULL; merge_nodes(tables, result, T_TABLE_LIST, (yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OPTIMIZE_TABLE, 1, tables); ;} break; case 1741: /* Line 1455 of yacc.c */ #line 10927 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OPTIMIZE_TENANT, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1742: /* Line 1455 of yacc.c */ #line 10932 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_OPTIMIZE_ALL); ;} break; case 1743: /* Line 1455 of yacc.c */ #line 10938 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TEMPORARY); (yyval.node)->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DUMP_MEMORY, 1, (yyval.node)); ;} break; case 1744: /* Line 1455 of yacc.c */ #line 10945 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TEMPORARY, 2, (yyvsp[(5) - (9)].node), (yyvsp[(9) - (9)].node)); (yyval.node)->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DUMP_MEMORY, 1, (yyval.node)); ;} break; case 1745: /* Line 1455 of yacc.c */ #line 10952 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TEMPORARY); (yyval.node)->value_ = 2; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DUMP_MEMORY, 1, (yyval.node)); ;} break; case 1746: /* Line 1455 of yacc.c */ #line 10959 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TEMPORARY, 2, (yyvsp[(5) - (9)].node), (yyvsp[(9) - (9)].node)); (yyval.node)->value_ = 3; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DUMP_MEMORY, 1, (yyval.node)); ;} break; case 1747: /* Line 1455 of yacc.c */ #line 10966 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TEMPORARY, 1, (yyvsp[(5) - (5)].node)); (yyval.node)->value_ = 4; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DUMP_MEMORY, 1, (yyval.node)); ;} break; case 1748: /* Line 1455 of yacc.c */ #line 10973 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TEMPORARY, 1, (yyvsp[(5) - (5)].node)); (yyval.node)->value_ = 5; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DUMP_MEMORY, 1, (yyval.node)); ;} break; case 1749: /* Line 1455 of yacc.c */ #line 10980 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TEMPORARY); (yyval.node)->value_ = 7; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DUMP_MEMORY, 1, (yyval.node)); ;} break; case 1750: /* Line 1455 of yacc.c */ #line 10993 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *server_list = NULL; merge_nodes(server_list, result, T_SERVER_INFO_LIST, (yyvsp[(4) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BOOTSTRAP, 3, server_list, NULL, NULL); ;} break; case 1751: /* Line 1455 of yacc.c */ #line 11000 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FLUSH_CACHE, 3, (yyvsp[(4) - (7)].node), (yyvsp[(6) - (7)].node), (yyvsp[(7) - (7)].node)); ;} break; case 1752: /* Line 1455 of yacc.c */ #line 11005 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FLUSH_CACHE, 3, (yyvsp[(5) - (7)].node), (yyvsp[(6) - (7)].node), (yyvsp[(7) - (7)].node)); ;} break; case 1753: /* Line 1455 of yacc.c */ #line 11010 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FLUSH_KVCACHE, 2, (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].node)); ;} break; case 1754: /* Line 1455 of yacc.c */ #line 11015 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_FLUSH_DAG_WARNINGS); ;} break; case 1755: /* Line 1455 of yacc.c */ #line 11020 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FLUSH_ILOGCACHE, 1, (yyvsp[(5) - (5)].node)); ;} break; case 1756: /* Line 1455 of yacc.c */ #line 11025 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_BASELINE, 4, (yyvsp[(6) - (10)].node), (yyvsp[(7) - (10)].node), (yyvsp[(8) - (10)].node), (yyvsp[(10) - (10)].node)); ;} break; case 1757: /* Line 1455 of yacc.c */ #line 11030 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LOAD_BASELINE, 2, (yyvsp[(9) - (10)].node), (yyvsp[(10) - (10)].node)); ;} break; case 1758: /* Line 1455 of yacc.c */ #line 11035 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SWITCH_REPLICA_ROLE, 2, (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].node)); ;} break; case 1759: /* Line 1455 of yacc.c */ #line 11040 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SWITCH_RS_ROLE, 2, (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].node)); ;} break; case 1760: /* Line 1455 of yacc.c */ #line 11045 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(3) - (9)].node)); (void)((yyvsp[(7) - (9)].node)); ParseNode *change_actions = NULL; merge_nodes(change_actions, result, T_CHANGE_LIST, (yyvsp[(8) - (9)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CHANGE_REPLICA, 4, (yyvsp[(5) - (9)].node), (yyvsp[(6) - (9)].node), change_actions, (yyvsp[(9) - (9)].node)); ;} break; case 1761: /* Line 1455 of yacc.c */ #line 11054 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_DROP_REPLICA, 5, (yyvsp[(5) - (9)].node), (yyvsp[(6) - (9)].node), (yyvsp[(7) - (9)].node), (yyvsp[(8) - (9)].node), (yyvsp[(9) - (9)].node)); ;} break; case 1762: /* Line 1455 of yacc.c */ #line 11059 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(7) - (12)].node)); (void)((yyvsp[(10) - (12)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MIGRATE_REPLICA, 5, (yyvsp[(3) - (12)].node), (yyvsp[(5) - (12)].node), (yyvsp[(8) - (12)].node), (yyvsp[(11) - (12)].node), (yyvsp[(12) - (12)].node)); ;} break; case 1763: /* Line 1455 of yacc.c */ #line 11065 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_REPORT_REPLICA, 1, (yyvsp[(5) - (5)].node)); ;} break; case 1764: /* Line 1455 of yacc.c */ #line 11070 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RECYCLE_REPLICA, 1, (yyvsp[(5) - (5)].node)); ;} break; case 1765: /* Line 1455 of yacc.c */ #line 11075 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *start = NULL; malloc_terminal_node(start, result->malloc_pool_, T_INT); start->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MERGE_CONTROL, 2, start, (yyvsp[(5) - (5)].node)); ;} break; case 1766: /* Line 1455 of yacc.c */ #line 11083 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MERGE_CONTROL, 2, (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 1767: /* Line 1455 of yacc.c */ #line 11088 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RECOVERY_CONTROL, 2, (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 1768: /* Line 1455 of yacc.c */ #line 11093 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CLEAR_MERGE_ERROR); ;} break; case 1769: /* Line 1455 of yacc.c */ #line 11098 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CANCEL_TASK, 2, (yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)); ;} break; case 1770: /* Line 1455 of yacc.c */ #line 11103 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FREEZE, 2, type, (yyvsp[(5) - (5)].node)); ;} break; case 1771: /* Line 1455 of yacc.c */ #line 11111 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FREEZE, 2, type, NULL); ;} break; case 1772: /* Line 1455 of yacc.c */ #line 11119 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 2; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FREEZE, 4, type, (yyvsp[(5) - (7)].node), (yyvsp[(6) - (7)].node), (yyvsp[(7) - (7)].node)); ;} break; case 1773: /* Line 1455 of yacc.c */ #line 11127 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CLEAR_ROOT_TABLE, 1, (yyvsp[(5) - (5)].node)); ;} break; case 1774: /* Line 1455 of yacc.c */ #line 11132 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *server_list = NULL; merge_nodes(server_list, result, T_SERVER_LIST, (yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ADMIN_SERVER, 3, (yyvsp[(3) - (6)].node), server_list, (yyvsp[(6) - (6)].node)); ;} break; case 1775: /* Line 1455 of yacc.c */ #line 11139 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *zone_action = NULL; malloc_terminal_node(zone_action, result->malloc_pool_, T_INT); ParseNode *zone_options = NULL; merge_nodes(zone_options, result, T_LINK_NODE, (yyvsp[(6) - (6)].node)); zone_action->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ADMIN_ZONE, 3, zone_action, (yyvsp[(5) - (6)].node), zone_options); ;} break; case 1776: /* Line 1455 of yacc.c */ #line 11149 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ADMIN_ZONE, 3, (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node), NULL); ;} break; case 1777: /* Line 1455 of yacc.c */ #line 11154 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(3) - (7)].node)); (void)((yyvsp[(6) - (7)].node)); ParseNode *zone_action = NULL; malloc_terminal_node(zone_action, result->malloc_pool_, T_INT); ParseNode *zone_options = NULL; merge_nodes(zone_options, result, T_LINK_NODE, (yyvsp[(7) - (7)].node)); zone_action->value_ = 5; /* 1:add,2:delete,3:start,4:stop,5:modify,6:force stop */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ADMIN_ZONE, 3, zone_action, (yyvsp[(5) - (7)].node), zone_options); ;} break; case 1778: /* Line 1455 of yacc.c */ #line 11166 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_REFRESH_SCHEMA, 1, (yyvsp[(5) - (5)].node)); ;} break; case 1779: /* Line 1455 of yacc.c */ #line 11171 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_REFRESH_MEMORY_STAT, 1, (yyvsp[(6) - (6)].node)); ;} break; case 1780: /* Line 1455 of yacc.c */ #line 11176 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(3) - (4)].node); merge_nodes((yyval.node), result, T_SYTEM_ACTION_LIST, (yyvsp[(4) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_SYSTEM_SET_PARAMETER, 1, (yyval.node)); ;} break; case 1781: /* Line 1455 of yacc.c */ #line 11183 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_SYTEM_SETTP_LIST, (yyvsp[(4) - (4)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_SYSTEM_SETTP, 1, (yyval.node)); ;} break; case 1782: /* Line 1455 of yacc.c */ #line 11189 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CLEAR_LOCATION_CACHE, 1, (yyvsp[(6) - (6)].node)); ;} break; case 1783: /* Line 1455 of yacc.c */ #line 11194 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CLEAR_BALANCE_TASK, 3, (yyvsp[(6) - (8)].node), (yyvsp[(7) - (8)].node), (yyvsp[(8) - (8)].node)); ;} break; case 1784: /* Line 1455 of yacc.c */ #line 11199 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_RELOAD_GTS); ;} break; case 1785: /* Line 1455 of yacc.c */ #line 11204 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_RELOAD_UNIT); ;} break; case 1786: /* Line 1455 of yacc.c */ #line 11209 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_RELOAD_SERVER); ;} break; case 1787: /* Line 1455 of yacc.c */ #line 11214 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_RELOAD_ZONE); ;} break; case 1788: /* Line 1455 of yacc.c */ #line 11219 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(5) - (9)].node)); (void)((yyvsp[(8) - (9)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MIGRATE_UNIT, 2, (yyvsp[(6) - (9)].node), (yyvsp[(9) - (9)].node)); ;} break; case 1789: /* Line 1455 of yacc.c */ #line 11226 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MIGRATE_UNIT, 2, (yyvsp[(6) - (6)].node), NULL); ;} break; case 1790: /* Line 1455 of yacc.c */ #line 11231 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_UPGRADE_VIRTUAL_SCHEMA); ;} break; case 1791: /* Line 1455 of yacc.c */ #line 11236 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RUN_JOB, 2, (yyvsp[(5) - (6)].node), (yyvsp[(6) - (6)].node)); ;} break; case 1792: /* Line 1455 of yacc.c */ #line 11241 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ADMIN_UPGRADE_CMD, 1, (yyvsp[(3) - (4)].node)); ;} break; case 1793: /* Line 1455 of yacc.c */ #line 11246 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ADMIN_RUN_UPGRADE_JOB, 1, (yyvsp[(6) - (6)].node)); ;} break; case 1794: /* Line 1455 of yacc.c */ #line 11251 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ADMIN_STOP_UPGRADE_JOB); ;} break; case 1795: /* Line 1455 of yacc.c */ #line 11256 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ADMIN_ROLLING_UPGRADE_CMD, 1, (yyvsp[(3) - (5)].node)); ;} break; case 1796: /* Line 1455 of yacc.c */ #line 11261 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_REFRESH_TIME_ZONE_INFO); ;} break; case 1797: /* Line 1455 of yacc.c */ #line 11266 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ENABLE_SQL_THROTTLE, 2, (yyvsp[(6) - (7)].node), (yyvsp[(7) - (7)].node)); ;} break; case 1798: /* Line 1455 of yacc.c */ #line 11271 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISABLE_SQL_THROTTLE); ;} break; case 1799: /* Line 1455 of yacc.c */ #line 11276 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SET_DISK_VALID, 1, (yyvsp[(6) - (6)].node)); ;} break; case 1800: /* Line 1455 of yacc.c */ #line 11281 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RESTORE_TENANT, 2, (yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)); ;} break; case 1801: /* Line 1455 of yacc.c */ #line 11286 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PHYSICAL_RESTORE_TENANT, 5, (yyvsp[(4) - (12)].node), (yyvsp[(6) - (12)].node), (yyvsp[(8) - (12)].node), (yyvsp[(10) - (12)].node), (yyvsp[(12) - (12)].node)); ;} break; case 1802: /* Line 1455 of yacc.c */ #line 11291 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CHANGE_TENANT, 1, (yyvsp[(5) - (5)].node)); ;} break; case 1803: /* Line 1455 of yacc.c */ #line 11296 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_SYSTEM_DROP_TEMP_TABLE, 1, (yyvsp[(7) - (7)].node)); ;} break; case 1804: /* Line 1455 of yacc.c */ #line 11301 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_SYSTEM_REFRESH_TEMP_TABLE, 1, (yyvsp[(7) - (7)].node)); ;} break; case 1805: /* Line 1455 of yacc.c */ #line 11306 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_DISKGROUP_ADD_DISK, 5, (yyvsp[(3) - (9)].node), (yyvsp[(6) - (9)].node), (yyvsp[(7) - (9)].node), (yyvsp[(8) - (9)].node), (yyvsp[(9) - (9)].node)); ;} break; case 1806: /* Line 1455 of yacc.c */ #line 11311 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_DISKGROUP_DROP_DISK, 4, (yyvsp[(3) - (8)].node), (yyvsp[(6) - (8)].node), (yyvsp[(7) - (8)].node), (yyvsp[(8) - (8)].node)); ;} break; case 1807: /* Line 1455 of yacc.c */ #line 11316 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *enable = NULL; malloc_terminal_node(enable, result->malloc_pool_, T_INT); enable->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ARCHIVE_LOG, 1, enable); ;} break; case 1808: /* Line 1455 of yacc.c */ #line 11324 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *enable = NULL; malloc_terminal_node(enable, result->malloc_pool_, T_INT); enable->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ARCHIVE_LOG, 1, enable); ;} break; case 1809: /* Line 1455 of yacc.c */ #line 11332 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *incremental = NULL; malloc_terminal_node(incremental, result->malloc_pool_, T_INT); incremental->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_DATABASE, 1, incremental); ;} break; case 1810: /* Line 1455 of yacc.c */ #line 11340 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *incremental = NULL; malloc_terminal_node(incremental, result->malloc_pool_, T_INT); incremental->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_DATABASE, 1, incremental); ;} break; case 1811: /* Line 1455 of yacc.c */ #line 11348 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 0; ParseNode *value = NULL; malloc_terminal_node(value, result->malloc_pool_, T_INT); value->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value); ;} break; case 1812: /* Line 1455 of yacc.c */ #line 11361 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 1; ParseNode *value = NULL; malloc_terminal_node(value, result->malloc_pool_, T_INT); value->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value); ;} break; case 1813: /* Line 1455 of yacc.c */ #line 11374 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 2; ParseNode *value = NULL; malloc_terminal_node(value, result->malloc_pool_, T_INT); value->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value); ;} break; case 1814: /* Line 1455 of yacc.c */ #line 11387 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 3; ParseNode *value = NULL; malloc_terminal_node(value, result->malloc_pool_, T_INT); value->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value); ;} break; case 1815: /* Line 1455 of yacc.c */ #line 11400 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 4; ParseNode *value = NULL; malloc_terminal_node(value, result->malloc_pool_, T_INT); value->value_ = (yyvsp[(5) - (5)].node)->value_; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value); ;} break; case 1816: /* Line 1455 of yacc.c */ #line 11413 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 5; ParseNode *value = NULL; malloc_terminal_node(value, result->malloc_pool_, T_INT); value->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value); ;} break; case 1817: /* Line 1455 of yacc.c */ #line 11426 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 6; ParseNode *value = NULL; malloc_terminal_node(value, result->malloc_pool_, T_INT); value->value_ = (yyvsp[(5) - (5)].node)->value_; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value); ;} break; case 1818: /* Line 1455 of yacc.c */ #line 11439 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 7; ParseNode *value = NULL; malloc_terminal_node(value, result->malloc_pool_, T_INT); value->value_ = (yyvsp[(5) - (5)].node)->value_; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value); ;} break; case 1819: /* Line 1455 of yacc.c */ #line 11452 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 8; ParseNode *value = NULL; malloc_terminal_node(value, result->malloc_pool_, T_INT); value->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value); ;} break; case 1820: /* Line 1455 of yacc.c */ #line 11463 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 10; ParseNode *value = NULL; malloc_terminal_node(value, result->malloc_pool_, T_INT); value->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_MANAGE, 2, type, value); ;} break; case 1821: /* Line 1455 of yacc.c */ #line 11475 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *mode = NULL; malloc_terminal_node(mode, result->malloc_pool_, T_INT); mode->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_SET_ENCRYPTION, 2, mode, (yyvsp[(6) - (7)].node)); ;} break; case 1822: /* Line 1455 of yacc.c */ #line 11483 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *string_list_node = NULL; merge_nodes(string_list_node, result, T_STRING_LIST, (yyvsp[(5) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_SET_DECRYPTION, 1, string_list_node); ;} break; case 1823: /* Line 1455 of yacc.c */ #line 11492 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(4) - (4)].node); ;} break; case 1824: /* Line 1455 of yacc.c */ #line 11496 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1825: /* Line 1455 of yacc.c */ #line 11504 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_SQL_THROTTLE_METRICS, (yyvsp[(2) - (2)].node)); ;} break; case 1826: /* Line 1455 of yacc.c */ #line 11511 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1827: /* Line 1455 of yacc.c */ #line 11515 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1828: /* Line 1455 of yacc.c */ #line 11522 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_RT, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1829: /* Line 1455 of yacc.c */ #line 11526 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CPU, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1830: /* Line 1455 of yacc.c */ #line 11530 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_IO, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1831: /* Line 1455 of yacc.c */ #line 11534 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_NETWORK, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1832: /* Line 1455 of yacc.c */ #line 11538 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LOGICAL_READS, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1833: /* Line 1455 of yacc.c */ #line 11542 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_QUEUE_TIME, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1834: /* Line 1455 of yacc.c */ #line 11549 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); (yyval.node) = (yyvsp[(3) - (3)].node); ;} break; case 1835: /* Line 1455 of yacc.c */ #line 11553 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1836: /* Line 1455 of yacc.c */ #line 11558 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TENANT_NAME); (yyval.node)->str_value_ = (yyvsp[(1) - (1)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(1) - (1)].node)->str_len_; ;} break; case 1837: /* Line 1455 of yacc.c */ #line 11564 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_TENANT_ID); (yyval.node)->value_ = (yyvsp[(3) - (3)].node)->value_; ;} break; case 1838: /* Line 1455 of yacc.c */ #line 11573 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = CACHE_TYPE_ALL; ;} break; case 1839: /* Line 1455 of yacc.c */ #line 11578 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = CACHE_TYPE_LOCATION; ;} break; case 1840: /* Line 1455 of yacc.c */ #line 11583 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = CACHE_TYPE_CLOG; ;} break; case 1841: /* Line 1455 of yacc.c */ #line 11588 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = CACHE_TYPE_ILOG; ;} break; case 1842: /* Line 1455 of yacc.c */ #line 11593 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = CACHE_TYPE_COLUMN_STAT; ;} break; case 1843: /* Line 1455 of yacc.c */ #line 11598 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = CACHE_TYPE_BLOCK_INDEX; ;} break; case 1844: /* Line 1455 of yacc.c */ #line 11603 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = CACHE_TYPE_BLOCK; ;} break; case 1845: /* Line 1455 of yacc.c */ #line 11608 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = CACHE_TYPE_ROW; ;} break; case 1846: /* Line 1455 of yacc.c */ #line 11613 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = CACHE_TYPE_BLOOM_FILTER; ;} break; case 1847: /* Line 1455 of yacc.c */ #line 11618 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = CACHE_TYPE_SCHEMA; ;} break; case 1848: /* Line 1455 of yacc.c */ #line 11623 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = CACHE_TYPE_PLAN; ;} break; case 1849: /* Line 1455 of yacc.c */ #line 11628 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = CACHE_TYPE_SQL_AUDIT; ;} break; case 1850: /* Line 1455 of yacc.c */ #line 11633 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = CACHE_TYPE_PL_OBJ; ;} break; case 1851: /* Line 1455 of yacc.c */ #line 11638 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = CACHE_TYPE_PS_OBJ; ;} break; case 1852: /* Line 1455 of yacc.c */ #line 11646 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 0; ;} break; case 1853: /* Line 1455 of yacc.c */ #line 11652 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 1854: /* Line 1455 of yacc.c */ #line 11658 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 1855: /* Line 1455 of yacc.c */ #line 11666 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BALANCE_TASK_TYPE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1856: /* Line 1455 of yacc.c */ #line 11670 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1857: /* Line 1455 of yacc.c */ #line 11674 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_TENANT_LIST, (yyvsp[(3) - (3)].node)); ;} break; case 1858: /* Line 1455 of yacc.c */ #line 11677 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1859: /* Line 1455 of yacc.c */ #line 11681 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (5)].node)) ; /* make bison mute */ merge_nodes((yyval.node), result, T_TENANT_LIST, (yyvsp[(4) - (5)].node)); ;} break; case 1860: /* Line 1455 of yacc.c */ #line 11689 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1861: /* Line 1455 of yacc.c */ #line 11693 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1862: /* Line 1455 of yacc.c */ #line 11699 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_BOOL); (yyval.node)->value_ = 1; ;} break; case 1863: /* Line 1455 of yacc.c */ #line 11704 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_BOOL); (yyval.node)->value_ = 0; ;} break; case 1864: /* Line 1455 of yacc.c */ #line 11711 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_ZONE_LIST, (yyvsp[(3) - (3)].node)); ;} break; case 1865: /* Line 1455 of yacc.c */ #line 11714 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1866: /* Line 1455 of yacc.c */ #line 11718 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1867: /* Line 1455 of yacc.c */ #line 11722 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1868: /* Line 1455 of yacc.c */ #line 11729 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (9)].node)); (void)((yyvsp[(5) - (9)].node)); (void)((yyvsp[(8) - (9)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SERVER_INFO, 3, (yyvsp[(3) - (9)].node), (yyvsp[(6) - (9)].node), (yyvsp[(9) - (9)].node)); ;} break; case 1869: /* Line 1455 of yacc.c */ #line 11736 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (6)].node)); (void)((yyvsp[(5) - (6)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SERVER_INFO, 3, NULL, (yyvsp[(3) - (6)].node), (yyvsp[(6) - (6)].node)); ;} break; case 1870: /* Line 1455 of yacc.c */ #line 11745 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 1871: /* Line 1455 of yacc.c */ #line 11750 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 1872: /* Line 1455 of yacc.c */ #line 11755 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 3; ;} break; case 1873: /* Line 1455 of yacc.c */ #line 11760 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 4; ;} break; case 1874: /* Line 1455 of yacc.c */ #line 11765 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 5; ;} break; case 1875: /* Line 1455 of yacc.c */ #line 11770 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 6; ;} break; case 1876: /* Line 1455 of yacc.c */ #line 11775 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 7; ;} break; case 1877: /* Line 1455 of yacc.c */ #line 11783 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1878: /* Line 1455 of yacc.c */ #line 11787 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1879: /* Line 1455 of yacc.c */ #line 11794 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1880: /* Line 1455 of yacc.c */ #line 11798 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (5)].node)) ; /* make bison mute */ merge_nodes((yyval.node), result, T_SERVER_LIST, (yyvsp[(4) - (5)].node)); ;} break; case 1881: /* Line 1455 of yacc.c */ #line 11806 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1882: /* Line 1455 of yacc.c */ #line 11810 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *server_list = NULL; merge_nodes(server_list, result, T_SERVER_LIST, (yyvsp[(2) - (2)].node)); (yyval.node) = server_list; ;} break; case 1883: /* Line 1455 of yacc.c */ #line 11818 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 1884: /* Line 1455 of yacc.c */ #line 11823 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 3; ;} break; case 1885: /* Line 1455 of yacc.c */ #line 11828 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 4; ;} break; case 1886: /* Line 1455 of yacc.c */ #line 11833 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 6; ;} break; case 1887: /* Line 1455 of yacc.c */ #line 11838 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 7; ;} break; case 1888: /* Line 1455 of yacc.c */ #line 11846 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_IP_PORT, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1889: /* Line 1455 of yacc.c */ #line 11854 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ZONE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1890: /* Line 1455 of yacc.c */ #line 11862 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1891: /* Line 1455 of yacc.c */ #line 11866 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1892: /* Line 1455 of yacc.c */ #line 11873 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_TIMESTAMP, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1893: /* Line 1455 of yacc.c */ #line 11878 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1894: /* Line 1455 of yacc.c */ #line 11885 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1895: /* Line 1455 of yacc.c */ #line 11889 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1896: /* Line 1455 of yacc.c */ #line 11896 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1897: /* Line 1455 of yacc.c */ #line 11900 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1898: /* Line 1455 of yacc.c */ #line 11907 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); (yyval.node) = (yyvsp[(3) - (3)].node); (yyval.node)->type_ = T_REGION; ;} break; case 1899: /* Line 1455 of yacc.c */ #line 11913 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); (yyval.node) = (yyvsp[(3) - (3)].node); (yyval.node)->type_ = T_IDC; ;} break; case 1900: /* Line 1455 of yacc.c */ #line 11919 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); (yyval.node) = (yyvsp[(3) - (3)].node); (yyval.node)->type_ = T_ZONE_TYPE; ;} break; case 1901: /* Line 1455 of yacc.c */ #line 11928 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1902: /* Line 1455 of yacc.c */ #line 11932 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1903: /* Line 1455 of yacc.c */ #line 11936 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1904: /* Line 1455 of yacc.c */ #line 11943 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1905: /* Line 1455 of yacc.c */ #line 11947 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1906: /* Line 1455 of yacc.c */ #line 11951 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1907: /* Line 1455 of yacc.c */ #line 11958 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PARTITION_ID_DESC, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1908: /* Line 1455 of yacc.c */ #line 11966 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1909: /* Line 1455 of yacc.c */ #line 11970 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1910: /* Line 1455 of yacc.c */ #line 11974 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1911: /* Line 1455 of yacc.c */ #line 11981 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PARTITION_ID_SERVER, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1912: /* Line 1455 of yacc.c */ #line 11985 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SERVER_TENANT, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1913: /* Line 1455 of yacc.c */ #line 11989 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ZONE_TENANT, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1914: /* Line 1455 of yacc.c */ #line 11996 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 1915: /* Line 1455 of yacc.c */ #line 12001 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 1916: /* Line 1455 of yacc.c */ #line 12009 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1917: /* Line 1455 of yacc.c */ #line 12013 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 1918: /* Line 1455 of yacc.c */ #line 12020 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_REPLICA_TYPE, 1, (yyvsp[(1) - (1)].node)); ;} break; case 1919: /* Line 1455 of yacc.c */ #line 12024 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_MEMSTORE_PERCENT, 1, (yyvsp[(1) - (1)].node)); ;} break; case 1920: /* Line 1455 of yacc.c */ #line 12031 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); (yyval.node) = (yyvsp[(3) - (3)].node); ;} break; case 1921: /* Line 1455 of yacc.c */ #line 12039 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); (yyval.node) = (yyvsp[(3) - (3)].node); ;} break; case 1922: /* Line 1455 of yacc.c */ #line 12047 "../../../src/sql/parser/sql_parser_mysql_mode.y" { // START is 1 malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 1923: /* Line 1455 of yacc.c */ #line 12053 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 3; ;} break; case 1924: /* Line 1455 of yacc.c */ #line 12061 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BASELINE_ID, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1925: /* Line 1455 of yacc.c */ #line 12069 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1926: /* Line 1455 of yacc.c */ #line 12073 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1927: /* Line 1455 of yacc.c */ #line 12081 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SQL_ID, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1928: /* Line 1455 of yacc.c */ #line 12089 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1929: /* Line 1455 of yacc.c */ #line 12093 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1930: /* Line 1455 of yacc.c */ #line 12100 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ASSIGN_ITEM, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1931: /* Line 1455 of yacc.c */ #line 12107 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TENANT_NAME, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1932: /* Line 1455 of yacc.c */ #line 12115 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1933: /* Line 1455 of yacc.c */ #line 12119 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1934: /* Line 1455 of yacc.c */ #line 12126 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_CACHE_NAME, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1935: /* Line 1455 of yacc.c */ #line 12134 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1936: /* Line 1455 of yacc.c */ #line 12138 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1937: /* Line 1455 of yacc.c */ #line 12145 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FILE_ID, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1938: /* Line 1455 of yacc.c */ #line 12153 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node) ;} break; case 1939: /* Line 1455 of yacc.c */ #line 12157 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1940: /* Line 1455 of yacc.c */ #line 12164 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 1941: /* Line 1455 of yacc.c */ #line 12169 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1942: /* Line 1455 of yacc.c */ #line 12176 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1943: /* Line 1455 of yacc.c */ #line 12180 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1944: /* Line 1455 of yacc.c */ #line 12188 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SYSTEM_ACTION, 5, (yyvsp[(1) - (7)].node), /* param_name */ (yyvsp[(3) - (7)].node), /* param_value */ (yyvsp[(4) - (7)].node), /* comment */ (yyvsp[(6) - (7)].node), /* zone or server */ (yyvsp[(7) - (7)].node) /* tenant */ ); (yyval.node)->value_ = (yyvsp[(5) - (7)].ival)[0]; /* scope */ ;} break; case 1945: /* Line 1455 of yacc.c */ #line 12201 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *tablet_size = NULL; make_name_node(tablet_size, result->malloc_pool_, "tablet_size"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SYSTEM_ACTION, 5, tablet_size, /* param_name */ (yyvsp[(3) - (7)].node), /* param_value */ (yyvsp[(4) - (7)].node), /* comment */ (yyvsp[(6) - (7)].node), /* zone or server */ (yyvsp[(7) - (7)].node) /* tenant */ ); (yyval.node)->value_ = (yyvsp[(5) - (7)].ival)[0]; /* scope */ ;} break; case 1946: /* Line 1455 of yacc.c */ #line 12216 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *cluster_id = NULL; make_name_node(cluster_id, result->malloc_pool_, "cluster_id"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SYSTEM_ACTION, 5, cluster_id, /* param_name */ (yyvsp[(3) - (7)].node), /* param_value */ (yyvsp[(4) - (7)].node), /* comment */ (yyvsp[(6) - (7)].node), /* zone or server */ (yyvsp[(7) - (7)].node) /* tenant */ ); (yyval.node)->value_ = (yyvsp[(5) - (7)].ival)[0]; /* scope */ ;} break; case 1947: /* Line 1455 of yacc.c */ #line 12231 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *rootservice_list = NULL; make_name_node(rootservice_list, result->malloc_pool_, "rootservice_list"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SYSTEM_ACTION, 5, rootservice_list, /* param_name */ (yyvsp[(3) - (7)].node), /* param_value */ (yyvsp[(4) - (7)].node), /* comment */ (yyvsp[(6) - (7)].node), /* zone or server */ (yyvsp[(7) - (7)].node) /* tenant */ ); (yyval.node)->value_ = (yyvsp[(5) - (7)].ival)[0]; /* scope */ ;} break; case 1948: /* Line 1455 of yacc.c */ #line 12247 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 1949: /* Line 1455 of yacc.c */ #line 12249 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1950: /* Line 1455 of yacc.c */ #line 12254 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1951: /* Line 1455 of yacc.c */ #line 12258 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1952: /* Line 1455 of yacc.c */ #line 12262 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1953: /* Line 1455 of yacc.c */ #line 12269 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TP_NO, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1954: /* Line 1455 of yacc.c */ #line 12274 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TP_NAME, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1955: /* Line 1455 of yacc.c */ #line 12279 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_OCCUR, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1956: /* Line 1455 of yacc.c */ #line 12284 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TRIGGER_MODE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1957: /* Line 1455 of yacc.c */ #line 12289 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)) ; /* make bison mute */ malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ERROR_CODE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1958: /* Line 1455 of yacc.c */ #line 12297 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.ival)[0]=1;;} break; case 1959: /* Line 1455 of yacc.c */ #line 12299 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.ival)[0]=0;;} break; case 1960: /* Line 1455 of yacc.c */ #line 12304 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 1961: /* Line 1455 of yacc.c */ #line 12306 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 1962: /* Line 1455 of yacc.c */ #line 12308 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1963: /* Line 1455 of yacc.c */ #line 12310 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1964: /* Line 1455 of yacc.c */ #line 12330 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 0; ;} break; case 1965: /* Line 1455 of yacc.c */ #line 12335 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 1966: /* Line 1455 of yacc.c */ #line 12343 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 1967: /* Line 1455 of yacc.c */ #line 12348 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 1968: /* Line 1455 of yacc.c */ #line 12358 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SET_NAMES, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 1969: /* Line 1455 of yacc.c */ #line 12366 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SET_CHARSET, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1970: /* Line 1455 of yacc.c */ #line 12374 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TRANSACTION, 2, (yyval.node), (yyvsp[(3) - (3)].node)); ;} break; case 1971: /* Line 1455 of yacc.c */ #line 12380 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TRANSACTION, 2, (yyval.node), (yyvsp[(4) - (4)].node)); ;} break; case 1972: /* Line 1455 of yacc.c */ #line 12386 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TRANSACTION, 2, (yyval.node), (yyvsp[(4) - (4)].node)); ;} break; case 1973: /* Line 1455 of yacc.c */ #line 12392 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TRANSACTION, 2, (yyval.node), (yyvsp[(4) - (4)].node)); ;} break; case 1974: /* Line 1455 of yacc.c */ #line 12400 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TRANSACTION_CHARACTERISTICS, 2, (yyvsp[(1) - (1)].node), NULL); ;} break; case 1975: /* Line 1455 of yacc.c */ #line 12404 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TRANSACTION_CHARACTERISTICS, 2, NULL, (yyvsp[(3) - (3)].node)); ;} break; case 1976: /* Line 1455 of yacc.c */ #line 12408 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TRANSACTION_CHARACTERISTICS, 2, (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; case 1977: /* Line 1455 of yacc.c */ #line 12412 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_TRANSACTION_CHARACTERISTICS, 2, (yyvsp[(5) - (5)].node), (yyvsp[(3) - (5)].node)); ;} break; case 1978: /* Line 1455 of yacc.c */ #line 12418 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = OB_TRANS_READ_ONLY; ;} break; case 1979: /* Line 1455 of yacc.c */ #line 12423 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = OB_TRANS_READ_WRITE; ;} break; case 1980: /* Line 1455 of yacc.c */ #line 12430 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 0; ;} break; case 1981: /* Line 1455 of yacc.c */ #line 12435 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 1982: /* Line 1455 of yacc.c */ #line 12440 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 1983: /* Line 1455 of yacc.c */ #line 12445 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 3; ;} break; case 1984: /* Line 1455 of yacc.c */ #line 12456 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CREATE_SAVEPOINT); (yyval.node)->str_value_ = (yyvsp[(2) - (2)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(2) - (2)].node)->str_len_; ;} break; case 1985: /* Line 1455 of yacc.c */ #line 12464 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ROLLBACK_SAVEPOINT); (yyval.node)->str_value_ = (yyvsp[(3) - (3)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(3) - (3)].node)->str_len_; ;} break; case 1986: /* Line 1455 of yacc.c */ #line 12470 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ROLLBACK_SAVEPOINT); (yyval.node)->str_value_ = (yyvsp[(4) - (4)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(4) - (4)].node)->str_len_; ;} break; case 1987: /* Line 1455 of yacc.c */ #line 12476 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ROLLBACK_SAVEPOINT); (yyval.node)->str_value_ = (yyvsp[(4) - (4)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(4) - (4)].node)->str_len_; ;} break; case 1988: /* Line 1455 of yacc.c */ #line 12484 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_RELEASE_SAVEPOINT); (yyval.node)->str_value_ = (yyvsp[(3) - (3)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(3) - (3)].node)->str_len_; ;} break; case 1989: /* Line 1455 of yacc.c */ #line 12499 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1990: /* Line 1455 of yacc.c */ #line 12503 "../../../src/sql/parser/sql_parser_mysql_mode.y" { get_non_reserved_node((yyval.node), result->malloc_pool_, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 1991: /* Line 1455 of yacc.c */ #line 12510 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node);;} break; case 1992: /* Line 1455 of yacc.c */ #line 12512 "../../../src/sql/parser/sql_parser_mysql_mode.y" { get_non_reserved_node((yyval.node), result->malloc_pool_, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 1993: /* Line 1455 of yacc.c */ #line 12518 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1994: /* Line 1455 of yacc.c */ #line 12520 "../../../src/sql/parser/sql_parser_mysql_mode.y" { get_non_reserved_node((yyval.node), result->malloc_pool_, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 1995: /* Line 1455 of yacc.c */ #line 12527 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1996: /* Line 1455 of yacc.c */ #line 12531 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "dump"); ;} break; case 1997: /* Line 1455 of yacc.c */ #line 12535 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "charset"); ;} break; case 1998: /* Line 1455 of yacc.c */ #line 12539 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "collation"); ;} break; case 1999: /* Line 1455 of yacc.c */ #line 12543 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "version"); ;} break; case 2000: /* Line 1455 of yacc.c */ #line 12547 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "user"); ;} break; case 2001: /* Line 1455 of yacc.c */ #line 12551 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "database"); ;} break; case 2002: /* Line 1455 of yacc.c */ #line 12555 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "database"); ;} break; case 2003: /* Line 1455 of yacc.c */ #line 12559 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "coalesce"); ;} break; case 2004: /* Line 1455 of yacc.c */ #line 12563 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "repeat"); ;} break; case 2005: /* Line 1455 of yacc.c */ #line 12567 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "row_count"); ;} break; case 2006: /* Line 1455 of yacc.c */ #line 12571 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "reverse"); ;} break; case 2007: /* Line 1455 of yacc.c */ #line 12575 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "right"); ;} break; case 2008: /* Line 1455 of yacc.c */ #line 12579 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "current_user"); ;} break; case 2009: /* Line 1455 of yacc.c */ #line 12583 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "user"); ;} break; case 2010: /* Line 1455 of yacc.c */ #line 12587 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "user"); ;} break; case 2011: /* Line 1455 of yacc.c */ #line 12591 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "replace"); ;} break; case 2012: /* Line 1455 of yacc.c */ #line 12595 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "truncate"); ;} break; case 2013: /* Line 1455 of yacc.c */ #line 12599 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "format"); ;} break; case 2014: /* Line 1455 of yacc.c */ #line 12606 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 2015: /* Line 1455 of yacc.c */ #line 12608 "../../../src/sql/parser/sql_parser_mysql_mode.y" { get_non_reserved_node((yyval.node), result->malloc_pool_, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2016: /* Line 1455 of yacc.c */ #line 12615 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_DAY; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2017: /* Line 1455 of yacc.c */ #line 12623 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_DAY_HOUR; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2018: /* Line 1455 of yacc.c */ #line 12631 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_DAY_MICROSECOND; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2019: /* Line 1455 of yacc.c */ #line 12639 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_DAY_MINUTE; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2020: /* Line 1455 of yacc.c */ #line 12647 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_DAY_SECOND; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2021: /* Line 1455 of yacc.c */ #line 12655 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_HOUR; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2022: /* Line 1455 of yacc.c */ #line 12663 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_HOUR_MICROSECOND; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2023: /* Line 1455 of yacc.c */ #line 12671 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_HOUR_MINUTE; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2024: /* Line 1455 of yacc.c */ #line 12679 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_HOUR_SECOND; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2025: /* Line 1455 of yacc.c */ #line 12687 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_MICROSECOND; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2026: /* Line 1455 of yacc.c */ #line 12695 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_MINUTE; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2027: /* Line 1455 of yacc.c */ #line 12703 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_MINUTE_MICROSECOND; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2028: /* Line 1455 of yacc.c */ #line 12711 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_MINUTE_SECOND; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2029: /* Line 1455 of yacc.c */ #line 12719 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_MONTH; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2030: /* Line 1455 of yacc.c */ #line 12727 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_QUARTER; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2031: /* Line 1455 of yacc.c */ #line 12735 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_SECOND; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2032: /* Line 1455 of yacc.c */ #line 12743 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_SECOND_MICROSECOND; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2033: /* Line 1455 of yacc.c */ #line 12751 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_WEEK; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2034: /* Line 1455 of yacc.c */ #line 12759 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_YEAR; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2035: /* Line 1455 of yacc.c */ #line 12767 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = DATE_UNIT_YEAR_MONTH; (yyval.node)->is_hidden_const_ = 1; (yyval.node)->is_date_unit_ = 1; dup_expr_string((yyval.node), result, (yylsp[(1) - (1)]).first_column, (yylsp[(1) - (1)]).last_column); ;} break; case 2036: /* Line 1455 of yacc.c */ #line 12777 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.non_reserved_keyword)=(yyvsp[(1) - (1)].non_reserved_keyword);;} break; case 2037: /* Line 1455 of yacc.c */ #line 12778 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.non_reserved_keyword)=(yyvsp[(1) - (1)].non_reserved_keyword);;} break; case 2038: /* Line 1455 of yacc.c */ #line 12779 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.non_reserved_keyword)=(yyvsp[(1) - (1)].non_reserved_keyword);;} break; /* Line 1455 of yacc.c */ #line 53752 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; *++yylsp = yyloc; /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*------------------------------------. | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if ! YYERROR_VERBOSE yyerror (&yylloc, result, YY_("syntax error")); #else { YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) { YYSIZE_T yyalloc = 2 * yysize; if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) yyalloc = YYSTACK_ALLOC_MAXIMUM; if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); yymsg = (char *) YYSTACK_ALLOC (yyalloc); if (yymsg) yymsg_alloc = yyalloc; else { yymsg = yymsgbuf; yymsg_alloc = sizeof yymsgbuf; } } if (0 < yysize && yysize <= yymsg_alloc) { (void) yysyntax_error (yymsg, yystate, yychar); yyerror (&yylloc, result, yymsg); } else { yyerror (&yylloc, result, YY_("syntax error")); if (yysize != 0) goto yyexhaustedlab; } } #endif } yyerror_range[0] = yylloc; if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval, &yylloc, result); yychar = YYEMPTY; } } /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) goto yyerrorlab; yyerror_range[0] = yylsp[1-yylen]; /* Do not reclaim the symbols of the rule which action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (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; yyerror_range[0] = *yylsp; yydestruct ("Error: popping", yystos[yystate], yyvsp, yylsp, result); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } *++yyvsp = yylval; yyerror_range[1] = yylloc; /* Using YYLLOC is tempting, but would change the location of the lookahead. YYLOC is available though. */ YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2); *++yylsp = yyloc; /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #if !defined(yyoverflow) || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (&yylloc, result, YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEMPTY) yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval, &yylloc, result); /* Do not reclaim the symbols of the rule which action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp, yylsp, result); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif /* Make sure YYID is used. */ return YYID (yyresult); } /* Line 1675 of yacc.c */ #line 13666 "../../../src/sql/parser/sql_parser_mysql_mode.y" //////////////////////////////////////////////////////////////// void yyerror(void *yylloc, ParseResult *p, char *s, ...) { if (OB_LIKELY(NULL != p)) { p->result_tree_ = 0; va_list ap; va_start(ap, s); vsnprintf(p->error_msg_, MAX_ERROR_MSG, s, ap); if (OB_LIKELY(NULL != yylloc)) { YYLTYPE *yylloc_pointer = (YYLTYPE *)yylloc; if (OB_LIKELY(NULL != p->input_sql_) && p->input_sql_[yylloc_pointer->first_column - 1] != '\'') { p->start_col_ = yylloc_pointer->first_column; } p->end_col_ = yylloc_pointer->last_column; p->line_ = yylloc_pointer->first_line; } va_end(ap); } } void obsql_mysql_parser_fatal_error(yyconst char *msg, yyscan_t yyscanner) { if (OB_LIKELY(NULL != msg)) { (void)fprintf(stderr, "FATAL ERROR:%s\n", msg); } ParseResult *p = obsql_mysql_yyget_extra(yyscanner); longjmp(p->jmp_buf_, 1);//the secord param must be non-zero value } int obsql_mysql_multi_fast_parse(ParseResult *p) { int ret = 0; if (OB_UNLIKELY(NULL == p)) { ret = -1; } else { /* The semantic value of the lookahead symbol. */ YYSTYPE yylval; /* Location data for the lookahead symbol. */ YYLTYPE yylloc; int token = YYEMPTY; bool has_more = true; while (0 == ret && has_more) { token = obsql_mysql_yylex(&yylval, &yylloc, p->yyscan_info_); switch (token) { case ERROR: ret = -1; break; case PARSER_SYNTAX_ERROR: ret = OB_PARSER_ERR_PARSE_SQL; break; case END_P: case DELIMITER: /* fall through */ has_more = false; default: break; } } /* end while */ p->end_col_ = yylloc.last_column; } return ret; } int obsql_mysql_fast_parse(ParseResult *p) { int ret = 0; if (OB_UNLIKELY(NULL == p)) { ret = -1; } else { /* The semantic value of the lookahead symbol. */ YYSTYPE yylval; /* Location data for the lookahead symbol. */ YYLTYPE yylloc; int token = YYEMPTY; while ((0 == ret) && END_P != (token = obsql_mysql_yylex(&yylval, &yylloc, p->yyscan_info_))) { switch (token) { case ERROR: case PARSER_SYNTAX_ERROR: { ret = -1; break; } default: { if (p->is_ignore_token_) { if (SELECT_HINT_BEGIN == token || UPDATE_HINT_BEGIN == token || DELETE_HINT_BEGIN == token || INSERT_HINT_BEGIN == token || REPLACE_HINT_BEGIN == token || LOAD_DATA_HINT_BEGIN == token /* token == INSERT_HINT_BEGIN */) { const char *hint_begin = obsql_mysql_yyget_text(p->yyscan_info_); const char *slash = memchr(hint_begin, '/', obsql_mysql_yyget_leng(p->yyscan_info_)); int length = slash - hint_begin; memmove(p->no_param_sql_ + p->no_param_sql_len_, hint_begin, slash - hint_begin); p->no_param_sql_len_ += length; p->token_num_++; } else if (token == HINT_END) { p->is_ignore_token_ = false; } else {/*do nothing*/} } else { memmove(p->no_param_sql_ + p->no_param_sql_len_, obsql_mysql_yyget_text(p->yyscan_info_), obsql_mysql_yyget_leng(p->yyscan_info_)); p->no_param_sql_len_ += obsql_mysql_yyget_leng(p->yyscan_info_); p->token_num_++; } break; } } } /*while end*/ int len = p->no_param_sql_len_; p->no_param_sql_[len] = '\0'; } return ret; }