heh
22p1
| -rw-r--r-- | .gitignore | 3 | ||||
| -rw-r--r-- | Cargo.toml | 2 | ||||
| -rw-r--r-- | gd/aoc.gd | 88 | ||||
| -rw-r--r-- | gd/box.tres | 4 | ||||
| -rw-r--r-- | gd/main.tscn | 29 | ||||
| -rw-r--r-- | gd/project.godot | 28 | ||||
| -rw-r--r-- | src/inp.txt | 1394 | ||||
| -rw-r--r-- | src/main.rs | 101 |
8 files changed, 1436 insertions, 213 deletions
@@ -6,3 +6,6 @@ Cargo.lock before prepare.sh prepared.rs +gd/.godot +*.x86_64 +export_presets.cfg @@ -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() { |