/* 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, SQL_NO_CACHE = 324, SQL_CACHE = 325, TRANSACTION = 326, HIGHER_PARENS = 327, NOT2 = 328, NOT = 329, COLLATE = 330, BINARY = 331, INTERVAL = 332, LOWER_KEY = 333, KEY = 334, LOWER_ON = 335, ON = 336, LOWER_OVER = 337, OVER = 338, LOWER_INTO = 339, INTO = 340, LOWER_THAN_BY_ACCESS_SESSION = 341, ERROR = 342, PARSER_SYNTAX_ERROR = 343, READ_STATIC = 344, INDEX_HINT = 345, USE_NL = 346, FROZEN_VERSION = 347, TOPK = 348, QUERY_TIMEOUT = 349, READ_CONSISTENCY = 350, HOTSPOT = 351, LOG_LEVEL = 352, LEADING_HINT = 353, ORDERED = 354, FULL_HINT = 355, USE_MERGE = 356, USE_HASH = 357, NO_USE_HASH = 358, USE_PLAN_CACHE = 359, USE_JIT = 360, NO_USE_JIT = 361, NO_USE_NL = 362, NO_USE_MERGE = 363, NO_USE_BNL = 364, USE_NL_MATERIALIZATION = 365, NO_USE_NL_MATERIALIZATION = 366, NO_REWRITE = 367, TRACE_LOG = 368, USE_PX = 369, QB_NAME = 370, USE_HASH_AGGREGATION = 371, NO_USE_HASH_AGGREGATION = 372, NEG_SIGN = 373, USE_LATE_MATERIALIZATION = 374, NO_USE_LATE_MATERIALIZATION = 375, USE_BNL = 376, MAX_CONCURRENT = 377, PX_JOIN_FILTER = 378, NO_USE_PX = 379, PQ_DISTRIBUTE = 380, RANDOM_LOCAL = 381, BROADCAST = 382, TRACING = 383, MERGE_HINT = 384, NO_MERGE_HINT = 385, NO_EXPAND = 386, USE_CONCAT = 387, UNNEST = 388, NO_UNNEST = 389, PLACE_GROUP_BY = 390, NO_PLACE_GROUP_BY = 391, NO_PRED_DEDUCE = 392, TRANS_PARAM = 393, FORCE_REFRESH_LOCATION_CACHE = 394, LOAD_BATCH_SIZE = 395, NO_PX_JOIN_FILTER = 396, DISABLE_PARALLEL_DML = 397, PQ_MAP = 398, ENABLE_PARALLEL_DML = 399, NO_PARALLEL = 400, _BINARY = 401, _UTF8 = 402, _UTF8MB4 = 403, _GBK = 404, _UTF16 = 405, _GB18030 = 406, SELECT_HINT_BEGIN = 407, UPDATE_HINT_BEGIN = 408, DELETE_HINT_BEGIN = 409, INSERT_HINT_BEGIN = 410, REPLACE_HINT_BEGIN = 411, HINT_HINT_BEGIN = 412, HINT_END = 413, LOAD_DATA_HINT_BEGIN = 414, END_P = 415, DELIMITER = 416, ACCESSIBLE = 417, ADD = 418, ALL = 419, ALTER = 420, ANALYZE = 421, AS = 422, ASC = 423, ASENSITIVE = 424, BEFORE = 425, BIGINT = 426, BLOB = 427, BOTH = 428, BY = 429, CALL = 430, CASCADE = 431, CHANGE = 432, CHAR = 433, CHARACTER = 434, CHECK = 435, COLUMN = 436, CONDITION = 437, CONSTRAINT = 438, CONTINUE = 439, CONVERT = 440, CREATE = 441, CURRENT_DATE = 442, CURRENT_TIME = 443, CURRENT_TIMESTAMP = 444, CURRENT_USER = 445, CURSOR = 446, DATABASE = 447, DATABASES = 448, DAY_HOUR = 449, DAY_MICROSECOND = 450, DAY_MINUTE = 451, DAY_SECOND = 452, DECLARE = 453, DECIMAL = 454, DEFAULT = 455, DELAYED = 456, DELETE = 457, DESC = 458, DESCRIBE = 459, DETERMINISTIC = 460, DISTINCT = 461, DISTINCTROW = 462, DOUBLE = 463, DROP = 464, DUAL = 465, EACH = 466, ELSEIF = 467, ENCLOSED = 468, ESCAPED = 469, EXISTS = 470, EXIT = 471, EXPLAIN = 472, FETCH = 473, FLOAT = 474, FLOAT4 = 475, FLOAT8 = 476, FOR = 477, FORCE = 478, FOREIGN = 479, FROM = 480, GENERATED = 481, GET = 482, GRANT = 483, GROUP = 484, HAVING = 485, HIGH_PRIORITY = 486, HOUR_MICROSECOND = 487, HOUR_MINUTE = 488, HOUR_SECOND = 489, IF = 490, IGNORE = 491, INDEX = 492, INFILE = 493, INOUT = 494, INSENSITIVE = 495, INSERT = 496, INT = 497, INT1 = 498, INT2 = 499, INT3 = 500, INT4 = 501, INT8 = 502, INTEGER = 503, IO_AFTER_GTIDS = 504, IO_BEFORE_GTIDS = 505, ITERATE = 506, KEYS = 507, KILL = 508, LEADING = 509, LEAVE = 510, LIMIT = 511, LINEAR = 512, LINES = 513, LOAD = 514, LOCALTIME = 515, LOCALTIMESTAMP = 516, LONG = 517, LONGBLOB = 518, LONGTEXT = 519, LOOP = 520, LOW_PRIORITY = 521, MASTER_BIND = 522, MASTER_SSL_VERIFY_SERVER_CERT = 523, MATCH = 524, MAXVALUE = 525, MEDIUMBLOB = 526, MEDIUMINT = 527, MEDIUMTEXT = 528, MIDDLEINT = 529, MINUTE_MICROSECOND = 530, MINUTE_SECOND = 531, MODIFIES = 532, NATURAL = 533, NO_WRITE_TO_BINLOG = 534, OPTIMIZE = 535, OPTION = 536, OPTIONALLY = 537, ORDER = 538, OUT = 539, OUTER = 540, OUTFILE = 541, PARTITION = 542, PRECISION = 543, PRIMARY = 544, PROCEDURE = 545, PURGE = 546, RANGE = 547, READ = 548, READS = 549, READ_WRITE = 550, REAL = 551, REFERENCES = 552, RELEASE = 553, RENAME = 554, REPEAT = 555, REPLACE = 556, REQUIRE = 557, RESIGNAL = 558, RESTRICT = 559, RETURN = 560, REVOKE = 561, RLIKE = 562, SCHEMA = 563, SCHEMAS = 564, SECOND_MICROSECOND = 565, SELECT = 566, SENSITIVE = 567, SEPARATOR = 568, SET = 569, SHOW = 570, SIGNAL = 571, SMALLINT = 572, SPATIAL = 573, SPECIFIC = 574, SQL = 575, SQLEXCEPTION = 576, SQLSTATE = 577, SQLWARNING = 578, SQL_BIG_RESULT = 579, SQL_CALC_FOUND_ROWS = 580, SQL_SMALL_RESULT = 581, SSL = 582, STARTING = 583, STORED = 584, STRAIGHT_JOIN = 585, TABLE = 586, TERMINATED = 587, TINYBLOB = 588, TINYINT = 589, TINYTEXT = 590, TO = 591, TRAILING = 592, TRIGGER = 593, UNDO = 594, UNIQUE = 595, UNLOCK = 596, UNSIGNED = 597, UPDATE = 598, USAGE = 599, USE = 600, USING = 601, UTC_DATE = 602, UTC_TIME = 603, UTC_TIMESTAMP = 604, VALUES = 605, VARBINARY = 606, VARCHAR = 607, VARCHARACTER = 608, VARYING = 609, VIRTUAL = 610, WHERE = 611, WHILE = 612, WITH = 613, WRITE = 614, YEAR_MONTH = 615, ZEROFILL = 616, TABLEGROUP = 617, ACCESS = 618, ACCOUNT = 619, ACTION = 620, ACTIVE = 621, ADDDATE = 622, AFTER = 623, AGAINST = 624, AGGREGATE = 625, ALGORITHM = 626, ALWAYS = 627, ANALYSE = 628, ANY = 629, APPROX_COUNT_DISTINCT = 630, APPROX_COUNT_DISTINCT_SYNOPSIS = 631, APPROX_COUNT_DISTINCT_SYNOPSIS_MERGE = 632, ASCII = 633, AT = 634, AUTHORS = 635, AUTO = 636, AUTOEXTEND_SIZE = 637, AUTO_INCREMENT = 638, AVG = 639, AVG_ROW_LENGTH = 640, ACTIVATE = 641, AVAILABILITY = 642, ARCHIVELOG = 643, AUDIT = 644, BACKUP = 645, BALANCE = 646, BASE = 647, BASELINE = 648, BASELINE_ID = 649, BASIC = 650, BEGI = 651, BINDING = 652, BINLOG = 653, BIT = 654, BLOCK = 655, BLOCK_INDEX = 656, BLOCK_SIZE = 657, BLOOM_FILTER = 658, BOOL = 659, BOOLEAN = 660, BOOTSTRAP = 661, BTREE = 662, BYTE = 663, BREADTH = 664, BUCKETS = 665, BISON_LIST = 666, BACKUPSET = 667, BACKED = 668, BACKUPPIECE = 669, BACKUP_BACKUP_DEST = 670, BACKUPROUND = 671, CACHE = 672, CANCEL = 673, CASCADED = 674, CAST = 675, CATALOG_NAME = 676, CHAIN = 677, CHANGED = 678, CHARSET = 679, CHECKSUM = 680, CHECKPOINT = 681, CHUNK = 682, CIPHER = 683, CLASS_ORIGIN = 684, CLEAN = 685, CLEAR = 686, CLIENT = 687, CLOG = 688, CLOSE = 689, CLUSTER = 690, CLUSTER_ID = 691, CLUSTER_NAME = 692, COALESCE = 693, COLUMN_STAT = 694, CODE = 695, COLLATION = 696, COLUMN_FORMAT = 697, COLUMN_NAME = 698, COLUMNS = 699, COMMENT = 700, COMMIT = 701, COMMITTED = 702, COMPACT = 703, COMPLETION = 704, COMPRESSED = 705, COMPRESSION = 706, CONCURRENT = 707, CONSISTENT = 708, CONSISTENT_MODE = 709, CONSTRAINT_CATALOG = 710, CONSTRAINT_NAME = 711, CONSTRAINT_SCHEMA = 712, CONTAINS = 713, CONTEXT = 714, CONTRIBUTORS = 715, COPY = 716, COUNT = 717, CPU = 718, CREATE_TIMESTAMP = 719, CTX_ID = 720, CUBE = 721, CURDATE = 722, CURRENT = 723, CURTIME = 724, CURSOR_NAME = 725, CUME_DIST = 726, CYCLE = 727, DAG = 728, DATA = 729, DATAFILE = 730, DATA_TABLE_ID = 731, DATE = 732, DATE_ADD = 733, DATE_SUB = 734, DATETIME = 735, DAY = 736, DEALLOCATE = 737, DECRYPTION = 738, DEFAULT_AUTH = 739, DEFINER = 740, DELAY = 741, DELAY_KEY_WRITE = 742, DEPTH = 743, DES_KEY_FILE = 744, DENSE_RANK = 745, DESTINATION = 746, DIAGNOSTICS = 747, DIRECTORY = 748, DISABLE = 749, DISCARD = 750, DISK = 751, DISKGROUP = 752, DO = 753, DUMP = 754, DUMPFILE = 755, DUPLICATE = 756, DUPLICATE_SCOPE = 757, DYNAMIC = 758, DATABASE_ID = 759, DEFAULT_TABLEGROUP = 760, EFFECTIVE = 761, ENABLE = 762, ENCRYPTION = 763, END = 764, ENDS = 765, ENGINE_ = 766, ENGINES = 767, ENUM = 768, ENTITY = 769, ERROR_CODE = 770, ERROR_P = 771, ERRORS = 772, EVENT = 773, EVENTS = 774, EVERY = 775, EXCHANGE = 776, EXECUTE = 777, EXPANSION = 778, EXPIRE = 779, EXPIRE_INFO = 780, EXPORT = 781, OUTLINE = 782, EXTENDED = 783, EXTENDED_NOADDR = 784, EXTENT_SIZE = 785, EXTRACT = 786, EXPIRED = 787, FAILOVER = 788, FAST = 789, FAULTS = 790, FIELDS = 791, FILEX = 792, FINAL_COUNT = 793, FIRST = 794, FIRST_VALUE = 795, FIXED = 796, FLUSH = 797, FOLLOWER = 798, FORMAT = 799, FOUND = 800, FREEZE = 801, FREQUENCY = 802, FUNCTION = 803, FOLLOWING = 804, FLASHBACK = 805, FROZEN = 806, FILE_ID = 807, GENERAL = 808, GEOMETRY = 809, GEOMETRYCOLLECTION = 810, GET_FORMAT = 811, GLOBAL = 812, GRANTS = 813, GROUP_CONCAT = 814, GROUPING = 815, GTS = 816, GLOBAL_NAME = 817, GLOBAL_ALIAS = 818, HANDLER = 819, HASH = 820, HELP = 821, HISTOGRAM = 822, HOST = 823, HOSTS = 824, HOUR = 825, ID = 826, IDC = 827, IDENTIFIED = 828, IGNORE_SERVER_IDS = 829, ILOG = 830, IMPORT = 831, INCR = 832, INDEXES = 833, INDEX_TABLE_ID = 834, INFO = 835, INITIAL_SIZE = 836, INNODB = 837, INSERT_METHOD = 838, INSTALL = 839, INSTANCE = 840, INVOKER = 841, IO = 842, IO_THREAD = 843, IPC = 844, ISOLATE = 845, ISOLATION = 846, ISSUER = 847, IS_TENANT_SYS_POOL = 848, INVISIBLE = 849, MERGE = 850, ISNULL = 851, INCREMENTAL = 852, INNER_PARSE = 853, ILOGCACHE = 854, INPUT = 855, JOB = 856, JSON = 857, KEY_BLOCK_SIZE = 858, KEY_VERSION = 859, KVCACHE = 860, LAG = 861, LANGUAGE = 862, LAST = 863, LAST_VALUE = 864, LEAD = 865, LEADER = 866, LEAVES = 867, LESS = 868, LEAK = 869, LEAK_MOD = 870, LINESTRING = 871, LIST_ = 872, LISTAGG = 873, LOCAL = 874, LOCALITY = 875, LOCATION = 876, LOCKED = 877, LOCKS = 878, LOGFILE = 879, LOGONLY_REPLICA_NUM = 880, LOGS = 881, LOCK_ = 882, LOGICAL_READS = 883, LEVEL = 884, LN = 885, LOG = 886, MAJOR = 887, MANUAL = 888, MASTER = 889, MASTER_AUTO_POSITION = 890, MASTER_CONNECT_RETRY = 891, MASTER_DELAY = 892, MASTER_HEARTBEAT_PERIOD = 893, MASTER_HOST = 894, MASTER_LOG_FILE = 895, MASTER_LOG_POS = 896, MASTER_PASSWORD = 897, MASTER_PORT = 898, MASTER_RETRY_COUNT = 899, MASTER_SERVER_ID = 900, MASTER_SSL = 901, MASTER_SSL_CA = 902, MASTER_SSL_CAPATH = 903, MASTER_SSL_CERT = 904, MASTER_SSL_CIPHER = 905, MASTER_SSL_CRL = 906, MASTER_SSL_CRLPATH = 907, MASTER_SSL_KEY = 908, MASTER_USER = 909, MAX = 910, MAX_CONNECTIONS_PER_HOUR = 911, MAX_CPU = 912, MAX_DISK_SIZE = 913, MAX_IOPS = 914, MAX_MEMORY = 915, MAX_QUERIES_PER_HOUR = 916, MAX_ROWS = 917, MAX_SESSION_NUM = 918, MAX_SIZE = 919, MAX_UPDATES_PER_HOUR = 920, MAX_USER_CONNECTIONS = 921, MEDIUM = 922, MEMORY = 923, MEMTABLE = 924, MESSAGE_TEXT = 925, META = 926, MICROSECOND = 927, MIGRATE = 928, MIN = 929, MIN_CPU = 930, MIN_IOPS = 931, MIN_MEMORY = 932, MINOR = 933, MIN_ROWS = 934, MINUTE = 935, MODE = 936, MODIFY = 937, MONTH = 938, MOVE = 939, MULTILINESTRING = 940, MULTIPOINT = 941, MULTIPOLYGON = 942, MUTEX = 943, MYSQL_ERRNO = 944, MIGRATION = 945, MAX_USED_PART_ID = 946, MAXIMIZE = 947, MATERIALIZED = 948, MEMSTORE_PERCENT = 949, NAME = 950, NAMES = 951, NATIONAL = 952, NCHAR = 953, NDB = 954, NDBCLUSTER = 955, NEW = 956, NEXT = 957, NO = 958, NOAUDIT = 959, NODEGROUP = 960, NONE = 961, NORMAL = 962, NOW = 963, NOWAIT = 964, NO_WAIT = 965, NULLS = 966, NUMBER = 967, NVARCHAR = 968, NTILE = 969, NTH_VALUE = 970, NOARCHIVELOG = 971, NETWORK = 972, NOPARALLEL = 973, OBSOLETE = 974, OCCUR = 975, OF = 976, OFF = 977, OFFSET = 978, OLD_PASSWORD = 979, ONE = 980, ONE_SHOT = 981, ONLY = 982, OPEN = 983, OPTIONS = 984, ORIG_DEFAULT = 985, OWNER = 986, OLD_KEY = 987, PACK_KEYS = 988, PAGE = 989, PARALLEL = 990, PARAMETERS = 991, PARSER = 992, PARTIAL = 993, PARTITION_ID = 994, PARTITIONING = 995, PARTITIONS = 996, PASSWORD = 997, PAUSE = 998, PERCENT_RANK = 999, PHASE = 1000, PLAN = 1001, PHYSICAL = 1002, PLANREGRESS = 1003, PLUGIN = 1004, PLUGIN_DIR = 1005, PLUGINS = 1006, POINT = 1007, POLYGON = 1008, PERFORMANCE = 1009, PROTECTION = 1010, PRIORITY = 1011, PL = 1012, POOL = 1013, PORT = 1014, POSITION = 1015, PREPARE = 1016, PRESERVE = 1017, PREV = 1018, PRIMARY_ZONE = 1019, PRIVILEGES = 1020, PROCESS = 1021, PROCESSLIST = 1022, PROFILE = 1023, PROFILES = 1024, PROXY = 1025, PRECEDING = 1026, PCTFREE = 1027, P_ENTITY = 1028, P_CHUNK = 1029, PRIMARY_ROOTSERVICE_LIST = 1030, PRIMARY_CLUSTER_ID = 1031, PUBLIC = 1032, PROGRESSIVE_MERGE_NUM = 1033, PREVIEW = 1034, PS = 1035, QUARTER = 1036, QUEUE_TIME = 1037, QUICK = 1038, REBUILD = 1039, RECOVER = 1040, RECYCLE = 1041, REDO_BUFFER_SIZE = 1042, REDOFILE = 1043, REDUNDANT = 1044, REFRESH = 1045, REGION = 1046, RELAY = 1047, RELAYLOG = 1048, RELAY_LOG_FILE = 1049, RELAY_LOG_POS = 1050, RELAY_THREAD = 1051, RELOAD = 1052, REMOVE = 1053, REORGANIZE = 1054, REPAIR = 1055, REPEATABLE = 1056, REPLICA = 1057, REPLICA_NUM = 1058, REPLICA_TYPE = 1059, REPLICATION = 1060, REPORT = 1061, RESET = 1062, RESOURCE = 1063, RESOURCE_POOL_LIST = 1064, RESPECT = 1065, RESTART = 1066, RESTORE = 1067, RESUME = 1068, RETURNED_SQLSTATE = 1069, RETURNS = 1070, REVERSE = 1071, REWRITE_MERGE_VERSION = 1072, ROLLBACK = 1073, ROLLUP = 1074, ROOT = 1075, ROOTTABLE = 1076, ROOTSERVICE = 1077, ROOTSERVICE_LIST = 1078, ROUTINE = 1079, ROW = 1080, ROLLING = 1081, ROW_COUNT = 1082, ROW_FORMAT = 1083, ROWS = 1084, RTREE = 1085, RUN = 1086, RECYCLEBIN = 1087, ROTATE = 1088, ROW_NUMBER = 1089, RUDUNDANT = 1090, RECURSIVE = 1091, RANDOM = 1092, REDO_TRANSPORT_OPTIONS = 1093, REMOTE_OSS = 1094, RT = 1095, RANK = 1096, READ_ONLY = 1097, RECOVERY = 1098, SAMPLE = 1099, SAVEPOINT = 1100, SCHEDULE = 1101, SCHEMA_NAME = 1102, SCOPE = 1103, SECOND = 1104, SECURITY = 1105, SEED = 1106, SERIAL = 1107, SERIALIZABLE = 1108, SERVER = 1109, SERVER_IP = 1110, SERVER_PORT = 1111, SERVER_TYPE = 1112, SESSION = 1113, SESSION_USER = 1114, SET_MASTER_CLUSTER = 1115, SET_SLAVE_CLUSTER = 1116, SET_TP = 1117, SHARE = 1118, SHUTDOWN = 1119, SIGNED = 1120, SIMPLE = 1121, SLAVE = 1122, SLOW = 1123, SLOT_IDX = 1124, SNAPSHOT = 1125, SOCKET = 1126, SOME = 1127, SONAME = 1128, SOUNDS = 1129, SOURCE = 1130, SPFILE = 1131, SPLIT = 1132, SQL_AFTER_GTIDS = 1133, SQL_AFTER_MTS_GAPS = 1134, SQL_BEFORE_GTIDS = 1135, SQL_BUFFER_RESULT = 1136, SQL_ID = 1137, SQL_THREAD = 1138, SQL_TSI_DAY = 1139, SQL_TSI_HOUR = 1140, SQL_TSI_MINUTE = 1141, SQL_TSI_MONTH = 1142, SQL_TSI_QUARTER = 1143, SQL_TSI_SECOND = 1144, SQL_TSI_WEEK = 1145, SQL_TSI_YEAR = 1146, STANDBY = 1147, STAT = 1148, START = 1149, STARTS = 1150, STATS_AUTO_RECALC = 1151, STATS_PERSISTENT = 1152, STATS_SAMPLE_PAGES = 1153, STATUS = 1154, STATEMENTS = 1155, STD = 1156, STDDEV = 1157, STDDEV_POP = 1158, STDDEV_SAMP = 1159, STRONG = 1160, SYNCHRONIZATION = 1161, STOP = 1162, STORAGE = 1163, STORAGE_FORMAT_VERSION = 1164, STORAGE_FORMAT_WORK_VERSION = 1165, STORING = 1166, STRING = 1167, SUBCLASS_ORIGIN = 1168, SUBDATE = 1169, SUBJECT = 1170, SUBPARTITION = 1171, SUBPARTITIONS = 1172, SUBSTR = 1173, SUBSTRING = 1174, SUCCESSFUL = 1175, SUM = 1176, SUPER = 1177, SUSPEND = 1178, SWAPS = 1179, SWITCH = 1180, SWITCHES = 1181, SWITCHOVER = 1182, SYSTEM = 1183, SYSTEM_USER = 1184, SYSDATE = 1185, SESSION_ALIAS = 1186, SYNONYM = 1187, SIZE = 1188, TABLE_CHECKSUM = 1189, TABLE_MODE = 1190, TABLE_ID = 1191, TABLE_NAME = 1192, TABLEGROUPS = 1193, TABLES = 1194, TABLESPACE = 1195, TABLET = 1196, TABLET_MAX_SIZE = 1197, TEMPLATE = 1198, TEMPORARY = 1199, TEMPTABLE = 1200, TENANT = 1201, TEXT = 1202, THAN = 1203, TIME = 1204, TIMESTAMP = 1205, TIMESTAMPADD = 1206, TIMESTAMPDIFF = 1207, TP_NO = 1208, TP_NAME = 1209, TRACE = 1210, TRADITIONAL = 1211, TRIGGERS = 1212, TRIM = 1213, TRUNCATE = 1214, TYPE = 1215, TYPES = 1216, TASK = 1217, TABLET_SIZE = 1218, TABLEGROUP_ID = 1219, TENANT_ID = 1220, THROTTLE = 1221, TIME_ZONE_INFO = 1222, TIMES = 1223, UNCOMMITTED = 1224, UNDEFINED = 1225, UNDO_BUFFER_SIZE = 1226, UNDOFILE = 1227, UNICODE = 1228, UNINSTALL = 1229, UNIT = 1230, UNIT_NUM = 1231, UNLOCKED = 1232, UNTIL = 1233, UNUSUAL = 1234, UPGRADE = 1235, USE_BLOOM_FILTER = 1236, UNKNOWN = 1237, USE_FRM = 1238, USER = 1239, USER_RESOURCES = 1240, UNBOUNDED = 1241, UP = 1242, VALID = 1243, VALUE = 1244, VARIANCE = 1245, VARIABLES = 1246, VERBOSE = 1247, VERIFY = 1248, VIEW = 1249, VISIBLE = 1250, VIRTUAL_COLUMN_ID = 1251, VALIDATE = 1252, VAR_POP = 1253, VAR_SAMP = 1254, WAIT = 1255, WARNINGS = 1256, WEEK = 1257, WEIGHT_STRING = 1258, WHENEVER = 1259, WITH_ROWID = 1260, WORK = 1261, WRAPPER = 1262, WEAK = 1263, X509 = 1264, XA = 1265, XML = 1266, YEAR = 1267, ZONE = 1268, ZONE_LIST = 1269, ZONE_TYPE = 1270, COMP_NSEQ = 1271, COMMA = 1272 }; #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 1151 "../../../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 1182 "../../../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 1391 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 108995 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 1034 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 647 /* YYNRULES -- Number of rules. */ #define YYNRULES 2984 /* YYNRULES -- Number of states. */ #define YYNSTATES 5213 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 1272 #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, 1030, 2, 2, 2, 69, 62, 1032, 79, 80, 67, 65, 24, 66, 85, 68, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1031, 2, 2, 2, 2, 2, 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, 83, 84, 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, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1033 }; #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, 1336, 1341, 1346, 1353, 1358, 1363, 1370, 1375, 1380, 1385, 1390, 1395, 1400, 1405, 1412, 1419, 1424, 1429, 1436, 1441, 1446, 1451, 1456, 1463, 1470, 1475, 1480, 1485, 1492, 1494, 1501, 1509, 1522, 1529, 1538, 1540, 1544, 1549, 1551, 1555, 1560, 1562, 1566, 1570, 1575, 1579, 1584, 1587, 1589, 1591, 1593, 1597, 1602, 1605, 1609, 1611, 1615, 1619, 1622, 1623, 1625, 1627, 1631, 1637, 1641, 1647, 1653, 1659, 1660, 1662, 1663, 1665, 1667, 1668, 1670, 1672, 1674, 1675, 1678, 1679, 1683, 1684, 1687, 1689, 1691, 1693, 1697, 1700, 1704, 1706, 1707, 1709, 1712, 1714, 1718, 1720, 1722, 1724, 1731, 1735, 1739, 1744, 1753, 1755, 1759, 1763, 1770, 1777, 1779, 1783, 1784, 1788, 1792, 1796, 1800, 1804, 1808, 1812, 1816, 1818, 1822, 1823, 1827, 1831, 1837, 1841, 1843, 1847, 1849, 1853, 1860, 1861, 1865, 1870, 1876, 1882, 1888, 1902, 1914, 1920, 1926, 1933, 1935, 1939, 1940, 1944, 1949, 1953, 1957, 1961, 1965, 1969, 1975, 1981, 1985, 1989, 1991, 1995, 1997, 2001, 2004, 2008, 2011, 2012, 2015, 2016, 2018, 2022, 2024, 2028, 2035, 2042, 2050, 2055, 2061, 2066, 2071, 2077, 2079, 2081, 2083, 2085, 2086, 2088, 2091, 2093, 2096, 2101, 2106, 2110, 2114, 2116, 2118, 2122, 2125, 2128, 2133, 2139, 2141, 2142, 2158, 2161, 2164, 2165, 2167, 2169, 2170, 2172, 2174, 2175, 2179, 2180, 2184, 2188, 2190, 2192, 2193, 2196, 2200, 2202, 2206, 2208, 2210, 2211, 2214, 2216, 2220, 2224, 2227, 2236, 2247, 2258, 2271, 2273, 2274, 2276, 2278, 2281, 2282, 2284, 2286, 2292, 2300, 2302, 2303, 2305, 2307, 2308, 2310, 2311, 2319, 2329, 2340, 2353, 2363, 2372, 2379, 2387, 2389, 2390, 2392, 2394, 2396, 2398, 2407, 2412, 2416, 2417, 2419, 2423, 2425, 2435, 2443, 2452, 2463, 2470, 2485, 2488, 2489, 2493, 2497, 2499, 2501, 2504, 2507, 2510, 2513, 2514, 2516, 2518, 2520, 2525, 2536, 2539, 2540, 2543, 2544, 2547, 2549, 2552, 2555, 2557, 2560, 2563, 2565, 2567, 2568, 2570, 2574, 2580, 2582, 2586, 2589, 2593, 2596, 2599, 2602, 2605, 2608, 2610, 2612, 2613, 2615, 2617, 2619, 2621, 2623, 2625, 2627, 2632, 2637, 2642, 2647, 2649, 2651, 2654, 2656, 2662, 2668, 2671, 2677, 2680, 2683, 2685, 2688, 2696, 2704, 2706, 2710, 2712, 2714, 2716, 2718, 2720, 2722, 2724, 2726, 2728, 2730, 2733, 2736, 2738, 2740, 2742, 2744, 2747, 2749, 2751, 2753, 2755, 2757, 2759, 2761, 2763, 2767, 2768, 2772, 2773, 2779, 2783, 2784, 2790, 2794, 2795, 2799, 2800, 2804, 2805, 2809, 2811, 2812, 2814, 2815, 2817, 2819, 2820, 2822, 2823, 2825, 2826, 2828, 2830, 2834, 2838, 2840, 2842, 2844, 2846, 2848, 2850, 2853, 2854, 2857, 2859, 2860, 2863, 2864, 2867, 2869, 2872, 2875, 2877, 2880, 2883, 2885, 2888, 2892, 2895, 2897, 2899, 2901, 2904, 2907, 2908, 2910, 2912, 2913, 2915, 2916, 2918, 2921, 2923, 2927, 2929, 2931, 2933, 2935, 2937, 2939, 2943, 2947, 2952, 2958, 2962, 2966, 2970, 2974, 2978, 2982, 2986, 2990, 2995, 3000, 3004, 3008, 3012, 3016, 3018, 3022, 3026, 3030, 3034, 3036, 3040, 3042, 3044, 3046, 3048, 3050, 3051, 3053, 3054, 3056, 3058, 3060, 3062, 3065, 3067, 3069, 3076, 3078, 3080, 3082, 3088, 3095, 3103, 3112, 3122, 3132, 3143, 3152, 3162, 3170, 3179, 3189, 3200, 3201, 3203, 3210, 3219, 3221, 3225, 3227, 3231, 3233, 3237, 3239, 3241, 3251, 3262, 3272, 3282, 3293, 3303, 3304, 3311, 3319, 3327, 3334, 3342, 3350, 3354, 3356, 3360, 3365, 3369, 3371, 3375, 3384, 3388, 3390, 3394, 3402, 3404, 3406, 3408, 3409, 3413, 3415, 3419, 3423, 3427, 3428, 3432, 3434, 3438, 3445, 3449, 3451, 3455, 3461, 3465, 3469, 3471, 3475, 3479, 3481, 3482, 3485, 3487, 3491, 3493, 3495, 3498, 3499, 3502, 3503, 3505, 3507, 3509, 3511, 3513, 3515, 3516, 3522, 3529, 3536, 3545, 3552, 3561, 3568, 3577, 3582, 3588, 3595, 3604, 3605, 3607, 3609, 3611, 3613, 3615, 3622, 3627, 3634, 3639, 3644, 3646, 3647, 3649, 3652, 3654, 3658, 3663, 3667, 3671, 3675, 3679, 3681, 3685, 3688, 3693, 3698, 3700, 3701, 3711, 3713, 3716, 3717, 3719, 3720, 3722, 3726, 3727, 3731, 3732, 3746, 3748, 3749, 3751, 3752, 3754, 3757, 3758, 3760, 3761, 3763, 3765, 3769, 3774, 3775, 3778, 3782, 3783, 3784, 3786, 3788, 3791, 3793, 3795, 3799, 3802, 3807, 3809, 3813, 3815, 3817, 3821, 3825, 3829, 3833, 3835, 3836, 3838, 3841, 3844, 3846, 3848, 3849, 3856, 3858, 3860, 3867, 3868, 3871, 3873, 3877, 3883, 3889, 3894, 3897, 3902, 3908, 3912, 3915, 3917, 3919, 3921, 3923, 3924, 3926, 3927, 3933, 3934, 3935, 3937, 3940, 3942, 3945, 3947, 3951, 3955, 3961, 3963, 3967, 3968, 3970, 3972, 3975, 3977, 3979, 3981, 3984, 3988, 3992, 3996, 3999, 4002, 4005, 4010, 4021, 4023, 4025, 4027, 4029, 4031, 4034, 4038, 4042, 4046, 4050, 4052, 4054, 4056, 4058, 4060, 4062, 4065, 4069, 4072, 4076, 4079, 4083, 4085, 4088, 4090, 4093, 4095, 4098, 4109, 4111, 4113, 4115, 4117, 4120, 4122, 4123, 4125, 4127, 4129, 4130, 4134, 4135, 4137, 4142, 4145, 4150, 4157, 4161, 4164, 4165, 4167, 4171, 4173, 4175, 4177, 4180, 4181, 4184, 4186, 4190, 4195, 4199, 4203, 4206, 4207, 4210, 4212, 4216, 4220, 4223, 4225, 4229, 4230, 4232, 4235, 4237, 4240, 4244, 4246, 4251, 4258, 4263, 4268, 4274, 4276, 4281, 4288, 4294, 4300, 4302, 4308, 4313, 4319, 4325, 4331, 4337, 4343, 4349, 4355, 4361, 4367, 4373, 4375, 4377, 4380, 4383, 4386, 4389, 4392, 4395, 4398, 4401, 4404, 4409, 4411, 4413, 4415, 4417, 4422, 4427, 4429, 4431, 4438, 4444, 4450, 4452, 4457, 4462, 4467, 4469, 4478, 4483, 4489, 4491, 4493, 4495, 4497, 4499, 4501, 4505, 4506, 4508, 4510, 4512, 4514, 4516, 4518, 4520, 4522, 4524, 4526, 4528, 4530, 4532, 4535, 4536, 4538, 4540, 4541, 4543, 4544, 4548, 4549, 4552, 4555, 4557, 4559, 4561, 4565, 4570, 4575, 4580, 4584, 4588, 4592, 4593, 4597, 4600, 4602, 4606, 4609, 4610, 4612, 4614, 4615, 4618, 4620, 4621, 4625, 4627, 4631, 4634, 4635, 4637, 4639, 4640, 4643, 4645, 4646, 4648, 4651, 4653, 4655, 4657, 4659, 4661, 4663, 4665, 4668, 4672, 4676, 4678, 4680, 4681, 4683, 4687, 4689, 4691, 4695, 4697, 4699, 4701, 4703, 4705, 4709, 4711, 4714, 4718, 4722, 4727, 4732, 4738, 4741, 4745, 4749, 4754, 4757, 4761, 4766, 4771, 4777, 4783, 4790, 4795, 4801, 4807, 4814, 4821, 4829, 4832, 4836, 4840, 4845, 4850, 4856, 4862, 4869, 4873, 4878, 4883, 4889, 4892, 4897, 4899, 4901, 4902, 4904, 4906, 4908, 4915, 4917, 4918, 4921, 4925, 4927, 4928, 4933, 4935, 4937, 4939, 4940, 4942, 4944, 4945, 4948, 4952, 4956, 4958, 4960, 4962, 4966, 4968, 4969, 4976, 4983, 4985, 4988, 4990, 4992, 4994, 4998, 5001, 5006, 5009, 5010, 5012, 5016, 5020, 5023, 5026, 5029, 5032, 5033, 5035, 5039, 5041, 5042, 5044, 5048, 5052, 5054, 5058, 5062, 5066, 5072, 5080, 5082, 5086, 5088, 5092, 5096, 5102, 5106, 5108, 5111, 5116, 5120, 5126, 5134, 5139, 5145, 5152, 5155, 5159, 5161, 5164, 5167, 5171, 5173, 5176, 5179, 5181, 5182, 5186, 5190, 5194, 5198, 5202, 5204, 5205, 5209, 5212, 5215, 5219, 5223, 5225, 5232, 5239, 5246, 5250, 5251, 5253, 5257, 5259, 5267, 5277, 5284, 5288, 5291, 5292, 5296, 5299, 5303, 5307, 5311, 5315, 5319, 5323, 5329, 5331, 5333, 5335, 5337, 5339, 5341, 5343, 5345, 5347, 5353, 5358, 5366, 5372, 5378, 5384, 5389, 5394, 5399, 5402, 5408, 5413, 5418, 5423, 5428, 5432, 5436, 5443, 5450, 5454, 5458, 5462, 5466, 5471, 5478, 5482, 5486, 5491, 5495, 5500, 5504, 5507, 5510, 5515, 5519, 5521, 5523, 5528, 5531, 5532, 5534, 5537, 5542, 5544, 5545, 5546, 5548, 5550, 5552, 5554, 5555, 5557, 5559, 5561, 5563, 5565, 5567, 5569, 5571, 5573, 5574, 5577, 5578, 5581, 5586, 5589, 5590, 5592, 5594, 5600, 5607, 5609, 5613, 5616, 5622, 5629, 5632, 5635, 5638, 5641, 5644, 5645, 5648, 5650, 5653, 5656, 5658, 5661, 5665, 5668, 5671, 5674, 5676, 5678, 5680, 5682, 5683, 5686, 5688, 5692, 5694, 5698, 5704, 5713, 5720, 5725, 5731, 5735, 5736, 5740, 5746, 5748, 5752, 5758, 5760, 5762, 5766, 5769, 5771, 5775, 5778, 5783, 5786, 5788, 5791, 5793, 5794, 5796, 5797, 5801, 5803, 5809, 5815, 5816, 5819, 5823, 5827, 5831, 5835, 5839, 5843, 5847, 5850, 5853, 5856, 5860, 5864, 5872, 5874, 5877, 5879, 5883, 5885, 5887, 5890, 5892, 5894, 5897, 5899, 5901, 5903, 5905, 5908, 5911, 5914, 5916, 5918, 5920, 5923, 5925, 5928, 5931, 5935, 5939, 5941, 5942, 5944, 5948, 5952, 5954, 5958, 5962, 5963, 5970, 5979, 5984, 5986, 5988, 5990, 5993, 5995, 5999, 6001, 6005, 6007, 6009, 6011, 6013, 6017, 6021, 6023, 6028, 6032, 6036, 6040, 6042, 6044, 6047, 6050, 6052, 6054, 6058, 6061, 6062, 6064, 6068, 6070, 6074, 6076, 6078, 6082, 6086, 6088, 6092, 6096, 6101, 6103, 6107, 6108, 6111, 6113, 6115, 6119, 6121, 6123, 6125, 6127, 6133, 6141, 6145, 6149, 6153, 6155, 6161, 6165, 6169, 6171, 6173, 6177, 6181, 6183, 6189, 6193, 6195, 6199, 6201, 6203, 6205, 6207, 6209, 6211, 6213, 6215, 6224, 6234, 6246, 6250, 6259, 6264, 6270, 6275, 6280, 6296, 6298, 6300, 6304, 6310, 6314, 6319, 6324, 6329, 6333, 6334, 6336, 6339, 6342, 6345, 6347, 6348, 6350, 6351, 6353, 6354, 6356, 6358, 6359, 6363, 6366, 6370, 6374, 6378, 6382, 6385, 6389, 6393, 6397, 6401, 6411, 6415, 6425, 6431, 6437, 6441, 6446, 6454, 6462, 6469, 6475, 6481, 6492, 6503, 6510, 6517, 6527, 6537, 6550, 6556, 6562, 6568, 6574, 6580, 6586, 6593, 6599, 6603, 6611, 6617, 6624, 6631, 6637, 6645, 6651, 6658, 6663, 6669, 6676, 6685, 6690, 6695, 6700, 6705, 6715, 6722, 6728, 6735, 6740, 6747, 6753, 6759, 6764, 6772, 6778, 6785, 6792, 6798, 6805, 6820, 6833, 6839, 6847, 6855, 6865, 6874, 6878, 6882, 6887, 6893, 6898, 6903, 6908, 6915, 6922, 6928, 6935, 6942, 6948, 6954, 6960, 6967, 6973, 6980, 6988, 6997, 7010, 7016, 7022, 7031, 7041, 7055, 7063, 7069, 7074, 7075, 7078, 7081, 7083, 7087, 7091, 7095, 7099, 7103, 7107, 7111, 7112, 7114, 7118, 7120, 7122, 7124, 7126, 7128, 7130, 7132, 7134, 7136, 7138, 7140, 7142, 7144, 7146, 7148, 7150, 7152, 7156, 7157, 7161, 7162, 7168, 7170, 7174, 7176, 7177, 7181, 7182, 7184, 7188, 7198, 7205, 7207, 7209, 7212, 7214, 7216, 7219, 7221, 7223, 7227, 7228, 7231, 7232, 7236, 7237, 7240, 7241, 7247, 7248, 7251, 7253, 7255, 7257, 7260, 7262, 7266, 7270, 7272, 7273, 7276, 7277, 7279, 7280, 7284, 7285, 7287, 7289, 7291, 7292, 7296, 7300, 7304, 7306, 7310, 7311, 7313, 7315, 7317, 7321, 7323, 7325, 7326, 7329, 7332, 7335, 7337, 7339, 7341, 7344, 7346, 7348, 7352, 7356, 7358, 7360, 7364, 7366, 7367, 7371, 7373, 7374, 7378, 7382, 7384, 7385, 7389, 7393, 7394, 7398, 7400, 7401, 7405, 7407, 7408, 7411, 7412, 7414, 7418, 7426, 7434, 7442, 7450, 7458, 7461, 7462, 7464, 7468, 7469, 7473, 7477, 7481, 7485, 7489, 7491, 7492, 7496, 7500, 7504, 7505, 7507, 7509, 7511, 7513, 7518, 7522, 7526, 7531, 7536, 7541, 7543, 7547, 7553, 7559, 7562, 7565, 7568, 7571, 7574, 7576, 7579, 7583, 7588, 7593, 7597, 7599, 7601, 7603, 7605, 7607, 7609, 7611, 7613, 7615, 7617, 7619, 7621, 7623, 7625, 7627, 7629, 7631, 7633, 7635, 7637, 7639, 7641, 7643, 7645, 7647, 7649, 7651, 7653, 7655, 7657, 7659, 7661, 7663, 7665, 7667, 7669, 7671, 7673, 7675, 7677, 7679, 7681, 7683, 7685, 7687, 7689, 7691, 7693, 7695, 7697, 7699, 7701, 7703, 7705, 7707, 7709, 7711, 7713, 7715, 7717, 7719, 7721, 7723, 7725, 7727, 7729, 7731, 7733, 7735, 7737, 7739, 7741, 7743, 7745, 7747, 7749, 7751, 7753, 7755, 7757, 7759, 7761, 7763, 7765, 7767, 7769, 7771, 7773, 7775, 7777, 7779, 7781, 7783, 7785, 7787, 7789, 7791, 7793, 7795, 7797, 7799, 7801, 7803, 7805, 7807, 7809, 7811, 7813, 7815, 7817, 7819, 7821, 7823, 7825, 7827, 7829, 7831, 7833, 7835, 7837, 7839, 7841, 7843, 7845, 7847, 7849, 7851, 7853, 7855, 7857, 7859, 7861, 7863, 7865, 7867, 7869, 7871, 7873, 7875, 7877, 7879, 7881, 7883, 7885, 7887, 7889, 7891, 7893, 7895, 7897, 7899, 7901, 7903, 7905, 7907, 7909, 7911, 7913, 7915, 7917, 7919, 7921, 7923, 7925, 7927, 7929, 7931, 7933, 7935, 7937, 7939, 7941, 7943, 7945, 7947, 7949, 7951, 7953, 7955, 7957, 7959, 7961, 7963, 7965, 7967, 7969, 7971, 7973, 7975, 7977, 7979, 7981, 7983, 7985, 7987, 7989, 7991, 7993, 7995, 7997, 7999, 8001, 8003, 8005, 8007, 8009, 8011, 8013, 8015, 8017, 8019, 8021, 8023, 8025, 8027, 8029, 8031, 8033, 8035, 8037, 8039, 8041, 8043, 8045, 8047, 8049, 8051, 8053, 8055, 8057, 8059, 8061, 8063, 8065, 8067, 8069, 8071, 8073, 8075, 8077, 8079, 8081, 8083, 8085, 8087, 8089, 8091, 8093, 8095, 8097, 8099, 8101, 8103, 8105, 8107, 8109, 8111, 8113, 8115, 8117, 8119, 8121, 8123, 8125, 8127, 8129, 8131, 8133, 8135, 8137, 8139, 8141, 8143, 8145, 8147, 8149, 8151, 8153, 8155, 8157, 8159, 8161, 8163, 8165, 8167, 8169, 8171, 8173, 8175, 8177, 8179, 8181, 8183, 8185, 8187, 8189, 8191, 8193, 8195, 8197, 8199, 8201, 8203, 8205, 8207, 8209, 8211, 8213, 8215, 8217, 8219, 8221, 8223, 8225, 8227, 8229, 8231, 8233, 8235, 8237, 8239, 8241, 8243, 8245, 8247, 8249, 8251, 8253, 8255, 8257, 8259, 8261, 8263, 8265, 8267, 8269, 8271, 8273, 8275, 8277, 8279, 8281, 8283, 8285, 8287, 8289, 8291, 8293, 8295, 8297, 8299, 8301, 8303, 8305, 8307, 8309, 8311, 8313, 8315, 8317, 8319, 8321, 8323, 8325, 8327, 8329, 8331, 8333, 8335, 8337, 8339, 8341, 8343, 8345, 8347, 8349, 8351, 8353, 8355, 8357, 8359, 8361, 8363, 8365, 8367, 8369, 8371, 8373, 8375, 8377, 8379, 8381, 8383, 8385, 8387, 8389, 8391, 8393, 8395, 8397, 8399, 8401, 8403, 8405, 8407, 8409, 8411, 8413, 8415, 8417, 8419, 8421, 8423, 8425, 8427, 8429, 8431, 8433, 8435, 8437, 8439, 8441, 8443, 8445, 8447, 8449, 8451, 8453, 8455, 8457, 8459, 8461, 8463, 8465, 8467, 8469, 8471, 8473, 8475, 8477, 8479, 8481, 8483, 8485, 8487, 8489, 8491, 8493, 8495, 8497, 8499, 8501, 8503, 8505, 8507, 8509, 8511, 8513, 8515, 8517, 8519, 8521, 8523, 8525, 8527, 8529, 8531, 8533, 8535, 8537, 8539, 8541, 8543, 8545, 8547, 8549, 8551, 8553, 8555, 8557, 8559, 8561, 8563, 8565, 8567, 8569, 8571, 8573, 8575, 8577, 8579, 8581, 8583, 8585, 8587, 8589, 8591, 8593, 8595, 8597, 8599, 8601, 8603, 8605, 8607, 8609, 8611, 8613, 8615, 8617, 8619, 8621, 8623, 8625, 8627, 8629, 8631, 8633, 8635, 8637, 8639, 8641, 8643, 8645, 8647, 8649, 8651, 8653, 8655, 8657, 8659, 8661, 8663, 8665, 8667, 8669, 8671, 8673, 8675, 8677, 8679, 8681, 8683, 8685, 8687, 8689, 8691, 8693, 8695, 8697, 8699, 8701, 8703, 8705, 8707, 8709, 8711, 8713, 8715, 8717, 8719, 8721, 8723, 8725, 8727, 8729, 8731, 8733, 8735, 8737, 8739, 8741, 8743, 8745, 8747, 8749, 8751, 8753, 8755, 8757, 8759, 8761, 8763, 8765, 8767, 8769, 8771, 8773, 8775, 8777, 8779, 8781, 8783, 8785, 8787, 8789, 8791, 8793, 8795, 8797, 8799, 8801, 8803, 8805, 8807, 8809, 8811, 8813, 8815, 8817, 8819, 8821, 8823, 8825, 8827, 8829, 8831, 8833, 8835, 8837, 8839, 8841, 8843, 8845, 8847, 8849, 8851, 8853, 8855, 8857, 8859, 8861, 8863, 8865, 8867, 8869, 8871, 8873, 8875, 8877, 8879, 8881, 8883, 8885, 8887, 8889, 8891, 8893, 8895, 8897, 8899, 8901, 8903, 8905, 8907, 8909, 8911, 8913, 8915, 8917, 8919, 8921, 8923, 8925, 8927, 8929, 8931, 8933, 8935, 8937, 8939, 8941, 8943, 8945, 8947, 8949, 8951, 8953, 8955, 8957, 8959, 8961, 8963, 8965, 8967, 8969, 8971, 8973, 8975, 8977, 8979, 8981, 8983, 8985, 8987, 8989, 8991, 8993, 8995, 8997, 8999, 9001, 9003, 9005, 9007, 9009, 9011, 9013, 9015, 9017, 9019, 9021, 9023, 9025, 9027, 9029, 9031, 9033, 9035, 9037, 9039, 9041, 9043, 9045, 9047, 9049, 9051, 9053, 9055, 9057, 9059, 9061, 9063, 9065, 9067, 9069, 9071, 9073, 9075, 9077, 9079, 9081, 9083, 9085, 9087, 9089, 9091, 9093, 9095, 9097, 9099, 9101, 9103, 9105, 9107, 9109, 9111, 9113, 9115, 9117, 9119, 9121, 9123, 9125, 9127, 9129, 9131, 9133, 9135, 9137, 9139, 9141, 9143, 9145, 9147, 9149, 9151, 9153, 9155, 9157, 9159, 9161, 9163, 9165, 9167, 9169, 9171, 9173, 9175, 9177, 9179, 9181, 9183, 9185, 9187, 9189, 9191, 9193, 9195, 9197, 9199, 9201, 9203, 9205, 9207, 9209, 9211, 9213, 9215, 9217, 9219, 9221, 9223, 9225, 9227, 9229, 9231, 9233, 9235, 9237, 9239, 9241, 9243, 9245, 9247, 9249, 9251, 9253, 9255, 9257, 9259, 9261, 9263, 9265, 9267, 9269, 9271, 9273, 9275, 9277, 9279, 9281, 9283, 9285, 9287, 9289, 9291, 9293, 9295, 9297, 9299, 9301, 9303, 9305, 9307, 9309, 9311, 9313, 9315, 9317, 9319, 9321, 9323, 9325, 9327, 9329, 9331, 9333, 9335, 9337, 9339, 9341, 9343, 9345, 9347, 9349, 9351, 9353, 9355, 9357, 9359, 9361, 9363, 9365, 9367, 9369, 9371, 9373, 9375, 9377, 9379, 9381, 9383, 9385, 9387, 9389, 9391, 9393, 9395, 9397, 9399, 9401, 9403, 9405, 9407, 9409, 9411, 9413, 9415, 9417, 9419, 9421, 9423, 9425, 9427, 9429, 9431, 9433, 9435, 9437, 9439 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { 1035, 0, -1, 1036, -1, 173, -1, 174, -1, 1038, 173, -1, 1038, 174, 1037, -1, -1, 173, -1, 1357, -1, 1343, -1, 1179, -1, 1182, -1, 1183, -1, 1178, -1, 1144, -1, 1152, -1, 1153, -1, 1168, -1, 1119, -1, 1117, -1, 1337, -1, 1339, -1, 1484, -1, 1480, -1, 1481, -1, 1482, -1, 1488, -1, 1549, -1, 1552, -1, 1560, -1, 1570, -1, 1594, -1, 1564, -1, 1502, -1, 1515, -1, 1517, -1, 1519, -1, 1522, -1, 1541, -1, 1548, -1, 1532, -1, 1538, -1, 1539, -1, 1320, -1, 1342, -1, 1540, -1, 1313, -1, 1133, -1, 1140, -1, 1141, -1, 1142, -1, 1143, -1, 1122, -1, 1131, -1, 1132, -1, 1661, -1, 1662, -1, 1302, -1, 1303, -1, 1304, -1, 1567, -1, 1566, -1, 1663, -1, 1169, -1, 1174, -1, 1667, -1, 1668, -1, 1669, -1, 1524, -1, 1525, -1, 1591, -1, 1155, -1, 1533, -1, 1534, -1, 1535, -1, 1536, -1, 1537, -1, 1592, -1, 1593, -1, 1056, -1, 1039, 24, 1056, -1, 1041, -1, 1040, 24, 1041, -1, 1056, -1, 1056, 1423, 1674, -1, 1056, 1423, 4, -1, 1671, -1, 1672, 85, 1671, -1, 1672, 85, 1680, -1, 1680, 85, 1680, -1, 1672, 85, 67, -1, 1672, 85, 1672, 85, 1671, -1, 1672, 85, 1672, 85, 1680, -1, 1672, 85, 1680, 85, 1680, -1, 1672, 85, 1672, 85, 67, -1, 85, 1672, 85, 1671, -1, 85, 1672, 85, 1680, -1, 85, 1680, 85, 1680, -1, 4, -1, 1044, 4, -1, 1044, 18, -1, 160, -1, 161, -1, 159, -1, 162, -1, 164, -1, 163, -1, 1043, -1, 6, -1, 7, -1, 5, -1, 10, -1, 11, -1, 9, -1, 12, -1, 18, -1, 5, -1, 11, -1, 1045, -1, 14, -1, 13, -1, 1049, 85, 1671, -1, 4, -1, 6, -1, 7, -1, 5, -1, 10, -1, 11, -1, 9, -1, 12, -1, 14, -1, 1049, 85, 1671, -1, 66, 5, -1, 66, 11, -1, 576, -1, 944, -1, 1050, 51, 12, -1, 1050, 51, 1057, 12, -1, 1050, 54, 1051, -1, 1050, 54, 1059, 79, 1360, 80, -1, 1050, 53, 1051, -1, 1050, 53, 1059, 79, 1360, 80, -1, 1050, 59, 1051, -1, 1050, 59, 1059, 79, 1360, 80, -1, 1050, 1029, 1051, -1, 1050, 56, 1051, -1, 1050, 56, 1059, 79, 1360, 80, -1, 1050, 55, 1051, -1, 1050, 55, 1059, 79, 1360, 80, -1, 1050, 52, 1051, -1, 1050, 52, 1059, 79, 1360, 80, -1, 1051, -1, 1053, 49, 1060, -1, 1053, 1057, 49, 1060, -1, 1053, 1057, 46, 1053, 41, 1051, -1, 1053, 46, 1053, 41, 1051, -1, 1053, 50, 1054, -1, 1053, 50, 4, 1052, -1, 1053, 50, 1054, 60, 1054, -1, 1053, 50, 4, 1052, 60, 1054, -1, 1053, 50, 1054, 60, 4, 1052, -1, 1053, 50, 4, 1052, 60, 4, 1052, -1, 1053, 1057, 50, 1054, -1, 1053, 1057, 50, 4, 1052, -1, 1053, 1057, 50, 1054, 60, 1054, -1, 1053, 1057, 50, 4, 1052, 60, 1054, -1, 1053, 1057, 50, 1054, 60, 4, 1052, -1, 1053, 1057, 50, 4, 1052, 60, 4, 1052, -1, 1053, 48, 1053, -1, 1053, 48, 4, 1052, -1, 1053, 1057, 48, 1053, -1, 1053, 1057, 48, 4, 1052, -1, 1053, -1, 4, -1, 1052, 4, -1, 1053, 61, 1053, -1, 1053, 62, 1053, -1, 1053, 64, 1053, -1, 1053, 63, 1053, -1, 1053, 65, 1053, -1, 1053, 66, 1053, -1, 1053, 65, 90, 1056, 1675, -1, 1053, 66, 90, 1056, 1675, -1, 1053, 67, 1053, -1, 1053, 68, 1053, -1, 1053, 69, 1053, -1, 1053, 72, 1053, -1, 1053, 71, 1053, -1, 1053, 73, 1053, -1, 1054, -1, 1054, 1230, -1, 89, 1054, -1, 1042, -1, 1047, -1, 1054, 75, 1054, -1, 65, 1054, -1, 66, 1054, -1, 76, 1054, -1, 1058, 1054, -1, 1359, -1, 79, 1056, 80, -1, 79, 1039, 24, 1056, 80, -1, 838, 79, 1039, 24, 1056, 80, -1, 228, 1359, -1, 282, 79, 1353, 80, 382, 79, 4, 1055, 80, -1, 1061, -1, 1087, -1, 1062, -1, 15, -1, 49, 291, 620, 694, -1, 49, 418, 694, -1, -1, 1056, 41, 1056, -1, 1056, 40, 1056, -1, 1056, 38, 1056, -1, 1056, 37, 1056, -1, 1056, 39, 1056, -1, 87, 1056, -1, 1050, 51, 9, -1, 1050, 51, 1057, 9, -1, 1050, 51, 995, -1, 1050, 51, 1057, 995, -1, 1050, -1, 15, 36, 1056, -1, 87, -1, 86, -1, 1030, -1, 86, -1, 177, -1, 387, -1, 885, -1, 1359, -1, 79, 1039, 80, -1, 45, 1082, 1083, 1085, 522, -1, 475, 79, 1086, 67, 80, 96, 1069, -1, 475, 79, 1086, 1056, 80, 96, 1069, -1, 475, 79, 219, 1039, 80, 96, 1069, -1, 388, 79, 1039, 80, 96, 1069, -1, 389, 79, 1039, 80, 96, 1069, -1, 390, 79, 1056, 80, 96, 1069, -1, 934, 79, 1104, 1056, 80, 96, 1069, -1, 668, 79, 1104, 1056, 80, 96, 1069, -1, 687, 79, 1104, 1056, 80, 96, 1069, -1, 397, 79, 1104, 1056, 80, 96, 1069, -1, 914, 79, 1086, 1056, 80, 96, 1069, -1, 915, 79, 1086, 1056, 80, 96, 1069, -1, 1003, 79, 1086, 1056, 80, 96, 1069, -1, 916, 79, 1086, 1056, 80, 96, 1069, -1, 917, 79, 1086, 1056, 80, 96, 1069, -1, 1011, 79, 1086, 1056, 80, 96, 1069, -1, 1012, 79, 1086, 1056, 80, 96, 1069, -1, 572, 79, 1103, 1039, 1413, 1105, 80, 96, 1069, -1, 631, 79, 1103, 1039, 1413, 1105, 80, 96, 1069, -1, 854, 79, 80, 96, 1069, -1, 503, 79, 80, 96, 1069, -1, 757, 79, 80, 96, 1069, -1, 847, 79, 80, 96, 1069, -1, 727, 79, 1056, 80, 96, 1069, -1, 484, 79, 80, 96, 1069, -1, 553, 1067, 96, 1069, -1, 622, 1067, 96, 1069, -1, 623, 1068, 96, 1069, -1, 619, 1068, 96, 1069, -1, 728, 79, 1056, 24, 1056, 80, 1064, 1066, 96, 1069, -1, 552, -1, 621, -1, 238, 1063, -1, -1, 823, -1, 249, -1, 1065, 724, -1, -1, 79, 1056, 1065, 724, 80, -1, 79, 1056, 80, 1066, -1, 79, 1056, 1065, 724, 80, -1, 79, 1056, 1065, 724, 24, 1039, 80, -1, 79, 1039, 80, 1066, -1, 3, -1, 1070, -1, 79, 3, 1074, 80, -1, 79, 1074, 80, -1, -1, 29, 1072, -1, 1073, -1, 1072, 24, 1073, -1, 3, 180, 1070, -1, 1075, 1413, 1081, -1, -1, 300, 187, 1039, -1, 842, -1, 305, -1, 784, -1, 562, -1, 1056, -1, 90, 1056, 1675, -1, 481, 838, -1, 1078, 1077, -1, 1076, 46, 1079, 41, 1079, -1, 1076, 1079, -1, -1, 1080, -1, 1056, -1, -1, 1084, -1, 1083, 1084, -1, 44, 1056, 43, 1056, -1, 42, 1056, -1, -1, 177, -1, -1, 72, 79, 1056, 24, 1056, 80, -1, 475, 79, 1086, 67, 80, -1, 475, 79, 1086, 1056, 80, -1, 475, 79, 219, 1039, 80, -1, 475, 79, 353, 1039, 80, -1, 388, 79, 1039, 80, -1, 389, 79, 1039, 80, -1, 390, 79, 1056, 80, -1, 934, 79, 1104, 1056, 80, -1, 668, 79, 1104, 1056, 80, -1, 687, 79, 1104, 1056, 80, -1, 397, 79, 1104, 1056, 80, -1, 914, 79, 1086, 1056, 80, -1, 915, 79, 1086, 1056, 80, -1, 1003, 79, 1086, 1056, 80, -1, 916, 79, 1086, 1056, 80, -1, 917, 79, 1086, 1056, 80, -1, 1011, 79, 1086, 1056, 80, -1, 1012, 79, 1086, 1056, 80, -1, 573, 79, 1056, 80, -1, 572, 79, 1103, 1039, 1413, 1105, 80, -1, 248, 79, 1056, 24, 1056, 24, 1056, 80, -1, 609, 79, 1056, 80, -1, 1093, -1, 1092, -1, 1095, -1, 1096, -1, 1089, -1, 1090, -1, 1091, -1, 433, 79, 1056, 180, 1199, 80, -1, 254, 79, 1056, 24, 1056, 24, 1056, 24, 1056, 80, -1, 33, 79, 1056, 24, 1056, 80, -1, 198, 79, 1056, 24, 1199, 80, -1, 198, 79, 1056, 359, 1227, 80, -1, 773, 79, 1053, 49, 1056, 80, -1, 1098, 79, 1099, 80, -1, 971, 79, 1406, 80, -1, 490, 79, 1056, 80, -1, 1025, 79, 1056, 80, -1, 962, 79, 1056, 80, -1, 963, 79, 1056, 80, -1, 963, 79, 1056, 24, 1056, 80, -1, 696, 79, 1056, 80, -1, 1015, 79, 1056, 80, -1, 1015, 79, 1056, 24, 1056, 80, -1, 794, 79, 1056, 80, -1, 862, 79, 1056, 80, -1, 569, 79, 1202, 24, 1056, 80, -1, 693, 79, 1056, 80, -1, 685, 79, 1056, 80, -1, 583, 79, 1056, 80, -1, 491, 79, 1100, 80, -1, 492, 79, 1100, 80, -1, 380, 79, 1100, 80, -1, 927, 79, 1100, 80, -1, 380, 79, 1056, 24, 1056, 80, -1, 927, 79, 1056, 24, 1056, 80, -1, 965, 79, 1101, 80, -1, 964, 79, 1101, 80, -1, 544, 79, 1675, 238, 1056, 80, -1, 391, 79, 1056, 80, -1, 213, 79, 1197, 80, -1, 363, 79, 1197, 80, -1, 192, 79, 1039, 80, -1, 192, 79, 1039, 359, 1227, 80, -1, 644, 79, 1056, 24, 1056, 80, -1, 644, 79, 1056, 80, -1, 643, 79, 1056, 80, -1, 1673, 79, 1102, 80, -1, 1672, 85, 1673, 79, 1102, 80, -1, 1088, -1, 1016, 79, 1056, 1106, 1107, 80, -1, 1016, 79, 1056, 180, 89, 1114, 80, -1, 1016, 79, 1056, 24, 5, 24, 5, 24, 5, 24, 5, 80, -1, 90, 79, 1056, 24, 1056, 80, -1, 90, 79, 1056, 24, 1056, 24, 1039, 80, -1, 362, -1, 362, 79, 80, -1, 362, 79, 5, 80, -1, 361, -1, 361, 79, 80, -1, 361, 79, 5, 80, -1, 360, -1, 360, 79, 80, -1, 943, 79, 80, -1, 943, 79, 5, 80, -1, 721, 79, 80, -1, 721, 79, 5, 80, -1, 1094, 1097, -1, 202, -1, 273, -1, 274, -1, 482, 79, 80, -1, 482, 79, 5, 80, -1, 201, 1097, -1, 480, 79, 80, -1, 200, -1, 200, 79, 80, -1, 79, 5, 80, -1, 79, 80, -1, -1, 931, -1, 932, -1, 1056, 24, 1056, -1, 1056, 24, 1056, 24, 1056, -1, 1056, 238, 1056, -1, 1056, 238, 1056, 235, 1056, -1, 1056, 24, 90, 1056, 1675, -1, 1675, 24, 1056, 24, 1056, -1, -1, 1040, -1, -1, 219, -1, 353, -1, -1, 177, -1, 219, -1, 353, -1, -1, 326, 4, -1, -1, 180, 192, 1114, -1, -1, 642, 1108, -1, 1109, -1, 1111, -1, 1110, -1, 1109, 24, 1110, -1, 1112, 1113, -1, 1112, 66, 1112, -1, 5, -1, -1, 1115, -1, 1115, 1116, -1, 1116, -1, 79, 5, 80, -1, 181, -1, 216, -1, 829, -1, 1372, 238, 1429, 1378, 1413, 1403, -1, 1372, 1118, 1378, -1, 1449, 238, 1426, -1, 238, 1449, 359, 1426, -1, 1371, 1348, 1426, 327, 1120, 1378, 1413, 1403, -1, 1121, -1, 1120, 24, 1121, -1, 1197, 59, 1356, -1, 199, 821, 988, 1184, 1672, 1123, -1, 199, 821, 771, 1184, 1672, 1125, -1, 1124, -1, 1123, 24, 1124, -1, -1, 688, 1246, 1048, -1, 689, 1246, 1048, -1, 690, 1246, 1048, -1, 670, 1246, 1048, -1, 673, 1246, 1048, -1, 672, 1246, 1048, -1, 671, 1246, 1048, -1, 676, 1246, 1048, -1, 1126, -1, 1125, 24, 1126, -1, -1, 988, 1246, 1245, -1, 989, 1246, 5, -1, 1027, 1246, 79, 1138, 80, -1, 817, 1246, 4, -1, 1130, -1, 1127, 24, 1130, -1, 5, -1, 1128, 24, 5, -1, 215, 988, 1246, 79, 1128, 80, -1, -1, 988, 1246, 1245, -1, 989, 1246, 5, 1129, -1, 1027, 1246, 79, 1138, 80, -1, 178, 821, 988, 1672, 1123, -1, 178, 821, 771, 1672, 1127, -1, 178, 821, 771, 1672, 890, 98, 79, 1139, 80, 94, 79, 1138, 80, -1, 178, 821, 771, 608, 79, 1139, 80, 98, 79, 1139, 80, -1, 222, 821, 988, 1340, 1672, -1, 222, 821, 771, 1340, 1672, -1, 199, 959, 1184, 1672, 1134, 1136, -1, 1135, -1, 1134, 24, 1135, -1, -1, 638, 1246, 5, -1, 633, 1246, 4, 1175, -1, 816, 1246, 5, -1, 830, 1246, 5, -1, 922, 1246, 5, -1, 923, 1246, 5, -1, 777, 1246, 1241, -1, 822, 1246, 79, 1139, 80, -1, 1027, 1246, 79, 1138, 80, -1, 1149, 1246, 1227, -1, 88, 1246, 1224, -1, 1151, -1, 458, 1246, 4, -1, 1311, -1, 791, 1246, 5, -1, 327, 1553, -1, 327, 1004, 1553, -1, 1004, 1553, -1, -1, 1004, 1553, -1, -1, 4, -1, 1138, 1237, 4, -1, 4, -1, 1139, 24, 4, -1, 178, 959, 1672, 1588, 1134, 1137, -1, 178, 959, 177, 1588, 1134, 1137, -1, 178, 959, 1672, 312, 575, 349, 1672, -1, 178, 959, 1672, 1523, -1, 222, 959, 1340, 1672, 1176, -1, 199, 825, 765, 1672, -1, 222, 825, 765, 1672, -1, 199, 1145, 1184, 1146, 1147, -1, 205, -1, 321, -1, 1672, -1, 1148, -1, -1, 1150, -1, 1148, 1150, -1, 437, -1, 192, 327, -1, 1247, 1149, 1246, 1227, -1, 1247, 88, 1246, 1224, -1, 816, 1246, 5, -1, 777, 1246, 1241, -1, 1151, -1, 1311, -1, 517, 1246, 5, -1, 306, 740, -1, 306, 372, -1, 222, 1145, 1340, 1146, -1, 178, 1145, 1154, 1588, 1148, -1, 3, -1, -1, 1156, 1157, 251, 4, 1158, 98, 344, 1448, 1437, 1159, 1385, 1388, 1160, 1162, 1165, -1, 272, 487, -1, 172, 1391, -1, -1, 632, -1, 852, -1, -1, 249, -1, 314, -1, -1, 192, 327, 1228, -1, -1, 249, 5, 1161, -1, 239, 5, 1161, -1, 271, -1, 842, -1, -1, 79, 80, -1, 79, 1163, 80, -1, 1164, -1, 1163, 24, 1164, -1, 1197, -1, 15, -1, -1, 327, 1166, -1, 1167, -1, 1166, 24, 1167, -1, 1197, 59, 1356, -1, 358, 1146, -1, 199, 1315, 1170, 945, 1171, 235, 1173, 1172, -1, 199, 1315, 1170, 945, 1146, 85, 1171, 235, 1173, 1172, -1, 199, 1315, 1170, 945, 1171, 235, 1146, 85, 1173, 1172, -1, 199, 1315, 1170, 945, 1146, 85, 1171, 235, 1146, 85, 1173, 1172, -1, 790, -1, -1, 3, -1, 1676, -1, 1031, 1619, -1, -1, 3, -1, 1676, -1, 222, 1170, 945, 1171, 1175, -1, 222, 1170, 945, 1146, 85, 1171, 1175, -1, 236, -1, -1, 236, -1, 304, -1, -1, 957, -1, -1, 199, 1177, 344, 1184, 1448, 50, 1448, -1, 199, 1177, 344, 1184, 1448, 79, 50, 1448, 80, -1, 199, 1177, 344, 1184, 1448, 79, 1185, 80, 1238, 1249, -1, 199, 1177, 344, 1184, 1448, 79, 1185, 80, 1238, 1249, 1423, 1357, -1, 199, 1177, 344, 1184, 1448, 1240, 1249, 1423, 1357, -1, 199, 1177, 344, 1184, 1448, 1248, 1423, 1357, -1, 199, 1177, 344, 1184, 1448, 1357, -1, 199, 1177, 344, 1184, 1448, 180, 1357, -1, 383, -1, -1, 925, -1, 261, -1, 309, -1, 212, -1, 199, 1180, 561, 3, 828, 1181, 886, 4, -1, 222, 561, 1340, 3, -1, 248, 1057, 228, -1, -1, 1186, -1, 1185, 24, 1186, -1, 1192, -1, 1324, 302, 92, 1334, 79, 1262, 80, 1334, 1654, -1, 1441, 1322, 1334, 79, 1327, 80, 1331, -1, 353, 1440, 1322, 1334, 79, 1327, 80, 1331, -1, 196, 1325, 353, 1440, 1322, 1334, 79, 1327, 80, 1331, -1, 196, 1326, 193, 79, 1056, 80, -1, 1324, 237, 92, 1322, 79, 1262, 80, 310, 1448, 79, 1262, 80, 1190, 1187, -1, 1187, 1188, -1, -1, 94, 356, 1189, -1, 94, 215, 1189, -1, 317, -1, 189, -1, 327, 12, -1, 716, 378, -1, 327, 213, -1, 282, 1191, -1, -1, 879, -1, 32, -1, 751, -1, 1197, 1203, 1232, 1584, -1, 1197, 1203, 1193, 180, 79, 1056, 80, 1196, 1194, 1584, -1, 239, 385, -1, -1, 1194, 1195, -1, -1, 87, 12, -1, 12, -1, 353, 92, -1, 1236, 92, -1, 353, -1, 458, 4, -1, 584, 5, -1, 368, -1, 342, -1, -1, 1671, -1, 1672, 85, 1671, -1, 1672, 85, 1672, 85, 1671, -1, 1192, -1, 1198, 24, 1192, -1, 89, 1220, -1, 192, 1220, 1223, -1, 1201, 1217, -1, 725, 1215, -1, 212, 1215, -1, 878, 1200, -1, 355, 1200, -1, 221, -1, 261, -1, -1, 493, -1, 490, -1, 962, -1, 493, -1, 963, -1, 490, -1, 962, -1, 1206, 1212, 1221, 1222, -1, 1207, 1214, 1221, 1222, -1, 725, 1215, 1221, 1222, -1, 212, 1215, 1221, 1222, -1, 417, -1, 418, -1, 1208, 1217, -1, 1209, -1, 192, 1219, 1223, 1229, 1231, -1, 365, 1218, 1223, 1229, 1231, -1, 1211, 1220, -1, 1210, 1220, 1223, 1229, 1231, -1, 89, 1219, -1, 364, 1218, -1, 4, -1, 412, 1213, -1, 526, 79, 1204, 80, 1223, 1229, 1231, -1, 327, 79, 1204, 80, 1223, 1229, 1231, -1, 1205, -1, 1204, 24, 1205, -1, 4, -1, 18, -1, 347, -1, 330, -1, 285, -1, 261, -1, 184, -1, 232, -1, 221, -1, 309, -1, 221, 301, -1, 309, 301, -1, 493, -1, 963, -1, 962, -1, 490, -1, 1025, 1216, -1, 348, -1, 960, -1, 286, -1, 277, -1, 346, -1, 185, -1, 284, -1, 276, -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, 1046, 80, -1, 1218, -1, -1, 1218, -1, -1, 355, -1, 878, -1, -1, 374, -1, -1, 89, -1, -1, 3, -1, 4, -1, 1032, 4, 1032, -1, 1032, 4, 1032, -1, 5, -1, 3, -1, 4, -1, 89, -1, 1227, -1, 213, -1, 1149, 1227, -1, -1, 88, 1224, -1, 1230, -1, -1, 1232, 1233, -1, -1, 1057, 12, -1, 12, -1, 213, 1234, -1, 743, 1234, -1, 396, -1, 353, 92, -1, 1236, 92, -1, 353, -1, 458, 4, -1, 94, 356, 1093, -1, 584, 5, -1, 1093, -1, 1235, -1, 1045, -1, 65, 1046, -1, 66, 1046, -1, -1, 302, -1, 24, -1, -1, 1240, -1, -1, 1243, -1, 1243, 1239, -1, 1239, -1, 1243, 24, 1240, -1, 213, -1, 850, -1, 15, -1, 1245, -1, 4, -1, 213, -1, 948, 1246, 4, -1, 515, 1246, 4, -1, 633, 1246, 1242, 1175, -1, 538, 1246, 79, 1056, 80, -1, 791, 1246, 5, -1, 415, 1246, 5, -1, 949, 1246, 5, -1, 816, 1246, 5, -1, 464, 1246, 4, -1, 841, 1246, 1301, -1, 922, 1246, 5, -1, 994, 1246, 9, -1, 1247, 1149, 1246, 1227, -1, 1247, 88, 1246, 1224, -1, 458, 1246, 4, -1, 777, 1246, 1241, -1, 375, 1246, 1245, -1, 396, 1246, 1294, -1, 1151, -1, 524, 1246, 1245, -1, 976, 1246, 5, -1, 785, 1246, 5, -1, 704, 1246, 5, -1, 1244, -1, 748, 1246, 5, -1, 731, -1, 1672, -1, 4, -1, 177, -1, 59, -1, -1, 213, -1, -1, 1254, -1, 1256, -1, 1257, -1, 1255, -1, 1248, 1258, -1, 1258, -1, 1250, -1, 1252, 300, 946, 1251, 754, 394, -1, 1048, -1, 394, -1, 1253, -1, 300, 187, 305, 79, 80, -1, 300, 187, 305, 79, 1056, 80, -1, 300, 187, 305, 457, 79, 1262, 80, -1, 300, 187, 578, 79, 1056, 80, 1263, 1292, -1, 300, 187, 578, 79, 1056, 80, 1263, 1292, 1266, -1, 300, 187, 424, 79, 1056, 80, 1263, 1292, 1272, -1, 300, 187, 424, 457, 79, 1262, 80, 1263, 1292, 1272, -1, 300, 187, 92, 79, 1262, 80, 1263, 1292, -1, 300, 187, 92, 79, 1262, 80, 1263, 1292, 1266, -1, 300, 187, 92, 79, 80, 1263, 1292, -1, 300, 187, 92, 79, 80, 1263, 1292, 1266, -1, 300, 187, 305, 79, 1056, 80, 1263, 1292, 1269, -1, 300, 187, 305, 457, 79, 1262, 80, 1263, 1292, 1269, -1, -1, 1259, -1, 300, 187, 194, 79, 1261, 80, -1, 300, 187, 194, 79, 1261, 24, 1260, 80, -1, 1261, -1, 1260, 24, 1261, -1, 1671, -1, 79, 1262, 80, -1, 1671, -1, 1262, 24, 1671, -1, 1264, -1, 1265, -1, 929, 187, 305, 79, 1056, 80, 929, 956, 1280, -1, 929, 187, 305, 457, 79, 1262, 80, 929, 956, 1280, -1, 929, 187, 578, 79, 1056, 80, 929, 956, 1276, -1, 929, 187, 424, 79, 1056, 80, 929, 956, 1283, -1, 929, 187, 424, 457, 79, 1262, 80, 929, 956, 1283, -1, 929, 187, 92, 79, 1262, 80, 929, 956, 1276, -1, -1, 929, 187, 305, 79, 1056, 80, -1, 929, 187, 305, 457, 79, 1262, 80, -1, 929, 187, 578, 79, 1056, 80, 1293, -1, 929, 187, 424, 79, 1056, 80, -1, 929, 187, 424, 457, 79, 1262, 80, -1, 929, 187, 92, 79, 1262, 80, 1293, -1, 79, 1267, 80, -1, 1268, -1, 1267, 24, 1268, -1, 300, 1448, 1289, 1275, -1, 79, 1270, 80, -1, 1271, -1, 1270, 24, 1271, -1, 300, 1448, 363, 626, 961, 1288, 1289, 1275, -1, 79, 1273, 80, -1, 1274, -1, 1273, 24, 1274, -1, 300, 1448, 363, 49, 1286, 1289, 1275, -1, 1276, -1, 1280, -1, 1283, -1, -1, 79, 1277, 80, -1, 1278, -1, 1277, 24, 1278, -1, 929, 1448, 1279, -1, 524, 59, 595, -1, -1, 79, 1281, 80, -1, 1282, -1, 1281, 24, 1282, -1, 929, 1448, 363, 626, 961, 1288, -1, 79, 1284, 80, -1, 1285, -1, 1284, 24, 1285, -1, 929, 1448, 363, 49, 1286, -1, 79, 1287, 80, -1, 79, 213, 80, -1, 1056, -1, 1287, 24, 1056, -1, 79, 1290, 80, -1, 283, -1, -1, 584, 5, -1, 1291, -1, 1290, 24, 1291, -1, 1056, -1, 283, -1, 754, 5, -1, -1, 930, 5, -1, -1, 5, -1, 11, -1, 1296, -1, 1297, -1, 1298, -1, 1299, -1, -1, 300, 187, 578, 1300, 1292, -1, 300, 187, 92, 5, 1300, 1292, -1, 300, 187, 305, 1300, 1292, 1269, -1, 300, 187, 305, 457, 5, 1300, 1292, 1269, -1, 300, 187, 424, 1300, 1292, 1272, -1, 300, 187, 424, 457, 5, 1300, 1292, 1272, -1, 929, 187, 305, 929, 956, 1280, -1, 929, 187, 305, 457, 5, 929, 956, 1280, -1, 929, 187, 578, 1293, -1, 929, 187, 92, 5, 1293, -1, 929, 187, 424, 929, 956, 1283, -1, 929, 187, 424, 457, 5, 929, 956, 1283, -1, -1, 802, -1, 461, -1, 516, -1, 463, -1, 213, -1, 199, 375, 1184, 1672, 1305, 1295, -1, 222, 375, 1340, 1672, -1, 178, 375, 1672, 176, 1312, 1341, -1, 178, 375, 1672, 1309, -1, 178, 375, 1672, 1576, -1, 1307, -1, -1, 1308, -1, 1308, 1306, -1, 1306, -1, 1308, 24, 1307, -1, 633, 1246, 1242, 1175, -1, 777, 1246, 1241, -1, 977, 1246, 5, -1, 410, 1246, 9, -1, 704, 1246, 5, -1, 1310, -1, 1309, 24, 1310, -1, 1588, 1306, -1, 1247, 375, 1246, 1672, -1, 1247, 375, 1246, 12, -1, 344, -1, -1, 199, 1315, 1316, 1007, 1317, 1318, 1319, 180, 1314, -1, 1357, -1, 38, 314, -1, -1, 706, -1, -1, 1448, -1, 79, 1262, 80, -1, -1, 949, 59, 5, -1, -1, 199, 1321, 250, 1184, 1452, 1334, 94, 1448, 79, 1327, 80, 1331, 1249, -1, 353, -1, -1, 1323, -1, -1, 1672, -1, 196, 1325, -1, -1, 1326, -1, -1, 1672, -1, 1328, -1, 1327, 24, 1328, -1, 1671, 1330, 1417, 1329, -1, -1, 584, 5, -1, 79, 5, 80, -1, -1, -1, 1332, -1, 1333, -1, 1332, 1333, -1, 570, -1, 632, -1, 415, 1246, 5, -1, 458, 4, -1, 924, 79, 1262, 80, -1, 1018, -1, 371, 750, 4, -1, 1335, -1, 1582, -1, 489, 1246, 5, -1, 592, 1246, 5, -1, 1009, 1246, 5, -1, 704, 1246, 5, -1, 1244, -1, -1, 1335, -1, 359, 420, -1, 359, 578, -1, 957, -1, 706, -1, -1, 222, 1336, 1338, 1340, 1341, 1589, -1, 344, -1, 952, -1, 222, 1316, 1007, 1340, 1341, 1589, -1, -1, 248, 228, -1, 1448, -1, 1341, 24, 1448, -1, 222, 250, 1672, 94, 1448, -1, 1352, 1348, 1347, 1344, 1349, -1, 1351, 1348, 1347, 1344, -1, 1430, 1345, -1, 1430, 79, 80, 1345, -1, 1430, 79, 1353, 80, 1345, -1, 1430, 327, 1120, -1, 1346, 1354, -1, 1357, -1, 1002, -1, 363, -1, 98, -1, -1, 249, -1, -1, 94, 514, 92, 356, 1120, -1, -1, -1, 314, -1, 169, 1391, -1, 254, -1, 168, 1391, -1, 1197, -1, 1353, 24, 1197, -1, 79, 1355, 80, -1, 1354, 24, 79, 1355, 80, -1, 1356, -1, 1355, 24, 1356, -1, -1, 1056, -1, 213, -1, 1360, 1350, -1, 1359, -1, 1358, -1, 1473, -1, 1360, 1381, -1, 79, 1360, 80, -1, 79, 1359, 80, -1, 79, 1473, 80, -1, 1362, 1404, -1, 1364, 1404, -1, 1363, 1404, -1, 1370, 1419, 1424, 1382, -1, 1370, 1419, 1424, 1382, 238, 223, 1378, 1407, 1418, 1071, -1, 1361, -1, 1367, -1, 1373, -1, 1368, -1, 1369, -1, 1364, 1414, -1, 1364, 1413, 1380, -1, 1364, 1376, 1365, -1, 1363, 1376, 1365, -1, 1366, 1376, 1365, -1, 1361, -1, 1373, -1, 1359, -1, 1367, -1, 1368, -1, 1365, -1, 1361, 1414, -1, 1361, 1413, 1380, -1, 1373, 1414, -1, 1373, 1413, 1380, -1, 1359, 1414, -1, 1359, 1413, 1380, -1, 324, -1, 165, 1391, -1, 356, -1, 166, 1391, -1, 215, -1, 167, 1391, -1, 1370, 1419, 1424, 1382, 238, 1425, 1378, 1407, 1418, 1071, -1, 27, -1, 28, -1, 26, -1, 25, -1, 1374, 1377, -1, 1375, -1, -1, 177, -1, 219, -1, 353, -1, -1, 369, 1379, 1056, -1, -1, 8, -1, 269, 1402, 736, 1402, -1, 269, 1402, -1, 269, 1402, 24, 1402, -1, 98, 299, 4, 1229, 1385, 1388, -1, 98, 513, 4, -1, 98, 1383, -1, -1, 1381, -1, 1383, 24, 1384, -1, 1384, -1, 15, -1, 1670, -1, 1495, 1386, -1, -1, 1386, 1387, -1, 1387, -1, 345, 187, 4, -1, 295, 226, 187, 4, -1, 226, 187, 4, -1, 227, 187, 4, -1, 271, 1389, -1, -1, 1389, 1390, -1, 1390, -1, 345, 187, 4, -1, 341, 187, 4, -1, 1392, 171, -1, 1393, -1, 1392, 24, 1393, -1, -1, 1395, -1, 1393, 1395, -1, 3, -1, 1394, 3, -1, 1394, 24, 3, -1, 125, -1, 108, 79, 1397, 80, -1, 103, 79, 1455, 1454, 3, 80, -1, 107, 79, 5, 80, -1, 105, 79, 5, 80, -1, 106, 79, 5, 5, 80, -1, 109, -1, 110, 79, 3, 80, -1, 110, 79, 1032, 4, 1032, 80, -1, 111, 79, 1455, 1461, 80, -1, 111, 79, 1455, 1456, 80, -1, 112, -1, 113, 79, 1455, 1454, 80, -1, 117, 79, 1398, 80, -1, 114, 79, 1455, 1462, 80, -1, 121, 79, 1455, 1462, 80, -1, 115, 79, 1455, 1462, 80, -1, 116, 79, 1455, 1462, 80, -1, 104, 79, 1455, 1462, 80, -1, 120, 79, 1455, 1462, 80, -1, 134, 79, 1455, 1462, 80, -1, 122, 79, 1455, 1462, 80, -1, 123, 79, 1455, 1462, 80, -1, 124, 79, 1455, 1462, 80, -1, 129, -1, 130, -1, 142, 1396, -1, 143, 1396, -1, 144, 1396, -1, 145, 1396, -1, 146, 1396, -1, 147, 1396, -1, 148, 1396, -1, 149, 1396, -1, 150, 1396, -1, 118, 79, 1399, 80, -1, 119, -1, 132, -1, 133, -1, 126, -1, 906, 79, 1463, 80, -1, 141, 79, 1463, 80, -1, 127, -1, 137, -1, 151, 79, 1225, 1237, 1226, 80, -1, 136, 79, 1455, 1462, 80, -1, 154, 79, 1455, 1462, 80, -1, 152, -1, 128, 79, 3, 80, -1, 135, 79, 5, 80, -1, 748, 79, 5, 80, -1, 158, -1, 138, 79, 1455, 1458, 1237, 1400, 1401, 80, -1, 153, 79, 5, 80, -1, 156, 79, 1455, 1454, 80, -1, 3, -1, 173, -1, 101, -1, 1, -1, 157, -1, 155, -1, 79, 1455, 80, -1, -1, 1021, -1, 918, -1, 564, -1, 719, -1, 213, -1, 394, -1, 236, -1, 719, -1, 300, -1, 850, -1, 139, -1, 578, -1, 140, -1, 1237, 1400, -1, -1, 5, -1, 13, -1, -1, 1380, -1, -1, 235, 356, 1405, -1, -1, 1013, 11, -1, 1013, 5, -1, 722, -1, 723, -1, 1056, -1, 1056, 238, 1056, -1, 186, 1056, 238, 1056, -1, 267, 1056, 238, 1056, -1, 350, 1056, 238, 1056, -1, 186, 238, 1056, -1, 267, 238, 1056, -1, 350, 238, 1056, -1, -1, 242, 187, 1408, -1, 1409, 1412, -1, 1410, -1, 1409, 24, 1410, -1, 1056, 1411, -1, -1, 181, -1, 216, -1, -1, 371, 832, -1, 1414, -1, -1, 296, 187, 1415, -1, 1416, -1, 1415, 24, 1416, -1, 1056, 1417, -1, -1, 181, -1, 216, -1, -1, 243, 1056, -1, 1420, -1, -1, 1421, -1, 1420, 1421, -1, 177, -1, 219, -1, 353, -1, 338, -1, 81, -1, 82, -1, 1056, -1, 1056, 1674, -1, 1056, 180, 1674, -1, 1056, 1423, 4, -1, 67, -1, 180, -1, -1, 1422, -1, 1424, 24, 1422, -1, 1426, -1, 1427, -1, 1426, 24, 1427, -1, 1428, -1, 1465, -1, 1429, -1, 1436, -1, 1359, -1, 79, 1426, 80, -1, 1448, -1, 1448, 1438, -1, 1448, 1438, 1447, -1, 1448, 1438, 1434, -1, 1448, 1438, 1434, 1431, -1, 1448, 1438, 1434, 1447, -1, 1448, 1438, 1434, 1431, 1447, -1, 1448, 1434, -1, 1448, 1434, 1431, -1, 1448, 1434, 1447, -1, 1448, 1434, 1431, 1447, -1, 1448, 1447, -1, 1448, 180, 1672, -1, 1448, 1438, 180, 1672, -1, 1448, 1434, 180, 1672, -1, 1448, 1434, 1431, 180, 1672, -1, 1448, 1438, 1434, 180, 1672, -1, 1448, 1438, 1434, 1431, 180, 1672, -1, 1448, 180, 1672, 1447, -1, 1448, 1438, 180, 1672, 1447, -1, 1448, 1434, 180, 1672, 1447, -1, 1448, 1434, 1431, 180, 1672, 1447, -1, 1448, 1438, 1434, 180, 1672, 1447, -1, 1448, 1438, 1434, 1431, 180, 1672, 1447, -1, 1448, 1672, -1, 1448, 1438, 1672, -1, 1448, 1672, 1447, -1, 1448, 1438, 1672, 1447, -1, 1448, 1434, 1431, 1672, -1, 1448, 1438, 1434, 1431, 1672, -1, 1448, 1434, 1431, 1672, 1447, -1, 1448, 1438, 1434, 1431, 1672, 1447, -1, 1448, 1434, 1672, -1, 1448, 1438, 1434, 1672, -1, 1448, 1434, 1672, 1447, -1, 1448, 1438, 1434, 1672, 1447, -1, 1448, 1437, -1, 864, 79, 5, 80, -1, 5, -1, 11, -1, -1, 177, -1, 405, -1, 590, -1, 857, 1435, 1433, 79, 1432, 80, -1, 413, -1, -1, 1359, 1672, -1, 1359, 180, 1672, -1, 1438, -1, -1, 300, 79, 1394, 80, -1, 236, -1, 249, -1, 1441, -1, -1, 92, -1, 250, -1, -1, 235, 35, -1, 235, 296, 187, -1, 235, 242, 187, -1, 3, -1, 302, -1, 1443, -1, 1444, 24, 1443, -1, 1444, -1, -1, 358, 1441, 1442, 79, 1445, 80, -1, 1439, 1441, 1442, 79, 1444, 80, -1, 1446, -1, 1446, 1447, -1, 1452, -1, 1453, -1, 1450, -1, 1449, 24, 1450, -1, 1672, 1451, -1, 1672, 85, 1672, 1451, -1, 85, 67, -1, -1, 1672, -1, 1672, 85, 1672, -1, 1672, 85, 1680, -1, 85, 1672, -1, 85, 1680, -1, 1452, 1455, -1, 1031, 3, -1, -1, 1454, -1, 1456, 1457, 1454, -1, 24, -1, -1, 1454, -1, 79, 1456, 80, -1, 79, 1456, 80, -1, 1459, -1, 1460, 1457, 1459, -1, 1460, 1457, 1454, -1, 79, 1460, 80, -1, 79, 1456, 1457, 1460, 80, -1, 1460, 1457, 79, 1456, 1457, 1460, 80, -1, 1460, -1, 1456, 1457, 1460, -1, 1454, -1, 79, 1456, 80, -1, 1462, 1457, 1454, -1, 1462, 1457, 79, 1456, 80, -1, 5, 1457, 1463, -1, 5, -1, 94, 1056, -1, 359, 79, 1353, 80, -1, 1427, 1468, 1466, -1, 1427, 1468, 1466, 94, 1056, -1, 1427, 1468, 1466, 359, 79, 1353, 80, -1, 1427, 1471, 1466, 1464, -1, 1427, 32, 35, 1466, 1464, -1, 1427, 32, 298, 35, 1466, 1464, -1, 1427, 32, -1, 1427, 1467, 1466, -1, 1428, -1, 1428, 32, -1, 291, 1470, -1, 291, 1469, 35, -1, 35, -1, 30, 35, -1, 34, 35, -1, 30, -1, -1, 32, 1472, 35, -1, 33, 1472, 35, -1, 31, 1472, 35, -1, 33, 1472, 35, -1, 31, 1472, 35, -1, 298, -1, -1, 1474, 1360, 1350, -1, 1474, 1359, -1, 371, 1475, -1, 371, 849, 1475, -1, 1475, 24, 1476, -1, 1476, -1, 1672, 1477, 180, 79, 1360, 80, -1, 1672, 1477, 180, 79, 1473, 80, -1, 1672, 1477, 180, 79, 1359, 80, -1, 79, 1478, 80, -1, -1, 1479, -1, 1478, 24, 1479, -1, 1671, -1, 199, 1315, 540, 1672, 94, 1486, 1483, -1, 199, 1315, 540, 1672, 94, 4, 359, 170, 1391, -1, 178, 540, 1672, 176, 1486, 1483, -1, 222, 540, 1448, -1, 349, 1486, -1, -1, 1485, 1448, 1501, -1, 1485, 1486, -1, 1485, 408, 1486, -1, 1485, 540, 1486, -1, 1485, 541, 1486, -1, 1485, 542, 1486, -1, 1485, 761, 1486, -1, 1485, 754, 1486, -1, 1485, 557, 59, 1487, 1486, -1, 230, -1, 217, -1, 216, -1, 1357, -1, 1117, -1, 1343, -1, 1119, -1, 969, -1, 615, -1, 328, 1657, 952, 1499, 1500, -1, 328, 1489, 1492, 1500, -1, 328, 1657, 1495, 1498, 1448, 1499, 1500, -1, 328, 344, 912, 1499, 1500, -1, 328, 303, 912, 1499, 1500, -1, 328, 561, 912, 1499, 1500, -1, 328, 970, 1499, 1500, -1, 328, 867, 912, 1500, -1, 328, 1494, 1004, 1500, -1, 328, 321, -1, 328, 199, 1496, 1184, 1146, -1, 328, 199, 344, 1448, -1, 328, 199, 1007, 1448, -1, 328, 199, 303, 1448, -1, 328, 199, 561, 1448, -1, 328, 1014, 1490, -1, 328, 530, 1490, -1, 328, 475, 79, 67, 80, 1014, -1, 328, 475, 79, 67, 80, 530, -1, 328, 571, 1491, -1, 328, 1149, 1500, -1, 328, 968, 1500, -1, 328, 454, 1500, -1, 328, 749, 1500, 1645, -1, 328, 1497, 1498, 1448, 1499, 1378, -1, 328, 1657, 780, -1, 328, 951, 1500, -1, 328, 1494, 912, 1500, -1, 328, 959, 1492, -1, 328, 199, 959, 1672, -1, 328, 1493, 525, -1, 328, 778, -1, 328, 845, -1, 328, 199, 375, 1672, -1, 328, 825, 792, -1, 206, -1, 322, -1, 269, 5, 24, 5, -1, 269, 5, -1, -1, 1518, -1, 235, 203, -1, 235, 203, 79, 80, -1, 912, -1, -1, -1, 921, -1, 570, -1, 871, -1, 632, -1, -1, 457, -1, 549, -1, 205, -1, 321, -1, 250, -1, 591, -1, 265, -1, 238, -1, 49, -1, -1, 1498, 1146, -1, -1, 50, 4, -1, 50, 4, 60, 4, -1, 369, 1056, -1, -1, 4, -1, 1671, -1, 199, 997, 1184, 1503, 1506, -1, 199, 997, 1184, 1503, 1505, 1506, -1, 1504, -1, 1503, 24, 1504, -1, 1511, 1512, -1, 1511, 1512, 586, 187, 1514, -1, 1511, 1512, 586, 187, 755, 1514, -1, 315, 719, -1, 315, 340, -1, 315, 1022, -1, 315, 1509, -1, 371, 1507, -1, -1, 1507, 1508, -1, 1508, -1, 669, 5, -1, 679, 5, -1, 1510, -1, 1509, 1510, -1, 1509, 41, 1510, -1, 441, 4, -1, 605, 4, -1, 928, 4, -1, 4, -1, 3, -1, 1676, -1, 15, -1, -1, 1511, 1512, -1, 4, -1, 222, 997, 1516, -1, 1513, -1, 1516, 24, 1513, -1, 327, 755, 1518, 59, 4, -1, 327, 755, 1518, 59, 755, 79, 1514, 80, -1, 178, 997, 1513, 586, 187, 1514, -1, 178, 997, 1513, 1505, -1, 178, 997, 1513, 371, 1507, -1, 235, 1511, 1512, -1, -1, 312, 997, 1521, -1, 1511, 1512, 349, 1511, 1512, -1, 1520, -1, 1521, 24, 1520, -1, 178, 997, 1516, 377, 1523, -1, 640, -1, 354, -1, 640, 1338, 1526, -1, 354, 952, -1, 1527, -1, 1526, 24, 1527, -1, 1448, 1528, -1, 1448, 1423, 1672, 1528, -1, 306, 1529, -1, 372, -1, 279, 372, -1, 632, -1, -1, 1019, -1, -1, 371, 466, 883, -1, 1665, -1, 371, 466, 883, 24, 1665, -1, 1665, 24, 371, 466, 883, -1, -1, 409, 1530, -1, 907, 83, 1531, -1, 1023, 907, 4, -1, 1023, 409, 4, -1, 1023, 522, 4, -1, 1023, 774, 4, -1, 1023, 459, 4, -1, 1023, 831, 4, -1, 459, 1530, -1, 831, 1530, -1, 266, 1056, -1, 266, 22, 1056, -1, 266, 21, 1056, -1, 241, 1542, 94, 1546, 349, 1503, 1547, -1, 1543, -1, 177, 1545, -1, 1544, -1, 1543, 24, 1544, -1, 178, -1, 199, -1, 199, 997, -1, 215, -1, 222, -1, 241, 294, -1, 254, -1, 356, -1, 324, -1, 250, -1, 199, 1007, -1, 328, 1007, -1, 328, 206, -1, 935, -1, 779, -1, 357, -1, 199, 945, -1, 550, -1, 178, 959, -1, 178, 941, -1, 199, 821, 771, -1, 199, 821, 988, -1, 778, -1, -1, 67, -1, 67, 85, 67, -1, 1672, 85, 67, -1, 1672, -1, 1672, 85, 1672, -1, 371, 241, 294, -1, -1, 319, 1542, 94, 1546, 238, 1516, -1, 319, 177, 1545, 24, 241, 294, 238, 1516, -1, 774, 1550, 238, 1551, -1, 1674, -1, 1205, -1, 15, -1, 327, 1554, -1, 1557, -1, 1553, 24, 1557, -1, 1556, -1, 1554, 24, 1556, -1, 1056, -1, 94, -1, 89, -1, 213, -1, 15, 1559, 1056, -1, 15, 36, 1056, -1, 1557, -1, 1558, 1671, 1559, 1555, -1, 14, 1559, 1555, -1, 1670, 1559, 1555, -1, 1670, 36, 1555, -1, 570, -1, 871, -1, 576, 85, -1, 944, 85, -1, 349, -1, 59, -1, 535, 1550, 1561, -1, 359, 1562, -1, -1, 1563, -1, 1562, 24, 1563, -1, 15, -1, 1565, 774, 1550, -1, 495, -1, 222, -1, 972, 1312, 1448, -1, 312, 344, 1568, -1, 1569, -1, 1568, 24, 1569, -1, 1448, 349, 1448, -1, 178, 344, 1448, 1571, -1, 1572, -1, 1571, 24, 1572, -1, -1, 1588, 1239, -1, 1583, -1, 1585, -1, 312, 1587, 1448, -1, 1580, -1, 1574, -1, 1573, -1, 1581, -1, 222, 196, 79, 1394, 80, -1, 176, 196, 1326, 193, 79, 1056, 80, -1, 222, 300, 1577, -1, 222, 929, 1577, -1, 176, 300, 1575, -1, 1578, -1, 812, 300, 1394, 98, 1575, -1, 972, 300, 1394, -1, 972, 929, 1394, -1, 1269, -1, 1272, -1, 222, 300, 1577, -1, 176, 300, 1575, -1, 1579, -1, 812, 300, 1394, 98, 1575, -1, 972, 300, 1394, -1, 1394, -1, 79, 1394, 80, -1, 1254, -1, 1256, -1, 1257, -1, 1255, -1, 1296, -1, 1297, -1, 1298, -1, 1299, -1, 176, 1441, 1322, 1334, 79, 1327, 80, 1331, -1, 176, 353, 1440, 1322, 1334, 79, 1327, 80, 1331, -1, 176, 196, 1325, 353, 1440, 1322, 1334, 79, 1327, 80, 1331, -1, 222, 1441, 1323, -1, 176, 1324, 302, 92, 79, 1262, 80, 1331, -1, 178, 250, 1323, 1582, -1, 312, 1441, 1323, 349, 1323, -1, 178, 250, 1323, 1244, -1, 222, 237, 92, 1323, -1, 176, 1324, 237, 92, 1322, 79, 1262, 80, 310, 1448, 79, 1262, 80, 1190, 1187, -1, 1008, -1, 607, -1, 176, 1586, 1192, -1, 176, 1586, 79, 1198, 80, -1, 222, 1197, 1589, -1, 222, 194, 1197, 1589, -1, 178, 1586, 1197, 1590, -1, 190, 1586, 1197, 1192, -1, 695, 1586, 1192, -1, -1, 552, -1, 183, 1671, -1, 381, 1671, -1, 222, 375, -1, 194, -1, -1, 349, -1, -1, 327, -1, -1, 189, -1, 317, -1, -1, 327, 213, 1235, -1, 222, 213, -1, 304, 344, 1448, -1, 304, 250, 1448, -1, 304, 1145, 1146, -1, 304, 959, 1672, -1, 304, 845, -1, 293, 344, 1341, -1, 293, 959, 1672, -1, 293, 959, 177, -1, 512, 527, 177, -1, 512, 527, 786, 59, 4, 24, 882, 59, 5, -1, 512, 440, 177, -1, 512, 440, 978, 59, 5, 24, 478, 59, 5, -1, 512, 440, 787, 59, 4, -1, 327, 294, 628, 59, 4, -1, 512, 681, 627, -1, 178, 941, 419, 1609, -1, 178, 941, 555, 1601, 430, 1604, 1607, -1, 178, 941, 555, 333, 1601, 1604, 1607, -1, 178, 941, 555, 618, 1645, 1648, -1, 178, 941, 555, 486, 1014, -1, 178, 941, 555, 612, 1650, -1, 178, 941, 178, 759, 406, 1645, 1642, 1640, 327, 1643, -1, 178, 941, 272, 759, 406, 238, 759, 430, 1604, 1642, -1, 178, 941, 938, 815, 1659, 1632, -1, 178, 941, 938, 835, 1659, 1625, -1, 178, 941, 1629, 815, 1630, 1619, 1629, 1634, 1175, -1, 178, 941, 222, 815, 1630, 1619, 1624, 1621, 1175, -1, 178, 941, 1633, 815, 1630, 888, 1246, 4, 504, 1246, 4, 1175, -1, 178, 941, 819, 815, 1626, -1, 178, 941, 799, 815, 1626, -1, 178, 941, 907, 608, 1620, -1, 178, 941, 1638, 608, 1621, -1, 178, 941, 1638, 856, 1621, -1, 178, 941, 444, 608, 529, -1, 178, 941, 431, 1651, 975, 4, -1, 178, 941, 645, 559, 1617, -1, 178, 941, 439, -1, 178, 941, 691, 559, 1631, 1616, 1621, -1, 178, 941, 444, 834, 1645, -1, 178, 941, 1611, 867, 1612, 1621, -1, 178, 941, 176, 1026, 1245, 1628, -1, 178, 941, 1618, 1026, 1245, -1, 178, 941, 1629, 1026, 1245, 1588, 1628, -1, 178, 941, 803, 321, 1626, -1, 178, 941, 803, 681, 906, 1626, -1, 178, 941, 1588, 1652, -1, 178, 941, 875, 1655, 1626, -1, 178, 941, 444, 634, 430, 1626, -1, 178, 941, 811, 404, 975, 1604, 1608, 1603, -1, 178, 941, 810, 574, -1, 178, 941, 810, 988, -1, 178, 941, 810, 867, -1, 178, 941, 810, 1026, -1, 178, 941, 686, 988, 1246, 5, 504, 1246, 4, -1, 178, 941, 431, 686, 988, 5, -1, 178, 941, 993, 368, 321, -1, 178, 941, 844, 614, 4, 1626, -1, 178, 941, 1660, 993, -1, 178, 941, 844, 993, 614, 4, -1, 178, 941, 920, 993, 614, -1, 178, 941, 1660, 839, 993, -1, 178, 941, 803, 980, -1, 178, 941, 520, 333, 979, 1595, 1596, -1, 178, 941, 507, 333, 979, -1, 178, 941, 327, 509, 1001, 1619, -1, 178, 941, 176, 825, 888, 4, -1, 178, 941, 444, 825, 888, -1, 178, 941, 825, 1644, 238, 4, -1, 178, 941, 825, 1341, 235, 1672, 238, 1672, 392, 4, 991, 4, 371, 4, -1, 178, 941, 825, 1672, 238, 1672, 1613, 991, 4, 371, 4, 1623, -1, 178, 941, 190, 959, 1600, -1, 178, 941, 222, 952, 49, 871, 5, -1, 178, 941, 803, 952, 49, 871, 5, -1, 178, 510, 1672, 176, 509, 4, 1599, 1619, 1621, -1, 178, 510, 1672, 222, 509, 4, 1619, 1621, -1, 178, 941, 401, -1, 178, 941, 729, -1, 178, 941, 403, 205, -1, 178, 941, 403, 610, 205, -1, 178, 941, 431, 403, -1, 178, 941, 936, 403, -1, 178, 941, 826, 403, -1, 178, 941, 215, 545, 403, 1622, -1, 178, 941, 215, 425, 5, 1622, -1, 178, 941, 1010, 205, 1622, -1, 178, 941, 1010, 425, 5, 1622, -1, 178, 941, 431, 1010, 5, 1622, -1, 178, 941, 215, 732, 403, -1, 178, 941, 431, 215, 403, -1, 178, 941, 431, 403, 425, -1, 178, 941, 215, 427, 5, 1622, -1, 178, 941, 431, 403, 427, -1, 178, 941, 215, 429, 5, 1622, -1, 178, 941, 403, 425, 177, 1646, 1614, -1, 178, 941, 403, 425, 1246, 5, 1646, 1614, -1, 178, 941, 403, 425, 177, 87, 426, 1000, 5, 981, 1646, 1614, -1, 178, 941, 907, 403, 401, -1, 178, 941, 920, 403, 401, -1, 178, 941, 403, 427, 177, 1615, 1646, 1614, -1, 178, 941, 403, 427, 1246, 5, 1615, 1646, 1614, -1, 178, 941, 403, 427, 177, 87, 426, 1000, 5, 981, 1615, 1646, 1614, -1, 327, 521, 94, 586, 187, 4, 740, -1, 327, 496, 586, 187, 1204, -1, 235, 769, 54, 5, -1, -1, 359, 1597, -1, 1598, 1597, -1, 1598, -1, 853, 59, 1294, -1, 476, 59, 1294, -1, 600, 59, 5, -1, 730, 59, 1294, -1, 641, 59, 5, -1, 795, 59, 1294, -1, 708, 1246, 1245, -1, -1, 1245, -1, 978, 1246, 5, -1, 177, -1, 634, -1, 446, -1, 588, -1, 452, -1, 414, -1, 413, -1, 838, -1, 416, -1, 321, -1, 759, -1, 402, -1, 770, -1, 793, -1, 394, -1, 646, -1, 177, -1, 973, 1246, 1602, -1, -1, 959, 59, 1606, -1, -1, 959, 1246, 79, 1606, 80, -1, 1245, -1, 1606, 24, 1245, -1, 570, -1, -1, 1026, 59, 1138, -1, -1, 1610, -1, 1609, 24, 1610, -1, 804, 1246, 1245, 1026, 1246, 1245, 867, 1246, 4, -1, 1026, 1246, 1245, 867, 1246, 4, -1, 176, -1, 215, -1, 431, 215, -1, 907, -1, 920, -1, 236, 920, -1, 603, -1, 4, -1, 1612, 24, 4, -1, -1, 392, 4, -1, -1, 428, 1246, 4, -1, -1, 371, 379, -1, -1, 867, 1246, 79, 1612, 80, -1, -1, 249, 1612, -1, 215, -1, 907, -1, 920, -1, 236, 920, -1, 603, -1, 867, 1246, 4, -1, 1026, 1246, 1245, -1, 1620, -1, -1, 474, 5, -1, -1, 792, -1, -1, 477, 1246, 5, -1, -1, 1619, -1, 1620, -1, 1625, -1, -1, 804, 1246, 1245, -1, 585, 1246, 1245, -1, 1028, 1246, 1245, -1, 1627, -1, 1628, 24, 1627, -1, -1, 178, -1, 190, -1, 695, -1, 752, 1246, 4, -1, 1605, -1, 1630, -1, -1, 1630, 1619, -1, 1619, 1645, -1, 1620, 1645, -1, 697, -1, 474, -1, 1635, -1, 1635, 1634, -1, 1636, -1, 1637, -1, 817, 1246, 4, -1, 707, 1246, 5, -1, 936, -1, 826, -1, 407, 1246, 5, -1, 1639, -1, -1, 895, 1246, 4, -1, 1641, -1, -1, 1671, 59, 1045, -1, 959, 1246, 1245, -1, 1644, -1, -1, 978, 1246, 5, -1, 959, 1246, 1245, -1, -1, 430, 1246, 1245, -1, 1647, -1, -1, 565, 1246, 5, -1, 1649, -1, -1, 300, 703, -1, -1, 1653, -1, 1652, 24, 1653, -1, 3, 59, 1048, 1654, 1658, 1626, 1645, -1, 976, 59, 1048, 1654, 1658, 1626, 1645, -1, 449, 59, 1048, 1654, 1658, 1626, 1645, -1, 836, 59, 4, 1654, 1658, 1626, 1645, -1, 428, 59, 4, 1654, 1658, 1626, 1645, -1, 458, 4, -1, -1, 1656, -1, 1655, 24, 1656, -1, -1, 966, 1246, 5, -1, 967, 1246, 1245, -1, 733, 1246, 5, -1, 560, 1246, 5, -1, 528, 1246, 5, -1, 32, -1, -1, 861, 59, 681, -1, 861, 59, 889, -1, 861, 59, 186, -1, -1, 624, -1, 556, -1, 409, -1, 522, -1, 327, 709, 1228, 1231, -1, 327, 1149, 1228, -1, 327, 83, 1664, -1, 327, 570, 83, 1664, -1, 327, 871, 83, 1664, -1, 327, 632, 83, 1664, -1, 1665, -1, 604, 642, 1666, -1, 1665, 24, 604, 642, 1666, -1, 604, 642, 1666, 24, 1665, -1, 306, 740, -1, 306, 372, -1, 306, 982, -1, 306, 460, -1, 814, 306, -1, 866, -1, 858, 1670, -1, 831, 349, 1670, -1, 831, 1019, 349, 1670, -1, 831, 349, 858, 1670, -1, 311, 858, 1670, -1, 3, -1, 1677, -1, 3, -1, 1676, -1, 3, -1, 1676, -1, 3, -1, 512, -1, 437, -1, 454, -1, 617, -1, 997, -1, 205, -1, 321, -1, 451, -1, 313, -1, 840, -1, 829, -1, 31, -1, 203, -1, 942, -1, 872, -1, 314, -1, 972, -1, 557, -1, 3, -1, 1676, -1, 494, -1, 207, -1, 208, -1, 209, -1, 210, -1, 583, -1, 245, -1, 246, -1, 247, -1, 685, -1, 693, -1, 288, -1, 289, -1, 696, -1, 794, -1, 862, -1, 323, -1, 1015, -1, 1025, -1, 373, -1, 1677, -1, 1678, -1, 1679, -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, 389, -1, 390, -1, 401, -1, 391, -1, 392, -1, 402, -1, 393, -1, 394, -1, 395, -1, 396, -1, 397, -1, 398, -1, 403, -1, 425, -1, 405, -1, 406, -1, 407, -1, 408, -1, 404, -1, 409, -1, 410, -1, 411, -1, 412, -1, 424, -1, 413, -1, 415, -1, 414, -1, 416, -1, 417, -1, 418, -1, 419, -1, 420, -1, 421, -1, 422, -1, 423, -1, 430, -1, 618, -1, 612, -1, 431, -1, 432, -1, 433, -1, 434, -1, 435, -1, 436, -1, 437, -1, 438, -1, 439, -1, 440, -1, 441, -1, 442, -1, 443, -1, 444, -1, 445, -1, 447, -1, 446, -1, 448, -1, 449, -1, 450, -1, 451, -1, 453, -1, 454, -1, 455, -1, 456, -1, 452, -1, 457, -1, 458, -1, 459, -1, 460, -1, 461, -1, 462, -1, 463, -1, 464, -1, 465, -1, 22, -1, 466, -1, 467, -1, 468, -1, 469, -1, 470, -1, 471, -1, 472, -1, 473, -1, 474, -1, 475, -1, 476, -1, 477, -1, 478, -1, 479, -1, 484, -1, 480, -1, 481, -1, 483, -1, 482, -1, 485, -1, 486, -1, 487, -1, 517, -1, 488, -1, 489, -1, 490, -1, 491, -1, 492, -1, 493, -1, 494, -1, 495, -1, 496, -1, 497, -1, 498, -1, 499, -1, 500, -1, 503, -1, 501, -1, 502, -1, 504, -1, 505, -1, 506, -1, 507, -1, 508, -1, 509, -1, 510, -1, 511, -1, 512, -1, 513, -1, 514, -1, 515, -1, 516, -1, 518, -1, 519, -1, 520, -1, 521, -1, 522, -1, 523, -1, 524, -1, 525, -1, 526, -1, 527, -1, 528, -1, 529, -1, 530, -1, 60, -1, 531, -1, 532, -1, 533, -1, 26, -1, 534, -1, 535, -1, 536, -1, 537, -1, 545, -1, 538, -1, 539, -1, 541, -1, 542, -1, 543, -1, 546, -1, 544, -1, 547, -1, 548, -1, 563, -1, 549, -1, 550, -1, 565, -1, 551, -1, 552, -1, 553, -1, 554, -1, 555, -1, 556, -1, 562, -1, 557, -1, 564, -1, 558, -1, 559, -1, 560, -1, 561, -1, 32, -1, 566, -1, 567, -1, 568, -1, 569, -1, 570, -1, 575, -1, 571, -1, 573, -1, 572, -1, 574, -1, 577, -1, 578, -1, 579, -1, 580, -1, 581, -1, 582, -1, 583, -1, 584, -1, 585, -1, 586, -1, 587, -1, 588, -1, 589, -1, 591, -1, 592, -1, 590, -1, 593, -1, 594, -1, 595, -1, 596, -1, 597, -1, 598, -1, 28, -1, 599, -1, 610, -1, 600, -1, 601, -1, 602, -1, 609, -1, 604, -1, 603, -1, 605, -1, 614, -1, 615, -1, 616, -1, 617, -1, 619, -1, 620, -1, 621, -1, 622, -1, 623, -1, 624, -1, 627, -1, 628, -1, 625, -1, 626, -1, 642, -1, 629, -1, 630, -1, 631, -1, 643, -1, 632, -1, 633, -1, 635, -1, 636, -1, 644, -1, 637, -1, 638, -1, 639, -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, 677, -1, 678, -1, 679, -1, 680, -1, 681, -1, 682, -1, 608, -1, 683, -1, 707, -1, 684, -1, 685, -1, 686, -1, 703, -1, 687, -1, 688, -1, 689, -1, 690, -1, 691, -1, 692, -1, 693, -1, 25, -1, 694, -1, 695, -1, 696, -1, 697, -1, 698, -1, 699, -1, 700, -1, 701, -1, 702, -1, 704, -1, 708, -1, 709, -1, 710, -1, 711, -1, 712, -1, 713, -1, 714, -1, 715, -1, 716, -1, 729, -1, 717, -1, 718, -1, 719, -1, 731, -1, 720, -1, 721, -1, 722, -1, 723, -1, 727, -1, 728, -1, 725, -1, 724, -1, 726, -1, 733, -1, 734, -1, 735, -1, 736, -1, 737, -1, 745, -1, 96, -1, 738, -1, 739, -1, 740, -1, 741, -1, 742, -1, 743, -1, 852, -1, 540, -1, 744, -1, 746, -1, 747, -1, 748, -1, 749, -1, 750, -1, 751, -1, 752, -1, 753, -1, 754, -1, 757, -1, 756, -1, 758, -1, 760, -1, 770, -1, 761, -1, 762, -1, 763, -1, 764, -1, 765, -1, 766, -1, 771, -1, 772, -1, 773, -1, 784, -1, 774, -1, 775, -1, 776, -1, 789, -1, 777, -1, 788, -1, 778, -1, 779, -1, 780, -1, 781, -1, 782, -1, 791, -1, 783, -1, 790, -1, 785, -1, 786, -1, 787, -1, 794, -1, 21, -1, 795, -1, 796, -1, 854, -1, 855, -1, 797, -1, 798, -1, 856, -1, 849, -1, 799, -1, 845, -1, 846, -1, 847, -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, 825, -1, 826, -1, 827, -1, 828, -1, 829, -1, 830, -1, 831, -1, 839, -1, 832, -1, 833, -1, 835, -1, 836, -1, 834, -1, 837, -1, 838, -1, 840, -1, 841, -1, 842, -1, 843, -1, 844, -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, 872, -1, 873, -1, 874, -1, 875, -1, 876, -1, 877, -1, 878, -1, 946, -1, 879, -1, 880, -1, 881, -1, 883, -1, 884, -1, 885, -1, 886, -1, 887, -1, 888, -1, 889, -1, 890, -1, 891, -1, 892, -1, 893, -1, 894, -1, 82, -1, 895, -1, 81, -1, 896, -1, 897, -1, 898, -1, 899, -1, 900, -1, 901, -1, 902, -1, 903, -1, 904, -1, 905, -1, 907, -1, 908, -1, 906, -1, 909, -1, 910, -1, 911, -1, 912, -1, 913, -1, 914, -1, 915, -1, 916, -1, 917, -1, 920, -1, 921, -1, 922, -1, 923, -1, 924, -1, 918, -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, 939, -1, 940, -1, 941, -1, 942, -1, 943, -1, 945, -1, 947, -1, 948, -1, 951, -1, 949, -1, 950, -1, 952, -1, 953, -1, 954, -1, 976, -1, 955, -1, 975, -1, 956, -1, 957, -1, 958, -1, 959, -1, 978, -1, 882, -1, 960, -1, 961, -1, 962, -1, 963, -1, 964, -1, 965, -1, 980, -1, 967, -1, 966, -1, 968, -1, 83, -1, 969, -1, 970, -1, 971, -1, 972, -1, 973, -1, 974, -1, 977, -1, 982, -1, 983, -1, 984, -1, 985, -1, 986, -1, 995, -1, 987, -1, 988, -1, 989, -1, 990, -1, 991, -1, 992, -1, 993, -1, 994, -1, 996, -1, 997, -1, 998, -1, 999, -1, 1001, -1, 1010, -1, 1002, -1, 1003, -1, 1004, -1, 1011, -1, 1012, -1, 1005, -1, 1009, -1, 706, -1, 1007, -1, 1006, -1, 1013, -1, 1014, -1, 1021, -1, 1015, -1, 1016, -1, 1017, -1, 29, -1, 1019, -1, 1020, -1, 1022, -1, 1023, -1, 1024, -1, 1025, -1, 1026, -1, 1027, -1, 1028, -1, 634, -1, 759, -1, 1008, -1, 607, -1, 399, -1, 919, -1, 979, -1, 769, -1, 853, -1, 730, -1, 641, -1, 851, -1, 705, -1, 400, -1, 767, -1, 768, -1, 732, -1, 427, -1, 792, -1, 428, -1, 429, -1, 1000, -1, 981, -1, 426, -1, 755, -1, 376, -1, 175, -1, 176, -1, 178, -1, 179, -1, 41, -1, 180, -1, 181, -1, 182, -1, 183, -1, 46, -1, 184, -1, 89, -1, 185, -1, 187, -1, 188, -1, 189, -1, 45, -1, 190, -1, 191, -1, 192, -1, 193, -1, 88, -1, 194, -1, 195, -1, 196, -1, 197, -1, 198, -1, 199, -1, 34, -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, 217, -1, 218, -1, 220, -1, 71, -1, 221, -1, 222, -1, 223, -1, 224, -1, 42, -1, 225, -1, 226, -1, 227, -1, 228, -1, 229, -1, 230, -1, 231, -1, 232, -1, 233, -1, 234, -1, 235, -1, 236, -1, 237, -1, 239, -1, 240, -1, 241, -1, 242, -1, 243, -1, 244, -1, 245, -1, 246, -1, 247, -1, 248, -1, 249, -1, 49, -1, 250, -1, 251, -1, 30, -1, 252, -1, 253, -1, 254, -1, 255, -1, 256, -1, 257, -1, 258, -1, 259, -1, 260, -1, 261, -1, 90, -1, 98, -1, 262, -1, 263, -1, 51, -1, 264, -1, 35, -1, 92, -1, 265, -1, 266, -1, 268, -1, 33, -1, 50, -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, 288, -1, 289, -1, 72, -1, 290, -1, 291, -1, 87, -1, 292, -1, 94, -1, 293, -1, 294, -1, 295, -1, 38, -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, 309, -1, 310, -1, 48, -1, 311, -1, 312, -1, 313, -1, 314, -1, 315, -1, 316, -1, 317, -1, 318, -1, 319, -1, 31, -1, 320, -1, 321, -1, 322, -1, 323, -1, 325, -1, 326, -1, 327, -1, 328, -1, 329, -1, 330, -1, 331, -1, 332, -1, 333, -1, 334, -1, 335, -1, 336, -1, 337, -1, 339, -1, 340, -1, 341, -1, 342, -1, 343, -1, 344, -1, 345, -1, 43, -1, 346, -1, 347, -1, 348, -1, 349, -1, 351, -1, 352, -1, 27, -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, 371, -1, 372, -1, 39, -1, 373, -1, 374, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { 0, 439, 439, 448, 453, 458, 462, 470, 471, 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, 538, 540, 541, 542, 543, 544, 545, 546, 547, 548, 558, 566, 573, 577, 583, 592, 611, 637, 644, 649, 656, 665, 672, 677, 684, 693, 700, 705, 712, 725, 735, 743, 754, 763, 772, 781, 790, 799, 811, 812, 813, 814, 815, 816, 817, 818, 819, 827, 828, 832, 833, 834, 835, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 859, 864, 881, 882, 886, 892, 899, 905, 913, 919, 927, 933, 941, 947, 953, 961, 967, 975, 981, 989, 997, 1001, 1006, 1011, 1015, 1020, 1032, 1045, 1065, 1076, 1094, 1100, 1113, 1127, 1148, 1160, 1179, 1183, 1194, 1199, 1211, 1216, 1220, 1226, 1232, 1238, 1244, 1250, 1256, 1262, 1271, 1280, 1286, 1292, 1298, 1304, 1310, 1316, 1325, 1332, 1347, 1348, 1349, 1353, 1357, 1397, 1401, 1406, 1408, 1410, 1416, 1422, 1429, 1436, 1440, 1444, 1451, 1458, 1462, 1467, 1472, 1476, 1480, 1484, 1488, 1492, 1496, 1500, 1505, 1515, 1522, 1524, 1532, 1533, 1537, 1538, 1543, 1547, 1551, 1558, 1562, 1567, 1575, 1583, 1589, 1598, 1605, 1612, 1617, 1622, 1627, 1632, 1637, 1642, 1647, 1652, 1657, 1662, 1667, 1672, 1679, 1686, 1691, 1696, 1701, 1706, 1711, 1716, 1722, 1728, 1734, 1740, 1748, 1753, 1760, 1766, 1770, 1775, 1782, 1789, 1793, 1797, 1804, 1812, 1819, 1828, 1833, 1839, 1844, 1852, 1853, 1860, 1864, 1871, 1879, 1887, 1888, 1894, 1900, 1908, 1914, 1923, 1928, 1935, 1940, 1948, 1953, 1962, 1963, 1970, 1971, 1975, 1976, 1981, 1988, 1989, 1993, 1996, 2000, 2004, 2011, 2016, 2024, 2032, 2038, 2044, 2048, 2052, 2056, 2060, 2064, 2068, 2072, 2076, 2080, 2084, 2088, 2092, 2096, 2102, 2109, 2116, 2120, 2124, 2128, 2132, 2136, 2140, 2144, 2152, 2159, 2166, 2174, 2181, 2188, 2194, 2199, 2206, 2213, 2220, 2227, 2234, 2241, 2248, 2255, 2262, 2269, 2276, 2283, 2290, 2297, 2302, 2307, 2312, 2317, 2331, 2345, 2350, 2355, 2362, 2369, 2390, 2397, 2416, 2426, 2433, 2450, 2467, 2482, 2497, 2501, 2522, 2544, 2554, 2559, 2571, 2575, 2579, 2586, 2590, 2594, 2601, 2605, 2613, 2617, 2624, 2628, 2632, 2651, 2652, 2653, 2657, 2661, 2665, 2682, 2686, 2690, 2697, 2698, 2699, 2705, 2709, 2717, 2721, 2725, 2729, 2736, 2743, 2751, 2752, 2758, 2761, 2765, 2773, 2776, 2780, 2784, 2792, 2795, 2802, 2808, 2816, 2822, 2830, 2834, 2841, 2845, 2854, 2863, 2881, 2898, 2903, 2907, 2913, 2920, 2931, 2937, 2946, 2961, 2980, 2995, 3005, 3024, 3046, 3050, 3057, 3069, 3078, 3089, 3093, 3098, 3104, 3109, 3114, 3119, 3124, 3129, 3134, 3139, 3147, 3151, 3156, 3162, 3167, 3172, 3177, 3185, 3189, 3196, 3201, 3208, 3214, 3220, 3225, 3230, 3238, 3246, 3254, 3265, 3278, 3282, 3294, 3307, 3311, 3316, 3322, 3327, 3332, 3337, 3342, 3347, 3352, 3357, 3362, 3367, 3375, 3383, 3387, 3392, 3396, 3404, 3408, 3412, 3417, 3422, 3427, 3435, 3437, 3442, 3444, 3449, 3460, 3471, 3479, 3489, 3496, 3502, 3515, 3525, 3529, 3535, 3542, 3547, 3553, 3557, 3564, 3568, 3574, 3583, 3592, 3598, 3603, 3607, 3611, 3619, 3621, 3630, 3643, 3654, 3659, 3669, 3691, 3692, 3698, 3701, 3705, 3712, 3713, 3714, 3718, 3719, 3726, 3727, 3732, 3740, 3741, 3745, 3746, 3747, 3754, 3758, 3765, 3769, 3777, 3778, 3785, 3789, 3796, 3808, 3821, 3837, 3853, 3868, 3885, 3889, 3894, 3896, 3903, 3907, 3911, 3913, 3925, 3937, 3951, 3955, 3959, 3962, 3966, 3970, 3974, 3984, 3988, 4001, 4018, 4037, 4053, 4067, 4080, 4096, 4102, 4109, 4115, 4121, 4127, 4135, 4142, 4149, 4154, 4158, 4162, 4169, 4173, 4180, 4190, 4200, 4210, 4216, 4229, 4234, 4240, 4246, 4255, 4259, 4263, 4268, 4272, 4279, 4285, 4291, 4295, 4299, 4307, 4313, 4324, 4329, 4335, 4340, 4345, 4350, 4355, 4359, 4364, 4368, 4372, 4379, 4383, 4388, 4394, 4399, 4404, 4413, 4417, 4424, 4433, 4443, 4451, 4462, 4473, 4481, 4488, 4500, 4501, 4505, 4506, 4507, 4511, 4516, 4521, 4526, 4534, 4540, 4550, 4560, 4570, 4576, 4582, 4587, 4591, 4604, 4610, 4619, 4631, 4640, 4646, 4652, 4657, 4665, 4676, 4680, 4686, 4690, 4697, 4698, 4699, 4700, 4701, 4705, 4706, 4707, 4708, 4709, 4713, 4714, 4715, 4719, 4720, 4724, 4725, 4726, 4727, 4731, 4732, 4733, 4734, 4738, 4739, 4743, 4744, 4748, 4754, 4761, 4767, 4782, 4794, 4803, 4804, 4808, 4809, 4813, 4851, 4852, 4856, 4857, 4861, 4862, 4863, 4867, 4868, 4872, 4877, 4881, 4887, 4895, 4905, 4911, 4919, 4926, 4932, 4946, 4950, 4957, 4965, 4969, 4978, 4983, 4987, 4990, 4994, 5000, 5005, 5009, 5013, 5017, 5021, 5027, 5031, 5035, 5039, 5046, 5050, 5057, 5059, 5061, 5091, 5094, 5101, 5106, 5112, 5117, 5123, 5127, 5134, 5138, 5145, 5149, 5153, 5157, 5164, 5168, 5175, 5180, 5185, 5190, 5196, 5201, 5206, 5211, 5216, 5221, 5226, 5231, 5236, 5243, 5252, 5257, 5262, 5267, 5272, 5276, 5281, 5286, 5291, 5296, 5303, 5312, 5322, 5324, 5325, 5333, 5334, 5338, 5339, 5343, 5347, 5351, 5355, 5362, 5366, 5370, 5376, 5383, 5387, 5394, 5401, 5406, 5413, 5422, 5432, 5445, 5452, 5462, 5472, 5482, 5490, 5501, 5508, 5518, 5519, 5524, 5528, 5537, 5541, 5548, 5553, 5562, 5566, 5573, 5577, 5583, 5592, 5601, 5613, 5622, 5631, 5644, 5650, 5657, 5664, 5674, 5681, 5688, 5701, 5707, 5711, 5718, 5725, 5732, 5736, 5742, 5749, 5756, 5760, 5767, 5774, 5778, 5782, 5787, 5792, 5798, 5802, 5808, 5816, 5821, 5824, 5831, 5835, 5842, 5849, 5856, 5860, 5867, 5874, 5878, 5884, 5888, 5894, 5898, 5908, 5909, 5916, 5920, 5927, 5931, 5947, 5952, 5958, 5963, 5969, 5970, 5974, 5978, 5982, 5986, 5991, 5997, 6007, 6016, 6020, 6027, 6031, 6038, 6042, 6046, 6053, 6060, 6064, 6069, 6075, 6080, 6085, 6090, 6095, 6107, 6121, 6133, 6140, 6146, 6155, 6160, 6167, 6171, 6178, 6182, 6189, 6194, 6199, 6204, 6209, 6218, 6222, 6229, 6242, 6250, 6261, 6262, 6271, 6287, 6294, 6297, 6301, 6304, 6308, 6313, 6317, 6321, 6325, 6334, 6353, 6354, 6359, 6364, 6370, 6374, 6379, 6385, 6390, 6396, 6400, 6402, 6407, 6424, 6425, 6431, 6436, 6443, 6446, 6453, 6457, 6464, 6481, 6498, 6503, 6507, 6511, 6515, 6519, 6523, 6527, 6532, 6537, 6542, 6547, 6555, 6558, 6565, 6569, 6576, 6579, 6582, 6591, 6601, 6605, 6612, 6622, 6623, 6628, 6632, 6646, 6659, 6673, 6685, 6694, 6703, 6714, 6728, 6733, 6740, 6744, 6750, 6755, 6760, 6765, 6771, 6778, 6783, 6786, 6792, 6801, 6807, 6816, 6817, 6824, 6828, 6836, 6837, 6842, 6847, 6848, 6861, 6871, 6875, 6879, 6888, 6903, 6904, 6905, 6911, 6916, 6921, 6929, 6944, 6967, 6971, 6975, 6979, 6983, 6990, 6995, 7004, 7013, 7021, 7032, 7036, 7040, 7047, 7051, 7055, 7062, 7067, 7076, 7081, 7090, 7120, 7155, 7156, 7178, 7179, 7184, 7185, 7190, 7218, 7222, 7223, 7224, 7228, 7232, 7239, 7240, 7244, 7248, 7256, 7257, 7266, 7267, 7274, 7287, 7300, 7317, 7321, 7325, 7335, 7339, 7346, 7350, 7357, 7362, 7369, 7375, 7381, 7385, 7392, 7396, 7400, 7404, 7411, 7416, 7422, 7426, 7433, 7437, 7444, 7455, 7459, 7464, 7470, 7474, 7481, 7485, 7489, 7496, 7500, 7505, 7509, 7513, 7517, 7521, 7525, 7529, 7533, 7539, 7543, 7547, 7551, 7556, 7562, 7568, 7574, 7580, 7586, 7592, 7598, 7604, 7610, 7616, 7620, 7624, 7628, 7632, 7636, 7640, 7644, 7648, 7652, 7656, 7660, 7665, 7669, 7673, 7677, 7681, 7687, 7693, 7697, 7701, 7706, 7712, 7718, 7722, 7726, 7730, 7734, 7738, 7743, 7747, 7751, 7756, 7762, 7768, 7772, 7776, 7783, 7788, 7794, 7798, 7802, 7809, 7813, 7819, 7823, 7829, 7833, 7837, 7841, 7845, 7849, 7855, 7861, 7866, 7868, 7874, 7875, 7881, 7882, 7890, 7895, 7901, 7906, 7911, 7918, 7922, 7930, 7937, 7944, 7951, 7958, 7965, 7976, 7977, 7985, 7994, 7996, 8001, 8007, 8008, 8010, 8016, 8017, 8023, 8024, 8028, 8039, 8041, 8046, 8060, 8061, 8063, 8069, 8070, 8078, 8086, 8093, 8097, 8108, 8112, 8116, 8120, 8124, 8130, 8137, 8162, 8180, 8198, 8230, 8241, 8242, 8246, 8250, 8258, 8265, 8269, 8276, 8280, 8287, 8291, 8295, 8301, 8308, 8312, 8316, 8321, 8325, 8332, 8337, 8345, 8349, 8356, 8361, 8369, 8374, 8378, 8382, 8386, 8393, 8397, 8404, 8409, 8415, 8420, 8428, 8433, 8441, 8445, 8449, 8454, 8459, 8466, 8473, 8481, 8489, 8493, 8497, 8502, 8509, 8515, 8523, 8530, 8540, 8543, 8547, 8551, 8557, 8564, 8570, 8577, 8581, 8592, 8597, 8603, 8611, 8615, 8622, 8628, 8634, 8638, 8647, 8650, 8654, 8658, 8665, 8669, 8683, 8687, 8694, 8699, 8705, 8716, 8727, 8731, 8739, 8744, 8752, 8756, 8763, 8769, 8778, 8783, 8789, 8794, 8799, 8809, 8814, 8824, 8831, 8834, 8838, 8842, 8849, 8852, 8856, 8861, 8867, 8873, 8877, 8881, 8885, 8889, 8895, 8906, 8910, 8917, 8921, 8925, 8929, 8938, 8944, 8950, 8954, 8964, 8969, 8974, 8981, 8986, 8992, 8998, 9024, 9036, 9040, 9069, 9073, 9081, 9085, 9089, 9096, 9097, 9101, 9107, 9113, 9122, 9128, 9138, 9139, 9151, 9162, 9170, 9178, 9194, 9198, 9206, 9210, 9214, 9226, 9233, 9237, 9241, 9248, 9277, 9289, 9309, 9325, 9332, 9338, 9348, 9355, 9360, 9367, 9374, 9381, 9388, 9395, 9402, 9410, 9411, 9412, 9416, 9417, 9418, 9419, 9423, 9425, 9436, 9443, 9449, 9457, 9459, 9461, 9463, 9465, 9467, 9473, 9475, 9480, 9482, 9484, 9486, 9488, 9492, 9496, 9504, 9512, 9516, 9521, 9523, 9568, 9572, 9578, 9585, 9587, 9593, 9597, 9599, 9604, 9608, 9612, 9616, 9623, 9624, 9628, 9636, 9645, 9649, 9651, 9653, 9658, 9659, 9664, 9665, 9670, 9671, 9672, 9673, 9677, 9679, 9684, 9686, 9691, 9693, 9695, 9700, 9702, 9708, 9709, 9718, 9719, 9727, 9735, 9741, 9742, 9750, 9769, 9777, 9790, 9794, 9801, 9808, 9815, 9825, 9829, 9833, 9837, 9846, 9851, 9857, 9861, 9867, 9872, 9892, 9896, 9900, 9907, 9911, 9915, 9923, 9927, 9931, 9938, 9943, 9949, 9956, 9970, 9977, 9981, 9993, 10000, 10007, 10014, 10020, 10029, 10035, 10045, 10052, 10059, 10063, 10075, 10084, 10089, 10104, 10113, 10120, 10125, 10134, 10141, 10152, 10158, 10163, 10170, 10171, 10181, 10186, 10192, 10196, 10200, 10204, 10209, 10215, 10222, 10237, 10241, 10248, 10255, 10262, 10269, 10281, 10294, 10307, 10315, 10323, 10338, 10353, 10357, 10366, 10370, 10377, 10382, 10387, 10392, 10397, 10402, 10407, 10412, 10417, 10422, 10427, 10432, 10437, 10442, 10447, 10452, 10457, 10462, 10467, 10472, 10477, 10482, 10492, 10497, 10503, 10508, 10516, 10522, 10526, 10533, 10539, 10550, 10559, 10576, 10584, 10589, 10593, 10606, 10614, 10619, 10626, 10630, 10637, 10653, 10667, 10673, 10681, 10687, 10692, 10696, 10709, 10724, 10730, 10738, 10739, 10740, 10741, 10745, 10746, 10755, 10762, 10767, 10773, 10777, 10784, 10796, 10804, 10806, 10817, 10831, 10840, 10844, 10851, 10863, 10873, 10877, 10882, 10886, 10891, 10895, 10899, 10906, 10910, 10914, 10918, 10931, 10938, 10947, 10953, 10959, 10965, 10969, 10977, 10982, 10990, 10995, 11001, 11007, 11013, 11017, 11025, 11033, 11038, 11045, 11049, 11053, 11057, 11064, 11068, 11072, 11076, 11084, 11094, 11104, 11114, 11119, 11128, 11132, 11137, 11144, 11148, 11161, 11165, 11172, 11177, 11182, 11187, 11192, 11197, 11202, 11211, 11214, 11218, 11222, 11229, 11236, 11237, 11241, 11242, 11246, 11247, 11251, 11252, 11253, 11268, 11272, 11285, 11290, 11295, 11301, 11306, 11313, 11320, 11325, 11331, 11338, 11345, 11352, 11359, 11366, 11373, 11386, 11393, 11398, 11403, 11408, 11413, 11418, 11423, 11428, 11433, 11438, 11447, 11452, 11458, 11463, 11468, 11476, 11481, 11486, 11491, 11496, 11504, 11512, 11520, 11525, 11532, 11542, 11547, 11559, 11564, 11569, 11576, 11582, 11587, 11592, 11597, 11602, 11607, 11612, 11619, 11624, 11629, 11634, 11639, 11644, 11649, 11654, 11659, 11664, 11669, 11674, 11679, 11684, 11689, 11696, 11701, 11706, 11711, 11716, 11721, 11726, 11734, 11742, 11750, 11758, 11771, 11784, 11797, 11810, 11823, 11836, 11849, 11862, 11873, 11884, 11895, 11908, 11919, 11932, 11945, 11959, 11972, 11980, 11988, 12009, 12031, 12052, 12060, 12069, 12074, 12081, 12088, 12092, 12099, 12103, 12107, 12111, 12115, 12119, 12126, 12131, 12135, 12141, 12150, 12155, 12160, 12165, 12170, 12175, 12180, 12185, 12190, 12195, 12200, 12205, 12210, 12215, 12223, 12229, 12235, 12243, 12248, 12251, 12255, 12258, 12266, 12270, 12276, 12282, 12288, 12292, 12295, 12299, 12306, 12313, 12322, 12327, 12332, 12337, 12342, 12347, 12352, 12360, 12364, 12372, 12375, 12383, 12386, 12395, 12398, 12407, 12410, 12419, 12422, 12430, 12435, 12440, 12445, 12450, 12458, 12466, 12474, 12479, 12485, 12490, 12496, 12501, 12507, 12513, 12519, 12523, 12530, 12535, 12541, 12547, 12553, 12562, 12566, 12571, 12577, 12581, 12585, 12592, 12600, 12604, 12609, 12615, 12619, 12623, 12630, 12635, 12643, 12647, 12654, 12658, 12665, 12673, 12681, 12687, 12695, 12703, 12708, 12715, 12723, 12728, 12734, 12741, 12749, 12754, 12760, 12767, 12775, 12781, 12789, 12794, 12800, 12808, 12813, 12819, 12825, 12831, 12835, 12842, 12855, 12870, 12885, 12900, 12917, 12920, 12924, 12928, 12933, 12939, 12944, 12949, 12954, 12959, 12967, 12970, 12974, 12976, 12978, 12981, 13000, 13005, 13013, 13018, 13028, 13036, 13044, 13050, 13056, 13062, 13070, 13074, 13078, 13082, 13088, 13093, 13100, 13105, 13110, 13115, 13126, 13134, 13140, 13146, 13154, 13169, 13173, 13180, 13182, 13189, 13190, 13197, 13201, 13205, 13209, 13213, 13217, 13221, 13225, 13229, 13233, 13237, 13241, 13245, 13249, 13253, 13257, 13261, 13265, 13269, 13276, 13278, 13285, 13293, 13301, 13309, 13317, 13325, 13333, 13341, 13349, 13357, 13365, 13373, 13381, 13389, 13397, 13405, 13413, 13421, 13429, 13437, 13448, 13449, 13450, 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, 13488, 13489, 13490, 13491, 13492, 13493, 13494, 13495, 13496, 13497, 13498, 13499, 13500, 13501, 13502, 13503, 13504, 13505, 13506, 13507, 13508, 13509, 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, 13545, 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, 13610, 13611, 13612, 13613, 13614, 13615, 13616, 13617, 13618, 13619, 13620, 13621, 13622, 13623, 13624, 13625, 13626, 13627, 13628, 13629, 13630, 13631, 13632, 13633, 13634, 13635, 13636, 13637, 13638, 13639, 13640, 13641, 13642, 13643, 13644, 13645, 13646, 13647, 13648, 13649, 13650, 13651, 13652, 13653, 13654, 13655, 13656, 13657, 13658, 13659, 13660, 13661, 13662, 13663, 13664, 13665, 13666, 13667, 13668, 13669, 13670, 13671, 13672, 13673, 13674, 13675, 13676, 13677, 13678, 13679, 13680, 13681, 13682, 13683, 13684, 13685, 13686, 13687, 13688, 13689, 13690, 13691, 13692, 13693, 13694, 13695, 13696, 13697, 13698, 13699, 13700, 13701, 13702, 13703, 13704, 13705, 13706, 13707, 13708, 13709, 13710, 13711, 13712, 13713, 13714, 13715, 13716, 13717, 13718, 13719, 13720, 13721, 13722, 13723, 13724, 13725, 13726, 13727, 13728, 13729, 13730, 13731, 13732, 13733, 13734, 13735, 13736, 13737, 13738, 13739, 13740, 13741, 13742, 13743, 13744, 13745, 13746, 13747, 13748, 13749, 13750, 13751, 13752, 13753, 13754, 13755, 13756, 13757, 13758, 13759, 13760, 13761, 13762, 13763, 13764, 13765, 13766, 13767, 13768, 13769, 13770, 13771, 13772, 13773, 13774, 13775, 13776, 13777, 13778, 13779, 13780, 13781, 13782, 13783, 13784, 13785, 13786, 13787, 13788, 13789, 13790, 13791, 13792, 13793, 13794, 13795, 13796, 13797, 13798, 13799, 13800, 13801, 13802, 13803, 13804, 13805, 13806, 13807, 13808, 13809, 13810, 13811, 13812, 13813, 13814, 13815, 13816, 13817, 13818, 13819, 13820, 13821, 13822, 13823, 13824, 13825, 13826, 13827, 13828, 13829, 13830, 13831, 13832, 13833, 13834, 13835, 13836, 13837, 13838, 13839, 13840, 13841, 13842, 13843, 13844, 13845, 13846, 13847, 13848, 13849, 13850, 13851, 13852, 13853, 13854, 13855, 13856, 13857, 13858, 13859, 13860, 13861, 13862, 13863, 13864, 13865, 13866, 13867, 13868, 13869, 13870, 13871, 13872, 13873, 13874, 13875, 13876, 13877, 13878, 13879, 13880, 13881, 13882, 13883, 13884, 13885, 13886, 13887, 13888, 13889, 13890, 13891, 13892, 13893, 13894, 13895, 13896, 13897, 13898, 13899, 13900, 13901, 13902, 13903, 13904, 13905, 13906, 13907, 13908, 13909, 13910, 13911, 13912, 13913, 13914, 13915, 13916, 13917, 13918, 13919, 13920, 13921, 13922, 13923, 13924, 13925, 13926, 13927, 13928, 13929, 13930, 13931, 13932, 13933, 13934, 13935, 13936, 13937, 13938, 13939, 13940, 13941, 13942, 13943, 13944, 13945, 13946, 13947, 13948, 13949, 13950, 13951, 13952, 13953, 13954, 13955, 13956, 13957, 13958, 13959, 13960, 13961, 13962, 13963, 13964, 13965, 13966, 13967, 13968, 13969, 13970, 13971, 13972, 13973, 13974, 13975, 13976, 13977, 13978, 13979, 13980, 13981, 13982, 13983, 13984, 13985, 13986, 13987, 13988, 13989, 13990, 13991, 13992, 13993, 13994, 13995, 13996, 13997, 13998, 13999, 14000, 14001, 14002, 14003, 14004, 14005, 14006, 14007, 14008, 14009, 14010, 14011, 14012, 14013, 14014, 14015, 14016, 14017, 14018, 14019, 14020, 14021, 14022, 14023, 14024, 14025, 14026, 14027, 14028, 14029, 14030, 14031, 14032, 14033, 14034, 14035, 14036, 14037, 14038, 14039, 14040, 14041, 14042, 14043, 14044, 14045, 14046, 14047, 14048, 14049, 14050, 14051, 14052, 14053, 14054, 14055, 14056, 14057, 14058, 14059, 14060, 14061, 14062, 14063, 14064, 14065, 14066, 14067, 14068, 14069, 14070, 14071, 14072, 14073, 14074, 14075, 14076, 14077, 14078, 14079, 14080, 14081, 14082, 14083, 14084, 14085, 14086, 14087, 14088, 14089, 14090, 14091, 14092, 14093, 14094, 14095, 14096, 14097, 14098, 14099, 14100, 14101, 14102, 14103, 14104, 14105, 14106, 14110, 14113, 14117, 14118, 14120, 14121, 14122, 14123, 14124, 14125, 14126, 14127, 14128, 14129, 14130, 14132, 14133, 14134, 14135, 14136, 14137, 14138, 14139, 14140, 14141, 14142, 14143, 14144, 14145, 14146, 14147, 14148, 14149, 14150, 14151, 14152, 14153, 14154, 14155, 14156, 14157, 14158, 14159, 14160, 14161, 14162, 14163, 14164, 14165, 14166, 14168, 14169, 14170, 14171, 14172, 14173, 14174, 14175, 14176, 14177, 14178, 14179, 14180, 14181, 14182, 14183, 14184, 14185, 14186, 14187, 14189, 14190, 14191, 14192, 14193, 14194, 14195, 14196, 14197, 14198, 14199, 14200, 14201, 14202, 14203, 14204, 14205, 14206, 14207, 14208, 14209, 14210, 14211, 14212, 14213, 14214, 14215, 14216, 14217, 14218, 14219, 14220, 14221, 14222, 14223, 14225, 14226, 14227, 14228, 14229, 14230, 14231, 14232, 14233, 14234, 14235, 14236, 14237, 14238, 14239, 14240, 14241, 14242, 14243, 14244, 14245, 14246, 14247, 14248, 14249, 14250, 14251, 14252, 14253, 14254, 14255, 14256, 14257, 14258, 14259, 14260, 14261, 14262, 14263, 14264, 14265, 14266, 14267, 14268, 14269, 14270, 14271, 14272, 14273, 14274, 14275, 14276, 14277, 14278, 14279, 14280, 14281, 14282, 14283, 14284, 14285, 14286, 14287, 14288, 14290, 14291, 14292, 14293, 14294, 14295, 14296, 14297, 14298, 14299, 14300, 14301, 14302, 14304, 14305, 14306, 14307, 14308, 14309, 14310, 14311, 14312, 14313, 14314, 14315, 14317, 14318, 14319, 14321, 14322, 14323, 14324, 14325, 14326, 14327, 14328, 14329, 14330, 14331, 14332, 14333, 14334, 14335, 14337, 14338, 14339, 14340, 14341, 14342, 14343 }; #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", "'('", "')'", "SQL_NO_CACHE", "SQL_CACHE", "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", "BACKED", "BACKUPPIECE", "BACKUP_BACKUP_DEST", "BACKUPROUND", "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", "PREVIEW", "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_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", "TIMES", "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", "UP", "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", "opt_ws_as_char", "opt_ws_levels", "ws_level_list_or_range", "ws_level_list", "ws_level_list_item", "ws_level_range", "ws_level_number", "ws_level_flags", "ws_nweights", "ws_level_flag_desc", "ws_level_flag_reverse", "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_engine_option", "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", "with_select", "with_clause", "with_list", "common_table_expr", "opt_column_alias_name_list", "alias_name_list", "column_alias_name", "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_backup_dest", "opt_backup_backup_dest", "opt_with_active_piece", "opt_server_list", "opt_ignore_server_list", "zone_action", "ip_port", "zone_desc", "opt_zone_desc", "opt_copy_id", "opt_preview", "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", "opt_tenant_info", "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, 326, 327, 46, 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, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 33, 64, 39, 1272 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { 0, 1034, 1035, 1036, 1036, 1036, 1036, 1037, 1037, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1039, 1039, 1040, 1040, 1041, 1041, 1041, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1043, 1043, 1043, 1044, 1044, 1044, 1044, 1044, 1044, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1046, 1046, 1047, 1047, 1047, 1047, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1049, 1049, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1052, 1052, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1055, 1055, 1055, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1057, 1057, 1058, 1058, 1059, 1059, 1059, 1060, 1060, 1061, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1063, 1063, 1064, 1064, 1065, 1065, 1066, 1066, 1067, 1067, 1068, 1068, 1068, 1069, 1069, 1070, 1070, 1071, 1071, 1072, 1072, 1073, 1074, 1075, 1075, 1076, 1076, 1077, 1077, 1078, 1078, 1079, 1079, 1080, 1080, 1081, 1081, 1082, 1082, 1083, 1083, 1084, 1085, 1085, 1086, 1086, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1088, 1088, 1089, 1089, 1089, 1090, 1090, 1090, 1091, 1091, 1092, 1092, 1093, 1093, 1093, 1094, 1094, 1094, 1095, 1095, 1095, 1096, 1096, 1096, 1097, 1097, 1097, 1098, 1098, 1099, 1099, 1099, 1099, 1100, 1101, 1102, 1102, 1103, 1103, 1103, 1104, 1104, 1104, 1104, 1105, 1105, 1106, 1106, 1107, 1107, 1108, 1108, 1109, 1109, 1110, 1111, 1112, 1113, 1113, 1113, 1113, 1114, 1115, 1115, 1116, 1117, 1117, 1118, 1118, 1119, 1120, 1120, 1121, 1122, 1122, 1123, 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1125, 1125, 1125, 1126, 1126, 1126, 1126, 1127, 1127, 1128, 1128, 1129, 1129, 1130, 1130, 1130, 1131, 1131, 1131, 1131, 1132, 1132, 1133, 1134, 1134, 1134, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1136, 1136, 1136, 1136, 1137, 1137, 1138, 1138, 1139, 1139, 1140, 1140, 1140, 1140, 1141, 1142, 1143, 1144, 1145, 1145, 1146, 1147, 1147, 1148, 1148, 1149, 1149, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1151, 1151, 1152, 1153, 1154, 1154, 1155, 1156, 1156, 1157, 1157, 1157, 1158, 1158, 1158, 1159, 1159, 1160, 1160, 1160, 1161, 1161, 1162, 1162, 1162, 1163, 1163, 1164, 1164, 1165, 1165, 1166, 1166, 1167, 1168, 1169, 1169, 1169, 1169, 1170, 1170, 1171, 1171, 1172, 1172, 1173, 1173, 1174, 1174, 1175, 1175, 1176, 1176, 1176, 1177, 1177, 1178, 1178, 1179, 1179, 1179, 1179, 1179, 1179, 1180, 1180, 1181, 1181, 1181, 1181, 1182, 1183, 1184, 1184, 1185, 1185, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1187, 1187, 1188, 1188, 1189, 1189, 1189, 1189, 1189, 1190, 1190, 1191, 1191, 1191, 1192, 1192, 1193, 1193, 1194, 1194, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1196, 1196, 1196, 1197, 1197, 1197, 1198, 1198, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1201, 1201, 1201, 1202, 1202, 1202, 1202, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1204, 1204, 1205, 1205, 1206, 1206, 1206, 1206, 1206, 1207, 1207, 1207, 1207, 1207, 1208, 1208, 1208, 1209, 1209, 1210, 1210, 1210, 1210, 1211, 1211, 1211, 1211, 1212, 1212, 1213, 1213, 1214, 1214, 1214, 1215, 1215, 1215, 1216, 1216, 1217, 1217, 1218, 1219, 1219, 1220, 1220, 1221, 1221, 1221, 1222, 1222, 1223, 1223, 1224, 1224, 1225, 1226, 1226, 1227, 1227, 1227, 1228, 1228, 1229, 1229, 1230, 1231, 1231, 1232, 1232, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1234, 1234, 1235, 1235, 1235, 1236, 1236, 1237, 1237, 1238, 1238, 1239, 1239, 1240, 1240, 1241, 1241, 1241, 1241, 1242, 1242, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1244, 1244, 1245, 1245, 1245, 1246, 1246, 1247, 1247, 1248, 1248, 1248, 1248, 1249, 1249, 1249, 1250, 1251, 1251, 1252, 1253, 1253, 1253, 1254, 1254, 1255, 1255, 1256, 1256, 1256, 1256, 1257, 1257, 1258, 1258, 1259, 1259, 1260, 1260, 1261, 1261, 1262, 1262, 1263, 1263, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1265, 1265, 1265, 1265, 1265, 1265, 1266, 1267, 1267, 1268, 1269, 1270, 1270, 1271, 1272, 1273, 1273, 1274, 1275, 1275, 1275, 1275, 1276, 1277, 1277, 1278, 1279, 1279, 1280, 1281, 1281, 1282, 1283, 1284, 1284, 1285, 1286, 1286, 1287, 1287, 1288, 1288, 1289, 1289, 1290, 1290, 1291, 1291, 1292, 1292, 1293, 1293, 1294, 1294, 1295, 1295, 1295, 1295, 1295, 1296, 1297, 1298, 1298, 1299, 1299, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1301, 1301, 1301, 1301, 1301, 1302, 1303, 1304, 1304, 1304, 1305, 1305, 1306, 1306, 1307, 1307, 1308, 1308, 1308, 1308, 1308, 1309, 1309, 1310, 1311, 1311, 1312, 1312, 1313, 1314, 1315, 1315, 1316, 1316, 1317, 1318, 1318, 1319, 1319, 1320, 1321, 1321, 1322, 1322, 1323, 1324, 1324, 1325, 1325, 1326, 1327, 1327, 1328, 1329, 1329, 1330, 1330, 1331, 1331, 1332, 1332, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1334, 1334, 1335, 1335, 1336, 1336, 1336, 1337, 1338, 1338, 1339, 1340, 1340, 1341, 1341, 1342, 1343, 1343, 1344, 1344, 1344, 1344, 1345, 1345, 1346, 1346, 1347, 1347, 1348, 1348, 1349, 1349, 1350, 1351, 1351, 1352, 1352, 1353, 1353, 1354, 1354, 1355, 1355, 1355, 1356, 1356, 1357, 1357, 1357, 1357, 1358, 1359, 1359, 1359, 1360, 1360, 1360, 1361, 1361, 1362, 1362, 1362, 1362, 1362, 1363, 1363, 1364, 1364, 1364, 1365, 1365, 1365, 1366, 1366, 1366, 1367, 1367, 1368, 1368, 1369, 1369, 1370, 1370, 1371, 1371, 1372, 1372, 1373, 1374, 1375, 1375, 1375, 1376, 1376, 1377, 1377, 1377, 1377, 1378, 1378, 1379, 1379, 1380, 1380, 1380, 1381, 1381, 1381, 1382, 1382, 1383, 1383, 1384, 1384, 1385, 1385, 1386, 1386, 1387, 1387, 1387, 1387, 1388, 1388, 1389, 1389, 1390, 1390, 1391, 1392, 1392, 1392, 1393, 1393, 1394, 1394, 1394, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1396, 1396, 1397, 1397, 1397, 1398, 1398, 1399, 1399, 1400, 1400, 1400, 1400, 1400, 1400, 1401, 1401, 1402, 1402, 1403, 1403, 1404, 1404, 1405, 1405, 1405, 1405, 1405, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1407, 1407, 1408, 1409, 1409, 1410, 1411, 1411, 1411, 1412, 1412, 1413, 1413, 1414, 1415, 1415, 1416, 1417, 1417, 1417, 1418, 1418, 1419, 1419, 1420, 1420, 1421, 1421, 1421, 1421, 1421, 1421, 1422, 1422, 1422, 1422, 1422, 1423, 1423, 1424, 1424, 1425, 1426, 1426, 1427, 1427, 1428, 1428, 1428, 1428, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1430, 1431, 1432, 1432, 1433, 1433, 1433, 1433, 1434, 1435, 1435, 1436, 1436, 1437, 1437, 1438, 1439, 1439, 1440, 1440, 1441, 1441, 1442, 1442, 1442, 1442, 1443, 1443, 1444, 1444, 1445, 1445, 1446, 1446, 1447, 1447, 1448, 1448, 1449, 1449, 1450, 1450, 1451, 1451, 1452, 1452, 1452, 1453, 1453, 1454, 1455, 1455, 1456, 1456, 1457, 1457, 1458, 1458, 1459, 1460, 1460, 1460, 1460, 1460, 1460, 1461, 1461, 1462, 1462, 1462, 1462, 1463, 1463, 1464, 1464, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1466, 1466, 1467, 1467, 1468, 1468, 1468, 1469, 1469, 1470, 1470, 1470, 1471, 1471, 1472, 1472, 1473, 1473, 1474, 1474, 1475, 1475, 1476, 1476, 1476, 1477, 1477, 1478, 1478, 1479, 1480, 1480, 1481, 1482, 1483, 1483, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1485, 1485, 1485, 1486, 1486, 1486, 1486, 1487, 1487, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1489, 1489, 1490, 1490, 1490, 1491, 1491, 1491, 1492, 1492, 1493, 1493, 1494, 1494, 1494, 1494, 1495, 1495, 1496, 1496, 1497, 1497, 1497, 1498, 1498, 1499, 1499, 1500, 1500, 1500, 1500, 1501, 1501, 1501, 1502, 1502, 1503, 1503, 1504, 1504, 1504, 1505, 1505, 1505, 1505, 1506, 1506, 1507, 1507, 1508, 1508, 1509, 1509, 1509, 1510, 1510, 1510, 1511, 1511, 1511, 1512, 1512, 1513, 1514, 1515, 1516, 1516, 1517, 1517, 1517, 1517, 1517, 1518, 1518, 1519, 1520, 1521, 1521, 1522, 1523, 1523, 1524, 1525, 1526, 1526, 1527, 1527, 1528, 1528, 1528, 1529, 1529, 1530, 1530, 1531, 1531, 1531, 1531, 1531, 1532, 1532, 1533, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1540, 1540, 1541, 1542, 1542, 1543, 1543, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1545, 1545, 1546, 1546, 1546, 1546, 1546, 1547, 1547, 1548, 1548, 1549, 1550, 1551, 1551, 1552, 1553, 1553, 1554, 1554, 1555, 1555, 1555, 1555, 1556, 1556, 1556, 1556, 1556, 1557, 1557, 1558, 1558, 1558, 1558, 1559, 1559, 1560, 1561, 1561, 1562, 1562, 1563, 1564, 1565, 1565, 1566, 1567, 1568, 1568, 1569, 1570, 1571, 1571, 1571, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1573, 1573, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1575, 1575, 1576, 1576, 1576, 1576, 1576, 1577, 1577, 1578, 1578, 1578, 1578, 1579, 1579, 1579, 1579, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1581, 1581, 1582, 1582, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1584, 1584, 1584, 1584, 1585, 1586, 1586, 1587, 1587, 1588, 1588, 1589, 1589, 1589, 1590, 1590, 1591, 1591, 1591, 1591, 1591, 1592, 1592, 1592, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1595, 1595, 1596, 1597, 1597, 1598, 1598, 1598, 1598, 1598, 1598, 1599, 1599, 1600, 1600, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1602, 1602, 1602, 1603, 1603, 1604, 1604, 1605, 1606, 1606, 1607, 1607, 1608, 1608, 1609, 1609, 1610, 1610, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1612, 1612, 1613, 1613, 1614, 1614, 1615, 1615, 1616, 1616, 1617, 1617, 1618, 1618, 1618, 1618, 1618, 1619, 1620, 1621, 1621, 1622, 1622, 1623, 1623, 1624, 1624, 1625, 1625, 1626, 1626, 1627, 1627, 1627, 1628, 1628, 1628, 1629, 1629, 1629, 1630, 1631, 1631, 1631, 1632, 1632, 1632, 1633, 1633, 1634, 1634, 1635, 1635, 1636, 1637, 1638, 1638, 1639, 1640, 1640, 1641, 1642, 1642, 1643, 1644, 1645, 1645, 1646, 1646, 1646, 1647, 1648, 1648, 1649, 1650, 1650, 1651, 1651, 1652, 1652, 1653, 1653, 1653, 1653, 1653, 1654, 1654, 1655, 1655, 1655, 1656, 1656, 1656, 1656, 1656, 1657, 1657, 1658, 1658, 1658, 1658, 1659, 1659, 1660, 1660, 1661, 1662, 1663, 1663, 1663, 1663, 1664, 1664, 1664, 1664, 1665, 1665, 1666, 1666, 1666, 1666, 1667, 1668, 1668, 1668, 1669, 1670, 1670, 1671, 1671, 1672, 1672, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1674, 1674, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1676, 1676, 1676, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1678, 1679, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680 }; /* 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, 6, 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, 7, 12, 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, 0, 3, 0, 2, 1, 1, 1, 3, 2, 3, 1, 0, 1, 2, 1, 3, 1, 1, 1, 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, 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, 3, 3, 0, 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, 1, 2, 3, 3, 3, 2, 2, 2, 4, 10, 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, 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, 3, 2, 2, 3, 3, 1, 6, 6, 6, 3, 0, 1, 3, 1, 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, 3, 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, 5, 6, 8, 4, 4, 4, 4, 9, 6, 5, 6, 4, 6, 5, 5, 4, 7, 5, 6, 6, 5, 6, 14, 12, 5, 7, 7, 9, 8, 3, 3, 4, 5, 4, 4, 4, 6, 6, 5, 6, 6, 5, 5, 5, 6, 5, 6, 7, 8, 12, 5, 5, 8, 9, 13, 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, 2, 0, 3, 0, 2, 0, 5, 0, 2, 1, 1, 1, 2, 1, 3, 3, 1, 0, 2, 0, 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, 3, 0, 3, 1, 0, 3, 1, 0, 2, 0, 1, 3, 7, 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, 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, 981, 1110, 1475, 1474, 1031, 1473, 0, 1060, 0, 0, 0, 0, 0, 0, 1058, 0, 1106, 0, 2033, 0, 1108, 0, 0, 1610, 1610, 1700, 0, 0, 0, 0, 1610, 0, 0, 977, 0, 0, 2, 0, 20, 19, 53, 54, 55, 48, 49, 50, 51, 52, 15, 16, 17, 72, 556, 18, 64, 65, 14, 11, 12, 13, 58, 59, 60, 47, 44, 21, 22, 45, 10, 1054, 1054, 9, 1073, 1072, 1057, 1084, 1244, 1244, 1244, 1099, 0, 1085, 1087, 1088, 1282, 1054, 0, 1086, 1074, 0, 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, 1096, 0, 0, 1220, 1217, 1219, 0, 0, 0, 0, 0, 0, 1168, 0, 0, 1173, 0, 0, 0, 0, 0, 0, 1198, 0, 0, 0, 0, 0, 1162, 1201, 1204, 0, 1186, 1187, 1199, 1200, 0, 0, 0, 1205, 0, 0, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 0, 1209, 0, 0, 1222, 0, 1221, 1213, 1218, 0, 0, 1107, 0, 0, 1157, 1109, 1111, 1061, 1059, 555, 531, 532, 0, 0, 0, 0, 0, 1774, 0, 0, 552, 0, 990, 620, 611, 0, 0, 601, 620, 620, 620, 0, 0, 587, 0, 0, 1036, 0, 1036, 1030, 586, 0, 0, 1029, 1036, 0, 1036, 0, 0, 0, 1657, 1634, 1635, 1637, 1638, 0, 1643, 1640, 1642, 0, 1641, 1649, 1651, 1648, 1647, 0, 1630, 1632, 2065, 99, 111, 109, 110, 114, 112, 113, 115, 121, 120, 209, 116, 2514, 2198, 2422, 2268, 2962, 2333, 2732, 2850, 2930, 2300, 2872, 2796, 2867, 2904, 2982, 2772, 2822, 2955, 303, 2777, 2920, 2847, 2873, 2865, 2264, 0, 0, 2817, 2895, 0, 0, 2612, 2610, 2688, 0, 228, 2898, 2789, 2779, 2861, 2868, 2900, 2462, 2862, 104, 102, 103, 105, 107, 106, 2768, 2769, 2770, 2771, 2773, 2774, 2775, 2776, 2778, 2780, 2781, 2782, 2783, 2785, 2786, 2787, 2788, 2790, 2791, 2792, 2793, 2794, 2795, 408, 412, 401, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2818, 2819, 2820, 2821, 2823, 2824, 2825, 2826, 2827, 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2835, 2836, 2837, 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, 2846, 2848, 2849, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, 2859, 2860, 2863, 2864, 2866, 2869, 2870, 2871, 2874, 2875, 2876, 2877, 402, 403, 2880, 2881, 2882, 2883, 2884, 2885, 2886, 2887, 2888, 2889, 2890, 2891, 2892, 2893, 2894, 2896, 2897, 2899, 2901, 2902, 2903, 2905, 2906, 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2931, 2932, 2933, 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2950, 2951, 2952, 2953, 2954, 2956, 2957, 2958, 2959, 2960, 2961, 2963, 2964, 2965, 2966, 2967, 2968, 394, 391, 388, 2972, 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2983, 2984, 2767, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2128, 2129, 2131, 2132, 2133, 2134, 2135, 2136, 2746, 2755, 2127, 2130, 2137, 2143, 2139, 2140, 2141, 2142, 2144, 2145, 2146, 2147, 2149, 2151, 2150, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2148, 2138, 2765, 2759, 2761, 2762, 2160, 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2179, 2178, 2180, 2181, 2182, 2183, 2188, 2184, 2185, 2186, 2187, 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2214, 2215, 2217, 2216, 2213, 2218, 2219, 2220, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2236, 2237, 2235, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2221, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2265, 2266, 2267, 2269, 2270, 2271, 2272, 2274, 2275, 2470, 2276, 2277, 2278, 2280, 2273, 2279, 2281, 2282, 2284, 2285, 2287, 2288, 2289, 2290, 2291, 2292, 2294, 2296, 2297, 2298, 2299, 2293, 2283, 2295, 2286, 2301, 2302, 2303, 2304, 2305, 2307, 2309, 2308, 2310, 2306, 135, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2326, 2324, 2325, 2327, 2328, 2329, 2330, 2331, 2332, 2334, 2336, 2337, 2338, 2341, 2340, 2342, 2745, 2408, 2339, 2335, 2162, 2343, 2344, 2345, 2346, 2161, 2347, 2348, 2349, 2350, 2351, 2352, 2355, 2356, 2353, 2354, 2358, 2359, 2360, 2362, 2363, 2742, 2364, 2365, 2367, 2368, 2369, 2752, 2357, 2361, 2366, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2409, 2411, 2412, 2413, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2414, 2432, 2754, 2723, 2410, 2433, 2434, 2435, 2436, 2437, 2438, 2439, 2440, 2441, 2443, 2444, 2445, 2447, 2448, 2449, 2450, 2454, 2453, 2455, 2451, 2452, 2442, 2751, 2446, 2758, 2456, 2457, 2458, 2459, 2460, 2463, 2464, 2465, 2466, 2467, 2468, 2471, 2461, 2472, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2766, 2482, 2481, 2483, 2743, 2484, 2486, 2487, 2488, 2489, 2490, 2491, 2756, 2757, 2749, 2485, 2492, 2493, 2494, 2496, 2497, 2498, 2500, 2502, 2503, 2504, 2505, 2506, 2508, 2495, 2510, 2511, 2512, 2501, 2499, 2509, 2507, 2760, 2513, 2515, 2516, 2519, 2520, 2523, 2527, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2560, 2561, 2564, 2562, 2563, 2565, 2566, 2559, 2567, 2568, 2569, 2570, 2571, 2524, 2525, 2526, 2522, 2753, 2469, 2750, 2517, 2518, 2521, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2590, 2591, 2592, 2593, 2595, 2596, 2597, 2677, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2611, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2625, 2623, 2624, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2640, 2747, 2635, 2636, 2637, 2638, 2639, 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, 136, 2660, 2594, 2661, 2662, 2664, 2665, 2663, 2666, 2667, 2668, 2670, 2672, 2673, 2674, 2675, 2678, 2679, 2680, 2681, 2682, 2683, 2686, 2685, 2687, 2689, 2690, 2691, 2692, 2693, 2694, 2671, 2669, 2695, 2676, 2748, 2684, 2764, 2696, 2697, 2698, 2699, 2700, 2702, 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2701, 2710, 2711, 2712, 2713, 2763, 2714, 2716, 2717, 2718, 2721, 2725, 2724, 2744, 2722, 2715, 2719, 2720, 2726, 2727, 2729, 2730, 2731, 2733, 2734, 2728, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 227, 193, 108, 0, 119, 194, 0, 223, 152, 173, 190, 1626, 0, 206, 208, 207, 382, 338, 339, 340, 335, 334, 412, 336, 337, 0, 200, 87, 0, 0, 2066, 2110, 2111, 2112, 0, 554, 0, 0, 0, 0, 1784, 0, 0, 0, 0, 0, 1657, 0, 2063, 0, 0, 2514, 2198, 2688, 0, 0, 2116, 2124, 2125, 2126, 2128, 2135, 2165, 538, 2183, 2185, 2208, 2214, 2217, 2213, 2224, 2225, 2226, 2230, 2235, 2246, 2254, 2280, 2289, 2294, 2304, 1687, 2309, 2308, 0, 2317, 2339, 2346, 2347, 2350, 2351, 2360, 2362, 2361, 2366, 2393, 2412, 2415, 2421, 2425, 2434, 2448, 2451, 2452, 1590, 2481, 2494, 2513, 2556, 2566, 2567, 2526, 2517, 2577, 1688, 2587, 2631, 2632, 2633, 2634, 2643, 2647, 2648, 2650, 2658, 2659, 0, 2680, 2681, 2682, 2683, 2691, 2692, 2711, 2717, 2719, 2720, 2729, 2730, 2738, 0, 1671, 1674, 1682, 0, 0, 2064, 2032, 0, 1517, 1537, 1539, 0, 1491, 1518, 0, 538, 1544, 0, 1521, 0, 1529, 1590, 1538, 1531, 1544, 1513, 0, 1514, 0, 1530, 1528, 1544, 1526, 1544, 1542, 1521, 1544, 1526, 0, 0, 0, 0, 1599, 2067, 2169, 581, 533, 2068, 2522, 1446, 1449, 1454, 1609, 1616, 1624, 0, 0, 0, 2088, 1695, 1668, 2089, 1033, 1034, 0, 0, 0, 1609, 1625, 2058, 1615, 976, 0, 0, 0, 0, 0, 0, 0, 1, 5, 7, 557, 558, 0, 1053, 1052, 1052, 0, 0, 1104, 0, 1071, 1075, 0, 1100, 0, 1079, 1116, 1115, 1113, 1114, 1119, 1118, 0, 1081, 0, 1080, 0, 1089, 0, 1289, 1290, 1285, 1286, 1288, 1287, 0, 1281, 1283, 0, 0, 1123, 0, 1383, 1388, 0, 1102, 1445, 1057, 0, 2142, 2470, 2276, 2277, 2294, 2480, 2486, 1477, 1479, 1478, 1476, 1548, 1381, 1382, 1465, 1389, 0, 1077, 1076, 1078, 1396, 1396, 0, 0, 0, 0, 0, 1396, 1396, 1396, 1396, 1396, 0, 0, 1396, 1396, 1396, 1396, 1396, 0, 1396, 0, 1396, 1396, 0, 1396, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 0, 0, 1396, 1396, 0, 0, 0, 1153, 1158, 1774, 1774, 0, 0, 0, 0, 1930, 1974, 1975, 1931, 0, 0, 0, 1773, 1855, 0, 2040, 0, 2014, 1816, 0, 1985, 0, 0, 2041, 0, 1936, 0, 0, 0, 1976, 1984, 1856, 0, 0, 0, 0, 0, 0, 1993, 0, 2026, 1933, 1934, 1992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1774, 1774, 1575, 1574, 1578, 1582, 0, 1576, 551, 1774, 980, 0, 0, 620, 620, 0, 0, 0, 0, 620, 0, 0, 982, 0, 0, 620, 0, 0, 0, 1461, 0, 1036, 1036, 0, 0, 1582, 1581, 0, 0, 1036, 1036, 1656, 1631, 1653, 1652, 0, 1650, 1636, 1644, 1639, 1646, 1645, 0, 0, 0, 1628, 1627, 0, 302, 0, 209, 2898, 196, 197, 0, 198, 2980, 0, 80, 200, 2930, 2872, 2784, 2895, 2779, 2861, 2787, 2794, 2797, 2798, 2799, 2800, 2802, 2810, 2826, 2845, 2853, 2878, 2879, 2887, 2923, 2924, 2932, 2969, 2970, 2971, 2972, 0, 0, 218, 192, 0, 0, 0, 0, 0, 406, 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 426, 0, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, 0, 423, 0, 0, 426, 0, 426, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 310, 310, 310, 0, 426, 0, 0, 0, 0, 0, 0, 310, 310, 310, 0, 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, 400, 0, 0, 421, 0, 1785, 1038, 1787, 1786, 1781, 1780, 1783, 1782, 2062, 0, 1703, 1704, 1578, 1593, 1591, 1631, 0, 1692, 1691, 0, 0, 0, 0, 0, 2044, 2048, 539, 0, 0, 0, 0, 1689, 0, 758, 759, 760, 762, 761, 767, 0, 0, 0, 1690, 2043, 0, 2065, 0, 2066, 0, 0, 1535, 0, 1536, 0, 0, 0, 0, 0, 620, 1542, 1542, 0, 0, 1504, 0, 0, 1498, 1542, 0, 1501, 1522, 2003, 1516, 1544, 1508, 1525, 1510, 1503, 1541, 1540, 0, 1544, 1497, 1502, 1544, 1512, 1544, 1544, 0, 1533, 1534, 1507, 1542, 0, 1447, 0, 0, 0, 1790, 0, 0, 1788, 0, 1794, 0, 1693, 1297, 1598, 1600, 0, 2573, 2059, 0, 0, 1617, 1612, 1702, 1619, 1622, 1620, 1621, 1623, 1618, 8, 6, 0, 1051, 0, 0, 0, 0, 1105, 1137, 0, 2247, 1132, 1136, 1138, 1101, 1246, 1120, 1121, 1122, 1117, 1096, 1094, 1092, 1095, 1091, 1090, 1093, 1295, 1291, 1298, 1133, 1284, 0, 1307, 0, 1301, 1303, 1305, 1306, 1309, 1304, 1123, 0, 1389, 1125, 452, 0, 0, 0, 1385, 1103, 1444, 1392, 1393, 1466, 1467, 1468, 1469, 0, 1471, 1470, 1549, 1464, 1550, 0, 1699, 0, 0, 0, 0, 0, 0, 1227, 1226, 1225, 0, 0, 0, 0, 0, 0, 0, 0, 1229, 1228, 0, 1231, 1230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1400, 0, 0, 0, 789, 0, 0, 0, 0, 0, 0, 1770, 1770, 1770, 0, 0, 1772, 1773, 1770, 0, 0, 1737, 1740, 1738, 1739, 1707, 1708, 1717, 1716, 1724, 1715, 1718, 1712, 1713, 834, 977, 0, 0, 0, 0, 1741, 1742, 1743, 1744, 958, 971, 959, 1732, 0, 0, 0, 0, 2408, 0, 463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1935, 0, 0, 1857, 832, 832, 0, 832, 832, 1795, 1926, 1932, 0, 1859, 0, 0, 0, 0, 0, 0, 2003, 0, 0, 1898, 1907, 0, 1909, 1904, 1903, 1906, 1900, 1902, 0, 1901, 2012, 2003, 1899, 1908, 1910, 1911, 1905, 0, 1947, 832, 1980, 1967, 1967, 0, 0, 1841, 1829, 1831, 1830, 1832, 0, 1967, 832, 0, 0, 1389, 1861, 0, 0, 832, 832, 832, 832, 832, 1967, 2024, 0, 0, 0, 0, 1860, 0, 0, 0, 1959, 0, 0, 0, 0, 0, 0, 1825, 2015, 0, 0, 0, 0, 0, 1957, 1957, 0, 1837, 497, 0, 1597, 1596, 526, 497, 1577, 1579, 0, 0, 0, 1587, 0, 0, 834, 0, 961, 0, 0, 528, 497, 1563, 1553, 1578, 834, 0, 0, 0, 0, 0, 0, 0, 1037, 956, 618, 0, 0, 529, 600, 549, 588, 0, 597, 589, 0, 0, 1654, 1655, 1658, 0, 1661, 1633, 224, 0, 0, 308, 304, 0, 0, 201, 0, 0, 0, 0, 80, 0, 409, 0, 411, 2065, 0, 660, 0, 0, 0, 1062, 0, 395, 0, 392, 0, 389, 0, 0, 0, 0, 0, 0, 0, 427, 428, 429, 0, 0, 309, 0, 0, 0, 407, 0, 404, 0, 0, 0, 0, 0, 0, 2091, 2092, 2093, 2094, 2096, 2097, 2098, 2101, 2102, 2106, 2109, 2090, 2095, 2099, 2100, 2103, 2104, 2105, 2107, 2108, 0, 0, 0, 680, 678, 681, 679, 0, 424, 425, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0, 0, 0, 0, 0, 0, 1251, 0, 0, 0, 0, 0, 432, 0, 122, 219, 137, 221, 0, 229, 2123, 2600, 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, 2861, 180, 2861, 181, 184, 185, 186, 188, 187, 189, 0, 0, 0, 0, 195, 753, 754, 765, 216, 215, 217, 214, 213, 0, 0, 91, 88, 0, 0, 89, 422, 82, 1297, 0, 90, 0, 0, 0, 0, 0, 0, 0, 1678, 1677, 1679, 1676, 1684, 1681, 1680, 2053, 2052, 0, 0, 0, 0, 0, 2045, 2047, 766, 2042, 1578, 0, 2046, 1687, 1688, 1675, 0, 1686, 1685, 1495, 1493, 1515, 1496, 1511, 1494, 0, 1544, 1544, 1545, 1547, 0, 1520, 1544, 1523, 832, 2002, 1505, 1489, 1543, 1488, 1483, 1509, 1490, 1542, 1544, 0, 1448, 0, 1455, 1457, 0, 0, 0, 0, 1698, 1694, 1696, 1296, 0, 1608, 1605, 0, 1602, 0, 702, 1670, 703, 1669, 1667, 2061, 2060, 0, 0, 559, 1042, 0, 1359, 1056, 1276, 1272, 1273, 1240, 1241, 1128, 764, 1131, 0, 1249, 1250, 0, 1245, 1296, 0, 1292, 0, 1134, 1082, 1307, 0, 0, 1356, 0, 0, 0, 1443, 1426, 1443, 0, 1432, 1436, 0, 0, 0, 0, 1361, 1362, 0, 0, 2572, 1316, 1310, 0, 1379, 1320, 1333, 1271, 0, 0, 1126, 0, 1384, 453, 1387, 1388, 1481, 1480, 0, 1390, 1391, 1395, 1396, 0, 0, 1412, 1400, 1166, 0, 1165, 1163, 1169, 0, 0, 1397, 1400, 1404, 1400, 0, 0, 1400, 1400, 1400, 1175, 1197, 1400, 1400, 1400, 1400, 1400, 1210, 1400, 1211, 1400, 0, 1401, 789, 1399, 0, 1203, 1223, 0, 788, 0, 1215, 1400, 0, 1212, 1202, 1365, 1769, 998, 1366, 0, 1364, 0, 993, 0, 0, 0, 0, 0, 0, 0, 0, 1768, 2645, 1777, 0, 0, 1771, 0, 0, 0, 0, 0, 0, 1774, 833, 0, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 827, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 820, 1711, 792, 825, 0, 0, 0, 0, 0, 0, 0, 1774, 832, 832, 832, 832, 832, 973, 962, 0, 0, 1463, 0, 0, 832, 832, 832, 489, 479, 832, 832, 832, 832, 832, 832, 832, 832, 488, 461, 0, 829, 830, 1973, 828, 2003, 2676, 1896, 1850, 1959, 1959, 1959, 1959, 1867, 832, 0, 0, 0, 0, 831, 2006, 0, 1943, 0, 1858, 0, 0, 0, 1868, 2013, 1869, 1871, 0, 1959, 0, 1813, 1967, 1846, 1818, 1843, 1884, 1918, 1799, 832, 2011, 1800, 2009, 1918, 0, 1815, 0, 832, 1978, 1979, 1945, 832, 832, 1964, 1965, 1966, 1809, 1823, 1967, 0, 1918, 1808, 0, 0, 0, 0, 1967, 0, 0, 0, 0, 0, 0, 0, 1826, 1876, 1810, 1877, 1839, 2039, 2038, 0, 0, 1835, 0, 1864, 1959, 0, 0, 0, 0, 0, 0, 1937, 1957, 1821, 0, 1774, 0, 1956, 1811, 1812, 1840, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 832, 518, 495, 832, 509, 0, 511, 0, 518, 1559, 0, 0, 1558, 0, 1560, 1561, 1568, 0, 0, 1588, 1565, 0, 1583, 1595, 832, 832, 832, 834, 536, 544, 0, 545, 619, 936, 964, 960, 962, 474, 463, 516, 0, 0, 1563, 1551, 1555, 530, 834, 834, 0, 0, 0, 0, 986, 984, 1025, 1040, 493, 492, 598, 599, 527, 0, 596, 594, 1777, 1777, 0, 0, 0, 0, 0, 0, 305, 0, 0, 81, 96, 97, 98, 0, 0, 375, 0, 0, 0, 410, 373, 0, 0, 0, 0, 0, 393, 390, 374, 0, 365, 316, 317, 318, 372, 0, 0, 0, 0, 0, 0, 405, 0, 349, 0, 363, 364, 0, 0, 272, 270, 269, 0, 278, 288, 260, 279, 0, 1271, 330, 362, 333, 272, 0, 263, 261, 262, 1271, 379, 0, 378, 0, 361, 0, 360, 354, 399, 0, 0, 0, 0, 357, 0, 0, 0, 358, 0, 0, 0, 0, 0, 366, 0, 397, 351, 0, 352, 370, 0, 369, 0, 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, 0, 355, 0, 0, 434, 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, 421, 0, 0, 0, 380, 1039, 1706, 1705, 0, 1594, 0, 0, 0, 0, 2057, 2049, 0, 1793, 1882, 700, 0, 1589, 1584, 0, 1683, 1492, 1486, 1485, 0, 0, 0, 1487, 0, 1123, 1482, 1542, 0, 1453, 0, 1792, 0, 0, 0, 1606, 1607, 1604, 0, 1601, 1611, 0, 560, 561, 0, 0, 0, 1050, 1049, 1043, 0, 1048, 1345, 1358, 0, 1041, 1277, 1278, 1275, 0, 0, 0, 0, 1140, 1135, 1248, 1247, 1293, 1294, 1299, 0, 1308, 1357, 1302, 1123, 456, 0, 1433, 1442, 0, 0, 0, 0, 1434, 1435, 1443, 1443, 1443, 0, 1430, 1428, 1427, 1420, 0, 1321, 0, 1367, 1354, 1349, 0, 2579, 1317, 1318, 1341, 0, 1312, 1311, 1334, 1367, 1380, 1335, 1242, 1270, 454, 1390, 1124, 0, 1386, 1472, 1394, 0, 1400, 1180, 0, 1167, 0, 1400, 1400, 1172, 0, 0, 1171, 1174, 1176, 1178, 1179, 1181, 1177, 1183, 1184, 1185, 1182, 1207, 1400, 0, 1416, 755, 757, 0, 0, 1208, 1216, 995, 997, 999, 0, 1728, 1729, 1723, 993, 1363, 0, 0, 1025, 992, 994, 0, 1757, 0, 0, 0, 0, 1777, 0, 0, 1159, 0, 1735, 1721, 1722, 1775, 1776, 1759, 1748, 0, 0, 0, 0, 0, 1714, 1763, 0, 1726, 1727, 1709, 548, 547, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 793, 832, 832, 1731, 957, 1730, 0, 949, 949, 949, 0, 1734, 972, 0, 0, 0, 0, 0, 963, 1895, 0, 0, 1460, 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1845, 832, 832, 832, 1971, 1820, 1999, 0, 1863, 1870, 1872, 1862, 0, 1963, 0, 0, 1844, 0, 832, 832, 1941, 2006, 0, 0, 2006, 1943, 0, 0, 1927, 1834, 1866, 1814, 1827, 0, 0, 0, 1923, 0, 832, 2008, 1798, 1923, 1948, 0, 0, 832, 1957, 0, 0, 1824, 0, 1925, 2001, 0, 1847, 1939, 1836, 1838, 2031, 2030, 2029, 2027, 2028, 2025, 2003, 2003, 0, 1803, 1804, 1958, 1865, 123, 126, 124, 125, 129, 127, 128, 130, 131, 0, 2023, 0, 2023, 2023, 2023, 2023, 2016, 0, 1819, 0, 1973, 832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 834, 0, 524, 0, 832, 0, 523, 1571, 1572, 1573, 0, 1569, 1566, 1567, 1564, 1580, 1586, 0, 0, 0, 537, 832, 832, 955, 932, 933, 934, 935, 0, 832, 832, 832, 832, 460, 472, 459, 0, 0, 494, 1554, 1562, 1552, 0, 0, 996, 0, 794, 859, 792, 1297, 835, 838, 836, 837, 609, 616, 614, 615, 613, 0, 0, 1463, 0, 0, 0, 988, 0, 0, 1026, 588, 597, 589, 1035, 1032, 1659, 1664, 1660, 1662, 0, 0, 307, 234, 0, 202, 0, 81, 0, 745, 745, 736, 672, 674, 676, 675, 736, 674, 677, 0, 740, 0, 661, 0, 0, 0, 1063, 0, 2861, 0, 0, 0, 0, 322, 0, 314, 315, 312, 313, 259, 0, 255, 0, 0, 274, 0, 288, 0, 0, 1271, 0, 430, 277, 0, 430, 0, 320, 321, 0, 0, 256, 0, 81, 257, 254, 323, 324, 326, 327, 0, 319, 0, 0, 1256, 0, 1257, 0, 1258, 0, 1252, 325, 328, 329, 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0, 0, 0, 0, 156, 175, 233, 0, 99, 159, 0, 182, 183, 0, 172, 164, 0, 415, 417, 95, 92, 93, 0, 94, 83, 86, 85, 1578, 0, 1665, 2055, 2054, 2056, 0, 0, 0, 0, 0, 1546, 1500, 1499, 1519, 1524, 1506, 1544, 1456, 1096, 0, 0, 0, 0, 1697, 1603, 0, 0, 0, 0, 0, 1046, 1068, 1047, 0, 1274, 1129, 1127, 763, 1148, 0, 1123, 1123, 1300, 0, 1271, 0, 1441, 0, 0, 1440, 0, 0, 0, 1431, 1429, 0, 0, 0, 0, 1423, 1327, 0, 0, 0, 1350, 1351, 1352, 0, 1323, 0, 0, 1319, 1337, 1343, 1322, 0, 1313, 1314, 1342, 1336, 0, 1243, 451, 1164, 1413, 0, 0, 1414, 1170, 1403, 0, 1407, 1398, 1400, 0, 1406, 1405, 1402, 1235, 1237, 1233, 1236, 1232, 1234, 789, 0, 1206, 1364, 0, 0, 0, 889, 0, 893, 1025, 993, 0, 0, 663, 0, 696, 743, 708, 724, 743, 736, 710, 709, 707, 726, 722, 725, 706, 721, 711, 0, 705, 723, 704, 719, 0, 0, 730, 686, 687, 717, 714, 0, 736, 720, 716, 715, 738, 769, 728, 733, 740, 689, 745, 745, 1756, 1755, 1752, 1750, 0, 0, 1761, 1762, 1760, 0, 1753, 0, 1160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 818, 930, 931, 819, 807, 816, 810, 803, 821, 0, 800, 801, 597, 824, 826, 798, 796, 797, 817, 799, 823, 806, 809, 954, 951, 953, 952, 950, 811, 812, 802, 808, 822, 813, 0, 0, 949, 0, 0, 927, 0, 927, 927, 0, 969, 597, 970, 967, 968, 832, 0, 1957, 1462, 0, 0, 0, 485, 484, 0, 480, 467, 470, 469, 468, 471, 464, 465, 466, 462, 0, 0, 0, 0, 832, 1998, 1996, 1897, 1977, 832, 1957, 1851, 0, 0, 0, 0, 832, 1873, 1941, 0, 1944, 1941, 2006, 832, 832, 0, 0, 1842, 0, 1922, 1797, 2010, 0, 1796, 832, 0, 0, 1817, 1954, 1955, 1852, 0, 1916, 0, 0, 0, 1982, 1983, 1981, 133, 134, 0, 2037, 0, 2037, 2037, 2037, 2037, 1938, 1974, 1975, 0, 1822, 0, 508, 510, 597, 498, 504, 512, 500, 0, 501, 502, 503, 0, 496, 517, 1672, 507, 0, 525, 1570, 546, 543, 542, 0, 0, 965, 0, 0, 0, 0, 0, 2718, 513, 515, 0, 603, 0, 998, 1364, 0, 621, 623, 0, 993, 610, 0, 859, 1297, 841, 0, 845, 840, 860, 834, 0, 0, 0, 1458, 0, 592, 0, 591, 593, 0, 867, 0, 0, 1027, 1028, 0, 595, 0, 1629, 343, 306, 311, 0, 386, 376, 0, 744, 665, 752, 0, 669, 673, 671, 668, 670, 344, 0, 667, 345, 0, 0, 0, 0, 0, 367, 238, 239, 240, 0, 341, 0, 0, 0, 371, 271, 273, 0, 0, 281, 300, 359, 0, 0, 0, 275, 0, 377, 0, 0, 258, 268, 346, 203, 0, 0, 0, 0, 368, 0, 353, 0, 1253, 1254, 1255, 0, 0, 0, 356, 0, 0, 0, 433, 442, 435, 436, 438, 437, 443, 383, 151, 142, 140, 149, 147, 144, 99, 160, 161, 155, 0, 99, 165, 0, 0, 381, 1592, 0, 2051, 2050, 701, 1881, 0, 1484, 1452, 1450, 1451, 0, 0, 1613, 1614, 0, 1044, 0, 1070, 1069, 0, 1066, 0, 0, 0, 1130, 0, 0, 0, 0, 1139, 1142, 1259, 1259, 457, 1242, 458, 1424, 0, 1439, 1437, 1438, 1421, 0, 1418, 0, 1360, 1368, 0, 0, 1376, 0, 1329, 0, 1324, 1339, 1328, 1325, 0, 1315, 1338, 1344, 0, 1400, 1400, 1400, 0, 0, 756, 993, 0, 0, 0, 888, 0, 892, 0, 0, 0, 0, 0, 1758, 742, 694, 752, 748, 712, 713, 0, 695, 752, 0, 697, 0, 748, 0, 718, 0, 0, 1764, 0, 748, 0, 748, 688, 752, 692, 1779, 0, 1719, 1736, 1161, 877, 0, 0, 0, 0, 0, 0, 1751, 1725, 0, 804, 815, 814, 927, 949, 0, 0, 0, 949, 0, 937, 1733, 966, 0, 1957, 1854, 522, 0, 0, 0, 486, 519, 789, 1969, 1968, 1970, 1972, 0, 832, 1995, 0, 0, 597, 1918, 0, 2005, 2004, 0, 1874, 0, 1878, 1941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1885, 1887, 1920, 1917, 2007, 0, 0, 0, 0, 832, 1828, 0, 1940, 0, 2022, 0, 1967, 132, 1967, 1967, 1967, 1967, 832, 832, 597, 1986, 1988, 1989, 0, 499, 0, 789, 0, 975, 974, 541, 540, 478, 475, 476, 0, 473, 514, 0, 1556, 0, 995, 997, 993, 996, 791, 0, 0, 1025, 0, 0, 839, 0, 0, 795, 608, 617, 0, 0, 0, 0, 582, 0, 985, 0, 0, 0, 0, 0, 117, 118, 0, 751, 666, 0, 0, 662, 0, 0, 212, 419, 244, 237, 235, 236, 280, 289, 291, 290, 0, 301, 287, 431, 331, 0, 0, 242, 243, 0, 272, 245, 246, 248, 249, 241, 420, 247, 250, 251, 0, 0, 384, 0, 0, 448, 449, 450, 440, 444, 446, 162, 99, 166, 167, 416, 418, 1666, 1585, 0, 0, 1359, 1045, 0, 1064, 1068, 0, 0, 0, 1147, 1150, 0, 0, 0, 0, 1141, 0, 1279, 1279, 455, 1425, 0, 0, 1370, 1369, 1371, 1372, 1373, 1375, 0, 1347, 1348, 0, 1346, 1330, 1331, 1326, 1340, 0, 1415, 1408, 0, 1238, 1214, 1025, 0, 0, 0, 890, 0, 894, 0, 0, 0, 0, 1000, 1006, 664, 764, 746, 747, 750, 0, 764, 0, 0, 750, 0, 646, 0, 771, 0, 0, 0, 787, 777, 0, 774, 0, 1765, 0, 0, 0, 768, 0, 644, 0, 750, 0, 750, 764, 0, 0, 783, 1778, 0, 927, 869, 870, 877, 877, 0, 877, 0, 877, 805, 938, 927, 0, 0, 0, 929, 926, 0, 939, 927, 0, 941, 1894, 1853, 0, 0, 832, 487, 0, 1997, 0, 0, 1962, 1806, 1999, 0, 1942, 0, 1879, 0, 1929, 1883, 0, 0, 0, 0, 0, 0, 1886, 0, 1833, 1919, 0, 1924, 0, 0, 0, 0, 2003, 2003, 2003, 2003, 2003, 0, 0, 1805, 1987, 832, 505, 506, 1673, 789, 1557, 604, 1364, 0, 1025, 622, 859, 790, 993, 1025, 0, 0, 0, 0, 607, 0, 1459, 0, 591, 592, 591, 593, 590, 868, 987, 978, 979, 0, 1663, 387, 741, 0, 735, 739, 332, 0, 0, 0, 0, 2861, 2215, 294, 0, 299, 0, 276, 0, 265, 266, 267, 0, 0, 447, 439, 443, 441, 445, 168, 1791, 1789, 562, 1067, 0, 1055, 0, 0, 1149, 1145, 1146, 0, 1143, 0, 0, 282, 282, 1422, 1419, 0, 1377, 1353, 1332, 1378, 1400, 0, 1720, 0, 0, 0, 0, 0, 0, 1007, 0, 1007, 0, 1276, 767, 749, 685, 752, 767, 729, 752, 684, 737, 0, 0, 1766, 401, 402, 403, 0, 781, 772, 782, 775, 1767, 778, 780, 773, 770, 776, 727, 682, 0, 732, 683, 767, 784, 785, 0, 855, 927, 927, 877, 927, 877, 927, 0, 929, 0, 0, 0, 0, 0, 945, 0, 0, 0, 0, 520, 1994, 1801, 0, 1802, 2006, 1943, 832, 1889, 1890, 1892, 1891, 1893, 1888, 1921, 1946, 1914, 1912, 1913, 1915, 0, 0, 2036, 2034, 2035, 2017, 2021, 2019, 2020, 2018, 1991, 1990, 0, 477, 993, 0, 0, 1297, 0, 0, 0, 0, 0, 0, 844, 843, 0, 0, 583, 584, 0, 0, 0, 0, 0, 205, 0, 0, 296, 293, 292, 297, 252, 253, 0, 0, 0, 1140, 1065, 1152, 1151, 1144, 1265, 1260, 1268, 1262, 1280, 0, 1083, 1112, 1374, 1409, 0, 0, 920, 0, 0, 0, 1007, 0, 0, 832, 0, 832, 1011, 832, 1012, 832, 0, 832, 1016, 1024, 1749, 1008, 1009, 1018, 1019, 1001, 1745, 0, 1003, 690, 764, 691, 764, 0, 779, 0, 693, 0, 0, 0, 0, 0, 856, 853, 0, 927, 0, 927, 849, 940, 946, 0, 0, 0, 0, 928, 942, 491, 0, 0, 0, 1941, 2006, 0, 0, 1961, 597, 1025, 0, 0, 0, 0, 0, 0, 0, 0, 865, 846, 0, 0, 0, 591, 1007, 734, 342, 0, 211, 0, 295, 264, 0, 0, 1148, 1266, 1267, 1264, 0, 0, 1261, 0, 283, 284, 0, 2810, 916, 0, 0, 899, 0, 919, 920, 1746, 0, 0, 0, 1014, 0, 0, 0, 0, 0, 1010, 1005, 0, 1002, 767, 767, 659, 731, 0, 0, 0, 0, 0, 0, 0, 0, 885, 854, 857, 0, 851, 0, 850, 0, 0, 943, 0, 0, 947, 789, 481, 0, 2000, 1875, 1941, 1928, 0, 1960, 1849, 1807, 0, 628, 0, 606, 0, 0, 1007, 0, 0, 861, 877, 0, 842, 585, 859, 210, 298, 0, 563, 564, 1263, 1269, 0, 0, 1007, 915, 0, 914, 921, 0, 895, 896, 897, 898, 925, 924, 0, 922, 899, 0, 1017, 1013, 1020, 1021, 1023, 0, 1022, 1004, 699, 698, 658, 657, 649, 0, 0, 0, 0, 0, 0, 920, 0, 884, 858, 852, 0, 0, 0, 907, 0, 0, 0, 911, 490, 0, 483, 1880, 0, 0, 1007, 0, 1025, 625, 866, 0, 863, 877, 989, 385, 0, 0, 569, 286, 285, 1747, 917, 0, 0, 901, 0, 918, 891, 0, 1015, 1764, 929, 878, 0, 881, 0, 929, 899, 886, 944, 0, 0, 906, 948, 0, 0, 910, 482, 1848, 0, 626, 0, 2023, 0, 862, 0, 0, 0, 576, 905, 0, 900, 923, 0, 651, 0, 654, 0, 0, 648, 0, 645, 0, 883, 0, 879, 0, 882, 0, 880, 887, 0, 908, 0, 912, 1007, 0, 624, 864, 567, 568, 566, 565, 575, 570, 0, 572, 574, 0, 553, 0, 0, 903, 0, 902, 640, 650, 652, 655, 656, 653, 0, 0, 0, 0, 0, 0, 0, 0, 627, 0, 0, 571, 577, 578, 0, 0, 905, 0, 631, 0, 876, 871, 0, 874, 0, 873, 0, 913, 0, 573, 0, 0, 904, 642, 643, 641, 639, 1754, 872, 875, 909, 640, 579, 580, 0, 630, 631, 0, 0, 629, 635, 634, 0, 0, 633, 632, 636, 638, 637 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 46, 47, 1909, 48, 1629, 2423, 2424, 1172, 1173, 1174, 1175, 4351, 1176, 3397, 1177, 1178, 1179, 3034, 1180, 1181, 4614, 2234, 1770, 1183, 2369, 2385, 1184, 1185, 4626, 4379, 3542, 3543, 1695, 1702, 2961, 2962, 4805, 4909, 4910, 3547, 3548, 4369, 4788, 4619, 4620, 4370, 4371, 1621, 2225, 2226, 2913, 2267, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1668, 1196, 2417, 2254, 2346, 2426, 2307, 2262, 4049, 3021, 3587, 4080, 4081, 4082, 4083, 4084, 4397, 4077, 4398, 4399, 1450, 1434, 1451, 3133, 3134, 51, 2720, 2721, 3454, 3455, 2710, 4961, 4244, 2711, 52, 53, 54, 2841, 2842, 3459, 3423, 4246, 3301, 55, 56, 57, 58, 59, 224, 1357, 2885, 2867, 3121, 2868, 2683, 60, 61, 1571, 62, 63, 1396, 3103, 4794, 5060, 5134, 5101, 5138, 5139, 5142, 5166, 5167, 64, 65, 251, 2212, 4341, 3994, 66, 2903, 2900, 235, 67, 68, 236, 3480, 69, 70, 1574, 3972, 3973, 5191, 5199, 5208, 5172, 5190, 3974, 4200, 5073, 5112, 5022, 3227, 3738, 3518, 4019, 3519, 2304, 3772, 3069, 3070, 3773, 3774, 3775, 3776, 3777, 3778, 4203, 4194, 4205, 4017, 4198, 4024, 4013, 4185, 4014, 4470, 4675, 4353, 2410, 2012, 3208, 1822, 1823, 3122, 1773, 2452, 4201, 4492, 4690, 4691, 4493, 4533, 4583, 3467, 3468, 3819, 3813, 2685, 4828, 3820, 2788, 2687, 3979, 3980, 3981, 4773, 3982, 3983, 3471, 3472, 3473, 3474, 3984, 3985, 5053, 4884, 3996, 4710, 4506, 4507, 4851, 4945, 4946, 3215, 3729, 3730, 3216, 3731, 3732, 5000, 5001, 5066, 5067, 5145, 5002, 5036, 5037, 5003, 5040, 5041, 4811, 4914, 4919, 4916, 5006, 5007, 4231, 4722, 3804, 3444, 2048, 2049, 2050, 2051, 3840, 3829, 71, 72, 73, 2873, 2874, 2875, 2701, 2052, 2053, 2846, 1384, 74, 4602, 237, 252, 2892, 3486, 3999, 75, 238, 3222, 3223, 3975, 3211, 3212, 4463, 4464, 4933, 4672, 4829, 4830, 4831, 3488, 3489, 253, 76, 1376, 77, 1590, 1785, 78, 1452, 2517, 3108, 3109, 1912, 1398, 3114, 1404, 80, 81, 2246, 3651, 4122, 4123, 1453, 83, 1197, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 1414, 1415, 1416, 1928, 1954, 2572, 3700, 1405, 2539, 1920, 1921, 3657, 4132, 4133, 4127, 4418, 4419, 205, 206, 207, 3236, 208, 1489, 1984, 1994, 1997, 3723, 4169, 2526, 3701, 1409, 2533, 2353, 4426, 4800, 4801, 4802, 4904, 4907, 1401, 1402, 2522, 2523, 3117, 4650, 1429, 1430, 1431, 1938, 2504, 1939, 3660, 1943, 1944, 1945, 1946, 2518, 3160, 4441, 3686, 2562, 3157, 1947, 3111, 3112, 2564, 3218, 3219, 3682, 4436, 4437, 4438, 2565, 2566, 1948, 1435, 1436, 1958, 1455, 1456, 2586, 1976, 2596, 3182, 2617, 2597, 2598, 2599, 2587, 2009, 3678, 1949, 3150, 2553, 2554, 3147, 3148, 2555, 3138, 99, 100, 1361, 1362, 1882, 2490, 2491, 101, 102, 103, 3299, 104, 105, 1457, 2579, 106, 1349, 1851, 1854, 1861, 1350, 1351, 3658, 1843, 1352, 1865, 1866, 1848, 1971, 107, 2191, 2192, 2181, 2883, 2859, 2860, 2855, 2856, 1566, 2177, 1597, 3437, 108, 1568, 109, 1825, 110, 1798, 1799, 111, 2174, 112, 113, 1892, 1893, 2505, 3096, 1365, 1899, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 269, 270, 271, 1604, 2219, 4005, 124, 125, 1371, 2511, 126, 3947, 1312, 2439, 1313, 3948, 1315, 1804, 127, 1890, 2498, 2499, 128, 129, 130, 131, 1795, 1796, 132, 2033, 2034, 2035, 2036, 3217, 2054, 3237, 2037, 2055, 2038, 2039, 4833, 2040, 4494, 2041, 2638, 2653, 2042, 3241, 3785, 133, 134, 135, 136, 3350, 3897, 4275, 4276, 3851, 2730, 2115, 4746, 4285, 3352, 2774, 4278, 3900, 3912, 2083, 2084, 1556, 2820, 3915, 3887, 3340, 3362, 2771, 1557, 2779, 2780, 2826, 2811, 4968, 3880, 2781, 2782, 3320, 3321, 1558, 2737, 2776, 3383, 1559, 4299, 4300, 4301, 4302, 1560, 4253, 4254, 3875, 3876, 4729, 2478, 2479, 3336, 3355, 3356, 2766, 2767, 2090, 2159, 2160, 3922, 2142, 2143, 1353, 4291, 2807, 1561, 137, 138, 139, 1809, 1810, 3066, 140, 141, 142, 1316, 1198, 1199, 1200, 1372, 2347, 1201, 1202, 1203, 1204, 1205 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -4175 static const int yypact[] = { 3748, 1014, 4977, 4977, 4977, 4977, 4977, 4977, -4175, -4175, 125, 162, -4175, -4175, -4175, 1671, -4175, 1376, -4175, 17901, 101, -18, 119, -248, -58, -4175, 1726, -4175, 50680, 3264, 238, -4175, 86304, 87319, 320, 320, -4175, 690, 88334, -7, 88334, -84,104574, 1174, 916, 298, 1441, -4175, 2048, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -114, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 1225, 1225, -4175, -4175, 1341, 1466, 1405, 1364, 1425, 1307, -4175, 2568, 2610, 2637, -4175, 1058, 1225, 64945, 1511, -4175, 1046, -4175, -4175, -4175, -4175, 47635, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 835, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 1040, 1549, 1552, -4175, -4175, -4175, 1589, 1599, 1659, 1669, 1681, 1764, -4175, 1767, 1799, -4175, 1880, 1899, 1919, 1959, 2005, 2027, -4175, 2052, 2062, 2073, 2082, 2098, -4175, -4175, -4175, 2133, -4175, -4175, -4175, -4175, 2188, 2192, 2208, -4175, 2210, 2222, 2245, 2245, 2245, 2245, 2245, 2245, 2245, 2245, 2245, 2261, -4175, 2263, 2267, -4175, 2305, -4175, -4175, -4175, 2321, 2328, -4175, 500, 6745, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 65960, 86304, 86304, 86304, 277, 5615, 66975, 68001, 1706, 1455, -4175, 1761, -4175, 290, 1070, -4175, 1761, 1761, 1761, 1645, 1482, 292, 1951, 86304, 2031, 65960, 2031, 1278, -4175, 299, 1604, -4175, 2031, 68001, 2031, 1475, 1432, -7, 1668, 743, 607, -4175, -4175, 2154, -4175, -4175, -4175, 53, -4175, -4175, -4175, -4175, -4175, 2360, 2427, -4175, 1088, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2428, -4175, 18929, 18929, -4175, -4175, -4175, -4175, -4175, -4175, 2399, -4175, 2402, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 18929, -4175, -4175, -4175, -4175, -4175, -4175, 19957, 19957, -4175, 2404, 19957, 9677, -4175, -4175, -4175, 45605, -4175, 39489, -4175, 40517, 2416, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2420, -4175, -4175, -4175, -4175, -4175, 2422, -4175, 1417, 1478, 2403, 2425, -4175, 2438, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2455, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2459, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2460, -4175, -4175, -4175, -4175, -4175, 2478, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2408, 2421, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2480, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2481, 2491, -4175, -4175, -4175, -4175, -4175, -4175, 2503, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 1546, 1703, 1831, 2511, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2519, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2522, 2526, 2527, 2530, -4175, -4175, -4175, -4175, -4175, 2541, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2542, -4175, -4175, -4175, 2543, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2545, -4175, -4175, 2546, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2547, -4175, -4175, -4175, -4175, 2552, -4175, 2561, -4175, 2564, -4175, -4175, -4175, -4175, -4175, 2567, 2571, 2573, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2574, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2576, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2577, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2578, -4175, -4175, -4175, 2580, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2581, -4175, -4175, 2588, 2592, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2593, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2594, -4175, -4175, -4175, -4175, -4175, 2596, -4175, 2597, -4175, -4175, 2578, 2597, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2598, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2609, 2614, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2619, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2632, -4175, 2633, -4175, -4175, -4175, -4175, -4175, 2635, -4175, -4175, 2657, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2658, -4175, -4175, -4175, -4175, -4175, 2665, 2666, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2669, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2672, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2674, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2676, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2677, -4175, 2678, -4175, -4175, -4175, -4175, -4175, -4175, 2679, -4175, -4175, -4175, -4175, 2683, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2689, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2691, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2696, 2697, 2699, 2708, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2709, -4175, -4175, -4175, 2710, 2718, -4175, 2719, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2722, 2732, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2734, 2736, 2738, 2745, -4175, -4175, -4175, -4175, -4175, 2751, 2752, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2753, -4175, -4175, -4175, -4175, -4175, 2757, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2758, 2759, -4175, -4175, 2760, 2763, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2764, -4175, -4175, -4175, -4175, -4175, -4175, 1901, -4175, -4175, 2562, 196, -4175, 4299, 1630, 3074, 19957, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2771, -4175, -4175, 2772, -4175, -4175, 2631, 2773, 2749, -4175, -4175, -4175, 2768, -4175, 65960, 69016, 65960, 65960, -4175, 86304, 86304,104574, 65960, 68001, 1668, 2469, -4175, 616, 591, -4175, -4175, 138, 2447, 2237, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 888, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2284, -4175, -4175, 2775, -4175, -4175, -4175, -4175, 660, -4175, -4175, 2786, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2783, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 1317, -4175, -4175, -4175, 2638, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 1000, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2789, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 1317, 2851, -4175, -4175, 89349, 1005, -4175, -4175, 51, -4175, -4175, -4175, 1971, -4175, -4175, 1972, -4175, 405, 2806, 2622, 1982, -4175, 2664, -4175, -4175, 405, -4175, 2112, -4175, 1994, -4175, -4175, 405, 1996, 405, 1013, 2622, 405, 1996, 2386, -422, 1013, 73, -4175, -4175, -4175, -4175, -4175, -4175, 86304, 2888, -4175, 2834, -4175, -4175, -4175, 61, 117, 2291, -4175, 2556, -4175, -4175, -4175, -4175, 65960, 2681,105589, 2575, -4175, -4175, 1129, -4175, 65960, 2913, 2916, 2918, 2919, 2921, 2929, -4175, -4175, 2761, -4175, -4175, 2690, -4175, 2844, 2844, 2756, 2703, 2704, 90364, -4175, -4175, 2703, 2704, 2608, -4175, -4175, -4175, -4175, -4175, 317, -4175, 1046, -4175, 1046, -4175, 2703, 2704, 1046, -4175, -4175, -4175, -4175, -4175, -4175, 10705, 1058, -4175, 58822, 65960, 2602, 514, -4175, 2865, 2703, 2704, 1341, -4175, 45605, 1194, 1194, 1194, 1194, 2917, 1194, 1194, -4175, -4175, -4175, -4175, 70042, -4175, -4175, -4175, 2893, 88334, -4175, -4175, -4175, 1944, 1944, 2975, 2976, 2978, -150, 155, 1944, 1944, 1944, 1944, 1944, 143, 262, 1944, 1944, 1944, 1944, 1944, 2981, 1944, 2985, 1944, 1944, 2987, 1944, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 1965, 2991, 1944, 1944, 2994, 2987, 7016, -4175, -4175, 185, 66, 924, 2810, 91379, 86304, -350, 2268, 2058, -38, 284, 2100, 2274, 2517, -4175, 359, -4175, -316, 64, -4175, 445, -4175, 2698, 2714, -4175, 1639, 2004, 2482, 2060, 2490, -4175, -4175, -4175, 2235, -47, 41, 2648, 2251, 71057, 2671, -215, 18, -89, -111, 2673, -275, 2700, 803, 209, 2202, 2041, 177, 2260, -151, 314, 2750, 391, -4175, -4175, 3065, 725, 462, -4175, -4175, 2750, -4175, 2063, 86304, 1761, 1761, 86304, 86304, 68001, 86304, 1761, 3078, 86304, -4175, 2137, 2076, 1761, 2992, 2857, 86304, -4175, 3084, 2031, 2031, 86304, 86304, -4175, 3064, 86304, 92394, 2031, 2031, -4175, -4175, -4175, -4175, 315, -4175, -4175, -4175, -4175, -4175, -4175, 72072, 1221, 18929, 3074, 3074, 18929, 3074, 3046, -4175, -4175, 3004, 3004, 18929, 3004, 87319, 3069, 2528, 1389, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 3017, 3018, -4175, 3004, 18929, 18929, 18929, 3020, 1359, -4175, 93409, -4175, 18929, 18929, 93409, 3024, 1400, 1424, 93409, 18929, 18929, 18929, 18929, 18929, 970, 18929, 1176, 3039, 1468, 3040, 18929, 18929, 18929, 3042, 1756, 18929, 3027, -112, 868, 18929, 18929, 18929, 18929, 3028, 3030, 3032, 868, 18929, 18929, 970, 18929, 970, 18929, 18929, 1471, 18929, 18929, 3052, 19957, 18929, 18929, 3062, 3063, 18929, 2968, 2968, 2968, 2968, 18929, 970, 1516, 18929, 18929, 1756, 1756, 8649, 2968, 2968, 2968, 18929, 18929, 18929, -4175, -4175, 89349, 223, 11733, 11733, 11733, 11733, 11733, 11733, 19957, 19957, 20985, 3067, 22013, 19957, 19957, 19957, 19957, 23041, 24069, 19957, 19957, 19957, 19957, 19957, 19957, -4175, -4175, 2531, 19957, 2243, -4175, 18929, 18929, 18929, 18929, 18929, 3004, -4175, 18929, 42560, 18929,108621, 3132, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2808, 3141, -4175, 3065, -4175, 3142, 3143, 72072, -4175, -4175, 25097, 18929, 18929, 57, 2534, -4175, 3145, -4175, 3118, 2993, 2595, 138, -4175, 138, -4175, -4175, -4175, -4175, -4175, 3004, 68001, 3119, 138, -4175, -4175, 59837, -4175, 616, -4175, 25097, 25097, -4175, 65960, -4175, 65960, 86304, 65960, 86304, 65960, 1761, 1013, 1013, 3180, 18929, -4175, 3124, 3185, -4175, 1013, 60863, -4175, -4175, 2234, -4175, 405, -4175, -4175, -4175, -4175, -4175, -4175, 86304, 405, -4175, -4175, 405, -4175, 405, 405, 65960, -4175, -4175, -4175, 1013, 1013, 2888, 86304, 89349, 3021, -4175, 3146, 3147, -4175, 3156, -4175, 3187, -4175, 1209, 3183, -4175, 1802,104574, -4175,104574, 2754, -4175, 3195, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 3200, -4175, 65960, 65960, 18929, 1684, -4175, -4175, 3212, 3231, 3197, -4175, -4175, -4175, -246, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 54762, -4175, 1078, -4175, 51695,107619, 434, 1538, -4175, -4175, -4175, 94424, -4175, 2602, 429, 663, 3228, -4175, 86304, 58822, 73087, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -179, -4175, -4175, -4175, -4175, -4175, 45605, -4175, 3237, 86304, 74102, 3161, 3243, 3169, -4175, -4175, -4175, 3170, 3171, 3265, 75117, 86304, 74102, 74102, 74102, -4175, -4175, 3190, -4175, -4175, 3191, 74102, 74102, 74102, 74102, 74102, 3193, 74102, 3201, 74102, 76132, 559, 3202, 3203, 3271, 3252, 3205, 74102, 86304, 3207, 3209, 6823, 1642, 911, 3083, 49665, 3093, 549, -4175, 3083, 2990, -2, -4175, -4175, -4175, -4175, 3274, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 1938, 947, 3000, 3114, 3003, 3005, -4175, -4175, -4175, -4175, 3280, -4175, -4175, -4175, 35, 2797, 2816, 1194, 3261, 601, 3015, 2443, 61889, 2940, 62915, 3342, 3345, 3348, 2952, 2955, 2607, 3311, 2338, 2959, 2365, -4175, 468, 1097, 3162, 3302, 3302, 3346, -4175, 2969, 2668, 1324, 2387, 3374, 2405, 2852, 2956, 2494, 2234, 2406, 2424, -4175, -4175, 1976, -4175, -4175, -4175, -4175, -4175, -4175, 2373, -4175, 2824, 2234, -4175, -4175, -4175, -4175, -4175, 2965, 3155, 3302, -315, -388, -388, 2500, 3358, -4175, -4175, -4175, -4175, -4175, 2433, -388, 1431, 1065, 3174, 931, -4175, 3406, 2800, 3302, 3302, 3302, 3302, 3302, 166, -4175, 3014, 2390, 3016, 2805, -4175, 648, 648, 3099, 2953, 3423, 3370, 3371, 3375, 3376, 3378, 3415, -4175, 3434, 61889, 2607, 61889, 2607, 2390, 2390, 2454, -4175, 241, 2873, -4175, -4175, -4175, 241, -4175, -4175, 8, -120, 3253, -4175, 68001, 313, 189, 3221, 35, 86304, 86304, -4175, 241, 599, -4175, 3065, 249, 65960, 2629, 3364, 92394, 65960, 86304, 65960, -4175, -4175, -4175, 86304, 86304, -4175, 307, -4175, 3379, 3381, 3223, 2749, 65960, 65960, -4175, -4175, 3383, 3111, 3384, -4175, 3074, 2484, 18929, 1964, -4175, 2693, 18929, -4175, 46620,108621, 3158, 517, 3074, 1290, -4175, 3391, -4175, 3379, 3392, -4175, 3393, 3718, 3723, -4175, 1113, -4175, 3399, -4175, 3403, -4175, 3404, 3744, 3416, 1182, 1383, 2702, 2726, -4175, -4175, -4175, 18929, 1991, -4175, 18929, 18929, 12761, -4175, 3418, -4175, 3390, 2755, 3768, 3419, 3420, 3408, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 3257, 312, 1140, -4175, -4175, -4175, -4175, 3477, -4175, -4175, 18929, 2781, 2788, 2841, 1502, 267, 1140, 1140, 1140, 18929, 2890, 2037, 18929, 2899, 18929, 2908, 2914, 3425, -4175, 2966, 3799, 3410, 4061, 2971, 3483, 3413, 3417, 2984, 18929, 18929, 18929, 18929, 3832, 3430, 18929, 3431, -4175, 2999, 2253, 3437, 3494, 3447, 13789, 14817, 15845, 1602, 3448, 18929, 18929, 18929, 2317, 2200, 3057, -4175, -4175, -4175, -4175, 225, -4175, 3452, 3457, -4175, 3458, -4175, 3461, -4175, 3462, -4175, 3464, -4175, 3473, -4175, 3474, -4175, 3818, 3555, 4098, 9677, -4175, -4175, 3555, 2028, 4028, 3839, 3777, 3777, 41545, 2476, 41545, 2476, 3487, 3487, 3487, 3487, 3487, -4175, 19957, 26125, 3067, 27153, 3004, -4175, -4175, -4175, 2474, 2474, 2325, -4175, -4175, 1581, 3481, -4175, -4175, 3478, 3491, 3497, 3538, -4175, 1946, 3486, -4175, 65960, 65960, 65960, 3234, 68001, 3343, 3349, 28181, 3503, 1937, 3074, -4175, 3074, 3074, -4175, -4175, 22, 2989, 3585, 1910, 3407, -4175, -4175, -4175, -4175, 3065, 256, -4175, 1032, 1033, -4175, 25097, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 86304, 405, 405, 3531, 3074, 3518, 3575, 405, 3521, 3302, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 1013, 405, 65960, -4175, 1555, -4175, -4175, 3522, 3605, 3607, 3606, -4175, 3589, -4175, -4175, 3244, 2986, -4175, 86304, -4175, 65960, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2743, 3246, 1189, -4175, 146, 3319, 3534, 1824, 3608, -4175, -4175, -4175, 221, 469, -4175, 98484, -4175, -4175, 1935, -4175, 88334, 3625, -4175, 10705, -4175, 3396, 55777, 1556, 86304, -4175, 58822, 93409, 3595, 3344, 436, 3344, 3609, -4175, 2688, 58822, 58822, 58822, 86304, -4175, -4175, 3562, 412, 410, 99499,100514, 412, 1106, -4175, 1106, 3347, 58822, 43575, -4175, 18929, -4175, 3623, -4175, 3571, -4175, -4175, 1194, -4175, -4175, -4175, 1944, 3655, 86304, -4175, 1568, -4175, 3579, -4175, -4175, -4175, 2630, 75117, -4175, 1584, -4175, 1587, 3581, 3583, 1637, 1670, 1674, -4175, -4175, 1690, 1719, 1722, 1752, 1777, -4175, 1806, -4175, 1807, 86304, -4175, 3252, -4175, 2987, -4175, -4175, 2643, -4175, 168, -4175, 1813, 3596, -4175, -4175, -4175, -4175, 86304, -4175, 3598, 412, 1210, 86304, 77147, 86304, 93409, 93409, 93409, 3619, 3586, 1171, -4175, 1171, 899, 86304, 428, -4175, 86304, 65960, 93409, 3696, 3696, 3696, 105, -4175, 93, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, -4175, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, -4175, -4175, 3196, -4175, 438, 3598, 65960, 1171, 539, 3696, 3696, 2750, 3302, 3302, 3302, 3302, 3302, -4175, 35, 3698, 3702, 3351, 3703, 3611, 3302, 3302, 3302, 3686, -4175, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3688, -4175, 3711, -4175, -4175, -135, -4175, 2234, 1597, -4175, -4175, 2953, 2953, 2953, 2953, -4175, 3302, 2849, 2846, 3495, 2849, -4175, 154, 3714, 470, 3716, -4175, 61889, 61889, -316, -4175, -4175, -4175, -4175, 3717, 2953, 3721, -4175, -388, -4175, -4175, -4175, 3500, 2778, -4175, 3302, -4175, -4175, 3308, 2778, 3434, -4175, 3727, 3302, -4175, -4175, 2874, 3302, 3302, -4175, -4175, -4175, -4175, -4175, -388, 2869, 2778, -4175, 61889, 86304, 3740, 86304, -388, 3762, 3764, 3766, 3767, 3771, 61889, 18, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 282, -388, -4175, 3773, -4175, 2953, 311, 3776, 311, 3782, 311, 209, -4175, 172, -4175, 2849, 2750, 2900, -4175, -4175, -4175, -4175, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 161, -4175, 3302, -4175, 3412, -4175, 3441, 161, -4175, 3791, 3792, -4175, 3807, -4175, 213, -4175, 3808, 3809, -120, -4175, 3812, -4175, -4175, 3302, 3302, 3302, 278, -4175, -4175, 417, -4175, -4175, 3512, -4175, -4175, 222, 567, 3015, 151, 68001, -120, 3446, -4175, 3233, -4175, 308, 4003, 70, 1954, 3735, 3587, 3742, -4175, 3465, -4175, -4175, -4175, -4175, -4175, -4175, 95439, -4175, -4175, 977, 977, 3759, 68001, 78162, 18929, 3761, 18929, -4175, 3306, 18929, 3112, -4175, -4175, -4175, 18929, 18929, -4175, 1506, 198, 1506, -4175, -4175, 93409, 18929, 18929, 93409, 3449, -4175, -4175, -4175, 29209, -4175, 3734, 3736, 3737, -4175, 3123, 198, 1827, 1832, 3774, 3134, -4175, 1140, -4175, 3763, -4175, -4175, 1140, 18929, 90, -4175, -4175, 3127, -4175, 465, -4175, -4175, 18929, 938, -4175, -4175, -4175, 90, 3133, -4175, -4175, -4175, 938, -4175, 18929, -4175, 3148, -4175, 3172, -4175, -4175, -4175, 3769, 18929, 1140, 18929, -4175, 18929, 1140, 1140, -4175, 3192, 3206, 3217, 3222, 29209, -4175, 3227, -4175, -4175, 18929, -4175, -4175, 18929, -4175, 18929, 1685, 18929, 1861, 18929, 1895, 18929, -4175, 3254, 3272, 3277, 18929, -4175, 3858, 433, 3224, -4175, -4175, -4175, -4175, 1046, 1046, 1046, 1046, 1046, 1046, 19957, -4175, 3863, 1842, 1864, 30237, 9677, 1521, 1521, 3868, 3555, 4098, -4175, 3555, 2049, 18929, 18929, -4175, 44590, 18929,108621, 18929, 79188, -4175, -4175, -4175, -4175, 68001, -4175, 3582, 68001, -105, 3569, -4175, 3853, 3250, -4175, 3869, -4175, 3890, -4175, -4175, 3816, -4175, -4175, -4175, -4175, 3893, -145, 3894, -4175, 3838, 2602, -4175, 1013, 89349, -4175, 1014, -4175, 3874, 3895, 3187, -4175, -4175, -4175, 1121, -4175, 3899, 3459, -4175, -4175, 3826, 52710, 93409, -4175, -4175, -4175, 3849, -4175, -4175, -4175, 3429, -4175, -4175, -4175, -4175, 18929, 1684, 1684, 1506, 71, -4175, -4175, -4175, -4175, -4175, -4175, 57807, -4175, -4175, 1538, 414, -4175, 3886, -4175, -4175, 3911, 58822, 3913, 3915, -4175, -4175, 3344, 3344, 3344, 3916, -4175, 3920, -4175, 367, 416, 1106, 3696, 3719, -4175, 231, 86304, 3881, 101529, -4175, 1106, 86304,102544, -4175, 1106, 3719, -4175, -4175, 2703, -4175, 3623, 688, 3074, 3900, -4175, -4175, -4175, 3873, 1882, -4175, 80203, -4175, 3882, 1894, 1913, -4175, 75117, 81218, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 1914, 201, -4175, -4175, -4175, 3957, 3888, -4175, -4175, 3613, 3778, -4175, 3672, -4175, -4175, -4175, 86304, -4175, 3883, 3884, 3465, -4175, -4175, 93409, -4175, 625, -173, 301, 93409, 899, 3696, 86304, -4175, 3696, 545, -4175, -4175, -4175, -4175, -4175, -4175, 3901, 330, 336, 3917, 3630, -4175, -4175, 1422, 545, 545, -4175, -4175, -4175, 61889, 2075, 3969, 3993, 3995, 3996, 61889, 3922, 1100, 3990, 4005, 53736, 4012, 4013, 4014, 158, 4016, 4018, 4020, 4021, 4024, -4175, 3302, 3302, -4175, 3132, -4175, 4022, -59, -57, 3094, 1495, 545, -4175, 4025, 1100, 4030, 53736, 4031, -4175, 3330, 2849, 1194, -4175, -4175, 1930, 3960, 61889, 4035, 3964, 627, 311, 311, 311, 311, 311, 311, 311, 311, 3015, -4175, 3302, 3302, 3302, -4175, 4023, 3149, 4040, -4175, -4175, -4175, -4175, 4042, 3574, 4049, 3296, -4175, 3631, 3302, 3302, 3635, 608, 3632, 3677, 608, 3693, 3035, 3198, -4175, -4175, -4175, -4175, -4175, 3299, 3712, 4015, 3507, 4068, 3302, -4175, -4175, 3507, 4054, 3594, 4000, 3302, 2390, 4084, 61889, -4175, 4100, 3077, -4175, 3870, -4175, 3715, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2234, 2234, 2849, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2168, 3653, 4027, 3653, 3653, 3653, 3653, -4175, 4109, -4175, 253, -135, 3302, 2243, 4110, 4111, 4112, 53736, 4116, 4141, 4037, 4143, 4144, 4146, 4073, 205,104574, -4175, 1506, 3302, 86304, -4175, -4175, -4175, -4175, -61, -4175, -4175, -4175, -4175, -4175, -4175, 4149, 53736, 4150, -4175, 3302, 3302, -4175, -4175, -4175, -4175, -4175, 35, 3302, 3302, 3302, 3302, 4132, -4175, 3688,106604,104574, -4175, -4175, -120, -4175, 3971, 65960, 48650, 1014, -4175, 3875, 2620, 3994, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 3287, 3819, 3351, 95439, 96454, 89349, 3230, 574, 4083, -4175, -4175, 3223, -4175, -4175, -4175, -4175, 442, -4175, -4175, 3282, 18929, 3074, -4175, 3289, -4175, 2432, 3074, 4101, 4103, 4103, 4105, -4175, 3919, -4175, -4175, 4105, 3919, -4175, 4106, 4108, 4113, -4175, 4104, 3918, 3945, -4175, 4115, 41545, 3298, 1140, 1140, 1140, 4092, 4117, 4095, -4175, 4096, 4099, -4175, 18929, -4175, 3304, 3472, -4175, 4119, 3902, 4017, 4120, 3347, 3353, 3877, -4175, 1931, 3877, 3361, 4114, 4118, 1140, 3385, -4175, 3405, 3414, -4175, -4175, 4121, 4122, 4123, 4124, 3436, 4125, 3450, 3953, 3074, 18929, 3074, 18929, 3074, 18929, 3074, 4126, 4128, 4129, 3484, 4177, 4127, 4127, 4200, 4131, 971, 4133, 4147, 4148, 4151, 4153, 4155, -4175, -4175, -4175, 31265, 3555, 1630, 2642, -4175, -4175, 19957, 3863, 1952, 32293, 3991, 1420, -4175, -4175, -4175, 4156, -4175, -4175, -4175, -4175, 3065, 3970, 3064, -4175, -4175, -4175, 3903, 22, 1910, 3489, 3812, -4175, -4175, -4175, -4175, -4175, -4175, 405, -4175, 1149, 4157, 4158, 3752, 3357, -4175, -4175, 3903, 3329, 3896, 179, 1957, 4202, 33321, 4217, 4152, -4175, -4175, -4175, -4175, 3974, 1306, 2602, 2602, 3623, 93409, 3347, 33321, -4175, 416, 58822, -4175, 4207, 4211, 4213, -4175, -4175, 18929, 4170, 18929, 4171, -4175, -4175, 1399, 1062, 4172, -4175, -4175, -4175, 4174, 1106, 4249, 86304, -4175, 1106, -4175, 1106, 86304,103559, -4175, 1106, -4175, 4176, -4175, -4175, -4175, -4175, 86304, 86304, -4175, -4175, -4175, 75117, -4175, -4175, 1967, 86304, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 1980, 3225, -4175, 412, 4179, 65960, 2001, -4175, 2010, -4175, 3465, 86304, 4180, 4182, -4175, 2015, -4175, 4103, -4175, -4175, 4103, 4105, 3955, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 3961, 4184, -4175, -4175, -4175, -4175, 4103, 4103, 4185, -4175, -4175, -4175, -4175, 4186, 4105, -4175, -4175, -4175, 4187, 1203, 4188, 4190, 4108, -4175, 4103, 4103, -4175, -4175, -4175, -4175, 4058, 4059, -4175, -4175, -4175, 1603, -4175, 1741, -4175, 4270, 82233, 18929, 4196, 18929, 4197, 18929, 86304, 3598, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 18929, -4175, -4175, 3223, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2243, 1506, 3094, 4272, 4097, 3532, 4280, 3532, 3532, 3598, -4175, 3223, -4175, -4175, -4175, 3302, 2849, 2390, -4175, 4283, 4193, 3703, -4175, 4077, 4284, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 61889, 61889, 61889, -135, 3302, -4175, 3889, -4175, -4175, 3302, 2390, -4175, 3865, 3293, 61889, 4292, 3302, -4175, 3635, 3300, -4175, 3635, 608, 3302, 3302, 4245, 503, -4175, 61889, -4175, -4175, -4175, 61889, -4175, 3302, 61889, 4222, -4175, -4175, -4175, -4175, 4243, 3331, 86304, 4301, 3315, -4175, -4175, -4175, -4175, -4175, 4304, 3451, 89349, 3451, 3451, 3451, 3451, -4175, -4175, -4175, -211, 4023, 4306, -4175, -4175, 3223, -4175, -4175, -4175, -4175, 3703, -4175, -4175, -4175, 4284, -4175, 4287, -4175, -4175, 83259, -4175, -4175, -4175, -4175, -4175, 2243, 1506, -4175, 4310, 61889, 4311, 4236, 567,104574, 4287, 4287, 258, -4175, 65960, 86304, 412, 2025, -4175, -4175, 1244, 86304, -4175, 4130, 4026, 3994, -4175, 4029, -4175, -4175, -4175, 1938, 1014, 4314, 4160, -4175, 4085, 3379, 4237, 3290, 2749, 2068, -4175, 4264, 4154, -4175, -4175, 65960, -4175, 4087, -4175, -4175, 3074, -4175, 18929, -4175, -4175, 2187, -4175, -4175, 4242, 4327, -4175, -4175, -4175, -4175, -4175, -4175, 4330, -4175, -4175, 89349, 18929, 18929, 4332, 1521, -4175, -4175, -4175, -4175, 1140, -4175, 1140, 1140, 1140, -4175, -4175, -4175, 4257, 18929, -4175, 52, -4175, 4334, 4260, 18929, -4175, 4261, -4175, 1140, 1140, -4175, 4135, -4175, -4175, 1140, 1140, 1140, 1140, -4175, 1140, -4175, 18929, 3074, 3074, 3074, 1140, 1140, 1140, -4175, 4337, 4338, 4271, -4175, -4175, -4175, 4320, -4175, -4175, 195, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 3555, 1630, 3863, -4175, 34349, 3555, 1630, 18929, 18929, -4175, -4175, 68001, -4175, -4175, -4175, -4175, 4273, -4175, -4175, -4175, -4175, 4293, 4295, -4175, -4175, 65960, -4175, 179, 1937, 3074, 2077, -4175, 4277, 4002, 1770, -4175, 4189, 4192, 4161, 4194, 1306, -4175, 4138, 4138, -4175, 2703, -4175, -4175, 416, -4175, -4175, -4175, 3074, 93409, 3074, 93409, -4175, -4175, 4195, 4203, 444, 2250, -4175, 4279, 1106, -4175, -4175, 1106, 86304, -4175, 1106, -4175, 444, 2078, 2084, 1894, 201, 4289, -4175, 86304, 18929, 4033, 4075, -4175, 4089, -4175, 4298, 4312, 89349, 89349, 93409, -4175, -4175, -4175, 4242, 13, -4175, -4175, 1910, -4175, 4242, 4378, -4175, 1910, 13, 4387, -4175, 4009, 4218, 1927, 4392, 13, 4395, 13, -4175, 4242, -4175, -4175, 2695, -4175, -4175, -4175, 3475, 2094, 3510, 89349, 3535, 89349, 3540, -4175, -4175, 3566, -4175, -4175, -4175, 3532, 3094, 649, 4396, 4323, 3094, 4324, -4175, -4175, -4175, 61889, 2390, -4175, -4175, 4326, 2103, 3421, -4175, -4175, 2108, -4175, -4175, -4175, -4175, 4402, 3302, -4175, 4080, 4403, 3223, 2778, 4405, -4175, -4175, 4408, -4175, 4409, -4175, 3635, 61889, 4411, 4412, 4354, 4357, 4360, 4361, 4362, 4363, -4175, 503, -4175, 4399, -4175, 4421, 2110, 3434, 4284, 3302, -4175, 4034, -4175, 4423, -4175, 4369, -388, -4175, -388, -388, -388, -388, 3302, 3302, 3223, -211, -4175, -4175, 3925, -4175, 2111, 2122,104574, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 4284, -4175, 4287, 3812, -4175, 4350, 4078, 4239, 86304, 56792, 3196, 4341, 4342, 3465, 439, 4248, -4175, 1014, 3490, -4175, -4175, -4175, 4977, 96454, 97469, 2849, -4175, 89349, -4175, 4432, 1014, 4359, 4145, 2130, -4175, -4175, 4364, -4175, -4175, 2136, 4366, -4175, 3584, 4046, 4391, -4175, -4175, -4175, -4175, -4175, -4175, 4417, -4175, -4175, 35377, -4175, -4175, -4175, 4346, 2146, 4347, -4175, -4175, -53, 90, -4175, -4175, -4175, -4175, -4175, 3074, -4175, -4175, -4175, 4424, 4367, -4175, 4200, 4200, -4175, -4175, -4175, -4175, 3620, -4175, 3863, 3555, 1630, 3863, 3074, 3074, 3064, -4175, 4446, 4447, 3319, -4175, 33321, -4175, 33321, 93409, 4266, 4267, 1770, -4175, 4454, 4455, 4275, 4456, -4175, 4276, 4221, 4221, -4175, -4175, 2162, 2165, -4175, -4175, -4175, -4175, -4175, 4441, 4386, -4175, -4175, 4388, -4175, -4175, -4175, 1106, -4175, 2172, -4175, -4175, 75117, -4175, -4175, 3465, 3599, 296, 65960, -4175, 65960, -4175, 89349, 89349, 2176, 2179, -4175, 4393, -4175, 469, -4175, -4175, 4102, 2180, 469, 4390, 2183, 4102, 4394, -4175, 4398, -4175, 4136, 89349, 2798, -4175, 4379, 89349, -4175, 4469, -4175, 4470, 2798, 4466, -4175, 4389, -4175, 4400, 4102, 2194, 4102, 469, 2187, 2187, -4175, -4175, 4297, 3532, -4175, -4175, 3475, 3475, 2195, 3475, 2201, 3475, -4175, -4175, 3532, 4474, -33, -32, 3552, -4175, 4075, -4175, 3532, 4089, -4175, -4175, -4175, 3703, 4397, 3302, -4175, 4481, -4175, 4483, 89349, -4175, -4175, 3149, 3505, -4175, 3508, -4175, 3626, -4175, -4175, 2075, 4489, 4490, 2075, 2075, 2075, -4175, 61889, -4175, -4175, 2204, 548, 279, 4492, 4134, 78, 2234, 2234, 2234, 2234, 2234, 4494, 4493, -4175, -4175, 3302, -4175, -4175, -4175, 2206, -4175, -4175, 412, 4422, 3465, -4175, 3875, -4175, 86304, 3465, 4425, 4427, 337, 4308, -4175, 266, -4175, 4415, 3290, -4175, 3290, -4175, -4175, -4175, -4175, -4175, -4175, 89349, -4175, -4175, -4175, 4498, -4175, -4175, -4175, 18929, 753, 4428, 36405, 41545, 3669, 3074, 350, -4175, 1140, -4175, 1140, -4175, -4175, -4175, 4413, 4505, -4175, -4175, 122, -4175, -4175, 3863, -4175, -4175, 4319, -4175, 2229, 4202, 4508, 4509, -4175, -4175, -4175, 4510, -4175, 18929, 18929, 4486, 4486, -4175, -4175, 444, -4175, -4175, -4175, -4175, 2240, 4437, -4175, 4438, 3558, 4167, 4173, 2258, 2264, 2270, 89349, 2270, 4515, 1238, 3004, -4175, -4175, 4242, 3004, -4175, 4242, -4175, -4175, 18929, 240, -4175, -4175, -4175, -4175, 2658, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 4516, -4175, -4175, 3004, -4175, -4175, 671, 4458, 3532, 3532, 3475, 3532, 3475, 3532, 4323, 3552, 4528, 3578, 4533, 3588, 4534, -4175, 4324, 2271, 4461, 4463, -4175, -4175, -4175, 4484, -4175, 608, 3693, 3302, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 3556, 4542, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 4544, -4175, 86304, 18929, 4471, 2092, 4472, 4473, 89349, 84274, 16873, 4477, -4175, -4175, 3795, 97469, -4175, -4175, 2272, 4478, 3612, 3933, 3866, -4175, 4518, 1521, -4175, -4175, -4175, -4175, -4175, -4175, 1140, 4538, 4230, 71, -4175, -4175, -4175, -4175, 1912, -4175, 456, -4175, 3074, 4560, -4175, -4175, -4175, -4175, 89349, 37433, 3980, 889, 3939, 4517, 2270, 4258, 3817, 3302, 4565, 3302, -4175, 3302, -4175, 3302, 4491, 3302, -4175, -4175, -4175, 2270, -4175, -4175, -4175, -4175, -4175, 4495, 3987, -4175, 469, -4175, 469, 3628, -4175, 4496, -4175, 4499, 348, 351, 4501, 4274, -4175, 4458, 4323, 3532, 4324, 3532, 4458, -4175, -4175, 3644, 4502, 3648, 4503, -4175, -4175, -4175, 4284, 4567, 2685, 3635, 608, 4579, 4580, 3793, 3223, 3465, 3633, 89349, 1014, 89349, 89349, 2280, 89349, 2282, -4175, -4175, 3643, 89349, 4198, 3290, 2270, -4175, -4175, 3892, -4175, 36405, -4175, -4175, 4583, 1317, 3974, -4175, -4175, -4175, 18929, 3757, -4175, 4410, 4570, -4175, 2283, 2219, 3074, 2288, 4586, 4519, 38461, -4175, 3980, -4175, 65960, 4591, 4594, -4175, 4595, 4596, 4597, 89349, 4598, -4175, -4175, 4599, -4175, 3004, 3004, 765, -4175, 89349, 18929, 4526, 18929, 4529, 18929, 65960, 2290, -4175, -4175, -4175, 4323, -4175, 4324, -4175, 3651, 3680, -4175, 3654, 3682, -4175, 2302, -4175, 2323, -4175, -4175, 3635, -4175, 4241, -4175, -4175, -4175, 4535, -4175, 2324, -4175, 2326, 2335, 2270, 2337, 84274, -4175, -1, 2349, -4175, -4175, 3875, -4175, -4175, 4536, -4175, 1185, -4175, -4175, 4539, 4560, 2270, -4175, 18929, -4175, -4175, 3684, -4175, -4175, -4175, -4175, 4530, 3074, 2351, -4175, 4519, 4540, -4175, -4175, -4175, -4175, -4175, 2355, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2357, 3656, 89349, 3690, 89349, 3713, 3980, 4274, -4175, -4175, -4175, 4502, 65960, 2364, -4175, 4503, 65960, 2367, -4175, -4175, 4612, -4175, -4175, 4616, 89349, 2270, 4313, 3465, -4175, -4175, 2375, -4175, 0, -4175, -4175, 4617, 4619, 4546, -4175, -4175, -4175, 3074, 65960, 2377, -4175, 38461, -4175, -4175, 89349, -4175, 773, 1442, 3692, 2388, 3697, 2394, 1464, 4519, -4175, -4175, 4265, 3680, -4175, -4175, 4269, 3682, -4175, -4175, -4175, 2395, -4175, 65960, 3653, 84274, -4175, 102, 102, 63930, 4300, 129, 3704, -4175, -4175, 2409, -4175, 4622, 4543, 4633, 4634, -4175, 4548, -4175, 3685, -4175, 3687, 3709, 3689, 3720, 3691, -4175, -4175, 4032, -4175, 4593, -4175, 2270, 4569, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 2410, -4175, -4175, 93409, -4175, 316, 4585, -4175, 65960, -4175, 4368, -4175, -4175, -4175, -4175, -4175, 4572, 4502, 3700, 4503, 3701, 4572, 3699, 4438, -4175, 89349, 85289, -4175, 4628, -4175, 4587, 4064, 4137, 167, -4175, 3704, -4175, -4175, 4502, -4175, 4503, -4175, 889, -4175, 2414, -4175, 93409, 33321, -4175, -4175, -4175, -4175, -4175, 4559, -4175, -4175, -4175, 4368, -4175, -4175, 310, -4175, -4175, 157, 157, 4559, -4175, -4175, 1099, 4286, -4175, -4175, -4175, -4175, -4175 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -4175, -4175, -4175, -4175, -4175, -1614, -4175, 1601, -4175, -4175, -4175, -3920, -2087, -4175, -2709, -2718, -4175, -1657, -2345, 306, -299, -4175, -19, -1556, -4175, 2257, 2262, -4175, -4175, -4175, -4175, -341, -2872, 3897, 3898, -2213, -330, 14, -4175, -324, 1125, -4175, -4175, -4175, -4175, -4174, -4175, -4175, -4175, -4175, 2446, -4175, 1319, -4175, -4175, -4175, -4175, -4175, -4175, -3332, -4175, -4175, -4175, 3479, -4175, -4175, -278, 2941, 1622, 2970, 269, 1124, -4175, -4175, -4175, -4175, 286, -4175, -1950, -4175, 1094, -4175, 283, 4680, -4175, 4682, -3007, 1021, -4175, 1808, 1369, -4175, 724, -4175, -4175, -4175, 1382, -4175, -4175, -4175, -484, 1268, -4175, 1843, -3744, -3571, -4175, -4175, -4175, -4175, -4175, 1762, -1179, -4175, 2496, -3, -1210, -2027, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -406, -4175, -4175, -470, -4175, -4175, -489, -4175, -4175, 4459, -2079, -4032, -3879, -4175, -3407, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -98, -4175, 373, -502, -4175, -503, -494, -4175, -2505, -4175, -4175, -4175, -4175, -1638, -4175, 1766, 1187, -4175, -4175, -4175, -2372, -1830, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -2501, -4175, 929, -1863, 963, -2481, -2276, -2851, -3699, -3006, -4175, -4175, -2735, -1298, -3703, -1801, -3301, -4175, -4175, 219, 501, -363, -1945, -4175, -1925, -3624, -1896, 1421, -2784, -2004, -2017, 3979, -2020, 1826, -4170, -4175, -4175, -4175, -4175, -1377, -1376, -1363, -1356, 735, -4175, -4175, -3816, -3540, -3957, -4175, -4175, -3018, -4175, -314, -3968, -4175, 541, -3965, -4175, 542, -3896, -3284, -4175, -386, -4175, -3854, -4175, -365, -4047, -4175, -367, -439, -4175, -457, -3838, -4175, -344, -3660, -4059, -1996, -4175, 1852, 1853, 1854, 1855, -3046, -4175, -4175, -4175, -4175, -4175, -1820, 1280, -2058, -4175, 2039, -1893, 2692, -4175, -4175, -4175, 4500, -4175, -4175, -4175, -4175, -4175, -3148, -2480, 2712, 766, 768, -4072, 72, -4175, -4175, -3554, -4175, -91, -3160, -2779, -4175, -4175, 4487, -4175, -88, -1384, -4175, 4742, 2831, -3251, -4175, 3354, 1646, -4175, 3305, -4175, -4175, -2938, -4175, 333, -3601, 1, -4175, 79, 32, 760, -4175, -4175, -4175, 1064, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 1069, -4175, -4175, 1998, -4175, -1869, -4175, 407, 2813, -4175, -4175, 2225, -39, -4175, 628, -144, -4175, 341, 2, -4175, 3258, -2009, -146, 3950, -4175, -4175, -4175, 593, -4175, -660, 626, 2378, -4175, -4175, 629, -4175, -4175, -140, -4175, -4175, -68, -66, -4175, 1648, 96, 342, -4175, -4175, 3352, 2236, -1923, -4175, -4175, -1814, 2228, -2377, 3341, -4175, 1612, -4175, -4175, 2214, -4175, -4175, 368, 2833, -4175, -3499, -1979, 1616, 130, 615, -4175, -4175, -2449, -101, 3356, 2830, -2257, -1796, -4175, -1930, -1257, -2429, -1972, -4175, 1598, -2539, -4175, 613, -1366, -3306, -4175, -2357, -4175, -4175, -4175, -4175, -4175, -2214, 27, -4175, 3426, 2910, -4175, -4175, 1705, -4175, -4175, -4175, 1311, -4175, -4175, -1323, -4175, -4175, -4175, 3453, -4175, 3454, -4175, -4175, 3442, -4175, -4175, -978, -1706, -1292, -4175, -4175, 1889, 1917, 2611, 1916, 1918, -2562, -4175, -2512, -1144, -1745, -175, -3359, -4175, -239, -4175, 3468, -4175, 2372, -4175, -4175, 2623, -4175, -4175, -4175, 2299, 1710, -4175, 2007, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 4782, -4175, 3194, 3593, 3010, -4175, -4175, -4175, 33, -4175, -4175, -3075, -4175, -1521, 2983, -25, -4175, -888, -4175, -4175, -4175, 1720, -4175, -4175, -4175, -4175, -4175, 2384, -4175, -4175, 2157, -4175, -4175, -2559, -4175, -2114, -4175, -4175, -4175, -4175, 1588, -4175, -256, -4175, -486, -4175, -184, -2370, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 547, -4175, -4175, -4175, 2725, -4175, -4175, -2645, -4175, 913, 1469, -4175, -4175, 2072, -4175, -2699, -4175, -3658, -3263, -4175, -4175, -4175, -2654, -2091, -2099, -589, -4175, -4175, 2017, -2060, 956, 1423, 1426, -1829, -4175, -4175, -4175, 531, -4175, -4175, -4175, -4175, -4175, -4175, -4175, 294, -4175, 3291, -2035, -3233, -4175, -4175, -4175, -4175, -4175, -4175, 2016, -3290, -4175, 2036, -4175, -1200, 2687, -4175, -4175, -4175, -4175, 173, -1341, 1213, -4175, -4175, -4175, -13, 1220, 585, 3058, -1785, -1666, 3316, -26, -4175, -4175, -300 }; /* 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 -2972 static const yytype_int16 yytable[] = { 1182, 82, 1317, 1314, 1454, 209, 210, 211, 212, 213, 1598, 1624, 1625, 1828, 2535, 1627, 1317, 2185, 1406, 1660, 1407, 1420, 2451, 1421, 1662, 1311, 1348, 2297, 145, 1381, 1438, 2240, 1439, 144, 1792, 2245, 2619, 1555, 2686, 2252, 2637, 1900, 3036, 2649, 1856, 2652, 2584, 2725, 1567, 2729, 2233, 1859, 2431, 1862, 2802, 3186, 1868, 2595, 2600, 2760, 2783, 1506, 3736, 4138, 2510, 2255, 2256, 2624, 2827, 2787, 3733, 3358, 1797, 1377, 2768, 2825, 2825, 2616, 3892, 84, 143, 2568, 2800, 3329, 4003, 2627, 3332, 2311, 2368, 2370, 2372, 2374, 2376, 2378, 2380, 3398, 3551, 3398, 3649, 3398, 2970, 2971, 2972, 3469, 3888, 2331, 3400, 3891, 3402, 3924, 3925, 3926, 3927, 3161, 3165, 1507, 3168, 2684, 3169, 2891, 1963, 1964, 1965, 1966, 3357, 1968, 1969, 2541, 2876, 3280, 2029, 2030, 1441, 3226, 1578, 1579, 1580, 2017, 2469, 2470, 1591, 3367, 2574, 2844, 2031, 2821, 2475, 2823, 2844, 3249, 2845, 2032, 2536, 3380, 1592, 2845, 3180, 2869, 1985, 3228, 1596, 2131, 1599, 2844, 2870, 3185, 3648, 2869, 3406, 3242, 2845, 2487, 3247, 3206, 2870, 3421, 3149, 3149, 3149, 1440, 2583, 2583, 4233, 4234, 84, 3421, 3202, 3507, 2364, 3520, 2799, 2583, 2583, 2583, 2583, 2583, 3404, 3151, 3152, 5187, 225, 4306, 2583, 2583, 2583, 2583, 2583, 1977, 2583, -1710, 2583, 2583, 2154, 1987, 1988, 1989, 1990, 1991, 2583, 2583, 1998, 1999, 2000, 2001, 2002, 3104, 2004, 4171, 2006, 2007, 4262, 2010, 2361, 4264, 3023, 2362, 2700, 3024, 1883, 3842, 3843, 3333, 2043, 2014, 2015, 3119, 3449, 1744, 1745, 1746, 1747, 1748, 1749, 4215, 3431, 1750, 1835, 4505, 1, 1612, 3073, 4393, 3436, 4523, 4749, 1378, 1617, 1618, 4526, 4108, 3387, 3388, 3389, 3390, 2120, 3391, 3392, 3393, 3394, 2085, 3395, 2019, 3476, 2020, 1620, 4242, 1215, 3508, 2044, 2775, 4502, 2871, 2146, 2829, 1886, 2021, 1630, 3435, 2656, -847, -848, 2871, 1661, 4394, 1774, 1775, 1776, 1777, 1778, 1768, 1769, 2, 2460, 2461, 2144, 3387, 3388, 3389, 3390, 3176, 3391, 3392, 3393, 3394, 214, 3395, 1207, 2022, 3063, 2829, 214, 3477, 3396, 1806, 2822, 3141, 2824, 1374, 4395, 2956, 3717, 3718, 145, 3432, 2, 4662, 5204, 144, 2849, 1774, 1775, 1776, 1777, 1778, 1836, 3621, 1992, 4367, -1710, -1710, 4139, 2019, 4334, 2020, 2086, 5161, 2045, 214, 4468, 1209, 4305, 3824, 1837, 5132, 1873, 2021, 4394, 3396, 2300, 3478, 2850, 2301, 3965, 3966, 2648, 3630, 3656, 2067, 4666, 2068, 3509, 2069, 2955, 2025, 1631, 1838, 4118, 1225, 3838, 2135, 3841, 2194, 2659, 3934, 2894, 2023, 4224, 2022, 3683, 3794, 3510, 4395, -991, 4764, 1981, 3796, 4769, 2024, 2659, 3511, 2209, 2211, -535, -535, 4717, 4719, 1839, 4939, 1834, 2442, 4941, 3929, 2025, 1225, 3779, 2193, 2577, 2736, 3662, 4236, 215, 4783, 4685, 3930, 1807, 2695, 215, 4434, 2884, 2850, 3317, -550, -550, 1955, 2659, 1846, 4743, 2166, 2544, 4595, 4597, 3674, 2659, 1210, 1670, 3254, 2880, 2087, 3545, 216, 27, 3139, 4323, 3105, 5205, 2063, 2530, 2531, 3457, 2777, 4905, -534, -534, 215, 5206, 2023, 2182, 4467, 2081, -1355, 1871, 2659, 5143, 4472, 1925, 2660, 4297, 2024, 1995, 4624, 217, 3719, 3054, 27, 2630, 3442, -602, 2070, 4499, 3106, 3676, 2660, 2025, 4686, 4687, 226, 2956, 33, 1394, 2145, 3243, 2659, 3584, 3783, 1504, 5201, 3278, 2741, 1874, 4304, 1874, 3243, 4777, 3238, 3493, 3494, 1926, 227, 1955, 4558, 2149, 2920, 3106, 2898, 2851, 228, 2137, 2660, 3791, 2857, 33, 4709, -789, 3512, 4712, 2660, 4714, 3338, 2671, 2858, 2150, 2956, 4502, 4775, 2077, 4776, 2480, 4515, 4625, 3792, 4502, 4576, 2623, 4178, 2482, 2672, 3282, 2483, 2138, 2484, 2485, 3155, 1872, 2618, 2660, 3167, 4179, -1355, 1206, 3398, 3398, 3398, 3398, 3398, 3398, 3398, 3398, 2921, 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, 4298, 4543, 4319, 1225, 1214, 2899, 1840, 2851, 2660, 2124, -834, 1358, 1363, 3825, 1875, 3826, 1875, 2880, 3188, 3585, 3189, 1805, 3784, 3739, 1225, 3283, 2695, 4588, 2121, 218, 3684, 2155, 2778, -1417, 4462, 2630, 1327, 3852, 2773, 2742, 3250, 3251, 3252, 3712, 1802, 2943, 2944, 5144, 2850, 2595, 1996, 4859, 2156, 4265, 4771, 1225, 2633, 2830, 2595, 219, 5202, 2172, 2696, 3318, 1927, 1505, 3203, 4744, 3827, 1802, 2064, 4510, 1327, 4512, 2453, 2686, 1437, 3287, 3288, 2595, 2481, -1388, 3513, 3949, 1458, 3514, 3322, 2964, 2071, 4882, -2305, 3605, 3348, 2830, 3606, 4584, 2973, 2171, 3679, 2167, 2864, 1385, 3072, 2453, 2082, 3690, -1388, 3692, 3740, 3696, 3381, 3698, 2025, -2305, 3737, 3405, 4986, -612, 3365, 3786, 3675, 2852, 3918, 2825, 3342, 3343, 3372, 3244, 3140, 3538, 2704, 4911, 1395, 2697, 3540, 4517, 1808, 1815, 4589, 2172, 4435, 4858, 2570, 3126, 2088, 2139, 1956, 3789, 4854, 3172, 4856, 1386, 4865, 4750, 3277, 2545, 3149, 4846, 4673, 3546, 2864, 2532, 1982, 4677, 3035, 3368, 3559, 3175, 1847, 3677, 3562, 3563, 2136, 3720, 3084, 3378, 3666, 1953, 2078, 5107, 2079, 3795, 2569, 2583, 2578, 4227, 3425, 3797, 4770, 2864, 4704, 2443, 2583, 2633, 2026, 1458, 1508, 1509, 1510, 4940, 4972, 1563, 4942, 3741, 3742, 4638, 2698, 4004, 5056, -1355, 4958, 3743, 2851, 2583, 1387, 3685, 3491, 3156, 1588, 2864, 1458, 4906, 4328, 4225, 2904, 2905, 1583, 3255, 4429, 3780, 3064, 3744, 2831, 2183, 2869, 3339, 726, 2832, 3284, 4708, 3745, 2870, 1884, 4538, 2302, 2303, 3245, 1876, 1327, 2696, 4715, 3746, 4983, 2869, 5108, 3787, 1993, 3245, 4723, -786, 2870, 2853, 4411, 3631, 3839, 1983, 3839, 5207, 2831, 1327, 2922, 3622, 2046, 2832, 2026, 3295, 2147, 2686, 1779, 4948, 3747, 726, 3065, 4317, 4950, 4469, 4570, 3319, 4368, 4890, 4718, 4720, 2651, 3435, 2488, 3748, 3749, 1887, 1659, 2122, 1327, 3135, 2125, 3750, 3751, 3752, 4786, 2957, 2178, -1951, 3176, 2027, 5188, 3952, 3721, 4667, 4663, 3515, -2169, 4745, 2697, 2657, 4504, 4504, 3669, 3670, 3671, 2123, 3753, 1379, 2853, -1950, 3075, 1216, 1803, 1208, 5160, 2459, 5133, 1375, 220, -2169, 1537, 4962, 4310, 4396, 3754, 2173, 4518, 3755, 4481, 3120, 4724, 4577, 3828, 4688, 2920, 3285, 1211, 1803, 2865, 4751, 4917, 2080, 2881, 3756, 3757, 3758, 2871, 5092, 4847, 4839, 3382, 4269, 4841, 5032, 2833, 229, 2140, 2141, 5033, 230, -1949, 3759, 3760, 5086, 2163, 2871, 4000, 3479, 2834, 2027, 1584, 2698, -1355, 2428, 3229, 3230, 3231, 2866, 3246, 4955, 2152, -2305, 1841, 3074, 2699, 4318, 4020, 5116, 1973, 3246, 2833, 2890, 5122, 2835, -1388, 4453, 4396, 1877, 2865, 2836, 4015, 2126, 2854, 2173, 2834, 2777, 2736, 2837, -2586, 3761, 2047, 1885, 2178, 1833, 3762, 3763, 4780, 2157, 5189, -1388, 1511, 4852, 4853, 3722, 4855, 2091, 4857, 2865, 3295, 2835, 1842, -2586, 1613, 1575, 1863, 2836, 1802, 2866, 221, 2127, -2305, -2586, 1593, 2837, 1388, 4519, 2089, 4483, 3516, 2028, 1212, 2092, 4761, 5008, 244, 1826, 222, 2865, 2216, 2305, 3239, 2428, 2957, -2305, -2586, 1, 2866, 4848, 2179, 4149, 4854, 2072, 2057, 4226, 2537, 4270, 3811, 2631, 1786, 5020, 1789, 1790, 5177, 5210, 5070, 3334, 1794, 3764, 4835, 3286, 3765, 231, 1460, 232, 223, 4959, 2866, 1, 5109, 2838, 2839, 1389, 1367, 5193, 3335, 5021, 4787, 2957, 4934, 2930, 4935, 1423, 1424, 2853, 1962, 2959, 4271, 3680, 2058, 2259, 3107, 2777, 4689, 3766, 4001, 2168, 4485, 3458, 2741, 2028, 4689, 233, 3517, 2639, 5054, 2838, 2839, 3422, 3239, -2069, 4587, 2791, 4166, 4781, 4918, -2067, 3234, 4581, 1403, 3077, 3078, 2, 5082, 3107, 4516, 3082, 5123, 2158, 4524, 1986, 1317, 2260, 1354, 5080, 2778, 2931, 4949, 3085, 4951, 4238, 2778, 2699, 3207, 1793, 3469, 2164, 2805, 1390, 2920, 4430, 3704, 4431, 1087, 2, 4963, 3709, 3189, 3634, 3240, 1368, 2363, 2960, 3025, 2306, 4311, 3788, 3781, 1751, 3790, 4520, 2153, 4110, 3704, 5110, 2840, 4272, 1400, 1425, 2073, -2169, 4154, 3801, -1271, 4222, 4157, 4187, 4158, 3809, 4161, 2688, 4163, 4849, 3235, 1864, 3706, 3204, 4094, 1087, 3177, 1382, 3711, 3714, 1383, 4920, 2937, 3907, 3663, 1512, 4196, 1400, 2840, 3617, 2093, 2825, 2806, 1, 2744, 1891, 4165, 1426, 1576, 2094, 5131, 2029, 2030, 1901, 4167, 4235, 3857, 1594, 1797, 3076, 3149, 1383, 3525, 4660, 3240, 2031, 4207, 4208, 4273, -983, 2789, 5175, 2032, 2217, 4150, 3281, 5045, 2169, 2778, -1271, 4140, 2180, 5211, 3812, 2923, 3661, 4032, 4033, 4034, 4221, 1818, 1819, 5192, 2261, 2056, 4488, 3178, 1774, 1775, 1776, 1777, 1778, 1410, 1411, 1412, 1413, 1400, 4984, 27, 1364, 4974, 4975, 2557, 4977, 4056, 3916, 3917, 3909, 4981, -2586, 3767, 4843, 1317, 2264, 1803, 2558, 4274, 5111, 4151, 2, 3, 4, 5, 6, 2237, 1896, -1096, -1096, -1096, -1096, 27, 1369, 4838, 3602, 3603, 3595, 4840, 1317, 2170, 2175, 3635, -2305, -2586, -647, 3450, 33, 2583, 2184, 5015, 2500, 1922, 2876, 2583, 2583, 2844, 2265, 1427, 3848, 5023, 255, 2501, 2845, 3791, 4845, 3991, 2248, 1820, 2920, 4640, 12, 1937, 1428, 2274, 2275, -1096, -1096, -1096, -1096, -1271, 3115, 256, 4763, 5051, 3792, 5058, 3791, 4766, 2502, 1607, 2250, -1094, -1094, -1094, -1094, 5059, 1807, 257, 4765, 3101, 2238, 5063, 1391, 4199, 258, 1786, 1400, 3792, 3220, 18, 2340, 1410, 1411, 1412, 1413, 3116, -2675, 2388, 1774, 1775, 1776, 1777, 1778, 259, 2938, 2560, 2686, 2245, 3135, 4969, 1460, 4871, 260, 2407, 2269, 1397, 261, 2324, 2187, 2188, 4148, 2249, 4326, 2422, 2195, 2427, 5076, 3976, 5078, 2501, 2200, 2741, 2706, 1974, 2503, 5093, 1929, 1666, 1929, 3791, 4870, 1898, 1929, -2797, 3102, 2251, 2205, 2206, 4627, 25, 1818, 1819, 1942, 3221, 2214, 2215, 2502, -2675, 3938, 27, 3792, 3800, 2342, 84, 84, 84, 84, 2920, 84, 84, 2266, 1821, 5106, 4128, 4129, 2640, 2641, -1095, -1095, -1095, -1095, 2654, 3469, 1408, 3954, 3277, 262, 4327, 3987, 2270, 263, 31, 2325, 1608, 254, 255, 3451, 3452, 1667, 1774, 1775, 1776, 1777, 1778, -2798, 1403, 33, 3482, 3334, 2546, 2547, 2548, 2549, 2550, 2551, 5162, 256, -1271, 264, 265, 3087, 2544, 2503, 2968, 4557, 5197, 3768, 3335, 3769, 3770, 2707, 2708, 257, 2618, 3844, 3453, 1820, 2343, 2222, 258, 1408, 2223, 4130, -832, 1400, 1609, 3047, 3791, 2227, 2618, 1459, -1271, 2618, 4539, 4876, 1610, 2707, 2708, 259, 1774, 1775, 1776, 1777, 1778, 5182, 4680, 1674, 260, 3792, 2709, 1461, 261, -2969, 1462, 5018, 5019, 3088, 3130, 1400, 4964, 1774, 1775, 1776, 1777, 1778, 2232, 4700, 2235, 4703, 3181, 2924, 3771, 4131, 2243, 2244, 2709, 4100, 2741, 3441, -1271, 2253, 1408, 2618, 2257, 2258, 3187, 2263, -2675, -1410, 1463, -2675, 2272, 2273, 2273, 2581, -1271, 2298, 3441, 4466, 1464, 2308, 2309, 2310, 2312, 4211, 1605, 1400, 4599, 2317, 2318, 2524, 2320, 2848, 2322, 2323, 2618, 2326, 2327, 2525, 2618, 2330, 262, 1400, 1606, 2334, 263, 1771, 2879, 4443, 2339, 1570, 4444, 2344, 2345, 4446, 2618, 2352, 4970, 3192, 1772, 2357, 2358, 2359, 1774, 1775, 1776, 1777, 1778, 1399, 2277, 2278, 2279, 2280, 264, 265, 2630, 2462, 2193, 2463, 1465, 2465, 3189, 2467, 1432, 2618, 3791, 2468, 2618, 4400, 1466, 2752, 3193, 2753, 4403, 4239, 3194, 2411, 2412, 2413, 2414, 2415, 1467, 2825, 2416, 2193, 2425, 3792, 2281, 2282, 2283, 1572, 3195, 266, 2486, 234, 3711, 2595, 2618, 250, 4168, 3711, -1271, 4256, 1675, 2595, 1213, 2438, 2440, 2441, -2970, 2825, 4134, 4135, 1458, 1788, 1458, 1458, 4106, 1791, 1358, 3196, 1458, 2618, 3197, 1317, 1314, 5130, 2507, 1400, 1916, 2284, 2285, 2519, 2519, 1923, 2438, 2438, 2097, 2508, 4471, 3048, 2509, 4212, 4361, 4474, 4362, 4363, 4364, 1934, 2472, 2552, 2618, 2618, 3198, 2386, 4947, 1577, 2631, 2618, 2632, 4952, 3012, 4376, 4377, 1468, 2286, 1959, 1469, 4380, 4381, 4382, 4383, 2920, 4384, 4247, 4248, 4249, 2920, 3199, 4386, 4387, 4388, 1774, 1775, 1776, 1777, 1778, 2920, 4259, 3596, 1317, 5174, 1317, 1506, 4102, 3398, 5179, 214, 4184, 1470, -996, 4184, 4277, 2512, 4772, 2513, 4279, 3200, 3201, 4277, 4832, 5095, 4832, 2633, 3209, 2287, 2521, 4191, 4192, 1774, 1775, 1776, 1777, 1778, 1217, 255, 1741, 2618, 3534, 2583, 2583, 1676, 4659, 3535, 2583, 2507, 3618, -2971, 2583, 2618, 1742, 4475, 239, 3597, 3573, 3598, 256, 266, 4496, 2509, 4498, 2917, 2918, 1774, 1775, 1776, 1777, 1778, 2618, 2618, 4479, 3124, 257, 2634, 4313, -996, 1363, 3125, 4095, 258, 1774, 1775, 1776, 1777, 1778, 3854, 4050, 3596, 2958, 3481, 1471, 2098, 1458, 3703, 2277, 2278, 2279, 2280, 259, 145, 1458, -84, 2969, 2099, 144, 3708, 3853, 260, 2319, 1472, 2321, 261, 2930, 2686, 1774, 1775, 1776, 1777, 1778, 2449, 1581, 2450, 2618, 215, 3710, 3716, 2635, 4657, 2341, 1473, 2455, 267, 2281, 2282, 2283, 2623, 3115, 2911, 2862, 2224, 1573, 3855, 4051, 4096, 1768, 1769, 2288, 1669, 1458, 1952, -786, 2540, 4480, -2810, 2329, 3135, 4174, -84, 1961, 1774, 1775, 1776, 1777, 1778, 1, 4176, 1942, 4832, 4119, 1474, 4182, 3116, 2100, 1366, 1582, 2284, 2285, 240, -1411, 1380, 4324, 262, 4832, 2101, 2102, 263, 2103, 4634, 4332, 2381, 2383, -1239, 2975, 2389, 2390, 2391, 2392, 2394, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 1774, 1775, 1776, 1777, 1778, 2286, 3802, 4175, 264, 265, 1475, 2104, 3803, 1418, 3037, 1422, 4177, 2105, 4342, 4902, 2887, 4183, 2061, 2062, 2893, 3575, 2895, 4412, 2618, 1771, 2289, 4325, 1476, 3046, 2618, 3607, 4481, 4416, 4832, 1786, 1786, 4417, 1772, 2976, 4342, 2, 3, 4, 5, 6, 1771, 2106, 2500, 3854, 4903, 2287, 2133, 1477, 2623, 3577, 4554, 3854, 1662, 1772, 84, 4528, 4482, 1478, 3324, 3325, 3326, 3327, 2623, 2825, 4343, 1768, 1769, 2659, 1479, 2097, 2920, 267, 268, 4413, 4448, 2186, 4608, 1480, 2189, 2190, 4449, 1358, 3346, 2843, 2197, 12, 2920, 2942, 2843, 3919, 4508, 2203, 1930, 1481, 1930, 3920, 2207, 2208, 1930, 4530, 1358, 1358, 2930, 2843, 4532, 2930, 4556, 4573, 4349, 3704, 3189, 4450, 4654, 4832, 4350, 2220, 4342, 1587, 4574, 4669, 3626, 2910, 2290, 3626, 18, 2915, 4606, 241, 1482, 1363, 2291, 4832, 4609, 2292, 4701, 4342, 4527, 1392, 1393, 3386, 3019, 4342, 4622, 2107, 3404, 4483, 2623, 4563, 242, 4564, 4565, 4566, 4567, 1774, 1775, 1776, 1777, 1778, 4652, 2941, 2660, 4653, 2408, 2409, 2946, 4544, 2288, 2108, 4658, 4412, 2242, 4439, 4668, 2109, 2242, 4670, 4676, 4440, 2242, 4679, 2618, -605, -605, 1483, 25, 4832, 2581, 1484, 2500, 2110, 4702, 4711, 266, 3001, 27, 1589, 4484, 4713, 4669, 4104, 4742, -982, 4760, 1485, 4342, 1486, 1774, 1775, 1776, 1777, 1778, 3854, 4669, 2098, 1669, 4995, 2977, 1487, 2979, 4115, 4669, 3993, 4978, 4669, 4485, 4795, 31, 268, 4996, 2661, 5030, 2293, 2992, 2993, 2994, 2995, 4808, 2686, 2998, 4486, 1488, 33, 2623, 3056, 3057, 1794, 3007, 3009, 3011, 3002, 2662, 3014, 3015, 3016, 4815, 2289, 1498, 3017, 1499, 4109, 4816, 3976, 1500, 5043, 4669, 4832, 4342, 4866, 4891, 2663, 1774, 1775, 1776, 1777, 1778, 4342, 4976, 4342, 4979, 4994, 4360, 1777, 1778, 2420, 4997, 1595, 5031, 5115, 4721, 4342, 3039, 5068, 3040, 243, 2100, 4342, 3020, 4342, 5042, 2294, 1501, 4487, 2220, 3086, 5084, 2101, 2102, 5088, 2103, 5121, 4721, 4348, 2664, 3018, 2111, 5096, 1502, 5103, 2665, 5044, 5048, 1891, 5049, 1503, 4789, 2112, 4790, 145, 4342, 4705, 4706, 5050, 144, 5052, 4342, 4669, 1600, 1458, 2104, 1458, 2464, 1458, 2466, 1458, 2105, 5055, 4366, 5069, 2113, 4342, 5164, 5072, 4374, 5074, 4342, 1601, 2438, 2290, 4631, 4632, 5085, -1701, 1603, 5089, 1611, 2291, 1358, 1615, 2292, 2666, 1614, 5097, 4009, 5104, 1458, 3654, 3655, 244, 2667, 1631, 1616, 1363, 1417, 1419, 5118, 1774, 1775, 1776, 1777, 1778, 5120, 5128, 2668, 2114, -2081, 4488, 1931, 1619, 1933, 1626, 2386, 1932, 1935, 1932, -2799, 5148, 5165, 1932, 245, -2878, 5195, 1663, 246, 1458, 1458, 1664, 3170, 1665, 3171, 1317, -2082, 267, -2879, 2245, 2909, 2245, 2056, 4489, 4010, 1776, 1777, 1778, 1922, -2075, 1937, 3110, 3711, 1774, 1775, 1776, 1777, 1778, 1458, 2543, 4752, 4753, 4754, 4755, 4756, 2567, 1669, 1831, 2295, 4741, 1, 1671, 1437, 1458, 2576, 1762, 1763, 1764, 2296, 1765, 1766, 1767, 2293, 4735, 3248, 3174, 4738, 4739, 4740, 1672, 2580, 1673, -2078, 1458, 1458, 1801, 2107, 1774, 1775, 1776, 1777, 1778, -2085, 2669, 1458, 1458, 1458, 1458, 1458, 2403, 4898, 2404, 2405, 2406, -2076, 1458, 1458, 1458, 1458, 1458, 1786, 1458, 1677, 1458, 1458, 1410, 1411, 1412, 1413, 84, 1678, 1458, 1458, 1679, 2601, 2602, 2603, 1680, 1681, 2242, 2229, 1682, 2110, 2606, 2607, 2608, 2609, 2610, -587, 2612, 2294, 2614, 1683, 1684, -2071, 1942, -2077, -2072, 1685, 2626, 247, 3487, 248, 1686, 1942, 1942, 1942, -1097, -1097, -1097, -1097, 3407, 1687, 4817, 2670, 1688, 3986, 4491, 1689, 1743, 1942, 2726, 1690, 2726, 1691, 1692, 2583, -2070, 1693, 1694, 84, -2087, 1696, 268, -1098, -1098, -1098, -1098, 2919, 1697, 249, 2671, 4490, 1698, 1699, 1700, 1972, -2073, 1701, 1705, -983, 1774, 1775, 1776, 1777, 1778, 3279, 4818, 2672, 3189, 1706, 273, 274, 275, 276, 1707, 277, 278, 279, 280, 1708, 273, 274, 275, 276, 284, 277, 278, 279, 280, -834, 3041, 3043, 1709, 1710, 284, 1711, 2673, 1782, 2914, 3143, 3144, 3145, 3146, 2229, 2674, 4293, 4294, 4295, 4296, 4819, 2675, 1774, 1775, 1776, 1777, 1778, 2111, 1712, 1713, 3600, 1774, 1775, 1776, 1777, 1778, 1714, 1715, 2112, 2726, 1716, 2726, 3612, 1717, 3614, 1718, 2676, -2080, 1719, -2079, 1720, 4820, 4500, 4501, 1721, 1774, 1775, 1776, 1777, 1778, 1722, 2113, -2084, 2295, 2877, 2878, 1811, 1723, 1724, 3135, 1725, 2677, 1458, 2296, 2939, 1358, 1458, 1458, 1458, 1726, 1727, -413, 2896, 2897, 1774, 1775, 1776, 1777, 1778, -414, 1728, 1458, 1458, -2083, 273, 274, 275, 276, 2940, 277, 278, 279, 280, 1729, -834, 1730, 2114, 1731, 284, 1732, 1774, 1775, 1776, 1777, 1778, 3620, 1733, 1774, 1775, 1776, 1777, 1778, 1734, -2086, -2074, 2659, -2068, 2949, 1735, 1736, 1737, 1738, 4821, 4879, 1739, 1740, 329, 330, 331, 332, 333, 334, 1667, 1781, 1783, 1784, 329, 330, 331, 332, 333, 334, 2678, 2965, 4822, 4500, 4501, 1812, 1817, 3443, 2966, 1814, 1813, 1816, 2451, 1824, 1827, 1829, 2451, 3779, 1774, 1775, 1776, 1777, 1778, 1844, 1845, 1849, 2679, 2680, 3475, 2241, 3499, 1850, 3501, 2241, 1852, 3503, 3550, 2241, 3171, 1853, 3505, 3506, 4823, 2451, 1857, 3553, 1858, 3171, 1860, 3523, 3524, 1870, 1880, 1881, 2681, 1889, 3528, 1902, 1888, 1894, 1903, 2967, 1904, 1905, 1897, 1906, 2660, 1774, 1775, 1776, 1777, 1778, 2682, 1907, 1908, 3541, 1774, 1775, 1776, 1777, 1778, 1910, 1911, 1914, 3549, 1774, 1775, 1776, 1777, 1778, 1957, 1774, 1775, 1776, 1777, 1778, 3554, 329, 330, 331, 332, 333, 334, 2360, 1924, 3558, 84, 3560, 84, 3561, 2974, 1953, 1915, -1270, 4824, 1975, 1967, 3568, 1973, 2978, 1978, 1979, 3570, 1980, 2003, 3571, 2059, 3572, 2980, 3574, 2005, 3576, 2008, 3578, 2981, 2661, 2013, 2011, 3582, 2016, 4685, 2671, 2419, 1774, 1775, 1776, 1777, 1778, 1774, 1775, 1776, 1777, 1778, 1458, 1458, 1458, 2662, 2066, 2672, 3601, 2074, 1774, 1775, 1776, 1777, 1778, 2076, 2065, 3608, 3609, -1953, 2095, 2425, 2075, 2425, 2663, 1774, 1775, 1776, 1777, 1778, 2116, 2335, 2336, 2337, 2338, 2983, 2096, 2117, 2118, 2119, 2987, 2128, 1358, 2354, 2355, 2356, -834, 3589, 3590, 3591, 3592, 3593, 3594, 2991, 145, 2129, 2162, 2151, 2161, 144, 4686, 4687, 1458, 2134, 2165, 2148, 2025, 2664, 3000, 2176, 2196, 2198, 2199, 2665, 2202, 2201, 2204, 2182, 3097, 2224, 1458, 1772, 2228, 1774, 1775, 1776, 1777, 1778, 2521, 2236, 2492, 2230, 2231, 2247, 3588, 3588, 3588, 3588, 3588, 3588, 1774, 1775, 1776, 1777, 1778, 3639, 1631, 4897, 2268, 2271, 3638, 2276, 2299, 2313, 2543, 2314, 3131, 2315, 1458, 2242, 145, 2328, 2451, 2451, 2666, 144, 3022, 1458, 1458, 1458, 3153, 2332, 2333, 2667, 2264, 2384, 3162, 3166, 1774, 1775, 1776, 1777, 1778, 1458, 3173, 2428, 2429, 2668, 4594, 1774, 1775, 1776, 1777, 1778, 2430, 2432, 2433, 3637, 2445, 1458, 1774, 1775, 1776, 1777, 1778, 2444, 2446, 2454, 1458, 2447, 2448, 2919, 143, 2471, 1774, 1775, 1776, 1777, 1778, 2474, 2473, 3504, 2477, 4825, 1774, 1775, 1776, 1777, 1778, 1458, 2493, 2497, 3532, 2516, 2494, 2495, 2506, 1942, 1774, 1775, 1776, 1777, 1778, 3537, 2496, 2527, 3213, 1942, 2515, 2514, 2529, 3224, 2242, 3224, 2242, 2242, 2242, 3555, 1774, 1775, 1776, 1777, 1778, 3224, 2528, 2571, 3224, 1458, 2242, 2582, 2588, 2241, 1774, 1775, 1776, 1777, 1778, 2589, 2590, 2591, 2592, 3556, 2669, 1774, 1775, 1776, 1777, 1778, 1774, 1775, 1776, 1777, 1778, 1774, 1775, 1776, 1777, 1778, 2593, 2604, 2605, 3564, 2611, 1458, 2622, 2623, 2631, 3780, 4826, 2650, 2613, 2620, 2621, -834, 2625, 3565, 2628, 4827, 2629, 2655, 1774, 1775, 1776, 1777, 1778, 1318, 3566, 2658, 4093, 2690, 2691, 3567, 2692, 2694, 2693, 2702, 3569, 4098, 1774, 1775, 1776, 1777, 1778, 1774, 1775, 1776, 1777, 1778, 1774, 1775, 1776, 1777, 1778, 2670, 2703, 1774, 1775, 1776, 1777, 1778, 2722, 2726, 2726, 3579, 1774, 1775, 1776, 1777, 1778, 2705, 1774, 1775, 1776, 1777, 1778, 2727, 2731, 1359, 1359, 2732, 2671, 3580, 2733, 1373, 2734, 1373, 3581, 2735, 2736, 2738, 2741, 4006, 3968, -1952, 2739, 2740, 2746, 2672, 4008, 2749, 2751, 2750, 2726, 3369, 2754, 3371, 84, 4031, 2755, 2756, 2757, 2759, 2726, 4040, 2761, 2758, 2764, -834, 2765, 1774, 1775, 1776, 1777, 1778, 2769, 1317, 2673, 1774, 1775, 1776, 1777, 1778, 2762, 2770, 2674, 2784, 2785, 2786, 2659, 2792, 2675, 2790, 1359, 2793, 2801, 2778, 2803, 2843, 2804, 2809, 1359, 1774, 1775, 1776, 1777, 1778, 2810, 2812, 2813, 2814, 1317, 1317, 4047, 2815, 2816, 2676, 2817, 2819, 2818, 2861, 4053, 1774, 1775, 1776, 1777, 1778, 2828, 2847, 2872, 2916, 1774, 1775, 1776, 1777, 1778, 1225, 2888, 2889, 2902, 2907, 2677, 5140, 1319, -2067, 4057, 2901, 3977, 2906, 2908, 1320, 2925, 2926, 1774, 1775, 1776, 1777, 1778, 2927, 2932, 4046, 4007, 3171, 2933, 2934, 4058, 2948, 1774, 1775, 1776, 1777, 1778, 145, 3498, 4059, 2954, 2936, 144, 2947, 2951, 2952, 2963, 2660, 5168, 2953, 2982, 2985, 2988, 4030, 2989, 2997, 2999, 3522, 2990, 1321, 2242, 4064, 3003, 3004, 4688, 4030, 1774, 1775, 1776, 1777, 1778, 5140, 3005, 3013, 1322, 4066, -230, 1359, 1359, 1359, 1359, -231, 3026, 1359, 1569, 3027, 3028, 2678, 3029, 143, 84, 5168, 1774, 1775, 1776, 1777, 1778, 3030, 3031, 4068, 1359, 4069, 1359, 4070, 3033, 1767, 3049, 3053, 3050, 4074, 1569, 3055, 1323, 2679, 2680, 3051, 2661, 1774, 1775, 1776, 1777, 1778, 1774, 1775, 1776, 1777, 1778, 3052, 3059, 3061, 1324, 1325, 3062, -2900, 3068, 4509, 3079, 2662, 3067, 3071, 4137, 2681, 3171, 3080, 3081, 3083, 3089, 4988, 1774, 1775, 1776, 1777, 1778, 1326, 3090, 3092, 2663, 3091, 3093, 2682, 4511, 3094, 3100, 3095, 2559, 4513, 1774, 1775, 1776, 1777, 1778, 3099, 4173, 3113, 3127, 3136, 4121, 3118, -834, 3129, 1359, 1774, 1775, 1776, 1777, 1778, 3154, 3137, 1400, 3142, 4121, 4514, 2544, 3110, 1774, 1775, 1776, 1777, 1778, 2664, 4144, 3175, 4146, 3179, 3183, 2665, 3190, 3184, 3191, 4611, 1774, 1775, 1776, 1777, 1778, 1774, 1775, 1776, 1777, 1778, 3205, 3210, 3214, 3233, 4661, 1774, 1775, 1776, 1777, 1778, 2712, 2713, 2714, 2715, 2242, 2242, 2716, 4893, 1774, 1775, 1776, 1777, 1778, 3232, 3234, 3298, 1327, 3296, 2717, 2718, 2719, 3297, 3300, 4936, 3302, 3306, 2666, 3315, 4971, 1458, 3316, 2777, 3330, 1328, 3337, 2667, 3341, 3345, 4980, 1458, 3347, 84, 1774, 1775, 1776, 1777, 1778, 3359, 3331, 2668, 3349, 5075, 3351, 3354, 1329, 3366, 3361, 2928, 3687, 3370, 3691, 1942, 2929, 3693, 3697, 1774, 1775, 1776, 1777, 1778, 1774, 1775, 1776, 1777, 1778, 1774, 1775, 1776, 1777, 1778, 2241, 3373, 1458, 2935, 3374, 5077, 3375, 3376, 1458, 1458, 4216, 3377, 4218, 3385, 4220, 3399, 1774, 1775, 1776, 1777, 1778, 3401, 3425, 3408, -1527, 3426, 4223, 2950, 5079, 1330, 3428, 3429, 4402, 1774, 1775, 1776, 1777, 1778, 3224, 3500, 1774, 1775, 1776, 1777, 1778, 2242, 3430, 2045, 3433, 3434, 2242, 3436, 2881, 3224, 3463, 3483, 3485, 3484, 2984, 3487, 1331, 3495, 1, 3502, 2669, 3529, 3526, 3530, 3531, 1332, 1333, 1774, 1775, 1776, 1777, 1778, 2726, 1760, 1761, 1762, 1763, 1764, 2726, 1765, 1766, 1767, 3544, 2726, 3539, 3536, 1334, 2996, 3552, 2241, 3032, 2241, 2241, 2241, 3583, 4406, 3557, 3586, 3596, 4320, 1774, 1775, 1776, 1777, 1778, 2241, 3623, 3619, 3624, 2726, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 2726, 1765, 1766, 1767, 3625, 3626, 3627, 3628, 1335, 3629, 3640, 3632, 2670, 4346, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 3604, 1765, 1766, 1767, 2, 3, 4, 5, 6, 3633, 3641, 7, 8, 9, 3644, 3646, 3645, 10, 2671, 3650, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1317, 1765, 1766, 1767, 4027, 3652, 2672, 3664, 3665, 11, 3667, 2726, 3668, 3672, 3673, 3702, 3681, 1774, 1775, 1776, 1777, 1778, 3688, 3724, 3707, 12, 13, 14, 3726, 2575, 3725, 4028, 15, 3727, 3728, 2673, 3805, 3734, 3735, 4067, 16, 3799, 3793, 2674, 1774, 1775, 1776, 1777, 1778, 2675, 4335, 17, 1774, 1775, 1776, 1777, 1778, 3814, 3798, 3806, 2726, 3807, 3808, 3810, 18, 2371, 2373, 2375, 2377, 2379, 4357, 4358, 3815, 3951, 2676, 1336, 19, 4099, 4410, 3821, 3822, 3823, 20, 3830, 3831, 3839, 2726, 3832, 3833, 3837, 1774, 1775, 1776, 1777, 1778, 3834, 3845, 3847, 3849, 2677, 3850, 3856, 3858, 21, 1337, 3859, 3874, 3877, 3878, 3873, 4385, 1458, 2242, 3879, 22, 3464, 3881, 3882, 3890, 3883, 3889, 23, 24, 3893, 25, 3886, 3339, 3894, 84, 26, 3895, 1358, 4612, 3896, 27, 3901, 3898, 28, 29, 3899, 3404, 3905, 4404, 4405, 3465, 1774, 1775, 1776, 1777, 1778, 3908, 1338, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 3904, 1765, 1766, 1767, 30, 3911, 31, 3910, 32, 3914, 3913, 1339, 2986, 3921, 3923, 3928, 3935, 3936, 3941, 3937, 2678, 33, 3110, 3939, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1340, 1765, 1766, 1767, 1341, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 2679, 2680, 3940, 3521, 3942, 3943, 2241, 3944, 3945, 4454, 3953, 3955, 3963, 34, 3967, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 2, 1765, 1766, 1767, 2681, 3988, 2500, 3978, -1532, 4002, 3989, 3998, 4018, 4011, 4012, 3466, 4016, 1342, 4022, 4023, 4035, 4026, 2682, 4037, 4038, 4025, 4029, 4039, 4041, 4036, 84, 4042, 4045, 4075, 3546, 4048, 4044, 4079, 4076, 35, 4103, 1807, 4054, 4085, 4116, 4086, 4055, 1343, 2659, 4060, 4061, 4062, 4063, 4065, 4071, 1344, 4072, 4073, 3662, 4087, 4088, 4107, 4113, 4089, 1345, 4090, 1346, 4091, 4101, 4111, 4112, 4114, 4117, 4124, 4141, 36, 4125, 4126, 4142, 2242, 4143, 4145, 4147, 4152, 1458, 4153, 4155, 4164, 4188, 4170, 4172, 4180, 37, 4181, 4189, 4190, 4193, 4195, 4197, 4202, -1532, 4204, 3611, 4209, 4210, 4213, 4156, 4217, 4219, 4228, 1347, 4159, 4162, 1317, 4575, 38, 4229, 4232, 4230, 4240, 4245, 1458, 1458, 4241, 4243, 4258, 1458, 4257, 4252, 4260, 1458, 4268, 4263, 4282, 4283, 2023, 4284, 4287, 4288, 2492, 4289, 2660, 4303, 4307, 4290, 1458, 4312, 4315, 4314, 4329, 4336, 3224, 4338, 4340, 4339, 4344, 2241, 2241, 4330, 27, 4347, 4333, 4337, 4352, 4354, 4591, 4345, 4355, 4359, 4365, 4372, 4593, 4373, 4375, 4389, 4390, 4392, 1752, 4603, 1753, 1754, 1755, 4618, 4391, 4408, 4407, 4409, 4664, 4414, 4665, 4415, 4442, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 4452, 1765, 1766, 1767, 4378, 33, 4456, 4420, 4460, 2661, 4421, 4425, 4423, 4432, 4473, 3224, 1768, 1769, 4422, 39, 4458, 4433, 4461, 4476, 4121, 4477, 4121, 4455, 4495, 4478, 2662, 4497, 4521, 4522, 4525, 4504, 4529, 4534, 4536, 4537, 4531, 4540, 84, 4541, 4547, 4542, 4545, 4548, 4546, 2663, 4549, 4550, 4551, 4552, 4554, 84, 4555, 4560, 4561, 4562, 4572, 4578, 4579, 4580, 4585, 4586, 4590, 4592, 4601, 4604, 4605, 4613, 2920, 4621, 4623, 4607, 2241, 4610, 4629, 4628, 4396, 2241, 4635, 4636, 4641, 4642, 2726, 2726, 2726, 4644, 4645, 4647, 2664, 4646, 4648, 4649, 4654, 4655, 2665, 4656, 2726, 4678, 4692, 4671, 4694, 4681, 4695, 4674, 4682, 4697, 4716, 4699, 4698, 4721, 2726, 4707, 4727, 4732, 2726, 4728, 4733, 2726, 4725, 4683, 4734, 4736, 4737, 4747, 4758, 4286, 4757, 4774, 4762, 4588, 4778, 4767, 4748, 4768, 4785, 4782, 4791, 4792, 4793, 4796, 4797, 4798, 4804, 4809, 4810, 2666, 4812, 4836, 4844, 40, 1359, 1359, 1359, 1359, 2667, 1359, 1359, 4813, 1359, 1569, 4860, 4861, 4309, 4814, 4850, 4862, 4864, 4867, 2668, 4868, 4869, 4863, 2726, 4874, 4873, 4875, 4889, 4878, 4880, 4881, 4894, 1458, 3213, 4888, 4900, 4892, 4896, 4895, 3224, 4899, 4908, 4915, 4663, 4662, 4922, 4921, 4924, 4928, 4932, 4960, 4953, 4944, 4931, 4937, 4956, 4938, 41, 4943, 4954, 4957, 4965, 4966, 4967, 4985, 1458, 4987, 4991, 4992, 4998, 4982, 4779, 4993, 5010, 4618, 4784, 4999, 5011, 5012, 5013, 5014, 5016, 5017, 5025, 42, 5034, 5027, 5035, 5038, 5039, 5046, 5065, 5047, -2888, 5057, 5090, 2960, 5071, 5091, 5117, 5098, 5094, 5099, 5100, 5119, 5141, 5124, 4799, 4803, 1832, 5126, 5146, 5149, 5150, 2669, 5151, 5156, 5152, 5153, 5154, 5161, 5155, 5169, 5157, 5185, 5159, 5163, 5158, 5171, 5173, 5184, 5198, 3615, 43, 5176, 5178, 5160, 5186, 5180, 5144, 5061, 4842, 5212, 4806, 1703, 3044, 1704, 5062, 4043, 2912, 1780, 3613, 2348, 2316, 1359, 4052, 4630, 4078, 49, 4633, 50, 4136, 3869, 2241, 3456, 4316, 3860, 3946, 2886, 3427, 1359, 5135, 5183, 5196, 1585, 4582, 5203, 5209, 1359, 5200, 1458, 4021, 4206, 3997, 4186, 2670, 3533, 4696, 5113, 4503, 3846, 3470, 4331, 4457, 5081, 5147, 4459, 5125, 44, 5127, 5181, 5194, 5105, 3445, 3446, 3447, 3448, 3958, 2242, 2636, 2242, 3289, 2671, 2689, 4321, 1586, 4322, 4930, 1602, 4834, 79, 4877, 2520, 4445, 1960, 4639, 1359, 1359, 4887, 2672, 2538, 1913, 3123, 4901, 3224, 4989, 1359, 4643, 4424, 4451, 2018, 4428, 4427, 4990, 3653, 2242, 4837, 4651, 1832, 45, 3132, 3128, 1950, 1373, 3695, 3164, 4637, 4447, 2673, 2563, 1940, 3699, 4807, 2573, 1879, 3715, 2674, 1951, 2489, 4913, 3636, 3990, 2675, 1878, 3496, 3460, 3462, 3461, 1867, 1855, 2882, 1869, 3060, 3098, 2863, 3643, 1218, 2221, 1800, 2434, 2458, 3642, 3058, 3253, 3782, 5114, 4281, 2676, 5009, 3344, 2726, 4553, 2763, 3384, 3903, 1359, 1359, 4250, 3932, 4571, 3931, 4731, 3403, 3379, 2132, 2808, 4105, 0, 2421, 0, 0, 5029, 2677, 0, 0, 0, 0, 0, 0, 2726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4618, 0, 0, 4973, 0, 2241, 0, 0, 0, 4799, 0, 0, 0, 1359, 0, 0, 1359, 1359, 1569, 1359, 0, 5005, 1359, 0, 0, 0, 0, 0, 0, 1359, 0, 3224, 2242, 0, 1359, 1359, 0, 0, 1359, 2213, 0, 0, 0, 5024, 0, 5026, 1358, 5028, 2678, 0, 0, 0, 0, 1359, 0, 0, 0, 5083, 0, 0, 0, 5087, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 2679, 2680, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 5102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5064, 146, 2681, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5129, 0, 0, 0, 2682, 0, 0, 2242, -1156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1458, 0, 0, 0, 0, 0, 1458, 0, 1458, 0, 5170, 0, 0, 0, 5005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 0, 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, 0, 177, 178, 179, 180, 181, 182, 183, 0, 1359, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 0, 0, 2726, 1569, 0, 0, 4292, 0, 0, 0, 0, -1156, 0, 202, 0, 1359, 0, 1359, 1359, 1359, 1359, 1359, 0, 0, 0, 0, 0, 0, 0, 4121, 0, 0, 1569, 3224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 1359, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4356, 0, 0, 0, 0, 0, 0, 1373, 0, 0, 0, 1359, 1359, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 1359, 1359, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 1359, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 1359, 1359, 1359, 1359, 0, 0, 0, 0, 0, 0, 1359, 1359, 1359, 1359, 1359, 0, 1359, 0, 1359, 1359, 0, 0, 0, 0, 0, 0, 1359, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2241, 0, 2241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3997, 4465, 2241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3997, 0, 3997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1569, 0, 0, 0, 0, 1359, 1359, 0, 1458, 0, 0, 0, 0, 1359, 0, 0, 2213, 1359, 1359, 1359, 0, 0, 0, 1359, 1359, 0, 0, 0, 0, 0, 0, 1458, 1359, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2241, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1458, 0, 0, 0, 1458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1458, 4465, 3997, 0, 0, 0, 2242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4684, 0, 0, 0, 4693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 2242, 0, 0, 0, 0, 1458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 1359, 1359, 0, 1569, 2242, 0, 0, 0, 0, 0, 0, 4730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 1513, 0, 1514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 1515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 1359, 0, 4465, 0, 0, 0, 0, 0, 1516, 0, 0, 0, 0, 0, 0, 1517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1373, 1518, 0, 0, 0, 0, 1359, 0, 1359, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 1359, 1359, 1359, 0, 0, 0, 0, 0, 1359, 1359, 0, 0, 0, 204, 0, 1359, 1359, 1519, 0, 4465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1520, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 1359, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 1359, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4465, 4885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1521, 0, 1522, 0, 0, 0, 0, 0, 1523, 0, 0, 0, 0, 4465, 0, 0, 0, 0, 1524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1525, 0, 0, 0, 0, 0, 0, 0, 1526, 0, 0, 2743, 2745, 1527, 2747, 2748, 0, 1359, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 0, 2772, 0, 4465, 0, 3997, 3997, 0, 3997, 1359, 1359, 0, 1359, 3997, 0, 0, 0, 0, 0, 1359, 0, 2794, 2795, 2796, 2797, 2798, 0, 1529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1530, 0, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1569, 0, 4885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3492, 1533, 0, 0, 0, 0, 1569, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3997, 0, 3997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 4465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0, 0, 1536, 0, 0, 0, 1537, 0, 1538, 0, 0, 0, 4885, 0, 0, 0, 2241, 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, 2241, 0, 0, 0, 0, 1832, 0, 0, 0, 1373, 0, 0, 0, 0, 1569, 0, 0, 1569, 0, 0, 0, 0, 3997, 2241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 2241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1540, 0, 0, 0, 1541, 0, 0, 0, 0, 0, 0, 1542, 1543, 0, 0, 0, 0, 0, 0, 0, 1544, 0, 0, 0, 0, 0, 1545, 1546, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 1547, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 1359, 0, 0, 1359, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1548, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 1359, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 1550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 1551, 0, 1552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1553, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 1554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 0, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3290, 3291, 3292, 3293, 3294, 0, 1359, 0, 0, 0, 0, 0, 3303, 3304, 3305, 0, 0, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 0, 0, 0, 0, 0, 0, 0, 0, 3323, 0, 0, 0, 0, 0, 0, 0, 3328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 3353, 0, 146, 0, 147, 0, 0, 0, 3360, 0, 0, 1359, 3363, 3364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3492, 3995, 1832, 0, 0, 0, 0, 0, 0, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 0, 0, 3424, 0, 146, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3438, 3439, 3440, 148, -1155, 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, 0, 177, 178, 179, 180, 181, 182, 183, 0, 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1154, 0, 202, 0, 0, 0, 0, 0, 148, 0, 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, 0, 177, 178, 179, 180, 181, 182, 183, 0, 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1155, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 1359, 1359, 0, 0, 0, 0, 0, 146, 0, 147, 1359, 1359, 0, 0, 0, 1359, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 1359, 0, 148, 0, 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, 0, 177, 178, 179, 180, 181, 182, 183, 0, 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 1359, 1359, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 1359, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3835, 3836, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 1359, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 3870, 3871, 3872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3884, 3885, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3902, 0, 0, 0, 0, 0, 0, 3906, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3950, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1569, 0, 3956, 3957, 0, 0, 0, 0, 0, 0, 3959, 3960, 3961, 3962, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 203, 0, 0, 1832, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 3995, 4598, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 1359, 0, 0, 0, 0, 0, 1359, 0, 1359, 0, 1832, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 4251, 0, 0, 0, 0, 4255, 0, 0, 0, 0, 0, 0, 4261, 0, 0, 0, 0, 1359, 0, 4266, 4267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 1832, 1832, 0, 0, 0, 0, 0, 4598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 0, 1832, 1832, 0, 1832, 0, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4535, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 1359, 0, 0, 4559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4568, 4569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 4872, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 321, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4923, 0, 4925, 0, 4926, 0, 4927, 0, 4929, 0, 0, 329, 330, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 2349, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 2350, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 2351, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 321, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 27, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 1628, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 1936, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 321, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 1622, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 1623, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 2365, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 2366, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 2367, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 2945, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 321, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 321, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 3006, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 321, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 3008, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 321, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 3010, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 4886, 316, 317, 318, 0, 319, 320, 321, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 285, 286, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 321, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 321, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 1622, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 1623, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 2382, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 1622, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 1623, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 2387, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 1622, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 1623, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 1622, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 1623, 322, 323, 2393, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 1622, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 1623, 322, 323, 2395, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 321, 322, 2435, 324, 0, 325, 0, 2436, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 2437, 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 3042, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 1622, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 1623, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 3045, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 1622, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 1623, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 1622, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, -2779, 320, 1623, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 321, 322, 323, 3527, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 3599, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 1622, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 1623, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 4092, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 1622, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 1623, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 4097, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 1622, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 1623, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 321, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 4120, 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 4401, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 1622, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 1623, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 4615, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 321, 322, 323, 4616, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 4617, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 321, 322, 323, 4616, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 4617, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 321, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 4912, 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 319, 320, 321, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 5004, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 0, 320, 321, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 1622, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 315, 0, 316, 317, 318, 0, 0, 320, 1623, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 272, 273, 274, 275, 276, 0, 277, 278, 279, 280, 281, 282, 283, 0, 0, 284, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 303, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 310, 311, 0, 0, 0, 0, 312, 313, 0, 0, 0, 314, 0, 0, 3038, 0, 316, 317, 318, 0, 0, 320, 321, 322, 323, 324, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 331, 332, 333, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 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, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 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, 0, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 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, 0, 756, 757, 758, 759, 0, 760, 0, 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, 0, 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, 0, 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, 0, 993, 0, 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, 272, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 0, 1171, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 293, 294, 1633, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 1634, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 2418, 0, 0, 0, 312, 1635, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 1623, 322, 1636, 1637, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 345, 346, 347, 348, 349, 1638, 351, 352, 353, 354, 355, 1639, 357, 1640, 1641, 1642, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 1645, 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, 1646, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 395, 396, 397, 398, 399, 400, 401, 402, 403, 1647, 405, 406, 407, 408, 409, 1648, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 424, 425, 426, 427, 1649, 1650, 430, 431, 432, 433, 434, 435, 436, 1651, 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, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 1655, 1656, 1657, 1658, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 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, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 764, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1280, 984, 985, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 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, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 1632, 294, 1633, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 1634, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 2575, 0, 0, 0, 312, 1635, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 1623, 322, 1636, 1637, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 345, 346, 347, 348, 349, 1638, 351, 352, 353, 354, 355, 1639, 357, 1640, 1641, 1642, 1643, 362, 1644, 364, 365, 366, 367, 368, 369, 370, 1645, 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, 1646, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 395, 396, 397, 398, 399, 400, 401, 402, 403, 1647, 405, 406, 407, 408, 409, 1648, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 424, 425, 426, 427, 1649, 1650, 430, 431, 432, 433, 434, 435, 436, 1651, 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, 1652, 1653, 470, 471, 472, 473, 474, 475, 1654, 477, 478, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 1655, 1656, 1657, 1658, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1830, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 1632, 294, 1633, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 1634, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 3610, 0, 0, 0, 312, 1635, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 1623, 322, 1636, 1637, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 345, 346, 347, 348, 349, 1638, 351, 352, 353, 354, 355, 1639, 357, 1640, 1641, 1642, 1643, 362, 1644, 364, 365, 366, 367, 368, 369, 370, 1645, 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, 1646, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 395, 396, 397, 398, 399, 400, 401, 402, 403, 1647, 405, 406, 407, 408, 409, 1648, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 424, 425, 426, 427, 1649, 1650, 430, 431, 432, 433, 434, 435, 436, 1651, 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, 1652, 1653, 470, 471, 472, 473, 474, 475, 1654, 477, 478, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 1655, 1656, 1657, 1658, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 1632, 294, 1633, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 1634, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 1635, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 1623, 322, 1636, 1637, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 345, 346, 347, 348, 349, 1638, 351, 352, 353, 354, 355, 1639, 357, 1640, 1641, 1642, 1643, 362, 1644, 364, 365, 366, 367, 368, 369, 370, 1645, 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, 1646, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 395, 396, 397, 398, 399, 400, 401, 402, 403, 1647, 405, 406, 407, 408, 409, 1648, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 424, 425, 426, 427, 1649, 1650, 430, 431, 432, 433, 434, 435, 436, 1651, 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, 1652, 1653, 470, 471, 472, 473, 474, 475, 1654, 477, 478, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 1655, 1656, 1657, 1658, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1830, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 289, 290, 291, 292, 1632, 294, 1633, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 1634, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 1635, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 1623, 322, 1636, 1637, 0, 325, 0, 326, 0, 327, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 345, 346, 347, 348, 349, 1638, 351, 352, 353, 354, 355, 1639, 357, 1640, 1641, 1642, 1643, 362, 1644, 364, 365, 366, 367, 368, 369, 370, 1645, 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, 1646, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 395, 396, 397, 398, 399, 400, 401, 402, 403, 1647, 405, 406, 407, 408, 409, 1648, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 424, 425, 426, 427, 1649, 1650, 430, 431, 432, 433, 434, 435, 436, 1651, 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, 1652, 1653, 470, 471, 472, 473, 474, 475, 1654, 477, 478, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 1655, 1656, 1657, 1658, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 316, 317, 318, 0, 1442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 33, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 1443, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1444, 1445, 1446, 693, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1447, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1448, 901, 902, 1276, 904, 905, 906, 1449, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 2239, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3969, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 2630, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2633, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3971, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 2239, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 2630, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2642, 0, 2643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2633, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2646, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 2647, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1219, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 1220, 1221, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1234, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 1244, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 663, 664, 665, 666, 667, 668, 669, 670, 1247, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 1252, 721, 1253, 1254, 724, 725, 1255, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 1263, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 1271, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1275, 902, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1285, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 1297, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1941, 0, 316, 317, 318, 0, 1442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 33, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 2239, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3647, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 33, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 1355, 2723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3816, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 3818, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 1370, -1297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 0, 0, 0, 0, 291, 0, 0, 294, 0, 0, 0, 0, 1774, 1775, 1776, 1777, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, -1096, -1096, -1096, -1096, 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1460, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 2239, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 2630, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2633, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3971, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1941, 0, 316, 317, 318, 0, 1442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1941, 0, 316, 317, 318, 0, 1442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1219, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 1220, 1221, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 2456, 721, 1253, 1254, 724, 725, 1255, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 0, 902, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 2457, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 1297, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 1564, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 1355, 2723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 1355, 2723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 2728, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 2239, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 5136, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5137, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 1442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 1564, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 1830, 1970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 1442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 2130, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 2218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 2575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2585, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2594, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2615, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 2239, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3225, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 3497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 1370, 3616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3705, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3713, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1830, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4214, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 1355, 0, 0, 0, 0, 0, 0, 0, 0, 4308, 0, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1830, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4883, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 2239, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 5136, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 1360, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1370, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1830, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1219, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 1917, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1918, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 1919, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 0, 902, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 2060, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 2210, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 2239, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 2561, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 3490, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 3992, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 4596, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1219, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 1917, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 0, 902, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 3159, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 2561, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3689, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 3159, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1219, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 0, 902, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1219, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 0, 902, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1895, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1219, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 287, 288, 0, 290, 291, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 0, 902, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 3964, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 1355, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 0, 0, 0, 0, 0, 0, 0, 1222, 1223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 1227, 531, 532, 533, 534, 535, 536, 537, 1228, 1229, 1230, 1231, 542, 543, 544, 545, 546, 1232, 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, 1233, 584, 585, 586, 1356, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 1235, 602, 603, 1236, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 1237, 626, 627, 628, 629, 1238, 631, 1239, 633, 1240, 635, 636, 637, 638, 639, 1241, 1242, 1243, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 1245, 654, 655, 656, 657, 658, 659, 660, 661, 1246, 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, 1248, 695, 696, 697, 698, 699, 700, 701, 702, 1249, 704, 705, 706, 1250, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 1251, 720, 721, 1253, 1254, 724, 725, 0, 727, 728, 729, 730, 731, 732, 1256, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 757, 1257, 759, 0, 760, 0, 761, 762, 763, 1258, 765, 1259, 767, 768, 1260, 1261, 771, 772, 773, 774, 775, 776, 777, 1262, 779, 780, 781, 782, 783, 784, 785, 786, 0, 787, 788, 1264, 1265, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 1266, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 1267, 832, 1268, 834, 835, 836, 837, 838, 1269, 840, 841, 1270, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 1272, 868, 869, 870, 871, 872, 1273, 1274, 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, 1276, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 1277, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 0, 1278, 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, 1279, 975, 976, 977, 978, 979, 980, 981, 982, 1280, 984, 1281, 986, 987, 988, 989, 990, 991, 1282, 0, 993, 0, 994, 995, 996, 1283, 998, 999, 1000, 1001, 1002, 1003, 1004, 1284, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1286, 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, 1287, 1288, 1289, 1290, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1291, 1071, 1072, 1073, 1292, 1293, 1076, 1294, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1295, 1296, 0, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1298, 1299, 1300, 1301, 1109, 1110, 1111, 1112, 1113, 1302, 1303, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1304, 1141, 1142, 1143, 1144, 1145, 1305, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1306, 1307, 1156, 1157, 1308, 1309, 1160, 0, 1161, 1162, 1163, 1164, 1165, 1166, 1310, 1168, 1169, 1170, 289, 0, 0, 292, 1632, 0, 1633, 296, 297, 0, 0, 298, 299, 0, 300, 301, 302, 0, 1634, 304, 0, 305, 306, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 1635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1623, 322, 1636, 1637, 0, 325, 0, 326, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, 0, 345, 346, 347, 348, 349, 1638, 351, 352, 353, 354, 355, 1639, 357, 1640, 1641, 1642, 1643, 362, 1644, 364, 365, 366, 367, 368, 369, 370, 1645, 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, 1646, 386, 387, 388, 389, 390, 391, 392, 393, 394, 0, 395, 396, 397, 398, 399, 400, 401, 402, 403, 1647, 405, 406, 407, 408, 409, 1648, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 0, 423, 424, 425, 426, 427, 1649, 1650, 430, 431, 432, 433, 434, 435, 436, 1651, 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, 1652, 1653, 470, 471, 472, 473, 474, 475, 1654, 477, 478, 0, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 0, 503, 504, 0, 505, 506, 507, 508, 509, 510, 1655, 1656, 1657, 1658, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525 }; static const yytype_int16 yycheck[] = { 19, 0, 28, 28, 105, 3, 4, 5, 6, 7, 249, 310, 311, 1311, 1937, 314, 42, 1573, 86, 319, 86, 89, 1823, 89, 323, 28, 29, 1693, 1, 42, 98, 1669, 98, 1, 1213, 1673, 2008, 221, 2042, 1677, 2019, 1382, 2387, 2022, 1336, 2024, 1976, 2064, 223, 2066, 1664, 1343, 1797, 1345, 2145, 2594, 1348, 1987, 1988, 2094, 2120, 207, 3222, 3664, 1894, 1679, 1680, 2012, 2167, 2129, 3218, 2770, 1216, 40, 2109, 2166, 2167, 2007, 3341, 0, 1, 1950, 2142, 2737, 3491, 2015, 2740, 1701, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 2813, 2968, 2815, 3105, 2817, 2313, 2314, 2315, 2887, 3337, 1719, 2815, 3340, 2817, 3399, 3400, 3401, 3402, 2562, 2563, 216, 2565, 2042, 2567, 2198, 1443, 1444, 1445, 1446, 2769, 1448, 1449, 1941, 2186, 2688, 1507, 1507, 100, 2638, 232, 233, 234, 1503, 1844, 1845, 241, 2786, 1956, 2170, 1507, 2162, 1852, 2164, 2175, 2654, 2170, 1507, 1937, 2807, 242, 2175, 2585, 2184, 3, 2639, 248, 1545, 250, 2190, 2184, 2594, 3104, 2194, 2822, 2649, 2190, 1877, 2652, 5, 2194, 24, 2553, 2554, 2555, 100, 1976, 1977, 3842, 3843, 105, 24, 2615, 2922, 1744, 2924, 24, 1987, 1988, 1989, 1990, 1991, 24, 2554, 2555, 32, 38, 3945, 1998, 1999, 2000, 2001, 2002, 1464, 2004, 24, 2006, 2007, 3, 1470, 1471, 1472, 1473, 1474, 2014, 2015, 1477, 1478, 1479, 1480, 1481, 79, 1483, 3726, 1485, 1486, 3888, 1488, 9, 3891, 9, 12, 2056, 12, 177, 3285, 3286, 87, 176, 1500, 1501, 24, 24, 51, 52, 53, 54, 55, 56, 3793, 41, 59, 205, 4214, 79, 206, 4, 66, 4, 4231, 186, 349, 285, 286, 4233, 3628, 4, 5, 6, 7, 321, 9, 10, 11, 12, 215, 14, 176, 212, 178, 303, 3856, 344, 89, 222, 2118, 4210, 2184, 403, 88, 177, 190, 315, 2859, 300, 300, 300, 2194, 321, 181, 37, 38, 39, 40, 41, 86, 87, 165, 1833, 1834, 403, 4, 5, 6, 7, 2576, 9, 10, 11, 12, 205, 14, 344, 222, 306, 88, 205, 261, 66, 1221, 2163, 2549, 2165, 344, 216, 249, 139, 140, 315, 2855, 165, 49, 189, 315, 340, 37, 38, 39, 40, 41, 303, 460, 213, 305, 173, 174, 3666, 176, 3986, 178, 300, 49, 300, 205, 355, 250, 3941, 213, 321, 271, 1352, 190, 181, 66, 490, 309, 441, 493, 3457, 3458, 2022, 530, 3121, 425, 4460, 427, 192, 429, 80, 327, 315, 344, 3647, 192, 457, 614, 457, 1580, 213, 3409, 2200, 300, 3813, 222, 177, 79, 212, 216, 250, 4583, 564, 79, 79, 312, 213, 221, 1599, 1600, 173, 174, 457, 457, 375, 79, 1316, 372, 79, 178, 327, 192, 607, 1579, 615, 752, 24, 3846, 321, 4615, 202, 190, 306, 410, 321, 3, 2193, 441, 585, 173, 174, 24, 213, 50, 177, 608, 24, 4338, 4339, 94, 213, 344, 385, 372, 24, 403, 3, 344, 324, 35, 3971, 327, 317, 825, 722, 723, 327, 867, 24, 173, 174, 321, 327, 300, 24, 4186, 804, 79, 912, 213, 363, 4192, 177, 306, 707, 312, 236, 552, 375, 300, 2425, 324, 92, 88, 344, 545, 4207, 363, 94, 306, 327, 273, 274, 353, 249, 371, 632, 608, 92, 213, 89, 222, 24, 215, 88, 59, 457, 3936, 457, 92, 4604, 2647, 2904, 2905, 219, 375, 24, 4283, 815, 24, 363, 236, 605, 383, 528, 306, 3, 669, 371, 4508, 4, 355, 4511, 306, 4513, 87, 731, 679, 835, 249, 4482, 4595, 205, 4597, 1858, 4227, 621, 24, 4490, 4315, 24, 3733, 1866, 748, 2690, 1869, 560, 1871, 1872, 2560, 1004, 24, 306, 2564, 3734, 177, 487, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 80, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 817, 4265, 3967, 192, 858, 304, 561, 605, 306, 574, 375, 32, 33, 461, 549, 463, 549, 24, 2596, 192, 2598, 36, 327, 4, 192, 92, 410, 194, 681, 510, 405, 428, 1026, 80, 4180, 92, 437, 3297, 959, 177, 2655, 2656, 2657, 3188, 59, 2265, 2266, 524, 441, 2585, 394, 4716, 449, 3892, 394, 192, 250, 458, 2594, 540, 356, 354, 633, 804, 353, 171, 2617, 394, 516, 59, 1026, 4217, 437, 4219, 1824, 2685, 97, 2692, 2693, 2615, 1865, 24, 490, 3424, 105, 493, 2727, 2307, 732, 4767, 36, 3042, 2758, 458, 3045, 4325, 2316, 312, 3153, 856, 517, 409, 2453, 1853, 1026, 3160, 24, 3162, 89, 3164, 2807, 3166, 327, 59, 3225, 2820, 4896, 561, 2784, 3230, 359, 719, 3382, 2820, 2747, 2748, 2792, 305, 298, 2948, 2059, 4809, 852, 704, 2953, 92, 604, 83, 305, 354, 302, 4715, 85, 2534, 686, 733, 238, 3233, 4711, 2569, 4713, 459, 4723, 681, 2685, 327, 3139, 92, 4467, 300, 517, 1013, 918, 4472, 2384, 2788, 2985, 85, 369, 359, 2989, 2990, 993, 578, 2486, 2798, 3139, 369, 425, 12, 427, 457, 359, 2585, 969, 3837, 375, 457, 457, 517, 4499, 740, 2594, 250, 695, 216, 217, 218, 219, 457, 4878, 222, 457, 184, 185, 4412, 777, 371, 4984, 405, 4863, 192, 605, 2615, 522, 590, 2901, 413, 239, 517, 241, 371, 3976, 3835, 2214, 2215, 540, 740, 4140, 1008, 814, 212, 633, 377, 2867, 371, 576, 638, 305, 4505, 221, 2867, 787, 4256, 962, 963, 424, 780, 437, 633, 4516, 232, 4890, 2886, 87, 3231, 719, 424, 4524, 92, 2886, 928, 4119, 1014, 929, 1021, 929, 716, 633, 437, 359, 982, 812, 638, 695, 2701, 993, 2887, 1183, 4853, 261, 576, 866, 3964, 4855, 878, 4299, 1028, 842, 4774, 929, 929, 349, 3461, 1878, 276, 277, 786, 319, 952, 437, 2545, 867, 284, 285, 286, 562, 823, 315, 1026, 3173, 812, 751, 3431, 719, 4461, 626, 725, 36, 646, 704, 929, 929, 929, 3144, 3145, 3146, 980, 309, 1019, 928, 1026, 2459, 997, 349, 959, 626, 1831, 842, 952, 821, 59, 695, 4869, 3956, 829, 327, 640, 305, 330, 183, 736, 4529, 4318, 802, 721, 24, 424, 845, 349, 777, 889, 79, 610, 371, 346, 347, 348, 2867, 5047, 305, 4676, 2807, 476, 4679, 4949, 777, 821, 966, 967, 4951, 825, 1026, 364, 365, 5038, 815, 2886, 420, 925, 791, 812, 706, 777, 590, 24, 2640, 2641, 2642, 816, 578, 4861, 205, 349, 959, 755, 977, 755, 3515, 5074, 85, 578, 777, 2198, 5079, 816, 359, 4171, 829, 952, 777, 822, 3509, 988, 1022, 640, 791, 867, 752, 830, 36, 412, 972, 978, 315, 36, 417, 418, 291, 836, 879, 359, 771, 4709, 4710, 850, 4712, 608, 4714, 777, 2876, 816, 1007, 59, 1007, 771, 49, 822, 59, 816, 941, 1026, 36, 36, 771, 830, 774, 424, 1010, 302, 878, 972, 959, 634, 4579, 4919, 790, 83, 959, 777, 771, 219, 189, 24, 823, 59, 59, 79, 816, 424, 371, 35, 5055, 815, 176, 3836, 24, 600, 4, 194, 1207, 342, 1209, 1210, 5157, 12, 5008, 959, 1215, 490, 4670, 578, 493, 957, 80, 959, 997, 4867, 816, 79, 353, 922, 923, 831, 440, 5178, 978, 368, 784, 823, 4839, 24, 4841, 81, 82, 928, 1442, 3, 641, 3154, 222, 177, 1002, 867, 4482, 526, 578, 839, 381, 1004, 59, 972, 4490, 997, 962, 250, 4978, 922, 923, 1004, 189, 79, 4328, 238, 3709, 418, 283, 85, 3, 4323, 98, 2469, 2470, 165, 5034, 1002, 4228, 2475, 5080, 976, 4232, 1032, 1214, 219, 952, 5029, 1026, 80, 4854, 2487, 4856, 3851, 1026, 977, 1032, 1214, 3986, 1026, 556, 907, 24, 4145, 3180, 4147, 944, 165, 4870, 3185, 3186, 3084, 317, 527, 995, 79, 995, 353, 3957, 3232, 3228, 1029, 3235, 578, 425, 80, 3202, 458, 1027, 730, 296, 177, 952, 349, 3687, 3256, 269, 3800, 3691, 3744, 3693, 3262, 3695, 300, 3697, 578, 79, 238, 3182, 2619, 3599, 944, 2579, 83, 3188, 3189, 344, 4815, 80, 3362, 3133, 988, 3767, 296, 1027, 3054, 825, 3362, 624, 79, 177, 1376, 3705, 219, 988, 834, 5096, 2658, 2658, 1384, 3713, 3844, 3303, 988, 2432, 2468, 3667, 344, 2930, 4453, 317, 2658, 3777, 3778, 795, 1007, 235, 5155, 2658, 988, 242, 2689, 4964, 993, 1026, 269, 3667, 586, 213, 213, 24, 3129, 3529, 3530, 3531, 3799, 3, 4, 5176, 353, 1508, 552, 2583, 37, 38, 39, 40, 41, 25, 26, 27, 28, 296, 4891, 324, 1019, 4880, 4881, 236, 4883, 3557, 3380, 3381, 3364, 4888, 349, 725, 4683, 1378, 177, 349, 249, 853, 584, 296, 165, 166, 167, 168, 169, 5, 1378, 25, 26, 27, 28, 324, 681, 4673, 3039, 3040, 3032, 4677, 1403, 1562, 1563, 3086, 349, 349, 180, 817, 371, 3182, 1571, 4928, 180, 1403, 3449, 3188, 3189, 3421, 219, 338, 3293, 4938, 178, 279, 3421, 3, 4704, 3483, 5, 89, 24, 4415, 215, 1429, 353, 1690, 1691, 25, 26, 27, 28, 269, 181, 199, 4581, 4976, 24, 239, 3, 4586, 306, 821, 5, 25, 26, 27, 28, 249, 306, 215, 4585, 249, 80, 4994, 0, 239, 222, 1545, 296, 24, 237, 254, 1727, 25, 26, 27, 28, 216, 24, 1755, 37, 38, 39, 40, 41, 241, 80, 358, 3469, 3104, 3105, 4875, 80, 4733, 250, 1771, 5, 249, 254, 5, 1575, 1576, 80, 80, 237, 1782, 1581, 1784, 5025, 3465, 5027, 279, 1587, 59, 890, 1459, 372, 5048, 1416, 79, 1418, 3, 4732, 371, 1422, 85, 314, 80, 1593, 1594, 4379, 314, 3, 4, 1432, 302, 1601, 1602, 306, 85, 3413, 324, 24, 98, 5, 1443, 1444, 1445, 1446, 24, 1448, 1449, 353, 213, 5071, 226, 227, 2020, 2021, 25, 26, 27, 28, 2026, 4325, 235, 3439, 3469, 324, 302, 3470, 80, 328, 356, 80, 945, 177, 178, 988, 989, 79, 37, 38, 39, 40, 41, 85, 98, 371, 2889, 959, 30, 31, 32, 33, 34, 35, 5128, 199, 269, 356, 357, 24, 24, 372, 80, 4282, 5185, 960, 978, 962, 963, 988, 989, 215, 24, 98, 1027, 89, 80, 1616, 222, 235, 1619, 295, 5, 296, 997, 24, 3, 1626, 24, 774, 269, 24, 4257, 4761, 1007, 988, 989, 241, 37, 38, 39, 40, 41, 5163, 4475, 79, 250, 24, 1027, 80, 254, 85, 80, 4934, 4935, 80, 80, 296, 4871, 37, 38, 39, 40, 41, 1663, 4496, 1665, 4498, 80, 359, 1025, 345, 1671, 1672, 1027, 235, 59, 2867, 269, 1678, 235, 24, 1681, 1682, 80, 1684, 235, 80, 79, 238, 1689, 1690, 1691, 1973, 269, 1694, 2886, 4182, 79, 1698, 1699, 1700, 1701, 80, 941, 296, 4340, 1706, 1707, 5, 1709, 2175, 1711, 1712, 24, 1714, 1715, 13, 24, 1718, 324, 296, 959, 1722, 328, 75, 2190, 4156, 1727, 3, 4159, 1730, 1731, 4162, 24, 1734, 4876, 80, 88, 1738, 1739, 1740, 37, 38, 39, 40, 41, 81, 207, 208, 209, 210, 356, 357, 92, 1836, 2880, 1838, 79, 1840, 3712, 1842, 96, 24, 3, 1843, 24, 4092, 79, 425, 80, 427, 4097, 3852, 80, 1774, 1775, 1776, 1777, 1778, 79, 3852, 1781, 2907, 1783, 24, 245, 246, 247, 314, 80, 550, 1873, 11, 3704, 3705, 24, 15, 3723, 3709, 269, 3880, 79, 3713, 22, 1804, 1805, 1806, 85, 3880, 3659, 3660, 1207, 1208, 1209, 1210, 3626, 1212, 1213, 80, 1215, 24, 80, 1829, 1829, 5095, 4, 296, 1401, 288, 289, 1912, 1913, 1406, 1833, 1834, 177, 15, 4190, 238, 18, 80, 4035, 4195, 4037, 4038, 4039, 1420, 1847, 291, 24, 24, 80, 1754, 4852, 765, 194, 24, 196, 4857, 238, 4054, 4055, 79, 323, 1438, 79, 4060, 4061, 4062, 4063, 24, 4065, 3870, 3871, 3872, 24, 80, 4071, 4072, 4073, 37, 38, 39, 40, 41, 24, 3884, 4, 1895, 5154, 1897, 2018, 3618, 4592, 5159, 205, 3740, 79, 237, 3743, 3898, 1895, 4592, 1897, 3902, 80, 80, 3905, 4668, 5050, 4670, 250, 80, 373, 1914, 3759, 3760, 37, 38, 39, 40, 41, 177, 178, 4, 24, 80, 3704, 3705, 79, 4450, 80, 3709, 4, 3059, 85, 3713, 24, 18, 4196, 250, 80, 238, 60, 199, 550, 4203, 18, 4205, 2230, 2231, 37, 38, 39, 40, 41, 24, 24, 12, 5, 215, 300, 3960, 302, 1360, 11, 3604, 222, 37, 38, 39, 40, 41, 24, 24, 4, 2298, 4, 79, 321, 1376, 80, 207, 208, 209, 210, 241, 1941, 1384, 24, 2312, 333, 1941, 80, 3298, 250, 1708, 79, 1710, 254, 24, 3986, 37, 38, 39, 40, 41, 1815, 344, 1817, 24, 321, 80, 80, 353, 4445, 1728, 79, 1826, 779, 245, 246, 247, 24, 181, 42, 2182, 44, 248, 80, 80, 60, 86, 87, 494, 79, 1432, 1433, 92, 1941, 94, 85, 1717, 3662, 24, 80, 1442, 37, 38, 39, 40, 41, 79, 24, 1956, 4815, 80, 79, 24, 216, 402, 35, 561, 288, 289, 375, 80, 41, 24, 324, 4830, 413, 414, 328, 416, 4401, 3980, 1752, 1753, 80, 24, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 37, 38, 39, 40, 41, 323, 5, 80, 356, 357, 79, 446, 11, 89, 60, 91, 80, 452, 24, 181, 2195, 80, 1511, 1512, 2199, 238, 2201, 24, 24, 75, 583, 80, 79, 2406, 24, 60, 183, 341, 4891, 2214, 2215, 345, 88, 80, 24, 165, 166, 167, 168, 169, 75, 486, 180, 24, 216, 373, 1545, 79, 24, 238, 24, 24, 2435, 88, 2059, 4238, 213, 79, 2731, 2732, 2733, 2734, 24, 4238, 80, 86, 87, 213, 79, 177, 24, 779, 935, 80, 80, 1574, 24, 79, 1577, 1578, 80, 1580, 2755, 2170, 1583, 215, 24, 180, 2175, 5, 80, 1590, 1416, 79, 1418, 11, 1595, 1596, 1422, 80, 1599, 1600, 24, 2190, 80, 24, 80, 80, 5, 4165, 4166, 4167, 24, 4976, 11, 1614, 24, 250, 80, 24, 24, 2224, 685, 24, 254, 2228, 80, 540, 79, 1628, 693, 4994, 80, 696, 24, 24, 4237, 173, 174, 2812, 24, 24, 80, 588, 24, 302, 24, 4291, 561, 4293, 4294, 4295, 4296, 37, 38, 39, 40, 41, 80, 2262, 306, 80, 3, 4, 2267, 4266, 494, 612, 80, 24, 1669, 5, 80, 618, 1673, 80, 80, 11, 1677, 80, 24, 173, 174, 79, 314, 5048, 2570, 79, 180, 634, 80, 80, 550, 24, 324, 248, 353, 80, 24, 3624, 80, 1007, 80, 79, 24, 79, 37, 38, 39, 40, 41, 24, 24, 321, 79, 80, 2319, 79, 2321, 3644, 24, 3484, 24, 24, 381, 80, 356, 935, 24, 375, 24, 794, 2335, 2336, 2337, 2338, 80, 4325, 2341, 396, 79, 371, 24, 2428, 2429, 2430, 2349, 2350, 2351, 80, 396, 2354, 2355, 2356, 80, 583, 79, 24, 79, 3635, 80, 4324, 79, 24, 24, 5128, 24, 80, 80, 415, 37, 38, 39, 40, 41, 24, 80, 24, 80, 80, 4030, 40, 41, 1782, 80, 765, 80, 929, 930, 24, 2393, 24, 2395, 706, 402, 24, 180, 24, 80, 862, 79, 458, 1801, 2488, 24, 413, 414, 24, 416, 929, 930, 4009, 458, 80, 759, 24, 79, 24, 464, 80, 80, 2506, 80, 79, 4621, 770, 4623, 2384, 24, 4500, 4501, 80, 2384, 80, 24, 24, 945, 1836, 446, 1838, 1839, 1840, 1841, 1842, 452, 80, 4044, 80, 793, 24, 24, 80, 4050, 80, 24, 1007, 2459, 685, 4392, 4393, 80, 774, 778, 80, 294, 693, 1865, 24, 696, 515, 94, 80, 24, 80, 1873, 3119, 3120, 790, 524, 2384, 36, 1880, 88, 89, 80, 37, 38, 39, 40, 41, 80, 80, 538, 838, 79, 552, 1416, 79, 1418, 79, 2405, 1416, 1422, 1418, 85, 80, 80, 1422, 821, 85, 80, 79, 825, 1912, 1913, 79, 2568, 79, 2568, 2529, 79, 779, 85, 4145, 24, 4147, 2694, 584, 80, 39, 40, 41, 2529, 79, 2537, 2518, 4450, 37, 38, 39, 40, 41, 1941, 1942, 4563, 4564, 4565, 4566, 4567, 1948, 79, 1315, 1015, 4554, 79, 79, 1955, 1956, 1957, 67, 68, 69, 1025, 71, 72, 73, 794, 4547, 2653, 2572, 4550, 4551, 4552, 79, 1973, 79, 79, 1976, 1977, 94, 588, 37, 38, 39, 40, 41, 79, 633, 1987, 1988, 1989, 1990, 1991, 46, 4791, 48, 49, 50, 79, 1998, 1999, 2000, 2001, 2002, 2689, 2004, 79, 2006, 2007, 25, 26, 27, 28, 2518, 79, 2014, 2015, 79, 1989, 1990, 1991, 79, 79, 2022, 80, 79, 634, 1998, 1999, 2000, 2001, 2002, 945, 2004, 862, 2006, 79, 79, 79, 2544, 79, 79, 79, 2014, 957, 359, 959, 79, 2553, 2554, 2555, 25, 26, 27, 28, 2823, 79, 371, 704, 79, 24, 4201, 79, 85, 2569, 2064, 79, 2066, 79, 79, 4450, 79, 79, 79, 2579, 79, 79, 935, 25, 26, 27, 28, 24, 79, 997, 731, 743, 79, 79, 79, 1454, 79, 79, 79, 1007, 37, 38, 39, 40, 41, 2687, 415, 748, 4659, 79, 4, 5, 6, 7, 79, 9, 10, 11, 12, 79, 4, 5, 6, 7, 18, 9, 10, 11, 12, 88, 2403, 2404, 79, 79, 18, 79, 777, 85, 24, 30, 31, 32, 33, 80, 785, 3924, 3925, 3926, 3927, 458, 791, 37, 38, 39, 40, 41, 759, 79, 79, 3037, 37, 38, 39, 40, 41, 79, 79, 770, 2162, 79, 2164, 3050, 79, 3052, 79, 816, 79, 79, 79, 79, 489, 65, 66, 79, 37, 38, 39, 40, 41, 79, 793, 79, 1015, 2187, 2188, 327, 79, 79, 4415, 79, 841, 2195, 1025, 80, 2198, 2199, 2200, 2201, 79, 79, 79, 2205, 2206, 37, 38, 39, 40, 41, 79, 79, 2214, 2215, 79, 4, 5, 6, 7, 80, 9, 10, 11, 12, 79, 192, 79, 838, 79, 18, 79, 37, 38, 39, 40, 41, 3062, 79, 37, 38, 39, 40, 41, 79, 79, 79, 213, 85, 80, 79, 79, 79, 79, 570, 4764, 79, 79, 159, 160, 161, 162, 163, 164, 79, 79, 79, 85, 159, 160, 161, 162, 163, 164, 922, 80, 592, 65, 66, 628, 83, 2870, 80, 94, 586, 85, 4673, 235, 85, 24, 4677, 607, 37, 38, 39, 40, 41, 912, 912, 79, 948, 949, 2887, 1669, 2909, 269, 2911, 1673, 912, 2914, 2964, 1677, 2964, 235, 2919, 2920, 632, 4704, 792, 2973, 912, 2973, 912, 2928, 2929, 525, 24, 79, 976, 359, 2935, 4, 627, 238, 4, 80, 4, 4, 349, 4, 306, 37, 38, 39, 40, 41, 994, 4, 173, 2954, 37, 38, 39, 40, 41, 251, 98, 187, 2963, 37, 38, 39, 40, 41, 85, 37, 38, 39, 40, 41, 2975, 159, 160, 161, 162, 163, 164, 1743, 356, 2984, 2887, 2986, 2889, 2988, 80, 369, 269, 269, 704, 1031, 59, 2996, 85, 80, 5, 5, 3001, 5, 3, 3004, 176, 3006, 80, 3008, 5, 3010, 5, 3012, 80, 375, 5, 1032, 3017, 5, 202, 731, 1782, 37, 38, 39, 40, 41, 37, 38, 39, 40, 41, 2428, 2429, 2430, 396, 959, 748, 3038, 920, 37, 38, 39, 40, 41, 509, 759, 3047, 3048, 1026, 333, 3051, 759, 3053, 415, 37, 38, 39, 40, 41, 559, 1723, 1724, 1725, 1726, 80, 333, 988, 559, 815, 80, 404, 2468, 1735, 1736, 1737, 437, 3026, 3027, 3028, 3029, 3030, 3031, 80, 3038, 815, 1026, 368, 867, 3038, 273, 274, 2488, 403, 815, 403, 327, 458, 80, 15, 3, 945, 1007, 464, 228, 94, 3, 24, 2504, 44, 2506, 88, 24, 37, 38, 39, 40, 41, 3118, 80, 1881, 85, 85, 80, 3026, 3027, 3028, 3029, 3030, 3031, 37, 38, 39, 40, 41, 3089, 3038, 4784, 80, 80, 3089, 80, 96, 96, 2540, 96, 2542, 96, 2544, 2545, 3104, 80, 4934, 4935, 515, 3104, 80, 2553, 2554, 2555, 2556, 80, 80, 524, 177, 79, 2562, 2563, 37, 38, 39, 40, 41, 2569, 2570, 24, 349, 538, 4338, 37, 38, 39, 40, 41, 24, 24, 24, 3089, 24, 2585, 37, 38, 39, 40, 41, 642, 59, 59, 2594, 187, 586, 24, 3104, 4, 37, 38, 39, 40, 41, 5, 67, 80, 959, 924, 37, 38, 39, 40, 41, 2615, 180, 15, 80, 4, 59, 59, 24, 3129, 37, 38, 39, 40, 41, 80, 59, 4, 2632, 3139, 24, 466, 24, 2637, 2638, 2639, 2640, 2641, 2642, 80, 37, 38, 39, 40, 41, 2649, 4, 8, 2652, 2653, 2654, 3, 80, 2022, 37, 38, 39, 40, 41, 5, 80, 80, 80, 80, 633, 37, 38, 39, 40, 41, 37, 38, 39, 40, 41, 37, 38, 39, 40, 41, 4, 80, 80, 80, 80, 2689, 4, 24, 194, 1008, 1009, 187, 80, 80, 80, 88, 80, 80, 80, 1018, 80, 300, 37, 38, 39, 40, 41, 32, 80, 24, 3598, 300, 187, 80, 300, 24, 300, 509, 80, 3607, 37, 38, 39, 40, 41, 37, 38, 39, 40, 41, 37, 38, 39, 40, 41, 704, 509, 37, 38, 39, 40, 41, 888, 2747, 2748, 80, 37, 38, 39, 40, 41, 79, 37, 38, 39, 40, 41, 406, 5, 32, 33, 5, 731, 80, 5, 38, 403, 40, 80, 403, 752, 49, 59, 80, 3464, 1026, 406, 1001, 205, 748, 80, 24, 703, 403, 2788, 2789, 988, 2791, 3298, 80, 5, 975, 529, 888, 2798, 80, 979, 430, 1014, 192, 565, 37, 38, 39, 40, 41, 430, 3422, 777, 37, 38, 39, 40, 41, 979, 249, 785, 906, 49, 975, 213, 4, 791, 238, 97, 614, 401, 1026, 401, 3421, 614, 321, 105, 37, 38, 39, 40, 41, 474, 5, 59, 59, 3457, 3458, 80, 59, 59, 816, 59, 4, 24, 187, 80, 37, 38, 39, 40, 41, 993, 575, 228, 2230, 37, 38, 39, 40, 41, 192, 828, 94, 236, 349, 841, 5100, 199, 85, 80, 85, 3466, 85, 85, 206, 80, 80, 37, 38, 39, 40, 41, 85, 80, 3548, 3500, 3548, 80, 80, 80, 96, 37, 38, 39, 40, 41, 3465, 2908, 80, 238, 80, 3465, 80, 80, 80, 24, 306, 5141, 96, 80, 96, 24, 3527, 96, 80, 80, 2927, 96, 250, 2930, 80, 80, 24, 721, 3539, 37, 38, 39, 40, 41, 5164, 80, 80, 265, 80, 79, 216, 217, 218, 219, 79, 79, 222, 223, 79, 79, 922, 79, 3465, 3466, 5184, 37, 38, 39, 40, 41, 79, 79, 3573, 239, 3575, 241, 3577, 4, 73, 80, 24, 85, 80, 249, 80, 303, 948, 949, 79, 375, 37, 38, 39, 40, 41, 37, 38, 39, 40, 41, 85, 349, 241, 321, 322, 238, 85, 4, 80, 60, 396, 604, 187, 3663, 976, 3663, 80, 24, 79, 79, 4900, 37, 38, 39, 40, 41, 344, 4, 4, 415, 5, 24, 994, 80, 372, 371, 632, 300, 80, 37, 38, 39, 40, 41, 883, 3728, 94, 4, 35, 3650, 24, 437, 238, 319, 37, 38, 39, 40, 41, 79, 298, 296, 35, 3664, 80, 24, 3647, 37, 38, 39, 40, 41, 458, 3674, 85, 3676, 3, 80, 464, 80, 1032, 80, 80, 37, 38, 39, 40, 41, 37, 38, 39, 40, 41, 1032, 80, 79, 92, 80, 37, 38, 39, 40, 41, 670, 671, 672, 673, 3104, 3105, 676, 80, 37, 38, 39, 40, 41, 79, 3, 349, 437, 4, 688, 689, 690, 4, 4, 80, 98, 24, 515, 24, 80, 3129, 4, 867, 871, 454, 5, 524, 5, 5, 80, 3139, 4, 3647, 37, 38, 39, 40, 41, 5, 238, 538, 235, 80, 959, 430, 475, 871, 867, 24, 3158, 4, 3160, 3667, 24, 3163, 3164, 37, 38, 39, 40, 41, 37, 38, 39, 40, 41, 37, 38, 39, 40, 41, 2545, 4, 3182, 24, 5, 80, 5, 5, 3188, 3189, 3794, 5, 3796, 5, 3798, 4, 37, 38, 39, 40, 41, 4, 375, 888, 525, 349, 3810, 24, 80, 530, 4, 4, 4096, 37, 38, 39, 40, 41, 3218, 43, 37, 38, 39, 40, 41, 3225, 4, 300, 5, 5, 3230, 4, 371, 3233, 586, 85, 79, 235, 24, 359, 561, 67, 79, 522, 633, 96, 382, 96, 96, 570, 571, 37, 38, 39, 40, 41, 3256, 65, 66, 67, 68, 69, 3262, 71, 72, 73, 724, 3267, 90, 80, 591, 24, 724, 2638, 41, 2640, 2641, 2642, 5, 4103, 96, 642, 4, 3969, 37, 38, 39, 40, 41, 2654, 306, 294, 24, 3293, 61, 62, 63, 64, 65, 66, 67, 68, 69, 3303, 71, 72, 73, 642, 24, 4, 79, 632, 4, 24, 5, 704, 4002, 63, 64, 65, 66, 67, 68, 69, 41, 71, 72, 73, 165, 166, 167, 168, 169, 80, 24, 172, 173, 174, 24, 98, 466, 178, 731, 79, 61, 62, 63, 64, 65, 66, 67, 68, 69, 3964, 71, 72, 73, 24, 514, 748, 59, 35, 199, 35, 3364, 35, 35, 32, 80, 235, 37, 38, 39, 40, 41, 79, 4, 80, 215, 216, 217, 353, 67, 80, 24, 222, 193, 300, 777, 5, 92, 92, 24, 230, 349, 79, 785, 37, 38, 39, 40, 41, 791, 3987, 241, 37, 38, 39, 40, 41, 5, 79, 4, 3413, 4, 4, 79, 254, 1746, 1747, 1748, 1749, 1750, 4027, 4028, 5, 3426, 816, 749, 266, 24, 4117, 5, 5, 5, 272, 5, 4, 929, 3439, 5, 5, 5, 37, 38, 39, 40, 41, 9, 9, 5, 5, 841, 708, 79, 5, 293, 778, 79, 895, 5, 4, 24, 4067, 3464, 3465, 477, 304, 50, 5, 759, 379, 426, 426, 311, 312, 1026, 314, 428, 371, 867, 3987, 319, 769, 3484, 24, 359, 324, 5, 59, 327, 328, 570, 24, 79, 4099, 4100, 79, 37, 38, 39, 40, 41, 4, 825, 62, 63, 64, 65, 66, 67, 68, 69, 504, 71, 72, 73, 354, 1026, 356, 5, 358, 392, 238, 845, 49, 458, 85, 4, 4, 4, 79, 5, 922, 371, 4119, 5, 61, 62, 63, 64, 65, 66, 67, 68, 69, 867, 71, 72, 73, 871, 186, 187, 188, 189, 190, 191, 192, 193, 948, 949, 5, 2927, 5, 5, 2930, 5, 79, 4172, 5, 5, 24, 409, 187, 61, 62, 63, 64, 65, 66, 67, 68, 69, 165, 71, 72, 73, 976, 886, 180, 300, 912, 94, 359, 949, 261, 80, 79, 180, 79, 921, 80, 79, 96, 85, 994, 96, 96, 80, 79, 96, 724, 80, 4119, 80, 80, 24, 300, 326, 187, 5, 79, 459, 238, 306, 96, 80, 883, 80, 96, 951, 213, 96, 96, 96, 96, 96, 96, 959, 96, 96, 24, 80, 80, 740, 478, 80, 968, 80, 970, 80, 80, 80, 80, 882, 344, 24, 35, 495, 92, 271, 35, 3662, 35, 79, 79, 79, 3667, 79, 5, 79, 301, 1032, 79, 79, 512, 79, 301, 79, 79, 79, 79, 79, 1004, 79, 3050, 213, 213, 3, 3689, 79, 79, 5, 1014, 3694, 3695, 4307, 4307, 535, 187, 5, 754, 4, 4, 3704, 3705, 98, 215, 1000, 3709, 430, 407, 5, 3713, 54, 1000, 79, 59, 300, 973, 4, 991, 3087, 4, 306, 4, 24, 861, 3728, 4, 79, 5, 187, 4, 3734, 235, 1031, 85, 59, 3104, 3105, 300, 324, 241, 300, 170, 89, 5, 4332, 180, 5, 4, 80, 4, 4337, 80, 80, 5, 5, 24, 46, 4345, 48, 49, 50, 4369, 80, 59, 80, 59, 4456, 79, 4458, 356, 80, 61, 62, 63, 64, 65, 66, 67, 68, 69, 80, 71, 72, 73, 238, 371, 300, 187, 79, 375, 187, 242, 187, 187, 5, 3799, 86, 87, 226, 640, 300, 187, 79, 5, 4412, 385, 4414, 363, 5, 180, 396, 5, 5, 79, 79, 929, 79, 4, 327, 5, 988, 5, 4332, 4, 59, 5, 4, 59, 5, 415, 59, 59, 59, 59, 24, 4345, 4, 392, 4, 59, 504, 80, 353, 193, 92, 92, 187, 946, 5, 79, 294, 49, 24, 96, 96, 80, 3225, 80, 80, 24, 829, 3230, 5, 5, 187, 187, 3870, 3871, 3872, 4, 4, 4, 458, 187, 187, 243, 24, 80, 464, 80, 3884, 80, 92, 79, 4, 80, 5, 374, 79, 12, 5, 80, 92, 930, 3898, 187, 4, 981, 3902, 5, 981, 3905, 94, 356, 867, 5, 5, 4, 4, 3913, 5, 85, 79, 194, 5, 79, 371, 79, 838, 80, 96, 5, 192, 4, 4, 4, 29, 79, 79, 515, 961, 5, 5, 774, 1207, 1208, 1209, 1210, 524, 1212, 1213, 363, 1215, 1216, 5, 956, 3950, 363, 79, 5, 5, 79, 538, 79, 59, 956, 3960, 4, 991, 4, 754, 79, 79, 79, 620, 3969, 3970, 79, 327, 80, 41, 694, 3976, 24, 3, 584, 626, 49, 750, 310, 4, 79, 584, 5, 929, 300, 80, 80, 929, 79, 831, 79, 79, 79, 4, 4, 792, 694, 4002, 5, 832, 180, 5, 394, 4612, 24, 4, 4615, 4616, 79, 5, 5, 5, 5, 5, 5, 79, 858, 956, 79, 929, 956, 929, 371, 929, 79, 85, 80, 5, 79, 79, 4, 929, 5, 310, 5, 79, 929, 327, 363, 4648, 4649, 1315, 363, 929, 12, 92, 633, 4, 929, 5, 92, 956, 49, 956, 59, 956, 59, 956, 79, 929, 282, 79, 24, 94, 3053, 907, 956, 956, 626, 595, 961, 524, 4992, 4682, 378, 4651, 769, 2405, 770, 4993, 3545, 2225, 1193, 3051, 1733, 1705, 1360, 3553, 4392, 3585, 0, 4398, 0, 3662, 3315, 3465, 2878, 3963, 3306, 3421, 2194, 2848, 1376, 5099, 5164, 5184, 237, 4324, 5200, 5202, 1384, 5195, 4117, 3516, 3775, 3485, 3743, 704, 2942, 4490, 5073, 4210, 3291, 2887, 3979, 4174, 5030, 5103, 4176, 5084, 972, 5088, 5161, 5180, 5068, 2873, 2873, 2873, 2873, 3449, 4145, 2019, 4147, 2694, 731, 2043, 3970, 237, 3970, 4830, 253, 4669, 0, 4762, 1913, 4160, 1441, 4414, 1432, 1433, 4769, 748, 1939, 1399, 2529, 4794, 4171, 4901, 1442, 4418, 4132, 4168, 1504, 4137, 4135, 4905, 3118, 4182, 4672, 4427, 1454, 1023, 2544, 2537, 1433, 1459, 3164, 2563, 4410, 4164, 777, 1948, 1430, 3167, 4654, 1955, 1360, 3189, 785, 1433, 1880, 4810, 3087, 3482, 791, 1353, 2907, 2880, 2882, 2881, 1347, 1333, 2191, 1349, 2432, 2506, 2183, 3097, 26, 1615, 1217, 1801, 1829, 3093, 2430, 2658, 3228, 5073, 3905, 816, 4921, 2749, 4237, 4276, 2099, 2808, 3357, 1511, 1512, 3873, 3407, 4300, 3406, 4539, 2818, 2799, 1545, 2150, 3625, -1, 1782, -1, -1, 4944, 841, -1, -1, -1, -1, -1, -1, 4266, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1545, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4896, -1, -1, 4879, -1, 3662, -1, -1, -1, 4905, -1, -1, -1, 1574, -1, -1, 1577, 1578, 1579, 1580, -1, 4917, 1583, -1, -1, -1, -1, -1, -1, 1590, -1, 4323, 4324, -1, 1595, 1596, -1, -1, 1599, 1600, -1, -1, -1, 4939, -1, 4941, 4338, 4943, 922, -1, -1, -1, -1, 1614, -1, -1, -1, 5035, -1, -1, -1, 5039, -1, -1, -1, -1, -1, 1628, -1, -1, -1, -1, -1, -1, 948, 949, -1, -1, -1, -1, -1, 4879, -1, -1, -1, -1, -1, 5065, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4996, 1, 976, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5094, -1, -1, -1, 994, -1, -1, 4415, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3793, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4450, -1, -1, -1, -1, -1, 4456, -1, 4458, -1, 5146, -1, -1, -1, 5068, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1743, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 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, -1, 132, 133, 134, 135, 136, 137, 138, -1, 1801, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, -1, 4554, 1824, -1, -1, 3923, -1, -1, -1, -1, 171, -1, 173, -1, 1836, -1, 1838, 1839, 1840, 1841, 1842, -1, -1, -1, -1, -1, -1, -1, 5185, -1, -1, 1853, 4585, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1865, -1, -1, -1, -1, -1, -1, -1, 1873, -1, -1, -1, -1, -1, -1, 1880, 1881, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1912, 1913, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4026, -1, -1, -1, -1, -1, -1, 1937, -1, -1, -1, 1941, 1942, -1, -1, -1, -1, -1, 1948, -1, -1, -1, -1, -1, -1, 1955, 1956, 1957, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1973, -1, -1, 1976, 1977, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1987, 1988, 1989, 1990, 1991, -1, -1, -1, -1, -1, -1, 1998, 1999, 2000, 2001, 2002, -1, 2004, -1, 2006, 2007, -1, -1, -1, -1, -1, -1, 2014, 2015, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4761, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4145, -1, 4147, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2064, -1, 2066, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4180, 4181, 4182, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4217, -1, 4219, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2162, -1, 2164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2182, -1, -1, -1, -1, 2187, 2188, -1, 4921, -1, -1, -1, -1, 2195, -1, -1, 2198, 2199, 2200, 2201, -1, -1, -1, 2205, 2206, -1, -1, -1, -1, -1, -1, 4944, 2214, 2215, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4324, -1, 2230, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4342, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5035, -1, -1, -1, 5039, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4415, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5065, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5094, 4460, 4461, -1, -1, -1, 5100, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4481, -1, -1, -1, 4485, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 748, 5141, -1, -1, -1, -1, 5146, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2428, 2429, 2430, -1, 2432, 5164, -1, -1, -1, -1, -1, -1, 4536, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5184, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2468, -1, -1, -1, -1, -1, -1, 176, -1, 178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2488, 190, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2504, -1, 2506, -1, 4604, -1, -1, -1, -1, -1, 215, -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2534, 236, -1, -1, -1, -1, 2540, -1, 2542, -1, 2544, -1, -1, -1, -1, -1, -1, -1, -1, 2553, 2554, 2555, 2556, -1, -1, -1, -1, -1, 2562, 2563, -1, -1, -1, 906, -1, 2569, 2570, 272, -1, 4669, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2585, -1, -1, -1, -1, -1, -1, -1, -1, 2594, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2615, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 327, -1, -1, -1, -1, -1, 2632, -1, -1, -1, -1, 2637, -1, 2639, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2649, -1, -1, 2652, 2653, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4767, 4768, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2689, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 401, -1, 403, -1, -1, -1, -1, -1, 409, -1, -1, -1, -1, 4809, -1, -1, -1, -1, 419, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 431, -1, -1, -1, -1, -1, -1, -1, 439, -1, -1, 2078, 2079, 444, 2081, 2082, -1, 2747, 2748, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 474, -1, -1, -1, -1, -1, -1, 2117, -1, 4878, -1, 4880, 4881, -1, 4883, 2788, 2789, -1, 2791, 4888, -1, -1, -1, -1, -1, 2798, -1, 2137, 2138, 2139, 2140, 2141, -1, 507, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 520, -1, 522, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4928, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4938, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2880, -1, 4978, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2901, 603, -1, -1, -1, -1, 2907, 2908, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5025, -1, 5027, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 645, -1, -1, -1, -1, -1, -1, 5047, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5071, -1, -1, -1, -1, -1, -1, -1, -1, -1, 686, -1, -1, -1, -1, 691, -1, -1, -1, 695, -1, 697, -1, -1, -1, 5096, -1, -1, -1, 5100, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 729, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5141, -1, -1, -1, -1, 3050, -1, -1, -1, 3054, -1, -1, -1, -1, 3059, -1, -1, 3062, -1, -1, -1, -1, 5163, 5164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3087, 5184, -1, -1, -1, -1, -1, -1, -1, -1, -1, 799, -1, -1, -1, 803, -1, -1, -1, -1, -1, -1, 810, 811, -1, -1, -1, -1, -1, -1, -1, 819, -1, -1, -1, -1, -1, 825, 826, -1, -1, -1, 3129, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3139, -1, -1, -1, 844, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3158, -1, 3160, -1, -1, 3163, 3164, -1, -1, -1, -1, -1, -1, -1, -1, -1, 875, -1, -1, -1, -1, -1, -1, -1, 3182, -1, -1, -1, -1, -1, 3188, 3189, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 907, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3218, 920, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3233, -1, 936, -1, 938, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3256, -1, -1, -1, -1, -1, 3262, -1, -1, -1, -1, 3267, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 993, 3293, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3303, -1, -1, -1, -1, -1, 1010, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670, -1, 2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2682, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2695, 2696, 2697, 2698, 2699, -1, 3364, -1, -1, -1, -1, -1, 2707, 2708, 2709, -1, -1, 2712, 2713, 2714, 2715, 2716, 2717, 2718, 2719, -1, -1, -1, -1, -1, -1, -1, -1, 2728, -1, -1, -1, -1, -1, -1, -1, 2736, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3413, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3426, -1, 2765, -1, 1, -1, 3, -1, -1, -1, 2773, -1, -1, 3439, 2777, 2778, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3464, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3483, 3484, 3485, -1, -1, -1, -1, -1, -1, 2829, 2830, 2831, 2832, 2833, 2834, 2835, 2836, 2837, 2838, 2839, 2840, -1, -1, 2843, -1, 1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2864, 2865, 2866, 101, 24, 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, -1, 132, 133, 134, 135, 136, 137, 138, -1, -1, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 171, -1, 173, -1, -1, -1, -1, -1, 101, -1, 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, -1, 132, 133, 134, 135, 136, 137, 138, -1, -1, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, 3667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 171, -1, 173, -1, -1, -1, -1, -1, -1, -1, -1, 3689, -1, -1, -1, -1, 3694, 3695, -1, -1, -1, -1, -1, 1, -1, 3, 3704, 3705, -1, -1, -1, 3709, -1, -1, -1, 3713, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3728, -1, -1, -1, -1, -1, 3734, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3793, -1, -1, -1, -1, -1, 3799, -1, 101, -1, 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, -1, 132, 133, 134, 135, 136, 137, 138, -1, -1, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3870, 3871, 3872, 173, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3884, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3898, -1, -1, -1, 3902, -1, -1, 3905, -1, -1, -1, -1, -1, -1, -1, 3913, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3923, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3278, 3279, -1, -1, -1, -1, -1, -1, -1, 3950, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3960, -1, -1, -1, -1, -1, -1, -1, -1, 3969, 3970, -1, -1, -1, -1, -1, 3976, -1, -1, -1, 3317, 3318, 3319, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3334, 3335, -1, -1, -1, 4002, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3354, -1, -1, -1, -1, -1, -1, 3361, -1, 4026, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3408, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3425, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4103, -1, 3442, 3443, -1, -1, -1, -1, -1, -1, 3450, 3451, 3452, 3453, 4117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4160, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4171, -1, -1, -1, -1, -1, 748, -1, -1, 4180, 4181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4217, -1, 4219, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4237, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 748, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4266, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4323, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 906, -1, -1, 4338, 4339, -1, -1, 4342, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 906, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 748, -1, 4450, -1, -1, -1, -1, -1, 4456, -1, 4458, -1, 4460, 4461, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4481, -1, -1, -1, 4485, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3850, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4536, 3874, -1, -1, -1, -1, 3879, -1, -1, -1, -1, -1, -1, 3886, -1, -1, -1, -1, 4554, -1, 3893, 3894, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3904, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4585, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4604, -1, 906, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4669, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4761, -1, -1, -1, -1, -1, 4767, 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, -1, -1, -1, -1, -1, 4809, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4878, -1, 4880, 4881, -1, 4883, -1, -1, -1, -1, 4888, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4252, -1, -1, -1, -1, -1, 4921, -1, -1, -1, -1, -1, -1, 4928, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4938, -1, -1, -1, -1, -1, 4944, -1, -1, 4284, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4297, 4298, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4978, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5025, -1, 5027, -1, -1, -1, -1, -1, -1, -1, 5035, -1, -1, -1, 5039, -1, -1, -1, -1, -1, -1, -1, 5047, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5065, -1, -1, -1, -1, -1, 5071, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5094, -1, 5096, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5146, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5163, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4531, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4572, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 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, 4734, 65, 66, -1, -1, -1, -1, 71, 72, -1, -1, -1, 76, -1, -1, 79, -1, 81, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4818, -1, 4820, -1, 4822, -1, 4824, -1, 4826, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 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, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, 85, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, -1, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, -1, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, 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, 82, 83, -1, -1, 86, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 175, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -1, 1030, -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, 82, 83, -1, -1, -1, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, 87, 88, 89, 90, -1, 92, -1, 94, -1, 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, 85, -1, -1, -1, -1, -1, -1, -1, -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, 165, 166, 167, 168, 169, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 215, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 254, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, -1, -1, 324, -1, -1, -1, -1, -1, -1, -1, -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, 371, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -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, 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 196, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 324, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 371, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 194, -1, 196, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 237, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 300, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 192, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, 85, -1, -1, -1, -1, -1, -1, -1, -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, 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 324, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 371, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 324, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 371, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 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, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, 180, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, 180, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 296, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 196, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, 85, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 223, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, 85, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 203, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 238, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, 85, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, 85, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 299, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, 180, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 249, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 300, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, 180, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 249, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, 180, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 249, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, 180, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 249, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, 180, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 249, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, 180, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 249, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, 3, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, -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, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, 180, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 607, 608, 609, 610, -1, 612, -1, 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, -1, 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, -1, 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, -1, 849, -1, 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, -1, 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, -1, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 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, -1, -1, 87, 88, 89, 90, -1, 92, -1, 94, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 176, -1, 178, 179, 180, 181, 182, 183, 184, 185, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, 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, -1, 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, -1, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { 0, 79, 165, 166, 167, 168, 169, 172, 173, 174, 178, 199, 215, 216, 217, 222, 230, 241, 254, 266, 272, 293, 304, 311, 312, 314, 319, 324, 327, 328, 354, 356, 358, 371, 409, 459, 495, 512, 535, 640, 774, 831, 858, 907, 972, 1023, 1035, 1036, 1038, 1117, 1119, 1122, 1131, 1132, 1133, 1140, 1141, 1142, 1143, 1144, 1152, 1153, 1155, 1156, 1168, 1169, 1174, 1178, 1179, 1182, 1183, 1302, 1303, 1304, 1313, 1320, 1337, 1339, 1342, 1343, 1351, 1352, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1473, 1474, 1480, 1481, 1482, 1484, 1485, 1488, 1502, 1515, 1517, 1519, 1522, 1524, 1525, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1548, 1549, 1552, 1560, 1564, 1565, 1566, 1567, 1570, 1591, 1592, 1593, 1594, 1661, 1662, 1663, 1667, 1668, 1669, 1359, 1360, 1473, 1, 3, 101, 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, 132, 133, 134, 135, 136, 137, 138, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 173, 748, 906, 1391, 1392, 1393, 1395, 1391, 1391, 1391, 1391, 1391, 205, 321, 344, 375, 510, 540, 821, 941, 959, 997, 1145, 38, 353, 375, 383, 821, 825, 957, 959, 997, 1145, 1177, 1180, 1315, 1321, 250, 375, 540, 561, 706, 790, 821, 825, 957, 959, 997, 1145, 1170, 1316, 1336, 177, 178, 199, 215, 222, 241, 250, 254, 324, 328, 356, 357, 550, 779, 935, 1542, 1543, 1544, 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, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 96, 98, 159, 160, 161, 162, 163, 164, 175, 176, 178, 179, 180, 181, 182, 183, 184, 185, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 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, 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, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 351, 352, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 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, 607, 608, 609, 610, 612, 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, 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, 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, 849, 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, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1030, 1042, 1043, 1044, 1045, 1047, 1049, 1050, 1051, 1053, 1054, 1056, 1058, 1061, 1062, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1098, 1359, 1671, 1672, 1673, 1676, 1677, 1678, 1679, 1680, 487, 344, 959, 250, 344, 845, 959, 1145, 858, 344, 997, 177, 1542, 3, 14, 15, 21, 22, 83, 192, 294, 380, 388, 389, 390, 391, 397, 433, 437, 451, 454, 475, 480, 482, 484, 490, 491, 492, 496, 503, 512, 521, 544, 553, 557, 569, 570, 572, 573, 576, 583, 609, 617, 619, 622, 623, 631, 632, 643, 644, 668, 685, 687, 693, 696, 709, 721, 727, 728, 755, 757, 773, 794, 829, 838, 840, 847, 854, 862, 871, 872, 914, 915, 916, 917, 927, 931, 932, 934, 942, 943, 944, 962, 963, 964, 965, 971, 972, 997, 1003, 1011, 1012, 1015, 1016, 1025, 1149, 1554, 1556, 1557, 1558, 1670, 1677, 32, 199, 206, 250, 265, 303, 321, 322, 344, 437, 454, 475, 530, 561, 570, 571, 591, 632, 749, 778, 825, 845, 867, 871, 921, 951, 959, 968, 970, 1014, 1149, 1489, 1493, 1494, 1497, 1657, 952, 3, 437, 1146, 1672, 1676, 849, 1475, 1476, 1672, 1019, 1530, 1530, 440, 527, 681, 3, 1550, 1674, 1676, 344, 952, 1338, 1550, 349, 1019, 1530, 1670, 83, 344, 1312, 409, 459, 522, 774, 831, 907, 0, 173, 174, 632, 852, 1157, 249, 1348, 1348, 296, 1413, 1414, 98, 1350, 1381, 1413, 1414, 235, 1404, 25, 26, 27, 28, 1374, 1375, 1376, 1404, 1376, 1404, 1413, 1414, 1376, 81, 82, 177, 219, 338, 353, 1419, 1420, 1421, 1348, 238, 1118, 1449, 1450, 1672, 1413, 1414, 1359, 1360, 85, 408, 540, 541, 542, 557, 754, 761, 1117, 1119, 1343, 1357, 1448, 1452, 1453, 1486, 1672, 774, 80, 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, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 79, 79, 79, 79, 79, 79, 24, 171, 1395, 1448, 1672, 1672, 1672, 771, 988, 176, 178, 190, 215, 222, 236, 272, 327, 401, 403, 409, 419, 431, 439, 444, 474, 507, 520, 522, 555, 603, 645, 686, 691, 695, 697, 729, 799, 803, 810, 811, 819, 825, 826, 844, 875, 907, 920, 936, 938, 993, 1010, 1588, 1611, 1618, 1629, 1633, 1638, 1660, 177, 1672, 3, 4, 1511, 1513, 1516, 1676, 3, 1154, 314, 248, 1184, 771, 988, 765, 1184, 1184, 1184, 344, 561, 540, 706, 1170, 1316, 250, 1672, 248, 1340, 1448, 1340, 771, 988, 765, 1340, 1513, 1516, 1340, 945, 1007, 1338, 778, 1545, 941, 959, 821, 945, 997, 1007, 294, 206, 1007, 94, 24, 36, 1056, 1056, 79, 1056, 1082, 15, 87, 1054, 1054, 79, 1054, 371, 1039, 1056, 1359, 31, 33, 45, 72, 89, 90, 192, 198, 200, 201, 202, 203, 205, 213, 228, 248, 254, 273, 274, 282, 313, 314, 321, 360, 361, 362, 363, 1672, 1680, 1056, 1054, 79, 79, 79, 79, 79, 1097, 79, 1359, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 1067, 79, 79, 79, 79, 79, 79, 1068, 1067, 1068, 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, 79, 4, 18, 85, 51, 52, 53, 54, 55, 56, 59, 1029, 46, 48, 49, 50, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 86, 87, 1057, 75, 88, 1230, 37, 38, 39, 40, 41, 1054, 1097, 79, 85, 79, 85, 1341, 1448, 177, 1672, 1448, 1448, 1672, 1146, 1670, 1448, 1568, 1569, 1511, 1520, 1521, 1545, 94, 59, 349, 1559, 36, 1559, 306, 604, 1664, 1665, 327, 628, 586, 94, 83, 85, 83, 3, 4, 89, 213, 1227, 1228, 235, 1518, 83, 85, 1228, 24, 3, 1671, 1676, 36, 1559, 205, 303, 321, 344, 375, 561, 959, 1007, 1496, 912, 912, 50, 369, 1500, 79, 269, 1490, 912, 235, 1491, 1518, 1500, 792, 912, 1500, 912, 1492, 1500, 49, 238, 1498, 1499, 1490, 1500, 1492, 525, 912, 1004, 1498, 457, 549, 780, 952, 1495, 1475, 24, 79, 1477, 177, 787, 978, 177, 786, 627, 359, 1561, 1448, 1526, 1527, 238, 858, 1670, 349, 371, 1531, 1665, 1448, 4, 4, 4, 4, 4, 4, 173, 1037, 251, 98, 1347, 1347, 187, 269, 1380, 15, 299, 513, 1383, 1384, 1670, 1380, 356, 177, 219, 353, 1377, 1359, 1361, 1365, 1373, 1365, 1380, 1365, 67, 1056, 1422, 1424, 1421, 79, 1359, 1426, 1427, 1428, 1429, 1436, 1448, 1465, 1429, 1449, 1672, 369, 1378, 24, 238, 85, 1451, 1380, 1350, 1672, 1680, 1486, 1486, 1486, 1486, 59, 1486, 1486, 4, 1501, 1671, 85, 1550, 1031, 1455, 1455, 5, 5, 5, 564, 918, 1021, 1397, 3, 1032, 1455, 1455, 1455, 1455, 1455, 213, 719, 1398, 236, 394, 1399, 1455, 1455, 1455, 1455, 1455, 3, 1455, 5, 1455, 1455, 5, 1463, 1455, 1032, 1225, 5, 1455, 1455, 5, 1463, 1393, 176, 178, 190, 222, 300, 312, 327, 695, 812, 972, 1254, 1255, 1256, 1257, 1571, 1572, 1573, 1574, 1578, 1580, 1581, 1583, 1585, 1588, 176, 222, 300, 812, 972, 1296, 1297, 1298, 1299, 1309, 1310, 1576, 1579, 1588, 176, 222, 176, 608, 1672, 1672, 825, 1026, 759, 959, 425, 427, 429, 545, 732, 815, 952, 920, 759, 509, 205, 425, 427, 610, 804, 1026, 1609, 1610, 215, 300, 403, 686, 1010, 1651, 608, 634, 825, 834, 333, 333, 177, 321, 333, 402, 413, 414, 416, 446, 452, 486, 588, 612, 618, 634, 759, 770, 793, 838, 1601, 559, 988, 559, 815, 321, 681, 952, 980, 574, 867, 988, 1026, 404, 815, 959, 1341, 1644, 1672, 403, 614, 993, 528, 560, 733, 966, 967, 1655, 1656, 403, 608, 403, 993, 403, 815, 835, 368, 205, 425, 3, 428, 449, 836, 976, 1652, 1653, 867, 1026, 815, 1026, 815, 608, 856, 839, 993, 1588, 312, 354, 640, 1523, 1588, 15, 1512, 315, 371, 586, 1505, 24, 377, 1588, 1057, 1672, 1184, 1184, 1672, 1672, 1503, 1504, 1511, 1146, 1184, 3, 1672, 945, 1007, 1184, 94, 228, 1672, 3, 1340, 1340, 1672, 1672, 1146, 3, 1146, 1171, 1676, 1340, 1340, 771, 988, 67, 1546, 1672, 1544, 1056, 1056, 44, 1083, 1084, 1056, 24, 80, 85, 85, 1056, 1039, 1056, 1056, 80, 5, 80, 3, 1197, 1671, 1672, 1056, 1056, 1197, 1353, 80, 5, 80, 5, 80, 1197, 1056, 1100, 1039, 1039, 1056, 1056, 177, 219, 353, 1104, 1056, 177, 219, 353, 1086, 80, 5, 80, 80, 1056, 1056, 1100, 1100, 80, 207, 208, 209, 210, 245, 246, 247, 288, 289, 323, 373, 494, 583, 685, 693, 696, 794, 862, 1015, 1025, 1675, 1056, 96, 490, 493, 962, 963, 1202, 219, 353, 1103, 1056, 1056, 1056, 1039, 1056, 96, 96, 96, 1103, 1056, 1056, 1104, 1056, 1104, 1056, 1056, 5, 80, 1056, 1056, 80, 1053, 1056, 1039, 80, 80, 1056, 1086, 1086, 1086, 1086, 1056, 1100, 1104, 5, 80, 1056, 1056, 1101, 1675, 1101, 186, 267, 350, 1056, 1406, 1086, 1086, 1086, 1056, 1056, 1056, 1671, 9, 12, 995, 1057, 177, 387, 885, 1051, 1059, 1051, 1059, 1051, 1059, 1051, 1059, 1051, 1059, 1051, 1059, 1051, 1053, 4, 1053, 79, 1060, 1359, 4, 1054, 1053, 1053, 1053, 1053, 90, 1053, 90, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 46, 48, 49, 50, 1054, 3, 4, 1224, 1056, 1056, 1056, 1056, 1056, 1056, 1099, 67, 1671, 1672, 1673, 1680, 1040, 1041, 1056, 1102, 1680, 24, 349, 24, 1512, 24, 24, 1546, 89, 94, 213, 1056, 1555, 1056, 1056, 372, 740, 642, 24, 59, 187, 586, 1664, 1664, 1230, 1231, 1511, 59, 1664, 570, 871, 1556, 1559, 1555, 1555, 1448, 1448, 1672, 1448, 1672, 1448, 1184, 1499, 1499, 4, 1056, 67, 5, 1499, 203, 959, 1644, 1645, 1500, 1146, 1500, 1500, 1500, 1500, 1448, 1499, 1498, 1476, 1478, 1479, 1671, 180, 59, 59, 59, 15, 1562, 1563, 180, 279, 306, 372, 1423, 1528, 24, 4, 15, 18, 1205, 1551, 1670, 1670, 466, 24, 4, 1344, 1430, 1448, 1344, 1056, 1415, 1416, 5, 13, 1402, 4, 4, 24, 722, 723, 1013, 1405, 180, 1423, 1674, 24, 1381, 1382, 1359, 1426, 180, 1672, 24, 327, 30, 31, 32, 33, 34, 35, 291, 1467, 1468, 1471, 180, 236, 249, 300, 358, 857, 1434, 1438, 1439, 1446, 1447, 1672, 1378, 359, 85, 8, 1379, 1450, 1426, 67, 1672, 615, 969, 1487, 1672, 1680, 3, 1452, 1454, 79, 1454, 1462, 80, 5, 80, 80, 80, 4, 79, 1454, 1456, 1459, 1460, 1461, 1454, 1462, 1462, 1462, 80, 80, 1462, 1462, 1462, 1462, 1462, 80, 1462, 80, 1462, 79, 1454, 1458, 24, 1457, 80, 80, 4, 24, 1237, 80, 1462, 1454, 80, 80, 92, 194, 196, 250, 300, 353, 1324, 1441, 1586, 250, 1586, 1586, 194, 196, 237, 300, 375, 929, 1197, 1441, 187, 349, 1441, 1587, 1586, 300, 300, 929, 24, 213, 306, 375, 396, 415, 458, 464, 515, 524, 538, 633, 704, 731, 748, 777, 785, 791, 816, 841, 922, 948, 949, 976, 994, 1151, 1239, 1243, 1244, 1247, 300, 1312, 300, 187, 300, 300, 24, 410, 633, 704, 777, 977, 1306, 1308, 509, 509, 1486, 79, 890, 988, 989, 1027, 1127, 1130, 670, 671, 672, 673, 676, 688, 689, 690, 1123, 1124, 888, 4, 177, 1245, 1672, 406, 978, 1245, 1600, 5, 5, 5, 403, 403, 752, 1630, 49, 406, 1001, 59, 177, 1246, 177, 1246, 205, 1246, 1246, 24, 403, 703, 425, 427, 988, 5, 975, 529, 430, 888, 1645, 979, 979, 1601, 1014, 565, 1649, 1650, 1645, 430, 249, 1617, 1246, 959, 1605, 1630, 1631, 867, 1026, 1619, 1620, 1625, 1626, 1626, 906, 49, 975, 1626, 1246, 235, 238, 238, 4, 614, 1246, 1246, 1246, 1246, 1246, 24, 1626, 401, 1620, 401, 614, 556, 624, 1659, 1659, 321, 474, 1622, 5, 59, 59, 59, 59, 59, 24, 4, 1612, 1245, 1630, 1245, 1630, 1620, 1621, 1621, 993, 88, 458, 633, 638, 777, 791, 816, 822, 830, 922, 923, 1027, 1134, 1135, 1149, 1151, 1247, 1311, 575, 1134, 340, 441, 605, 719, 928, 1022, 1509, 1510, 669, 679, 1507, 1508, 187, 1513, 1523, 517, 777, 816, 1148, 1150, 1151, 1247, 1311, 228, 1305, 1306, 1307, 1308, 1672, 1672, 1134, 24, 371, 1505, 1506, 1512, 1147, 1148, 1448, 828, 94, 1146, 1171, 1317, 1448, 1452, 1448, 1672, 1672, 236, 304, 1176, 85, 236, 1175, 1341, 1341, 85, 349, 85, 24, 1056, 42, 1084, 1085, 24, 1056, 1671, 1680, 1680, 24, 24, 80, 359, 24, 359, 80, 80, 85, 24, 24, 24, 80, 80, 80, 80, 24, 80, 80, 80, 80, 80, 1056, 180, 1039, 1039, 67, 1056, 80, 96, 80, 24, 80, 80, 96, 238, 80, 249, 823, 1065, 3, 79, 1069, 1070, 24, 1039, 80, 80, 80, 80, 1065, 1069, 1069, 1069, 1039, 80, 24, 80, 1056, 80, 1056, 80, 80, 80, 80, 24, 96, 49, 80, 24, 96, 96, 80, 1056, 1056, 1056, 1056, 24, 80, 1056, 80, 80, 24, 80, 80, 24, 80, 238, 1056, 238, 1056, 238, 1056, 238, 80, 1056, 1056, 1056, 24, 80, 24, 180, 1106, 80, 9, 12, 995, 79, 79, 79, 79, 79, 79, 41, 4, 1052, 1039, 1052, 60, 79, 1056, 1056, 1053, 4, 1053, 1060, 4, 1054, 24, 238, 80, 85, 79, 85, 24, 1423, 80, 1448, 1448, 1569, 349, 1520, 241, 238, 306, 814, 866, 1666, 604, 4, 1204, 1205, 187, 1512, 4, 755, 1555, 1146, 1500, 1500, 60, 80, 24, 1500, 79, 1499, 1500, 1448, 24, 80, 79, 4, 5, 4, 24, 372, 632, 1529, 1672, 1527, 883, 371, 249, 314, 1158, 79, 327, 363, 1002, 1345, 1346, 1357, 1437, 1438, 94, 1349, 181, 216, 1417, 24, 24, 736, 1149, 1229, 1384, 5, 11, 1674, 4, 1422, 238, 80, 1672, 1427, 1120, 1121, 1197, 35, 298, 1472, 35, 298, 1472, 35, 30, 31, 32, 33, 1469, 1470, 1428, 1466, 1466, 1466, 1672, 79, 1441, 413, 1435, 180, 864, 1431, 1447, 1672, 180, 1434, 1447, 1672, 1441, 1447, 1447, 1413, 1414, 1426, 1672, 1056, 85, 1451, 1486, 1455, 3, 1456, 80, 1457, 80, 1032, 1456, 1460, 80, 1457, 1457, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 1456, 1237, 1463, 1032, 5, 1032, 1226, 80, 80, 1325, 1326, 1672, 79, 1269, 1272, 1575, 1440, 1441, 237, 302, 1322, 1323, 1672, 79, 1192, 1197, 1323, 1197, 1197, 1197, 79, 92, 3, 79, 1394, 1577, 1577, 189, 317, 1589, 1323, 92, 305, 424, 578, 1323, 1448, 1192, 1394, 1394, 1394, 1572, 372, 740, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1239, 88, 1149, 1575, 1341, 1577, 92, 305, 424, 578, 1394, 1394, 1310, 1246, 1246, 1246, 1246, 1246, 1306, 4, 4, 349, 1483, 4, 1139, 98, 1246, 1246, 1246, 24, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 24, 4, 585, 804, 1028, 1627, 1628, 1645, 1246, 1622, 1622, 1622, 1622, 1246, 1619, 871, 238, 1619, 87, 959, 978, 1646, 5, 87, 371, 1615, 5, 1245, 1245, 1610, 5, 1622, 4, 1626, 235, 1595, 959, 1604, 1246, 430, 1647, 1648, 1604, 1612, 5, 1246, 867, 1616, 1246, 1246, 1626, 871, 1604, 1245, 1672, 4, 1672, 1626, 4, 5, 5, 5, 5, 1245, 1656, 1619, 1620, 1630, 1632, 1625, 5, 1622, 4, 5, 6, 7, 9, 10, 11, 12, 14, 66, 1048, 1049, 4, 1048, 4, 1048, 1653, 24, 1621, 1619, 1588, 888, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 24, 1004, 1137, 1246, 375, 349, 1137, 4, 4, 4, 41, 1510, 5, 5, 1508, 4, 1514, 1246, 1246, 1246, 1150, 88, 1149, 1295, 1296, 1297, 1298, 1299, 24, 817, 988, 989, 1027, 1125, 1126, 1123, 327, 1004, 1136, 1504, 1507, 1506, 586, 50, 79, 180, 1239, 1240, 1243, 1248, 1254, 1255, 1256, 1257, 1357, 212, 261, 309, 925, 1181, 4, 1486, 85, 235, 79, 1318, 359, 1334, 1335, 3, 1171, 1676, 1589, 1589, 67, 1503, 67, 1672, 1056, 43, 1056, 522, 1056, 80, 1056, 1056, 1227, 89, 192, 212, 221, 355, 490, 493, 725, 878, 962, 1199, 1201, 1227, 1671, 1672, 1056, 1056, 1197, 382, 90, 1056, 96, 96, 96, 80, 1199, 80, 80, 80, 80, 1069, 90, 1069, 1056, 1065, 1066, 724, 3, 300, 1074, 1075, 1056, 1413, 1066, 724, 1413, 1056, 80, 80, 96, 1056, 1069, 1056, 1056, 1069, 1069, 80, 80, 80, 80, 1056, 80, 1056, 1056, 1056, 238, 1056, 238, 1056, 238, 1056, 80, 80, 80, 1056, 5, 89, 192, 642, 1107, 1359, 1360, 1360, 1360, 1360, 1360, 1360, 1051, 4, 80, 60, 4, 1054, 1056, 1675, 1675, 41, 1052, 1052, 60, 1056, 1056, 67, 1671, 1680, 1102, 1680, 1041, 4, 1674, 1511, 294, 1516, 460, 982, 306, 24, 642, 24, 4, 79, 4, 530, 1014, 5, 80, 1378, 1499, 1479, 1359, 1360, 1473, 24, 24, 1563, 1528, 24, 466, 98, 80, 1353, 1120, 79, 1354, 514, 1416, 1402, 1402, 1227, 1385, 1495, 223, 1425, 1426, 24, 1378, 59, 35, 1466, 35, 35, 1472, 1472, 1472, 35, 32, 94, 359, 94, 359, 1464, 1447, 1394, 235, 1442, 177, 405, 590, 1433, 1672, 79, 180, 1447, 1672, 1447, 1672, 180, 1431, 1447, 1672, 1447, 1442, 1380, 1403, 80, 80, 1457, 79, 1454, 80, 80, 1457, 80, 1454, 1460, 79, 1454, 1459, 80, 139, 140, 300, 578, 719, 850, 1400, 4, 80, 353, 193, 300, 1270, 1271, 1273, 1274, 1322, 92, 92, 1334, 1192, 1198, 4, 89, 184, 185, 192, 212, 221, 232, 261, 276, 277, 284, 285, 286, 309, 327, 330, 346, 347, 348, 364, 365, 412, 417, 418, 490, 493, 526, 725, 960, 962, 963, 1025, 1203, 1206, 1207, 1208, 1209, 1210, 1211, 607, 1008, 1244, 1582, 222, 327, 1590, 1192, 1589, 1394, 1323, 1394, 3, 24, 79, 79, 457, 79, 457, 79, 349, 98, 1245, 5, 11, 1294, 5, 4, 4, 4, 1245, 79, 4, 213, 1242, 5, 5, 15, 213, 850, 1241, 1245, 5, 5, 5, 213, 461, 463, 516, 802, 1301, 5, 4, 5, 5, 9, 1246, 1246, 5, 457, 929, 1300, 457, 1300, 1300, 98, 9, 1242, 5, 1241, 5, 708, 1599, 1619, 1486, 24, 80, 79, 1245, 5, 79, 1130, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1124, 1246, 1246, 1246, 24, 895, 1641, 1642, 5, 4, 477, 1624, 5, 759, 426, 1246, 1246, 428, 1614, 1646, 426, 379, 1646, 1615, 1026, 867, 769, 359, 1596, 59, 570, 1607, 5, 1246, 1607, 504, 79, 1246, 1621, 4, 1245, 5, 1026, 1608, 238, 392, 1613, 1645, 1645, 1619, 5, 11, 458, 1654, 85, 1654, 1654, 1654, 1654, 4, 178, 190, 1629, 1628, 1246, 1224, 4, 4, 5, 1241, 5, 5, 79, 5, 5, 5, 79, 1135, 1553, 1557, 1227, 1246, 1672, 1510, 5, 1241, 5, 1246, 1246, 1307, 1246, 1246, 1246, 1246, 24, 1004, 1553, 1553, 187, 1448, 50, 196, 353, 1185, 1186, 1192, 1324, 1441, 1357, 300, 1248, 1249, 1250, 1252, 1253, 1258, 1259, 24, 1423, 886, 359, 1483, 1171, 3, 1146, 1173, 1676, 1262, 1671, 949, 1319, 420, 578, 94, 1175, 371, 1547, 80, 1056, 80, 24, 80, 80, 79, 1218, 1220, 1220, 79, 1215, 261, 1200, 1215, 1200, 80, 79, 1217, 80, 85, 24, 24, 79, 1056, 80, 1069, 1069, 1069, 96, 80, 96, 96, 96, 80, 724, 80, 1074, 187, 80, 1413, 80, 326, 1105, 24, 80, 1105, 80, 96, 96, 1069, 80, 80, 80, 96, 96, 96, 96, 80, 96, 80, 24, 1056, 1056, 1056, 96, 96, 96, 80, 24, 79, 1114, 1114, 5, 1108, 1109, 1110, 1111, 1112, 80, 80, 80, 80, 80, 80, 80, 4, 1054, 1052, 1051, 60, 4, 1054, 24, 235, 80, 1512, 238, 1665, 1666, 1205, 740, 1514, 1500, 80, 80, 80, 478, 882, 1665, 883, 344, 1345, 80, 213, 1056, 1355, 1356, 24, 92, 271, 1388, 226, 227, 295, 345, 1386, 1387, 1378, 1378, 1121, 1413, 1356, 1464, 1466, 35, 35, 35, 1056, 79, 1056, 79, 80, 35, 242, 296, 79, 79, 1447, 5, 1672, 1447, 1447, 1672, 180, 1447, 1672, 1447, 79, 1456, 1460, 1456, 1237, 1401, 1032, 1440, 79, 1448, 24, 80, 24, 80, 1334, 1322, 79, 79, 24, 80, 1218, 1219, 1219, 1215, 301, 301, 79, 1218, 1218, 79, 1213, 79, 1215, 79, 1216, 239, 1193, 1232, 79, 1212, 79, 1214, 1217, 1220, 1220, 213, 213, 80, 80, 3, 80, 1262, 1056, 79, 1056, 79, 1056, 1323, 1575, 1056, 1175, 1224, 1227, 1300, 5, 187, 754, 1292, 5, 1292, 1292, 1575, 1175, 1246, 1619, 1621, 4, 98, 1139, 215, 1129, 4, 1138, 1245, 1245, 1245, 1627, 1246, 407, 1639, 1640, 1246, 1621, 430, 1000, 1245, 5, 1246, 1614, 1000, 1614, 1646, 1246, 1246, 54, 476, 600, 641, 730, 795, 853, 1597, 1598, 1245, 1606, 1245, 1246, 1606, 79, 59, 973, 1603, 1672, 4, 991, 4, 861, 1658, 1671, 1658, 1658, 1658, 1658, 707, 817, 1634, 1635, 1636, 1637, 4, 1175, 1139, 1138, 24, 12, 1672, 1224, 1227, 4, 1245, 5, 79, 1126, 1553, 755, 1514, 1448, 1325, 1326, 1440, 24, 80, 237, 302, 1322, 187, 300, 1258, 1423, 300, 1240, 1357, 4, 170, 235, 85, 1031, 1172, 24, 80, 59, 180, 1448, 241, 1039, 5, 11, 1046, 89, 1223, 5, 5, 1671, 1056, 1056, 4, 1675, 1069, 1069, 1069, 1069, 80, 1039, 305, 842, 1076, 1080, 1081, 4, 80, 1039, 80, 1069, 1069, 238, 1064, 1069, 1069, 1069, 1069, 1069, 1056, 1069, 1069, 1069, 5, 5, 80, 24, 66, 181, 216, 829, 1113, 1115, 1116, 1052, 4, 1054, 1052, 1056, 1056, 1516, 80, 59, 59, 1448, 1345, 24, 80, 79, 356, 341, 345, 1389, 1390, 187, 187, 226, 187, 1387, 242, 1407, 1407, 1403, 1464, 1353, 1353, 187, 187, 3, 302, 1443, 1444, 1445, 5, 11, 1432, 80, 1447, 1447, 1672, 1447, 1444, 80, 80, 1457, 1400, 80, 1322, 1056, 363, 300, 1271, 300, 1274, 79, 79, 1262, 1327, 1328, 1671, 1192, 1223, 355, 878, 1221, 1204, 1223, 5, 1204, 1221, 5, 385, 180, 12, 94, 183, 213, 302, 353, 381, 396, 458, 552, 584, 743, 1057, 1233, 1236, 1584, 5, 1221, 5, 1221, 1223, 65, 66, 1045, 1235, 929, 1263, 1264, 1265, 80, 80, 1262, 80, 1262, 80, 80, 1292, 1300, 92, 305, 424, 578, 5, 79, 1269, 1300, 79, 1272, 1245, 1621, 79, 80, 988, 80, 1237, 4, 1246, 327, 5, 1175, 1604, 5, 4, 5, 1614, 1245, 4, 5, 59, 59, 59, 59, 59, 59, 1597, 24, 4, 80, 1612, 1138, 1246, 392, 4, 59, 1626, 1626, 1626, 1626, 1626, 1246, 1246, 1175, 1634, 504, 80, 80, 1557, 1138, 1514, 80, 353, 193, 1322, 1186, 1238, 1240, 92, 92, 1334, 194, 305, 187, 1357, 946, 1391, 1146, 1173, 3, 1173, 1676, 1619, 1671, 5, 1314, 1357, 79, 294, 80, 80, 24, 80, 80, 80, 24, 49, 1055, 46, 90, 481, 1056, 1078, 1079, 96, 80, 96, 552, 621, 1063, 1066, 24, 80, 1110, 1112, 1112, 1116, 1052, 5, 5, 1437, 1356, 1355, 1120, 187, 187, 1390, 4, 4, 187, 4, 187, 243, 1418, 1418, 80, 80, 24, 80, 80, 1447, 80, 1460, 1334, 80, 49, 626, 1448, 1448, 1327, 1262, 80, 24, 80, 79, 1330, 1229, 374, 1222, 80, 1229, 80, 80, 1222, 80, 79, 356, 1671, 202, 273, 274, 721, 1093, 1234, 1235, 92, 1671, 4, 5, 1234, 12, 92, 80, 1222, 24, 80, 1222, 1229, 1046, 1046, 187, 1292, 1263, 1263, 80, 1263, 80, 1263, 1292, 5, 457, 929, 457, 929, 930, 1293, 1292, 1139, 94, 1246, 4, 5, 1643, 1671, 1642, 981, 981, 867, 1294, 5, 5, 1294, 1294, 1294, 1245, 80, 177, 394, 646, 1602, 4, 371, 186, 681, 889, 1645, 1645, 1645, 1645, 1645, 5, 4, 1246, 80, 1440, 79, 1334, 1249, 1322, 1334, 79, 79, 79, 457, 394, 1048, 1251, 85, 1172, 1172, 1327, 5, 1056, 291, 418, 80, 1079, 1056, 838, 562, 784, 1077, 1069, 1069, 96, 5, 192, 1159, 80, 4, 4, 4, 1056, 1408, 1409, 1410, 1056, 29, 1071, 1071, 1443, 80, 79, 79, 1286, 961, 363, 363, 80, 80, 371, 415, 458, 489, 570, 592, 632, 704, 924, 1009, 1018, 1244, 1331, 1332, 1333, 1335, 1582, 1328, 1331, 5, 1417, 1231, 1223, 1231, 1223, 1056, 1093, 5, 1231, 92, 305, 424, 578, 79, 1266, 1292, 1292, 1263, 1292, 1263, 1292, 1269, 1293, 5, 956, 5, 956, 5, 1272, 80, 79, 79, 59, 1646, 1615, 1246, 991, 4, 4, 1322, 1056, 79, 1423, 79, 79, 1327, 79, 1261, 1671, 80, 1056, 79, 754, 1173, 80, 80, 80, 620, 694, 41, 1675, 1069, 24, 327, 1385, 181, 216, 1411, 24, 371, 1412, 3, 1072, 1073, 1327, 213, 1056, 1287, 584, 1289, 79, 283, 1288, 1331, 310, 750, 1246, 4, 1246, 1246, 1246, 79, 1246, 1333, 80, 584, 1329, 1229, 1229, 80, 80, 79, 79, 457, 79, 457, 79, 300, 1267, 1268, 1266, 1269, 1292, 1272, 1292, 1266, 929, 79, 1280, 929, 79, 1283, 1138, 5, 1128, 1045, 1614, 1646, 4, 4, 792, 1623, 1175, 1334, 80, 1327, 1357, 1262, 1262, 80, 1262, 24, 80, 80, 1262, 394, 1172, 1331, 694, 1079, 5, 1228, 1388, 1410, 832, 180, 24, 80, 80, 24, 80, 5, 79, 1275, 1276, 1280, 1283, 283, 1056, 1290, 1291, 1289, 1448, 4, 5, 5, 5, 5, 1262, 5, 5, 1231, 1231, 342, 368, 1196, 1262, 1056, 79, 1056, 79, 1056, 1448, 24, 80, 1269, 1272, 956, 929, 1281, 1282, 956, 929, 1284, 1285, 80, 24, 80, 1614, 371, 79, 80, 80, 80, 1331, 80, 1260, 1261, 80, 1249, 80, 239, 249, 1160, 1070, 1073, 1331, 1056, 929, 1277, 1278, 24, 80, 1275, 79, 80, 1194, 80, 80, 1262, 80, 1262, 80, 1289, 1268, 1280, 1448, 24, 80, 1283, 1448, 24, 80, 5, 4, 1327, 1331, 310, 1334, 24, 80, 5, 5, 79, 1162, 1448, 24, 80, 1291, 1262, 12, 87, 353, 458, 584, 1195, 1236, 1584, 929, 1293, 929, 80, 929, 80, 929, 1293, 1275, 363, 1282, 363, 1285, 80, 1448, 1654, 1261, 271, 842, 1161, 1161, 15, 80, 1163, 1164, 1197, 327, 1165, 363, 524, 1279, 929, 1278, 80, 12, 92, 4, 5, 92, 956, 956, 929, 956, 929, 956, 626, 49, 1331, 79, 24, 80, 1166, 1167, 1197, 59, 1448, 282, 1190, 79, 1276, 1280, 956, 1283, 956, 1276, 961, 1286, 1262, 1164, 24, 59, 595, 32, 751, 879, 1191, 1187, 1280, 1283, 1288, 80, 1167, 1356, 94, 1188, 1190, 215, 356, 1187, 189, 317, 327, 716, 1189, 1189, 12, 213, 378 }; #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 28307 "../../../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 28316 "../../../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 28325 "../../../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 28334 "../../../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 28343 "../../../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 28352 "../../../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 28361 "../../../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 28370 "../../../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 28379 "../../../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 28388 "../../../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 28397 "../../../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 28406 "../../../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 28415 "../../../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 28424 "../../../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 28433 "../../../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 28442 "../../../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 28451 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1035: /* "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 28460 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1036: /* "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 28469 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1037: /* "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 28478 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1038: /* "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 28487 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1039: /* "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 28496 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1040: /* "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 28505 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1041: /* "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 28514 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1042: /* "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 28523 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1043: /* "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 28532 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1044: /* "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 28541 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1045: /* "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 28550 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1046: /* "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 28559 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1047: /* "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 28568 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1048: /* "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 28577 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1050: /* "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 28586 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1051: /* "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 28595 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1052: /* "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 28604 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1053: /* "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 28613 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1054: /* "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 28622 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1056: /* "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 28631 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1057: /* "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 28640 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1058: /* "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 28649 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1059: /* "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 28658 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1060: /* "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 28667 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1061: /* "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 28676 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1062: /* "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 28685 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1063: /* "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 28694 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1064: /* "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 28703 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1065: /* "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 28712 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1066: /* "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 28721 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1067: /* "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 28730 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1068: /* "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 28739 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1069: /* "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 28748 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1070: /* "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 28757 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1071: /* "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 28766 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1072: /* "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 28775 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1073: /* "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 28784 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1074: /* "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 28793 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1075: /* "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 28802 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1076: /* "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 28811 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1077: /* "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 28820 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1078: /* "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 28829 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1079: /* "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 28838 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1080: /* "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 28847 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1081: /* "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 28856 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1082: /* "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 28865 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1083: /* "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 28874 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1084: /* "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 28883 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1085: /* "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 28892 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1086: /* "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 28901 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1087: /* "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 28910 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1088: /* "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 28919 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1089: /* "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 28928 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1090: /* "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 28937 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1091: /* "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 28946 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1092: /* "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 28955 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1093: /* "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 28964 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1094: /* "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 28973 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1095: /* "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 28982 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1096: /* "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 28991 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1098: /* "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 29000 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1099: /* "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 29009 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1100: /* "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 29018 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1101: /* "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 29027 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1102: /* "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 29036 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1103: /* "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 29045 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1104: /* "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 29054 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1105: /* "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 29063 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1106: /* "opt_ws_as_char" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29072 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1107: /* "opt_ws_levels" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29081 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1108: /* "ws_level_list_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 29090 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1109: /* "ws_level_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 29099 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1110: /* "ws_level_list_item" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29108 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1111: /* "ws_level_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 29117 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1112: /* "ws_level_number" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29126 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1113: /* "ws_level_flags" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29135 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1114: /* "ws_nweights" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29144 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1115: /* "ws_level_flag_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 29153 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1116: /* "ws_level_flag_reverse" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 29162 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1117: /* "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 29171 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1118: /* "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 29180 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1119: /* "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 29189 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1120: /* "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 29198 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1121: /* "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 29207 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1122: /* "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 29216 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1123: /* "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 29225 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1124: /* "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 29234 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1125: /* "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 29243 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1126: /* "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 29252 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1127: /* "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 29261 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1128: /* "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 29270 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1129: /* "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 29279 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1130: /* "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 29288 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1131: /* "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 29297 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1132: /* "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 29306 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1133: /* "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 29315 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1134: /* "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 29324 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1135: /* "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 29333 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1136: /* "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 29342 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1137: /* "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 29351 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1138: /* "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 29360 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1139: /* "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 29369 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1140: /* "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 29378 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1141: /* "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 29387 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1142: /* "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 29396 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1143: /* "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 29405 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1144: /* "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 29414 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1145: /* "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 29423 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1146: /* "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 29432 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1147: /* "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 29441 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1148: /* "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 29450 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1149: /* "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 29459 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1150: /* "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 29468 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1151: /* "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 29477 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1152: /* "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 29486 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1153: /* "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 29495 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1154: /* "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 29504 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1155: /* "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 29513 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1156: /* "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 29522 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1157: /* "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 29531 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1158: /* "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 29540 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1159: /* "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 29549 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1160: /* "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 29558 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1161: /* "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 29567 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1162: /* "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 29576 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1163: /* "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 29585 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1164: /* "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 29594 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1165: /* "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 29603 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1166: /* "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 29612 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1167: /* "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 29621 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1168: /* "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 29630 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1169: /* "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 29639 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1170: /* "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 29648 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1171: /* "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 29657 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1172: /* "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 29666 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1173: /* "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 29675 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1174: /* "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 29684 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1175: /* "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 29693 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1176: /* "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 29702 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1177: /* "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 29711 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1178: /* "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 29720 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1179: /* "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 29729 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1180: /* "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 29738 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1181: /* "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 29747 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1182: /* "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 29756 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1183: /* "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 29765 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1184: /* "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 29774 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1185: /* "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 29783 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1186: /* "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 29792 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1187: /* "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 29801 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1188: /* "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 29810 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1190: /* "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 29819 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1192: /* "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 29828 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1193: /* "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 29837 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1194: /* "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 29846 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1195: /* "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 29855 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1196: /* "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 29864 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1197: /* "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 29873 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1198: /* "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 29882 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1199: /* "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 29891 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1202: /* "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 29900 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1203: /* "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 29909 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1204: /* "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 29918 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1205: /* "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 29927 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1214: /* "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 29936 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1215: /* "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 29945 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1223: /* "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 29954 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1224: /* "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 29963 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1225: /* "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 29972 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1226: /* "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 29981 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1227: /* "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 29990 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1228: /* "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 29999 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1229: /* "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 30008 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1230: /* "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 30017 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1231: /* "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 30026 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1232: /* "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 30035 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1233: /* "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 30044 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1234: /* "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 30053 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1235: /* "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 30062 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1236: /* "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 30071 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1237: /* "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 30080 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1238: /* "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 30089 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1239: /* "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 30098 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1240: /* "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 30107 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1241: /* "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 30116 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1242: /* "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 30125 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1243: /* "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 30134 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1244: /* "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 30143 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1245: /* "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 30152 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1246: /* "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 30161 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1247: /* "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 30170 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1248: /* "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 30179 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1249: /* "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 30188 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1250: /* "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 30197 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1251: /* "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 30206 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1252: /* "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 30215 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1253: /* "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 30224 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1254: /* "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 30233 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1255: /* "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 30242 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1256: /* "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 30251 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1257: /* "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 30260 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1258: /* "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 30269 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1259: /* "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 30278 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1260: /* "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 30287 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1261: /* "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 30296 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1262: /* "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 30305 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1263: /* "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 30314 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1264: /* "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 30323 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1265: /* "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 30332 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1266: /* "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 30341 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1267: /* "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 30350 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1268: /* "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 30359 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1269: /* "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 30368 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1270: /* "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 30377 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1271: /* "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 30386 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1272: /* "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 30395 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1273: /* "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 30404 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1274: /* "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 30413 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1275: /* "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 30422 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1276: /* "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 30431 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1277: /* "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 30440 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1278: /* "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 30449 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1279: /* "opt_engine_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 30458 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1280: /* "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 30467 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1281: /* "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 30476 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1282: /* "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 30485 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1283: /* "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 30494 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1284: /* "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 30503 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1285: /* "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 30512 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1286: /* "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 30521 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1287: /* "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 30530 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1288: /* "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 30539 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1289: /* "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 30548 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1290: /* "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 30557 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1291: /* "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 30566 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1292: /* "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 30575 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1293: /* "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 30584 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1294: /* "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 30593 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1295: /* "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 30602 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1296: /* "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 30611 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1297: /* "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 30620 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1298: /* "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 30629 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1299: /* "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 30638 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1300: /* "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 30647 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1301: /* "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 30656 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1302: /* "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 30665 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1303: /* "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 30674 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1304: /* "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 30683 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1305: /* "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 30692 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1306: /* "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 30701 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1307: /* "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 30710 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1308: /* "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 30719 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1309: /* "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 30728 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1310: /* "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 30737 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1311: /* "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 30746 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1312: /* "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 30755 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1313: /* "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 30764 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1314: /* "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 30773 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1315: /* "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 30782 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1316: /* "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 30791 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1317: /* "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 30800 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1318: /* "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 30809 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1319: /* "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 30818 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1320: /* "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 30827 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1322: /* "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 30836 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1323: /* "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 30845 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1324: /* "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 30854 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1325: /* "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 30863 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1326: /* "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 30872 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1327: /* "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 30881 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1328: /* "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 30890 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1329: /* "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 30899 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1330: /* "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 30908 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1331: /* "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 30917 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1332: /* "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 30926 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1333: /* "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 30935 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1334: /* "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 30944 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1335: /* "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 30953 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1336: /* "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 30962 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1337: /* "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 30971 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1338: /* "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 30980 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1339: /* "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 30989 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1340: /* "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 30998 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1341: /* "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 31007 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1342: /* "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 31016 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1343: /* "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 31025 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1344: /* "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 31034 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1345: /* "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 31043 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1346: /* "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 31052 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1347: /* "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 31061 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1348: /* "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 31070 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1349: /* "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 31079 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1350: /* "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 31088 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1351: /* "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 31097 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1352: /* "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 31106 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1353: /* "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 31115 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1354: /* "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 31124 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1355: /* "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 31133 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1356: /* "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 31142 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1357: /* "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 31151 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1358: /* "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 31160 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1359: /* "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 31169 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1360: /* "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 31178 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1361: /* "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 31187 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1362: /* "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 31196 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1363: /* "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 31205 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1364: /* "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 31214 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1365: /* "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 31223 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1366: /* "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 31232 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1367: /* "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 31241 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1368: /* "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 31250 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1369: /* "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 31259 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1370: /* "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 31268 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1371: /* "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 31277 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1372: /* "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 31286 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1373: /* "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 31295 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1376: /* "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 31304 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1377: /* "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 31313 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1378: /* "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 31322 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1379: /* "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 31331 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1380: /* "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 31340 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1381: /* "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 31349 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1382: /* "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 31358 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1383: /* "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 31367 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1384: /* "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 31376 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1385: /* "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 31385 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1386: /* "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 31394 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1387: /* "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 31403 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1388: /* "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 31412 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1389: /* "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 31421 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1390: /* "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 31430 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1391: /* "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 31439 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1392: /* "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 31448 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1393: /* "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 31457 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1394: /* "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 31466 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1395: /* "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 31475 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1396: /* "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 31484 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1400: /* "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 31493 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1401: /* "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 31502 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1402: /* "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 31511 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1403: /* "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 31520 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1404: /* "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 31529 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1405: /* "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 31538 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1406: /* "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 31547 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1407: /* "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 31556 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1408: /* "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 31565 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1409: /* "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 31574 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1410: /* "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 31583 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1411: /* "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 31592 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1412: /* "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 31601 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1413: /* "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 31610 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1414: /* "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 31619 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1415: /* "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 31628 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1416: /* "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 31637 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1417: /* "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 31646 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1418: /* "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 31655 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1419: /* "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 31664 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1420: /* "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 31673 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1421: /* "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 31682 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1422: /* "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 31691 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1423: /* "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 31700 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1424: /* "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 31709 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1425: /* "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 31718 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1426: /* "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 31727 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1427: /* "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 31736 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1428: /* "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 31745 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1429: /* "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 31754 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1430: /* "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 31763 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1431: /* "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 31772 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1432: /* "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 31781 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1433: /* "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 31790 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1434: /* "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 31799 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1435: /* "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 31808 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1436: /* "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 31817 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1437: /* "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 31826 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1438: /* "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 31835 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1439: /* "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 31844 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1440: /* "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 31853 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1441: /* "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 31862 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1442: /* "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 31871 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1443: /* "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 31880 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1444: /* "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 31889 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1445: /* "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 31898 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1446: /* "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 31907 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1447: /* "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 31916 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1448: /* "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 31925 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1449: /* "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 31934 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1450: /* "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 31943 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1451: /* "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 31952 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1452: /* "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 31961 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1453: /* "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 31970 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1454: /* "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 31979 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1455: /* "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 31988 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1456: /* "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 31997 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1458: /* "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 32006 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1459: /* "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 32015 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1460: /* "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 32024 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1461: /* "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 32033 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1462: /* "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 32042 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1463: /* "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 32051 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1464: /* "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 32060 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1465: /* "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 32069 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1466: /* "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 32078 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1467: /* "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 32087 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1468: /* "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 32096 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1469: /* "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 32105 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1470: /* "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 32114 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1471: /* "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 32123 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1472: /* "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 32132 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1473: /* "with_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 32141 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1474: /* "with_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 32150 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1475: /* "with_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 32159 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1476: /* "common_table_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 32168 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1477: /* "opt_column_alias_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 32177 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1478: /* "alias_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 32186 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1479: /* "column_alias_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 32195 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1480: /* "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 32204 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1481: /* "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 32213 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1482: /* "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 32222 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1483: /* "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 32231 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1484: /* "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 32240 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1485: /* "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 32249 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1486: /* "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 32258 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1487: /* "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 32267 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1488: /* "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 32276 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1489: /* "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 32285 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1490: /* "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 32294 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1491: /* "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 32303 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1492: /* "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 32312 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1493: /* "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 32321 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1495: /* "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 32330 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1496: /* "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 32339 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1497: /* "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 32348 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1498: /* "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 32357 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1499: /* "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 32366 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1500: /* "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 32375 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1501: /* "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 32384 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1502: /* "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 32393 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1503: /* "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 32402 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1504: /* "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 32411 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1505: /* "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 32420 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1506: /* "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 32429 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1507: /* "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 32438 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1508: /* "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 32447 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1509: /* "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 32456 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1510: /* "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 32465 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1511: /* "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 32474 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1512: /* "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 32483 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1513: /* "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 32492 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1514: /* "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 32501 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1515: /* "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 32510 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1516: /* "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 32519 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1517: /* "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 32528 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1518: /* "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 32537 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1519: /* "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 32546 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1520: /* "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 32555 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1521: /* "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 32564 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1522: /* "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 32573 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1523: /* "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 32582 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1524: /* "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 32591 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1525: /* "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 32600 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1526: /* "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 32609 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1527: /* "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 32618 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1528: /* "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 32627 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1529: /* "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 32636 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1530: /* "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 32645 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1532: /* "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 32654 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1533: /* "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 32663 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1534: /* "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 32672 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1535: /* "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 32681 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1536: /* "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 32690 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1537: /* "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 32699 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1538: /* "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 32708 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1539: /* "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 32717 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1540: /* "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 32726 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1541: /* "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 32735 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1542: /* "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 32744 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1543: /* "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 32753 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1544: /* "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 32762 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1545: /* "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 32771 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1546: /* "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 32780 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1547: /* "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 32789 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1548: /* "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 32798 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1549: /* "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 32807 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1550: /* "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 32816 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1551: /* "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 32825 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1552: /* "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 32834 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1553: /* "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 32843 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1554: /* "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 32852 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1555: /* "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 32861 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1556: /* "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 32870 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1557: /* "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 32879 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1559: /* "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 32888 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1560: /* "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 32897 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1561: /* "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 32906 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1562: /* "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 32915 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1563: /* "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 32924 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1564: /* "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 32933 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1565: /* "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 32942 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1566: /* "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 32951 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1567: /* "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 32960 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1568: /* "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 32969 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1569: /* "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 32978 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1570: /* "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 32987 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1571: /* "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 32996 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1572: /* "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 33005 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1573: /* "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 33014 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1574: /* "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 33023 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1575: /* "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 33032 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1576: /* "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 33041 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1577: /* "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 33050 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1578: /* "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 33059 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1579: /* "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 33068 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1580: /* "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 33077 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1581: /* "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 33086 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1582: /* "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 33095 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1583: /* "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 33104 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1584: /* "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 33113 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1585: /* "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 33122 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1586: /* "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 33131 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1587: /* "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 33140 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1588: /* "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 33149 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1590: /* "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 33158 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1591: /* "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 33167 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1592: /* "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 33176 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1593: /* "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 33185 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1594: /* "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 33194 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1595: /* "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 33203 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1596: /* "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 33212 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1597: /* "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 33221 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1598: /* "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 33230 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1599: /* "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 33239 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1600: /* "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 33248 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1601: /* "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 33257 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1602: /* "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 33266 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1603: /* "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 33275 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1604: /* "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 33284 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1605: /* "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 33293 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1606: /* "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 33302 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1607: /* "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 33311 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1608: /* "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 33320 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1609: /* "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 33329 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1610: /* "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 33338 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1611: /* "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 33347 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1612: /* "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 33356 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1613: /* "opt_backup_dest" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 33365 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1614: /* "opt_backup_backup_dest" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 33374 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1615: /* "opt_with_active_piece" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 33383 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1616: /* "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 33392 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1617: /* "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 33401 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1618: /* "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 33410 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1619: /* "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 33419 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1620: /* "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 33428 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1621: /* "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 33437 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1622: /* "opt_copy_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 33446 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1623: /* "opt_preview" */ /* Line 1000 of yacc.c */ #line 37 "../../../src/sql/parser/sql_parser_mysql_mode.y" {destroy_tree((yyvaluep->node));}; /* Line 1000 of yacc.c */ #line 33455 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1624: /* "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 33464 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1625: /* "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 33473 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1626: /* "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 33482 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1627: /* "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 33491 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1628: /* "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 33500 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1629: /* "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 33509 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1630: /* "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 33518 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1631: /* "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 33527 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1632: /* "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 33536 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1633: /* "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 33545 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1634: /* "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 33554 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1635: /* "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 33563 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1636: /* "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 33572 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1637: /* "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 33581 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1638: /* "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 33590 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1639: /* "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 33599 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1640: /* "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 33608 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1641: /* "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 33617 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1642: /* "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 33626 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1643: /* "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 33635 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1644: /* "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 33644 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1645: /* "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 33653 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1646: /* "opt_tenant_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 33662 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1647: /* "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 33671 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1648: /* "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 33680 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1649: /* "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 33689 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1650: /* "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 33698 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1651: /* "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 33707 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1652: /* "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 33716 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1653: /* "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 33725 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1654: /* "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 33734 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1655: /* "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 33743 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1656: /* "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 33752 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1659: /* "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 33761 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1660: /* "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 33770 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1661: /* "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 33779 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1662: /* "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 33788 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1663: /* "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 33797 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1664: /* "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 33806 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1665: /* "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 33815 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1666: /* "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 33824 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1667: /* "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 33833 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1668: /* "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 33842 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1669: /* "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 33851 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1670: /* "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 33860 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1671: /* "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 33869 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1672: /* "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 33878 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1673: /* "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 33887 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1674: /* "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 33896 "../../../src/sql/parser/sql_parser_mysql_mode_tab.c" break; case 1675: /* "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 33905 "../../../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 440 "../../../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 449 "../../../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 454 "../../../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 459 "../../../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 463 "../../../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 470 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 8: /* Line 1455 of yacc.c */ #line 471 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 9: /* Line 1455 of yacc.c */ #line 476 "../../../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 477 "../../../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 478 "../../../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 479 "../../../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 480 "../../../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 481 "../../../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 482 "../../../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 483 "../../../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 484 "../../../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 485 "../../../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 486 "../../../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 487 "../../../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 488 "../../../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 489 "../../../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 490 "../../../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 491 "../../../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 492 "../../../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 493 "../../../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 494 "../../../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 495 "../../../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 496 "../../../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 497 "../../../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 498 "../../../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 499 "../../../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 500 "../../../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 501 "../../../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 502 "../../../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 503 "../../../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 504 "../../../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 505 "../../../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 506 "../../../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 507 "../../../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 508 "../../../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 509 "../../../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 510 "../../../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 511 "../../../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 512 "../../../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 513 "../../../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 514 "../../../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 515 "../../../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 516 "../../../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 517 "../../../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 518 "../../../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 519 "../../../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 520 "../../../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 521 "../../../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 522 "../../../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 523 "../../../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 524 "../../../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 525 "../../../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 526 "../../../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 527 "../../../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 528 "../../../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 529 "../../../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 530 "../../../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 531 "../../../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 532 "../../../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 533 "../../../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 534 "../../../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 535 "../../../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 537 "../../../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 539 "../../../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 540 "../../../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 541 "../../../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 542 "../../../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 543 "../../../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 544 "../../../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 545 "../../../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 546 "../../../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 547 "../../../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 548 "../../../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 559 "../../../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 567 "../../../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 574 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 83: /* Line 1455 of yacc.c */ #line 578 "../../../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 584 "../../../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 593 "../../../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 612 "../../../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 638 "../../../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 645 "../../../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 650 "../../../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 657 "../../../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 666 "../../../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 673 "../../../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 678 "../../../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 685 "../../../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 694 "../../../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 701 "../../../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 706 "../../../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 713 "../../../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 726 "../../../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 736 "../../../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 744 "../../../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 755 "../../../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 764 "../../../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 773 "../../../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 782 "../../../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 791 "../../../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 800 "../../../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 811 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 109: /* Line 1455 of yacc.c */ #line 812 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 110: /* Line 1455 of yacc.c */ #line 813 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 111: /* Line 1455 of yacc.c */ #line 814 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 112: /* Line 1455 of yacc.c */ #line 815 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 113: /* Line 1455 of yacc.c */ #line 816 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 114: /* Line 1455 of yacc.c */ #line 817 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 115: /* Line 1455 of yacc.c */ #line 818 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 116: /* Line 1455 of yacc.c */ #line 820 "../../../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 827 "../../../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 828 "../../../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 832 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 120: /* Line 1455 of yacc.c */ #line 833 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 121: /* Line 1455 of yacc.c */ #line 834 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 122: /* Line 1455 of yacc.c */ #line 836 "../../../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 854 "../../../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 860 "../../../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 865 "../../../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 881 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 136: /* Line 1455 of yacc.c */ #line 882 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 137: /* Line 1455 of yacc.c */ #line 887 "../../../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 893 "../../../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 900 "../../../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 906 "../../../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 914 "../../../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 920 "../../../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 928 "../../../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 934 "../../../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 942 "../../../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 948 "../../../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 954 "../../../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 962 "../../../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 968 "../../../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 976 "../../../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 982 "../../../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 989 "../../../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 998 "../../../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 1002 "../../../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 1007 "../../../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 1012 "../../../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 1016 "../../../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 1021 "../../../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 1033 "../../../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 1046 "../../../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 1066 "../../../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 1077 "../../../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 1095 "../../../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 1101 "../../../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 1114 "../../../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 1128 "../../../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 1149 "../../../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 1161 "../../../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 1180 "../../../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 1184 "../../../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 1195 "../../../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 1200 "../../../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 1212 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 174: /* Line 1455 of yacc.c */ #line 1217 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 175: /* 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_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 176: /* 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_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 1233 "../../../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 1239 "../../../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 1245 "../../../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 1251 "../../../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 1257 "../../../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 1263 "../../../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 1272 "../../../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 1281 "../../../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 1287 "../../../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 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 187: /* 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_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 1305 "../../../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 1311 "../../../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 1317 "../../../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 1326 "../../../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 1333 "../../../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 1347 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 194: /* Line 1455 of yacc.c */ #line 1348 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 195: /* Line 1455 of yacc.c */ #line 1350 "../../../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 1354 "../../../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 1358 "../../../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 1398 "../../../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 1402 "../../../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 1407 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 201: /* Line 1455 of yacc.c */ #line 1409 "../../../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 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[(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 1417 "../../../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 1423 "../../../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 1430 "../../../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 1437 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 207: /* Line 1455 of yacc.c */ #line 1441 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 208: /* Line 1455 of yacc.c */ #line 1445 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 209: /* Line 1455 of yacc.c */ #line 1452 "../../../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 1459 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 211: /* Line 1455 of yacc.c */ #line 1463 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 212: /* Line 1455 of yacc.c */ #line 1467 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 213: /* Line 1455 of yacc.c */ #line 1473 "../../../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 1477 "../../../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 1481 "../../../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 1485 "../../../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 1489 "../../../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 1493 "../../../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 1497 "../../../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 1501 "../../../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 1506 "../../../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 1516 "../../../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 1523 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node);;} break; case 224: /* Line 1455 of yacc.c */ #line 1525 "../../../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 1532 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 226: /* Line 1455 of yacc.c */ #line 1533 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 227: /* Line 1455 of yacc.c */ #line 1537 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 228: /* Line 1455 of yacc.c */ #line 1538 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 229: /* Line 1455 of yacc.c */ #line 1544 "../../../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 1548 "../../../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 1552 "../../../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 1559 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 233: /* Line 1455 of yacc.c */ #line 1563 "../../../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 1568 "../../../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 1576 "../../../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 1584 "../../../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 1590 "../../../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 1599 "../../../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 1606 "../../../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 1613 "../../../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 1618 "../../../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 1623 "../../../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 1628 "../../../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 1633 "../../../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 1638 "../../../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 1643 "../../../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 1648 "../../../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 1653 "../../../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 1658 "../../../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 1663 "../../../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 1668 "../../../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 1673 "../../../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 1680 "../../../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 1687 "../../../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 1692 "../../../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 1697 "../../../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 1702 "../../../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 1707 "../../../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 1712 "../../../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 1717 "../../../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 1723 "../../../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 1729 "../../../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 1735 "../../../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 1741 "../../../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 1749 "../../../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 1754 "../../../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 1761 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 268: /* Line 1455 of yacc.c */ #line 1766 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 269: /* Line 1455 of yacc.c */ #line 1771 "../../../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 1776 "../../../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 1783 "../../../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 1789 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 273: /* Line 1455 of yacc.c */ #line 1794 "../../../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 1798 "../../../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 1805 "../../../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 1813 "../../../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 1820 "../../../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 1829 "../../../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 1834 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 280: /* Line 1455 of yacc.c */ #line 1840 "../../../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 1845 "../../../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 1852 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 283: /* Line 1455 of yacc.c */ #line 1854 "../../../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 1861 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 285: /* Line 1455 of yacc.c */ #line 1865 "../../../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 1872 "../../../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 1880 "../../../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 1887 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 289: /* Line 1455 of yacc.c */ #line 1889 "../../../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 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_ = 1; ;} break; case 291: /* Line 1455 of yacc.c */ #line 1901 "../../../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 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_ = 1; ;} break; case 293: /* Line 1455 of yacc.c */ #line 1915 "../../../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 1924 "../../../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 1929 "../../../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 1936 "../../../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 1941 "../../../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 1949 "../../../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 1954 "../../../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 1962 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 301: /* Line 1455 of yacc.c */ #line 1964 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 302: /* Line 1455 of yacc.c */ #line 1970 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 303: /* Line 1455 of yacc.c */ #line 1971 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 304: /* Line 1455 of yacc.c */ #line 1975 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 305: /* Line 1455 of yacc.c */ #line 1977 "../../../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 1982 "../../../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 1988 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 308: /* Line 1455 of yacc.c */ #line 1989 "../../../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 1993 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 310: /* Line 1455 of yacc.c */ #line 1996 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 311: /* Line 1455 of yacc.c */ #line 2001 "../../../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 2005 "../../../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 2012 "../../../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 2017 "../../../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 2025 "../../../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 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, 1, expr_list); ;} break; case 317: /* Line 1455 of yacc.c */ #line 2039 "../../../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 2045 "../../../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 2049 "../../../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 2053 "../../../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 2057 "../../../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 2061 "../../../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 2065 "../../../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 2069 "../../../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 2073 "../../../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 2077 "../../../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 2081 "../../../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 2085 "../../../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 2089 "../../../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 2093 "../../../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 2097 "../../../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 2103 "../../../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 2110 "../../../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 2117 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 335: /* Line 1455 of yacc.c */ #line 2121 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 336: /* Line 1455 of yacc.c */ #line 2125 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 337: /* Line 1455 of yacc.c */ #line 2129 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 338: /* Line 1455 of yacc.c */ #line 2133 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 339: /* Line 1455 of yacc.c */ #line 2137 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 340: /* Line 1455 of yacc.c */ #line 2141 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 341: /* Line 1455 of yacc.c */ #line 2145 "../../../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 2153 "../../../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 2160 "../../../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 2167 "../../../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 2175 "../../../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 2182 "../../../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 2189 "../../../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 2195 "../../../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 2200 "../../../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 2207 "../../../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 2214 "../../../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 2221 "../../../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 2228 "../../../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_, "timestamp"); 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 2235 "../../../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 355: /* Line 1455 of yacc.c */ #line 2242 "../../../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 356: /* Line 1455 of yacc.c */ #line 2249 "../../../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 357: /* Line 1455 of yacc.c */ #line 2256 "../../../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 358: /* Line 1455 of yacc.c */ #line 2263 "../../../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 359: /* Line 1455 of yacc.c */ #line 2270 "../../../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 360: /* Line 1455 of yacc.c */ #line 2277 "../../../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 361: /* Line 1455 of yacc.c */ #line 2284 "../../../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 362: /* Line 1455 of yacc.c */ #line 2291 "../../../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 363: /* Line 1455 of yacc.c */ #line 2298 "../../../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 364: /* Line 1455 of yacc.c */ #line 2303 "../../../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 365: /* Line 1455 of yacc.c */ #line 2308 "../../../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 366: /* Line 1455 of yacc.c */ #line 2313 "../../../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 367: /* Line 1455 of yacc.c */ #line 2318 "../../../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 368: /* Line 1455 of yacc.c */ #line 2332 "../../../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 369: /* Line 1455 of yacc.c */ #line 2346 "../../../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 370: /* Line 1455 of yacc.c */ #line 2351 "../../../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 371: /* Line 1455 of yacc.c */ #line 2356 "../../../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 372: /* Line 1455 of yacc.c */ #line 2363 "../../../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 373: /* Line 1455 of yacc.c */ #line 2370 "../../../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 374: /* Line 1455 of yacc.c */ #line 2391 "../../../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 375: /* Line 1455 of yacc.c */ #line 2398 "../../../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 376: /* Line 1455 of yacc.c */ #line 2417 "../../../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 377: /* Line 1455 of yacc.c */ #line 2427 "../../../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 378: /* Line 1455 of yacc.c */ #line 2434 "../../../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 2451 "../../../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 380: /* Line 1455 of yacc.c */ #line 2468 "../../../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 381: /* Line 1455 of yacc.c */ #line 2483 "../../../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 382: /* Line 1455 of yacc.c */ #line 2498 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 383: /* Line 1455 of yacc.c */ #line 2502 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *zeroNode1 = NULL; malloc_terminal_node(zeroNode1, result->malloc_pool_, T_INT); zeroNode1->value_ = 0; zeroNode1->is_hidden_const_ = 1; if((yyvsp[(4) - (6)].node)->value_ > 0){ (yyvsp[(5) - (6)].node)->value_ |= OB_STRXFRM_PAD_WITH_SPACE; } ParseNode *falseNode = NULL; malloc_terminal_node(falseNode, result->malloc_pool_, T_INT); falseNode->value_ = 0; falseNode->is_hidden_const_ = 1; ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST , 5, (yyvsp[(3) - (6)].node) , zeroNode1 , (yyvsp[(4) - (6)].node), (yyvsp[(5) - (6)].node) ,falseNode); make_name_node((yyval.node), result->malloc_pool_, "weight_string"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 384: /* Line 1455 of yacc.c */ #line 2523 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *zeroNode1 = NULL; malloc_terminal_node(zeroNode1, result->malloc_pool_, T_INT); zeroNode1->value_ = 0; zeroNode1->is_hidden_const_ = 1; ParseNode *padNode = NULL; malloc_terminal_node(padNode, result->malloc_pool_, T_INT); padNode->value_ = OB_STRXFRM_PAD_WITH_SPACE; padNode->is_hidden_const_ = 1; ParseNode *trueNode = NULL; malloc_terminal_node(trueNode, result->malloc_pool_, T_INT); trueNode->value_ = 1; trueNode->is_hidden_const_ = 1; ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST , 5, (yyvsp[(3) - (7)].node) , zeroNode1 , (yyvsp[(6) - (7)].node), padNode ,trueNode); make_name_node((yyval.node), result->malloc_pool_, "weight_string"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 385: /* Line 1455 of yacc.c */ #line 2545 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *params = NULL; malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST , 5, (yyvsp[(3) - (12)].node) , (yyvsp[(5) - (12)].node) , (yyvsp[(7) - (12)].node), (yyvsp[(9) - (12)].node) ,(yyvsp[(11) - (12)].node)); make_name_node((yyval.node), result->malloc_pool_, "weight_string"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_FUN_SYS, 2, (yyval.node), params); ;} break; case 386: /* Line 1455 of yacc.c */ #line 2555 "../../../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 387: /* Line 1455 of yacc.c */ #line 2560 "../../../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 388: /* Line 1455 of yacc.c */ #line 2572 "../../../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 389: /* Line 1455 of yacc.c */ #line 2576 "../../../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 390: /* Line 1455 of yacc.c */ #line 2580 "../../../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 391: /* Line 1455 of yacc.c */ #line 2587 "../../../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 392: /* Line 1455 of yacc.c */ #line 2591 "../../../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 393: /* 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_UTC_TIME, 1, (yyvsp[(3) - (4)].node)); ;} break; case 394: /* Line 1455 of yacc.c */ #line 2602 "../../../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 395: /* Line 1455 of yacc.c */ #line 2606 "../../../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 396: /* Line 1455 of yacc.c */ #line 2614 "../../../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 397: /* Line 1455 of yacc.c */ #line 2618 "../../../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 398: /* Line 1455 of yacc.c */ #line 2625 "../../../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 399: /* Line 1455 of yacc.c */ #line 2629 "../../../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 400: /* Line 1455 of yacc.c */ #line 2633 "../../../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 401: /* Line 1455 of yacc.c */ #line 2651 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 402: /* Line 1455 of yacc.c */ #line 2652 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 403: /* Line 1455 of yacc.c */ #line 2653 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 404: /* Line 1455 of yacc.c */ #line 2658 "../../../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 405: /* Line 1455 of yacc.c */ #line 2662 "../../../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 406: /* Line 1455 of yacc.c */ #line 2666 "../../../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 407: /* Line 1455 of yacc.c */ #line 2683 "../../../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 408: /* Line 1455 of yacc.c */ #line 2687 "../../../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 409: /* Line 1455 of yacc.c */ #line 2691 "../../../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 410: /* Line 1455 of yacc.c */ #line 2697 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = (yyvsp[(2) - (3)].node)->value_; (yyval.ival)[1] = 1; ;} break; case 411: /* Line 1455 of yacc.c */ #line 2698 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; (yyval.ival)[1] = 0; ;} break; case 412: /* Line 1455 of yacc.c */ #line 2699 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; (yyval.ival)[1] = 0; ;} break; case 413: /* Line 1455 of yacc.c */ #line 2706 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 414: /* Line 1455 of yacc.c */ #line 2710 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 415: /* Line 1455 of yacc.c */ #line 2718 "../../../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 416: /* Line 1455 of yacc.c */ #line 2722 "../../../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 2726 "../../../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 418: /* Line 1455 of yacc.c */ #line 2730 "../../../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 419: /* Line 1455 of yacc.c */ #line 2737 "../../../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 420: /* Line 1455 of yacc.c */ #line 2744 "../../../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 421: /* Line 1455 of yacc.c */ #line 2751 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 422: /* Line 1455 of yacc.c */ #line 2753 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 423: /* Line 1455 of yacc.c */ #line 2758 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 424: /* Line 1455 of yacc.c */ #line 2762 "../../../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 2766 "../../../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 2773 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 427: /* Line 1455 of yacc.c */ #line 2777 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ALL); ;} break; case 428: /* Line 1455 of yacc.c */ #line 2781 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTINCT); ;} break; case 429: /* Line 1455 of yacc.c */ #line 2785 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTINCT); ;} break; case 430: /* Line 1455 of yacc.c */ #line 2792 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 431: /* Line 1455 of yacc.c */ #line 2796 "../../../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 432: /* Line 1455 of yacc.c */ #line 2802 "../../../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_ = 0; (yyval.node)->param_num_ = 1; ;} break; case 433: /* Line 1455 of yacc.c */ #line 2809 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(3) - (3)].node); ;} break; case 434: /* Line 1455 of yacc.c */ #line 2816 "../../../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_ = 0; (yyval.node)->param_num_ = 1; ;} break; case 435: /* Line 1455 of yacc.c */ #line 2823 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(1) - (2)].non_reserved_keyword)); (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 436: /* Line 1455 of yacc.c */ #line 2831 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 437: /* Line 1455 of yacc.c */ #line 2835 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 438: /* Line 1455 of yacc.c */ #line 2842 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 439: /* Line 1455 of yacc.c */ #line 2846 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = (yyvsp[(3) - (3)].node)->value_ | (yyvsp[(1) - (3)].node)->value_; (yyval.node)->param_num_ = 1; ;} break; case 440: /* Line 1455 of yacc.c */ #line 2855 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = (1 | (yyvsp[(2) - (2)].node)->value_) << (yyvsp[(1) - (2)].node)->value_ ; (yyval.node)->param_num_ = 1; ;} break; case 441: /* Line 1455 of yacc.c */ #line 2864 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); uint32_t res = 0; uint32_t start = (yyvsp[(1) - (3)].node)->value_ ; uint32_t end = (yyvsp[(3) - (3)].node)->value_ ; if (end < start) { end = start; } for ( ; start <= end; start++) { res |= (1 << start); } (yyval.node)->value_ = res; (yyval.node)->param_num_ = 1; ;} break; case 442: /* Line 1455 of yacc.c */ #line 2882 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); if ((yyvsp[(1) - (1)].node)->value_ < 1) { (yyval.node)->value_ = 1; } else if ((yyvsp[(1) - (1)].node)->value_ > OB_STRXFRM_NLEVELS) { (yyval.node)->value_ = OB_STRXFRM_NLEVELS; } else{ (yyval.node)->value_ = (yyvsp[(1) - (1)].node)->value_; } (yyval.node)->value_ = (yyval.node)->value_ - 1; (yyval.node)->param_num_ = 1; ;} break; case 443: /* Line 1455 of yacc.c */ #line 2898 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 0; (yyval.node)->param_num_ = 1; ;} break; case 444: /* Line 1455 of yacc.c */ #line 2904 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= (yyvsp[(1) - (1)].node); ;} break; case 445: /* Line 1455 of yacc.c */ #line 2908 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = (yyvsp[(1) - (2)].node)->value_ | (yyvsp[(2) - (2)].node)->value_; (yyval.node)->param_num_ = 1; ;} break; case 446: /* Line 1455 of yacc.c */ #line 2914 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node) ; ;} break; case 447: /* Line 1455 of yacc.c */ #line 2921 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(2) - (3)].node)->value_ < 1) { yyerror(&(yylsp[(1) - (3)]), result, "Incorrect arguments to WEIGHT_STRING()\n"); YYABORT_PARSE_SQL_ERROR; } (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; case 448: /* Line 1455 of yacc.c */ #line 2932 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 0; (yyval.node)->param_num_ = 1; ;} break; case 449: /* Line 1455 of yacc.c */ #line 2938 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1 << OB_STRXFRM_DESC_SHIFT; (yyval.node)->param_num_ = 1; ;} break; case 450: /* Line 1455 of yacc.c */ #line 2947 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1 << OB_STRXFRM_REVERSE_SHIFT; (yyval.node)->param_num_ = 1; ;} break; case 451: /* Line 1455 of yacc.c */ #line 2962 "../../../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 452: /* Line 1455 of yacc.c */ #line 2981 "../../../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 453: /* Line 1455 of yacc.c */ #line 2996 "../../../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 454: /* Line 1455 of yacc.c */ #line 3006 "../../../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 455: /* Line 1455 of yacc.c */ #line 3025 "../../../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 456: /* Line 1455 of yacc.c */ #line 3047 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 457: /* Line 1455 of yacc.c */ #line 3051 "../../../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 3058 "../../../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 459: /* Line 1455 of yacc.c */ #line 3070 "../../../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 460: /* Line 1455 of yacc.c */ #line 3079 "../../../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 461: /* Line 1455 of yacc.c */ #line 3090 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 462: /* Line 1455 of yacc.c */ #line 3094 "../../../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 463: /* Line 1455 of yacc.c */ #line 3098 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 464: /* Line 1455 of yacc.c */ #line 3105 "../../../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 465: /* Line 1455 of yacc.c */ #line 3110 "../../../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 466: /* Line 1455 of yacc.c */ #line 3115 "../../../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 467: /* Line 1455 of yacc.c */ #line 3120 "../../../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 468: /* Line 1455 of yacc.c */ #line 3125 "../../../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 469: /* Line 1455 of yacc.c */ #line 3130 "../../../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 470: /* Line 1455 of yacc.c */ #line 3135 "../../../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 471: /* Line 1455 of yacc.c */ #line 3140 "../../../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 472: /* Line 1455 of yacc.c */ #line 3148 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 473: /* Line 1455 of yacc.c */ #line 3152 "../../../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 3156 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 475: /* Line 1455 of yacc.c */ #line 3163 "../../../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 476: /* Line 1455 of yacc.c */ #line 3168 "../../../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 477: /* Line 1455 of yacc.c */ #line 3173 "../../../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 478: /* Line 1455 of yacc.c */ #line 3178 "../../../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 479: /* Line 1455 of yacc.c */ #line 3186 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 480: /* Line 1455 of yacc.c */ #line 3190 "../../../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 481: /* Line 1455 of yacc.c */ #line 3197 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 482: /* Line 1455 of yacc.c */ #line 3202 "../../../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 483: /* Line 1455 of yacc.c */ #line 3209 "../../../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 484: /* Line 1455 of yacc.c */ #line 3214 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 485: /* Line 1455 of yacc.c */ #line 3221 "../../../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 486: /* Line 1455 of yacc.c */ #line 3226 "../../../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 487: /* Line 1455 of yacc.c */ #line 3231 "../../../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 488: /* Line 1455 of yacc.c */ #line 3239 "../../../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 489: /* Line 1455 of yacc.c */ #line 3247 "../../../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 490: /* Line 1455 of yacc.c */ #line 3255 "../../../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 491: /* Line 1455 of yacc.c */ #line 3266 "../../../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 492: /* Line 1455 of yacc.c */ #line 3279 "../../../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 493: /* Line 1455 of yacc.c */ #line 3283 "../../../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 494: /* Line 1455 of yacc.c */ #line 3296 "../../../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 495: /* Line 1455 of yacc.c */ #line 3308 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 496: /* Line 1455 of yacc.c */ #line 3312 "../../../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 497: /* Line 1455 of yacc.c */ #line 3316 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 498: /* Line 1455 of yacc.c */ #line 3323 "../../../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 499: /* Line 1455 of yacc.c */ #line 3328 "../../../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 500: /* Line 1455 of yacc.c */ #line 3333 "../../../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 501: /* Line 1455 of yacc.c */ #line 3338 "../../../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 502: /* Line 1455 of yacc.c */ #line 3343 "../../../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 503: /* Line 1455 of yacc.c */ #line 3348 "../../../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 504: /* Line 1455 of yacc.c */ #line 3353 "../../../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 505: /* Line 1455 of yacc.c */ #line 3358 "../../../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 506: /* Line 1455 of yacc.c */ #line 3363 "../../../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 507: /* Line 1455 of yacc.c */ #line 3368 "../../../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 508: /* 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_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 509: /* Line 1455 of yacc.c */ #line 3384 "../../../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 510: /* Line 1455 of yacc.c */ #line 3388 "../../../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 511: /* Line 1455 of yacc.c */ #line 3393 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 512: /* Line 1455 of yacc.c */ #line 3397 "../../../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 513: /* Line 1455 of yacc.c */ #line 3405 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_VARIABLE_SET, (yyvsp[(2) - (2)].node)); ;} break; case 514: /* Line 1455 of yacc.c */ #line 3409 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_VARIABLE_SET, (yyvsp[(3) - (3)].node)); ;} break; case 515: /* Line 1455 of yacc.c */ #line 3413 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_VARIABLE_SET, (yyvsp[(2) - (2)].node)); ;} break; case 516: /* Line 1455 of yacc.c */ #line 3417 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 517: /* Line 1455 of yacc.c */ #line 3423 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_VARIABLE_SET, (yyvsp[(2) - (2)].node)); ;} break; case 518: /* Line 1455 of yacc.c */ #line 3427 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 519: /* Line 1455 of yacc.c */ #line 3436 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 520: /* Line 1455 of yacc.c */ #line 3438 "../../../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 521: /* Line 1455 of yacc.c */ #line 3443 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 522: /* Line 1455 of yacc.c */ #line 3445 "../../../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 523: /* Line 1455 of yacc.c */ #line 3450 "../../../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 524: /* Line 1455 of yacc.c */ #line 3461 "../../../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 525: /* Line 1455 of yacc.c */ #line 3472 "../../../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 526: /* Line 1455 of yacc.c */ #line 3480 "../../../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 527: /* Line 1455 of yacc.c */ #line 3490 "../../../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 528: /* Line 1455 of yacc.c */ #line 3497 "../../../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 529: /* 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_DROP_RESTORE_POINT, 1, (yyvsp[(4) - (4)].node)); ;} break; case 530: /* Line 1455 of yacc.c */ #line 3516 "../../../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 531: /* Line 1455 of yacc.c */ #line 3526 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 532: /* Line 1455 of yacc.c */ #line 3530 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 533: /* Line 1455 of yacc.c */ #line 3536 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 534: /* Line 1455 of yacc.c */ #line 3543 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 535: /* Line 1455 of yacc.c */ #line 3547 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 536: /* Line 1455 of yacc.c */ #line 3554 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 537: /* Line 1455 of yacc.c */ #line 3558 "../../../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 538: /* Line 1455 of yacc.c */ #line 3565 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 539: /* Line 1455 of yacc.c */ #line 3569 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 540: /* Line 1455 of yacc.c */ #line 3575 "../../../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 541: /* Line 1455 of yacc.c */ #line 3584 "../../../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 542: /* Line 1455 of yacc.c */ #line 3593 "../../../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 543: /* Line 1455 of yacc.c */ #line 3599 "../../../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 544: /* Line 1455 of yacc.c */ #line 3604 "../../../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 545: /* Line 1455 of yacc.c */ #line 3608 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 546: /* Line 1455 of yacc.c */ #line 3612 "../../../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 547: /* Line 1455 of yacc.c */ #line 3619 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ON); ;} break; case 548: /* Line 1455 of yacc.c */ #line 3621 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_OFF); ;} break; case 549: /* Line 1455 of yacc.c */ #line 3631 "../../../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 550: /* Line 1455 of yacc.c */ #line 3644 "../../../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 551: /* Line 1455 of yacc.c */ #line 3655 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 552: /* Line 1455 of yacc.c */ #line 3659 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 553: /* Line 1455 of yacc.c */ #line 3672 "../../../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 554: /* Line 1455 of yacc.c */ #line 3691 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 555: /* Line 1455 of yacc.c */ #line 3693 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = (yyvsp[(2) - (2)].node);;} break; case 556: /* Line 1455 of yacc.c */ #line 3698 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 557: /* Line 1455 of yacc.c */ #line 3702 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_LOCAL); ;} break; case 558: /* Line 1455 of yacc.c */ #line 3706 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_REMOTE_OSS); ;} break; case 559: /* Line 1455 of yacc.c */ #line 3712 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 560: /* Line 1455 of yacc.c */ #line 3713 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_IGNORE); ;} break; case 561: /* Line 1455 of yacc.c */ #line 3714 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_REPLACE); ;} break; case 562: /* Line 1455 of yacc.c */ #line 3718 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 563: /* Line 1455 of yacc.c */ #line 3720 "../../../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 564: /* Line 1455 of yacc.c */ #line 3726 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 565: /* Line 1455 of yacc.c */ #line 3728 "../../../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 566: /* Line 1455 of yacc.c */ #line 3733 "../../../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 567: /* Line 1455 of yacc.c */ #line 3740 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 568: /* Line 1455 of yacc.c */ #line 3741 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 569: /* Line 1455 of yacc.c */ #line 3745 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 570: /* Line 1455 of yacc.c */ #line 3746 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 571: /* Line 1455 of yacc.c */ #line 3748 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_COLUMN_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 572: /* Line 1455 of yacc.c */ #line 3755 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 573: /* Line 1455 of yacc.c */ #line 3759 "../../../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 574: /* Line 1455 of yacc.c */ #line 3766 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 575: /* Line 1455 of yacc.c */ #line 3770 "../../../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 576: /* Line 1455 of yacc.c */ #line 3777 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)= NULL; ;} break; case 577: /* Line 1455 of yacc.c */ #line 3779 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_VALUE_LIST, (yyvsp[(2) - (2)].node)); ;} break; case 578: /* Line 1455 of yacc.c */ #line 3786 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 579: /* Line 1455 of yacc.c */ #line 3790 "../../../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 580: /* Line 1455 of yacc.c */ #line 3797 "../../../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 581: /* Line 1455 of yacc.c */ #line 3809 "../../../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 582: /* Line 1455 of yacc.c */ #line 3822 "../../../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 583: /* Line 1455 of yacc.c */ #line 3838 "../../../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 584: /* Line 1455 of yacc.c */ #line 3854 "../../../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 585: /* Line 1455 of yacc.c */ #line 3869 "../../../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 586: /* Line 1455 of yacc.c */ #line 3886 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PUBLIC); ;} break; case 587: /* Line 1455 of yacc.c */ #line 3889 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 588: /* Line 1455 of yacc.c */ #line 3895 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 589: /* Line 1455 of yacc.c */ #line 3897 "../../../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 590: /* Line 1455 of yacc.c */ #line 3904 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node);;} break; case 591: /* Line 1455 of yacc.c */ #line 3907 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 592: /* Line 1455 of yacc.c */ #line 3912 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 593: /* Line 1455 of yacc.c */ #line 3914 "../../../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 594: /* 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_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 595: /* Line 1455 of yacc.c */ #line 3938 "../../../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 596: /* Line 1455 of yacc.c */ #line 3952 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_FORCE); ;} break; case 597: /* Line 1455 of yacc.c */ #line 3955 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 598: /* Line 1455 of yacc.c */ #line 3960 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_FORCE); ;} break; case 599: /* Line 1455 of yacc.c */ #line 3963 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PURGE); ;} break; case 600: /* Line 1455 of yacc.c */ #line 3966 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 601: /* Line 1455 of yacc.c */ #line 3971 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TEMPORARY); ;} break; case 602: /* Line 1455 of yacc.c */ #line 3974 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 603: /* Line 1455 of yacc.c */ #line 3985 "../../../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 604: /* Line 1455 of yacc.c */ #line 3989 "../../../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 605: /* Line 1455 of yacc.c */ #line 4003 "../../../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 606: /* Line 1455 of yacc.c */ #line 4020 "../../../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 607: /* Line 1455 of yacc.c */ #line 4038 "../../../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 608: /* Line 1455 of yacc.c */ #line 4054 "../../../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 609: /* Line 1455 of yacc.c */ #line 4068 "../../../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 610: /* Line 1455 of yacc.c */ #line 4081 "../../../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 611: /* Line 1455 of yacc.c */ #line 4097 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 612: /* Line 1455 of yacc.c */ #line 4102 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 613: /* Line 1455 of yacc.c */ #line 4110 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 614: /* Line 1455 of yacc.c */ #line 4116 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 615: /* Line 1455 of yacc.c */ #line 4122 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 3; ;} break; case 616: /* Line 1455 of yacc.c */ #line 4128 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 4; ;} break; case 617: /* Line 1455 of yacc.c */ #line 4136 "../../../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 618: /* Line 1455 of yacc.c */ #line 4143 "../../../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 619: /* Line 1455 of yacc.c */ #line 4150 "../../../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 620: /* Line 1455 of yacc.c */ #line 4154 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 621: /* Line 1455 of yacc.c */ #line 4159 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 622: /* Line 1455 of yacc.c */ #line 4163 "../../../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 623: /* Line 1455 of yacc.c */ #line 4170 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 624: /* Line 1455 of yacc.c */ #line 4174 "../../../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 625: /* Line 1455 of yacc.c */ #line 4181 "../../../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 626: /* Line 1455 of yacc.c */ #line 4191 "../../../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 627: /* Line 1455 of yacc.c */ #line 4201 "../../../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 628: /* Line 1455 of yacc.c */ #line 4211 "../../../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 629: /* Line 1455 of yacc.c */ #line 4217 "../../../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 630: /* Line 1455 of yacc.c */ #line 4230 "../../../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 631: /* Line 1455 of yacc.c */ #line 4234 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 632: /* Line 1455 of yacc.c */ #line 4241 "../../../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 633: /* Line 1455 of yacc.c */ #line 4247 "../../../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 634: /* Line 1455 of yacc.c */ #line 4256 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_RESTRICT; ;} break; case 635: /* Line 1455 of yacc.c */ #line 4260 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_CASCADE; ;} break; case 636: /* Line 1455 of yacc.c */ #line 4264 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (2)].node)); (yyval.ival)[0] = T_SET_NULL; ;} break; case 637: /* Line 1455 of yacc.c */ #line 4269 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_NO_ACTION; ;} break; case 638: /* Line 1455 of yacc.c */ #line 4273 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_SET_DEFAULT; ;} break; case 639: /* Line 1455 of yacc.c */ #line 4280 "../../../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 640: /* Line 1455 of yacc.c */ #line 4285 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 641: /* Line 1455 of yacc.c */ #line 4292 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_SIMPLE; ;} break; case 642: /* Line 1455 of yacc.c */ #line 4296 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_FULL; ;} break; case 643: /* Line 1455 of yacc.c */ #line 4300 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_PARTIAL; ;} break; case 644: /* Line 1455 of yacc.c */ #line 4308 "../../../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 645: /* Line 1455 of yacc.c */ #line 4314 "../../../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 646: /* Line 1455 of yacc.c */ #line 4325 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 647: /* Line 1455 of yacc.c */ #line 4329 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 648: /* Line 1455 of yacc.c */ #line 4336 "../../../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 649: /* Line 1455 of yacc.c */ #line 4340 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 650: /* Line 1455 of yacc.c */ #line 4346 "../../../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 651: /* Line 1455 of yacc.c */ #line 4351 "../../../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 652: /* Line 1455 of yacc.c */ #line 4356 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_UNIQUE_KEY); ;} break; case 653: /* Line 1455 of yacc.c */ #line 4360 "../../../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 654: /* Line 1455 of yacc.c */ #line 4365 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_UNIQUE_KEY); ;} break; case 655: /* Line 1455 of yacc.c */ #line 4369 "../../../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 656: /* Line 1455 of yacc.c */ #line 4373 "../../../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 657: /* Line 1455 of yacc.c */ #line 4380 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_VIRTUAL_COLUMN); ;} break; case 658: /* Line 1455 of yacc.c */ #line 4384 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_STORED_COLUMN); ;} break; case 659: /* Line 1455 of yacc.c */ #line 4388 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 660: /* Line 1455 of yacc.c */ #line 4395 "../../../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 661: /* Line 1455 of yacc.c */ #line 4400 "../../../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 662: /* Line 1455 of yacc.c */ #line 4405 "../../../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 663: /* Line 1455 of yacc.c */ #line 4414 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 664: /* Line 1455 of yacc.c */ #line 4418 "../../../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 665: /* Line 1455 of yacc.c */ #line 4425 "../../../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 666: /* Line 1455 of yacc.c */ #line 4434 "../../../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 667: /* Line 1455 of yacc.c */ #line 4444 "../../../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 668: /* Line 1455 of yacc.c */ #line 4452 "../../../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 669: /* Line 1455 of yacc.c */ #line 4463 "../../../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 670: /* Line 1455 of yacc.c */ #line 4474 "../../../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 671: /* Line 1455 of yacc.c */ #line 4482 "../../../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 672: /* Line 1455 of yacc.c */ #line 4489 "../../../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 673: /* Line 1455 of yacc.c */ #line 4500 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; (yyval.ival)[1] = 0;;} break; case 674: /* Line 1455 of yacc.c */ #line 4501 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; (yyval.ival)[1] = 0;;} break; case 675: /* Line 1455 of yacc.c */ #line 4505 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_DATETIME; (yyval.ival)[1] = 0; ;} break; case 676: /* Line 1455 of yacc.c */ #line 4506 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_DATE; (yyval.ival)[1] = 0; ;} break; case 677: /* Line 1455 of yacc.c */ #line 4507 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_TIME; (yyval.ival)[1] = 0; ;} break; case 678: /* Line 1455 of yacc.c */ #line 4512 "../../../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 679: /* Line 1455 of yacc.c */ #line 4517 "../../../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 680: /* Line 1455 of yacc.c */ #line 4522 "../../../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 681: /* Line 1455 of yacc.c */ #line 4527 "../../../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 682: /* Line 1455 of yacc.c */ #line 4535 "../../../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 683: /* Line 1455 of yacc.c */ #line 4541 "../../../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 684: /* Line 1455 of yacc.c */ #line 4551 "../../../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 685: /* Line 1455 of yacc.c */ #line 4561 "../../../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 686: /* Line 1455 of yacc.c */ #line 4571 "../../../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 687: /* Line 1455 of yacc.c */ #line 4577 "../../../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 688: /* Line 1455 of yacc.c */ #line 4583 "../../../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 689: /* Line 1455 of yacc.c */ #line 4588 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, (yyvsp[(1) - (1)].ival)[0]); ;} break; case 690: /* Line 1455 of yacc.c */ #line 4592 "../../../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 691: /* Line 1455 of yacc.c */ #line 4605 "../../../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 692: /* Line 1455 of yacc.c */ #line 4611 "../../../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 693: /* Line 1455 of yacc.c */ #line 4620 "../../../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 694: /* Line 1455 of yacc.c */ #line 4632 "../../../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 695: /* Line 1455 of yacc.c */ #line 4641 "../../../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 696: /* Line 1455 of yacc.c */ #line 4647 "../../../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 697: /* Line 1455 of yacc.c */ #line 4653 "../../../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 698: /* Line 1455 of yacc.c */ #line 4658 "../../../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 699: /* Line 1455 of yacc.c */ #line 4666 "../../../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 700: /* Line 1455 of yacc.c */ #line 4677 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 701: /* Line 1455 of yacc.c */ #line 4681 "../../../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 702: /* Line 1455 of yacc.c */ #line 4687 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 703: /* Line 1455 of yacc.c */ #line 4691 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 704: /* Line 1455 of yacc.c */ #line 4697 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_TINYINT; ;} break; case 705: /* Line 1455 of yacc.c */ #line 4698 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_SMALLINT; ;} break; case 706: /* Line 1455 of yacc.c */ #line 4699 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_MEDIUMINT; ;} break; case 707: /* Line 1455 of yacc.c */ #line 4700 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_INT32; ;} break; case 708: /* Line 1455 of yacc.c */ #line 4701 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_INT; ;} break; case 709: /* Line 1455 of yacc.c */ #line 4705 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_FLOAT; ;} break; case 710: /* Line 1455 of yacc.c */ #line 4706 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_DOUBLE; ;} break; case 711: /* Line 1455 of yacc.c */ #line 4707 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_DOUBLE; ;} break; case 712: /* Line 1455 of yacc.c */ #line 4708 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_DOUBLE; ;} break; case 713: /* Line 1455 of yacc.c */ #line 4709 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_DOUBLE; ;} break; case 714: /* Line 1455 of yacc.c */ #line 4713 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_DATETIME; ;} break; case 715: /* Line 1455 of yacc.c */ #line 4714 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_TIMESTAMP; ;} break; case 716: /* Line 1455 of yacc.c */ #line 4715 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_TIME; ;} break; case 717: /* Line 1455 of yacc.c */ #line 4719 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_DATE; ;} break; case 718: /* Line 1455 of yacc.c */ #line 4720 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_YEAR; ;} break; case 719: /* Line 1455 of yacc.c */ #line 4724 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_TINYTEXT; ;} break; case 720: /* Line 1455 of yacc.c */ #line 4725 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_TEXT; ;} break; case 721: /* Line 1455 of yacc.c */ #line 4726 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_MEDIUMTEXT; ;} break; case 722: /* Line 1455 of yacc.c */ #line 4727 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_LONGTEXT; ;} break; case 723: /* Line 1455 of yacc.c */ #line 4731 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_TINYTEXT; ;} break; case 724: /* Line 1455 of yacc.c */ #line 4732 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_TEXT; ;} break; case 725: /* Line 1455 of yacc.c */ #line 4733 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_MEDIUMTEXT; ;} break; case 726: /* Line 1455 of yacc.c */ #line 4734 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_LONGTEXT; ;} break; case 727: /* Line 1455 of yacc.c */ #line 4738 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = (yyvsp[(2) - (3)].node)->value_; ;} break; case 728: /* Line 1455 of yacc.c */ #line 4739 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = -1; ;} break; case 729: /* Line 1455 of yacc.c */ #line 4743 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = (yyvsp[(2) - (3)].node)->value_; ;} break; case 730: /* Line 1455 of yacc.c */ #line 4744 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 731: /* Line 1455 of yacc.c */ #line 4749 "../../../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 732: /* Line 1455 of yacc.c */ #line 4755 "../../../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 733: /* Line 1455 of yacc.c */ #line 4761 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 734: /* Line 1455 of yacc.c */ #line 4768 "../../../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 735: /* Line 1455 of yacc.c */ #line 4783 "../../../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 736: /* Line 1455 of yacc.c */ #line 4794 "../../../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 737: /* Line 1455 of yacc.c */ #line 4803 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = (yyvsp[(2) - (3)].node)->value_; ;} break; case 738: /* Line 1455 of yacc.c */ #line 4804 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 739: /* Line 1455 of yacc.c */ #line 4808 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = (yyvsp[(2) - (3)].node)->value_; (yyval.ival)[1] = 1; ;} break; case 740: /* Line 1455 of yacc.c */ #line 4809 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; (yyval.ival)[1] = 0;;} break; case 741: /* Line 1455 of yacc.c */ #line 4814 "../../../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 742: /* Line 1455 of yacc.c */ #line 4851 "../../../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 743: /* Line 1455 of yacc.c */ #line 4852 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; (yyval.ival)[1] = 0;;} break; case 744: /* Line 1455 of yacc.c */ #line 4856 "../../../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 745: /* Line 1455 of yacc.c */ #line 4857 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = DEFAULT_STR_LENGTH; (yyval.ival)[1] = 0; ;} break; case 746: /* Line 1455 of yacc.c */ #line 4861 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 747: /* Line 1455 of yacc.c */ #line 4862 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 748: /* Line 1455 of yacc.c */ #line 4863 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 749: /* Line 1455 of yacc.c */ #line 4867 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 750: /* Line 1455 of yacc.c */ #line 4868 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 751: /* Line 1455 of yacc.c */ #line 4873 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_BINARY); (yyval.node)->value_ = 1; ;} break; case 752: /* Line 1455 of yacc.c */ #line 4877 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = 0; ;} break; case 753: /* Line 1455 of yacc.c */ #line 4882 "../../../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 754: /* Line 1455 of yacc.c */ #line 4888 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node)->param_num_ = 1; ;} break; case 755: /* Line 1455 of yacc.c */ #line 4896 "../../../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 756: /* Line 1455 of yacc.c */ #line 4906 "../../../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 757: /* Line 1455 of yacc.c */ #line 4912 "../../../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 758: /* Line 1455 of yacc.c */ #line 4920 "../../../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 759: /* Line 1455 of yacc.c */ #line 4927 "../../../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 760: /* Line 1455 of yacc.c */ #line 4933 "../../../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 761: /* Line 1455 of yacc.c */ #line 4947 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 762: /* Line 1455 of yacc.c */ #line 4951 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT); ;} break; case 763: /* Line 1455 of yacc.c */ #line 4958 "../../../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 764: /* Line 1455 of yacc.c */ #line 4965 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 765: /* Line 1455 of yacc.c */ #line 4970 "../../../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 766: /* Line 1455 of yacc.c */ #line 4979 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 767: /* Line 1455 of yacc.c */ #line 4983 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 768: /* Line 1455 of yacc.c */ #line 4988 "../../../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 769: /* Line 1455 of yacc.c */ #line 4990 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 770: /* Line 1455 of yacc.c */ #line 4995 "../../../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 771: /* Line 1455 of yacc.c */ #line 5001 "../../../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 772: /* Line 1455 of yacc.c */ #line 5006 "../../../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 773: /* Line 1455 of yacc.c */ #line 5010 "../../../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 774: /* Line 1455 of yacc.c */ #line 5014 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_AUTO_INCREMENT); ;} break; case 775: /* Line 1455 of yacc.c */ #line 5018 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_UNIQUE_KEY); ;} break; case 776: /* Line 1455 of yacc.c */ #line 5023 "../../../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 777: /* Line 1455 of yacc.c */ #line 5028 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_UNIQUE_KEY); ;} break; case 778: /* Line 1455 of yacc.c */ #line 5032 "../../../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 779: /* Line 1455 of yacc.c */ #line 5036 "../../../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 780: /* Line 1455 of yacc.c */ #line 5040 "../../../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 781: /* Line 1455 of yacc.c */ #line 5047 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 782: /* Line 1455 of yacc.c */ #line 5051 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 783: /* Line 1455 of yacc.c */ #line 5058 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node);;} break; case 784: /* Line 1455 of yacc.c */ #line 5060 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 785: /* Line 1455 of yacc.c */ #line 5062 "../../../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 786: /* Line 1455 of yacc.c */ #line 5091 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 787: /* Line 1455 of yacc.c */ #line 5095 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 788: /* Line 1455 of yacc.c */ #line 5102 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 789: /* Line 1455 of yacc.c */ #line 5106 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 790: /* Line 1455 of yacc.c */ #line 5113 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 791: /* Line 1455 of yacc.c */ #line 5117 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 792: /* Line 1455 of yacc.c */ #line 5124 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 793: /* Line 1455 of yacc.c */ #line 5128 "../../../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 794: /* Line 1455 of yacc.c */ #line 5135 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 795: /* Line 1455 of yacc.c */ #line 5139 "../../../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 796: /* Line 1455 of yacc.c */ #line 5146 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT); ;} break; case 797: /* Line 1455 of yacc.c */ #line 5150 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_RANDOM); ;} break; case 798: /* Line 1455 of yacc.c */ #line 5154 "../../../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 799: /* Line 1455 of yacc.c */ #line 5158 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 800: /* Line 1455 of yacc.c */ #line 5165 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 801: /* Line 1455 of yacc.c */ #line 5169 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT); ;} break; case 802: /* Line 1455 of yacc.c */ #line 5176 "../../../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 803: /* Line 1455 of yacc.c */ #line 5181 "../../../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 804: /* Line 1455 of yacc.c */ #line 5186 "../../../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 805: /* Line 1455 of yacc.c */ #line 5191 "../../../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 806: /* Line 1455 of yacc.c */ #line 5197 "../../../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 807: /* Line 1455 of yacc.c */ #line 5202 "../../../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 808: /* Line 1455 of yacc.c */ #line 5207 "../../../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 809: /* Line 1455 of yacc.c */ #line 5212 "../../../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 810: /* Line 1455 of yacc.c */ #line 5217 "../../../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 811: /* Line 1455 of yacc.c */ #line 5222 "../../../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 812: /* Line 1455 of yacc.c */ #line 5227 "../../../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 813: /* Line 1455 of yacc.c */ #line 5232 "../../../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 814: /* Line 1455 of yacc.c */ #line 5237 "../../../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 815: /* Line 1455 of yacc.c */ #line 5244 "../../../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 816: /* Line 1455 of yacc.c */ #line 5253 "../../../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 817: /* Line 1455 of yacc.c */ #line 5258 "../../../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 818: /* Line 1455 of yacc.c */ #line 5263 "../../../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 819: /* Line 1455 of yacc.c */ #line 5268 "../../../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 820: /* Line 1455 of yacc.c */ #line 5273 "../../../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 821: /* Line 1455 of yacc.c */ #line 5277 "../../../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 822: /* Line 1455 of yacc.c */ #line 5282 "../../../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 823: /* Line 1455 of yacc.c */ #line 5287 "../../../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 824: /* Line 1455 of yacc.c */ #line 5292 "../../../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 825: /* Line 1455 of yacc.c */ #line 5297 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 826: /* Line 1455 of yacc.c */ #line 5304 "../../../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 827: /* Line 1455 of yacc.c */ #line 5313 "../../../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 828: /* Line 1455 of yacc.c */ #line 5323 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node)->type_ = T_VARCHAR;;} break; case 829: /* Line 1455 of yacc.c */ #line 5324 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = (yyvsp[(1) - (1)].node);;} break; case 830: /* Line 1455 of yacc.c */ #line 5326 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "all"); ;} break; case 831: /* Line 1455 of yacc.c */ #line 5333 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 832: /* Line 1455 of yacc.c */ #line 5334 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 833: /* Line 1455 of yacc.c */ #line 5338 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 834: /* Line 1455 of yacc.c */ #line 5339 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 835: /* Line 1455 of yacc.c */ #line 5344 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 836: /* Line 1455 of yacc.c */ #line 5348 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 837: /* Line 1455 of yacc.c */ #line 5352 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 838: /* Line 1455 of yacc.c */ #line 5356 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 839: /* Line 1455 of yacc.c */ #line 5363 "../../../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 840: /* Line 1455 of yacc.c */ #line 5367 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 841: /* Line 1455 of yacc.c */ #line 5371 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 842: /* Line 1455 of yacc.c */ #line 5377 "../../../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 843: /* Line 1455 of yacc.c */ #line 5384 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 844: /* Line 1455 of yacc.c */ #line 5388 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_AUTO); ;} break; case 845: /* Line 1455 of yacc.c */ #line 5395 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 846: /* Line 1455 of yacc.c */ #line 5402 "../../../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 847: /* Line 1455 of yacc.c */ #line 5407 "../../../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 848: /* Line 1455 of yacc.c */ #line 5414 "../../../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 849: /* Line 1455 of yacc.c */ #line 5423 "../../../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 850: /* Line 1455 of yacc.c */ #line 5433 "../../../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 851: /* Line 1455 of yacc.c */ #line 5446 "../../../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 852: /* Line 1455 of yacc.c */ #line 5453 "../../../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 853: /* Line 1455 of yacc.c */ #line 5463 "../../../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 854: /* Line 1455 of yacc.c */ #line 5473 "../../../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 855: /* Line 1455 of yacc.c */ #line 5483 "../../../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 856: /* Line 1455 of yacc.c */ #line 5491 "../../../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 857: /* Line 1455 of yacc.c */ #line 5502 "../../../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 858: /* Line 1455 of yacc.c */ #line 5509 "../../../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 859: /* Line 1455 of yacc.c */ #line 5518 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 860: /* Line 1455 of yacc.c */ #line 5520 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) =(yyvsp[(1) - (1)].node); ;} break; case 861: /* Line 1455 of yacc.c */ #line 5525 "../../../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 862: /* Line 1455 of yacc.c */ #line 5529 "../../../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 863: /* Line 1455 of yacc.c */ #line 5538 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 864: /* Line 1455 of yacc.c */ #line 5542 "../../../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 865: /* Line 1455 of yacc.c */ #line 5549 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node)->value_ = 1; ;} break; case 866: /* Line 1455 of yacc.c */ #line 5554 "../../../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 867: /* Line 1455 of yacc.c */ #line 5563 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 868: /* Line 1455 of yacc.c */ #line 5567 "../../../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 869: /* Line 1455 of yacc.c */ #line 5574 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 870: /* Line 1455 of yacc.c */ #line 5578 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 871: /* Line 1455 of yacc.c */ #line 5584 "../../../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 872: /* Line 1455 of yacc.c */ #line 5593 "../../../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 873: /* Line 1455 of yacc.c */ #line 5602 "../../../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 874: /* Line 1455 of yacc.c */ #line 5614 "../../../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 875: /* Line 1455 of yacc.c */ #line 5623 "../../../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 876: /* Line 1455 of yacc.c */ #line 5632 "../../../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 877: /* Line 1455 of yacc.c */ #line 5644 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 878: /* Line 1455 of yacc.c */ #line 5651 "../../../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 879: /* Line 1455 of yacc.c */ #line 5658 "../../../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 880: /* Line 1455 of yacc.c */ #line 5665 "../../../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 881: /* Line 1455 of yacc.c */ #line 5675 "../../../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 882: /* Line 1455 of yacc.c */ #line 5682 "../../../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 883: /* Line 1455 of yacc.c */ #line 5689 "../../../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 884: /* Line 1455 of yacc.c */ #line 5702 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_PARTITION_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 885: /* Line 1455 of yacc.c */ #line 5708 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 886: /* Line 1455 of yacc.c */ #line 5712 "../../../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 5719 "../../../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 888: /* Line 1455 of yacc.c */ #line 5726 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_PARTITION_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 889: /* Line 1455 of yacc.c */ #line 5733 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 890: /* Line 1455 of yacc.c */ #line 5737 "../../../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 891: /* Line 1455 of yacc.c */ #line 5743 "../../../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 892: /* Line 1455 of yacc.c */ #line 5750 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_PARTITION_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 893: /* Line 1455 of yacc.c */ #line 5757 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 894: /* Line 1455 of yacc.c */ #line 5761 "../../../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 895: /* Line 1455 of yacc.c */ #line 5768 "../../../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 896: /* Line 1455 of yacc.c */ #line 5775 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 897: /* Line 1455 of yacc.c */ #line 5779 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 898: /* Line 1455 of yacc.c */ #line 5783 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 899: /* Line 1455 of yacc.c */ #line 5787 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 900: /* Line 1455 of yacc.c */ #line 5793 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_HASH_SUBPARTITION_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 901: /* Line 1455 of yacc.c */ #line 5799 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 902: /* Line 1455 of yacc.c */ #line 5803 "../../../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 903: /* Line 1455 of yacc.c */ #line 5809 "../../../src/sql/parser/sql_parser_mysql_mode.y" { UNUSED((yyvsp[(3) - (3)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PARTITION_ELEMENT, 5, (yyvsp[(2) - (3)].node), NULL, NULL, NULL, NULL); ;} break; case 904: /* Line 1455 of yacc.c */ #line 5817 "../../../src/sql/parser/sql_parser_mysql_mode.y" { // fix the error report by xabank.xyhf_mysql (yyval.node) = NULL; ;} break; case 905: /* Line 1455 of yacc.c */ #line 5821 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node)=NULL;;} break; case 906: /* Line 1455 of yacc.c */ #line 5825 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_RANGE_SUBPARTITION_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 907: /* Line 1455 of yacc.c */ #line 5832 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 908: /* Line 1455 of yacc.c */ #line 5836 "../../../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 909: /* Line 1455 of yacc.c */ #line 5843 "../../../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 910: /* Line 1455 of yacc.c */ #line 5850 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_LIST_SUBPARTITION_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 911: /* Line 1455 of yacc.c */ #line 5857 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 912: /* Line 1455 of yacc.c */ #line 5861 "../../../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 913: /* Line 1455 of yacc.c */ #line 5868 "../../../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 914: /* Line 1455 of yacc.c */ #line 5874 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_EXPR_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 915: /* Line 1455 of yacc.c */ #line 5878 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT); ;} break; case 916: /* Line 1455 of yacc.c */ #line 5884 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 917: /* Line 1455 of yacc.c */ #line 5888 "../../../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 918: /* Line 1455 of yacc.c */ #line 5895 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_EXPR_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 919: /* Line 1455 of yacc.c */ #line 5899 "../../../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 920: /* Line 1455 of yacc.c */ #line 5908 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 921: /* Line 1455 of yacc.c */ #line 5910 "../../../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 922: /* Line 1455 of yacc.c */ #line 5917 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 923: /* Line 1455 of yacc.c */ #line 5921 "../../../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 924: /* Line 1455 of yacc.c */ #line 5928 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 925: /* Line 1455 of yacc.c */ #line 5932 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_MAXVALUE); ;} break; case 926: /* Line 1455 of yacc.c */ #line 5948 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 927: /* Line 1455 of yacc.c */ #line 5952 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 928: /* Line 1455 of yacc.c */ #line 5959 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 929: /* Line 1455 of yacc.c */ #line 5963 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 930: /* Line 1455 of yacc.c */ #line 5969 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 931: /* Line 1455 of yacc.c */ #line 5970 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 932: /* Line 1455 of yacc.c */ #line 5975 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 933: /* Line 1455 of yacc.c */ #line 5979 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 934: /* Line 1455 of yacc.c */ #line 5983 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 935: /* Line 1455 of yacc.c */ #line 5987 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 936: /* Line 1455 of yacc.c */ #line 5991 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 937: /* Line 1455 of yacc.c */ #line 5998 "../../../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 938: /* Line 1455 of yacc.c */ #line 6008 "../../../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 939: /* Line 1455 of yacc.c */ #line 6017 "../../../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 940: /* Line 1455 of yacc.c */ #line 6021 "../../../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 941: /* Line 1455 of yacc.c */ #line 6028 "../../../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 942: /* Line 1455 of yacc.c */ #line 6032 "../../../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 943: /* Line 1455 of yacc.c */ #line 6039 "../../../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 944: /* Line 1455 of yacc.c */ #line 6043 "../../../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 945: /* Line 1455 of yacc.c */ #line 6047 "../../../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 946: /* Line 1455 of yacc.c */ #line 6054 "../../../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 947: /* Line 1455 of yacc.c */ #line 6061 "../../../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 948: /* Line 1455 of yacc.c */ #line 6065 "../../../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 949: /* Line 1455 of yacc.c */ #line 6069 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 950: /* Line 1455 of yacc.c */ #line 6076 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 951: /* Line 1455 of yacc.c */ #line 6081 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 952: /* Line 1455 of yacc.c */ #line 6086 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 3; ;} break; case 953: /* Line 1455 of yacc.c */ #line 6091 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 4; ;} break; case 954: /* Line 1455 of yacc.c */ #line 6096 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 3; ;} break; case 955: /* Line 1455 of yacc.c */ #line 6108 "../../../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 956: /* Line 1455 of yacc.c */ #line 6122 "../../../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 957: /* Line 1455 of yacc.c */ #line 6134 "../../../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 958: /* Line 1455 of yacc.c */ #line 6141 "../../../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 959: /* Line 1455 of yacc.c */ #line 6147 "../../../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 960: /* Line 1455 of yacc.c */ #line 6156 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 961: /* Line 1455 of yacc.c */ #line 6160 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 962: /* Line 1455 of yacc.c */ #line 6168 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 963: /* 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) - (2)].node), (yyvsp[(2) - (2)].node)); ;} break; case 964: /* Line 1455 of yacc.c */ #line 6179 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 965: /* Line 1455 of yacc.c */ #line 6183 "../../../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 966: /* Line 1455 of yacc.c */ #line 6190 "../../../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 967: /* Line 1455 of yacc.c */ #line 6195 "../../../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 968: /* Line 1455 of yacc.c */ #line 6200 "../../../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 969: /* Line 1455 of yacc.c */ #line 6205 "../../../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 970: /* Line 1455 of yacc.c */ #line 6210 "../../../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 971: /* Line 1455 of yacc.c */ #line 6219 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 972: /* Line 1455 of yacc.c */ #line 6223 "../../../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 973: /* Line 1455 of yacc.c */ #line 6230 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyvsp[(1) - (2)].node); (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 974: /* Line 1455 of yacc.c */ #line 6243 "../../../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 975: /* Line 1455 of yacc.c */ #line 6251 "../../../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 976: /* Line 1455 of yacc.c */ #line 6261 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 977: /* Line 1455 of yacc.c */ #line 6262 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 978: /* Line 1455 of yacc.c */ #line 6272 "../../../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 979: /* Line 1455 of yacc.c */ #line 6288 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 980: /* Line 1455 of yacc.c */ #line 6295 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_IF_NOT_EXISTS); ;} break; case 981: /* Line 1455 of yacc.c */ #line 6297 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 982: /* Line 1455 of yacc.c */ #line 6302 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_MATERIALIZED); ;} break; case 983: /* Line 1455 of yacc.c */ #line 6304 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 984: /* Line 1455 of yacc.c */ #line 6309 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 985: /* Line 1455 of yacc.c */ #line 6314 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_COLUMN_LIST, (yyvsp[(2) - (3)].node)); ;} break; case 986: /* Line 1455 of yacc.c */ #line 6317 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 987: /* Line 1455 of yacc.c */ #line 6322 "../../../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 988: /* Line 1455 of yacc.c */ #line 6325 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 989: /* Line 1455 of yacc.c */ #line 6336 "../../../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 990: /* Line 1455 of yacc.c */ #line 6353 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 991: /* Line 1455 of yacc.c */ #line 6354 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 992: /* Line 1455 of yacc.c */ #line 6360 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 993: /* Line 1455 of yacc.c */ #line 6364 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 994: /* Line 1455 of yacc.c */ #line 6370 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = (yyvsp[(1) - (1)].node);;} break; case 995: /* Line 1455 of yacc.c */ #line 6375 "../../../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 996: /* Line 1455 of yacc.c */ #line 6379 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 997: /* Line 1455 of yacc.c */ #line 6386 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 998: /* Line 1455 of yacc.c */ #line 6390 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 999: /* Line 1455 of yacc.c */ #line 6396 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = (yyvsp[(1) - (1)].node);;} break; case 1000: /* Line 1455 of yacc.c */ #line 6401 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1001: /* Line 1455 of yacc.c */ #line 6403 "../../../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 1002: /* Line 1455 of yacc.c */ #line 6408 "../../../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 1003: /* Line 1455 of yacc.c */ #line 6424 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = 0; ;} break; case 1004: /* Line 1455 of yacc.c */ #line 6426 "../../../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 1005: /* Line 1455 of yacc.c */ #line 6432 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; case 1006: /* Line 1455 of yacc.c */ #line 6436 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1007: /* Line 1455 of yacc.c */ #line 6443 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1008: /* Line 1455 of yacc.c */ #line 6447 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1009: /* Line 1455 of yacc.c */ #line 6454 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1010: /* Line 1455 of yacc.c */ #line 6458 "../../../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 1011: /* Line 1455 of yacc.c */ #line 6465 "../../../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 1012: /* Line 1455 of yacc.c */ #line 6482 "../../../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 1013: /* Line 1455 of yacc.c */ #line 6499 "../../../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 1014: /* Line 1455 of yacc.c */ #line 6504 "../../../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 1015: /* Line 1455 of yacc.c */ #line 6508 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_STORING_COLUMN_LIST, (yyvsp[(3) - (4)].node)); ;} break; case 1016: /* Line 1455 of yacc.c */ #line 6512 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_WITH_ROWID); ;} break; case 1017: /* Line 1455 of yacc.c */ #line 6516 "../../../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 1018: /* Line 1455 of yacc.c */ #line 6520 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1019: /* Line 1455 of yacc.c */ #line 6524 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1020: /* Line 1455 of yacc.c */ #line 6528 "../../../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 1021: /* Line 1455 of yacc.c */ #line 6533 "../../../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 1022: /* Line 1455 of yacc.c */ #line 6538 "../../../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 1023: /* Line 1455 of yacc.c */ #line 6543 "../../../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 1024: /* Line 1455 of yacc.c */ #line 6548 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1025: /* Line 1455 of yacc.c */ #line 6555 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1026: /* Line 1455 of yacc.c */ #line 6559 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1027: /* Line 1455 of yacc.c */ #line 6566 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_USING_BTREE); ;} break; case 1028: /* Line 1455 of yacc.c */ #line 6570 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_USING_HASH); ;} break; case 1029: /* Line 1455 of yacc.c */ #line 6577 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TEMPORARY); ;} break; case 1030: /* Line 1455 of yacc.c */ #line 6580 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_MATERIALIZED); ;} break; case 1031: /* Line 1455 of yacc.c */ #line 6582 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1032: /* Line 1455 of yacc.c */ #line 6592 "../../../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 1033: /* Line 1455 of yacc.c */ #line 6602 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1034: /* Line 1455 of yacc.c */ #line 6606 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1035: /* Line 1455 of yacc.c */ #line 6613 "../../../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 1036: /* Line 1455 of yacc.c */ #line 6622 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1037: /* Line 1455 of yacc.c */ #line 6624 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_IF_EXISTS); ;} break; case 1038: /* Line 1455 of yacc.c */ #line 6629 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1039: /* Line 1455 of yacc.c */ #line 6633 "../../../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 1040: /* Line 1455 of yacc.c */ #line 6647 "../../../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 1041: /* Line 1455 of yacc.c */ #line 6660 "../../../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 1042: /* Line 1455 of yacc.c */ #line 6674 "../../../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 1043: /* Line 1455 of yacc.c */ #line 6686 "../../../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 1044: /* Line 1455 of yacc.c */ #line 6695 "../../../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 1045: /* Line 1455 of yacc.c */ #line 6704 "../../../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 1046: /* Line 1455 of yacc.c */ #line 6715 "../../../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 1047: /* Line 1455 of yacc.c */ #line 6729 "../../../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 1048: /* Line 1455 of yacc.c */ #line 6734 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1049: /* Line 1455 of yacc.c */ #line 6741 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1050: /* Line 1455 of yacc.c */ #line 6745 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1051: /* Line 1455 of yacc.c */ #line 6751 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1052: /* Line 1455 of yacc.c */ #line 6755 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1053: /* Line 1455 of yacc.c */ #line 6761 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_IGNORE); ;} break; case 1054: /* Line 1455 of yacc.c */ #line 6765 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1055: /* Line 1455 of yacc.c */ #line 6772 "../../../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 1056: /* Line 1455 of yacc.c */ #line 6778 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1057: /* Line 1455 of yacc.c */ #line 6783 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1058: /* Line 1455 of yacc.c */ #line 6787 "../../../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 1059: /* Line 1455 of yacc.c */ #line 6793 "../../../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 1060: /* Line 1455 of yacc.c */ #line 6802 "../../../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 1061: /* Line 1455 of yacc.c */ #line 6808 "../../../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 1062: /* Line 1455 of yacc.c */ #line 6816 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1063: /* Line 1455 of yacc.c */ #line 6818 "../../../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 1064: /* Line 1455 of yacc.c */ #line 6825 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_VALUE_VECTOR, (yyvsp[(2) - (3)].node)); ;} break; case 1065: /* Line 1455 of yacc.c */ #line 6829 "../../../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 1066: /* Line 1455 of yacc.c */ #line 6836 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1067: /* Line 1455 of yacc.c */ #line 6838 "../../../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 1068: /* Line 1455 of yacc.c */ #line 6842 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_EMPTY); ;} break; case 1069: /* Line 1455 of yacc.c */ #line 6847 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node);;} break; case 1070: /* Line 1455 of yacc.c */ #line 6849 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT); ;} break; case 1071: /* Line 1455 of yacc.c */ #line 6862 "../../../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 1072: /* Line 1455 of yacc.c */ #line 6872 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1073: /* Line 1455 of yacc.c */ #line 6876 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1074: /* Line 1455 of yacc.c */ #line 6880 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1075: /* Line 1455 of yacc.c */ #line 6889 "../../../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 1076: /* Line 1455 of yacc.c */ #line 6903 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; case 1077: /* Line 1455 of yacc.c */ #line 6904 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; case 1078: /* Line 1455 of yacc.c */ #line 6906 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; case 1079: /* Line 1455 of yacc.c */ #line 6912 "../../../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 1080: /* Line 1455 of yacc.c */ #line 6917 "../../../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 1081: /* Line 1455 of yacc.c */ #line 6922 "../../../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 1082: /* Line 1455 of yacc.c */ #line 6930 "../../../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 1083: /* Line 1455 of yacc.c */ #line 6946 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *project_list = NULL; merge_nodes(project_list, result, T_PROJECT_LIST, (yyvsp[(3) - (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_WHERE] = (yyvsp[(7) - (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_GROUP] = (yyvsp[(8) - (10)].node); select_node->children_[PARSE_SELECT_HAVING] = (yyvsp[(9) - (10)].node); select_node->children_[PARSE_SELECT_NAMED_WINDOWS] = (yyvsp[(10) - (10)].node); (yyval.node) = select_node; setup_token_pos_info(select_node, (yylsp[(1) - (10)]).first_column - 1, 6); ;} break; case 1084: /* Line 1455 of yacc.c */ #line 6968 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1085: /* Line 1455 of yacc.c */ #line 6972 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1086: /* Line 1455 of yacc.c */ #line 6976 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1087: /* Line 1455 of yacc.c */ #line 6980 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1088: /* Line 1455 of yacc.c */ #line 6984 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1089: /* Line 1455 of yacc.c */ #line 6991 "../../../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 1090: /* Line 1455 of yacc.c */ #line 6996 "../../../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 1091: /* Line 1455 of yacc.c */ #line 7005 "../../../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 1092: /* Line 1455 of yacc.c */ #line 7013 "../../../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 1093: /* Line 1455 of yacc.c */ #line 7021 "../../../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 1094: /* Line 1455 of yacc.c */ #line 7033 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1095: /* Line 1455 of yacc.c */ #line 7037 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1096: /* Line 1455 of yacc.c */ #line 7041 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1097: /* Line 1455 of yacc.c */ #line 7048 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1098: /* Line 1455 of yacc.c */ #line 7052 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1099: /* Line 1455 of yacc.c */ #line 7056 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1100: /* Line 1455 of yacc.c */ #line 7063 "../../../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 1101: /* Line 1455 of yacc.c */ #line 7068 "../../../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 1102: /* Line 1455 of yacc.c */ #line 7077 "../../../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 1103: /* Line 1455 of yacc.c */ #line 7082 "../../../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 1104: /* Line 1455 of yacc.c */ #line 7091 "../../../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 1105: /* Line 1455 of yacc.c */ #line 7121 "../../../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 1106: /* Line 1455 of yacc.c */ #line 7155 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1107: /* Line 1455 of yacc.c */ #line 7157 "../../../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 1108: /* Line 1455 of yacc.c */ #line 7178 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1109: /* Line 1455 of yacc.c */ #line 7180 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = (yyvsp[(2) - (2)].node);;} break; case 1110: /* Line 1455 of yacc.c */ #line 7184 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1111: /* Line 1455 of yacc.c */ #line 7186 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = (yyvsp[(2) - (2)].node);;} break; case 1112: /* Line 1455 of yacc.c */ #line 7193 "../../../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 1113: /* Line 1455 of yacc.c */ #line 7218 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_SET_UNION; ;} break; case 1114: /* Line 1455 of yacc.c */ #line 7222 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_SET_INTERSECT; ;} break; case 1115: /* Line 1455 of yacc.c */ #line 7223 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_SET_EXCEPT; ;} break; case 1116: /* Line 1455 of yacc.c */ #line 7224 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = T_SET_EXCEPT; ;} break; case 1117: /* Line 1455 of yacc.c */ #line 7229 "../../../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 1118: /* Line 1455 of yacc.c */ #line 7233 "../../../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 1119: /* Line 1455 of yacc.c */ #line 7239 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1120: /* Line 1455 of yacc.c */ #line 7241 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ALL); ;} break; case 1121: /* Line 1455 of yacc.c */ #line 7245 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTINCT); ;} break; case 1122: /* Line 1455 of yacc.c */ #line 7249 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTINCT); ;} break; case 1123: /* Line 1455 of yacc.c */ #line 7256 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1124: /* Line 1455 of yacc.c */ #line 7258 "../../../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 1125: /* Line 1455 of yacc.c */ #line 7266 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1126: /* Line 1455 of yacc.c */ #line 7268 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1127: /* Line 1455 of yacc.c */ #line 7275 "../../../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 1128: /* Line 1455 of yacc.c */ #line 7288 "../../../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 1129: /* Line 1455 of yacc.c */ #line 7301 "../../../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 1130: /* Line 1455 of yacc.c */ #line 7318 "../../../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 1131: /* Line 1455 of yacc.c */ #line 7322 "../../../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 1132: /* Line 1455 of yacc.c */ #line 7326 "../../../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 1133: /* Line 1455 of yacc.c */ #line 7336 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1134: /* Line 1455 of yacc.c */ #line 7340 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1135: /* Line 1455 of yacc.c */ #line 7347 "../../../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 1136: /* Line 1455 of yacc.c */ #line 7351 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1137: /* Line 1455 of yacc.c */ #line 7358 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1138: /* Line 1455 of yacc.c */ #line 7363 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1139: /* Line 1455 of yacc.c */ #line 7370 "../../../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 1140: /* Line 1455 of yacc.c */ #line 7375 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1141: /* Line 1455 of yacc.c */ #line 7382 "../../../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 1142: /* Line 1455 of yacc.c */ #line 7386 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1143: /* 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_FIELD_TERMINATED_STR, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1144: /* 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_OPTIONALLY_CLOSED_STR, 1, (yyvsp[(4) - (4)].node)); ;} break; case 1145: /* 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_CLOSED_STR, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1146: /* 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_ESCAPED_STR, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1147: /* Line 1455 of yacc.c */ #line 7412 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_INTO_LINE_LIST, (yyvsp[(2) - (2)].node)); ;} break; case 1148: /* Line 1455 of yacc.c */ #line 7416 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1149: /* Line 1455 of yacc.c */ #line 7423 "../../../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 1150: /* Line 1455 of yacc.c */ #line 7427 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1151: /* Line 1455 of yacc.c */ #line 7434 "../../../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 1152: /* Line 1455 of yacc.c */ #line 7438 "../../../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 1153: /* Line 1455 of yacc.c */ #line 7445 "../../../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 1154: /* Line 1455 of yacc.c */ #line 7456 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1155: /* Line 1455 of yacc.c */ #line 7460 "../../../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 1156: /* Line 1455 of yacc.c */ #line 7464 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1157: /* Line 1455 of yacc.c */ #line 7471 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1158: /* Line 1455 of yacc.c */ #line 7475 "../../../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 1159: /* Line 1455 of yacc.c */ #line 7482 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1160: /* Line 1455 of yacc.c */ #line 7486 "../../../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 1161: /* Line 1455 of yacc.c */ #line 7490 "../../../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 1162: /* Line 1455 of yacc.c */ #line 7497 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_NO_REWRITE); ;} break; case 1163: /* Line 1455 of yacc.c */ #line 7501 "../../../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 1164: /* Line 1455 of yacc.c */ #line 7506 "../../../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 1165: /* Line 1455 of yacc.c */ #line 7510 "../../../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 1166: /* Line 1455 of yacc.c */ #line 7514 "../../../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 1167: /* Line 1455 of yacc.c */ #line 7518 "../../../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 1168: /* Line 1455 of yacc.c */ #line 7522 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_HOTSPOT); ;} break; case 1169: /* Line 1455 of yacc.c */ #line 7526 "../../../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 1170: /* Line 1455 of yacc.c */ #line 7530 "../../../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 1171: /* Line 1455 of yacc.c */ #line 7534 "../../../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 1172: /* Line 1455 of yacc.c */ #line 7540 "../../../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 1173: /* Line 1455 of yacc.c */ #line 7544 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ORDERED); ;} break; case 1174: /* Line 1455 of yacc.c */ #line 7548 "../../../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 1175: /* Line 1455 of yacc.c */ #line 7552 "../../../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 1176: /* Line 1455 of yacc.c */ #line 7557 "../../../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 1177: /* Line 1455 of yacc.c */ #line 7563 "../../../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 1178: /* Line 1455 of yacc.c */ #line 7569 "../../../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 1179: /* Line 1455 of yacc.c */ #line 7575 "../../../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 1180: /* Line 1455 of yacc.c */ #line 7581 "../../../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 1181: /* Line 1455 of yacc.c */ #line 7587 "../../../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 1182: /* Line 1455 of yacc.c */ #line 7593 "../../../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 1183: /* Line 1455 of yacc.c */ #line 7599 "../../../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 1184: /* Line 1455 of yacc.c */ #line 7605 "../../../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 1185: /* Line 1455 of yacc.c */ #line 7611 "../../../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 1186: /* Line 1455 of yacc.c */ #line 7617 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_USE_HASH_AGGREGATE); ;} break; case 1187: /* Line 1455 of yacc.c */ #line 7621 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_NO_USE_HASH_AGGREGATE); ;} break; case 1188: /* Line 1455 of yacc.c */ #line 7625 "../../../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 1189: /* Line 1455 of yacc.c */ #line 7629 "../../../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 1190: /* Line 1455 of yacc.c */ #line 7633 "../../../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 1191: /* Line 1455 of yacc.c */ #line 7637 "../../../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 1192: /* Line 1455 of yacc.c */ #line 7641 "../../../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 1193: /* Line 1455 of yacc.c */ #line 7645 "../../../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 1194: /* Line 1455 of yacc.c */ #line 7649 "../../../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 1195: /* Line 1455 of yacc.c */ #line 7653 "../../../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 1196: /* Line 1455 of yacc.c */ #line 7657 "../../../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 1197: /* Line 1455 of yacc.c */ #line 7661 "../../../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 1198: /* Line 1455 of yacc.c */ #line 7666 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_NO_USE_JIT); ;} break; case 1199: /* Line 1455 of yacc.c */ #line 7670 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_USE_LATE_MATERIALIZATION); ;} break; case 1200: /* Line 1455 of yacc.c */ #line 7674 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_NO_USE_LATE_MATERIALIZATION); ;} break; case 1201: /* Line 1455 of yacc.c */ #line 7678 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TRACE_LOG); ;} break; case 1202: /* Line 1455 of yacc.c */ #line 7682 "../../../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 1203: /* Line 1455 of yacc.c */ #line 7688 "../../../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 1204: /* Line 1455 of yacc.c */ #line 7694 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_USE_PX); ;} break; case 1205: /* Line 1455 of yacc.c */ #line 7698 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_NO_USE_PX); ;} break; case 1206: /* Line 1455 of yacc.c */ #line 7702 "../../../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 1207: /* Line 1455 of yacc.c */ #line 7707 "../../../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 1208: /* Line 1455 of yacc.c */ #line 7713 "../../../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 1209: /* Line 1455 of yacc.c */ #line 7719 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_FORCE_REFRESH_LOCATION_CACHE); ;} break; case 1210: /* Line 1455 of yacc.c */ #line 7723 "../../../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 1211: /* Line 1455 of yacc.c */ #line 7727 "../../../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 1212: /* Line 1455 of yacc.c */ #line 7731 "../../../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 1213: /* Line 1455 of yacc.c */ #line 7735 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_NO_PARALLEL); ;} break; case 1214: /* Line 1455 of yacc.c */ #line 7739 "../../../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 1215: /* Line 1455 of yacc.c */ #line 7744 "../../../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 1216: /* Line 1455 of yacc.c */ #line 7748 "../../../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 1217: /* Line 1455 of yacc.c */ #line 7752 "../../../src/sql/parser/sql_parser_mysql_mode.y" { destroy_tree((yyvsp[(1) - (1)].node)); (yyval.node) = NULL; ;} break; case 1218: /* Line 1455 of yacc.c */ #line 7757 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; yyerror(&(yylsp[(1) - (1)]), result, "unterminated hint string\n"); YYABORT; ;} break; case 1219: /* Line 1455 of yacc.c */ #line 7763 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; yyerror(&(yylsp[(1) - (1)]), result, "unterminated hint string\n"); YYABORT; ;} break; case 1220: /* Line 1455 of yacc.c */ #line 7769 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1221: /* Line 1455 of yacc.c */ #line 7773 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ENABLE_PARALLEL_DML); ;} break; case 1222: /* Line 1455 of yacc.c */ #line 7777 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISABLE_PARALLEL_DML); ;} break; case 1223: /* Line 1455 of yacc.c */ #line 7784 "../../../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 1224: /* Line 1455 of yacc.c */ #line 7788 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1225: /* Line 1455 of yacc.c */ #line 7795 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 3; ;} break; case 1226: /* Line 1455 of yacc.c */ #line 7799 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 4; ;} break; case 1227: /* Line 1455 of yacc.c */ #line 7803 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1228: /* Line 1455 of yacc.c */ #line 7810 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 1229: /* Line 1455 of yacc.c */ #line 7814 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1230: /* Line 1455 of yacc.c */ #line 7820 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 1231: /* Line 1455 of yacc.c */ #line 7824 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1232: /* Line 1455 of yacc.c */ #line 7830 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTRIBUTE_NONE); ;} break; case 1233: /* Line 1455 of yacc.c */ #line 7834 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTRIBUTE_PARTITION); ;} break; case 1234: /* Line 1455 of yacc.c */ #line 7838 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_RANDOM); ;} break; case 1235: /* Line 1455 of yacc.c */ #line 7842 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTRIBUTE_RANDOM_LOCAL); ;} break; case 1236: /* Line 1455 of yacc.c */ #line 7846 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTRIBUTE_HASH); ;} break; case 1237: /* Line 1455 of yacc.c */ #line 7850 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTRIBUTE_BROADCAST); ;} break; case 1238: /* Line 1455 of yacc.c */ #line 7856 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void) (yyvsp[(1) - (2)].node); (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 1239: /* Line 1455 of yacc.c */ #line 7861 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1240: /* Line 1455 of yacc.c */ #line 7867 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1241: /* Line 1455 of yacc.c */ #line 7869 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1242: /* Line 1455 of yacc.c */ #line 7874 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1243: /* Line 1455 of yacc.c */ #line 7876 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1244: /* Line 1455 of yacc.c */ #line 7881 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1245: /* Line 1455 of yacc.c */ #line 7883 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(3) - (3)].node); ;} break; case 1246: /* Line 1455 of yacc.c */ #line 7890 "../../../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 1247: /* Line 1455 of yacc.c */ #line 7896 "../../../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 1248: /* Line 1455 of yacc.c */ #line 7902 "../../../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 1249: /* Line 1455 of yacc.c */ #line 7907 "../../../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 1250: /* Line 1455 of yacc.c */ #line 7912 "../../../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 1251: /* Line 1455 of yacc.c */ #line 7919 "../../../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 1252: /* Line 1455 of yacc.c */ #line 7923 "../../../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 1253: /* Line 1455 of yacc.c */ #line 7931 "../../../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 1254: /* Line 1455 of yacc.c */ #line 7938 "../../../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 1255: /* Line 1455 of yacc.c */ #line 7945 "../../../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 1256: /* Line 1455 of yacc.c */ #line 7952 "../../../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 1257: /* Line 1455 of yacc.c */ #line 7959 "../../../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 1258: /* Line 1455 of yacc.c */ #line 7966 "../../../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 1259: /* Line 1455 of yacc.c */ #line 7976 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1260: /* Line 1455 of yacc.c */ #line 7978 "../../../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 1261: /* Line 1455 of yacc.c */ #line 7986 "../../../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 1262: /* Line 1455 of yacc.c */ #line 7995 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1263: /* Line 1455 of yacc.c */ #line 7997 "../../../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 1264: /* Line 1455 of yacc.c */ #line 8002 "../../../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 1265: /* Line 1455 of yacc.c */ #line 8007 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 1266: /* Line 1455 of yacc.c */ #line 8009 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SORT_ASC); ;} break; case 1267: /* Line 1455 of yacc.c */ #line 8011 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SORT_DESC); ;} break; case 1268: /* Line 1455 of yacc.c */ #line 8016 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL;;} break; case 1269: /* Line 1455 of yacc.c */ #line 8018 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ROLLUP); ;} break; case 1270: /* Line 1455 of yacc.c */ #line 8023 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node);;} break; case 1271: /* Line 1455 of yacc.c */ #line 8024 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1272: /* Line 1455 of yacc.c */ #line 8029 "../../../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 1273: /* Line 1455 of yacc.c */ #line 8040 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1274: /* Line 1455 of yacc.c */ #line 8042 "../../../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 1275: /* Line 1455 of yacc.c */ #line 8047 "../../../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 1276: /* Line 1455 of yacc.c */ #line 8060 "../../../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 1277: /* Line 1455 of yacc.c */ #line 8062 "../../../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 1278: /* Line 1455 of yacc.c */ #line 8064 "../../../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 1279: /* Line 1455 of yacc.c */ #line 8069 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = 0; ;} break; case 1280: /* Line 1455 of yacc.c */ #line 8071 "../../../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 1281: /* Line 1455 of yacc.c */ #line 8079 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(1) - (1)].node) == NULL) { (yyval.node) = NULL; } else { merge_nodes((yyval.node), result, T_QEURY_EXPRESSION_LIST, (yyvsp[(1) - (1)].node)); } ;} break; case 1282: /* Line 1455 of yacc.c */ #line 8087 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1283: /* Line 1455 of yacc.c */ #line 8094 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1284: /* Line 1455 of yacc.c */ #line 8098 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(1) - (2)].node) == NULL) { (yyval.node) = (yyvsp[(2) - (2)].node); } else { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_LINK_NODE, 2, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); } ;} break; case 1285: /* Line 1455 of yacc.c */ #line 8109 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ALL); ;} break; case 1286: /* Line 1455 of yacc.c */ #line 8113 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTINCT); ;} break; case 1287: /* Line 1455 of yacc.c */ #line 8117 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISTINCT); ;} break; case 1288: /* Line 1455 of yacc.c */ #line 8121 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_FOUND_ROWS); ;} break; case 1289: /* Line 1455 of yacc.c */ #line 8125 "../../../src/sql/parser/sql_parser_mysql_mode.y" { // SQL_NO_CACHE/SQL_CACHE is deprecated and will be removed in a future release // we only support it in parser, but actually do nothing. (yyval.node)=NULL; ;} break; case 1290: /* Line 1455 of yacc.c */ #line 8131 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)=NULL; ;} break; case 1291: /* Line 1455 of yacc.c */ #line 8138 "../../../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 1292: /* Line 1455 of yacc.c */ #line 8163 "../../../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 1293: /* Line 1455 of yacc.c */ #line 8181 "../../../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 1294: /* Line 1455 of yacc.c */ #line 8199 "../../../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 1295: /* Line 1455 of yacc.c */ #line 8231 "../../../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 1296: /* Line 1455 of yacc.c */ #line 8241 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1297: /* Line 1455 of yacc.c */ #line 8242 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1298: /* Line 1455 of yacc.c */ #line 8247 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1299: /* 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_LINK_NODE, 2, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; case 1300: /* Line 1455 of yacc.c */ #line 8259 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1301: /* Line 1455 of yacc.c */ #line 8266 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1302: /* Line 1455 of yacc.c */ #line 8270 "../../../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 1303: /* Line 1455 of yacc.c */ #line 8277 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1304: /* Line 1455 of yacc.c */ #line 8281 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1305: /* Line 1455 of yacc.c */ #line 8288 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1306: /* Line 1455 of yacc.c */ #line 8292 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1307: /* Line 1455 of yacc.c */ #line 8296 "../../../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 1308: /* Line 1455 of yacc.c */ #line 8302 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; case 1309: /* Line 1455 of yacc.c */ #line 8309 "../../../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 1310: /* Line 1455 of yacc.c */ #line 8313 "../../../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 1311: /* Line 1455 of yacc.c */ #line 8317 "../../../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 1312: /* Line 1455 of yacc.c */ #line 8322 "../../../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 1313: /* Line 1455 of yacc.c */ #line 8326 "../../../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 1314: /* Line 1455 of yacc.c */ #line 8333 "../../../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 1315: /* Line 1455 of yacc.c */ #line 8338 "../../../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 1316: /* Line 1455 of yacc.c */ #line 8346 "../../../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 1317: /* Line 1455 of yacc.c */ #line 8350 "../../../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 1318: /* Line 1455 of yacc.c */ #line 8357 "../../../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 1319: /* Line 1455 of yacc.c */ #line 8362 "../../../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 1320: /* Line 1455 of yacc.c */ #line 8370 "../../../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 1321: /* Line 1455 of yacc.c */ #line 8375 "../../../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 1322: /* Line 1455 of yacc.c */ #line 8379 "../../../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 1323: /* Line 1455 of yacc.c */ #line 8383 "../../../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 1324: /* Line 1455 of yacc.c */ #line 8387 "../../../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 1325: /* Line 1455 of yacc.c */ #line 8394 "../../../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 1326: /* Line 1455 of yacc.c */ #line 8398 "../../../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 1327: /* Line 1455 of yacc.c */ #line 8405 "../../../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 1328: /* Line 1455 of yacc.c */ #line 8410 "../../../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 1329: /* Line 1455 of yacc.c */ #line 8416 "../../../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 1330: /* Line 1455 of yacc.c */ #line 8421 "../../../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 1331: /* Line 1455 of yacc.c */ #line 8429 "../../../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 1332: /* Line 1455 of yacc.c */ #line 8434 "../../../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 1333: /* Line 1455 of yacc.c */ #line 8442 "../../../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 1334: /* Line 1455 of yacc.c */ #line 8446 "../../../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 1335: /* Line 1455 of yacc.c */ #line 8450 "../../../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 1336: /* Line 1455 of yacc.c */ #line 8455 "../../../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 1337: /* Line 1455 of yacc.c */ #line 8460 "../../../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 1338: /* Line 1455 of yacc.c */ #line 8467 "../../../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 1339: /* Line 1455 of yacc.c */ #line 8474 "../../../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 1340: /* Line 1455 of yacc.c */ #line 8482 "../../../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 1341: /* Line 1455 of yacc.c */ #line 8490 "../../../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 1342: /* Line 1455 of yacc.c */ #line 8494 "../../../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 1343: /* Line 1455 of yacc.c */ #line 8498 "../../../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 1344: /* Line 1455 of yacc.c */ #line 8503 "../../../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 1345: /* Line 1455 of yacc.c */ #line 8510 "../../../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 1346: /* Line 1455 of yacc.c */ #line 8516 "../../../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 1347: /* Line 1455 of yacc.c */ #line 8524 "../../../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 1348: /* Line 1455 of yacc.c */ #line 8531 "../../../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 1349: /* Line 1455 of yacc.c */ #line 8540 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ALL); ;} break; case 1350: /* Line 1455 of yacc.c */ #line 8544 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ALL); ;} break; case 1351: /* Line 1455 of yacc.c */ #line 8548 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_BASE); ;} break; case 1352: /* Line 1455 of yacc.c */ #line 8552 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INCR); ;} break; case 1353: /* Line 1455 of yacc.c */ #line 8558 "../../../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 1354: /* Line 1455 of yacc.c */ #line 8565 "../../../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 1355: /* Line 1455 of yacc.c */ #line 8570 "../../../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 1356: /* Line 1455 of yacc.c */ #line 8578 "../../../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 1357: /* Line 1455 of yacc.c */ #line 8582 "../../../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 1358: /* Line 1455 of yacc.c */ #line 8593 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1359: /* Line 1455 of yacc.c */ #line 8597 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1360: /* Line 1455 of yacc.c */ #line 8604 "../../../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 1361: /* Line 1455 of yacc.c */ #line 8612 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_FORCE); ;} break; case 1362: /* Line 1455 of yacc.c */ #line 8616 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_IGNORE); ;} break; case 1363: /* Line 1455 of yacc.c */ #line 8623 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void) (yyvsp[(1) - (1)].node); (yyval.node) = NULL; ;} break; case 1364: /* Line 1455 of yacc.c */ #line 8628 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1365: /* Line 1455 of yacc.c */ #line 8635 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1366: /* Line 1455 of yacc.c */ #line 8639 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1367: /* Line 1455 of yacc.c */ #line 8647 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1368: /* Line 1455 of yacc.c */ #line 8651 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1369: /* Line 1455 of yacc.c */ #line 8655 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1370: /* Line 1455 of yacc.c */ #line 8659 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1371: /* Line 1455 of yacc.c */ #line 8666 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1372: /* Line 1455 of yacc.c */ #line 8670 "../../../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 1373: /* Line 1455 of yacc.c */ #line 8684 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1374: /* Line 1455 of yacc.c */ #line 8688 "../../../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 1375: /* Line 1455 of yacc.c */ #line 8695 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1376: /* Line 1455 of yacc.c */ #line 8699 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1377: /* Line 1455 of yacc.c */ #line 8706 "../../../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 1378: /* Line 1455 of yacc.c */ #line 8717 "../../../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 1379: /* Line 1455 of yacc.c */ #line 8728 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1380: /* Line 1455 of yacc.c */ #line 8732 "../../../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 1381: /* Line 1455 of yacc.c */ #line 8740 "../../../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 1382: /* Line 1455 of yacc.c */ #line 8745 "../../../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 1383: /* Line 1455 of yacc.c */ #line 8753 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1384: /* Line 1455 of yacc.c */ #line 8757 "../../../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 8764 "../../../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 1386: /* Line 1455 of yacc.c */ #line 8770 "../../../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 1387: /* Line 1455 of yacc.c */ #line 8779 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1388: /* Line 1455 of yacc.c */ #line 8783 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1389: /* Line 1455 of yacc.c */ #line 8790 "../../../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 1390: /* Line 1455 of yacc.c */ #line 8795 "../../../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 1391: /* Line 1455 of yacc.c */ #line 8800 "../../../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 1392: /* Line 1455 of yacc.c */ #line 8810 "../../../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 1393: /* Line 1455 of yacc.c */ #line 8815 "../../../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 1394: /* Line 1455 of yacc.c */ #line 8825 "../../../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 1395: /* Line 1455 of yacc.c */ #line 8832 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 1396: /* Line 1455 of yacc.c */ #line 8834 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1397: /* Line 1455 of yacc.c */ #line 8839 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1398: /* Line 1455 of yacc.c */ #line 8843 "../../../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 1399: /* Line 1455 of yacc.c */ #line 8850 "../../../src/sql/parser/sql_parser_mysql_mode.y" {;} break; case 1400: /* Line 1455 of yacc.c */ #line 8852 "../../../src/sql/parser/sql_parser_mysql_mode.y" {;} break; case 1401: /* Line 1455 of yacc.c */ #line 8857 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1402: /* Line 1455 of yacc.c */ #line 8862 "../../../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 1403: /* Line 1455 of yacc.c */ #line 8868 "../../../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 1404: /* Line 1455 of yacc.c */ #line 8874 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1405: /* Line 1455 of yacc.c */ #line 8878 "../../../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 1406: /* Line 1455 of yacc.c */ #line 8882 "../../../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 1407: /* Line 1455 of yacc.c */ #line 8886 "../../../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 1408: /* Line 1455 of yacc.c */ #line 8890 "../../../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 1409: /* Line 1455 of yacc.c */ #line 8896 "../../../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 1410: /* Line 1455 of yacc.c */ #line 8907 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1411: /* Line 1455 of yacc.c */ #line 8911 "../../../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 1412: /* Line 1455 of yacc.c */ #line 8918 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1413: /* Line 1455 of yacc.c */ #line 8922 "../../../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 1414: /* Line 1455 of yacc.c */ #line 8926 "../../../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 1415: /* Line 1455 of yacc.c */ #line 8930 "../../../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 1416: /* Line 1455 of yacc.c */ #line 8939 "../../../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 1417: /* Line 1455 of yacc.c */ #line 8945 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node)=(yyvsp[(1) - (1)].node); ;} break; case 1418: /* Line 1455 of yacc.c */ #line 8951 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 1419: /* Line 1455 of yacc.c */ #line 8955 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_COLUMN_LIST, (yyvsp[(3) - (4)].node)); ;} break; case 1420: /* Line 1455 of yacc.c */ #line 8965 "../../../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 1421: /* Line 1455 of yacc.c */ #line 8970 "../../../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 1422: /* Line 1455 of yacc.c */ #line 8975 "../../../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 1423: /* Line 1455 of yacc.c */ #line 8982 "../../../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 1424: /* Line 1455 of yacc.c */ #line 8987 "../../../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 1425: /* Line 1455 of yacc.c */ #line 8993 "../../../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 1426: /* Line 1455 of yacc.c */ #line 8999 "../../../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 1427: /* Line 1455 of yacc.c */ #line 9025 "../../../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 1428: /* Line 1455 of yacc.c */ #line 9037 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1429: /* Line 1455 of yacc.c */ #line 9041 "../../../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 1430: /* Line 1455 of yacc.c */ #line 9070 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node) ;} break; case 1431: /* Line 1455 of yacc.c */ #line 9074 "../../../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 1432: /* Line 1455 of yacc.c */ #line 9082 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_JOIN_INNER); ;} break; case 1433: /* Line 1455 of yacc.c */ #line 9086 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_JOIN_INNER); ;} break; case 1434: /* Line 1455 of yacc.c */ #line 9090 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_JOIN_INNER); ;} break; case 1435: /* Line 1455 of yacc.c */ #line 9096 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1436: /* Line 1455 of yacc.c */ #line 9097 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1437: /* Line 1455 of yacc.c */ #line 9102 "../../../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 1438: /* Line 1455 of yacc.c */ #line 9108 "../../../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 1439: /* Line 1455 of yacc.c */ #line 9114 "../../../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 1440: /* Line 1455 of yacc.c */ #line 9123 "../../../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 1441: /* Line 1455 of yacc.c */ #line 9129 "../../../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 1442: /* Line 1455 of yacc.c */ #line 9138 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1443: /* Line 1455 of yacc.c */ #line 9139 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1444: /* Line 1455 of yacc.c */ #line 9152 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (3)].node); (yyval.node)->children_[PARSE_SELECT_WHEN] = (yyvsp[(3) - (3)].node); if (NULL == (yyval.node)->children_[PARSE_SELECT_FOR_UPD] && NULL != (yyvsp[(3) - (3)].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; } (yyval.node)->children_[PARSE_SELECT_WITH] = (yyvsp[(1) - (3)].node); ;} break; case 1445: /* Line 1455 of yacc.c */ #line 9163 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); (yyval.node)->children_[PARSE_SELECT_WITH] = (yyvsp[(1) - (2)].node); ;} break; case 1446: /* Line 1455 of yacc.c */ #line 9171 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *with_list = NULL; merge_nodes(with_list, result, T_WITH_CLAUSE_LIST, (yyvsp[(2) - (2)].node)); (yyval.node) = with_list; (yyval.node)->value_ = 0; ;} break; case 1447: /* Line 1455 of yacc.c */ #line 9179 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *with_list = NULL; merge_nodes(with_list, result, T_WITH_CLAUSE_LIST, (yyvsp[(3) - (3)].node)); (yyval.node) = with_list; (yyval.node)->value_ = 1; ;} break; case 1448: /* Line 1455 of yacc.c */ #line 9195 "../../../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 1449: /* Line 1455 of yacc.c */ #line 9199 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1450: /* Line 1455 of yacc.c */ #line 9207 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WITH_CLAUSE_AS, 5, (yyvsp[(1) - (6)].node), (yyvsp[(2) - (6)].node), (yyvsp[(5) - (6)].node), NULL, NULL); ;} break; case 1451: /* Line 1455 of yacc.c */ #line 9211 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WITH_CLAUSE_AS, 5, (yyvsp[(1) - (6)].node), (yyvsp[(2) - (6)].node), (yyvsp[(5) - (6)].node), NULL, NULL); ;} break; case 1452: /* Line 1455 of yacc.c */ #line 9215 "../../../src/sql/parser/sql_parser_mysql_mode.y" { if ((yyvsp[(5) - (6)].node)->children_[PARSE_SELECT_ORDER] != NULL && (yyvsp[(5) - (6)].node)->children_[PARSE_SELECT_FETCH] == NULL) { yyerror(NULL, result, "only order by clause can't occur subquery\n"); YYABORT_PARSE_SQL_ERROR; } else { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_WITH_CLAUSE_AS, 5, (yyvsp[(1) - (6)].node), (yyvsp[(2) - (6)].node), (yyvsp[(5) - (6)].node), NULL, NULL); } ;} break; case 1453: /* Line 1455 of yacc.c */ #line 9227 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *col_alias_list = NULL; merge_nodes(col_alias_list, result, T_COLUMN_LIST, (yyvsp[(2) - (3)].node)); (yyval.node) = col_alias_list; ;} break; case 1454: /* Line 1455 of yacc.c */ #line 9233 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1455: /* Line 1455 of yacc.c */ #line 9238 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1456: /* Line 1455 of yacc.c */ #line 9242 "../../../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 1457: /* Line 1455 of yacc.c */ #line 9249 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1458: /* Line 1455 of yacc.c */ #line 9278 "../../../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 1459: /* Line 1455 of yacc.c */ #line 9290 "../../../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 1460: /* Line 1455 of yacc.c */ #line 9310 "../../../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 1461: /* Line 1455 of yacc.c */ #line 9326 "../../../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 1462: /* Line 1455 of yacc.c */ #line 9333 "../../../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 1463: /* Line 1455 of yacc.c */ #line 9338 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1464: /* Line 1455 of yacc.c */ #line 9349 "../../../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 1465: /* Line 1455 of yacc.c */ #line 9356 "../../../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 1466: /* Line 1455 of yacc.c */ #line 9361 "../../../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 1467: /* Line 1455 of yacc.c */ #line 9368 "../../../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 1468: /* Line 1455 of yacc.c */ #line 9375 "../../../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 1469: /* Line 1455 of yacc.c */ #line 9382 "../../../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 1470: /* Line 1455 of yacc.c */ #line 9389 "../../../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 1471: /* Line 1455 of yacc.c */ #line 9396 "../../../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 1472: /* Line 1455 of yacc.c */ #line 9403 "../../../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 1473: /* Line 1455 of yacc.c */ #line 9410 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1474: /* Line 1455 of yacc.c */ #line 9411 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1475: /* Line 1455 of yacc.c */ #line 9412 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1476: /* Line 1455 of yacc.c */ #line 9416 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1477: /* Line 1455 of yacc.c */ #line 9417 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1478: /* Line 1455 of yacc.c */ #line 9418 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1479: /* Line 1455 of yacc.c */ #line 9419 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1480: /* Line 1455 of yacc.c */ #line 9424 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TRADITIONAL); ;} break; case 1481: /* Line 1455 of yacc.c */ #line 9426 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_JSON); ;} break; case 1482: /* Line 1455 of yacc.c */ #line 9437 "../../../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 1483: /* Line 1455 of yacc.c */ #line 9444 "../../../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 1484: /* Line 1455 of yacc.c */ #line 9450 "../../../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 1485: /* Line 1455 of yacc.c */ #line 9458 "../../../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 1486: /* Line 1455 of yacc.c */ #line 9460 "../../../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 1487: /* Line 1455 of yacc.c */ #line 9462 "../../../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 1488: /* 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_SHOW_TRIGGERS, 2, (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; case 1489: /* Line 1455 of yacc.c */ #line 9466 "../../../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 1490: /* Line 1455 of yacc.c */ #line 9468 "../../../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 1491: /* Line 1455 of yacc.c */ #line 9474 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_SCHEMA); ;} break; case 1492: /* Line 1455 of yacc.c */ #line 9476 "../../../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 1493: /* Line 1455 of yacc.c */ #line 9481 "../../../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 1494: /* Line 1455 of yacc.c */ #line 9483 "../../../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 1495: /* Line 1455 of yacc.c */ #line 9485 "../../../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 1496: /* Line 1455 of yacc.c */ #line 9487 "../../../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 1497: /* Line 1455 of yacc.c */ #line 9489 "../../../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 1498: /* Line 1455 of yacc.c */ #line 9493 "../../../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 1499: /* Line 1455 of yacc.c */ #line 9497 "../../../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 1500: /* Line 1455 of yacc.c */ #line 9505 "../../../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 1501: /* Line 1455 of yacc.c */ #line 9513 "../../../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 1502: /* Line 1455 of yacc.c */ #line 9517 "../../../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 1503: /* 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_SHOW_TRACE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1504: /* Line 1455 of yacc.c */ #line 9524 "../../../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 1505: /* Line 1455 of yacc.c */ #line 9569 "../../../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 1506: /* Line 1455 of yacc.c */ #line 9573 "../../../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 1507: /* Line 1455 of yacc.c */ #line 9579 "../../../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 1508: /* Line 1455 of yacc.c */ #line 9586 "../../../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 1509: /* Line 1455 of yacc.c */ #line 9588 "../../../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 1510: /* Line 1455 of yacc.c */ #line 9594 "../../../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 1511: /* Line 1455 of yacc.c */ #line 9598 "../../../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 1512: /* Line 1455 of yacc.c */ #line 9600 "../../../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 1513: /* Line 1455 of yacc.c */ #line 9605 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_PRIVILEGES); ;} break; case 1514: /* Line 1455 of yacc.c */ #line 9609 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_RECYCLEBIN); ;} break; case 1515: /* Line 1455 of yacc.c */ #line 9613 "../../../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 1516: /* Line 1455 of yacc.c */ #line 9617 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_RESTORE_PREVIEW); ;} break; case 1517: /* Line 1455 of yacc.c */ #line 9623 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1518: /* Line 1455 of yacc.c */ #line 9624 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1519: /* Line 1455 of yacc.c */ #line 9629 "../../../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 1520: /* Line 1455 of yacc.c */ #line 9637 "../../../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 1521: /* Line 1455 of yacc.c */ #line 9645 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1522: /* Line 1455 of yacc.c */ #line 9650 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1523: /* Line 1455 of yacc.c */ #line 9652 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1524: /* Line 1455 of yacc.c */ #line 9654 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1525: /* Line 1455 of yacc.c */ #line 9658 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_SHOW_STATUS); ;} break; case 1526: /* Line 1455 of yacc.c */ #line 9659 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1527: /* Line 1455 of yacc.c */ #line 9664 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1528: /* Line 1455 of yacc.c */ #line 9666 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1529: /* Line 1455 of yacc.c */ #line 9670 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 1530: /* Line 1455 of yacc.c */ #line 9671 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1531: /* Line 1455 of yacc.c */ #line 9672 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1532: /* Line 1455 of yacc.c */ #line 9673 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 1533: /* Line 1455 of yacc.c */ #line 9678 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1534: /* Line 1455 of yacc.c */ #line 9680 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1535: /* Line 1455 of yacc.c */ #line 9685 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1536: /* Line 1455 of yacc.c */ #line 9687 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1537: /* Line 1455 of yacc.c */ #line 9692 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1538: /* Line 1455 of yacc.c */ #line 9694 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1539: /* Line 1455 of yacc.c */ #line 9696 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1540: /* Line 1455 of yacc.c */ #line 9701 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1541: /* Line 1455 of yacc.c */ #line 9703 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1542: /* Line 1455 of yacc.c */ #line 9708 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1543: /* Line 1455 of yacc.c */ #line 9710 "../../../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 1544: /* Line 1455 of yacc.c */ #line 9718 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1545: /* Line 1455 of yacc.c */ #line 9720 "../../../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 1546: /* Line 1455 of yacc.c */ #line 9728 "../../../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 1547: /* Line 1455 of yacc.c */ #line 9736 "../../../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 1548: /* Line 1455 of yacc.c */ #line 9741 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1549: /* Line 1455 of yacc.c */ #line 9743 "../../../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 1550: /* Line 1455 of yacc.c */ #line 9751 "../../../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 1551: /* Line 1455 of yacc.c */ #line 9770 "../../../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 1552: /* Line 1455 of yacc.c */ #line 9778 "../../../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 1553: /* Line 1455 of yacc.c */ #line 9791 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1554: /* Line 1455 of yacc.c */ #line 9795 "../../../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 1555: /* Line 1455 of yacc.c */ #line 9802 "../../../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 1556: /* Line 1455 of yacc.c */ #line 9809 "../../../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 1557: /* Line 1455 of yacc.c */ #line 9816 "../../../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 1558: /* Line 1455 of yacc.c */ #line 9826 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TLS_NONE); ;} break; case 1559: /* Line 1455 of yacc.c */ #line 9830 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TLS_SSL); ;} break; case 1560: /* Line 1455 of yacc.c */ #line 9834 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TLS_XFZN); ;} break; case 1561: /* Line 1455 of yacc.c */ #line 9838 "../../../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 1562: /* Line 1455 of yacc.c */ #line 9847 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 1563: /* Line 1455 of yacc.c */ #line 9851 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1564: /* Line 1455 of yacc.c */ #line 9858 "../../../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 1565: /* Line 1455 of yacc.c */ #line 9862 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1566: /* Line 1455 of yacc.c */ #line 9868 "../../../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 1567: /* Line 1455 of yacc.c */ #line 9873 "../../../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 1568: /* Line 1455 of yacc.c */ #line 9893 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1569: /* Line 1455 of yacc.c */ #line 9897 "../../../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 1570: /* Line 1455 of yacc.c */ #line 9901 "../../../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 1571: /* Line 1455 of yacc.c */ #line 9908 "../../../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 1572: /* Line 1455 of yacc.c */ #line 9912 "../../../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 1573: /* Line 1455 of yacc.c */ #line 9916 "../../../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 1574: /* Line 1455 of yacc.c */ #line 9924 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1575: /* Line 1455 of yacc.c */ #line 9928 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1576: /* Line 1455 of yacc.c */ #line 9932 "../../../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 1577: /* Line 1455 of yacc.c */ #line 9939 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1578: /* Line 1455 of yacc.c */ #line 9943 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1579: /* Line 1455 of yacc.c */ #line 9950 "../../../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 1580: /* Line 1455 of yacc.c */ #line 9957 "../../../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 1581: /* Line 1455 of yacc.c */ #line 9971 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_DROP_USER, (yyvsp[(3) - (3)].node)); ;} break; case 1582: /* Line 1455 of yacc.c */ #line 9978 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1583: /* Line 1455 of yacc.c */ #line 9982 "../../../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 1584: /* Line 1455 of yacc.c */ #line 9994 "../../../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 1585: /* Line 1455 of yacc.c */ #line 10001 "../../../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 1586: /* Line 1455 of yacc.c */ #line 10008 "../../../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 1587: /* Line 1455 of yacc.c */ #line 10015 "../../../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 1588: /* Line 1455 of yacc.c */ #line 10021 "../../../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 1589: /* Line 1455 of yacc.c */ #line 10030 "../../../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 1590: /* Line 1455 of yacc.c */ #line 10035 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1591: /* Line 1455 of yacc.c */ #line 10046 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_RENAME_USER, (yyvsp[(3) - (3)].node)); ;} break; case 1592: /* Line 1455 of yacc.c */ #line 10053 "../../../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 1593: /* Line 1455 of yacc.c */ #line 10060 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1594: /* Line 1455 of yacc.c */ #line 10064 "../../../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 1595: /* Line 1455 of yacc.c */ #line 10076 "../../../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 1596: /* Line 1455 of yacc.c */ #line 10085 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_BOOL); (yyval.node)->value_ = 1; ;} break; case 1597: /* Line 1455 of yacc.c */ #line 10090 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_BOOL); (yyval.node)->value_ = 0; ;} break; case 1598: /* Line 1455 of yacc.c */ #line 10105 "../../../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 1599: /* Line 1455 of yacc.c */ #line 10114 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_EMPTY_QUERY); ;} break; case 1600: /* Line 1455 of yacc.c */ #line 10121 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); (void)(yyvsp[(1) - (1)].node); ;} break; case 1601: /* Line 1455 of yacc.c */ #line 10126 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); (void)(yyvsp[(1) - (3)].node); (void)(yyvsp[(3) - (3)].node); ;} break; case 1602: /* Line 1455 of yacc.c */ #line 10135 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); (void)(yyvsp[(1) - (2)].node); (void)(yyvsp[(2) - (2)].node); ;} break; case 1603: /* Line 1455 of yacc.c */ #line 10142 "../../../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 1604: /* Line 1455 of yacc.c */ #line 10153 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); (void)(yyvsp[(2) - (2)].node); ;} break; case 1605: /* Line 1455 of yacc.c */ #line 10159 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); ;} break; case 1606: /* Line 1455 of yacc.c */ #line 10164 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); ;} break; case 1607: /* Line 1455 of yacc.c */ #line 10170 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1608: /* Line 1455 of yacc.c */ #line 10171 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1609: /* Line 1455 of yacc.c */ #line 10182 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); ;} break; case 1610: /* Line 1455 of yacc.c */ #line 10186 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)(yyval.node); ;} break; case 1611: /* Line 1455 of yacc.c */ #line 10193 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = OB_WITH_CONSTISTENT_SNAPSHOT; ;} break; case 1612: /* Line 1455 of yacc.c */ #line 10197 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = (yyvsp[(1) - (1)].node)->value_; ;} break; case 1613: /* Line 1455 of yacc.c */ #line 10201 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = OB_WITH_CONSTISTENT_SNAPSHOT | (yyvsp[(5) - (5)].node)->value_; ;} break; case 1614: /* Line 1455 of yacc.c */ #line 10205 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = OB_WITH_CONSTISTENT_SNAPSHOT | (yyvsp[(1) - (5)].node)->value_; ;} break; case 1615: /* Line 1455 of yacc.c */ #line 10209 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 1616: /* Line 1455 of yacc.c */ #line 10216 "../../../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 1617: /* Line 1455 of yacc.c */ #line 10223 "../../../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 1618: /* Line 1455 of yacc.c */ #line 10238 "../../../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 1619: /* Line 1455 of yacc.c */ #line 10242 "../../../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 1620: /* Line 1455 of yacc.c */ #line 10249 "../../../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 1621: /* Line 1455 of yacc.c */ #line 10256 "../../../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 1622: /* Line 1455 of yacc.c */ #line 10263 "../../../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 1623: /* Line 1455 of yacc.c */ #line 10270 "../../../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 1624: /* Line 1455 of yacc.c */ #line 10282 "../../../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 1625: /* Line 1455 of yacc.c */ #line 10295 "../../../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 1626: /* Line 1455 of yacc.c */ #line 10308 "../../../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 1627: /* Line 1455 of yacc.c */ #line 10316 "../../../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 1628: /* Line 1455 of yacc.c */ #line 10324 "../../../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 1629: /* Line 1455 of yacc.c */ #line 10339 "../../../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 1630: /* Line 1455 of yacc.c */ #line 10354 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1631: /* Line 1455 of yacc.c */ #line 10358 "../../../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 1632: /* Line 1455 of yacc.c */ #line 10367 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1633: /* Line 1455 of yacc.c */ #line 10371 "../../../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 1634: /* Line 1455 of yacc.c */ #line 10378 "../../../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 1635: /* Line 1455 of yacc.c */ #line 10383 "../../../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 1636: /* Line 1455 of yacc.c */ #line 10388 "../../../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 1637: /* Line 1455 of yacc.c */ #line 10393 "../../../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 1638: /* Line 1455 of yacc.c */ #line 10398 "../../../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 1639: /* Line 1455 of yacc.c */ #line 10403 "../../../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 1640: /* Line 1455 of yacc.c */ #line 10408 "../../../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 1641: /* Line 1455 of yacc.c */ #line 10413 "../../../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 1642: /* Line 1455 of yacc.c */ #line 10418 "../../../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 1643: /* Line 1455 of yacc.c */ #line 10423 "../../../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 1644: /* Line 1455 of yacc.c */ #line 10428 "../../../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 1645: /* Line 1455 of yacc.c */ #line 10433 "../../../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 1646: /* Line 1455 of yacc.c */ #line 10438 "../../../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 1647: /* Line 1455 of yacc.c */ #line 10443 "../../../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 1648: /* Line 1455 of yacc.c */ #line 10448 "../../../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 1649: /* Line 1455 of yacc.c */ #line 10453 "../../../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 1650: /* Line 1455 of yacc.c */ #line 10458 "../../../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 1651: /* Line 1455 of yacc.c */ #line 10463 "../../../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 1652: /* Line 1455 of yacc.c */ #line 10468 "../../../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 1653: /* Line 1455 of yacc.c */ #line 10473 "../../../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 1654: /* Line 1455 of yacc.c */ #line 10478 "../../../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 1655: /* Line 1455 of yacc.c */ #line 10483 "../../../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 1656: /* Line 1455 of yacc.c */ #line 10493 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1657: /* Line 1455 of yacc.c */ #line 10497 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1658: /* Line 1455 of yacc.c */ #line 10504 "../../../src/sql/parser/sql_parser_mysql_mode.y" { /* means global priv_level */ malloc_terminal_node((yyval.node), result->malloc_pool_, T_STAR); ;} break; case 1659: /* Line 1455 of yacc.c */ #line 10509 "../../../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 1660: /* Line 1455 of yacc.c */ #line 10517 "../../../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 1661: /* Line 1455 of yacc.c */ #line 10523 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1662: /* Line 1455 of yacc.c */ #line 10527 "../../../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 1663: /* Line 1455 of yacc.c */ #line 10534 "../../../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 1664: /* Line 1455 of yacc.c */ #line 10539 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1665: /* Line 1455 of yacc.c */ #line 10551 "../../../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 1666: /* Line 1455 of yacc.c */ #line 10560 "../../../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 1667: /* Line 1455 of yacc.c */ #line 10577 "../../../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 1668: /* Line 1455 of yacc.c */ #line 10585 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1669: /* Line 1455 of yacc.c */ #line 10590 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1670: /* Line 1455 of yacc.c */ #line 10594 "../../../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 1671: /* Line 1455 of yacc.c */ #line 10607 "../../../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 1672: /* Line 1455 of yacc.c */ #line 10615 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyvsp[(1) - (1)].node)->value_ = 1;//set global (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1673: /* Line 1455 of yacc.c */ #line 10620 "../../../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 1674: /* Line 1455 of yacc.c */ #line 10627 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1675: /* Line 1455 of yacc.c */ #line 10631 "../../../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 1676: /* Line 1455 of yacc.c */ #line 10638 "../../../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 1677: /* Line 1455 of yacc.c */ #line 10654 "../../../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 1678: /* Line 1455 of yacc.c */ #line 10668 "../../../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 1679: /* Line 1455 of yacc.c */ #line 10674 "../../../src/sql/parser/sql_parser_mysql_mode.y" { //$$ = NULL; malloc_terminal_node((yyval.node), result->malloc_pool_, T_DEFAULT); ;} break; case 1680: /* Line 1455 of yacc.c */ #line 10682 "../../../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 1681: /* Line 1455 of yacc.c */ #line 10688 "../../../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 1682: /* Line 1455 of yacc.c */ #line 10693 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1683: /* Line 1455 of yacc.c */ #line 10697 "../../../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 1684: /* Line 1455 of yacc.c */ #line 10710 "../../../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 1685: /* Line 1455 of yacc.c */ #line 10725 "../../../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 1686: /* Line 1455 of yacc.c */ #line 10731 "../../../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 1687: /* Line 1455 of yacc.c */ #line 10738 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 1688: /* Line 1455 of yacc.c */ #line 10739 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1689: /* Line 1455 of yacc.c */ #line 10740 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 1690: /* Line 1455 of yacc.c */ #line 10741 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1691: /* Line 1455 of yacc.c */ #line 10745 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1692: /* Line 1455 of yacc.c */ #line 10746 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1693: /* Line 1455 of yacc.c */ #line 10756 "../../../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 1694: /* Line 1455 of yacc.c */ #line 10763 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_ARGUMENT_LIST, (yyvsp[(2) - (2)].node)); ;} break; case 1695: /* Line 1455 of yacc.c */ #line 10767 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1696: /* Line 1455 of yacc.c */ #line 10774 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1697: /* Line 1455 of yacc.c */ #line 10778 "../../../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 1698: /* Line 1455 of yacc.c */ #line 10785 "../../../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 1699: /* Line 1455 of yacc.c */ #line 10797 "../../../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 1700: /* Line 1455 of yacc.c */ #line 10805 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1701: /* Line 1455 of yacc.c */ #line 10807 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1702: /* Line 1455 of yacc.c */ #line 10818 "../../../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 1703: /* Line 1455 of yacc.c */ #line 10832 "../../../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 1704: /* Line 1455 of yacc.c */ #line 10841 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1705: /* Line 1455 of yacc.c */ #line 10845 "../../../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 1706: /* Line 1455 of yacc.c */ #line 10852 "../../../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 1707: /* Line 1455 of yacc.c */ #line 10864 "../../../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 1708: /* Line 1455 of yacc.c */ #line 10874 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1709: /* Line 1455 of yacc.c */ #line 10878 "../../../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 1710: /* Line 1455 of yacc.c */ #line 10882 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1711: /* Line 1455 of yacc.c */ #line 10887 "../../../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 1712: /* 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_ALTER_COLUMN_OPTION, 1, (yyvsp[(1) - (1)].node)); ;} break; case 1713: /* Line 1455 of yacc.c */ #line 10896 "../../../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 1714: /* Line 1455 of yacc.c */ #line 10900 "../../../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 1715: /* Line 1455 of yacc.c */ #line 10907 "../../../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 1716: /* Line 1455 of yacc.c */ #line 10911 "../../../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 1717: /* Line 1455 of yacc.c */ #line 10915 "../../../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 1718: /* Line 1455 of yacc.c */ #line 10919 "../../../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 1719: /* Line 1455 of yacc.c */ #line 10932 "../../../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 1720: /* Line 1455 of yacc.c */ #line 10939 "../../../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 1721: /* Line 1455 of yacc.c */ #line 10948 "../../../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 1722: /* Line 1455 of yacc.c */ #line 10954 "../../../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 1723: /* Line 1455 of yacc.c */ #line 10960 "../../../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 1724: /* 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_ALTER_PARTITION_PARTITIONED, 1, (yyvsp[(1) - (1)].node)); ;} break; case 1725: /* Line 1455 of yacc.c */ #line 10970 "../../../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 1726: /* Line 1455 of yacc.c */ #line 10978 "../../../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 1727: /* Line 1455 of yacc.c */ #line 10983 "../../../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 1728: /* Line 1455 of yacc.c */ #line 10991 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1729: /* Line 1455 of yacc.c */ #line 10996 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1730: /* Line 1455 of yacc.c */ #line 11002 "../../../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 1731: /* Line 1455 of yacc.c */ #line 11008 "../../../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 1732: /* Line 1455 of yacc.c */ #line 11014 "../../../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 1733: /* Line 1455 of yacc.c */ #line 11018 "../../../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 1734: /* Line 1455 of yacc.c */ #line 11026 "../../../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 1735: /* Line 1455 of yacc.c */ #line 11034 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1736: /* Line 1455 of yacc.c */ #line 11039 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; case 1737: /* Line 1455 of yacc.c */ #line 11046 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1738: /* Line 1455 of yacc.c */ #line 11050 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1739: /* Line 1455 of yacc.c */ #line 11054 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1740: /* Line 1455 of yacc.c */ #line 11058 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1741: /* Line 1455 of yacc.c */ #line 11065 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1742: /* Line 1455 of yacc.c */ #line 11069 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1743: /* Line 1455 of yacc.c */ #line 11073 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1744: /* Line 1455 of yacc.c */ #line 11077 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1745: /* Line 1455 of yacc.c */ #line 11085 "../../../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 1746: /* Line 1455 of yacc.c */ #line 11095 "../../../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 1747: /* Line 1455 of yacc.c */ #line 11105 "../../../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 1748: /* Line 1455 of yacc.c */ #line 11115 "../../../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 1749: /* Line 1455 of yacc.c */ #line 11120 "../../../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 1750: /* Line 1455 of yacc.c */ #line 11129 "../../../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 1751: /* Line 1455 of yacc.c */ #line 11133 "../../../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 1752: /* Line 1455 of yacc.c */ #line 11138 "../../../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 1753: /* Line 1455 of yacc.c */ #line 11145 "../../../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 1754: /* Line 1455 of yacc.c */ #line 11149 "../../../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 1755: /* Line 1455 of yacc.c */ #line 11162 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_VISIBLE); ;} break; case 1756: /* Line 1455 of yacc.c */ #line 11166 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INVISIBLE); ;} break; case 1757: /* Line 1455 of yacc.c */ #line 11173 "../../../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 1758: /* Line 1455 of yacc.c */ #line 11178 "../../../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 1759: /* Line 1455 of yacc.c */ #line 11183 "../../../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 1760: /* Line 1455 of yacc.c */ #line 11188 "../../../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 1761: /* Line 1455 of yacc.c */ #line 11193 "../../../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 1762: /* Line 1455 of yacc.c */ #line 11198 "../../../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 1763: /* Line 1455 of yacc.c */ #line 11203 "../../../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 1764: /* Line 1455 of yacc.c */ #line 11211 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1765: /* Line 1455 of yacc.c */ #line 11215 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_COLUMN_ADD_FIRST); ;} break; case 1766: /* Line 1455 of yacc.c */ #line 11219 "../../../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 1767: /* Line 1455 of yacc.c */ #line 11223 "../../../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 1768: /* Line 1455 of yacc.c */ #line 11230 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_TABLEGROUP_DROP); ;} break; case 1769: /* Line 1455 of yacc.c */ #line 11236 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1770: /* Line 1455 of yacc.c */ #line 11237 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1771: /* Line 1455 of yacc.c */ #line 11241 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1772: /* Line 1455 of yacc.c */ #line 11242 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1773: /* Line 1455 of yacc.c */ #line 11246 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1774: /* Line 1455 of yacc.c */ #line 11247 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1775: /* Line 1455 of yacc.c */ #line 11251 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 1776: /* Line 1455 of yacc.c */ #line 11252 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 1777: /* Line 1455 of yacc.c */ #line 11253 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 1778: /* Line 1455 of yacc.c */ #line 11269 "../../../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 1779: /* Line 1455 of yacc.c */ #line 11273 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CONSTR_NULL); ;} break; case 1780: /* 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_PURGE_TABLE, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1781: /* 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_PURGE_INDEX, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1782: /* Line 1455 of yacc.c */ #line 11296 "../../../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 1783: /* Line 1455 of yacc.c */ #line 11302 "../../../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 1784: /* Line 1455 of yacc.c */ #line 11307 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PURGE_RECYCLEBIN); ;} break; case 1785: /* Line 1455 of yacc.c */ #line 11314 "../../../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 1786: /* Line 1455 of yacc.c */ #line 11321 "../../../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 1787: /* Line 1455 of yacc.c */ #line 11326 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_OPTIMIZE_ALL); ;} break; case 1788: /* Line 1455 of yacc.c */ #line 11332 "../../../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 1789: /* Line 1455 of yacc.c */ #line 11339 "../../../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 1790: /* Line 1455 of yacc.c */ #line 11346 "../../../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 1791: /* Line 1455 of yacc.c */ #line 11353 "../../../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 1792: /* Line 1455 of yacc.c */ #line 11360 "../../../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 1793: /* Line 1455 of yacc.c */ #line 11367 "../../../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 1794: /* Line 1455 of yacc.c */ #line 11374 "../../../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 1795: /* Line 1455 of yacc.c */ #line 11387 "../../../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 1796: /* Line 1455 of yacc.c */ #line 11394 "../../../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 1797: /* Line 1455 of yacc.c */ #line 11399 "../../../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 1798: /* Line 1455 of yacc.c */ #line 11404 "../../../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 1799: /* Line 1455 of yacc.c */ #line 11409 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_FLUSH_DAG_WARNINGS); ;} break; case 1800: /* Line 1455 of yacc.c */ #line 11414 "../../../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 1801: /* Line 1455 of yacc.c */ #line 11419 "../../../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 1802: /* Line 1455 of yacc.c */ #line 11424 "../../../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 1803: /* Line 1455 of yacc.c */ #line 11429 "../../../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 1804: /* Line 1455 of yacc.c */ #line 11434 "../../../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 1805: /* Line 1455 of yacc.c */ #line 11439 "../../../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 1806: /* Line 1455 of yacc.c */ #line 11448 "../../../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 1807: /* Line 1455 of yacc.c */ #line 11453 "../../../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 1808: /* Line 1455 of yacc.c */ #line 11459 "../../../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 1809: /* Line 1455 of yacc.c */ #line 11464 "../../../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 1810: /* Line 1455 of yacc.c */ #line 11469 "../../../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 1811: /* Line 1455 of yacc.c */ #line 11477 "../../../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 1812: /* Line 1455 of yacc.c */ #line 11482 "../../../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 1813: /* Line 1455 of yacc.c */ #line 11487 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CLEAR_MERGE_ERROR); ;} break; case 1814: /* Line 1455 of yacc.c */ #line 11492 "../../../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 1815: /* Line 1455 of yacc.c */ #line 11497 "../../../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 1816: /* Line 1455 of yacc.c */ #line 11505 "../../../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 1817: /* Line 1455 of yacc.c */ #line 11513 "../../../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 1818: /* Line 1455 of yacc.c */ #line 11521 "../../../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 1819: /* Line 1455 of yacc.c */ #line 11526 "../../../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 1820: /* Line 1455 of yacc.c */ #line 11533 "../../../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 1821: /* Line 1455 of yacc.c */ #line 11543 "../../../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 1822: /* Line 1455 of yacc.c */ #line 11548 "../../../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 1823: /* Line 1455 of yacc.c */ #line 11560 "../../../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 1824: /* Line 1455 of yacc.c */ #line 11565 "../../../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 1825: /* Line 1455 of yacc.c */ #line 11570 "../../../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 1826: /* Line 1455 of yacc.c */ #line 11577 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_SYTEM_SETTP_LIST, (yyvsp[(4) - (5)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ALTER_SYSTEM_SETTP, 2, (yyval.node), (yyvsp[(5) - (5)].node)); ;} break; case 1827: /* Line 1455 of yacc.c */ #line 11583 "../../../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 1828: /* Line 1455 of yacc.c */ #line 11588 "../../../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 1829: /* Line 1455 of yacc.c */ #line 11593 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_RELOAD_GTS); ;} break; case 1830: /* Line 1455 of yacc.c */ #line 11598 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_RELOAD_UNIT); ;} break; case 1831: /* Line 1455 of yacc.c */ #line 11603 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_RELOAD_SERVER); ;} break; case 1832: /* Line 1455 of yacc.c */ #line 11608 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_RELOAD_ZONE); ;} break; case 1833: /* Line 1455 of yacc.c */ #line 11613 "../../../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 1834: /* Line 1455 of yacc.c */ #line 11620 "../../../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 1835: /* Line 1455 of yacc.c */ #line 11625 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_UPGRADE_VIRTUAL_SCHEMA); ;} break; case 1836: /* Line 1455 of yacc.c */ #line 11630 "../../../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 1837: /* Line 1455 of yacc.c */ #line 11635 "../../../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 1838: /* Line 1455 of yacc.c */ #line 11640 "../../../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 1839: /* Line 1455 of yacc.c */ #line 11645 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_ADMIN_STOP_UPGRADE_JOB); ;} break; case 1840: /* Line 1455 of yacc.c */ #line 11650 "../../../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 1841: /* Line 1455 of yacc.c */ #line 11655 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_REFRESH_TIME_ZONE_INFO); ;} break; case 1842: /* Line 1455 of yacc.c */ #line 11660 "../../../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 1843: /* Line 1455 of yacc.c */ #line 11665 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_DISABLE_SQL_THROTTLE); ;} break; case 1844: /* Line 1455 of yacc.c */ #line 11670 "../../../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 1845: /* Line 1455 of yacc.c */ #line 11675 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_ADD_RESTORE_SOURCE, 1, (yyvsp[(6) - (6)].node)); ;} break; case 1846: /* Line 1455 of yacc.c */ #line 11680 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_CLEAR_RESTORE_SOURCE); ;} break; case 1847: /* Line 1455 of yacc.c */ #line 11685 "../../../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 1848: /* Line 1455 of yacc.c */ #line 11690 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *tables = NULL; merge_nodes(tables, result, T_TABLE_LIST, (yyvsp[(4) - (14)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PHYSICAL_RESTORE_TENANT, 6, (yyvsp[(6) - (14)].node), (yyvsp[(8) - (14)].node), (yyvsp[(10) - (14)].node), (yyvsp[(12) - (14)].node), (yyvsp[(14) - (14)].node), tables); ;} break; case 1849: /* Line 1455 of yacc.c */ #line 11697 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_PHYSICAL_RESTORE_TENANT, 6, (yyvsp[(4) - (12)].node), (yyvsp[(6) - (12)].node), (yyvsp[(7) - (12)].node), (yyvsp[(9) - (12)].node), (yyvsp[(11) - (12)].node), (yyvsp[(12) - (12)].node)); ;} break; case 1850: /* Line 1455 of yacc.c */ #line 11702 "../../../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 1851: /* Line 1455 of yacc.c */ #line 11707 "../../../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 1852: /* Line 1455 of yacc.c */ #line 11712 "../../../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 1853: /* Line 1455 of yacc.c */ #line 11717 "../../../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 1854: /* 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_ALTER_DISKGROUP_DROP_DISK, 4, (yyvsp[(3) - (8)].node), (yyvsp[(6) - (8)].node), (yyvsp[(7) - (8)].node), (yyvsp[(8) - (8)].node)); ;} break; case 1855: /* Line 1455 of yacc.c */ #line 11727 "../../../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 1856: /* Line 1455 of yacc.c */ #line 11735 "../../../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 1857: /* Line 1455 of yacc.c */ #line 11743 "../../../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 1858: /* Line 1455 of yacc.c */ #line 11751 "../../../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 1859: /* Line 1455 of yacc.c */ #line 11759 "../../../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 1860: /* Line 1455 of yacc.c */ #line 11772 "../../../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 1861: /* Line 1455 of yacc.c */ #line 11785 "../../../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 1862: /* Line 1455 of yacc.c */ #line 11798 "../../../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, 3, type, value, (yyvsp[(6) - (6)].node)); ;} break; case 1863: /* Line 1455 of yacc.c */ #line 11811 "../../../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) - (6)].node)->value_; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_MANAGE, 3, type, value, (yyvsp[(6) - (6)].node)); ;} break; case 1864: /* Line 1455 of yacc.c */ #line 11824 "../../../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, 3, type, value, (yyvsp[(5) - (5)].node)); ;} break; case 1865: /* Line 1455 of yacc.c */ #line 11837 "../../../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) - (6)].node)->value_; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_MANAGE, 3, type, value, (yyvsp[(6) - (6)].node)); ;} break; case 1866: /* Line 1455 of yacc.c */ #line 11850 "../../../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) - (6)].node)->value_; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_MANAGE, 3, type, value, (yyvsp[(6) - (6)].node)); ;} break; case 1867: /* Line 1455 of yacc.c */ #line 11863 "../../../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 1868: /* Line 1455 of yacc.c */ #line 11874 "../../../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 1869: /* Line 1455 of yacc.c */ #line 11885 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 9; 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 1870: /* Line 1455 of yacc.c */ #line 11896 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 11; ParseNode *value = NULL; malloc_terminal_node(value, result->malloc_pool_, T_INT); value->value_ = (yyvsp[(5) - (6)].node)->value_; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_MANAGE, 3, type, value, (yyvsp[(6) - (6)].node)); ;} break; case 1871: /* Line 1455 of yacc.c */ #line 11909 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 13; 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 1872: /* Line 1455 of yacc.c */ #line 11920 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 14; ParseNode *value = NULL; malloc_terminal_node(value, result->malloc_pool_, T_INT); value->value_ = (yyvsp[(5) - (6)].node)->value_; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_MANAGE, 3, type, value, (yyvsp[(6) - (6)].node)); ;} break; case 1873: /* Line 1455 of yacc.c */ #line 11933 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *backup_set_id = NULL; malloc_terminal_node(backup_set_id, result->malloc_pool_, T_INT); backup_set_id->value_ = 0; ParseNode *max_backup_times = NULL; malloc_terminal_node(max_backup_times, result->malloc_pool_, T_INT); max_backup_times->value_ = -1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_BACKUPSET, 4, backup_set_id, (yyvsp[(6) - (7)].node), (yyvsp[(7) - (7)].node), max_backup_times); ;} break; case 1874: /* Line 1455 of yacc.c */ #line 11946 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(5) - (8)].node)); ParseNode *backup_set_id= NULL; malloc_terminal_node(backup_set_id, result->malloc_pool_, T_INT); backup_set_id->value_ = (yyvsp[(6) - (8)].node)->value_; ParseNode *max_backup_times = NULL; malloc_terminal_node(max_backup_times, result->malloc_pool_, T_INT); max_backup_times->value_ = -1; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_BACKUPSET, 4, backup_set_id, (yyvsp[(7) - (8)].node), (yyvsp[(8) - (8)].node), max_backup_times); ;} break; case 1875: /* Line 1455 of yacc.c */ #line 11960 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *backup_set_id = NULL; malloc_terminal_node(backup_set_id, result->malloc_pool_, T_INT); backup_set_id->value_ = 0; ParseNode *max_backup_times = NULL; malloc_terminal_node(max_backup_times, result->malloc_pool_, T_INT); max_backup_times->value_ = (yyvsp[(9) - (12)].node)->value_; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_BACKUPSET, 4, backup_set_id, (yyvsp[(11) - (12)].node), (yyvsp[(12) - (12)].node), max_backup_times); ;} break; case 1876: /* Line 1455 of yacc.c */ #line 11973 "../../../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_BACKUP_ARCHIVELOG, 1, enable); ;} break; case 1877: /* Line 1455 of yacc.c */ #line 11981 "../../../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_BACKUP_ARCHIVELOG, 1, enable); ;} break; case 1878: /* Line 1455 of yacc.c */ #line 11989 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *piece_id = NULL; malloc_terminal_node(piece_id, result->malloc_pool_, T_INT); piece_id->value_ = 0; ParseNode *backup_all = NULL; malloc_terminal_node(backup_all, result->malloc_pool_, T_INT); backup_all->value_ = 1; ParseNode *backup_times = NULL; malloc_terminal_node(backup_times, result->malloc_pool_, T_INT); backup_times->value_ = -1; ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 0; malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_BACKUPPIECE, 7, piece_id, backup_all, backup_times, (yyvsp[(6) - (8)].node), (yyvsp[(7) - (8)].node), (yyvsp[(8) - (8)].node), type); ;} break; case 1879: /* Line 1455 of yacc.c */ #line 12010 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *piece_id = NULL; malloc_terminal_node(piece_id, result->malloc_pool_, T_INT); piece_id->value_ = (yyvsp[(6) - (9)].node)->value_; ParseNode *backup_all = NULL; malloc_terminal_node(backup_all, result->malloc_pool_, T_INT); backup_all->value_ = 0; ParseNode *backup_times = NULL; malloc_terminal_node(backup_times, result->malloc_pool_, T_INT); backup_times->value_ = -1; ParseNode *type = NULL; malloc_terminal_node(type, result->malloc_pool_, T_INT); type->value_ = 1; (void)((yyvsp[(5) - (9)].node)); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_BACKUP_BACKUPPIECE, 7, piece_id, backup_all, backup_times, (yyvsp[(7) - (9)].node), (yyvsp[(8) - (9)].node), (yyvsp[(9) - (9)].node), type); ;} break; case 1880: /* Line 1455 of yacc.c */ #line 12032 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *piece_id = NULL; malloc_terminal_node(piece_id, result->malloc_pool_, T_INT); piece_id->value_ = 0; ParseNode *backup_all = NULL; malloc_terminal_node(backup_all, result->malloc_pool_, T_INT); backup_all->value_ = 1; ParseNode *backup_times = NULL; malloc_terminal_node(backup_times, result->malloc_pool_, T_INT); backup_times->value_ = (yyvsp[(9) - (13)].node)->value_; 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_BACKUP_BACKUPPIECE, 7, piece_id, backup_all, backup_times, (yyvsp[(11) - (13)].node), (yyvsp[(12) - (13)].node), (yyvsp[(13) - (13)].node), type); ;} break; case 1881: /* Line 1455 of yacc.c */ #line 12053 "../../../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 1882: /* Line 1455 of yacc.c */ #line 12061 "../../../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 1883: /* Line 1455 of yacc.c */ #line 12070 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(4) - (4)].node); ;} break; case 1884: /* Line 1455 of yacc.c */ #line 12074 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1885: /* Line 1455 of yacc.c */ #line 12082 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_SQL_THROTTLE_METRICS, (yyvsp[(2) - (2)].node)); ;} break; case 1886: /* Line 1455 of yacc.c */ #line 12089 "../../../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 1887: /* Line 1455 of yacc.c */ #line 12093 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1888: /* 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_RT, 1, (yyvsp[(3) - (3)].node)); ;} break; case 1889: /* Line 1455 of yacc.c */ #line 12104 "../../../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 1890: /* Line 1455 of yacc.c */ #line 12108 "../../../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 1891: /* Line 1455 of yacc.c */ #line 12112 "../../../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 1892: /* Line 1455 of yacc.c */ #line 12116 "../../../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 1893: /* Line 1455 of yacc.c */ #line 12120 "../../../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 1894: /* Line 1455 of yacc.c */ #line 12127 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); (yyval.node) = (yyvsp[(3) - (3)].node); ;} break; case 1895: /* Line 1455 of yacc.c */ #line 12131 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1896: /* Line 1455 of yacc.c */ #line 12136 "../../../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 1897: /* Line 1455 of yacc.c */ #line 12142 "../../../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 1898: /* Line 1455 of yacc.c */ #line 12151 "../../../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 1899: /* Line 1455 of yacc.c */ #line 12156 "../../../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 1900: /* Line 1455 of yacc.c */ #line 12161 "../../../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 1901: /* Line 1455 of yacc.c */ #line 12166 "../../../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 1902: /* Line 1455 of yacc.c */ #line 12171 "../../../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 1903: /* Line 1455 of yacc.c */ #line 12176 "../../../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 1904: /* Line 1455 of yacc.c */ #line 12181 "../../../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 1905: /* Line 1455 of yacc.c */ #line 12186 "../../../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 1906: /* Line 1455 of yacc.c */ #line 12191 "../../../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 1907: /* Line 1455 of yacc.c */ #line 12196 "../../../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 1908: /* Line 1455 of yacc.c */ #line 12201 "../../../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 1909: /* Line 1455 of yacc.c */ #line 12206 "../../../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 1910: /* Line 1455 of yacc.c */ #line 12211 "../../../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 1911: /* Line 1455 of yacc.c */ #line 12216 "../../../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 1912: /* Line 1455 of yacc.c */ #line 12224 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 0; ;} break; case 1913: /* Line 1455 of yacc.c */ #line 12230 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 1914: /* Line 1455 of yacc.c */ #line 12236 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 1915: /* Line 1455 of yacc.c */ #line 12244 "../../../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 1916: /* Line 1455 of yacc.c */ #line 12248 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1917: /* Line 1455 of yacc.c */ #line 12252 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_TENANT_LIST, (yyvsp[(3) - (3)].node)); ;} break; case 1918: /* Line 1455 of yacc.c */ #line 12255 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1919: /* Line 1455 of yacc.c */ #line 12259 "../../../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 1920: /* Line 1455 of yacc.c */ #line 12267 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1921: /* Line 1455 of yacc.c */ #line 12271 "../../../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 1922: /* Line 1455 of yacc.c */ #line 12277 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_BOOL); (yyval.node)->value_ = 1; ;} break; case 1923: /* Line 1455 of yacc.c */ #line 12282 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_BOOL); (yyval.node)->value_ = 0; ;} break; case 1924: /* Line 1455 of yacc.c */ #line 12289 "../../../src/sql/parser/sql_parser_mysql_mode.y" { merge_nodes((yyval.node), result, T_ZONE_LIST, (yyvsp[(3) - (3)].node)); ;} break; case 1925: /* Line 1455 of yacc.c */ #line 12292 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.node) = NULL;;} break; case 1926: /* Line 1455 of yacc.c */ #line 12296 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1927: /* Line 1455 of yacc.c */ #line 12300 "../../../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 1928: /* Line 1455 of yacc.c */ #line 12307 "../../../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 1929: /* Line 1455 of yacc.c */ #line 12314 "../../../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 1930: /* Line 1455 of yacc.c */ #line 12323 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 1931: /* Line 1455 of yacc.c */ #line 12328 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 1932: /* Line 1455 of yacc.c */ #line 12333 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 3; ;} break; case 1933: /* Line 1455 of yacc.c */ #line 12338 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 4; ;} break; case 1934: /* 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_ = 5; ;} break; case 1935: /* 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_ = 6; ;} break; case 1936: /* Line 1455 of yacc.c */ #line 12353 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 7; ;} break; case 1937: /* Line 1455 of yacc.c */ #line 12361 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1938: /* Line 1455 of yacc.c */ #line 12365 "../../../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 1939: /* Line 1455 of yacc.c */ #line 12372 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1940: /* Line 1455 of yacc.c */ #line 12376 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 1941: /* Line 1455 of yacc.c */ #line 12383 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1942: /* Line 1455 of yacc.c */ #line 12387 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); (yyval.node) = (yyvsp[(3) - (3)].node); ;} break; case 1943: /* Line 1455 of yacc.c */ #line 12395 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1944: /* Line 1455 of yacc.c */ #line 12399 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_BOOL); (yyval.node)->value_ = 1; ;} break; case 1945: /* Line 1455 of yacc.c */ #line 12407 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1946: /* Line 1455 of yacc.c */ #line 12411 "../../../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 1947: /* Line 1455 of yacc.c */ #line 12419 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1948: /* Line 1455 of yacc.c */ #line 12423 "../../../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 1949: /* Line 1455 of yacc.c */ #line 12431 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 1950: /* Line 1455 of yacc.c */ #line 12436 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 3; ;} break; case 1951: /* Line 1455 of yacc.c */ #line 12441 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 4; ;} break; case 1952: /* Line 1455 of yacc.c */ #line 12446 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 6; ;} break; case 1953: /* Line 1455 of yacc.c */ #line 12451 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 7; ;} break; case 1954: /* Line 1455 of yacc.c */ #line 12459 "../../../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 1955: /* Line 1455 of yacc.c */ #line 12467 "../../../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 1956: /* Line 1455 of yacc.c */ #line 12475 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1957: /* Line 1455 of yacc.c */ #line 12479 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1958: /* Line 1455 of yacc.c */ #line 12486 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_COPY_ID, 1, (yyvsp[(2) - (2)].node)); ;} break; case 1959: /* Line 1455 of yacc.c */ #line 12490 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1960: /* Line 1455 of yacc.c */ #line 12497 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_PREVIEW); ;} break; case 1961: /* Line 1455 of yacc.c */ #line 12501 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1962: /* Line 1455 of yacc.c */ #line 12508 "../../../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 1963: /* Line 1455 of yacc.c */ #line 12513 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1964: /* Line 1455 of yacc.c */ #line 12520 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1965: /* Line 1455 of yacc.c */ #line 12524 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1966: /* Line 1455 of yacc.c */ #line 12531 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1967: /* Line 1455 of yacc.c */ #line 12535 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1968: /* Line 1455 of yacc.c */ #line 12542 "../../../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 1969: /* Line 1455 of yacc.c */ #line 12548 "../../../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 1970: /* Line 1455 of yacc.c */ #line 12554 "../../../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 1971: /* Line 1455 of yacc.c */ #line 12563 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1972: /* Line 1455 of yacc.c */ #line 12567 "../../../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 1973: /* Line 1455 of yacc.c */ #line 12571 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1974: /* Line 1455 of yacc.c */ #line 12578 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1975: /* Line 1455 of yacc.c */ #line 12582 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1976: /* Line 1455 of yacc.c */ #line 12586 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1977: /* Line 1455 of yacc.c */ #line 12593 "../../../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 1978: /* Line 1455 of yacc.c */ #line 12601 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1979: /* Line 1455 of yacc.c */ #line 12605 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1980: /* Line 1455 of yacc.c */ #line 12609 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1981: /* Line 1455 of yacc.c */ #line 12616 "../../../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 1982: /* Line 1455 of yacc.c */ #line 12620 "../../../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 1983: /* Line 1455 of yacc.c */ #line 12624 "../../../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 1984: /* 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_ = 1; ;} break; case 1985: /* Line 1455 of yacc.c */ #line 12636 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 1986: /* Line 1455 of yacc.c */ #line 12644 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1987: /* Line 1455 of yacc.c */ #line 12648 "../../../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 1988: /* Line 1455 of yacc.c */ #line 12655 "../../../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 1989: /* Line 1455 of yacc.c */ #line 12659 "../../../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 1990: /* Line 1455 of yacc.c */ #line 12666 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); (yyval.node) = (yyvsp[(3) - (3)].node); ;} break; case 1991: /* Line 1455 of yacc.c */ #line 12674 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); (yyval.node) = (yyvsp[(3) - (3)].node); ;} break; case 1992: /* Line 1455 of yacc.c */ #line 12682 "../../../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 1993: /* Line 1455 of yacc.c */ #line 12688 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 3; ;} break; case 1994: /* Line 1455 of yacc.c */ #line 12696 "../../../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 1995: /* Line 1455 of yacc.c */ #line 12704 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1996: /* Line 1455 of yacc.c */ #line 12708 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 1997: /* Line 1455 of yacc.c */ #line 12716 "../../../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 1998: /* Line 1455 of yacc.c */ #line 12724 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 1999: /* Line 1455 of yacc.c */ #line 12728 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 2000: /* Line 1455 of yacc.c */ #line 12735 "../../../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 2001: /* Line 1455 of yacc.c */ #line 12742 "../../../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 2002: /* Line 1455 of yacc.c */ #line 12750 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 2003: /* Line 1455 of yacc.c */ #line 12754 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 2004: /* Line 1455 of yacc.c */ #line 12761 "../../../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 2005: /* Line 1455 of yacc.c */ #line 12768 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (void)((yyvsp[(2) - (3)].node)); malloc_terminal_node((yyval.node), result->malloc_pool_, T_TENANT_NAME); (yyval.node)->str_value_ = (yyvsp[(3) - (3)].node)->str_value_; (yyval.node)->str_len_ = (yyvsp[(3) - (3)].node)->str_len_; ;} break; case 2006: /* Line 1455 of yacc.c */ #line 12775 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 2007: /* Line 1455 of yacc.c */ #line 12782 "../../../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 2008: /* Line 1455 of yacc.c */ #line 12790 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 2009: /* Line 1455 of yacc.c */ #line 12794 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 2010: /* Line 1455 of yacc.c */ #line 12801 "../../../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 2011: /* Line 1455 of yacc.c */ #line 12809 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node) ;} break; case 2012: /* Line 1455 of yacc.c */ #line 12813 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 2013: /* Line 1455 of yacc.c */ #line 12820 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 2014: /* Line 1455 of yacc.c */ #line 12825 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 2015: /* Line 1455 of yacc.c */ #line 12832 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 2016: /* Line 1455 of yacc.c */ #line 12836 "../../../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 2017: /* Line 1455 of yacc.c */ #line 12844 "../../../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 2018: /* Line 1455 of yacc.c */ #line 12857 "../../../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 2019: /* Line 1455 of yacc.c */ #line 12872 "../../../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 2020: /* Line 1455 of yacc.c */ #line 12887 "../../../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 2021: /* Line 1455 of yacc.c */ #line 12902 "../../../src/sql/parser/sql_parser_mysql_mode.y" { ParseNode *backup_backup_dest = NULL; make_name_node(backup_backup_dest, result->malloc_pool_, "backup_backup_dest"); malloc_non_terminal_node((yyval.node), result->malloc_pool_, T_SYSTEM_ACTION, 5, backup_backup_dest, /* 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 2022: /* Line 1455 of yacc.c */ #line 12918 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; case 2023: /* Line 1455 of yacc.c */ #line 12920 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 2024: /* Line 1455 of yacc.c */ #line 12925 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 2025: /* Line 1455 of yacc.c */ #line 12929 "../../../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 2026: /* Line 1455 of yacc.c */ #line 12933 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = NULL; ;} break; case 2027: /* Line 1455 of yacc.c */ #line 12940 "../../../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 2028: /* Line 1455 of yacc.c */ #line 12945 "../../../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 2029: /* Line 1455 of yacc.c */ #line 12950 "../../../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 2030: /* Line 1455 of yacc.c */ #line 12955 "../../../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 2031: /* Line 1455 of yacc.c */ #line 12960 "../../../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 2032: /* Line 1455 of yacc.c */ #line 12968 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.ival)[0]=1;;} break; case 2033: /* Line 1455 of yacc.c */ #line 12970 "../../../src/sql/parser/sql_parser_mysql_mode.y" {(yyval.ival)[0]=0;;} break; case 2034: /* Line 1455 of yacc.c */ #line 12975 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 0; ;} break; case 2035: /* Line 1455 of yacc.c */ #line 12977 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 1; ;} break; case 2036: /* Line 1455 of yacc.c */ #line 12979 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 2037: /* Line 1455 of yacc.c */ #line 12981 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.ival)[0] = 2; ;} break; case 2038: /* Line 1455 of yacc.c */ #line 13001 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 0; ;} break; case 2039: /* Line 1455 of yacc.c */ #line 13006 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 2040: /* Line 1455 of yacc.c */ #line 13014 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 2041: /* Line 1455 of yacc.c */ #line 13019 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 2042: /* Line 1455 of yacc.c */ #line 13029 "../../../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 2043: /* Line 1455 of yacc.c */ #line 13037 "../../../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 2044: /* Line 1455 of yacc.c */ #line 13045 "../../../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 2045: /* Line 1455 of yacc.c */ #line 13051 "../../../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 2046: /* Line 1455 of yacc.c */ #line 13057 "../../../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 2047: /* Line 1455 of yacc.c */ #line 13063 "../../../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 2048: /* Line 1455 of yacc.c */ #line 13071 "../../../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 2049: /* Line 1455 of yacc.c */ #line 13075 "../../../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 2050: /* Line 1455 of yacc.c */ #line 13079 "../../../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 2051: /* Line 1455 of yacc.c */ #line 13083 "../../../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 2052: /* Line 1455 of yacc.c */ #line 13089 "../../../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 2053: /* Line 1455 of yacc.c */ #line 13094 "../../../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 2054: /* Line 1455 of yacc.c */ #line 13101 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 0; ;} break; case 2055: /* Line 1455 of yacc.c */ #line 13106 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 1; ;} break; case 2056: /* Line 1455 of yacc.c */ #line 13111 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 2; ;} break; case 2057: /* Line 1455 of yacc.c */ #line 13116 "../../../src/sql/parser/sql_parser_mysql_mode.y" { malloc_terminal_node((yyval.node), result->malloc_pool_, T_INT); (yyval.node)->value_ = 3; ;} break; case 2058: /* Line 1455 of yacc.c */ #line 13127 "../../../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 2059: /* Line 1455 of yacc.c */ #line 13135 "../../../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 2060: /* Line 1455 of yacc.c */ #line 13141 "../../../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 2061: /* Line 1455 of yacc.c */ #line 13147 "../../../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 2062: /* Line 1455 of yacc.c */ #line 13155 "../../../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 2063: /* Line 1455 of yacc.c */ #line 13170 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 2064: /* Line 1455 of yacc.c */ #line 13174 "../../../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 2065: /* Line 1455 of yacc.c */ #line 13181 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node);;} break; case 2066: /* Line 1455 of yacc.c */ #line 13183 "../../../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 2067: /* Line 1455 of yacc.c */ #line 13189 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 2068: /* Line 1455 of yacc.c */ #line 13191 "../../../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 2069: /* Line 1455 of yacc.c */ #line 13198 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 2070: /* Line 1455 of yacc.c */ #line 13202 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "dump"); ;} break; case 2071: /* Line 1455 of yacc.c */ #line 13206 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "charset"); ;} break; case 2072: /* Line 1455 of yacc.c */ #line 13210 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "collation"); ;} break; case 2073: /* Line 1455 of yacc.c */ #line 13214 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "version"); ;} break; case 2074: /* Line 1455 of yacc.c */ #line 13218 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "user"); ;} break; case 2075: /* Line 1455 of yacc.c */ #line 13222 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "database"); ;} break; case 2076: /* Line 1455 of yacc.c */ #line 13226 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "database"); ;} break; case 2077: /* Line 1455 of yacc.c */ #line 13230 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "coalesce"); ;} break; case 2078: /* Line 1455 of yacc.c */ #line 13234 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "repeat"); ;} break; case 2079: /* Line 1455 of yacc.c */ #line 13238 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "row_count"); ;} break; case 2080: /* Line 1455 of yacc.c */ #line 13242 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "reverse"); ;} break; case 2081: /* Line 1455 of yacc.c */ #line 13246 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "right"); ;} break; case 2082: /* Line 1455 of yacc.c */ #line 13250 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "current_user"); ;} break; case 2083: /* Line 1455 of yacc.c */ #line 13254 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "user"); ;} break; case 2084: /* Line 1455 of yacc.c */ #line 13258 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "user"); ;} break; case 2085: /* Line 1455 of yacc.c */ #line 13262 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "replace"); ;} break; case 2086: /* Line 1455 of yacc.c */ #line 13266 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "truncate"); ;} break; case 2087: /* Line 1455 of yacc.c */ #line 13270 "../../../src/sql/parser/sql_parser_mysql_mode.y" { make_name_node((yyval.node), result->malloc_pool_, "format"); ;} break; case 2088: /* Line 1455 of yacc.c */ #line 13277 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 2089: /* Line 1455 of yacc.c */ #line 13279 "../../../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 2090: /* Line 1455 of yacc.c */ #line 13286 "../../../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 2091: /* Line 1455 of yacc.c */ #line 13294 "../../../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 2092: /* Line 1455 of yacc.c */ #line 13302 "../../../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 2093: /* Line 1455 of yacc.c */ #line 13310 "../../../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 2094: /* Line 1455 of yacc.c */ #line 13318 "../../../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 2095: /* Line 1455 of yacc.c */ #line 13326 "../../../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 2096: /* Line 1455 of yacc.c */ #line 13334 "../../../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 2097: /* Line 1455 of yacc.c */ #line 13342 "../../../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 2098: /* Line 1455 of yacc.c */ #line 13350 "../../../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 2099: /* Line 1455 of yacc.c */ #line 13358 "../../../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 2100: /* Line 1455 of yacc.c */ #line 13366 "../../../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 2101: /* Line 1455 of yacc.c */ #line 13374 "../../../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 2102: /* Line 1455 of yacc.c */ #line 13382 "../../../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 2103: /* Line 1455 of yacc.c */ #line 13390 "../../../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 2104: /* Line 1455 of yacc.c */ #line 13398 "../../../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 2105: /* Line 1455 of yacc.c */ #line 13406 "../../../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 2106: /* Line 1455 of yacc.c */ #line 13414 "../../../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 2107: /* Line 1455 of yacc.c */ #line 13422 "../../../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 2108: /* Line 1455 of yacc.c */ #line 13430 "../../../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 2109: /* Line 1455 of yacc.c */ #line 13438 "../../../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 2110: /* Line 1455 of yacc.c */ #line 13448 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.non_reserved_keyword)=(yyvsp[(1) - (1)].non_reserved_keyword);;} break; case 2111: /* Line 1455 of yacc.c */ #line 13449 "../../../src/sql/parser/sql_parser_mysql_mode.y" { (yyval.non_reserved_keyword)=(yyvsp[(1) - (1)].non_reserved_keyword);;} break; case 2112: /* Line 1455 of yacc.c */ #line 13450 "../../../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 55503 "../../../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 14345 "../../../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; }