heh
bendn 2023-12-22
parent f84e7a1 · commit 611eba4
-rw-r--r--.gitignore3
-rw-r--r--Cargo.toml2
-rw-r--r--gd/aoc.gd88
-rw-r--r--gd/box.tres4
-rw-r--r--gd/main.tscn29
-rw-r--r--gd/project.godot28
-rw-r--r--src/inp.txt1394
-rw-r--r--src/main.rs101
8 files changed, 1436 insertions, 213 deletions
diff --git a/.gitignore b/.gitignore
index 15fe0ea..d37f0a0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,6 @@ Cargo.lock
before
prepare.sh
prepared.rs
+gd/.godot
+*.x86_64
+export_presets.cfg
diff --git a/Cargo.toml b/Cargo.toml
index df7a539..14af4b6 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -6,8 +6,6 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
-arrayvec = "0.7.4"
-bit-set = "0.5.3"
itertools = "0.12.0"
memchr = "2.6.4"
[profile.release]
diff --git a/gd/aoc.gd b/gd/aoc.gd
new file mode 100644
index 0000000..2a782b0
--- /dev/null
+++ b/gd/aoc.gd
@@ -0,0 +1,88 @@
+extends Node3D
+
+# Called when the node enters the scene tree for the first time.
+var cubs: Array[CSGBox3D] = []
+@export var cols: PackedColorArray = []
+func _ready() -> void:
+ var x := [[Vector3(1, 281, 3), Vector3(1, 281, 4)], [Vector3(1, 149, 6), Vector3(1, 151, 6)], [Vector3(9, 268, 3), Vector3(9, 268, 5)], [Vector3(8, 199, 5), Vector3(8, 199, 6)], [Vector3(5, 182, 0), Vector3(8, 182, 0)], [Vector3(7, 124, 4), Vector3(7, 124, 5)], [Vector3(2, 126, 5), Vector3(2, 126, 6)], [Vector3(6, 91, 1), Vector3(9, 91, 1)], [Vector3(0, 61, 5), Vector3(2, 61, 5)], [Vector3(5, 24, 3), Vector3(7, 24, 3)], [Vector3(0, 80, 2), Vector3(0, 80, 3)], [Vector3(0, 86, 8), Vector3(2, 86, 8)], [Vector3(3, 263, 3), Vector3(3, 263, 6)], [Vector3(9, 278, 2), Vector3(9, 278, 3)], [Vector3(4, 183, 0), Vector3(7, 183, 0)], [Vector3(4, 11, 3), Vector3(4, 11, 5)], [Vector3(0, 67, 7), Vector3(3, 67, 7)], [Vector3(2, 94, 4), Vector3(2, 94, 7)], [Vector3(2, 200, 6), Vector3(2, 200, 8)], [Vector3(2, 28, 6), Vector3(5, 28, 6)], [Vector3(3, 191, 3), Vector3(3, 191, 6)], [Vector3(3, 75, 5), Vector3(5, 75, 5)], [Vector3(1, 56, 5), Vector3(1, 56, 9)], [Vector3(7, 203, 4), Vector3(9, 203, 4)], [Vector3(5, 177, 1), Vector3(5, 177, 2)], [Vector3(5, 286, 5), Vector3(7, 286, 5)], [Vector3(3, 87, 4), Vector3(4, 87, 4)], [Vector3(4, 113, 4), Vector3(4, 113, 6)], [Vector3(6, 200, 2), Vector3(6, 200, 4)], [Vector3(3, 85, 7), Vector3(5, 85, 7)], [Vector3(9, 1, 6), Vector3(9, 1, 8)], [Vector3(0, 248, 1), Vector3(0, 250, 1)], [Vector3(7, 245, 6), Vector3(7, 245, 8)], [Vector3(2, 7, 0), Vector3(5, 7, 0)], [Vector3(2, 202, 9), Vector3(2, 203, 9)], [Vector3(3, 104, 5), Vector3(3, 104, 6)], [Vector3(3, 48, 4), Vector3(5, 48, 4)], [Vector3(4, 276, 4), Vector3(4, 276, 7)], [Vector3(0, 279, 3), Vector3(2, 279, 3)], [Vector3(3, 247, 7), Vector3(6, 247, 7)], [Vector3(8, 14, 1), Vector3(8, 14, 3)], [Vector3(1, 287, 1), Vector3(1, 287, 1)], [Vector3(3, 165, 1), Vector3(4, 165, 1)], [Vector3(3, 199, 1), Vector3(4, 199, 1)], [Vector3(7, 188, 5), Vector3(8, 188, 5)], [Vector3(5, 90, 7), Vector3(5, 90, 9)], [Vector3(6, 214, 6), Vector3(6, 214, 7)], [Vector3(3, 51, 7), Vector3(3, 51, 8)], [Vector3(0, 250, 0), Vector3(2, 250, 0)], [Vector3(1, 136, 7), Vector3(3, 136, 7)], [Vector3(7, 118, 2), Vector3(8, 118, 2)], [Vector3(1, 185, 1), Vector3(2, 185, 1)], [Vector3(1, 214, 7), Vector3(1, 216, 7)], [Vector3(5, 296, 3), Vector3(6, 296, 3)], [Vector3(6, 255, 6), Vector3(7, 255, 6)], [Vector3(8, 174, 3), Vector3(8, 174, 4)], [Vector3(3, 265, 3), Vector3(5, 265, 3)], [Vector3(7, 257, 4), Vector3(9, 257, 4)], [Vector3(5, 25, 6), Vector3(7, 25, 6)], [Vector3(0, 39, 6), Vector3(0, 39, 7)], [Vector3(7, 101, 1), Vector3(7, 101, 3)], [Vector3(2, 99, 7), Vector3(2, 99, 9)], [Vector3(3, 224, 4), Vector3(3, 224, 6)], [Vector3(3, 32, 6), Vector3(3, 35, 6)], [Vector3(6, 106, 3), Vector3(7, 106, 3)], [Vector3(3, 206, 5), Vector3(6, 206, 5)], [Vector3(9, 78, 8), Vector3(9, 81, 8)], [Vector3(5, 287, 0), Vector3(5, 287, 2)], [Vector3(5, 302, 2), Vector3(5, 302, 5)], [Vector3(2, 87, 1), Vector3(3, 87, 1)], [Vector3(5, 236, 5), Vector3(8, 236, 5)], [Vector3(6, 189, 0), Vector3(7, 189, 0)], [Vector3(0, 279, 1), Vector3(3, 279, 1)], [Vector3(2, 241, 5), Vector3(2, 241, 6)], [Vector3(5, 43, 4), Vector3(7, 43, 4)], [Vector3(3, 261, 3), Vector3(3, 261, 5)], [Vector3(9, 110, 7), Vector3(9, 110, 9)], [Vector3(8, 173, 6), Vector3(9, 173, 6)], [Vector3(3, 280, 1), Vector3(5, 280, 1)], [Vector3(9, 260, 3), Vector3(9, 262, 3)], [Vector3(6, 287, 6), Vector3(6, 287, 7)], [Vector3(5, 299, 7), Vector3(7, 299, 7)], [Vector3(1, 212, 7), Vector3(1, 212, 9)], [Vector3(4, 288, 0), Vector3(4, 288, 3)], [Vector3(5, 165, 7), Vector3(5, 165, 9)], [Vector3(7, 97, 3), Vector3(7, 98, 3)], [Vector3(6, 254, 5), Vector3(6, 257, 5)], [Vector3(6, 58, 1), Vector3(8, 58, 1)], [Vector3(2, 200, 2), Vector3(2, 200, 4)], [Vector3(2, 3, 2), Vector3(2, 4, 2)], [Vector3(3, 211, 0), Vector3(5, 211, 0)], [Vector3(1, 187, 1), Vector3(3, 187, 1)], [Vector3(3, 283, 6), Vector3(4, 283, 6)], [Vector3(5, 30, 6), Vector3(7, 30, 6)], [Vector3(5, 276, 2), Vector3(9, 276, 2)], [Vector3(5, 23, 0), Vector3(5, 24, 0)], [Vector3(3, 253, 0), Vector3(6, 253, 0)], [Vector3(2, 211, 6), Vector3(2, 211, 9)], [Vector3(2, 6, 5), Vector3(2, 6, 7)], [Vector3(0, 137, 9), Vector3(1, 137, 9)], [Vector3(7, 257, 6), Vector3(7, 257, 9)], [Vector3(5, 159, 6), Vector3(5, 159, 9)], [Vector3(0, 119, 3), Vector3(0, 119, 4)], [Vector3(0, 4, 6), Vector3(0, 6, 6)], [Vector3(6, 164, 0), Vector3(6, 164, 2)], [Vector3(5, 270, 9), Vector3(7, 270, 9)], [Vector3(5, 240, 5), Vector3(6, 240, 5)], [Vector3(0, 197, 2), Vector3(3, 197, 2)], [Vector3(7, 147, 3), Vector3(7, 147, 5)], [Vector3(6, 109, 0), Vector3(7, 109, 0)], [Vector3(1, 133, 9), Vector3(2, 133, 9)], [Vector3(5, 267, 2), Vector3(9, 267, 2)], [Vector3(3, 180, 0), Vector3(5, 180, 0)], [Vector3(5, 136, 8), Vector3(7, 136, 8)], [Vector3(0, 286, 4), Vector3(0, 286, 6)], [Vector3(5, 191, 5), Vector3(5, 191, 7)], [Vector3(1, 239, 1), Vector3(2, 239, 1)], [Vector3(6, 68, 4), Vector3(6, 70, 4)], [Vector3(3, 237, 0), Vector3(3, 237, 2)], [Vector3(3, 110, 1), Vector3(4, 110, 1)], [Vector3(9, 247, 2), Vector3(9, 247, 4)], [Vector3(2, 210, 0), Vector3(2, 210, 2)], [Vector3(5, 107, 0), Vector3(7, 107, 0)], [Vector3(2, 184, 4), Vector3(2, 184, 7)], [Vector3(1, 199, 8), Vector3(4, 199, 8)], [Vector3(5, 297, 1), Vector3(5, 297, 3)], [Vector3(4, 122, 0), Vector3(4, 122, 2)], [Vector3(5, 41, 7), Vector3(5, 41, 9)], [Vector3(0, 295, 7), Vector3(3, 295, 7)], [Vector3(0, 6, 8), Vector3(0, 7, 8)], [Vector3(9, 250, 0), Vector3(9, 250, 2)], [Vector3(2, 97, 2), Vector3(5, 97, 2)], [Vector3(5, 36, 4), Vector3(5, 36, 5)], [Vector3(9, 74, 6), Vector3(9, 74, 8)], [Vector3(8, 256, 2), Vector3(9, 256, 2)], [Vector3(8, 268, 2), Vector3(8, 268, 4)], [Vector3(6, 152, 1), Vector3(6, 152, 3)], [Vector3(9, 206, 2), Vector3(9, 206, 4)], [Vector3(7, 36, 7), Vector3(9, 36, 7)], [Vector3(1, 146, 4), Vector3(1, 146, 6)], [Vector3(2, 83, 1), Vector3(4, 83, 1)], [Vector3(7, 289, 4), Vector3(8, 289, 4)], [Vector3(9, 129, 6), Vector3(9, 129, 8)], [Vector3(6, 169, 3), Vector3(9, 169, 3)], [Vector3(5, 174, 9), Vector3(6, 174, 9)], [Vector3(2, 19, 8), Vector3(5, 19, 8)], [Vector3(1, 58, 4), Vector3(1, 58, 7)], [Vector3(0, 268, 3), Vector3(4, 268, 3)], [Vector3(1, 7, 4), Vector3(1, 8, 4)], [Vector3(8, 292, 7), Vector3(8, 292, 9)], [Vector3(8, 242, 1), Vector3(9, 242, 1)], [Vector3(4, 208, 0), Vector3(4, 208, 2)], [Vector3(7, 267, 8), Vector3(7, 267, 9)], [Vector3(9, 179, 8), Vector3(9, 179, 9)], [Vector3(0, 76, 1), Vector3(0, 78, 1)], [Vector3(2, 32, 9), Vector3(6, 32, 9)], [Vector3(1, 301, 9), Vector3(3, 301, 9)], [Vector3(3, 293, 2), Vector3(3, 293, 5)], [Vector3(4, 54, 2), Vector3(7, 54, 2)], [Vector3(5, 66, 7), Vector3(7, 66, 7)], [Vector3(2, 121, 3), Vector3(3, 121, 3)], [Vector3(0, 50, 2), Vector3(3, 50, 2)], [Vector3(4, 269, 3), Vector3(6, 269, 3)], [Vector3(0, 129, 1), Vector3(0, 129, 4)], [Vector3(2, 93, 4), Vector3(2, 93, 7)], [Vector3(5, 55, 3), Vector3(5, 55, 5)], [Vector3(0, 1, 5), Vector3(0, 2, 5)], [Vector3(3, 115, 5), Vector3(6, 115, 5)], [Vector3(7, 265, 1), Vector3(9, 265, 1)], [Vector3(6, 43, 3), Vector3(7, 43, 3)], [Vector3(6, 198, 2), Vector3(6, 198, 3)], [Vector3(8, 209, 4), Vector3(9, 209, 4)], [Vector3(6, 181, 5), Vector3(6, 181, 8)], [Vector3(4, 14, 2), Vector3(6, 14, 2)], [Vector3(3, 269, 0), Vector3(4, 269, 0)], [Vector3(9, 154, 0), Vector3(9, 154, 2)], [Vector3(2, 281, 1), Vector3(2, 283, 1)], [Vector3(1, 69, 7), Vector3(1, 69, 9)], [Vector3(0, 85, 5), Vector3(0, 87, 5)], [Vector3(1, 119, 0), Vector3(1, 119, 2)], [Vector3(3, 135, 5), Vector3(4, 135, 5)], [Vector3(9, 48, 0), Vector3(9, 48, 2)], [Vector3(2, 148, 2), Vector3(2, 148, 5)], [Vector3(3, 138, 5), Vector3(3, 138, 5)], [Vector3(2, 102, 1), Vector3(2, 102, 4)], [Vector3(7, 278, 7), Vector3(7, 278, 8)], [Vector3(5, 157, 5), Vector3(5, 157, 7)], [Vector3(0, 49, 3), Vector3(0, 49, 4)], [Vector3(2, 62, 0), Vector3(4, 62, 0)], [Vector3(7, 13, 2), Vector3(7, 13, 4)], [Vector3(2, 140, 5), Vector3(4, 140, 5)], [Vector3(3, 205, 1), Vector3(5, 205, 1)], [Vector3(4, 226, 2), Vector3(4, 226, 3)], [Vector3(4, 21, 7), Vector3(7, 21, 7)], [Vector3(1, 20, 1), Vector3(4, 20, 1)], [Vector3(3, 240, 0), Vector3(3, 242, 0)], [Vector3(9, 76, 6), Vector3(9, 76, 8)], [Vector3(7, 169, 8), Vector3(9, 169, 8)], [Vector3(0, 156, 5), Vector3(3, 156, 5)], [Vector3(7, 10, 8), Vector3(7, 12, 8)], [Vector3(0, 280, 6), Vector3(0, 280, 8)], [Vector3(1, 101, 0), Vector3(1, 101, 2)], [Vector3(5, 135, 5), Vector3(5, 136, 5)], [Vector3(8, 207, 2), Vector3(8, 207, 5)], [Vector3(4, 86, 3), Vector3(4, 86, 5)], [Vector3(0, 132, 7), Vector3(3, 132, 7)], [Vector3(5, 260, 6), Vector3(7, 260, 6)], [Vector3(1, 43, 3), Vector3(3, 43, 3)], [Vector3(1, 45, 8), Vector3(2, 45, 8)], [Vector3(2, 243, 2), Vector3(2, 243, 3)], [Vector3(6, 92, 4), Vector3(7, 92, 4)], [Vector3(2, 177, 5), Vector3(2, 177, 7)], [Vector3(4, 233, 4), Vector3(6, 233, 4)], [Vector3(6, 290, 8), Vector3(8, 290, 8)], [Vector3(4, 65, 5), Vector3(4, 65, 7)], [Vector3(3, 268, 8), Vector3(6, 268, 8)], [Vector3(2, 244, 2), Vector3(2, 245, 2)], [Vector3(0, 301, 9), Vector3(0, 304, 9)], [Vector3(0, 49, 1), Vector3(0, 51, 1)], [Vector3(7, 166, 3), Vector3(7, 166, 6)], [Vector3(5, 243, 6), Vector3(5, 243, 9)], [Vector3(8, 77, 3), Vector3(8, 77, 5)], [Vector3(8, 215, 6), Vector3(8, 215, 9)], [Vector3(2, 252, 0), Vector3(4, 252, 0)], [Vector3(5, 171, 7), Vector3(5, 171, 9)], [Vector3(4, 9, 0), Vector3(4, 11, 0)], [Vector3(6, 153, 2), Vector3(9, 153, 2)], [Vector3(7, 209, 2), Vector3(7, 209, 4)], [Vector3(2, 177, 4), Vector3(4, 177, 4)], [Vector3(3, 214, 4), Vector3(6, 214, 4)], [Vector3(5, 240, 3), Vector3(7, 240, 3)], [Vector3(2, 201, 0), Vector3(2, 201, 2)], [Vector3(9, 201, 6), Vector3(9, 201, 9)], [Vector3(0, 56, 2), Vector3(0, 56, 4)], [Vector3(5, 96, 6), Vector3(7, 96, 6)], [Vector3(5, 217, 3), Vector3(7, 217, 3)], [Vector3(0, 99, 1), Vector3(2, 99, 1)], [Vector3(0, 70, 7), Vector3(0, 70, 9)], [Vector3(0, 109, 9), Vector3(1, 109, 9)], [Vector3(4, 202, 0), Vector3(4, 202, 2)], [Vector3(3, 116, 4), Vector3(4, 116, 4)], [Vector3(0, 114, 2), Vector3(3, 114, 2)], [Vector3(8, 206, 2), Vector3(8, 206, 4)], [Vector3(7, 101, 7), Vector3(7, 102, 7)], [Vector3(8, 248, 0), Vector3(8, 248, 3)], [Vector3(6, 85, 0), Vector3(6, 85, 3)], [Vector3(3, 87, 3), Vector3(5, 87, 3)], [Vector3(3, 65, 8), Vector3(4, 65, 8)], [Vector3(4, 251, 3), Vector3(4, 251, 5)], [Vector3(6, 197, 6), Vector3(8, 197, 6)], [Vector3(5, 121, 2), Vector3(8, 121, 2)], [Vector3(0, 79, 7), Vector3(3, 79, 7)], [Vector3(6, 209, 5), Vector3(6, 209, 7)], [Vector3(5, 8, 5), Vector3(6, 8, 5)], [Vector3(0, 254, 0), Vector3(2, 254, 0)], [Vector3(4, 170, 6), Vector3(7, 170, 6)], [Vector3(1, 118, 3), Vector3(1, 119, 3)], [Vector3(2, 166, 8), Vector3(3, 166, 8)], [Vector3(1, 128, 7), Vector3(1, 131, 7)], [Vector3(5, 244, 2), Vector3(7, 244, 2)], [Vector3(0, 3, 1), Vector3(0, 3, 4)], [Vector3(7, 167, 5), Vector3(7, 169, 5)], [Vector3(4, 94, 2), Vector3(7, 94, 2)], [Vector3(6, 218, 7), Vector3(8, 218, 7)], [Vector3(7, 14, 9), Vector3(9, 14, 9)], [Vector3(5, 256, 2), Vector3(5, 256, 5)], [Vector3(2, 134, 6), Vector3(4, 134, 6)], [Vector3(4, 57, 3), Vector3(6, 57, 3)], [Vector3(3, 259, 8), Vector3(3, 259, 9)], [Vector3(5, 38, 7), Vector3(6, 38, 7)], [Vector3(0, 85, 4), Vector3(0, 87, 4)], [Vector3(6, 133, 5), Vector3(6, 133, 6)], [Vector3(5, 124, 6), Vector3(5, 124, 8)], [Vector3(2, 246, 0), Vector3(3, 246, 0)], [Vector3(8, 17, 1), Vector3(8, 17, 4)], [Vector3(5, 240, 4), Vector3(6, 240, 4)], [Vector3(2, 22, 6), Vector3(5, 22, 6)], [Vector3(4, 294, 7), Vector3(5, 294, 7)], [Vector3(6, 164, 3), Vector3(8, 164, 3)], [Vector3(4, 48, 5), Vector3(4, 48, 7)], [Vector3(1, 56, 4), Vector3(3, 56, 4)], [Vector3(6, 11, 9), Vector3(8, 11, 9)], [Vector3(6, 60, 3), Vector3(6, 60, 4)], [Vector3(0, 229, 6), Vector3(0, 229, 8)], [Vector3(6, 139, 7), Vector3(9, 139, 7)], [Vector3(7, 114, 3), Vector3(7, 114, 5)], [Vector3(9, 171, 6), Vector3(9, 171, 8)], [Vector3(9, 112, 8), Vector3(9, 112, 9)], [Vector3(5, 253, 1), Vector3(5, 253, 5)], [Vector3(5, 122, 0), Vector3(8, 122, 0)], [Vector3(5, 281, 0), Vector3(5, 281, 2)], [Vector3(9, 2, 5), Vector3(9, 6, 5)], [Vector3(9, 265, 2), Vector3(9, 265, 5)], [Vector3(0, 121, 1), Vector3(0, 121, 4)], [Vector3(2, 14, 5), Vector3(4, 14, 5)], [Vector3(3, 17, 0), Vector3(3, 19, 0)], [Vector3(3, 175, 5), Vector3(5, 175, 5)], [Vector3(7, 59, 1), Vector3(7, 59, 3)], [Vector3(4, 111, 6), Vector3(7, 111, 6)], [Vector3(6, 238, 1), Vector3(6, 238, 5)], [Vector3(8, 48, 2), Vector3(8, 48, 4)], [Vector3(6, 88, 2), Vector3(6, 88, 4)], [Vector3(4, 46, 6), Vector3(5, 46, 6)], [Vector3(2, 273, 0), Vector3(2, 273, 2)], [Vector3(5, 3, 3), Vector3(5, 3, 5)], [Vector3(1, 300, 6), Vector3(3, 300, 6)], [Vector3(4, 226, 7), Vector3(4, 228, 7)], [Vector3(0, 10, 4), Vector3(3, 10, 4)], [Vector3(0, 44, 8), Vector3(2, 44, 8)], [Vector3(4, 187, 0), Vector3(4, 187, 3)], [Vector3(4, 21, 1), Vector3(4, 21, 1)], [Vector3(7, 259, 3), Vector3(9, 259, 3)], [Vector3(3, 286, 6), Vector3(5, 286, 6)], [Vector3(0, 264, 3), Vector3(3, 264, 3)], [Vector3(1, 280, 8), Vector3(1, 280, 9)], [Vector3(2, 92, 0), Vector3(2, 92, 0)], [Vector3(5, 76, 4), Vector3(5, 76, 6)], [Vector3(1, 252, 5), Vector3(1, 252, 7)], [Vector3(2, 113, 1), Vector3(4, 113, 1)], [Vector3(4, 221, 4), Vector3(4, 221, 7)], [Vector3(7, 254, 5), Vector3(7, 257, 5)], [Vector3(0, 214, 4), Vector3(0, 214, 6)], [Vector3(1, 284, 4), Vector3(1, 284, 7)], [Vector3(3, 291, 5), Vector3(3, 291, 8)], [Vector3(3, 121, 4), Vector3(3, 121, 7)], [Vector3(0, 4, 4), Vector3(2, 4, 4)], [Vector3(1, 267, 0), Vector3(1, 267, 2)], [Vector3(1, 258, 6), Vector3(1, 258, 8)], [Vector3(5, 194, 2), Vector3(8, 194, 2)], [Vector3(3, 65, 3), Vector3(6, 65, 3)], [Vector3(3, 235, 1), Vector3(3, 235, 4)], [Vector3(9, 285, 0), Vector3(9, 285, 4)], [Vector3(6, 70, 7), Vector3(8, 70, 7)], [Vector3(3, 58, 3), Vector3(3, 58, 4)], [Vector3(6, 212, 6), Vector3(6, 212, 7)], [Vector3(1, 178, 1), Vector3(3, 178, 1)], [Vector3(4, 188, 6), Vector3(6, 188, 6)], [Vector3(3, 188, 3), Vector3(5, 188, 3)], [Vector3(2, 232, 1), Vector3(5, 232, 1)], [Vector3(8, 126, 3), Vector3(8, 126, 4)], [Vector3(3, 106, 1), Vector3(3, 107, 1)], [Vector3(5, 196, 3), Vector3(7, 196, 3)], [Vector3(0, 289, 4), Vector3(1, 289, 4)], [Vector3(4, 209, 5), Vector3(4, 209, 7)], [Vector3(9, 18, 2), Vector3(9, 19, 2)], [Vector3(2, 207, 1), Vector3(3, 207, 1)], [Vector3(1, 246, 3), Vector3(1, 246, 5)], [Vector3(9, 45, 1), Vector3(9, 45, 3)], [Vector3(5, 126, 6), Vector3(8, 126, 6)], [Vector3(7, 241, 8), Vector3(7, 241, 9)], [Vector3(1, 205, 4), Vector3(1, 205, 8)], [Vector3(8, 136, 4), Vector3(9, 136, 4)], [Vector3(5, 26, 2), Vector3(5, 26, 4)], [Vector3(2, 116, 0), Vector3(4, 116, 0)], [Vector3(9, 170, 4), Vector3(9, 170, 6)], [Vector3(5, 61, 3), Vector3(5, 61, 5)], [Vector3(6, 87, 7), Vector3(9, 87, 7)], [Vector3(3, 129, 9), Vector3(6, 129, 9)], [Vector3(3, 267, 0), Vector3(3, 267, 3)], [Vector3(2, 124, 2), Vector3(2, 124, 5)], [Vector3(5, 150, 3), Vector3(5, 150, 5)], [Vector3(2, 84, 6), Vector3(2, 86, 6)], [Vector3(1, 18, 1), Vector3(2, 18, 1)], [Vector3(2, 258, 3), Vector3(5, 258, 3)], [Vector3(5, 274, 0), Vector3(5, 274, 2)], [Vector3(4, 238, 1), Vector3(5, 238, 1)], [Vector3(8, 78, 2), Vector3(8, 78, 4)], [Vector3(3, 266, 2), Vector3(3, 266, 4)], [Vector3(3, 194, 2), Vector3(4, 194, 2)], [Vector3(2, 214, 7), Vector3(2, 214, 9)], [Vector3(0, 128, 1), Vector3(0, 128, 3)], [Vector3(1, 213, 7), Vector3(4, 213, 7)], [Vector3(2, 241, 2), Vector3(2, 241, 4)], [Vector3(3, 165, 6), Vector3(3, 165, 8)], [Vector3(1, 113, 0), Vector3(1, 113, 3)], [Vector3(7, 252, 4), Vector3(7, 252, 7)], [Vector3(7, 80, 3), Vector3(7, 80, 6)], [Vector3(8, 29, 4), Vector3(8, 29, 7)], [Vector3(3, 23, 8), Vector3(5, 23, 8)], [Vector3(6, 132, 7), Vector3(6, 132, 9)], [Vector3(8, 39, 8), Vector3(9, 39, 8)], [Vector3(2, 54, 8), Vector3(2, 56, 8)], [Vector3(5, 197, 0), Vector3(7, 197, 0)], [Vector3(4, 295, 8), Vector3(6, 295, 8)], [Vector3(1, 116, 0), Vector3(1, 117, 0)], [Vector3(7, 298, 6), Vector3(7, 298, 8)], [Vector3(4, 14, 6), Vector3(7, 14, 6)], [Vector3(8, 81, 1), Vector3(8, 81, 3)], [Vector3(2, 129, 6), Vector3(2, 129, 8)], [Vector3(4, 249, 2), Vector3(4, 249, 4)], [Vector3(2, 200, 5), Vector3(5, 200, 5)], [Vector3(5, 212, 3), Vector3(5, 212, 4)], [Vector3(5, 268, 6), Vector3(5, 268, 7)], [Vector3(4, 111, 3), Vector3(7, 111, 3)], [Vector3(8, 252, 7), Vector3(8, 252, 9)], [Vector3(5, 20, 0), Vector3(7, 20, 0)], [Vector3(7, 164, 6), Vector3(7, 164, 8)], [Vector3(7, 170, 3), Vector3(9, 170, 3)], [Vector3(5, 45, 8), Vector3(5, 48, 8)], [Vector3(6, 62, 7), Vector3(6, 62, 8)], [Vector3(3, 200, 4), Vector3(5, 200, 4)], [Vector3(2, 141, 5), Vector3(5, 141, 5)], [Vector3(6, 41, 7), Vector3(6, 43, 7)], [Vector3(2, 75, 9), Vector3(5, 75, 9)], [Vector3(3, 19, 7), Vector3(5, 19, 7)], [Vector3(2, 150, 5), Vector3(2, 150, 7)], [Vector3(6, 251, 1), Vector3(8, 251, 1)], [Vector3(3, 11, 2), Vector3(4, 11, 2)], [Vector3(4, 100, 7), Vector3(8, 100, 7)], [Vector3(8, 172, 4), Vector3(8, 172, 6)], [Vector3(8, 4, 5), Vector3(8, 4, 8)], [Vector3(2, 98, 1), Vector3(2, 98, 4)], [Vector3(2, 126, 3), Vector3(2, 126, 4)], [Vector3(5, 132, 2), Vector3(8, 132, 2)], [Vector3(5, 291, 6), Vector3(5, 291, 8)], [Vector3(1, 219, 5), Vector3(4, 219, 5)], [Vector3(9, 252, 6), Vector3(9, 255, 6)], [Vector3(1, 81, 6), Vector3(1, 81, 9)], [Vector3(2, 31, 5), Vector3(2, 31, 7)], [Vector3(2, 72, 6), Vector3(2, 72, 9)], [Vector3(1, 249, 5), Vector3(1, 249, 7)], [Vector3(3, 88, 0), Vector3(6, 88, 0)], [Vector3(8, 109, 7), Vector3(8, 111, 7)], [Vector3(5, 176, 9), Vector3(5, 177, 9)], [Vector3(6, 290, 3), Vector3(6, 293, 3)], [Vector3(1, 289, 7), Vector3(1, 291, 7)], [Vector3(3, 6, 3), Vector3(3, 6, 6)], [Vector3(3, 265, 4), Vector3(3, 265, 7)], [Vector3(7, 103, 8), Vector3(7, 104, 8)], [Vector3(6, 258, 6), Vector3(6, 258, 8)], [Vector3(0, 48, 1), Vector3(0, 48, 3)], [Vector3(0, 78, 7), Vector3(1, 78, 7)], [Vector3(5, 99, 3), Vector3(5, 99, 6)], [Vector3(0, 181, 4), Vector3(2, 181, 4)], [Vector3(6, 166, 7), Vector3(6, 166, 8)], [Vector3(0, 291, 6), Vector3(1, 291, 6)], [Vector3(5, 206, 6), Vector3(5, 206, 8)], [Vector3(5, 227, 3), Vector3(5, 227, 4)], [Vector3(6, 98, 5), Vector3(6, 98, 8)], [Vector3(6, 3, 0), Vector3(6, 6, 0)], [Vector3(9, 106, 0), Vector3(9, 106, 2)], [Vector3(5, 68, 6), Vector3(7, 68, 6)], [Vector3(8, 254, 9), Vector3(8, 256, 9)], [Vector3(3, 69, 3), Vector3(3, 71, 3)], [Vector3(0, 77, 3), Vector3(0, 77, 5)], [Vector3(3, 202, 2), Vector3(3, 202, 4)], [Vector3(2, 71, 6), Vector3(2, 71, 7)], [Vector3(2, 247, 2), Vector3(3, 247, 2)], [Vector3(5, 132, 8), Vector3(5, 132, 9)], [Vector3(3, 56, 1), Vector3(4, 56, 1)], [Vector3(9, 280, 2), Vector3(9, 283, 2)], [Vector3(1, 52, 8), Vector3(4, 52, 8)], [Vector3(9, 175, 7), Vector3(9, 177, 7)], [Vector3(7, 247, 4), Vector3(7, 247, 6)], [Vector3(2, 286, 0), Vector3(2, 286, 1)], [Vector3(7, 47, 5), Vector3(7, 49, 5)], [Vector3(2, 66, 9), Vector3(3, 66, 9)], [Vector3(3, 212, 2), Vector3(4, 212, 2)], [Vector3(5, 160, 3), Vector3(5, 160, 5)], [Vector3(3, 124, 7), Vector3(3, 124, 9)], [Vector3(3, 53, 1), Vector3(3, 53, 2)], [Vector3(3, 303, 0), Vector3(5, 303, 0)], [Vector3(3, 296, 0), Vector3(3, 296, 2)], [Vector3(7, 11, 4), Vector3(7, 11, 5)], [Vector3(1, 3, 7), Vector3(3, 3, 7)], [Vector3(8, 134, 2), Vector3(8, 134, 3)], [Vector3(8, 77, 7), Vector3(8, 79, 7)], [Vector3(4, 13, 1), Vector3(4, 13, 3)], [Vector3(6, 186, 4), Vector3(6, 186, 6)], [Vector3(0, 227, 7), Vector3(0, 227, 9)], [Vector3(7, 127, 6), Vector3(7, 129, 6)], [Vector3(5, 178, 4), Vector3(7, 178, 4)], [Vector3(1, 179, 1), Vector3(3, 179, 1)], [Vector3(1, 169, 8), Vector3(2, 169, 8)], [Vector3(7, 67, 7), Vector3(7, 67, 9)], [Vector3(3, 137, 4), Vector3(5, 137, 4)], [Vector3(0, 228, 9), Vector3(2, 228, 9)], [Vector3(7, 173, 9), Vector3(9, 173, 9)], [Vector3(7, 271, 5), Vector3(9, 271, 5)], [Vector3(4, 262, 1), Vector3(5, 262, 1)], [Vector3(6, 298, 5), Vector3(6, 298, 8)], [Vector3(7, 184, 5), Vector3(7, 187, 5)], [Vector3(4, 134, 9), Vector3(6, 134, 9)], [Vector3(1, 148, 4), Vector3(1, 148, 6)], [Vector3(6, 33, 1), Vector3(6, 35, 1)], [Vector3(7, 255, 2), Vector3(9, 255, 2)], [Vector3(9, 142, 7), Vector3(9, 142, 8)], [Vector3(0, 47, 8), Vector3(0, 49, 8)], [Vector3(2, 203, 2), Vector3(4, 203, 2)], [Vector3(3, 8, 2), Vector3(3, 8, 2)], [Vector3(1, 20, 6), Vector3(1, 20, 8)], [Vector3(3, 229, 7), Vector3(3, 229, 8)], [Vector3(3, 53, 0), Vector3(7, 53, 0)], [Vector3(0, 270, 3), Vector3(1, 270, 3)], [Vector3(8, 32, 2), Vector3(8, 34, 2)], [Vector3(2, 301, 6), Vector3(2, 301, 8)], [Vector3(6, 30, 1), Vector3(6, 30, 4)], [Vector3(3, 119, 0), Vector3(5, 119, 0)], [Vector3(4, 32, 5), Vector3(5, 32, 5)], [Vector3(3, 132, 5), Vector3(6, 132, 5)], [Vector3(3, 118, 3), Vector3(3, 118, 5)], [Vector3(5, 307, 5), Vector3(5, 307, 7)], [Vector3(3, 294, 7), Vector3(3, 294, 9)], [Vector3(0, 180, 4), Vector3(2, 180, 4)], [Vector3(6, 146, 4), Vector3(6, 148, 4)], [Vector3(4, 13, 4), Vector3(6, 13, 4)], [Vector3(2, 82, 5), Vector3(2, 82, 7)], [Vector3(5, 275, 9), Vector3(8, 275, 9)], [Vector3(6, 76, 9), Vector3(7, 76, 9)], [Vector3(4, 258, 7), Vector3(4, 258, 9)], [Vector3(8, 256, 0), Vector3(8, 256, 1)], [Vector3(6, 265, 1), Vector3(6, 265, 3)], [Vector3(5, 26, 7), Vector3(5, 26, 8)], [Vector3(9, 28, 5), Vector3(9, 28, 7)], [Vector3(2, 217, 5), Vector3(5, 217, 5)], [Vector3(1, 172, 2), Vector3(4, 172, 2)], [Vector3(1, 207, 3), Vector3(1, 209, 3)], [Vector3(9, 120, 4), Vector3(9, 120, 6)], [Vector3(7, 220, 3), Vector3(7, 220, 5)], [Vector3(6, 260, 8), Vector3(8, 260, 8)], [Vector3(0, 175, 0), Vector3(2, 175, 0)], [Vector3(3, 31, 1), Vector3(6, 31, 1)], [Vector3(3, 36, 4), Vector3(3, 36, 6)], [Vector3(4, 191, 1), Vector3(4, 191, 2)], [Vector3(1, 109, 1), Vector3(3, 109, 1)], [Vector3(3, 246, 5), Vector3(4, 246, 5)], [Vector3(0, 281, 1), Vector3(0, 281, 3)], [Vector3(1, 83, 8), Vector3(3, 83, 8)], [Vector3(5, 298, 8), Vector3(5, 298, 8)], [Vector3(2, 293, 2), Vector3(2, 293, 4)], [Vector3(0, 5, 2), Vector3(0, 5, 3)], [Vector3(2, 45, 4), Vector3(3, 45, 4)], [Vector3(1, 187, 4), Vector3(2, 187, 4)], [Vector3(4, 119, 2), Vector3(7, 119, 2)], [Vector3(5, 70, 8), Vector3(5, 70, 9)], [Vector3(3, 50, 4), Vector3(5, 50, 4)], [Vector3(6, 100, 4), Vector3(6, 100, 6)], [Vector3(1, 51, 0), Vector3(1, 51, 3)], [Vector3(7, 26, 8), Vector3(9, 26, 8)], [Vector3(7, 276, 5), Vector3(8, 276, 5)], [Vector3(6, 26, 2), Vector3(6, 26, 5)], [Vector3(0, 74, 1), Vector3(0, 74, 4)], [Vector3(6, 133, 8), Vector3(6, 133, 9)], [Vector3(2, 202, 5), Vector3(2, 204, 5)], [Vector3(0, 103, 7), Vector3(4, 103, 7)], [Vector3(3, 226, 4), Vector3(5, 226, 4)], [Vector3(9, 105, 2), Vector3(9, 105, 4)], [Vector3(9, 197, 2), Vector3(9, 197, 4)], [Vector3(7, 45, 4), Vector3(7, 45, 5)], [Vector3(6, 115, 3), Vector3(8, 115, 3)], [Vector3(6, 162, 3), Vector3(6, 162, 6)], [Vector3(3, 222, 4), Vector3(3, 222, 7)], [Vector3(4, 119, 5), Vector3(4, 119, 7)], [Vector3(8, 45, 1), Vector3(8, 45, 2)], [Vector3(2, 19, 0), Vector3(2, 19, 2)], [Vector3(0, 39, 5), Vector3(3, 39, 5)], [Vector3(7, 53, 5), Vector3(7, 53, 7)], [Vector3(7, 105, 7), Vector3(9, 105, 7)], [Vector3(3, 44, 3), Vector3(3, 47, 3)], [Vector3(4, 148, 2), Vector3(6, 148, 2)], [Vector3(8, 201, 1), Vector3(9, 201, 1)], [Vector3(6, 195, 0), Vector3(6, 195, 2)], [Vector3(3, 168, 1), Vector3(3, 168, 4)], [Vector3(9, 201, 4), Vector3(9, 201, 4)], [Vector3(4, 156, 2), Vector3(4, 156, 4)], [Vector3(2, 76, 3), Vector3(2, 76, 3)], [Vector3(5, 54, 6), Vector3(6, 54, 6)], [Vector3(6, 247, 4), Vector3(6, 249, 4)], [Vector3(7, 243, 2), Vector3(7, 243, 4)], [Vector3(4, 81, 1), Vector3(4, 81, 4)], [Vector3(3, 155, 4), Vector3(6, 155, 4)], [Vector3(7, 108, 6), Vector3(7, 108, 7)], [Vector3(7, 9, 7), Vector3(7, 9, 9)], [Vector3(5, 100, 2), Vector3(5, 100, 4)], [Vector3(2, 98, 6), Vector3(2, 98, 8)], [Vector3(2, 176, 6), Vector3(5, 176, 6)], [Vector3(3, 82, 5), Vector3(3, 82, 7)], [Vector3(4, 282, 1), Vector3(6, 282, 1)], [Vector3(3, 299, 5), Vector3(6, 299, 5)], [Vector3(9, 245, 3), Vector3(9, 245, 6)], [Vector3(6, 103, 1), Vector3(6, 103, 4)], [Vector3(4, 149, 2), Vector3(4, 150, 2)], [Vector3(6, 165, 8), Vector3(6, 165, 9)], [Vector3(4, 20, 2), Vector3(4, 20, 2)], [Vector3(4, 186, 0), Vector3(7, 186, 0)], [Vector3(0, 82, 5), Vector3(0, 82, 7)], [Vector3(7, 254, 0), Vector3(7, 254, 2)], [Vector3(6, 63, 4), Vector3(6, 63, 7)], [Vector3(4, 297, 2), Vector3(4, 297, 4)], [Vector3(7, 13, 0), Vector3(9, 13, 0)], [Vector3(8, 169, 6), Vector3(9, 169, 6)], [Vector3(5, 193, 2), Vector3(5, 193, 3)], [Vector3(1, 195, 0), Vector3(1, 197, 0)], [Vector3(5, 3, 9), Vector3(5, 4, 9)], [Vector3(7, 2, 5), Vector3(7, 2, 7)], [Vector3(6, 210, 5), Vector3(9, 210, 5)], [Vector3(3, 227, 6), Vector3(3, 230, 6)], [Vector3(5, 190, 1), Vector3(7, 190, 1)], [Vector3(3, 53, 4), Vector3(3, 53, 4)], [Vector3(4, 303, 8), Vector3(4, 303, 9)], [Vector3(2, 204, 0), Vector3(2, 207, 0)], [Vector3(4, 105, 7), Vector3(4, 105, 9)], [Vector3(2, 23, 1), Vector3(4, 23, 1)], [Vector3(5, 199, 4), Vector3(5, 199, 6)], [Vector3(4, 9, 3), Vector3(4, 9, 6)], [Vector3(6, 266, 8), Vector3(7, 266, 8)], [Vector3(6, 74, 9), Vector3(8, 74, 9)], [Vector3(5, 105, 9), Vector3(5, 107, 9)], [Vector3(2, 174, 2), Vector3(3, 174, 2)], [Vector3(6, 203, 0), Vector3(6, 203, 2)], [Vector3(2, 275, 7), Vector3(2, 275, 8)], [Vector3(5, 163, 7), Vector3(5, 163, 8)], [Vector3(1, 57, 6), Vector3(4, 57, 6)], [Vector3(0, 247, 3), Vector3(1, 247, 3)], [Vector3(5, 176, 1), Vector3(5, 176, 1)], [Vector3(5, 286, 3), Vector3(6, 286, 3)], [Vector3(7, 2, 0), Vector3(7, 2, 3)], [Vector3(1, 245, 4), Vector3(4, 245, 4)], [Vector3(0, 102, 8), Vector3(2, 102, 8)], [Vector3(4, 204, 6), Vector3(6, 204, 6)], [Vector3(1, 175, 1), Vector3(5, 175, 1)], [Vector3(8, 127, 6), Vector3(9, 127, 6)], [Vector3(0, 257, 0), Vector3(0, 257, 2)], [Vector3(0, 239, 5), Vector3(3, 239, 5)], [Vector3(2, 238, 1), Vector3(2, 238, 4)], [Vector3(4, 2, 9), Vector3(4, 4, 9)], [Vector3(9, 251, 1), Vector3(9, 252, 1)], [Vector3(4, 178, 0), Vector3(4, 178, 1)], [Vector3(6, 144, 5), Vector3(7, 144, 5)], [Vector3(2, 206, 4), Vector3(2, 206, 6)], [Vector3(3, 10, 8), Vector3(4, 10, 8)], [Vector3(4, 290, 5), Vector3(4, 290, 7)], [Vector3(6, 197, 3), Vector3(6, 197, 5)], [Vector3(0, 224, 7), Vector3(0, 224, 9)], [Vector3(5, 245, 8), Vector3(6, 245, 8)], [Vector3(9, 16, 0), Vector3(9, 16, 2)], [Vector3(5, 211, 4), Vector3(5, 211, 6)], [Vector3(5, 184, 4), Vector3(5, 184, 5)], [Vector3(7, 274, 4), Vector3(7, 274, 7)], [Vector3(2, 230, 5), Vector3(2, 231, 5)], [Vector3(0, 168, 5), Vector3(4, 168, 5)], [Vector3(0, 42, 4), Vector3(2, 42, 4)], [Vector3(1, 2, 6), Vector3(1, 2, 8)], [Vector3(8, 208, 2), Vector3(8, 210, 2)], [Vector3(7, 261, 6), Vector3(9, 261, 6)], [Vector3(0, 83, 4), Vector3(0, 83, 6)], [Vector3(6, 143, 3), Vector3(6, 143, 5)], [Vector3(4, 104, 0), Vector3(4, 104, 2)], [Vector3(8, 113, 9), Vector3(9, 113, 9)], [Vector3(3, 253, 5), Vector3(3, 253, 9)], [Vector3(0, 125, 5), Vector3(2, 125, 5)], [Vector3(2, 15, 8), Vector3(3, 15, 8)], [Vector3(5, 159, 4), Vector3(8, 159, 4)], [Vector3(5, 243, 1), Vector3(7, 243, 1)], [Vector3(2, 59, 3), Vector3(2, 59, 5)], [Vector3(3, 297, 4), Vector3(3, 297, 6)], [Vector3(5, 19, 3), Vector3(7, 19, 3)], [Vector3(9, 29, 0), Vector3(9, 29, 3)], [Vector3(2, 223, 3), Vector3(4, 223, 3)], [Vector3(5, 25, 3), Vector3(8, 25, 3)], [Vector3(8, 129, 1), Vector3(8, 129, 3)], [Vector3(5, 60, 3), Vector3(5, 60, 4)], [Vector3(3, 271, 0), Vector3(5, 271, 0)], [Vector3(7, 279, 7), Vector3(9, 279, 7)], [Vector3(7, 7, 7), Vector3(8, 7, 7)], [Vector3(0, 245, 1), Vector3(1, 245, 1)], [Vector3(4, 60, 6), Vector3(6, 60, 6)], [Vector3(2, 87, 7), Vector3(5, 87, 7)], [Vector3(7, 170, 9), Vector3(9, 170, 9)], [Vector3(2, 277, 4), Vector3(4, 277, 4)], [Vector3(6, 22, 7), Vector3(9, 22, 7)], [Vector3(6, 12, 3), Vector3(8, 12, 3)], [Vector3(8, 273, 4), Vector3(8, 273, 7)], [Vector3(8, 287, 3), Vector3(8, 287, 5)], [Vector3(6, 126, 3), Vector3(7, 126, 3)], [Vector3(0, 109, 8), Vector3(0, 111, 8)], [Vector3(6, 104, 9), Vector3(6, 106, 9)], [Vector3(6, 157, 6), Vector3(7, 157, 6)], [Vector3(0, 37, 7), Vector3(0, 37, 9)], [Vector3(3, 181, 1), Vector3(3, 183, 1)], [Vector3(4, 211, 2), Vector3(4, 211, 3)], [Vector3(4, 248, 8), Vector3(6, 248, 8)], [Vector3(2, 131, 7), Vector3(2, 131, 9)], [Vector3(6, 118, 4), Vector3(9, 118, 4)], [Vector3(3, 29, 3), Vector3(5, 29, 3)], [Vector3(1, 216, 6), Vector3(1, 218, 6)], [Vector3(7, 293, 8), Vector3(7, 295, 8)], [Vector3(0, 126, 3), Vector3(0, 126, 6)], [Vector3(1, 28, 4), Vector3(4, 28, 4)], [Vector3(5, 46, 1), Vector3(7, 46, 1)], [Vector3(2, 274, 7), Vector3(4, 274, 7)], [Vector3(5, 5, 9), Vector3(6, 5, 9)], [Vector3(1, 132, 6), Vector3(2, 132, 6)], [Vector3(2, 103, 9), Vector3(4, 103, 9)], [Vector3(7, 264, 8), Vector3(7, 264, 9)], [Vector3(8, 292, 3), Vector3(8, 292, 5)], [Vector3(0, 151, 4), Vector3(2, 151, 4)], [Vector3(4, 175, 6), Vector3(4, 175, 8)], [Vector3(5, 34, 4), Vector3(5, 34, 7)], [Vector3(3, 21, 7), Vector3(3, 21, 8)], [Vector3(0, 34, 7), Vector3(2, 34, 7)], [Vector3(0, 10, 8), Vector3(0, 10, 9)], [Vector3(9, 291, 5), Vector3(9, 292, 5)], [Vector3(7, 9, 0), Vector3(7, 9, 3)], [Vector3(2, 36, 6), Vector3(2, 36, 9)], [Vector3(0, 248, 3), Vector3(0, 248, 4)], [Vector3(5, 69, 6), Vector3(7, 69, 6)], [Vector3(2, 246, 1), Vector3(4, 246, 1)], [Vector3(5, 105, 1), Vector3(8, 105, 1)], [Vector3(2, 10, 0), Vector3(2, 10, 3)], [Vector3(5, 89, 4), Vector3(5, 89, 7)], [Vector3(6, 29, 2), Vector3(8, 29, 2)], [Vector3(5, 37, 2), Vector3(5, 37, 4)], [Vector3(8, 202, 3), Vector3(9, 202, 3)], [Vector3(0, 1, 6), Vector3(0, 1, 9)], [Vector3(5, 303, 9), Vector3(7, 303, 9)], [Vector3(5, 230, 1), Vector3(5, 230, 4)], [Vector3(4, 284, 6), Vector3(6, 284, 6)], [Vector3(6, 274, 8), Vector3(7, 274, 8)], [Vector3(8, 35, 6), Vector3(8, 36, 6)], [Vector3(0, 129, 5), Vector3(0, 131, 5)], [Vector3(7, 31, 2), Vector3(7, 31, 4)], [Vector3(4, 159, 1), Vector3(4, 159, 4)], [Vector3(0, 243, 0), Vector3(2, 243, 0)], [Vector3(5, 92, 3), Vector3(5, 92, 5)], [Vector3(5, 91, 6), Vector3(5, 93, 6)], [Vector3(2, 76, 5), Vector3(3, 76, 5)], [Vector3(1, 114, 4), Vector3(1, 114, 5)], [Vector3(6, 22, 3), Vector3(8, 22, 3)], [Vector3(1, 88, 3), Vector3(1, 89, 3)], [Vector3(5, 136, 7), Vector3(8, 136, 7)], [Vector3(2, 4, 3), Vector3(5, 4, 3)], [Vector3(0, 106, 7), Vector3(0, 106, 9)], [Vector3(6, 97, 0), Vector3(6, 97, 2)], [Vector3(0, 59, 0), Vector3(0, 61, 0)], [Vector3(5, 90, 0), Vector3(5, 92, 0)], [Vector3(4, 189, 1), Vector3(6, 189, 1)], [Vector3(7, 104, 3), Vector3(9, 104, 3)], [Vector3(8, 180, 7), Vector3(9, 180, 7)], [Vector3(7, 250, 3), Vector3(9, 250, 3)], [Vector3(1, 274, 4), Vector3(1, 274, 7)], [Vector3(2, 49, 7), Vector3(4, 49, 7)], [Vector3(0, 185, 3), Vector3(0, 185, 5)], [Vector3(0, 282, 3), Vector3(1, 282, 3)], [Vector3(8, 181, 7), Vector3(8, 183, 7)], [Vector3(9, 37, 6), Vector3(9, 37, 8)], [Vector3(2, 14, 0), Vector3(4, 14, 0)], [Vector3(4, 202, 4), Vector3(4, 202, 6)], [Vector3(4, 168, 0), Vector3(4, 168, 1)], [Vector3(2, 22, 7), Vector3(2, 22, 8)], [Vector3(8, 253, 3), Vector3(9, 253, 3)], [Vector3(1, 283, 9), Vector3(3, 283, 9)], [Vector3(5, 131, 7), Vector3(5, 133, 7)], [Vector3(3, 72, 5), Vector3(3, 72, 8)], [Vector3(7, 95, 4), Vector3(7, 95, 7)], [Vector3(1, 174, 0), Vector3(1, 174, 2)], [Vector3(5, 217, 0), Vector3(7, 217, 0)], [Vector3(3, 244, 3), Vector3(3, 244, 5)], [Vector3(1, 80, 6), Vector3(1, 80, 9)], [Vector3(5, 91, 2), Vector3(6, 91, 2)], [Vector3(3, 273, 0), Vector3(4, 273, 0)], [Vector3(3, 117, 3), Vector3(3, 117, 6)], [Vector3(5, 102, 9), Vector3(8, 102, 9)], [Vector3(5, 183, 4), Vector3(8, 183, 4)], [Vector3(4, 100, 8), Vector3(7, 100, 8)], [Vector3(3, 225, 7), Vector3(3, 225, 9)], [Vector3(7, 57, 0), Vector3(7, 57, 2)], [Vector3(7, 286, 0), Vector3(9, 286, 0)], [Vector3(2, 103, 8), Vector3(5, 103, 8)], [Vector3(5, 5, 2), Vector3(5, 5, 5)], [Vector3(3, 273, 7), Vector3(4, 273, 7)], [Vector3(7, 184, 6), Vector3(7, 184, 8)], [Vector3(3, 122, 3), Vector3(5, 122, 3)], [Vector3(7, 244, 5), Vector3(7, 244, 8)], [Vector3(9, 181, 7), Vector3(9, 181, 8)], [Vector3(0, 213, 6), Vector3(1, 213, 6)], [Vector3(6, 239, 5), Vector3(6, 239, 8)], [Vector3(3, 60, 4), Vector3(3, 62, 4)], [Vector3(2, 293, 8), Vector3(4, 293, 8)], [Vector3(8, 46, 0), Vector3(8, 46, 1)], [Vector3(6, 66, 4), Vector3(8, 66, 4)], [Vector3(5, 104, 1), Vector3(7, 104, 1)], [Vector3(8, 31, 1), Vector3(8, 31, 3)], [Vector3(2, 71, 3), Vector3(2, 71, 4)], [Vector3(0, 100, 1), Vector3(0, 101, 1)], [Vector3(1, 2, 0), Vector3(1, 4, 0)], [Vector3(0, 4, 2), Vector3(0, 4, 3)], [Vector3(7, 138, 5), Vector3(7, 138, 7)], [Vector3(1, 199, 1), Vector3(1, 199, 2)], [Vector3(5, 85, 3), Vector3(5, 85, 4)], [Vector3(8, 30, 6), Vector3(8, 31, 6)], [Vector3(9, 38, 4), Vector3(9, 39, 4)], [Vector3(7, 245, 3), Vector3(7, 245, 4)], [Vector3(6, 219, 7), Vector3(8, 219, 7)], [Vector3(6, 249, 7), Vector3(9, 249, 7)], [Vector3(1, 65, 0), Vector3(1, 65, 2)], [Vector3(4, 84, 4), Vector3(5, 84, 4)], [Vector3(4, 99, 1), Vector3(4, 99, 3)], [Vector3(1, 92, 9), Vector3(3, 92, 9)], [Vector3(8, 279, 2), Vector3(8, 279, 3)], [Vector3(4, 30, 5), Vector3(7, 30, 5)], [Vector3(1, 92, 5), Vector3(4, 92, 5)], [Vector3(2, 15, 0), Vector3(2, 15, 2)], [Vector3(9, 112, 3), Vector3(9, 112, 6)], [Vector3(3, 138, 7), Vector3(5, 138, 7)], [Vector3(6, 190, 0), Vector3(8, 190, 0)], [Vector3(5, 10, 0), Vector3(5, 10, 2)], [Vector3(3, 169, 2), Vector3(4, 169, 2)], [Vector3(3, 252, 5), Vector3(3, 252, 7)], [Vector3(0, 286, 7), Vector3(2, 286, 7)], [Vector3(4, 82, 2), Vector3(6, 82, 2)], [Vector3(3, 215, 0), Vector3(4, 215, 0)], [Vector3(4, 33, 1), Vector3(5, 33, 1)], [Vector3(3, 17, 6), Vector3(3, 17, 8)], [Vector3(7, 51, 3), Vector3(7, 51, 6)], [Vector3(7, 117, 2), Vector3(7, 117, 4)], [Vector3(1, 74, 4), Vector3(3, 74, 4)], [Vector3(6, 293, 0), Vector3(8, 293, 0)], [Vector3(5, 73, 9), Vector3(7, 73, 9)], [Vector3(3, 300, 2), Vector3(3, 300, 4)], [Vector3(2, 198, 3), Vector3(5, 198, 3)], [Vector3(8, 171, 5), Vector3(8, 171, 7)], [Vector3(0, 284, 1), Vector3(2, 284, 1)], [Vector3(3, 44, 9), Vector3(5, 44, 9)], [Vector3(1, 273, 5), Vector3(4, 273, 5)], [Vector3(9, 129, 0), Vector3(9, 129, 2)], [Vector3(6, 192, 1), Vector3(6, 192, 2)], [Vector3(3, 58, 5), Vector3(5, 58, 5)], [Vector3(2, 256, 8), Vector3(3, 256, 8)], [Vector3(1, 63, 0), Vector3(3, 63, 0)], [Vector3(7, 33, 6), Vector3(9, 33, 6)], [Vector3(0, 114, 0), Vector3(2, 114, 0)], [Vector3(1, 111, 1), Vector3(1, 111, 4)], [Vector3(2, 252, 2), Vector3(4, 252, 2)], [Vector3(2, 236, 4), Vector3(4, 236, 4)], [Vector3(3, 95, 9), Vector3(3, 97, 9)], [Vector3(1, 133, 6), Vector3(1, 133, 8)], [Vector3(8, 2, 1), Vector3(9, 2, 1)], [Vector3(0, 199, 2), Vector3(0, 199, 5)], [Vector3(6, 240, 8), Vector3(8, 240, 8)], [Vector3(1, 192, 0), Vector3(3, 192, 0)], [Vector3(7, 14, 3), Vector3(7, 14, 4)], [Vector3(7, 257, 1), Vector3(7, 259, 1)], [Vector3(6, 246, 6), Vector3(6, 248, 6)], [Vector3(8, 245, 2), Vector3(8, 245, 4)], [Vector3(8, 50, 2), Vector3(9, 50, 2)], [Vector3(2, 22, 2), Vector3(2, 22, 4)], [Vector3(1, 227, 5), Vector3(3, 227, 5)], [Vector3(3, 56, 7), Vector3(5, 56, 7)], [Vector3(5, 2, 4), Vector3(7, 2, 4)], [Vector3(5, 145, 1), Vector3(5, 145, 3)], [Vector3(1, 8, 5), Vector3(3, 8, 5)], [Vector3(9, 289, 3), Vector3(9, 289, 6)], [Vector3(4, 287, 3), Vector3(7, 287, 3)], [Vector3(2, 68, 4), Vector3(2, 68, 7)], [Vector3(7, 26, 1), Vector3(7, 26, 3)], [Vector3(9, 202, 7), Vector3(9, 204, 7)], [Vector3(5, 260, 5), Vector3(5, 260, 5)], [Vector3(3, 283, 0), Vector3(3, 283, 2)], [Vector3(5, 232, 4), Vector3(5, 232, 6)], [Vector3(7, 191, 1), Vector3(9, 191, 1)], [Vector3(6, 251, 3), Vector3(6, 251, 5)], [Vector3(3, 71, 7), Vector3(3, 71, 9)], [Vector3(4, 224, 6), Vector3(4, 224, 8)], [Vector3(3, 270, 5), Vector3(3, 270, 7)], [Vector3(3, 197, 1), Vector3(6, 197, 1)], [Vector3(8, 200, 5), Vector3(8, 200, 7)], [Vector3(3, 101, 6), Vector3(5, 101, 6)], [Vector3(6, 219, 6), Vector3(8, 219, 6)], [Vector3(7, 182, 5), Vector3(7, 182, 7)], [Vector3(6, 241, 1), Vector3(8, 241, 1)], [Vector3(3, 52, 0), Vector3(3, 52, 2)], [Vector3(0, 66, 7), Vector3(3, 66, 7)], [Vector3(4, 137, 9), Vector3(4, 139, 9)], [Vector3(1, 276, 7), Vector3(3, 276, 7)], [Vector3(4, 300, 9), Vector3(6, 300, 9)], [Vector3(3, 7, 6), Vector3(3, 7, 8)], [Vector3(9, 123, 5), Vector3(9, 123, 6)], [Vector3(8, 89, 7), Vector3(9, 89, 7)], [Vector3(1, 207, 8), Vector3(1, 211, 8)], [Vector3(7, 251, 6), Vector3(9, 251, 6)], [Vector3(8, 1, 7), Vector3(8, 1, 8)], [Vector3(5, 18, 0), Vector3(6, 18, 0)], [Vector3(1, 94, 4), Vector3(1, 94, 7)], [Vector3(3, 89, 1), Vector3(4, 89, 1)], [Vector3(0, 287, 0), Vector3(2, 287, 0)], [Vector3(1, 42, 5), Vector3(1, 42, 7)], [Vector3(0, 217, 6), Vector3(0, 219, 6)], [Vector3(1, 117, 3), Vector3(1, 117, 4)], [Vector3(5, 124, 2), Vector3(7, 124, 2)], [Vector3(7, 200, 1), Vector3(8, 200, 1)], [Vector3(5, 266, 1), Vector3(5, 266, 3)], [Vector3(7, 37, 6), Vector3(7, 37, 9)], [Vector3(1, 287, 4), Vector3(2, 287, 4)], [Vector3(1, 86, 2), Vector3(1, 86, 4)], [Vector3(3, 3, 1), Vector3(5, 3, 1)], [Vector3(2, 270, 0), Vector3(3, 270, 0)], [Vector3(2, 42, 6), Vector3(3, 42, 6)], [Vector3(1, 202, 8), Vector3(1, 202, 9)], [Vector3(8, 197, 0), Vector3(8, 197, 3)], [Vector3(2, 151, 0), Vector3(2, 151, 2)], [Vector3(8, 261, 8), Vector3(8, 261, 8)], [Vector3(7, 213, 2), Vector3(9, 213, 2)], [Vector3(9, 138, 3), Vector3(9, 138, 6)], [Vector3(2, 296, 1), Vector3(2, 296, 3)], [Vector3(0, 228, 6), Vector3(0, 228, 7)], [Vector3(9, 53, 2), Vector3(9, 54, 2)], [Vector3(3, 61, 0), Vector3(3, 61, 2)], [Vector3(0, 208, 7), Vector3(3, 208, 7)], [Vector3(8, 288, 0), Vector3(8, 290, 0)], [Vector3(6, 73, 7), Vector3(9, 73, 7)], [Vector3(7, 109, 3), Vector3(7, 109, 5)], [Vector3(9, 199, 4), Vector3(9, 199, 6)], [Vector3(2, 69, 5), Vector3(2, 69, 7)], [Vector3(2, 122, 5), Vector3(5, 122, 5)], [Vector3(5, 207, 8), Vector3(7, 207, 8)], [Vector3(0, 276, 5), Vector3(2, 276, 5)], [Vector3(5, 180, 3), Vector3(5, 180, 4)], [Vector3(4, 79, 5), Vector3(7, 79, 5)], [Vector3(0, 57, 0), Vector3(1, 57, 0)], [Vector3(6, 288, 6), Vector3(6, 288, 8)], [Vector3(8, 174, 7), Vector3(9, 174, 7)], [Vector3(7, 180, 6), Vector3(7, 180, 8)], [Vector3(4, 168, 8), Vector3(5, 168, 8)], [Vector3(8, 84, 7), Vector3(8, 84, 9)], [Vector3(5, 95, 2), Vector3(7, 95, 2)], [Vector3(0, 187, 3), Vector3(0, 189, 3)], [Vector3(5, 162, 7), Vector3(8, 162, 7)], [Vector3(5, 142, 3), Vector3(5, 142, 4)], [Vector3(3, 164, 7), Vector3(5, 164, 7)], [Vector3(6, 271, 9), Vector3(6, 271, 9)], [Vector3(0, 204, 9), Vector3(1, 204, 9)], [Vector3(1, 1, 5), Vector3(3, 1, 5)], [Vector3(8, 78, 6), Vector3(8, 80, 6)], [Vector3(3, 70, 5), Vector3(3, 70, 7)], [Vector3(0, 80, 7), Vector3(0, 80, 7)], [Vector3(1, 306, 6), Vector3(3, 306, 6)], [Vector3(0, 292, 1), Vector3(2, 292, 1)], [Vector3(1, 88, 6), Vector3(4, 88, 6)], [Vector3(3, 282, 3), Vector3(3, 282, 4)], [Vector3(4, 274, 0), Vector3(4, 277, 0)], [Vector3(5, 213, 8), Vector3(8, 213, 8)], [Vector3(1, 53, 7), Vector3(3, 53, 7)], [Vector3(7, 92, 1), Vector3(9, 92, 1)], [Vector3(2, 280, 6), Vector3(4, 280, 6)], [Vector3(3, 268, 5), Vector3(3, 268, 6)], [Vector3(3, 197, 5), Vector3(5, 197, 5)], [Vector3(4, 5, 1), Vector3(4, 5, 4)], [Vector3(9, 29, 7), Vector3(9, 31, 7)], [Vector3(9, 9, 5), Vector3(9, 9, 7)], [Vector3(0, 188, 5), Vector3(1, 188, 5)], [Vector3(2, 142, 3), Vector3(2, 142, 5)], [Vector3(9, 22, 1), Vector3(9, 22, 3)], [Vector3(7, 187, 6), Vector3(8, 187, 6)], [Vector3(5, 149, 1), Vector3(7, 149, 1)], [Vector3(6, 76, 6), Vector3(6, 76, 7)], [Vector3(2, 103, 1), Vector3(3, 103, 1)], [Vector3(4, 100, 3), Vector3(4, 100, 5)], [Vector3(3, 249, 7), Vector3(5, 249, 7)], [Vector3(2, 68, 9), Vector3(5, 68, 9)], [Vector3(6, 164, 7), Vector3(6, 164, 9)], [Vector3(0, 222, 5), Vector3(0, 222, 7)], [Vector3(5, 68, 7), Vector3(5, 70, 7)], [Vector3(1, 72, 7), Vector3(1, 75, 7)], [Vector3(2, 88, 7), Vector3(2, 90, 7)], [Vector3(0, 1, 3), Vector3(1, 1, 3)], [Vector3(3, 20, 5), Vector3(3, 20, 7)], [Vector3(3, 167, 5), Vector3(3, 167, 7)], [Vector3(7, 102, 1), Vector3(9, 102, 1)], [Vector3(1, 25, 4), Vector3(2, 25, 4)], [Vector3(5, 35, 5), Vector3(6, 35, 5)], [Vector3(5, 17, 0), Vector3(7, 17, 0)], [Vector3(3, 107, 5), Vector3(6, 107, 5)], [Vector3(2, 238, 5), Vector3(5, 238, 5)], [Vector3(7, 85, 8), Vector3(9, 85, 8)], [Vector3(3, 84, 3), Vector3(3, 84, 6)], [Vector3(8, 254, 3), Vector3(8, 254, 6)], [Vector3(0, 241, 5), Vector3(1, 241, 5)], [Vector3(6, 244, 4), Vector3(6, 244, 7)], [Vector3(9, 182, 8), Vector3(9, 185, 8)], [Vector3(1, 112, 4), Vector3(1, 112, 5)], [Vector3(7, 123, 3), Vector3(9, 123, 3)], [Vector3(5, 306, 6), Vector3(8, 306, 6)], [Vector3(3, 148, 3), Vector3(3, 151, 3)], [Vector3(4, 95, 9), Vector3(7, 95, 9)], [Vector3(0, 4, 7), Vector3(0, 4, 8)], [Vector3(9, 167, 6), Vector3(9, 167, 9)], [Vector3(0, 183, 4), Vector3(1, 183, 4)], [Vector3(0, 45, 1), Vector3(0, 45, 4)], [Vector3(5, 12, 9), Vector3(8, 12, 9)], [Vector3(6, 250, 6), Vector3(7, 250, 6)], [Vector3(8, 259, 1), Vector3(9, 259, 1)], [Vector3(2, 127, 9), Vector3(4, 127, 9)], [Vector3(9, 243, 1), Vector3(9, 245, 1)], [Vector3(9, 178, 7), Vector3(9, 178, 9)], [Vector3(7, 210, 8), Vector3(9, 210, 8)], [Vector3(4, 78, 3), Vector3(4, 78, 6)], [Vector3(5, 37, 7), Vector3(5, 37, 9)], [Vector3(6, 89, 1), Vector3(6, 89, 5)], [Vector3(1, 82, 2), Vector3(3, 82, 2)], [Vector3(3, 289, 6), Vector3(5, 289, 6)], [Vector3(5, 265, 7), Vector3(8, 265, 7)], [Vector3(3, 214, 0), Vector3(5, 214, 0)], [Vector3(2, 161, 1), Vector3(5, 161, 1)], [Vector3(4, 36, 7), Vector3(5, 36, 7)], [Vector3(7, 8, 1), Vector3(7, 8, 4)], [Vector3(5, 92, 9), Vector3(6, 92, 9)], [Vector3(4, 264, 1), Vector3(6, 264, 1)], [Vector3(2, 195, 2), Vector3(4, 195, 2)], [Vector3(4, 139, 7), Vector3(4, 140, 7)], [Vector3(5, 237, 2), Vector3(5, 237, 4)], [Vector3(5, 208, 5), Vector3(5, 208, 6)], [Vector3(1, 266, 0), Vector3(1, 266, 3)], [Vector3(3, 243, 1), Vector3(3, 243, 3)], [Vector3(0, 117, 2), Vector3(2, 117, 2)], [Vector3(3, 239, 2), Vector3(3, 241, 2)], [Vector3(0, 245, 2), Vector3(1, 245, 2)], [Vector3(6, 15, 6), Vector3(8, 15, 6)], [Vector3(5, 214, 3), Vector3(8, 214, 3)], [Vector3(8, 23, 7), Vector3(8, 23, 8)], [Vector3(7, 151, 2), Vector3(9, 151, 2)], [Vector3(2, 221, 3), Vector3(2, 221, 6)], [Vector3(9, 56, 2), Vector3(9, 59, 2)], [Vector3(9, 78, 4), Vector3(9, 78, 6)], [Vector3(4, 122, 6), Vector3(7, 122, 6)], [Vector3(3, 41, 3), Vector3(3, 41, 6)], [Vector3(3, 101, 9), Vector3(6, 101, 9)], [Vector3(4, 277, 5), Vector3(4, 277, 6)], [Vector3(6, 191, 4), Vector3(6, 191, 6)], [Vector3(5, 40, 2), Vector3(5, 40, 5)], [Vector3(5, 214, 5), Vector3(5, 214, 6)], [Vector3(3, 294, 4), Vector3(6, 294, 4)], [Vector3(8, 291, 0), Vector3(8, 291, 3)], [Vector3(5, 284, 2), Vector3(5, 284, 5)], [Vector3(7, 120, 3), Vector3(9, 120, 3)], [Vector3(3, 125, 0), Vector3(6, 125, 0)], [Vector3(1, 297, 9), Vector3(4, 297, 9)], [Vector3(1, 269, 5), Vector3(3, 269, 5)], [Vector3(1, 280, 0), Vector3(1, 280, 2)], [Vector3(8, 133, 2), Vector3(8, 133, 5)], [Vector3(8, 154, 2), Vector3(8, 154, 2)], [Vector3(0, 192, 3), Vector3(0, 192, 5)], [Vector3(5, 93, 1), Vector3(7, 93, 1)], [Vector3(8, 238, 2), Vector3(8, 238, 5)], [Vector3(6, 175, 9), Vector3(6, 178, 9)], [Vector3(3, 153, 5), Vector3(7, 153, 5)], [Vector3(0, 107, 6), Vector3(0, 107, 7)], [Vector3(5, 261, 3), Vector3(6, 261, 3)], [Vector3(9, 270, 3), Vector3(9, 270, 4)], [Vector3(1, 247, 0), Vector3(3, 247, 0)], [Vector3(1, 126, 7), Vector3(3, 126, 7)], [Vector3(7, 154, 3), Vector3(7, 154, 6)], [Vector3(2, 260, 3), Vector3(2, 260, 4)], [Vector3(1, 285, 7), Vector3(3, 285, 7)], [Vector3(8, 75, 5), Vector3(8, 75, 7)], [Vector3(6, 194, 6), Vector3(6, 194, 8)], [Vector3(4, 105, 0), Vector3(6, 105, 0)], [Vector3(7, 221, 7), Vector3(8, 221, 7)], [Vector3(7, 272, 7), Vector3(7, 272, 9)], [Vector3(5, 129, 4), Vector3(5, 129, 6)], [Vector3(4, 189, 3), Vector3(4, 191, 3)], [Vector3(3, 247, 3), Vector3(5, 247, 3)], [Vector3(3, 68, 3), Vector3(3, 68, 4)], [Vector3(0, 201, 9), Vector3(2, 201, 9)], [Vector3(5, 2, 8), Vector3(7, 2, 8)], [Vector3(2, 228, 7), Vector3(3, 228, 7)], [Vector3(5, 250, 2), Vector3(5, 250, 5)], [Vector3(4, 257, 5), Vector3(4, 257, 7)], [Vector3(4, 140, 4), Vector3(6, 140, 4)], [Vector3(4, 306, 6), Vector3(4, 306, 8)], [Vector3(6, 4, 2), Vector3(6, 4, 4)], [Vector3(4, 72, 8), Vector3(6, 72, 8)], [Vector3(5, 254, 3), Vector3(5, 254, 5)], [Vector3(1, 115, 2), Vector3(4, 115, 2)], [Vector3(1, 18, 8), Vector3(4, 18, 8)], [Vector3(1, 43, 7), Vector3(1, 43, 8)], [Vector3(5, 41, 3), Vector3(7, 41, 3)], [Vector3(3, 297, 0), Vector3(3, 297, 2)], [Vector3(3, 147, 3), Vector3(5, 147, 3)], [Vector3(1, 206, 2), Vector3(1, 206, 4)], [Vector3(9, 114, 4), Vector3(9, 114, 5)], [Vector3(6, 179, 7), Vector3(9, 179, 7)], [Vector3(8, 253, 0), Vector3(8, 253, 1)], [Vector3(1, 63, 4), Vector3(1, 63, 6)], [Vector3(1, 276, 1), Vector3(1, 276, 4)], [Vector3(1, 2, 9), Vector3(2, 2, 9)], [Vector3(5, 128, 6), Vector3(5, 128, 8)], [Vector3(8, 293, 3), Vector3(9, 293, 3)], [Vector3(3, 93, 6), Vector3(3, 93, 8)], [Vector3(3, 63, 6), Vector3(3, 63, 9)], [Vector3(2, 153, 0), Vector3(4, 153, 0)], [Vector3(0, 133, 5), Vector3(0, 133, 8)], [Vector3(0, 299, 9), Vector3(1, 299, 9)], [Vector3(1, 212, 1), Vector3(3, 212, 1)], [Vector3(3, 60, 7), Vector3(5, 60, 7)], [Vector3(5, 259, 1), Vector3(5, 259, 4)], [Vector3(2, 195, 5), Vector3(2, 195, 7)], [Vector3(5, 131, 4), Vector3(5, 134, 4)], [Vector3(2, 100, 9), Vector3(4, 100, 9)], [Vector3(1, 261, 9), Vector3(4, 261, 9)], [Vector3(7, 276, 8), Vector3(9, 276, 8)], [Vector3(6, 65, 4), Vector3(6, 65, 6)], [Vector3(1, 135, 9), Vector3(3, 135, 9)], [Vector3(4, 173, 4), Vector3(4, 173, 6)], [Vector3(9, 140, 5), Vector3(9, 143, 5)], [Vector3(7, 26, 6), Vector3(9, 26, 6)], [Vector3(0, 57, 1), Vector3(2, 57, 1)], [Vector3(5, 234, 4), Vector3(5, 234, 5)], [Vector3(9, 105, 0), Vector3(9, 105, 1)], [Vector3(2, 168, 6), Vector3(4, 168, 6)], [Vector3(9, 198, 0), Vector3(9, 198, 3)], [Vector3(6, 44, 1), Vector3(9, 44, 1)], [Vector3(4, 235, 1), Vector3(4, 235, 4)], [Vector3(1, 145, 5), Vector3(2, 145, 5)], [Vector3(8, 11, 7), Vector3(9, 11, 7)], [Vector3(4, 56, 9), Vector3(5, 56, 9)], [Vector3(7, 5, 3), Vector3(8, 5, 3)], [Vector3(6, 169, 6), Vector3(6, 169, 8)], [Vector3(2, 90, 0), Vector3(4, 90, 0)], [Vector3(7, 1, 5), Vector3(7, 1, 6)], [Vector3(7, 55, 1), Vector3(7, 55, 2)], [Vector3(9, 126, 1), Vector3(9, 126, 3)], [Vector3(5, 292, 7), Vector3(7, 292, 7)], [Vector3(3, 53, 8), Vector3(3, 54, 8)], [Vector3(3, 6, 0), Vector3(3, 6, 2)], [Vector3(9, 194, 1), Vector3(9, 194, 3)], [Vector3(6, 111, 4), Vector3(9, 111, 4)], [Vector3(8, 216, 4), Vector3(8, 216, 6)], [Vector3(7, 28, 1), Vector3(9, 28, 1)], [Vector3(4, 31, 6), Vector3(7, 31, 6)], [Vector3(5, 241, 5), Vector3(5, 241, 7)], [Vector3(1, 290, 3), Vector3(1, 290, 4)], [Vector3(1, 290, 6), Vector3(3, 290, 6)], [Vector3(8, 36, 5), Vector3(8, 37, 5)], [Vector3(1, 43, 6), Vector3(3, 43, 6)], [Vector3(8, 242, 6), Vector3(8, 242, 9)], [Vector3(5, 200, 0), Vector3(5, 200, 0)], [Vector3(4, 136, 6), Vector3(4, 136, 7)], [Vector3(2, 209, 1), Vector3(4, 209, 1)], [Vector3(5, 191, 2), Vector3(5, 191, 3)], [Vector3(0, 285, 4), Vector3(2, 285, 4)], [Vector3(2, 103, 4), Vector3(3, 103, 4)], [Vector3(6, 202, 8), Vector3(9, 202, 8)], [Vector3(3, 31, 4), Vector3(3, 31, 6)], [Vector3(9, 35, 4), Vector3(9, 35, 7)], [Vector3(3, 189, 0), Vector3(5, 189, 0)], [Vector3(2, 86, 1), Vector3(4, 86, 1)], [Vector3(1, 36, 6), Vector3(1, 36, 8)], [Vector3(0, 22, 0), Vector3(3, 22, 0)], [Vector3(5, 286, 4), Vector3(9, 286, 4)], [Vector3(3, 308, 5), Vector3(3, 308, 8)], [Vector3(7, 262, 7), Vector3(7, 262, 9)], [Vector3(7, 82, 7), Vector3(9, 82, 7)], [Vector3(4, 255, 4), Vector3(4, 255, 7)], [Vector3(3, 279, 4), Vector3(6, 279, 4)], [Vector3(4, 59, 7), Vector3(6, 59, 7)], [Vector3(8, 107, 7), Vector3(9, 107, 7)], [Vector3(0, 40, 2), Vector3(0, 40, 5)], [Vector3(6, 212, 5), Vector3(8, 212, 5)], [Vector3(3, 12, 6), Vector3(3, 12, 9)], [Vector3(6, 195, 8), Vector3(8, 195, 8)], [Vector3(2, 198, 7), Vector3(2, 198, 9)], [Vector3(4, 87, 5), Vector3(4, 90, 5)], [Vector3(2, 290, 1), Vector3(4, 290, 1)], [Vector3(3, 59, 1), Vector3(5, 59, 1)], [Vector3(4, 300, 0), Vector3(4, 300, 3)], [Vector3(3, 180, 4), Vector3(3, 180, 7)], [Vector3(1, 87, 8), Vector3(1, 88, 8)], [Vector3(3, 176, 4), Vector3(6, 176, 4)], [Vector3(3, 91, 6), Vector3(3, 91, 9)], [Vector3(3, 303, 6), Vector3(6, 303, 6)], [Vector3(4, 259, 5), Vector3(5, 259, 5)], [Vector3(4, 55, 8), Vector3(4, 55, 9)], [Vector3(4, 62, 3), Vector3(4, 62, 6)], [Vector3(0, 6, 0), Vector3(1, 6, 0)], [Vector3(5, 95, 3), Vector3(7, 95, 3)], [Vector3(2, 29, 9), Vector3(3, 29, 9)], [Vector3(5, 154, 3), Vector3(5, 154, 5)], [Vector3(1, 182, 0), Vector3(1, 182, 2)], [Vector3(9, 273, 5), Vector3(9, 273, 7)], [Vector3(3, 140, 3), Vector3(3, 140, 4)], [Vector3(2, 79, 2), Vector3(2, 79, 4)], [Vector3(5, 245, 5), Vector3(7, 245, 5)], [Vector3(6, 91, 0), Vector3(7, 91, 0)], [Vector3(0, 136, 8), Vector3(0, 138, 8)], [Vector3(6, 270, 0), Vector3(6, 270, 2)], [Vector3(7, 33, 5), Vector3(8, 33, 5)], [Vector3(2, 268, 2), Vector3(4, 268, 2)], [Vector3(7, 262, 0), Vector3(7, 262, 1)], [Vector3(4, 250, 7), Vector3(4, 251, 7)], [Vector3(0, 73, 3), Vector3(2, 73, 3)], [Vector3(4, 17, 2), Vector3(4, 17, 2)], [Vector3(8, 290, 1), Vector3(8, 290, 3)], [Vector3(6, 15, 0), Vector3(7, 15, 0)], [Vector3(7, 148, 1), Vector3(7, 148, 3)], [Vector3(2, 81, 4), Vector3(2, 84, 4)], [Vector3(4, 69, 9), Vector3(5, 69, 9)], [Vector3(5, 157, 4), Vector3(8, 157, 4)], [Vector3(0, 251, 4), Vector3(0, 252, 4)], [Vector3(0, 109, 6), Vector3(0, 109, 7)], [Vector3(1, 144, 4), Vector3(3, 144, 4)], [Vector3(0, 41, 2), Vector3(0, 41, 3)], [Vector3(3, 193, 7), Vector3(5, 193, 7)], [Vector3(7, 200, 3), Vector3(8, 200, 3)], [Vector3(5, 44, 6), Vector3(5, 44, 8)], [Vector3(4, 50, 6), Vector3(4, 50, 8)], [Vector3(7, 13, 5), Vector3(7, 13, 6)], [Vector3(0, 277, 8), Vector3(3, 277, 8)], [Vector3(0, 60, 6), Vector3(2, 60, 6)], [Vector3(4, 205, 5), Vector3(6, 205, 5)], [Vector3(0, 293, 5), Vector3(2, 293, 5)], [Vector3(1, 54, 0), Vector3(1, 54, 2)], [Vector3(7, 58, 0), Vector3(8, 58, 0)], [Vector3(2, 103, 3), Vector3(5, 103, 3)], [Vector3(9, 254, 3), Vector3(9, 256, 3)], [Vector3(3, 162, 1), Vector3(6, 162, 1)], [Vector3(4, 226, 8), Vector3(4, 227, 8)], [Vector3(6, 5, 1), Vector3(6, 5, 3)], [Vector3(0, 62, 4), Vector3(0, 62, 6)], [Vector3(2, 292, 3), Vector3(2, 292, 6)], [Vector3(2, 194, 5), Vector3(4, 194, 5)], [Vector3(4, 8, 2), Vector3(4, 8, 4)], [Vector3(7, 206, 4), Vector3(7, 206, 5)], [Vector3(6, 243, 4), Vector3(6, 243, 6)], [Vector3(3, 124, 1), Vector3(4, 124, 1)], [Vector3(0, 54, 1), Vector3(0, 54, 4)], [Vector3(6, 14, 8), Vector3(7, 14, 8)], [Vector3(6, 198, 4), Vector3(8, 198, 4)], [Vector3(7, 244, 3), Vector3(9, 244, 3)], [Vector3(7, 165, 8), Vector3(9, 165, 8)], [Vector3(7, 203, 1), Vector3(7, 206, 1)], [Vector3(5, 53, 2), Vector3(5, 53, 6)], [Vector3(0, 49, 2), Vector3(3, 49, 2)], [Vector3(4, 102, 0), Vector3(4, 102, 3)], [Vector3(7, 42, 1), Vector3(7, 42, 3)], [Vector3(5, 122, 2), Vector3(7, 122, 2)], [Vector3(9, 274, 5), Vector3(9, 274, 7)], [Vector3(4, 11, 8), Vector3(6, 11, 8)], [Vector3(1, 270, 5), Vector3(1, 270, 6)], [Vector3(4, 277, 7), Vector3(4, 277, 9)], [Vector3(6, 17, 1), Vector3(6, 17, 3)], [Vector3(2, 95, 5), Vector3(2, 95, 8)], [Vector3(6, 121, 4), Vector3(8, 121, 4)], [Vector3(0, 9, 5), Vector3(3, 9, 5)], [Vector3(1, 242, 0), Vector3(1, 242, 2)], [Vector3(4, 79, 6), Vector3(4, 79, 8)], [Vector3(6, 29, 3), Vector3(6, 29, 4)], [Vector3(0, 118, 2), Vector3(0, 118, 3)], [Vector3(3, 130, 7), Vector3(3, 130, 9)], [Vector3(3, 242, 4), Vector3(3, 242, 6)], [Vector3(1, 208, 6), Vector3(1, 210, 6)], [Vector3(3, 26, 7), Vector3(3, 26, 9)], [Vector3(5, 215, 8), Vector3(5, 216, 8)], [Vector3(9, 4, 0), Vector3(9, 4, 2)], [Vector3(4, 5, 8), Vector3(6, 5, 8)], [Vector3(1, 255, 7), Vector3(1, 257, 7)], [Vector3(3, 116, 5), Vector3(5, 116, 5)], [Vector3(2, 125, 8), Vector3(3, 125, 8)], [Vector3(1, 83, 0), Vector3(1, 83, 3)], [Vector3(4, 253, 7), Vector3(6, 253, 7)], [Vector3(6, 271, 8), Vector3(9, 271, 8)], [Vector3(7, 11, 0), Vector3(7, 11, 2)], [Vector3(6, 28, 5), Vector3(6, 28, 6)]]
+ for pair in x:
+ var n := CSGBox3D.new()
+ add_child(n)
+ n.global_position=(pair[0] +pair[1])/2;
+ n.global_position-= Vector3(0.5, 1.5, 0.5)
+ n.size =abs(pair[1]-pair[0])
+ n.size+= Vector3(0.99,0.99,0.99);
+ n.use_collision = true
+ #n.material = StandardMaterial3D.new()
+ #n.material.albedo_color = cols[randi_range(0,cols.size()-1)];
+ cubs.append(n)
+
+ if Engine.is_editor_hint(): return
+ var motion = await push()
+ print("flat")
+ while await push(): pass
+ print(await try())
+ await get_tree().create_timer(5).timeout
+ OS.kill(0)
+
+
+func push() -> bool:
+ var moved = false
+ for cub in cubs:
+ await get_tree().physics_frame
+ if cub.global_position.y < 1:
+ continue
+ var r := ShapeCast3D.new()
+ r.shape = BoxShape3D.new()
+ r.shape.size = cub.size
+ cub.add_child(r)
+
+ r.collide_with_areas = true
+ var n = 0;
+ r.target_position.y = -1
+ r.force_shapecast_update()
+ while cub.global_position.y + n > 1:
+ r.target_position.y = n - 1
+ r.force_shapecast_update()
+ # await get_tree().create_timer(0.01).timeout
+ if r.is_colliding():
+ break
+ n -= 1
+ if n != 0:
+ moved = true;
+ cub.global_position.y += n
+ # await get_tree().create_timer(0.01).timeout
+ r.queue_free()
+ return moved
+
+func try() -> int:
+ var s = 0;
+ for cub1 in cubs:
+ cub1.collision_layer = 0
+# var c = cub1.material.albedo_color
+# cub1.material.albedo_color = Color.RED
+ var moved = false
+ for cub in cubs:
+ if cub1 == cub: continue
+ if cub.global_position.y < 0.5: continue
+ var r := ShapeCast3D.new()
+ r.shape = BoxShape3D.new()
+# r.debug_shape_custom_color = Color.GREEN
+ r.shape.size = cub.size
+ cub.add_child(r)
+ r.collide_with_areas = true
+ var n = 0;
+ r.target_position.y = -1
+ r.force_shapecast_update()
+ if r.is_colliding():
+ r.queue_free()
+ continue
+ else:
+ moved = true;
+ r.queue_free()
+ break
+ if !moved:
+ s += 1
+ cub1.collision_layer = 1
+# cub1.material.albedo_color = c
+ return s
diff --git a/gd/box.tres b/gd/box.tres
new file mode 100644
index 0000000..478ebdc
--- /dev/null
+++ b/gd/box.tres
@@ -0,0 +1,4 @@
+[gd_resource type="BoxShape3D" format=3 uid="uid://c2lqn23wkcvrw"]
+
+[resource]
+size = Vector3(0.9, 0.9, 0.9)
diff --git a/gd/main.tscn b/gd/main.tscn
new file mode 100644
index 0000000..d9663a9
--- /dev/null
+++ b/gd/main.tscn
@@ -0,0 +1,29 @@
+[gd_scene load_steps=5 format=3 uid="uid://d36fm0b8c6wga"]
+
+[ext_resource type="Script" path="res://aoc.gd" id="1_40nlf"]
+
+[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_5xprj"]
+sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1)
+ground_horizon_color = Color(0.64625, 0.65575, 0.67075, 1)
+
+[sub_resource type="Sky" id="Sky_vx43c"]
+sky_material = SubResource("ProceduralSkyMaterial_5xprj")
+
+[sub_resource type="Environment" id="Environment_oii4q"]
+background_mode = 2
+sky = SubResource("Sky_vx43c")
+tonemap_mode = 2
+glow_enabled = true
+
+[node name="Node3D" type="Node3D"]
+script = ExtResource("1_40nlf")
+
+[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
+environment = SubResource("Environment_oii4q")
+
+[node name="Camera3D" type="Camera3D" parent="."]
+transform = Transform3D(-0.026162, -0.703771, -0.709945, 0, 0.710188, -0.704012, 0.999658, -0.0184183, -0.0185799, -11.9685, 7.06814, 2.90534)
+
+[node name="flor" type="CSGBox3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.04012, 0)
+size = Vector3(200, 0.1, 200)
diff --git a/gd/project.godot b/gd/project.godot
new file mode 100644
index 0000000..db08163
--- /dev/null
+++ b/gd/project.godot
@@ -0,0 +1,28 @@
+; Engine configuration file.
+; It's best edited using the editor UI and not directly,
+; since the parameters that go here are not all obvious.
+;
+; Format:
+; [section] ; section goes between []
+; param=value ; assign values to parameters
+
+config_version=5
+
+[application]
+
+run/main_scene="res://main.tscn"
+config/features=PackedStringArray("4.1")
+
+[display]
+
+window/size/viewport_width=320
+window/size/viewport_height=180
+window/size/window_width_override=1280
+window/size/window_height_override=720
+window/stretch/mode="viewport"
+window/stretch/aspect="expand"
+window/stretch/scale=0.5
+
+[rendering]
+
+renderer/rendering_method="gl_compatibility"
diff --git a/src/inp.txt b/src/inp.txt
index 895018e..bffcc96 100644
--- a/src/inp.txt
+++ b/src/inp.txt
@@ -1,131 +1,1263 @@
-...................................................................................................................................
-.#..#.......#....#.......#.#.....#......#..#.#.........#..............#............#......#........#...##........#..#.....#........
-..#......#.###....#........#..#....##..#................#................#...........#..........##.#.#....#....#.....#....#...##.#.
-.......#....#..#..#...#........#.....#.............##.....#.............#.#.........##......##.#.......#...#...#...........#.##.##.
-....#...#......#.#.##.....#.#..##..#..........#.#..##.....................#............#....##............#......#.........#....#..
-......#...#..##...#...#.....#......##.#......#..##.#..##.....................#.......##......##.......##.......#..#.....#.....#....
-.#...#...#....#.......#..#.#...##.....#..#..##.....#........................#....#............#....#.....#.....#.#...#...........#.
-..#..........#..###............#...###.##..#..#....##.........#...................##.#.......#......#......#.........#.............
-..................#.#.#...#..#..#..#.#............##............................#......................###...#.....##.........#....
-............#....................#...........#.....................#.#........#..#.....#...#...#......#.#.#...#.......#......##....
-..##.#........#..#...#........#..#...#..#....#.#..................................#..#.............#..#.#..#....##...........##.#..
-.....##.#......#..###.............#.#....##..................#......#..##...............#....#.....#..........#........#...........
-...#.#.......##......##.#.###..##.........#.....#...................#...#................#.##....#..........#.#.......#.#......#...
-.#..#.#.....#.....##...#.............#....#...............#...##..........#...............................#......#.....##..........
-........#................#..##......#....###..#...........#.#.......#....#..................##...#.................#.#.....#...#...
-..#..#......#.#.#.......................#.#...................#.....##.#..............#...........#....#.....#....#...##..#........
-...#.#....#.##.......#..........#............#..............#.#.#.##........#.................#.#....#....##....#......#......#....
-.#.....#...#.#.#.#......#.#.#......#.#.#............#....#........#........#............#.............#.#..###....#..##.....#......
-..#.......#..#....#......#..#....#.................#....#.......#...#....#.....................#.##............##...............##.
-.#...##.....#..#..#.....#............#.#..............#.......#.....#..#..#.#..#.........#.##....#...###..###.....#.....#.....##.#.
-.....#.....#.#....##.#.....#.....#.....................##.....#.................#..............#.#..#.#......#.......#.....#.......
-.....#.#.....#........................................##....#............#......#..............#..................#..##.#.......#..
-.............#.#...##..............#....................#..........#..#...#.#.#..............#...#....##.....#.........#....#.##...
-.......#.........#....###..............................#......##..........#....#................#....#.#.........#....#.......#....
-..#...#....#.........#..............##...........#..#.#....#....#.##....#...........................#..............#....#....###...
-.........###.......#...........#....#.........#..#...##...............#........#..##............#.#..#....#...#.#.......#......##..
-....#.....##..#................#........................#......#.....#...#.....##..............#......#..###.......#.......#.#.#...
-..##.#.....#..................................##.....#...##.....#.##.....#.#.......................#....#....##..........#.....#...
-...#.#..#.......#.......#.#...##..................#.##....#....#........#.#......#.#...#...........#......#....#.#..#.....#.#....#.
-.#......#........#.#.#.......#...........#....#....#.....#....##............#.....................#...............#....#...#.#.....
-...##..............###.#....#..#........#..#..#.......#.##.....#.....#..#......#...##..##............#....##......#.#.##...#.......
-........#...#............##............##......#..###.......................##..#.#.....#...........#.#.#.......#.#........#.#.#...
-.............##........#....##.................##..#..............................#.#.....#..#...................#...............#.
-....#....#.....#.......##.###..........#...##.....##...#........#...................#....#.##.............#.#....#.#.....#.....#...
-....#...##.......#...##.................#..##............##....##.....#...........#.#.#................#..#..#...#.............#...
-....##...........#...####.........#.............#..##............................#....##.#...#...............#...#...#....#........
-...................#...##............#....#.#....#..........#.#......###...................#.#...#........##......#....#.........#.
-....#..#...#..##.....#..#.......#...#..#.........#.#..###...........#..#..##...#.......#.....#....#...................#.........#..
-..#.........#....#..#.............#...#...#.........#...#..........#...#...#.....##........................#.......##...#........#.
-...#.....#...#.....#.............##...........#..#.##....#.#..............###.#.##.....#..........##...............#....#...#..##..
-..##..............#.#..........#..##.#.#.......#......##...#.#.....##....#....#.#....#......#.......#..............##.........#..#.
-.......###.####................#...........##....#......##...#.............###...........#......#...#.#...........#.........#......
-...#.#......#..#............#.#.....#......#...........#...............#.#.....#............#.......#....................#....#....
-......#....#..................#...................##..........#....#.#.......................#...................##......#.#..#....
-.....##........#..........#.....#.........#....##.....###..........#..#.....#....#.......#....#.....................#.......#......
-.#......#...#.............#..............................##..#.#..##....#..............#.#......#............................#.....
-......##.....................#..............##..#...................##....#............#...#...#..#..#...............##..........#.
-.##.#..#.....#........##.......##.............##.......#.#..........#........##.....#..#.#........#..#.....##........#.#..#........
-.#..###...............#...##........##......#.#..##..#....#.......##..#.....##.....#..........#.#..#....#.............#........#...
-...#......##..........#..#..##.##.....#....#.#...............##.......#.#.............#.............##..#.#.............#........#.
-............................#......#....#...##.......#..##.....#.............##...####..#.....#......#.#.##........................
-........#.#.......#...#..#.....#.........#.......#...#....#...#...##...#...#........#..#..........##.#.............................
-........................#..........#..#....##........#.........##...........##..........#.#.#.#...#.....#.#..............#...#..#..
-...#..#..........##...#...###..............##......#...........##.##..#...#.......#....#......#...........#.#...............#......
-...##...........#..........##...#..#.#.......#....#.#.#.......#.......#.....#........#.......#.......#.#........#............#.....
-.#............#....##........#........####.#..##......#......#..#.......#........#...#....#......#....#.....#......#...............
-.....#...........#..........#.....#..#..#...#...............#.......#.......#.#............#....#...#..............................
-.#................#....#..............##...#....#...##.#..##.........................#................##.#........##...............
-.#...........#..#.#.....##.........##..#.#.#....#....#......##..........#.....................#.....#.......##...##..............#.
-.#........#.##.#..#.#...###.#..........#....#......#..............................#..#.#.##...#..#...#.....#...##...#...#..........
-............#.#.....#.####......#......##...#.#.........#..#........#..........#....#.#..##.#.#.#..............#...#..#..#.......#.
-........#..#..#.....#..#....#.##...................#...#....##..#.#..#...##..#...#...................#......#...#...#.##...........
-.......#............##...#.#....#..#........#.........##...............#...#..#...........#..#...#.......#......#..........#.......
-............#...........#.#....#....#..##.........#.#..#................#.#.#.......#..#.....##........................###.........
-.....#..#...#.....#.#......#..##......#....##...#..#....#............#.........#......#.....#..#....#.##...........#.##............
-.................................................................S.................................................................
-........#...............#..........#.#.......##...#...#.......#.#..........#.#.....#.....##.......#.......#...#.......#..#.........
-...........#.........#...#.............#......#..#.#.#.#...................#...#...#.......#...#........#.#........#....#...#......
-.......##...........#................#...#..#..........#....#.#.#...###...#.............##..#....#.#...#.........#.......###.......
-............#...........##..#........#....##.....#............#..........#...#....#..#.......##.......#...#...#......##..#.........
-..........#....#.............#...#.....#....#.....#..#..#.......#....#..#.............#..#...........#..##...#....#.#.#............
-..............#.......#.......#..#......#..............#...........#.##..###..####...#..................#.#..#..#..#.#..........##.
-.#...........#...#.......#..#.....#.....#....##......#..........#..#..#.........#...#..#...........................................
-...#...........#.#.#.....#.#.#...##..#...#.....#..........#.....#.......#.........#.....#.#...#.....#......#.........##.........#..
-...................##.........#.....#..#...#.##...#..........##........#.................#...#..#....#.......#...............#.....
-....................#..##.......#.......#......#..................#.#.....#...####.....#............#...#...#.###................#.
-.......................#...#.....#.......#..#..#.......#..............#.....#.#....#..#..#...................#...............#.....
-.....#...................#.......#.....##......#..#.#..#...............#...#............#.....#..........#.#..#...#.............#..
-...................#.........#..........#.....##..#....#......#........#.....#....##.........#.........#....#..................#...
-......#...............#.#.................#.#..##..#....##........#..........#...#...##......#..........#......#........#........#.
-..#.#.......................#.....#.#..........####.................#.....#....#...##.#.....##.#...........................##......
-.........#........................#...........#...#.##..................#.#.......##...#.#..#..............#...................#.#.
-..##.#..#.#..........#..#..#..#....#...........##.#.....##.#..#.#.......................#...#.....#..#.................###..##.....
-.#..#.#...............#..........................#.......##..#....#......#.....#...#....#.......#....##..#......................##.
-.....#........#.............#..#.........#....#.#.#....##.......#.#.......#............................#..................#.##.#...
-....#.##.#..............#......#..#....#...............#...###..........#.#......##.#...#.#.#.#.#........#.........#.....#....##...
-.....#.#.#..#.............#..............#...#...#..##..#....#..#.....#.#.....#...#..........##..........#.............#..#..#.....
-..#...#..##.....#............#..#.#......#..#....#....#.....................#.....#.................#.##.........#......#..........
-.......#..#.##..#..#................##.................#..#........#........#...#.....#...........#.............#....#..........##.
-.......#.......................#......#..........##...#.#......#..##........#.....#......#....#................##...#..............
-.....#.....##....#............#.#........#............#.#......#.........#....#.............##..#..#...............#...#.#...##.##.
-...#....#.##.........#..................#.........#......#.....##.###....#.#...#...#.##...#..................#.....#....#.#...#....
-.....##.........#.....#...........#...........#.........#.........#.#..##.#.......##.........##............##.......#....#.........
-....................#...........#........#.#....#........#.........#.....#...#...#....#..........#........#.#......#........#......
-..............#..#................#.......#....#.#.........#......#.......#.....................................#.....##..#........
-......#...#.#...#............................#........#..#...........................#...#.##..........................#.#.........
-...........#..##.#...#...#.......................#..#.....................#.............#..#.............#.#.#..#.#..#.............
-.......#............................#.....#.#..#.#..#.#..............#.............#..#....................#........#.......#....#.
-.#...##..###.#..#....#.....#.#...............#.............#......#....#....#...#........#............#.##.....#....#...#........#.
-.....##........#..#......#.#.##...........#............#.......#...#...#............#.....#.................#........#.#..#.#......
-...#.....#.#..#......#.##.................#.#..#.......##.........................##...............#...#...#......#......##........
-..#....#.......#.#...#....#..###.................#...#...#.##........#..#.#..#...#...#................#.....#.....#.#....#.##..##..
-......#.....#.#.#.........................#..#.#...#...#................#....#...#...#..#.................#....##.......#.#..#.....
-..#...........#.......#....................#.....#...#.#...............#.#....##...#...............#....#........#.#.##.##..#.#.#..
-.#...#.............#..###.......#...........#.......................#....###..#..#..............#....#..#....#......##..#.#........
-..................#.............#.................#.........##....##..#.............#...........#...............#...#........#.#...
-..#.....###.#.#.....#.#.............#......................#....#.....#............#..............#..#...........#..............#..
-.##......#..#..##.......#..##......#...............#...#.............#.##...#...............#........#...#..#.................#....
-...#.#...##.#..#...##.#.#..........#...#.........#.#......#..#.......#........#..#...........#.................###.................
-.......................##......#..............................#.........#....#..................#..#...#..#.......#.......##.......
-....#...#.....#.............#...#.................#.#...#..........##....#..##.................#......#..#............##...........
-.........#..........#......#.......#.......................##.##..............................#....##.........#.....###........#.#.
-....#.#.#.............#.....#..............#........#.................#..#..............#...........#.....#........#..##...........
-......##.#......#....#..#.......###.......#.............#.........#...#....#..#....................#.......#.##.#.##.....##....#...
-..#.....#.....##..#.....#...#....#....#.#..............#.#....##.......#.#.#..........................#.#.#.#.##..........#..#.....
-...............#.#.###.......###.#...........#........#...###............#..#.......#...##.......##...#........#...................
-.....#.........#.#.#..............##.........##............##...#...#...................#..###..........#..#..#.#...#..#...........
-........#......#........##.#.....#.#...#....#...#.............#.........#.#.......#.....#.......##...#....#.........#.....#..#.....
-.##......#..........#......#............#.....................##...#..............#...............##.............##...#.#..........
-...#..#..#.#..#......#.......##.......#.....#................#...................#............#.........#.........#.........##.##..
-....#...#........##.#........#..#.#.....#.........................##.#.............#...#.#..........#..#...........................
-.........#..#..#.....##.......##......#..#...#..............#....................##...#......##......#...#.#........##.............
-..#....#..#..#.#......#......#...................#.##........#.#.....#.............##.....#.......................##...........#...
-.#.#..#........#.....#..#...........#.##....................................#...........##..................#...........##.........
-..........#..#.............#..#......#..##.##.....#...#.........#.............................#.#...#....................#.....#...
-.#..........#..#.#.#.#..#..#..#....#..#.......#........##..................#..#.#....#......#.......#.##.......#.#......###........
-............#........#....#..#.#...#..##..#..#..#........................#....##......##........#.....##.....#.......#.......###.#.
-...#.#........................#......#..............#...............................#.#..#..###...................#.....#..........
-..#....#.....#......#.#.....#..##......#..#..##.....#.....#.....................#............#..#...#.#..##....##..#...#.......#...
-.#..#.................................#....#.....#.....................#...#...#.#.........#.#...#..#.....#...................#....
-...................................................................................................................................
+1,3,281~1,4,281
+1,6,149~1,6,151
+9,3,268~9,5,268
+8,5,199~8,6,199
+5,0,182~8,0,182
+7,4,124~7,5,124
+2,5,126~2,6,126
+6,1,91~9,1,91
+0,5,61~2,5,61
+5,3,24~7,3,24
+0,2,80~0,3,80
+0,8,86~2,8,86
+3,3,263~3,6,263
+9,2,278~9,3,278
+4,0,183~7,0,183
+4,3,11~4,5,11
+0,7,67~3,7,67
+2,4,94~2,7,94
+2,6,200~2,8,200
+2,6,28~5,6,28
+3,3,191~3,6,191
+3,5,75~5,5,75
+1,5,56~1,9,56
+7,4,203~9,4,203
+5,1,177~5,2,177
+5,5,286~7,5,286
+3,4,87~4,4,87
+4,4,113~4,6,113
+6,2,200~6,4,200
+3,7,85~5,7,85
+9,6,1~9,8,1
+0,1,248~0,1,250
+7,6,245~7,8,245
+2,0,7~5,0,7
+2,9,202~2,9,203
+3,5,104~3,6,104
+3,4,48~5,4,48
+4,4,276~4,7,276
+0,3,279~2,3,279
+3,7,247~6,7,247
+8,1,14~8,3,14
+1,1,287~1,1,287
+3,1,165~4,1,165
+3,1,199~4,1,199
+7,5,188~8,5,188
+5,7,90~5,9,90
+6,6,214~6,7,214
+3,7,51~3,8,51
+0,0,250~2,0,250
+1,7,136~3,7,136
+7,2,118~8,2,118
+1,1,185~2,1,185
+1,7,214~1,7,216
+5,3,296~6,3,296
+6,6,255~7,6,255
+8,3,174~8,4,174
+3,3,265~5,3,265
+7,4,257~9,4,257
+5,6,25~7,6,25
+0,6,39~0,7,39
+7,1,101~7,3,101
+2,7,99~2,9,99
+3,4,224~3,6,224
+3,6,32~3,6,35
+6,3,106~7,3,106
+3,5,206~6,5,206
+9,8,78~9,8,81
+5,0,287~5,2,287
+5,2,302~5,5,302
+2,1,87~3,1,87
+5,5,236~8,5,236
+6,0,189~7,0,189
+0,1,279~3,1,279
+2,5,241~2,6,241
+5,4,43~7,4,43
+3,3,261~3,5,261
+9,7,110~9,9,110
+8,6,173~9,6,173
+3,1,280~5,1,280
+9,3,260~9,3,262
+6,6,287~6,7,287
+5,7,299~7,7,299
+1,7,212~1,9,212
+4,0,288~4,3,288
+5,7,165~5,9,165
+7,3,97~7,3,98
+6,5,254~6,5,257
+6,1,58~8,1,58
+2,2,200~2,4,200
+2,2,3~2,2,4
+3,0,211~5,0,211
+1,1,187~3,1,187
+3,6,283~4,6,283
+5,6,30~7,6,30
+5,2,276~9,2,276
+5,0,23~5,0,24
+3,0,253~6,0,253
+2,6,211~2,9,211
+2,5,6~2,7,6
+0,9,137~1,9,137
+7,6,257~7,9,257
+5,6,159~5,9,159
+0,3,119~0,4,119
+0,6,4~0,6,6
+6,0,164~6,2,164
+5,9,270~7,9,270
+5,5,240~6,5,240
+0,2,197~3,2,197
+7,3,147~7,5,147
+6,0,109~7,0,109
+1,9,133~2,9,133
+5,2,267~9,2,267
+3,0,180~5,0,180
+5,8,136~7,8,136
+0,4,286~0,6,286
+5,5,191~5,7,191
+1,1,239~2,1,239
+6,4,68~6,4,70
+3,0,237~3,2,237
+3,1,110~4,1,110
+9,2,247~9,4,247
+2,0,210~2,2,210
+5,0,107~7,0,107
+2,4,184~2,7,184
+1,8,199~4,8,199
+5,1,297~5,3,297
+4,0,122~4,2,122
+5,7,41~5,9,41
+0,7,295~3,7,295
+0,8,6~0,8,7
+9,0,250~9,2,250
+2,2,97~5,2,97
+5,4,36~5,5,36
+9,6,74~9,8,74
+8,2,256~9,2,256
+8,2,268~8,4,268
+6,1,152~6,3,152
+9,2,206~9,4,206
+7,7,36~9,7,36
+1,4,146~1,6,146
+2,1,83~4,1,83
+7,4,289~8,4,289
+9,6,129~9,8,129
+6,3,169~9,3,169
+5,9,174~6,9,174
+2,8,19~5,8,19
+1,4,58~1,7,58
+0,3,268~4,3,268
+1,4,7~1,4,8
+8,7,292~8,9,292
+8,1,242~9,1,242
+4,0,208~4,2,208
+7,8,267~7,9,267
+9,8,179~9,9,179
+0,1,76~0,1,78
+2,9,32~6,9,32
+1,9,301~3,9,301
+3,2,293~3,5,293
+4,2,54~7,2,54
+5,7,66~7,7,66
+2,3,121~3,3,121
+0,2,50~3,2,50
+4,3,269~6,3,269
+0,1,129~0,4,129
+2,4,93~2,7,93
+5,3,55~5,5,55
+0,5,1~0,5,2
+3,5,115~6,5,115
+7,1,265~9,1,265
+6,3,43~7,3,43
+6,2,198~6,3,198
+8,4,209~9,4,209
+6,5,181~6,8,181
+4,2,14~6,2,14
+3,0,269~4,0,269
+9,0,154~9,2,154
+2,1,281~2,1,283
+1,7,69~1,9,69
+0,5,85~0,5,87
+1,0,119~1,2,119
+3,5,135~4,5,135
+9,0,48~9,2,48
+2,2,148~2,5,148
+3,5,138~3,5,138
+2,1,102~2,4,102
+7,7,278~7,8,278
+5,5,157~5,7,157
+0,3,49~0,4,49
+2,0,62~4,0,62
+7,2,13~7,4,13
+2,5,140~4,5,140
+3,1,205~5,1,205
+4,2,226~4,3,226
+4,7,21~7,7,21
+1,1,20~4,1,20
+3,0,240~3,0,242
+9,6,76~9,8,76
+7,8,169~9,8,169
+0,5,156~3,5,156
+7,8,10~7,8,12
+0,6,280~0,8,280
+1,0,101~1,2,101
+5,5,135~5,5,136
+8,2,207~8,5,207
+4,3,86~4,5,86
+0,7,132~3,7,132
+5,6,260~7,6,260
+1,3,43~3,3,43
+1,8,45~2,8,45
+2,2,243~2,3,243
+6,4,92~7,4,92
+2,5,177~2,7,177
+4,4,233~6,4,233
+6,8,290~8,8,290
+4,5,65~4,7,65
+3,8,268~6,8,268
+2,2,244~2,2,245
+0,9,301~0,9,304
+0,1,49~0,1,51
+7,3,166~7,6,166
+5,6,243~5,9,243
+8,3,77~8,5,77
+8,6,215~8,9,215
+2,0,252~4,0,252
+5,7,171~5,9,171
+4,0,9~4,0,11
+6,2,153~9,2,153
+7,2,209~7,4,209
+2,4,177~4,4,177
+3,4,214~6,4,214
+5,3,240~7,3,240
+2,0,201~2,2,201
+9,6,201~9,9,201
+0,2,56~0,4,56
+5,6,96~7,6,96
+5,3,217~7,3,217
+0,1,99~2,1,99
+0,7,70~0,9,70
+0,9,109~1,9,109
+4,0,202~4,2,202
+3,4,116~4,4,116
+0,2,114~3,2,114
+8,2,206~8,4,206
+7,7,101~7,7,102
+8,0,248~8,3,248
+6,0,85~6,3,85
+3,3,87~5,3,87
+3,8,65~4,8,65
+4,3,251~4,5,251
+6,6,197~8,6,197
+5,2,121~8,2,121
+0,7,79~3,7,79
+6,5,209~6,7,209
+5,5,8~6,5,8
+0,0,254~2,0,254
+4,6,170~7,6,170
+1,3,118~1,3,119
+2,8,166~3,8,166
+1,7,128~1,7,131
+5,2,244~7,2,244
+0,1,3~0,4,3
+7,5,167~7,5,169
+4,2,94~7,2,94
+6,7,218~8,7,218
+7,9,14~9,9,14
+5,2,256~5,5,256
+2,6,134~4,6,134
+4,3,57~6,3,57
+3,8,259~3,9,259
+5,7,38~6,7,38
+0,4,85~0,4,87
+6,5,133~6,6,133
+5,6,124~5,8,124
+2,0,246~3,0,246
+8,1,17~8,4,17
+5,4,240~6,4,240
+2,6,22~5,6,22
+4,7,294~5,7,294
+6,3,164~8,3,164
+4,5,48~4,7,48
+1,4,56~3,4,56
+6,9,11~8,9,11
+6,3,60~6,4,60
+0,6,229~0,8,229
+6,7,139~9,7,139
+7,3,114~7,5,114
+9,6,171~9,8,171
+9,8,112~9,9,112
+5,1,253~5,5,253
+5,0,122~8,0,122
+5,0,281~5,2,281
+9,5,2~9,5,6
+9,2,265~9,5,265
+0,1,121~0,4,121
+2,5,14~4,5,14
+3,0,17~3,0,19
+3,5,175~5,5,175
+7,1,59~7,3,59
+4,6,111~7,6,111
+6,1,238~6,5,238
+8,2,48~8,4,48
+6,2,88~6,4,88
+4,6,46~5,6,46
+2,0,273~2,2,273
+5,3,3~5,5,3
+1,6,300~3,6,300
+4,7,226~4,7,228
+0,4,10~3,4,10
+0,8,44~2,8,44
+4,0,187~4,3,187
+4,1,21~4,1,21
+7,3,259~9,3,259
+3,6,286~5,6,286
+0,3,264~3,3,264
+1,8,280~1,9,280
+2,0,92~2,0,92
+5,4,76~5,6,76
+1,5,252~1,7,252
+2,1,113~4,1,113
+4,4,221~4,7,221
+7,5,254~7,5,257
+0,4,214~0,6,214
+1,4,284~1,7,284
+3,5,291~3,8,291
+3,4,121~3,7,121
+0,4,4~2,4,4
+1,0,267~1,2,267
+1,6,258~1,8,258
+5,2,194~8,2,194
+3,3,65~6,3,65
+3,1,235~3,4,235
+9,0,285~9,4,285
+6,7,70~8,7,70
+3,3,58~3,4,58
+6,6,212~6,7,212
+1,1,178~3,1,178
+4,6,188~6,6,188
+3,3,188~5,3,188
+2,1,232~5,1,232
+8,3,126~8,4,126
+3,1,106~3,1,107
+5,3,196~7,3,196
+0,4,289~1,4,289
+4,5,209~4,7,209
+9,2,18~9,2,19
+2,1,207~3,1,207
+1,3,246~1,5,246
+9,1,45~9,3,45
+5,6,126~8,6,126
+7,8,241~7,9,241
+1,4,205~1,8,205
+8,4,136~9,4,136
+5,2,26~5,4,26
+2,0,116~4,0,116
+9,4,170~9,6,170
+5,3,61~5,5,61
+6,7,87~9,7,87
+3,9,129~6,9,129
+3,0,267~3,3,267
+2,2,124~2,5,124
+5,3,150~5,5,150
+2,6,84~2,6,86
+1,1,18~2,1,18
+2,3,258~5,3,258
+5,0,274~5,2,274
+4,1,238~5,1,238
+8,2,78~8,4,78
+3,2,266~3,4,266
+3,2,194~4,2,194
+2,7,214~2,9,214
+0,1,128~0,3,128
+1,7,213~4,7,213
+2,2,241~2,4,241
+3,6,165~3,8,165
+1,0,113~1,3,113
+7,4,252~7,7,252
+7,3,80~7,6,80
+8,4,29~8,7,29
+3,8,23~5,8,23
+6,7,132~6,9,132
+8,8,39~9,8,39
+2,8,54~2,8,56
+5,0,197~7,0,197
+4,8,295~6,8,295
+1,0,116~1,0,117
+7,6,298~7,8,298
+4,6,14~7,6,14
+8,1,81~8,3,81
+2,6,129~2,8,129
+4,2,249~4,4,249
+2,5,200~5,5,200
+5,3,212~5,4,212
+5,6,268~5,7,268
+4,3,111~7,3,111
+8,7,252~8,9,252
+5,0,20~7,0,20
+7,6,164~7,8,164
+7,3,170~9,3,170
+5,8,45~5,8,48
+6,7,62~6,8,62
+3,4,200~5,4,200
+2,5,141~5,5,141
+6,7,41~6,7,43
+2,9,75~5,9,75
+3,7,19~5,7,19
+2,5,150~2,7,150
+6,1,251~8,1,251
+3,2,11~4,2,11
+4,7,100~8,7,100
+8,4,172~8,6,172
+8,5,4~8,8,4
+2,1,98~2,4,98
+2,3,126~2,4,126
+5,2,132~8,2,132
+5,6,291~5,8,291
+1,5,219~4,5,219
+9,6,252~9,6,255
+1,6,81~1,9,81
+2,5,31~2,7,31
+2,6,72~2,9,72
+1,5,249~1,7,249
+3,0,88~6,0,88
+8,7,109~8,7,111
+5,9,176~5,9,177
+6,3,290~6,3,293
+1,7,289~1,7,291
+3,3,6~3,6,6
+3,4,265~3,7,265
+7,8,103~7,8,104
+6,6,258~6,8,258
+0,1,48~0,3,48
+0,7,78~1,7,78
+5,3,99~5,6,99
+0,4,181~2,4,181
+6,7,166~6,8,166
+0,6,291~1,6,291
+5,6,206~5,8,206
+5,3,227~5,4,227
+6,5,98~6,8,98
+6,0,3~6,0,6
+9,0,106~9,2,106
+5,6,68~7,6,68
+8,9,254~8,9,256
+3,3,69~3,3,71
+0,3,77~0,5,77
+3,2,202~3,4,202
+2,6,71~2,7,71
+2,2,247~3,2,247
+5,8,132~5,9,132
+3,1,56~4,1,56
+9,2,280~9,2,283
+1,8,52~4,8,52
+9,7,175~9,7,177
+7,4,247~7,6,247
+2,0,286~2,1,286
+7,5,47~7,5,49
+2,9,66~3,9,66
+3,2,212~4,2,212
+5,3,160~5,5,160
+3,7,124~3,9,124
+3,1,53~3,2,53
+3,0,303~5,0,303
+3,0,296~3,2,296
+7,4,11~7,5,11
+1,7,3~3,7,3
+8,2,134~8,3,134
+8,7,77~8,7,79
+4,1,13~4,3,13
+6,4,186~6,6,186
+0,7,227~0,9,227
+7,6,127~7,6,129
+5,4,178~7,4,178
+1,1,179~3,1,179
+1,8,169~2,8,169
+7,7,67~7,9,67
+3,4,137~5,4,137
+0,9,228~2,9,228
+7,9,173~9,9,173
+7,5,271~9,5,271
+4,1,262~5,1,262
+6,5,298~6,8,298
+7,5,184~7,5,187
+4,9,134~6,9,134
+1,4,148~1,6,148
+6,1,33~6,1,35
+7,2,255~9,2,255
+9,7,142~9,8,142
+0,8,47~0,8,49
+2,2,203~4,2,203
+3,2,8~3,2,8
+1,6,20~1,8,20
+3,7,229~3,8,229
+3,0,53~7,0,53
+0,3,270~1,3,270
+8,2,32~8,2,34
+2,6,301~2,8,301
+6,1,30~6,4,30
+3,0,119~5,0,119
+4,5,32~5,5,32
+3,5,132~6,5,132
+3,3,118~3,5,118
+5,5,307~5,7,307
+3,7,294~3,9,294
+0,4,180~2,4,180
+6,4,146~6,4,148
+4,4,13~6,4,13
+2,5,82~2,7,82
+5,9,275~8,9,275
+6,9,76~7,9,76
+4,7,258~4,9,258
+8,0,256~8,1,256
+6,1,265~6,3,265
+5,7,26~5,8,26
+9,5,28~9,7,28
+2,5,217~5,5,217
+1,2,172~4,2,172
+1,3,207~1,3,209
+9,4,120~9,6,120
+7,3,220~7,5,220
+6,8,260~8,8,260
+0,0,175~2,0,175
+3,1,31~6,1,31
+3,4,36~3,6,36
+4,1,191~4,2,191
+1,1,109~3,1,109
+3,5,246~4,5,246
+0,1,281~0,3,281
+1,8,83~3,8,83
+5,8,298~5,8,298
+2,2,293~2,4,293
+0,2,5~0,3,5
+2,4,45~3,4,45
+1,4,187~2,4,187
+4,2,119~7,2,119
+5,8,70~5,9,70
+3,4,50~5,4,50
+6,4,100~6,6,100
+1,0,51~1,3,51
+7,8,26~9,8,26
+7,5,276~8,5,276
+6,2,26~6,5,26
+0,1,74~0,4,74
+6,8,133~6,9,133
+2,5,202~2,5,204
+0,7,103~4,7,103
+3,4,226~5,4,226
+9,2,105~9,4,105
+9,2,197~9,4,197
+7,4,45~7,5,45
+6,3,115~8,3,115
+6,3,162~6,6,162
+3,4,222~3,7,222
+4,5,119~4,7,119
+8,1,45~8,2,45
+2,0,19~2,2,19
+0,5,39~3,5,39
+7,5,53~7,7,53
+7,7,105~9,7,105
+3,3,44~3,3,47
+4,2,148~6,2,148
+8,1,201~9,1,201
+6,0,195~6,2,195
+3,1,168~3,4,168
+9,4,201~9,4,201
+4,2,156~4,4,156
+2,3,76~2,3,76
+5,6,54~6,6,54
+6,4,247~6,4,249
+7,2,243~7,4,243
+4,1,81~4,4,81
+3,4,155~6,4,155
+7,6,108~7,7,108
+7,7,9~7,9,9
+5,2,100~5,4,100
+2,6,98~2,8,98
+2,6,176~5,6,176
+3,5,82~3,7,82
+4,1,282~6,1,282
+3,5,299~6,5,299
+9,3,245~9,6,245
+6,1,103~6,4,103
+4,2,149~4,2,150
+6,8,165~6,9,165
+4,2,20~4,2,20
+4,0,186~7,0,186
+0,5,82~0,7,82
+7,0,254~7,2,254
+6,4,63~6,7,63
+4,2,297~4,4,297
+7,0,13~9,0,13
+8,6,169~9,6,169
+5,2,193~5,3,193
+1,0,195~1,0,197
+5,9,3~5,9,4
+7,5,2~7,7,2
+6,5,210~9,5,210
+3,6,227~3,6,230
+5,1,190~7,1,190
+3,4,53~3,4,53
+4,8,303~4,9,303
+2,0,204~2,0,207
+4,7,105~4,9,105
+2,1,23~4,1,23
+5,4,199~5,6,199
+4,3,9~4,6,9
+6,8,266~7,8,266
+6,9,74~8,9,74
+5,9,105~5,9,107
+2,2,174~3,2,174
+6,0,203~6,2,203
+2,7,275~2,8,275
+5,7,163~5,8,163
+1,6,57~4,6,57
+0,3,247~1,3,247
+5,1,176~5,1,176
+5,3,286~6,3,286
+7,0,2~7,3,2
+1,4,245~4,4,245
+0,8,102~2,8,102
+4,6,204~6,6,204
+1,1,175~5,1,175
+8,6,127~9,6,127
+0,0,257~0,2,257
+0,5,239~3,5,239
+2,1,238~2,4,238
+4,9,2~4,9,4
+9,1,251~9,1,252
+4,0,178~4,1,178
+6,5,144~7,5,144
+2,4,206~2,6,206
+3,8,10~4,8,10
+4,5,290~4,7,290
+6,3,197~6,5,197
+0,7,224~0,9,224
+5,8,245~6,8,245
+9,0,16~9,2,16
+5,4,211~5,6,211
+5,4,184~5,5,184
+7,4,274~7,7,274
+2,5,230~2,5,231
+0,5,168~4,5,168
+0,4,42~2,4,42
+1,6,2~1,8,2
+8,2,208~8,2,210
+7,6,261~9,6,261
+0,4,83~0,6,83
+6,3,143~6,5,143
+4,0,104~4,2,104
+8,9,113~9,9,113
+3,5,253~3,9,253
+0,5,125~2,5,125
+2,8,15~3,8,15
+5,4,159~8,4,159
+5,1,243~7,1,243
+2,3,59~2,5,59
+3,4,297~3,6,297
+5,3,19~7,3,19
+9,0,29~9,3,29
+2,3,223~4,3,223
+5,3,25~8,3,25
+8,1,129~8,3,129
+5,3,60~5,4,60
+3,0,271~5,0,271
+7,7,279~9,7,279
+7,7,7~8,7,7
+0,1,245~1,1,245
+4,6,60~6,6,60
+2,7,87~5,7,87
+7,9,170~9,9,170
+2,4,277~4,4,277
+6,7,22~9,7,22
+6,3,12~8,3,12
+8,4,273~8,7,273
+8,3,287~8,5,287
+6,3,126~7,3,126
+0,8,109~0,8,111
+6,9,104~6,9,106
+6,6,157~7,6,157
+0,7,37~0,9,37
+3,1,181~3,1,183
+4,2,211~4,3,211
+4,8,248~6,8,248
+2,7,131~2,9,131
+6,4,118~9,4,118
+3,3,29~5,3,29
+1,6,216~1,6,218
+7,8,293~7,8,295
+0,3,126~0,6,126
+1,4,28~4,4,28
+5,1,46~7,1,46
+2,7,274~4,7,274
+5,9,5~6,9,5
+1,6,132~2,6,132
+2,9,103~4,9,103
+7,8,264~7,9,264
+8,3,292~8,5,292
+0,4,151~2,4,151
+4,6,175~4,8,175
+5,4,34~5,7,34
+3,7,21~3,8,21
+0,7,34~2,7,34
+0,8,10~0,9,10
+9,5,291~9,5,292
+7,0,9~7,3,9
+2,6,36~2,9,36
+0,3,248~0,4,248
+5,6,69~7,6,69
+2,1,246~4,1,246
+5,1,105~8,1,105
+2,0,10~2,3,10
+5,4,89~5,7,89
+6,2,29~8,2,29
+5,2,37~5,4,37
+8,3,202~9,3,202
+0,6,1~0,9,1
+5,9,303~7,9,303
+5,1,230~5,4,230
+4,6,284~6,6,284
+6,8,274~7,8,274
+8,6,35~8,6,36
+0,5,129~0,5,131
+7,2,31~7,4,31
+4,1,159~4,4,159
+0,0,243~2,0,243
+5,3,92~5,5,92
+5,6,91~5,6,93
+2,5,76~3,5,76
+1,4,114~1,5,114
+6,3,22~8,3,22
+1,3,88~1,3,89
+5,7,136~8,7,136
+2,3,4~5,3,4
+0,7,106~0,9,106
+6,0,97~6,2,97
+0,0,59~0,0,61
+5,0,90~5,0,92
+4,1,189~6,1,189
+7,3,104~9,3,104
+8,7,180~9,7,180
+7,3,250~9,3,250
+1,4,274~1,7,274
+2,7,49~4,7,49
+0,3,185~0,5,185
+0,3,282~1,3,282
+8,7,181~8,7,183
+9,6,37~9,8,37
+2,0,14~4,0,14
+4,4,202~4,6,202
+4,0,168~4,1,168
+2,7,22~2,8,22
+8,3,253~9,3,253
+1,9,283~3,9,283
+5,7,131~5,7,133
+3,5,72~3,8,72
+7,4,95~7,7,95
+1,0,174~1,2,174
+5,0,217~7,0,217
+3,3,244~3,5,244
+1,6,80~1,9,80
+5,2,91~6,2,91
+3,0,273~4,0,273
+3,3,117~3,6,117
+5,9,102~8,9,102
+5,4,183~8,4,183
+4,8,100~7,8,100
+3,7,225~3,9,225
+7,0,57~7,2,57
+7,0,286~9,0,286
+2,8,103~5,8,103
+5,2,5~5,5,5
+3,7,273~4,7,273
+7,6,184~7,8,184
+3,3,122~5,3,122
+7,5,244~7,8,244
+9,7,181~9,8,181
+0,6,213~1,6,213
+6,5,239~6,8,239
+3,4,60~3,4,62
+2,8,293~4,8,293
+8,0,46~8,1,46
+6,4,66~8,4,66
+5,1,104~7,1,104
+8,1,31~8,3,31
+2,3,71~2,4,71
+0,1,100~0,1,101
+1,0,2~1,0,4
+0,2,4~0,3,4
+7,5,138~7,7,138
+1,1,199~1,2,199
+5,3,85~5,4,85
+8,6,30~8,6,31
+9,4,38~9,4,39
+7,3,245~7,4,245
+6,7,219~8,7,219
+6,7,249~9,7,249
+1,0,65~1,2,65
+4,4,84~5,4,84
+4,1,99~4,3,99
+1,9,92~3,9,92
+8,2,279~8,3,279
+4,5,30~7,5,30
+1,5,92~4,5,92
+2,0,15~2,2,15
+9,3,112~9,6,112
+3,7,138~5,7,138
+6,0,190~8,0,190
+5,0,10~5,2,10
+3,2,169~4,2,169
+3,5,252~3,7,252
+0,7,286~2,7,286
+4,2,82~6,2,82
+3,0,215~4,0,215
+4,1,33~5,1,33
+3,6,17~3,8,17
+7,3,51~7,6,51
+7,2,117~7,4,117
+1,4,74~3,4,74
+6,0,293~8,0,293
+5,9,73~7,9,73
+3,2,300~3,4,300
+2,3,198~5,3,198
+8,5,171~8,7,171
+0,1,284~2,1,284
+3,9,44~5,9,44
+1,5,273~4,5,273
+9,0,129~9,2,129
+6,1,192~6,2,192
+3,5,58~5,5,58
+2,8,256~3,8,256
+1,0,63~3,0,63
+7,6,33~9,6,33
+0,0,114~2,0,114
+1,1,111~1,4,111
+2,2,252~4,2,252
+2,4,236~4,4,236
+3,9,95~3,9,97
+1,6,133~1,8,133
+8,1,2~9,1,2
+0,2,199~0,5,199
+6,8,240~8,8,240
+1,0,192~3,0,192
+7,3,14~7,4,14
+7,1,257~7,1,259
+6,6,246~6,6,248
+8,2,245~8,4,245
+8,2,50~9,2,50
+2,2,22~2,4,22
+1,5,227~3,5,227
+3,7,56~5,7,56
+5,4,2~7,4,2
+5,1,145~5,3,145
+1,5,8~3,5,8
+9,3,289~9,6,289
+4,3,287~7,3,287
+2,4,68~2,7,68
+7,1,26~7,3,26
+9,7,202~9,7,204
+5,5,260~5,5,260
+3,0,283~3,2,283
+5,4,232~5,6,232
+7,1,191~9,1,191
+6,3,251~6,5,251
+3,7,71~3,9,71
+4,6,224~4,8,224
+3,5,270~3,7,270
+3,1,197~6,1,197
+8,5,200~8,7,200
+3,6,101~5,6,101
+6,6,219~8,6,219
+7,5,182~7,7,182
+6,1,241~8,1,241
+3,0,52~3,2,52
+0,7,66~3,7,66
+4,9,137~4,9,139
+1,7,276~3,7,276
+4,9,300~6,9,300
+3,6,7~3,8,7
+9,5,123~9,6,123
+8,7,89~9,7,89
+1,8,207~1,8,211
+7,6,251~9,6,251
+8,7,1~8,8,1
+5,0,18~6,0,18
+1,4,94~1,7,94
+3,1,89~4,1,89
+0,0,287~2,0,287
+1,5,42~1,7,42
+0,6,217~0,6,219
+1,3,117~1,4,117
+5,2,124~7,2,124
+7,1,200~8,1,200
+5,1,266~5,3,266
+7,6,37~7,9,37
+1,4,287~2,4,287
+1,2,86~1,4,86
+3,1,3~5,1,3
+2,0,270~3,0,270
+2,6,42~3,6,42
+1,8,202~1,9,202
+8,0,197~8,3,197
+2,0,151~2,2,151
+8,8,261~8,8,261
+7,2,213~9,2,213
+9,3,138~9,6,138
+2,1,296~2,3,296
+0,6,228~0,7,228
+9,2,53~9,2,54
+3,0,61~3,2,61
+0,7,208~3,7,208
+8,0,288~8,0,290
+6,7,73~9,7,73
+7,3,109~7,5,109
+9,4,199~9,6,199
+2,5,69~2,7,69
+2,5,122~5,5,122
+5,8,207~7,8,207
+0,5,276~2,5,276
+5,3,180~5,4,180
+4,5,79~7,5,79
+0,0,57~1,0,57
+6,6,288~6,8,288
+8,7,174~9,7,174
+7,6,180~7,8,180
+4,8,168~5,8,168
+8,7,84~8,9,84
+5,2,95~7,2,95
+0,3,187~0,3,189
+5,7,162~8,7,162
+5,3,142~5,4,142
+3,7,164~5,7,164
+6,9,271~6,9,271
+0,9,204~1,9,204
+1,5,1~3,5,1
+8,6,78~8,6,80
+3,5,70~3,7,70
+0,7,80~0,7,80
+1,6,306~3,6,306
+0,1,292~2,1,292
+1,6,88~4,6,88
+3,3,282~3,4,282
+4,0,274~4,0,277
+5,8,213~8,8,213
+1,7,53~3,7,53
+7,1,92~9,1,92
+2,6,280~4,6,280
+3,5,268~3,6,268
+3,5,197~5,5,197
+4,1,5~4,4,5
+9,7,29~9,7,31
+9,5,9~9,7,9
+0,5,188~1,5,188
+2,3,142~2,5,142
+9,1,22~9,3,22
+7,6,187~8,6,187
+5,1,149~7,1,149
+6,6,76~6,7,76
+2,1,103~3,1,103
+4,3,100~4,5,100
+3,7,249~5,7,249
+2,9,68~5,9,68
+6,7,164~6,9,164
+0,5,222~0,7,222
+5,7,68~5,7,70
+1,7,72~1,7,75
+2,7,88~2,7,90
+0,3,1~1,3,1
+3,5,20~3,7,20
+3,5,167~3,7,167
+7,1,102~9,1,102
+1,4,25~2,4,25
+5,5,35~6,5,35
+5,0,17~7,0,17
+3,5,107~6,5,107
+2,5,238~5,5,238
+7,8,85~9,8,85
+3,3,84~3,6,84
+8,3,254~8,6,254
+0,5,241~1,5,241
+6,4,244~6,7,244
+9,8,182~9,8,185
+1,4,112~1,5,112
+7,3,123~9,3,123
+5,6,306~8,6,306
+3,3,148~3,3,151
+4,9,95~7,9,95
+0,7,4~0,8,4
+9,6,167~9,9,167
+0,4,183~1,4,183
+0,1,45~0,4,45
+5,9,12~8,9,12
+6,6,250~7,6,250
+8,1,259~9,1,259
+2,9,127~4,9,127
+9,1,243~9,1,245
+9,7,178~9,9,178
+7,8,210~9,8,210
+4,3,78~4,6,78
+5,7,37~5,9,37
+6,1,89~6,5,89
+1,2,82~3,2,82
+3,6,289~5,6,289
+5,7,265~8,7,265
+3,0,214~5,0,214
+2,1,161~5,1,161
+4,7,36~5,7,36
+7,1,8~7,4,8
+5,9,92~6,9,92
+4,1,264~6,1,264
+2,2,195~4,2,195
+4,7,139~4,7,140
+5,2,237~5,4,237
+5,5,208~5,6,208
+1,0,266~1,3,266
+3,1,243~3,3,243
+0,2,117~2,2,117
+3,2,239~3,2,241
+0,2,245~1,2,245
+6,6,15~8,6,15
+5,3,214~8,3,214
+8,7,23~8,8,23
+7,2,151~9,2,151
+2,3,221~2,6,221
+9,2,56~9,2,59
+9,4,78~9,6,78
+4,6,122~7,6,122
+3,3,41~3,6,41
+3,9,101~6,9,101
+4,5,277~4,6,277
+6,4,191~6,6,191
+5,2,40~5,5,40
+5,5,214~5,6,214
+3,4,294~6,4,294
+8,0,291~8,3,291
+5,2,284~5,5,284
+7,3,120~9,3,120
+3,0,125~6,0,125
+1,9,297~4,9,297
+1,5,269~3,5,269
+1,0,280~1,2,280
+8,2,133~8,5,133
+8,2,154~8,2,154
+0,3,192~0,5,192
+5,1,93~7,1,93
+8,2,238~8,5,238
+6,9,175~6,9,178
+3,5,153~7,5,153
+0,6,107~0,7,107
+5,3,261~6,3,261
+9,3,270~9,4,270
+1,0,247~3,0,247
+1,7,126~3,7,126
+7,3,154~7,6,154
+2,3,260~2,4,260
+1,7,285~3,7,285
+8,5,75~8,7,75
+6,6,194~6,8,194
+4,0,105~6,0,105
+7,7,221~8,7,221
+7,7,272~7,9,272
+5,4,129~5,6,129
+4,3,189~4,3,191
+3,3,247~5,3,247
+3,3,68~3,4,68
+0,9,201~2,9,201
+5,8,2~7,8,2
+2,7,228~3,7,228
+5,2,250~5,5,250
+4,5,257~4,7,257
+4,4,140~6,4,140
+4,6,306~4,8,306
+6,2,4~6,4,4
+4,8,72~6,8,72
+5,3,254~5,5,254
+1,2,115~4,2,115
+1,8,18~4,8,18
+1,7,43~1,8,43
+5,3,41~7,3,41
+3,0,297~3,2,297
+3,3,147~5,3,147
+1,2,206~1,4,206
+9,4,114~9,5,114
+6,7,179~9,7,179
+8,0,253~8,1,253
+1,4,63~1,6,63
+1,1,276~1,4,276
+1,9,2~2,9,2
+5,6,128~5,8,128
+8,3,293~9,3,293
+3,6,93~3,8,93
+3,6,63~3,9,63
+2,0,153~4,0,153
+0,5,133~0,8,133
+0,9,299~1,9,299
+1,1,212~3,1,212
+3,7,60~5,7,60
+5,1,259~5,4,259
+2,5,195~2,7,195
+5,4,131~5,4,134
+2,9,100~4,9,100
+1,9,261~4,9,261
+7,8,276~9,8,276
+6,4,65~6,6,65
+1,9,135~3,9,135
+4,4,173~4,6,173
+9,5,140~9,5,143
+7,6,26~9,6,26
+0,1,57~2,1,57
+5,4,234~5,5,234
+9,0,105~9,1,105
+2,6,168~4,6,168
+9,0,198~9,3,198
+6,1,44~9,1,44
+4,1,235~4,4,235
+1,5,145~2,5,145
+8,7,11~9,7,11
+4,9,56~5,9,56
+7,3,5~8,3,5
+6,6,169~6,8,169
+2,0,90~4,0,90
+7,5,1~7,6,1
+7,1,55~7,2,55
+9,1,126~9,3,126
+5,7,292~7,7,292
+3,8,53~3,8,54
+3,0,6~3,2,6
+9,1,194~9,3,194
+6,4,111~9,4,111
+8,4,216~8,6,216
+7,1,28~9,1,28
+4,6,31~7,6,31
+5,5,241~5,7,241
+1,3,290~1,4,290
+1,6,290~3,6,290
+8,5,36~8,5,37
+1,6,43~3,6,43
+8,6,242~8,9,242
+5,0,200~5,0,200
+4,6,136~4,7,136
+2,1,209~4,1,209
+5,2,191~5,3,191
+0,4,285~2,4,285
+2,4,103~3,4,103
+6,8,202~9,8,202
+3,4,31~3,6,31
+9,4,35~9,7,35
+3,0,189~5,0,189
+2,1,86~4,1,86
+1,6,36~1,8,36
+0,0,22~3,0,22
+5,4,286~9,4,286
+3,5,308~3,8,308
+7,7,262~7,9,262
+7,7,82~9,7,82
+4,4,255~4,7,255
+3,4,279~6,4,279
+4,7,59~6,7,59
+8,7,107~9,7,107
+0,2,40~0,5,40
+6,5,212~8,5,212
+3,6,12~3,9,12
+6,8,195~8,8,195
+2,7,198~2,9,198
+4,5,87~4,5,90
+2,1,290~4,1,290
+3,1,59~5,1,59
+4,0,300~4,3,300
+3,4,180~3,7,180
+1,8,87~1,8,88
+3,4,176~6,4,176
+3,6,91~3,9,91
+3,6,303~6,6,303
+4,5,259~5,5,259
+4,8,55~4,9,55
+4,3,62~4,6,62
+0,0,6~1,0,6
+5,3,95~7,3,95
+2,9,29~3,9,29
+5,3,154~5,5,154
+1,0,182~1,2,182
+9,5,273~9,7,273
+3,3,140~3,4,140
+2,2,79~2,4,79
+5,5,245~7,5,245
+6,0,91~7,0,91
+0,8,136~0,8,138
+6,0,270~6,2,270
+7,5,33~8,5,33
+2,2,268~4,2,268
+7,0,262~7,1,262
+4,7,250~4,7,251
+0,3,73~2,3,73
+4,2,17~4,2,17
+8,1,290~8,3,290
+6,0,15~7,0,15
+7,1,148~7,3,148
+2,4,81~2,4,84
+4,9,69~5,9,69
+5,4,157~8,4,157
+0,4,251~0,4,252
+0,6,109~0,7,109
+1,4,144~3,4,144
+0,2,41~0,3,41
+3,7,193~5,7,193
+7,3,200~8,3,200
+5,6,44~5,8,44
+4,6,50~4,8,50
+7,5,13~7,6,13
+0,8,277~3,8,277
+0,6,60~2,6,60
+4,5,205~6,5,205
+0,5,293~2,5,293
+1,0,54~1,2,54
+7,0,58~8,0,58
+2,3,103~5,3,103
+9,3,254~9,3,256
+3,1,162~6,1,162
+4,8,226~4,8,227
+6,1,5~6,3,5
+0,4,62~0,6,62
+2,3,292~2,6,292
+2,5,194~4,5,194
+4,2,8~4,4,8
+7,4,206~7,5,206
+6,4,243~6,6,243
+3,1,124~4,1,124
+0,1,54~0,4,54
+6,8,14~7,8,14
+6,4,198~8,4,198
+7,3,244~9,3,244
+7,8,165~9,8,165
+7,1,203~7,1,206
+5,2,53~5,6,53
+0,2,49~3,2,49
+4,0,102~4,3,102
+7,1,42~7,3,42
+5,2,122~7,2,122
+9,5,274~9,7,274
+4,8,11~6,8,11
+1,5,270~1,6,270
+4,7,277~4,9,277
+6,1,17~6,3,17
+2,5,95~2,8,95
+6,4,121~8,4,121
+0,5,9~3,5,9
+1,0,242~1,2,242
+4,6,79~4,8,79
+6,3,29~6,4,29
+0,2,118~0,3,118
+3,7,130~3,9,130
+3,4,242~3,6,242
+1,6,208~1,6,210
+3,7,26~3,9,26
+5,8,215~5,8,216
+9,0,4~9,2,4
+4,8,5~6,8,5
+1,7,255~1,7,257
+3,5,116~5,5,116
+2,8,125~3,8,125
+1,0,83~1,3,83
+4,7,253~6,7,253
+6,8,271~9,8,271
+7,0,11~7,2,11
+6,5,28~6,6,28
diff --git a/src/main.rs b/src/main.rs
index 7dea105..f7c44c3 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -20,92 +20,33 @@ pub mod util;
pub use util::prelude::*;
-pub fn p2(i: &str) -> usize {
- let i = i.as_bytes();
- let mut visited = HashSet::new();
- let mut q = VecDeque::new();
- q.push_back((65u8, 65u8, 0u8));
- let mut even_corners = 0;
- let mut odd_corners = 0;
- let mut odd_all = 0;
- let mut even_all = 0;
- while let Some((x, y, g)) = q.pop_front() {
- match visited.insert((x, y)) {
- false => continue,
- true => {
- if g % 2 == 0 {
- if g > 65 {
- even_corners += 1;
- }
- even_all += 1;
- } else {
- if g > 65 {
- odd_corners += 1;
- }
- odd_all += 1;
- }
- }
- };
-
- for (x, y, d) in [
- Dir::N + (x, y),
- Dir::E + (x, y),
- Dir::S + (x, y),
- Dir::W + (x, y),
- ]
- .into_iter()
- .flatten()
- .fl(lt(131))
- .fr(lt(131))
- .filter(|&(x, y)| C! { i[y as usize * 132 + x as usize] } != b'#')
- .map(move |(x, y)| (x as u8, y as u8, g + 1))
- {
- q.push_back((x, y, d));
- }
- }
-
- let n = 202300;
-
- let even = n * n;
- let odd = (n + 1) * (n + 1);
-
- odd * odd_all + even * even_all - ((n + 1) * odd_corners) + (n * even_corners)
+#[derive(Copy, Clone)]
+struct Piece {
+ a: [u64; 3],
+ b: [u64; 3],
}
-pub fn p1(i: &str) -> usize {
- let i = i.as_bytes();
- let mut state = vec![false; i.len() * 2];
- let mut q = VecDeque::with_capacity(4096);
- q.push_back((65u8, 65u8));
- for step in 1..65 {
- let is_odd = (step - 1) % 2;
- for _ in 0..q.len() {
- let (x, y) = q.pop_front().unwrap();
- for (x, y) in [
- Dir::N + (x, y),
- Dir::E + (x, y),
- Dir::S + (x, y),
- Dir::W + (x, y),
- ]
- .into_iter()
- .flatten()
- .fl(lt(131))
- .fr(lt(131))
- .filter(|&(x, y)| i[x.nat() * 132 + y.nat()] != b'#')
- {
- let cache_key = is_odd * i.len() + x.nat() * 132 + y.nat();
- if !state[cache_key] {
- state[cache_key] = true;
- q.push_back((x, y));
- }
- }
- }
+impl std::fmt::Debug for Piece {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ let [x1, y1, z1] = self.a;
+ let [x2, y2, z2] = self.b;
+ write!(f, "[Vector3({x1}, {z1}, {y1}), Vector3({x2}, {z2}, {y2})]")
}
- state[i.len()..].iter().copied().filter(|&x| x).count()
}
pub fn run(i: &str) -> impl Display {
- p1(i)
+ let mut pieces = vec![];
+ i.行()
+ .map(|x| {
+ let (a, b) = x
+ .μ('~')
+ .mb(|x| x.split(|&x| x == b',').map(読む::完了).Ν::<3>());
+ pieces.push(Piece { a, b });
+ })
+ .Θ();
+ println!("{pieces:?}");
+ std::process::exit(0);
+ 0
}
fn main() {