diff --git a/Server/src/main/content/region/desert/handlers/DesertZone.java b/Server/src/main/content/region/desert/handlers/DesertZone.java index 3110c7233..b05bd6fe2 100644 --- a/Server/src/main/content/region/desert/handlers/DesertZone.java +++ b/Server/src/main/content/region/desert/handlers/DesertZone.java @@ -74,6 +74,9 @@ public final class DesertZone extends MapZone implements Plugin { * @param p the Player. */ private static void effect(Player p) { + if (p.getAttribute("/save:desert-heat-disabled", false)) { + return; + } p.setAttribute("desert-delay", GameWorld.getTicks() + getDelay(p)); evaporate(p); if (drink(p)) { diff --git a/Server/src/main/core/game/system/command/sets/AnimationCommandSet.kt b/Server/src/main/core/game/system/command/sets/AnimationCommandSet.kt index d06258333..8034d1d5f 100644 --- a/Server/src/main/core/game/system/command/sets/AnimationCommandSet.kt +++ b/Server/src/main/core/game/system/command/sets/AnimationCommandSet.kt @@ -1,18 +1,17 @@ package core.game.system.command.sets -import core.api.animate -import core.api.delayScript -import core.api.queueScript -import core.api.stopExecuting +import core.api.* import core.game.interaction.QueueStrength import core.game.node.entity.npc.NPC -import core.game.system.task.Pulse -import core.game.world.update.flag.context.Animation -import core.plugin.Initializable import core.game.system.command.CommandPlugin.Companion.toInteger import core.game.system.command.Privilege +import core.game.system.config.HumanoidAnimationIds +import core.game.system.task.Pulse import core.game.world.GameWorld -import java.util.* +import core.game.world.map.Location +import core.game.world.update.flag.context.Animation +import core.game.world.update.flag.context.Graphics +import core.plugin.Initializable @Initializable class AnimationCommandSet : CommandSet(Privilege.ADMIN) { @@ -26,22 +25,22 @@ class AnimationCommandSet : CommandSet(Privilege.ADMIN) { */ define("anim", Privilege.ADMIN, "::anim Animation ID", "Plays the animation with the given ID."){ player, args -> if (args.size < 2) { - reject(player, "Syntax error: ::anim ") + reject(player, "Syntax error: ::anim Animation ID") } val animation = Animation(args[1].toInt()) player.animate(animation) } - define("anims", Privilege.ADMIN, "::anims <(opt) Duration Per Animation>", "Plays animations from the From ID to the To ID, with a delay of 3 between animations, unless specified otherwise"){ player, args -> + define("anims", Privilege.ADMIN, "::anims From Animation ID To Animation ID (opt) Duration Per Animation", "Plays animations from the From ID to the To ID, with a delay of 3 between animations, unless specified otherwise"){ player, args -> if (args.size < 3) { - reject(player, "Syntax error: ::anims <(opt) Duration Per Animation>") + reject(player, "Syntax error: ::anims From Animation ID To Animation ID (opt) Duration Per Animation") } val animationFrom = args[1].toInt() val animationTo = args[2].toInt() val animationDelay = (args.getOrNull(3) ?: "3").toInt() - queueScript(player, 1, QueueStrength.STRONG) { stage: Int -> + queueScript(player, 1, QueueStrength.WEAK) { stage: Int -> val animationId = animationFrom + stage animate(player, animationId, true) notify(player, "Playing animation $animationId") @@ -54,6 +53,119 @@ class AnimationCommandSet : CommandSet(Privilege.ADMIN) { } } + /** Same as ::anims but only plays animations compatible with the player/humanoid skeleton. */ + define("panims", Privilege.ADMIN, "::panims From Animation ID To Animation ID (opt) Duration Per Animation", "Same as ::anims but only plays animations compatible with the player/humanoid skeleton."){ player, args -> + + if (args.size < 3) { + reject(player, "Syntax error: ::panims From Animation ID To Animation ID (opt) Duration Per Animation") + } + val animationFrom = args[1].toInt() + val animationTo = args[2].toInt() + val animationDelay = (args.getOrNull(3) ?: "3").toInt() + var animationId = animationFrom + + queueScript(player, 1, QueueStrength.WEAK) { + while (animationId <= animationTo && !HumanoidAnimationIds.contains(animationId)) { + animationId++ + } + + if (animationId > animationTo) { + return@queueScript stopExecuting(player) + } + + animate(player, animationId, true) + notify(player, "Playing player animation $animationId") + + animationId++ + + return@queueScript delayScript(player, animationDelay) + } + } + + /** Cycles graphics on the player. */ + define("gfxs", Privilege.ADMIN, "::gfxs From Graphic ID To Graphic ID (opt) Duration (opt) Height", "Cycles graphics on the player.") { player, args -> + if (args.size !in 3..5) { + reject(player, "Syntax error: ::gfxs From Graphic ID To Graphic ID (opt) Duration (opt) Height") + } + + val graphicsFrom = args[1].toInt() + val graphicsTo = args[2].toInt() + val graphicsDelay = (args.getOrNull(3) ?: "3").toInt() + val graphicsHeight = (args.getOrNull(4) ?: "0").toInt() + + var graphicsId = graphicsFrom + + queueScript(player, 1, QueueStrength.WEAK) { + visualize(player, -1, Graphics(graphicsId, graphicsHeight)) + notify(player, "Playing graphics $graphicsId") + + if (graphicsId == graphicsTo) { + return@queueScript stopExecuting(player) + } + + graphicsId++ + return@queueScript delayScript(player, graphicsDelay) + } + } + + /** Cycles animations on an interface child. */ + define("ianims", Privilege.ADMIN, "::ianims Interface ID Child ID From Animation ID To Animation ID (opt) Duration", "Cycles animations on an interface child.") { player, args -> + if (args.size !in 4..6) { + reject(player, "Syntax error: ::ianims Interface ID Child ID From Animation ID To Animation ID (opt) Duration") + } + + val interfaceId = args[1].toInt() + val childId = args[2].toInt() + val animationFrom = args[3].toInt() + val animationTo = args.getOrNull(4)?.toInt() ?: animationFrom + val animationDelay = (args.getOrNull(5) ?: "3").toInt() + var animationId = animationFrom + + openInterface(player, interfaceId) + + queueScript(player, 1, QueueStrength.WEAK) { + animateInterface(player, interfaceId, childId, animationId) + notify(player, "Playing interface animation $animationId on $interfaceId:$childId") + + if (animationId == animationTo) { + return@queueScript stopExecuting(player) + } + + animationId++ + return@queueScript delayScript(player, animationDelay) + } + } + + /** Cycles animations on a scenery object. */ + define("sanims", Privilege.ADMIN, "::sanims From Animation ID To Animation ID X Y (opt) Duration", "Cycles animations on scenery at the given tile.") { player, args -> + if (args.size !in 5..6) { + reject(player, "Syntax error: ::sanims From Animation ID To Animation ID X Y (opt) Duration") + } + + val animationFrom = args[1].toInt() + val animationTo = args[2].toInt() + val location = Location(args[3].toInt(), args[4].toInt(), player.location.z) + val animationDelay = (args.getOrNull(5) ?: "3").toInt() + val sceneryObject = getScenery(location) ?: run { + reject(player, "No scenery found at $location.") + return@define + } + + var animationId = animationFrom + + queueScript(player, 1, QueueStrength.WEAK) { + animateScenery(player, sceneryObject, animationId) + notify(player, "Playing scenery animation $animationId on scenery ${sceneryObject.id}") + + if (animationId == animationTo) { + return@queueScript stopExecuting(player) + } + + animationId++ + return@queueScript delayScript(player, animationDelay) + } + } + /** * Force the player to loop animation */ diff --git a/Server/src/main/core/game/system/command/sets/DevelopmentCommandSet.kt b/Server/src/main/core/game/system/command/sets/DevelopmentCommandSet.kt index 25ef32fef..22615a7ef 100644 --- a/Server/src/main/core/game/system/command/sets/DevelopmentCommandSet.kt +++ b/Server/src/main/core/game/system/command/sets/DevelopmentCommandSet.kt @@ -43,6 +43,7 @@ import content.global.activity.penguinhns.PenguinManager.Companion.spawner import content.global.activity.penguinhns.PenguinManager.Companion.tagMapping import content.global.activity.penguinhns.PenguinManager.Companion.updateStoreFile import core.ServerStore.Companion.toJSONArray +import core.game.interaction.QueueStrength import org.rs09.consts.NPCs @Initializable @@ -369,11 +370,76 @@ class DevelopmentCommandSet : CommandSet(Privilege.ADMIN) { setAttribute(player, "draw-intersect", !getAttribute(player, "draw-intersect", false)) } - define("expression", Privilege.ADMIN, "::expression id", "Visualizes chathead animations from ID.") { player, args -> - if(args.size != 2) - reject(player, "Usage: ::expression id") - val id = args[1].toIntOrNull() ?: 9804 - player.dialogueInterpreter.sendDialogues(player, id, "Expression ID: $id") + define("expression", Privilege.ADMIN, "::expression expression id (opt) npc id", "Visualizes chathead animations from ID. Works with ::pnpc") { player, args -> + if (args.size !in 2..3 || args[1].toIntOrNull() == null || (args.size == 3 && args[2].toIntOrNull() == null)) { + reject(player, "Usage: ::expression expression id (opt) npc id") + return@define + } + + val id = args[1].toInt() + val explicitNpcId = args.getOrNull(2)?.toIntOrNull() + + when { + explicitNpcId != null -> player.dialogueInterpreter.sendDialogues( + explicitNpcId, + id, + "Expression ID: $id" + ) + + player.appearance.isNpc -> player.dialogueInterpreter.sendDialogues( + player.appearance.npcId, + id, + "Expression ID: $id" + ) + + else -> player.dialogueInterpreter.sendDialogues(player, id, "Expression ID: $id") + } + } + + define("expressions", Privilege.ADMIN, "::expressions expression id expression id (opt) duration (opt) npc id", "Cycles chathead animations from expression id to id") { player, args -> + if (args.size !in 3..5 || args[1].toIntOrNull() == null || args[2].toIntOrNull() == null || (args.size >= 4 && args[3].toIntOrNull() == null) || (args.size == 5 && args[4].toIntOrNull() == null)) { + reject(player, "Usage: ::expressions expression id expression id (opt) duration (opt) npc id") + return@define + } + + val expressionFrom = args[1].toInt() + val expressionTo = args[2].toInt() + val expressionDelay = (args.getOrNull(3) ?: "5").toInt() + val explicitNpcId = args.getOrNull(4)?.toIntOrNull() + + queueScript(player, 1, QueueStrength.WEAK) { stage: Int -> + val expressionId = expressionFrom + stage + + when { + explicitNpcId != null -> player.dialogueInterpreter.sendDialogues( + explicitNpcId, + expressionId, + "Expression ID: $expressionId" + ) + + player.appearance.isNpc -> + player.dialogueInterpreter.sendDialogues( + player.appearance.npcId, + expressionId, + "Expression ID: $expressionId" + ) + + else -> + player.dialogueInterpreter.sendDialogues( + player, + expressionId, + "Expression ID: $expressionId" + ) + } + + notify(player, "Expression ID: $expressionId") + + if (expressionId == expressionTo) { + return@queueScript stopExecuting(player) + } + + return@queueScript delayScript(player, expressionDelay) + } } define("timers", Privilege.ADMIN, "::timers", "Print out timers") { player, args -> @@ -508,5 +574,10 @@ class DevelopmentCommandSet : CommandSet(Privilege.ADMIN) { player.debug("Penguin spawned at:$pengCoords") } + define("heat", Privilege.ADMIN, "::heat", "Toggles desert heat damage.") { player, _ -> + val disabled = !player.getAttribute("/save:desert-heat-disabled", false) + player.setAttribute("/save:desert-heat-disabled", disabled) + notify(player, "Desert heat is ${if (disabled) "disabled" else "enabled"}.") } + } } diff --git a/Server/src/main/core/game/system/config/HumanoidAnimationIds.kt b/Server/src/main/core/game/system/config/HumanoidAnimationIds.kt new file mode 100644 index 000000000..17e3e4e3a --- /dev/null +++ b/Server/src/main/core/game/system/config/HumanoidAnimationIds.kt @@ -0,0 +1,4214 @@ +package core.game.system.config + +/** + * Animation ids from cache base 0, used by the player and most humanoid NPC models. + * @author Edith + */ + +object HumanoidAnimationIds { + + fun contains(id: Int): Boolean { + return id in ids + } + + val ids = setOf( + 3, + 5, + 13, + 14, + 15, + 70, + 71, + 87, + 88, + 173, + 226, + 227, + 228, + 329, + 330, + 331, + 346, + 347, + 352, + 356, + 363, + 364, + 365, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 406, + 407, + 409, + 410, + 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, + 440, + 451, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 582, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 642, + 645, + 654, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 748, + 749, + 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, + 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, + 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, + 904, + 905, + 906, + 908, + 909, + 910, + 911, + 915, + 916, + 918, + 919, + 920, + 921, + 923, + 929, + 931, + 1026, + 1034, + 1035, + 1036, + 1037, + 1056, + 1057, + 1058, + 1060, + 1062, + 1064, + 1067, + 1068, + 1074, + 1077, + 1078, + 1084, + 1100, + 1105, + 1106, + 1110, + 1113, + 1114, + 1115, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1137, + 1144, + 1145, + 1146, + 1147, + 1148, + 1156, + 1157, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1203, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1248, + 1249, + 1252, + 1258, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1275, + 1280, + 1306, + 1307, + 1309, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1335, + 1336, + 1337, + 1350, + 1351, + 1352, + 1353, + 1354, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1374, + 1375, + 1379, + 1407, + 1408, + 1409, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1440, + 1441, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1499, + 1500, + 1501, + 1502, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1514, + 1515, + 1516, + 1517, + 1531, + 1544, + 1548, + 1550, + 1551, + 1552, + 1559, + 1560, + 1563, + 1565, + 1567, + 1572, + 1575, + 1601, + 1602, + 1603, + 1604, + 1605, + 1606, + 1633, + 1634, + 1638, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1658, + 1659, + 1660, + 1661, + 1662, + 1663, + 1664, + 1665, + 1666, + 1667, + 1670, + 1671, + 1672, + 1673, + 1705, + 1722, + 1723, + 1724, + 1725, + 1728, + 1734, + 1739, + 1740, + 1743, + 1744, + 1745, + 1746, + 1755, + 1762, + 1763, + 1764, + 1765, + 1766, + 1767, + 1768, + 1769, + 1770, + 1771, + 1772, + 1809, + 1810, + 1811, + 1816, + 1818, + 1819, + 1820, + 1830, + 1831, + 1832, + 1833, + 1834, + 1835, + 1836, + 1837, + 1850, + 1851, + 1852, + 1871, + 1872, + 1877, + 1878, + 1879, + 1880, + 1894, + 1895, + 1897, + 1902, + 1903, + 1904, + 1905, + 1906, + 1907, + 1914, + 1950, + 1952, + 1953, + 1954, + 1955, + 1972, + 1978, + 1979, + 1988, + 1989, + 1992, + 1993, + 1994, + 1995, + 1996, + 2009, + 2010, + 2033, + 2034, + 2036, + 2037, + 2040, + 2041, + 2042, + 2043, + 2044, + 2045, + 2046, + 2047, + 2048, + 2049, + 2050, + 2059, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2066, + 2067, + 2068, + 2074, + 2075, + 2076, + 2077, + 2078, + 2079, + 2080, + 2081, + 2082, + 2092, + 2093, + 2094, + 2095, + 2096, + 2097, + 2098, + 2105, + 2106, + 2107, + 2108, + 2109, + 2110, + 2111, + 2112, + 2113, + 2127, + 2128, + 2139, + 2140, + 2141, + 2142, + 2143, + 2144, + 2145, + 2146, + 2147, + 2148, + 2149, + 2163, + 2164, + 2171, + 2239, + 2240, + 2241, + 2242, + 2243, + 2244, + 2245, + 2246, + 2247, + 2248, + 2249, + 2250, + 2251, + 2252, + 2253, + 2254, + 2255, + 2256, + 2257, + 2258, + 2259, + 2261, + 2262, + 2263, + 2267, + 2269, + 2270, + 2271, + 2272, + 2273, + 2274, + 2275, + 2276, + 2277, + 2278, + 2279, + 2280, + 2281, + 2282, + 2283, + 2284, + 2285, + 2286, + 2288, + 2289, + 2290, + 2291, + 2292, + 2293, + 2295, + 2304, + 2305, + 2306, + 2311, + 2313, + 2316, + 2317, + 2318, + 2319, + 2320, + 2321, + 2322, + 2323, + 2324, + 2325, + 2326, + 2332, + 2333, + 2334, + 2338, + 2339, + 2340, + 2343, + 2376, + 2377, + 2378, + 2382, + 2383, + 2384, + 2385, + 2386, + 2387, + 2388, + 2389, + 2390, + 2393, + 2394, + 2400, + 2401, + 2403, + 2409, + 2410, + 2411, + 2413, + 2414, + 2420, + 2421, + 2422, + 2423, + 2424, + 2425, + 2426, + 2427, + 2428, + 2429, + 2430, + 2431, + 2432, + 2433, + 2441, + 2442, + 2443, + 2450, + 2553, + 2554, + 2555, + 2556, + 2557, + 2561, + 2562, + 2563, + 2565, + 2566, + 2569, + 2570, + 2572, + 2573, + 2574, + 2575, + 2576, + 2577, + 2578, + 2579, + 2580, + 2581, + 2582, + 2583, + 2584, + 2585, + 2586, + 2588, + 2589, + 2590, + 2591, + 2592, + 2593, + 2594, + 2595, + 2614, + 2661, + 2692, + 2693, + 2695, + 2696, + 2697, + 2698, + 2700, + 2701, + 2702, + 2710, + 2712, + 2713, + 2716, + 2717, + 2720, + 2721, + 2724, + 2726, + 2727, + 2728, + 2741, + 2750, + 2751, + 2752, + 2753, + 2754, + 2755, + 2756, + 2757, + 2758, + 2759, + 2760, + 2761, + 2762, + 2763, + 2764, + 2769, + 2770, + 2771, + 2779, + 2780, + 2781, + 2782, + 2783, + 2784, + 2785, + 2786, + 2787, + 2788, + 2791, + 2793, + 2794, + 2795, + 2796, + 2797, + 2798, + 2799, + 2800, + 2801, + 2810, + 2811, + 2812, + 2813, + 2815, + 2816, + 2817, + 2818, + 2819, + 2820, + 2829, + 2831, + 2833, + 2835, + 2837, + 2838, + 2839, + 2840, + 2843, + 2844, + 2845, + 2846, + 2847, + 2876, + 2879, + 2880, + 2881, + 2888, + 2890, + 2891, + 2902, + 2903, + 2909, + 2910, + 2911, + 2912, + 2913, + 2914, + 2920, + 2921, + 2922, + 2923, + 2924, + 2925, + 2926, + 2927, + 2928, + 2929, + 2930, + 2933, + 2937, + 2938, + 2939, + 2940, + 2941, + 2953, + 2967, + 2968, + 2972, + 2984, + 2985, + 2986, + 2987, + 2988, + 2991, + 2992, + 2993, + 2994, + 2995, + 2999, + 3000, + 3001, + 3002, + 3003, + 3004, + 3005, + 3006, + 3007, + 3032, + 3036, + 3039, + 3040, + 3041, + 3042, + 3043, + 3044, + 3045, + 3053, + 3054, + 3055, + 3056, + 3057, + 3058, + 3059, + 3060, + 3061, + 3062, + 3063, + 3064, + 3065, + 3066, + 3067, + 3068, + 3069, + 3071, + 3090, + 3091, + 3094, + 3102, + 3103, + 3108, + 3109, + 3110, + 3115, + 3116, + 3128, + 3129, + 3130, + 3131, + 3132, + 3133, + 3134, + 3135, + 3136, + 3137, + 3140, + 3141, + 3142, + 3143, + 3157, + 3170, + 3171, + 3175, + 3176, + 3177, + 3178, + 3181, + 3182, + 3184, + 3185, + 3186, + 3187, + 3191, + 3192, + 3194, + 3195, + 3238, + 3239, + 3240, + 3243, + 3254, + 3255, + 3256, + 3257, + 3265, + 3266, + 3269, + 3270, + 3271, + 3272, + 3274, + 3275, + 3276, + 3277, + 3278, + 3279, + 3280, + 3281, + 3282, + 3283, + 3284, + 3285, + 3286, + 3287, + 3288, + 3289, + 3290, + 3291, + 3292, + 3293, + 3294, + 3295, + 3296, + 3297, + 3298, + 3299, + 3300, + 3301, + 3302, + 3303, + 3324, + 3325, + 3326, + 3327, + 3334, + 3335, + 3337, + 3338, + 3339, + 3340, + 3341, + 3342, + 3348, + 3353, + 3356, + 3358, + 3359, + 3360, + 3361, + 3362, + 3363, + 3364, + 3365, + 3366, + 3367, + 3368, + 3369, + 3370, + 3371, + 3372, + 3373, + 3374, + 3375, + 3396, + 3397, + 3399, + 3415, + 3416, + 3417, + 3418, + 3419, + 3420, + 3421, + 3422, + 3423, + 3450, + 3451, + 3452, + 3461, + 3471, + 3475, + 3495, + 3496, + 3497, + 3543, + 3544, + 3547, + 3550, + 3551, + 3552, + 3553, + 3555, + 3557, + 3563, + 3564, + 3565, + 3566, + 3571, + 3572, + 3592, + 3593, + 3594, + 3595, + 3596, + 3597, + 3598, + 3599, + 3600, + 3602, + 3603, + 3605, + 3606, + 3608, + 3609, + 3611, + 3621, + 3622, + 3623, + 3624, + 3625, + 3626, + 3627, + 3630, + 3634, + 3635, + 3636, + 3639, + 3640, + 3641, + 3645, + 3649, + 3651, + 3652, + 3653, + 3654, + 3655, + 3656, + 3657, + 3658, + 3659, + 3660, + 3661, + 3662, + 3663, + 3664, + 3665, + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3672, + 3673, + 3674, + 3675, + 3676, + 3677, + 3678, + 3679, + 3680, + 3683, + 3684, + 3685, + 3686, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3695, + 3696, + 3697, + 3701, + 3702, + 3703, + 3704, + 3705, + 3719, + 3734, + 3735, + 3739, + 3740, + 3741, + 3745, + 3747, + 3804, + 3806, + 3807, + 3838, + 3839, + 3844, + 3845, + 3846, + 3855, + 3857, + 3859, + 3860, + 3861, + 3862, + 3863, + 3865, + 3866, + 3873, + 3926, + 3931, + 3945, + 3950, + 3970, + 3971, + 3972, + 3973, + 3996, + 3997, + 3999, + 4001, + 4003, + 4004, + 4018, + 4019, + 4023, + 4024, + 4028, + 4029, + 4030, + 4031, + 4036, + 4043, + 4044, + 4045, + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4052, + 4053, + 4054, + 4055, + 4056, + 4057, + 4058, + 4059, + 4060, + 4061, + 4062, + 4063, + 4064, + 4065, + 4066, + 4067, + 4068, + 4070, + 4071, + 4073, + 4074, + 4075, + 4076, + 4077, + 4078, + 4079, + 4080, + 4081, + 4082, + 4083, + 4084, + 4085, + 4086, + 4087, + 4088, + 4089, + 4090, + 4091, + 4092, + 4093, + 4094, + 4095, + 4096, + 4097, + 4098, + 4099, + 4100, + 4101, + 4102, + 4103, + 4104, + 4105, + 4106, + 4107, + 4108, + 4109, + 4110, + 4111, + 4112, + 4113, + 4114, + 4115, + 4116, + 4117, + 4136, + 4141, + 4142, + 4143, + 4144, + 4145, + 4146, + 4147, + 4148, + 4149, + 4150, + 4151, + 4152, + 4153, + 4154, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4172, + 4173, + 4174, + 4175, + 4177, + 4178, + 4179, + 4180, + 4181, + 4182, + 4183, + 4184, + 4185, + 4188, + 4189, + 4190, + 4191, + 4192, + 4193, + 4194, + 4195, + 4196, + 4197, + 4198, + 4199, + 4200, + 4207, + 4208, + 4209, + 4226, + 4227, + 4228, + 4230, + 4238, + 4250, + 4254, + 4255, + 4256, + 4257, + 4258, + 4275, + 4276, + 4278, + 4280, + 4282, + 4283, + 4285, + 4293, + 4316, + 4329, + 4330, + 4340, + 4341, + 4342, + 4343, + 4344, + 4345, + 4348, + 4349, + 4350, + 4352, + 4365, + 4366, + 4367, + 4368, + 4369, + 4370, + 4371, + 4378, + 4379, + 4380, + 4381, + 4382, + 4400, + 4401, + 4402, + 4406, + 4409, + 4410, + 4411, + 4412, + 4413, + 4424, + 4425, + 4426, + 4427, + 4428, + 4429, + 4430, + 4432, + 4433, + 4434, + 4435, + 4436, + 4437, + 4438, + 4439, + 4440, + 4441, + 4442, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4462, + 4464, + 4465, + 4466, + 4467, + 4468, + 4470, + 4471, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500, + 4501, + 4502, + 4503, + 4504, + 4505, + 4506, + 4507, + 4508, + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4515, + 4516, + 4517, + 4518, + 4519, + 4520, + 4521, + 4522, + 4523, + 4524, + 4525, + 4526, + 4527, + 4528, + 4529, + 4530, + 4531, + 4532, + 4533, + 4534, + 4540, + 4544, + 4546, + 4547, + 4549, + 4551, + 4552, + 4553, + 4558, + 4581, + 4586, + 4591, + 4592, + 4593, + 4594, + 4596, + 4597, + 4598, + 4602, + 4603, + 4604, + 4605, + 4606, + 4607, + 4611, + 4612, + 4613, + 4614, + 4615, + 4617, + 4632, + 4633, + 4634, + 4636, + 4637, + 4639, + 4640, + 4641, + 4643, + 4645, + 4646, + 4682, + 4709, + 4710, + 4712, + 4713, + 4718, + 4719, + 4720, + 4721, + 4722, + 4723, + 4724, + 4726, + 4727, + 4728, + 4731, + 4750, + 4757, + 4758, + 4759, + 4760, + 4761, + 4762, + 4763, + 4764, + 4765, + 4766, + 4771, + 4772, + 4779, + 4780, + 4785, + 4786, + 4787, + 4788, + 4790, + 4791, + 4793, + 4794, + 4795, + 4797, + 4804, + 4806, + 4807, + 4809, + 4824, + 4825, + 4826, + 4834, + 4835, + 4838, + 4839, + 4841, + 4847, + 4848, + 4849, + 4850, + 4851, + 4852, + 4853, + 4855, + 4857, + 4858, + 4859, + 4861, + 4862, + 4863, + 4873, + 4874, + 4884, + 4885, + 4905, + 4909, + 4937, + 4939, + 4941, + 4943, + 4945, + 4947, + 4949, + 4951, + 4953, + 4955, + 4957, + 4959, + 4961, + 4963, + 4965, + 4967, + 4969, + 4973, + 4975, + 4977, + 4979, + 4981, + 5006, + 5015, + 5037, + 5038, + 5039, + 5040, + 5041, + 5042, + 5043, + 5046, + 5047, + 5048, + 5049, + 5050, + 5051, + 5052, + 5054, + 5056, + 5057, + 5059, + 5063, + 5067, + 5074, + 5075, + 5078, + 5079, + 5080, + 5083, + 5088, + 5103, + 5108, + 5140, + 5142, + 5146, + 5147, + 5148, + 5149, + 5150, + 5151, + 5152, + 5153, + 5155, + 5158, + 5160, + 5161, + 5162, + 5163, + 5164, + 5165, + 5166, + 5167, + 5168, + 5206, + 5207, + 5208, + 5209, + 5210, + 5211, + 5212, + 5213, + 5215, + 5216, + 5217, + 5236, + 5243, + 5244, + 5245, + 5246, + 5247, + 5248, + 5249, + 5250, + 5251, + 5252, + 5253, + 5254, + 5255, + 5256, + 5257, + 5258, + 5259, + 5293, + 5298, + 5299, + 5300, + 5311, + 5312, + 5313, + 5315, + 5316, + 5349, + 5352, + 5354, + 5355, + 5361, + 5362, + 5363, + 5364, + 5365, + 5366, + 5367, + 5368, + 5369, + 5370, + 5371, + 5372, + 5373, + 5374, + 5375, + 5376, + 5377, + 5378, + 5379, + 5383, + 5384, + 5400, + 5407, + 5416, + 5417, + 5418, + 5419, + 5428, + 5429, + 5436, + 5438, + 5439, + 5440, + 5441, + 5442, + 5443, + 5444, + 5471, + 5472, + 5473, + 5474, + 5475, + 5476, + 5524, + 5525, + 5602, + 5606, + 5607, + 5608, + 5609, + 5611, + 5620, + 5633, + 5637, + 5713, + 5714, + 5716, + 5718, + 5732, + 5746, + 5748, + 5749, + 5752, + 5753, + 5754, + 5755, + 5756, + 5759, + 5760, + 5761, + 5762, + 5763, + 5776, + 5777, + 5778, + 5796, + 5799, + 5800, + 5812, + 5814, + 5815, + 5816, + 5817, + 5818, + 5819, + 5821, + 5822, + 5823, + 5827, + 5845, + 5846, + 5853, + 5860, + 5862, + 5863, + 5864, + 5865, + 5866, + 5867, + 5868, + 5869, + 5870, + 5907, + 6063, + 6064, + 6066, + 6067, + 6068, + 6075, + 6076, + 6083, + 6085, + 6086, + 6087, + 6095, + 6096, + 6098, + 6099, + 6100, + 6101, + 6102, + 6103, + 6104, + 6106, + 6111, + 6112, + 6113, + 6118, + 6122, + 6124, + 6128, + 6129, + 6130, + 6131, + 6132, + 6143, + 6146, + 6147, + 6197, + 6198, + 6209, + 6213, + 6217, + 6280, + 6281, + 6282, + 6283, + 6284, + 6285, + 6286, + 6287, + 6288, + 6289, + 6290, + 6291, + 6292, + 6293, + 6294, + 6295, + 6296, + 6297, + 6298, + 6299, + 6300, + 6301, + 6303, + 6304, + 6305, + 6361, + 6362, + 6363, + 6364, + 6365, + 6366, + 6367, + 6378, + 6379, + 6380, + 6381, + 6382, + 6383, + 6384, + 6385, + 6386, + 6387, + 6388, + 6389, + 6390, + 6391, + 6392, + 6393, + 6394, + 6395, + 6396, + 6397, + 6398, + 6399, + 6400, + 6401, + 6402, + 6403, + 6404, + 6405, + 6406, + 6407, + 6408, + 6409, + 6424, + 6425, + 6459, + 6462, + 6464, + 6465, + 6468, + 6469, + 6478, + 6479, + 6480, + 6486, + 6487, + 6488, + 6489, + 6490, + 6525, + 6526, + 6527, + 6528, + 6529, + 6530, + 6531, + 6532, + 6554, + 6584, + 6592, + 6593, + 6594, + 6595, + 6600, + 6601, + 6603, + 6605, + 6606, + 6608, + 6609, + 6610, + 6611, + 6616, + 6631, + 6632, + 6633, + 6634, + 6649, + 6650, + 6651, + 6654, + 6655, + 6657, + 6658, + 6659, + 6660, + 6661, + 6662, + 6663, + 6664, + 6665, + 6671, + 6672, + 6673, + 6674, + 6675, + 6676, + 6677, + 6678, + 6679, + 6680, + 6681, + 6682, + 6683, + 6684, + 6685, + 6686, + 6687, + 6688, + 6689, + 6695, + 6696, + 6700, + 6702, + 6703, + 6704, + 6705, + 6706, + 6707, + 6708, + 6709, + 6710, + 6711, + 6712, + 6713, + 6714, + 6715, + 6716, + 6717, + 6718, + 6719, + 6720, + 6723, + 6724, + 6738, + 6739, + 6740, + 6741, + 6742, + 6743, + 6744, + 6745, + 6746, + 6747, + 6748, + 6749, + 6750, + 6751, + 6752, + 6753, + 6754, + 6755, + 6756, + 6757, + 6758, + 6814, + 6816, + 6820, + 6838, + 6839, + 6840, + 6841, + 6842, + 6843, + 6844, + 6845, + 6846, + 6847, + 6848, + 6849, + 6863, + 6864, + 6865, + 6866, + 6867, + 6887, + 6896, + 6897, + 6912, + 6913, + 6914, + 6915, + 6918, + 6919, + 6922, + 6923, + 6926, + 6927, + 6928, + 6929, + 6933, + 6935, + 6939, + 6940, + 6941, + 6978, + 6979, + 6988, + 6989, + 6990, + 6991, + 6992, + 6993, + 6994, + 6997, + 6998, + 6999, + 7000, + 7001, + 7002, + 7003, + 7004, + 7005, + 7023, + 7039, + 7040, + 7041, + 7042, + 7043, + 7044, + 7045, + 7046, + 7047, + 7048, + 7049, + 7050, + 7070, + 7071, + 7072, + 7073, + 7074, + 7078, + 7081, + 7082, + 7084, + 7088, + 7095, + 7096, + 7112, + 7113, + 7139, + 7151, + 7181, + 7182, + 7183, + 7184, + 7185, + 7186, + 7187, + 7188, + 7189, + 7190, + 7191, + 7192, + 7193, + 7194, + 7195, + 7196, + 7197, + 7198, + 7199, + 7200, + 7201, + 7202, + 7203, + 7211, + 7227, + 7228, + 7230, + 7232, + 7253, + 7261, + 7264, + 7265, + 7266, + 7267, + 7268, + 7269, + 7270, + 7271, + 7272, + 7273, + 7274, + 7275, + 7276, + 7277, + 7299, + 7301, + 7302, + 7303, + 7304, + 7307, + 7321, + 7363, + 7364, + 7365, + 7366, + 7368, + 7369, + 7376, + 7377, + 7383, + 7392, + 7523, + 7524, + 7528, + 7529, + 7530, + 7531, + 7532, + 7533, + 7534, + 7538, + 7578, + 7579, + 7597, + 7598, + 7599, + 7627, + 7628, + 7629, + 7633, + 7640, + 7650, + 7652, + 7660, + 7745, + 7774, + 7892, + 8136, + 8137, + 8496, + 8497, + 8498, + 8499, + 8500, + 8501, + 8502, + 8525, + 8527, + 8528, + 8529, + 8651, + 8681, + 8682, + 8683, + 8684, + 8685, + 8686, + 8687, + 8688, + 8690, + 8691, + 8692, + 8693, + 8694, + 8695, + 8698, + 8699, + 8701, + 8702, + 8704, + 8705, + 8707, + 8709, + 8710, + 8711, + 8736, + 8767, + 8768, + 8770, + 8778, + 8779, + 8780, + 8781, + 8782, + 8783, + 8784, + 8804, + 8805, + 8820, + 8821, + 8829, + 8830, + 8831, + 8832, + 8833, + 8834, + 8835, + 8836, + 8837, + 8838, + 8839, + 8840, + 8841, + 8842, + 8846, + 8847, + 8848, + 8849, + 8858, + 8859, + 8860, + 8861, + 8862, + 8863, + 8864, + 8865, + 8866, + 8867, + 8868, + 8869, + 8870, + 8871, + 8872, + 8873, + 8874, + 8875, + 8876, + 8877, + 8878, + 8879, + 8901, + 8902, + 8903, + 8904, + 8905, + 8906, + 8907, + 8908, + 8909, + 8939, + 8941, + 8943, + 8953, + 8954, + 8973, + 8975, + 8976, + 8977, + 8978, + 8979, + 8980, + 8981, + 8982, + 8983, + 8984, + 8985, + 8986, + 8987, + 8988, + 8989, + 8990, + 8991, + 8996, + 8997, + 8998, + 8999, + 9000, + 9001, + 9002, + 9003, + 9004, + 9012, + 9013, + 9016, + 9018, + 9021, + 9022, + 9023, + 9024, + 9025, + 9031, + 9032, + 9039, + 9040, + 9044, + 9045, + 9047, + 9048, + 9049, + 9050, + 9051, + 9052, + 9053, + 9054, + 9055, + 9057, + 9058, + 9059, + 9060, + 9061, + 9062, + 9063, + 9064, + 9065, + 9068, + 9069, + 9070, + 9071, + 9072, + 9073, + 9074, + 9086, + 9087, + 9091, + 9092, + 9095, + 9096, + 9097, + 9098, + 9099, + 9100, + 9104, + 9105, + 9109, + 9110, + 9111, + 9119, + 9121, + 9136, + 9141, + 9151, + 9152, + 9212, + 9213, + 9214, + 9215, + 9216, + 9217, + 9218, + 9219, + 9220, + 9221, + 9222, + 9223, + 9224, + 9226, + 9227, + 9304, + 9305, + 9306, + 9307, + 9308, + 9309, + 9310, + 9350, + 9359, + 9360, + 9361, + 9362, + 9363, + 9364, + 9365, + 9366, + 9367, + 9368, + 9429, + 9497, + 9498, + 9499, + 9502, + 9503, + 9504, + 9516, + 9521, + 9523, + 9526, + 9534, + 9535, + 9536, + 9537, + 9542, + 9544, + 9547, + 9549, + 9551, + 9552, + 9553, + 9554, + 9555, + 9557, + 9558, + 9561, + 9562, + 9565, + 9566, + 9568, + 9570, + 9571, + 9572, + 9573, + 9575, + 9579, + 9583, + 9587, + 9588, + 9591, + 9595, + 9596, + 9597, + 9598, + 9599, + 9600, + 9601, + 9602, + 9603, + 9604, + 9605, + 9606, + 9607, + 9608, + 9609, + 9610, + 9622, + 9623, + 9625, + 9627, + 9629, + 9631, + 9633, + 9635, + 9637, + 9648, + 9649, + 9676, + 9677, + 9678, + 9679, + 9680, + 9685, + 9686, + 9687, + 9688, + 9689, + 9690, + 9691, + 9692, + 9693, + 9694, + 9695, + 9696, + 9697, + 9698, + 9699, + 9700, + 9701, + 9702, + 9703, + 9704, + 9705, + 9706, + 9707, + 9708, + 9709, + 9710, + 9711, + 9712, + 9713, + 9714, + 9715, + 9716, + 9717, + 9718, + 9721, + 9724, + 9725, + 9726, + 9727, + 9728, + 9729, + 9730, + 9734, + 9735, + 9736, + 9738, + 9739, + 9754, + 9755, + 9756, + 9868, + 9869, + 9870, + 9872, + 9873, + 9874, + 9875, + 9876, + 9879, + 9880, + 9883, + 9884, + 9885, + 9886, + 9907, + 9908, + 9935, + 9936, + 9937, + 9938, + 9939, + 9940, + 9941, + 9942, + 9943, + 9944, + 9945, + 9946, + 9947, + 9948, + 9949, + 9950, + 9951, + 9952, + 9953, + 9954, + 9955, + 9956, + 9957, + 9958, + 9959, + 9960, + 9961, + 9962, + 9976, + 9977, + 9978, + 9984, + 9986, + 9988, + 9990, + 9992, + 9993, + 9994, + 9995, + 9996, + 9997, + 9998, + 9999, + 10000, + 10001, + 10002, + 10003, + 10004, + 10005, + 10006, + 10007, + 10008, + 10009, + 10010, + 10011, + 10012, + 10013, + 10014, + 10015, + 10016, + 10017, + 10018, + 10019, + 10020, + 10021, + 10022, + 10023, + 10044, + 10045, + 10069, + 10070, + 10071, + 10072, + 10073, + 10074, + 10075, + 10076, + 10077, + 10078, + 10080, + 10081, + 10082, + 10100, + 10101, + 10102, + 10103, + 10104, + 10105, + 10106, + 10107, + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10115, + 10119, + 10132, + 10172, + 10173, + 10180, + 10182, + 10184, + 10186, + 10202, + 10210, + 10211, + 10212, + 10213, + 10222, + 10223, + 10224, + 10225, + 10226, + 10227, + 10228, + 10246, + 10247, + 10248, + 10249, + 10250, + 10251, + 10252, + 10253, + 10254, + 10255, + 10256, + 10257, + 10258, + 10260, + 10261, + 10262, + 10265, + 10266, + 10267, + 10268, + 10269, + 10270, + 10271, + 10288, + 10289, + 10290, + 10291, + 10292, + 10293, + 10294, + 10295, + 10296, + 10297, + 10298, + 10299, + 10300, + 10301, + 10303, + 10305, + 10312, + 10313, + 10335, + 10336, + 10337, + 10338, + 10339, + 10340, + 10341, + 10342, + 10343, + 10344, + 10345, + 10346, + 10347, + 10348, + 10355, + 10374, + 10377, + 10416, + 10417, + 10418, + 10434, + 10435, + 10436, + 10452, + 10453, + 10454, + 10455, + 10456, + 10457, + 10458, + 10459, + 10466, + 10467, + 10468, + 10470, + 10471, + 10473, + 10475, + 10476, + 10477, + 10478, + 10482, + 10483, + 10485, + 10490, + 10491, + 10492, + 10493, + 10494, + 10495, + 10498, + 10499, + 10501, + 10502, + 10503, + 10504, + 10505, + 10513, + 10516, + 10518, + 10524, + 10530, + 10532, + 10534, + 10535, + 10537, + 10538, + 10542, + 10543, + 10544, + 10545, + 10546, + 10550, + 10551, + 10564, + 10565, + 10566, + 10567, + 10568, + 10569, + 10570, + 10571, + 10572, + 10573, + 10574, + 10575, + 10576, + 10577, + 10578, + 10579, + 10580, + 10583, + 10584, + 10587, + 10588, + 10589, + 10590, + 10602, + 10603, + 10604, + 10605, + 10606, + 10607, + 10608, + 10609, + 10610, + 10611, + 10612, + 10613, + 10614, + 10615, + 10616, + 10617, + 10618, + 10619, + 10620, + 10621, + 10622, + 10623, + 10627, + 10646, + 10647, + 10650, + 10651, + 10653, + 10654, + 10662, + 10663, + 10704, + 10705, + 10706, + 10709, + 10711, + 10715, + 10716, + 10717, + 10718, + 10719, + 10720, + 10721, + 10722, + 10724, + 10725, + 10726, + 10727, + 10728, + 10729, + 10730, + 10731, + 10732, + 10733, + 10734, + 10735, + 10737, + 10738, + 10739, + 10740, + 10741, + 10742, + 10743, + 10744, + 10745, + 10747, + 10749, + 10753, + 10755, + 10756, + 10758, + 10768, + 10793, + 10794, + 10795, + 10796, + 10797, + 10798, + 10799, + 10800, + 10801, + 10822, + 10823, + 10824, + 10825, + 10830, + 10836, + 10841, + 10842, + 10843, + 10844, + 10845, + 10846, + 10847, + 10848, + 10849, + 10850, + 10851, + 10852, + 10853, + 10854, + 10855, + 10856, + 10857, + 10858, + 10865, + 10866, + 10867, + 10868, + 10869, + 10870, + 10871, + 10872, + 10873, + 10876, + 10881, + 10883, + 10885, + 10886, + 10887, + 10898, + 10899, + 10913, + 10914, + 10915, + 10916, + 10961, + 10963, + 10968, + 10969, + 10970, + 10971, + 10972, + 10973, + 10974, + 10975, + 10977, + 10980, + 10981, + 10982, + 10987, + 10988, + 10990, + 10992, + 10993, + 10994, + 10995, + 11007, + 11008, + 11010, + 11011, + 11013, + 11019, + 11020, + 11021, + 11022, + 11023, + 11024, + 11025, + 11026, + 11028, + 11029, + 11030, + 11031, + 11033, + 11041, + 11042, + 11043, + 11044, + 11048, + 11051, + 11052, + 11053, + 11057, + 11060, + 11061, + 11062, + 11063, + 11064, + 11065, + 11066, + 11067, + 11068, + 11069, + 11070, + 11071, + 11088, + 11089, + 11091, + 11141, + 11142, + 11143, + 11144, + 11145, + 11146, + 11147, + 11148, + 11150, + 11151, + 11152, + 11153, + 11154, + 11155, + 11156, + 11157, + 11158, + 11159, + 11160, + 11161, + 11162, + 11163, + 11164, + 11165, + 11166, + 11167, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11174, + 11175, + 11176, + 11177, + 11178, + 11179, + 11180, + 11181, + 11182, + 11183, + 11184, + 11185, + 11186, + 11187, + 11188, + 11189, + 11190, + 11191, + 11192, + 11193, + 11194, + 11220, + 11227, + 11228, + 11229, + 11230, + 11231, + 11232, + 11233, + 11234, + 11235, + 11236, + 11237, + 11238, + 11258, + 11283, + 11309, + 11310, + 11337, + 11342, + 11359, + 11380, + 11387, + 11388, + 11481, + 11482, + 11486, + 11487, + 11489, + 11490, + 11491, + 11492, + 11493, + 11495, + 11524, + 11541, + 11542, + 11543, + 11544, + 11545, + 11547, + 11553, + 11556, + 11557, + 11558, + 11562, + 11569, + 11571, + 11572, + 11573, + 11574, + 11577, + 11578, + 11579, + 11588, + 11589, + 11590, + 11594, + 11595, + 11596, + 11597, + 11598, + 11599, + 11600, + 11601, + 11602, + 11603, + 11604, + 11617, + 11618, + 11619, + 11620, + 11622, + 11623, + 11625, + 11656, + 11657, + 11658, + 11659, + 11660, + 11661, + 11662, + 11663, + 11664, + 11665, + 11666, + 11667, + 11671, + 11672, + 11673, + 11674, + 11675, + 11676, + 11677, + 11678, + 11679, + 11680, + 11681, + 11682, + 11683, + 11684, + 11685, + 11686, + 11687, + 11690, + 11726, + 11727, + 11728, + 11729, + 11731, + 11732, + 11733, + 11735, + 11739, + 11782, + 11783, + 11784, + 11785, + 11786, + 11787, + 11788, + 11789, + 11790, + 11791, + 11792, + 11793, + 11794, + 11795, + 11796, + 11797, + 11798, + 11799, + 11802, + 11803, + 11804, + 11805, + 11806, + 11807, + 11809, + 11810, + 11811, + 11812, + 11813, + 11814, + 11815, + 11816, + 11817, + 11871, + 11873, + 11878, + 11879, + 11880, + 11881, + 11885, + 11893, + 11900, + 11901, + 11902, + 11904, + 11908, + 11909, + 11910, + 11911, + 11919, + 11920, + 11921, + 11922, + 11924, + 11931, + 11933, + 11942, + 11944, + 11945, + 11946, + 11947, + 11948, + 11949, + 11950, + 11951, + 11956, + 11957, + 11958, + 11960, + 11963, + 11964, + 11965, + 11966, + 11967, + 11968, + 11969, + 11970, + 11971, + 11973, + 11974, + 11975, + 11976, + 11977, + 11978, + 11979, + 11980, + 11981, + 11982, + 11983, + 11984, + 11985, + 11986, + 11987, + 11988, + 11989, + 11991, + 11993, + 11995, + 11999, + 12000, + 12001, + 12002, + 12003, + 12004, + 12005, + 12006, + 12007, + 12008, + 12009, + 12010, + 12011, + 12012, + 12013, + 12014, + 12015, + 12016, + 12017, + 12019, + 12021, + 12022, + 12023, + 12024, + 12025, + 12026, + 12027, + 12028, + 12029, + 12030, + 12031, + 12033, + 12035, + 12036, + 12055, + 12057, + 12059, + 12106, + 12107, + 12108, + 12114, + 12120, + 12122, + 12126, + 12127, + 12152, + 12153, + 12154, + 12155, + 12156, + 12161, + 12162, + 12163, + 12164, + 12169, + 12171, + 12174, + 12175, + 12183, + 12187, + 12188, + 12189, + 12190, + 12191, + 12216, + 12217, + 12226, + 12227, + 12228, + 12229, + 12230, + 12232, + 12233, + 12234, + 12235, + 12237, + 12238, + 12239, + 12258, + 12260, + 12261, + 12265, + 12267, + 12268, + 12269, + 12270, + 12272, + 12274, + 12276, + 12277, + 12278, + 12280, + 12282, + 12283, + 12284, + 12285, + 12288, + 12289, + 12290, + 12291, + 12292, + 12303, + 12305, + 12306, + 12307, + 12308, + 12309, + 12310, + 12311, + 12312, + 12313, + 12314, + 12315, + 12316, + 12317, + 12318, + 12319, + 12322, + 12323, + 12324, + 12325, + 12326, + 12327, + 12328, + 12329, + 12330, + 12331, + 12332, + 12333, + 12334, + 12335, + 12336, + 12337, + 12338, + 12339, + 12340, + 12341, + 12342, + 12343, + 12344, + 12345, + 12346, + 12347, + 12348, + 12349, + 12350, + 12361, + 12362, + 12363, + 12364, + 12365, + 12366, + 12367, + 12368, + 12375, + 12376, + 12377, + 12378, + 12379, + 12380, + 12381, + 12382, + 12383, + 12384, + 12398, + 12400, + 12413, + 12414, + 12415, + 12418, + 12419, + 12420, + 12422, + 12423, + 12429, + 12431, + 12436, + 12438, + 12441, + 12442, + 12445, + 12446, + 12449, + 12450, + 12453, + 12454, + 12455, + 12456, + 12457, + 12458, + 12463, + 12465, + 12466, + 12467, + 12468, + 12469, + 12470, + 12471, + 12472, + 12473, + 12474, + 12475, + 12476, + 12477, + 12478, + 12479, + 12480, + 12481, + 12482, + 12489, + 12490, + 12492, + 12493, + 12494, + 12495, + 12496, + 12504, + 12505, + 12509, + 12510, + 12511, + 12513, + 12529, + 12531, + 12532, + 12542, + 12543, + 12547, + 12548, + 12551, + 12552, + 12563, + 12564, + 12565, + 12567, + 12569, + 12573, + 12575, + 12583, + 12584, + 12589, + 12591, + 12592, + 12593, + 12594, + 12595, + 12598, + 12601, + 12602, + 12603, + 12606, + 12610, + 12611, + 12614, + 12615, + 12616, + 12618, + 12619, + 12620, + 12621, + 12625, + 12626, + 12628, + 12629, + 12633, + 12640, + 12641, + 12642, + 12643, + 12645, + 12651, + 12652, + 12653, + 12657, + 12658, + 12661, + 12662, + 12663, + 12664, + 12665, + 12667, + 12668, + 12669, + 12670, + 12671, + 12672, + 12673, + 12674, + 12675, + 12676, + 12677, + 12678, + 12689, + 12690, + 12691, + 12737, + 12738, + 12739, + 12740, + 12741, + 12742, + 12743, + 12745, + 12746, + 12747, + 12748, + 12749, + 12754, + 12755, + 12756, + 12757, + 12758, + 12759, + 12760, + 12761, + 12762, + 12764, + 12765, + 12766, + 12767, + 12768, + 12769, + 12770, + 12771, + 12772, + 12773, + 12774, + 12776, + 12777, + 12780, + 12781, + 12784, + 12785, + 12786, + 12787, + 12804, + 12806, + 12810, + 12814, + 12828, + 12829, + 12830, + 12832, + 12835, + 12837, + 12849, + 12850, + 12851, + 12852, + 12853, + 12854, + 12855, + 12856, + 12857, + 12858, + 12859, + 12860, + 12875, + 12876, + 12877, + 12878, + 12879, + 12880, + 12881, + 12882, + 12900, + 12906, + 12907, + 12908, + 12909, + 12910, + 12911, + 12912, + 12913, + 12914, + 12915, + 12916, + 12917, + 12919, + 12920, + 12921, + 12923, + 12982, + 13034, + 13035, + 13036, + 13037, + 13038, + 13039, + 13040, + 13041, + 13042, + 13043, + 13044, + 13045, + 13046, + 13047, + 13048, + 13049, + 13050, + 13051, + 13052, + 13053, + 13054, + 13055, + 13065, + 13066, + 13068, + 13074, + 13075, + 13076, + 13077, + 13078, + 13079, + 13080, + 13081, + 13082, + 13083, + 13084, + 13085, + 13086, + 13087, + 13088, + 13089, + 13090, + 13091, + 13092, + 13093, + 13094, + 13095, + 13096, + 13097, + 13098, + 13099, + 13100, + 13101, + 13102, + 13103, + 13104, + 13105, + 13106, + 13107, + 13108, + 13109, + 13110, + 13111, + 13112, + 13113, + 13114, + 13115, + 13116, + 13117, + 13118, + 13119, + 13120, + 13121, + 13122, + 13123, + 13124, + 13125, + 13126, + 13127, + 13128, + 13129, + 13130, + 13131, + 13132, + 13133, + 13134, + 13135, + 13136, + 13137, + 13138, + 13139, + 13140, + 13141, + 13142, + 13143, + 13144, + 13145, + 13146, + 13147, + 13148, + 13149, + 13150, + 13179, + 13180, + 13181, + 13182, + 13183, + 13184, + 13185, + 13186, + 13187, + 13188, + 13189, + 13190, + 13192, + 13193, + 13194, + 13217, + 13218, + 13219, + 13220, + 13221, + 13222, + 13223, + 13225, + 13226, + 13227, + 13228, + 13229, + 13230, + 13231, + 13232, + 13233, + 13234, + 13235, + 13236, + 13237, + 13238, + 13239, + 13240, + 13241, + 13242, + 13243, + 13244, + 13245, + 13246, + 13247, + 13248, + 13249, + 13250, + 13251, + 13252, + 13253, + 13254, + 13270, + 13271, + 13276, + 13285, + 13288, + 13301, + 13325, + 13326, + 13350, + 13351, + 13353, + 13354, + 13355, + 13356, + 13357, + 13358, + 13359, + 13360, + 13361, + 13362, + 13363, + 13364, + 13365, + 13366, + 13367, + 13368, + 13369, + 13370, + 13371, + 13372, + 13373, + 13375, + 13376, + 13377, + 13378, + 13379, + 13380, + 13381, + 13382, + 13383, + 13384, + 13410, + 13412, + 13413, + 13417, + 13493, + 13494, + 13512, + 13513, + 13514, + 13537, + 13538, + 13540, + 13541, + 13543, + 13544, + 13547, + 13548, + 13560, + 13564, + 13565, + 13568, + 13569, + 13573, + 13584, + 13585, + 13633, + 13646, + 13647, + 13648, + 13649, + 13650, + 13651, + 13652, + 13654, + 13657, + 13658, + 13659, + 13662, + 13691, + 13692, + 13693, + 13694, + 13695, + 13710, + 13711, + 13740, + 13742, + 13743, + 13744, + 13745, + 13746, + 13747, + 13748, + 13749, + 13750, + 13751, + 13752, + 13753, + 13754, + 13755, + 13756, + 13758, + 13759, + 13760, + 13798, + 13799, + 13800, + 13801, + 13802, + 13803, + 13804, + 13805, + 13806, + 13807, + 13808, + 13809, + 13810, + 13811, + 13812, + 13813, + 13818, + 13819, + 13820, + 13821, + 13822, + 13823, + 13824, + 13825, + 13828, + 13829, + 13830, + 13831, + 13842, + 13843, + 13844, + 13845, + 13936, + 13938, + 13948, + 13974, + 13980, + 14010, + 14061, + 14063, + 14080, + 14081, + 14082, + 14098, + 14103, + 14125, + 14126, + 14127, + 14128, + 14149, + 14150, + 14151, + 14152, + 14164, + 14165, + 14177, + 14179, + 14180, + 14181, + 14182, + 14183, + 14184, + 14185, + 14186, + 14189, + 14190, + 14191, + 14192, + 14193, + 14194, + 14195, + 14196, + 14197, + 14198, + 14199, + 14200, + 14207, + 14209, + 14220, + 14221, + 14222, + 14223, + 14224, + 14228, + 14232, + 14233, + 14234, + 14235, + 14236, + 14238, + 14239, + 14240, + 14242, + 14279, + 14293, + 14298, + 14299, + 14300, + 14301, + 14302, + 14308, + 14309, + 14310, + 14318, + 14319, + 14320, + 14338, + 14339, + 14340, + 14341, + 14346, + 14347, + 14350, + 14351, + 14352, + 14353, + 14356, + 14357, + 14358, + 14359, + 14360, + 14361, + 14362, + 14363, + 14364, + 14365, + 14366, + 14367, + 14368, + 14388, + 14409, + 14413, + 14419, + 14519, + 14520, + 14522, + 14524, + 14545, + 14550, + 14554, + 14555, + 14557, + 14560, + 14564, + 14565, + 14566, + 14567, + 14568, + 14569, + 14571, + 14572, + 14573, + 14574, + 14575, + 14576, + 14577, + 14578, + 14579, + 14580, + 14581, + 14582, + 14583, + 14584, + 14585, + 14586, + 14588, + 14589, + 14590, + 14591, + 14592, + 14593, + 14594, + 14595, + 14596, + 14597, + 14598, + 14599, + 14600, + 14601, + 14602, + 14603, + 14604, + 14605, + 14606, + 14607, + 14608, + 14609, + 14610, + 14611, + 14612, + 14613, + 14614, + 14615, + 14616, + 14617 + ) +} \ No newline at end of file