diff options
| author | Alex Pickering <alex@cogarr.net> | 2025-02-07 12:49:48 -0600 |
|---|---|---|
| committer | Alex Pickering <alex@cogarr.net> | 2025-02-07 12:49:48 -0600 |
| commit | 3555be54c2abb8d5ece008a60dbdfbde0ffbddd7 (patch) | |
| tree | 278876284d07118ecdea5c48cb6453f3122887f0 /02 | |
| download | advent_of_code_2022-3555be54c2abb8d5ece008a60dbdfbde0ffbddd7.tar.gz advent_of_code_2022-3555be54c2abb8d5ece008a60dbdfbde0ffbddd7.tar.bz2 advent_of_code_2022-3555be54c2abb8d5ece008a60dbdfbde0ffbddd7.zip | |
Diffstat (limited to '02')
| -rw-r--r-- | 02/1.lua | 21 | ||||
| -rw-r--r-- | 02/2.lua | 21 | ||||
| -rw-r--r-- | 02/example.txt | 3 | ||||
| -rwxr-xr-x | 02/ext.lua | 62 | ||||
| -rw-r--r-- | 02/input.txt | 2500 |
5 files changed, 2607 insertions, 0 deletions
diff --git a/02/1.lua b/02/1.lua new file mode 100644 index 0000000..534bbb7 --- /dev/null +++ b/02/1.lua @@ -0,0 +1,21 @@ +require("ext") + +local points = { + ["A X"] = 1 + 3, + ["A Y"] = 2 + 6, + ["A Z"] = 3 + 0, + + ["B X"] = 1 + 0, + ["B Y"] = 2 + 3, + ["B Z"] = 3 + 6, + + ["C X"] = 1 + 6, + ["C Y"] = 2 + 0, + ["C Z"] = 3 + 3, +} + +local score = 0 +for line in io.lines() do + score = score + points[line] +end +print(score) diff --git a/02/2.lua b/02/2.lua new file mode 100644 index 0000000..40ed0d3 --- /dev/null +++ b/02/2.lua @@ -0,0 +1,21 @@ +require("ext") + +local points = { + ["A X"] = 3 + 0, + ["A Y"] = 1 + 3, + ["A Z"] = 2 + 6, + + ["B X"] = 1 + 0, + ["B Y"] = 2 + 3, + ["B Z"] = 3 + 6, + + ["C X"] = 2 + 0, + ["C Y"] = 3 + 3, + ["C Z"] = 1 + 6, +} + +local score = 0 +for line in io.lines() do + score = score + points[line] +end +print(score) diff --git a/02/example.txt b/02/example.txt new file mode 100644 index 0000000..db60e36 --- /dev/null +++ b/02/example.txt @@ -0,0 +1,3 @@ +A Y +B X +C Z diff --git a/02/ext.lua b/02/ext.lua new file mode 100755 index 0000000..4a58a7e --- /dev/null +++ b/02/ext.lua @@ -0,0 +1,62 @@ +-- Override tostring to display more info about the table
+local old_tostring = tostring
+local numtabs = 0
+local printed_tables = {}
+
+local function tostring_helper(el)
+ assert(type(el) == "table", "Tried to call helper with something that was not a table, it was a " .. type(el))
+ local mt = getmetatable(el)
+ if mt and mt.__tostring then
+ return mt.__tostring(el)
+ elseif printed_tables[el] == true then
+ return old_tostring(el)
+ else
+ printed_tables[el] = true
+ numtabs = numtabs + 1
+ local strbuilder = setmetatable({"{"},{__index = table})
+ for k,v in pairs(el) do
+ local key,value
+ if type(k) == "table" then
+ key = tostring_helper(k)
+ else
+ key = old_tostring(k)
+ end
+ if type(v) == "table" then
+ value = tostring_helper(v)
+ else
+ value = old_tostring(v)
+ end
+ strbuilder:append(string.format("%s%s : %s", string.rep("\t",numtabs), key, value))
+ end
+ strbuilder:append(string.rep("\t",numtabs - 1) .. "}")
+ numtabs = numtabs - 1
+ return strbuilder:concat("\n")
+ end
+
+end
+function tostring(el)
+ printed_tables = {}
+ if type(el) == "table" then
+ return tostring_helper(el)
+ end
+ return old_tostring(el)
+end
+
+-- Functions to save my hands
+function printf(fmt, ...)
+ print(string.format(fmt,...))
+end
+function errorf(fmt, ...)
+ --Our error isn't actually in this function, it's 1 above us (1) = 2
+ error(string.format(fmt,...),2)
+end
+function assertf(bool, fmt, ...)
+ assert(type(fmt) == "string", "Assertf arg #2 was \"" .. type(fmt) .. "\", expected string")
+ if not bool then
+ args = {fmt}
+ for k,v in ipairs({...}) do
+ table.insert(args,tostring(v))
+ end
+ error(string.format(unpack(args)),2)
+ end
+end
diff --git a/02/input.txt b/02/input.txt new file mode 100644 index 0000000..a6dd261 --- /dev/null +++ b/02/input.txt @@ -0,0 +1,2500 @@ +B Y +A Y +B Z +A Z +A Y +B Z +C X +C X +C X +C Y +C Z +B Y +C Y +C Z +A Y +B Y +C Y +B Y +B Y +B Y +C X +B Z +A X +A Z +C Z +C Y +C Y +B Y +B X +C Z +B Y +B Y +C Y +B Y +B Z +B Z +B Y +A Y +A Y +B Z +B Y +B Y +B Y +C Y +A Y +B Y +C Z +B Y +B Y +A Z +B Y +A Y +B Y +B Z +C Y +C Z +A Z +C Z +B Y +A X +C Z +A X +A Z +B Y +B Y +A Y +C Z +B Y +B Z +B Z +B X +C Y +B Y +A Y +A Y +B Y +A Z +B X +B Y +B Y +C Y +C Z +A Z +B Y +A Y +B Z +B Y +B Y +B Y +C X +C Y +B Y +B Y +B Z +B Y +C X +B Y +B Y +C Z +C Z +A X +A X +A X +A X +B Y +C Z +B Z +B Y +C Z +B Y +B Z +B Y +C X +B Y +C X +C Z +B Z +C Z +C Y +B Y +B Y +A Z +C Z +C Y +C Y +B Y +B X +C Y +B Z +C Z +C Z +A Z +B Y +B Y +B Z +B Y +B Y +C X +A Z +A Y +B Y +C Y +B X +C Y +C X +C Y +A Y +B Y +A Y +A Z +C Z +C Z +A Z +C Y +B Y +C Z +C Y +B Y +B Y +C X +B Y +B Y +C Y +C X +B X +C Y +A Z +B Y +A Z +C Y +C Z +B Y +A Z +C X +C X +B Y +B Y +C Z +B Y +A Y +B Y +A Z +A X +A Y +B Y +B Y +A Y +C Z +B Z +B Y +B Y +B Y +B Y +C X +C Z +C Y +B Y +A Y +A Z +C Y +B Y +B Y +B Z +B Z +B Z +A Y +B Z +B Y +C Y +B Y +C X +C Y +C Y +B Y +A Y +A Z +B Y +B Y +A Y +C X +C X +B Y +A Z +A X +C Y +C Y +C Y +C X +C Y +B Y +B Z +B Y +B X +A Z +B Y +B Z +A X +B Y +C Z +B Y +B Z +B Y +B Y +B Y +B X +C Z +C Z +A Y +B Y +C Y +A Y +C X +C Z +A Z +C Y +B Y +B Y +C Z +A Z +C Y +C X +C Z +B X +B Y +C Y +B Y +C X +B Y +A X +B Y +B Y +A Z +B Y +B Y +C X +B Y +A X +A Y +B Y +A Y +C Y +C X +C X +B Z +B Y +C Y +C Y +C Y +B Y +A Y +C Y +B Y +B Y +B Y +B Y +A Z +B Y +B Y +A Z +B Y +C Z +C Y +B Y +B Z +A Y +B Y +A Z +C Z +B Y +C Z +B Z +B Z +A X +A Z +C Z +B Y +A Y +C Z +C Y +B Y +B X +B Y +C Y +C Y +C Y +C X +C Y +B Y +B Y +C Y +B Y +C Z +C Z +B Y +A Y +C Y +B Z +C X +C Y +B Y +B Y +B Y +C Z +B Z +B Y +A Y +B Y +A Z +B Y +B Z +B Y +B Z +B Y +B Z +C Z +C Z +A X +A Y +B Y +C Z +C Y +B Z +A Y +A X +B Y +B Y +B Y +B Z +B Y +B Y +C Y +B Y +B Y +C Y +B Y +A Z +C Z +C Z +C Z +A Z +B Y +B Z +B Y +A Z +B Y +B Y +B Y +B Y +B Y +A X +C Y +B Y +C Z +B Y +B Y +B Y +C Y +A Z +B Y +B Z +B Y +B Y +B Y +B Y +B Y +C Y +B Z +A Z +C Y +C X +C X +B Y +C Z +B Z +B Z +B Y +B Y +B Y +A Z +B Z +A Z +B Z +A Z +B Y +B X +B Y +C Z +C Y +B Y +A Z +A Z +B Y +B Y +B Y +B Y +A Z +B Z +B Y +B Y +B Z +B Y +C Z +B Y +C Y +B Y +C Y +B Y +A Z +B Y +A Z +C Z +C Y +A Z +A Y +A Y +A X +A Y +B Y +B Z +A X +C X +C Z +B Y +A Z +A X +B Y +B Y +B Y +B Z +C Y +C X +B Z +B Y +B Y +B Y +B Y +B Y +B Y +A Z +C Y +B Z +B Y +B Y +B Y +A X +B Z +A Y +C Z +B Z +B Y +B Y +C Y +A Y +C Y +B Y +B Y +A X +C X +B Z +C Y +B Y +B Z +C Y +B Y +B Z +B X +B Y +A Z +B Y +B Z +B Y +B Y +A Z +A X +A Z +B Z +A X +C Y +B Z +B Y +B X +A X +C Y +C X +A Y +B Z +B Y +A X +A Z +C X +C Z +B Z +C X +C X +B Y +A Y +B Y +B Y +C Z +A X +C X +B Y +B Y +B Y +B Y +C X +B Z +B Y +B Y +C X +B X +B Y +C X +A Z +A Y +B Y +B Y +B Y +C Z +B Y +C X +C X +B Z +B Z +B Z +B X +B Y +C Y +B Z +B Y +B Y +B Y +B Z +B Y +C Y +B Y +B Y +B Y +B Y +B Z +C Z +A Y +C Y +B Y +B Y +A Z +C Z +B Y +B Y +A Y +B Y +C Z +C Z +B Y +A Y +A Y +C Y +B Z +B Z +C X +B Y +C X +B Z +C Z +A Z +A Y +B Z +C X +B Y +A X +A Z +A Y +B Y +B X +B Z +A Z +B Z +A X +A X +A Y +B Y +C Y +B Y +B Y +C Z +B Y +A X +B Y +C Y +B Z +C X +B Y +B Y +B Z +A Z +B Y +C Z +B Y +C Y +B Y +A Y +B Y +B Y +A Z +A Y +C Y +B Y +B Z +C Y +B Y +B Y +C Z +B Y +C Z +A X +A Z +B Y +B Y +C Z +B Y +B Y +C Y +A X +C Z +B Y +A Y +B Y +A X +A Z +B Z +B Z +B Y +B Y +C Y +A Y +C X +B Y +A Z +C Y +C X +A Y +A Z +C X +C Z +A Y +B Y +B Y +C X +B Y +A Y +B Z +A X +C Z +A X +B Z +A Z +A Z +B Z +B Y +B Y +B Y +B Y +C Y +B Y +A X +A Y +A Y +B Y +B Y +C Z +A Y +B Z +B Y +C Y +A X +B Y +A X +A X +A Z +C Y +A Z +C Z +B Y +B Y +B Y +A X +B Z +C Z +A X +B Y +B Y +B Y +B Y +B Y +B Y +C Y +B Y +B Y +C Y +C Y +C Z +A Y +C Y +B Z +B Y +C Y +B Y +C Y +A Y +B Y +B Y +B Y +B Z +B Z +B Y +B Y +B Y +B Y +B Y +B Y +C X +A Z +A X +B Y +B Z +A Z +A Z +B Y +B Y +A Z +A Y +A Z +A Z +A Y +B Y +B Y +B Y +B Y +C X +B Y +B Y +B Y +B Y +B Z +B Z +B Y +C Z +A Z +A Y +B Y +B X +C Y +C Y +A Z +A X +B Y +A X +B Y +C Z +B Y +C X +B Y +B Y +B Y +C X +C Y +B Y +B Y +B Y +A Y +B Y +C X +B Z +B Y +B Y +C Z +B Y +B Y +A Z +B Z +B Y +B Z +B X +A Y +B Y +B Y +B Y +B Y +C X +C Y +B Y +A Z +A Y +B Y +B Y +B Y +B Y +B Y +B Z +C Z +A X +B Y +A Y +B Y +B Y +B Y +B Y +B Y +A Y +B Z +B Y +B Y +C Y +A X +A X +B X +C Y +B Y +A Y +B Y +B Z +B Y +C Y +B Z +B Z +A Y +A Y +C Z +B Y +C Z +C X +A Y +B Y +A Y +A X +B Y +C Y +A Z +B Y +B Y +B Y +A Z +B Y +A X +C X +A X +B Z +C Y +A X +C Y +A Z +C Y +B Y +B Y +B Y +B Y +C Y +C Z +A Z +B Z +B Z +C Z +B Y +A Y +B Z +B Z +A Y +B Z +C Z +C Y +C X +C Z +C X +B Y +A X +B Z +B Y +A X +B Y +B Y +B Z +C Y +C Z +C Y +B Y +B Y +B Z +A X +B Y +A X +B Z +A Z +A Z +B Y +C Y +C Y +C Y +B Y +A Z +B Z +B Z +C Y +A Y +A Y +A Z +B Y +A X +B Z +C X +B Z +B Y +A Y +A Y +C Y +A Z +B X +A X +C Y +B Y +B Y +C Y +B Z +C X +C Y +B Y +C Y +B Y +B Y +C Y +B X +A Z +B Z +B Y +A Z +B Z +B Y +A Z +C Y +C Y +B Y +C Y +B Y +B Y +B Y +B Y +B Z +B Y +C Y +C Z +B Y +B Y +A Z +B Y +B Z +A Y +A Y +C Y +A Z +C Y +B Z +B Y +C Y +B Z +C Y +A Z +B Y +B Y +B Y +B Y +C Z +A Y +A X +C X +A Y +C Y +C X +B Y +C Y +A Y +B Y +C Y +B Y +A X +B Y +B Y +B Z +C Y +C Y +A X +B Z +A Z +B Y +B Y +B Y +B X +B Y +B Y +C Y +B Y +C X +A Y +B Y +B Y +A Z +C X +A X +A X +C X +B Y +C Z +B Y +A Z +C Y +B Y +B Y +C X +B Z +C Y +A X +A Y +C Y +A Z +B Y +B Z +C Y +A Z +A Y +A Y +B Y +A X +B Z +B X +B Z +B Y +B Y +A Y +C Y +B Y +B Z +B Y +A Y +C Y +C Y +A X +B Y +A X +C X +A Z +A Y +B Z +B Y +B Y +B Y +C Y +A X +B Z +A X +C Y +C Z +A X +B Z +C X +B Y +B Y +A Y +B Z +B X +B Y +B Y +A Z +C Y +B Y +B Y +C Y +B Y +A X +B Y +B Y +B Z +B Y +A Y +A Z +B Y +B Y +A Y +A Z +A Z +A Y +B Y +A Y +B Z +B Y +B Y +A Z +B Y +B Y +B X +A X +B Y +B Y +C Z +C X +A Y +B Z +B Y +C Y +B Y +B Y +B Y +A X +A Y +B Y +C Z +B Y +B Y +B Y +C Z +B Y +B Z +B Y +B Y +B Y +C Y +B Y +B Y +C Y +C Y +A X +C Y +A Y +B Y +B Y +B Y +B Y +A Y +A Y +C X +B Y +C Z +A X +B X +C Z +C Y +B Y +B Y +B X +B Z +C Y +B Z +B Y +B Y +B Y +B Y +C Z +C Y +C Y +A Y +B Y +B Z +B Y +C Z +B Y +B Y +C Y +B Y +B Z +B Z +B Y +C Z +B Y +B Y +B Y +B Y +B Y +A Y +C X +A Z +A Y +B Y +C X +B Z +B Y +C Y +B Y +A Y +B Y +B Y +B Y +A Z +A Z +B Y +B Y +B Z +A Z +C Y +C Y +C Y +C Z +B Y +C Y +C X +A Z +B Z +B X +B X +C Y +B Y +A Z +B Z +B Y +B Y +B Z +B Y +B Y +B X +B Y +B Y +A Z +A Z +A Y +B Z +B Y +A Y +B Y +A Z +B Y +B Y +A X +B Z +C Y +A Z +C Y +C Y +B Y +C X +C Y +A X +A Z +C Z +B Y +B Y +B Y +B Y +B Y +B Y +B Y +B Y +B Y +B Y +B Y +B Y +B Y +C X +C Y +C Y +C Y +B Y +B Y +C Y +C Y +A X +B X +C X +C Z +B Y +A Y +A Z +B Y +C Y +C Z +B Y +A Y +C Y +B Y +A Y +B Y +A Y +C Z +C Y +A Y +A Z +B Y +C Y +B Y +B Y +B Y +B Y +B Z +C Z +B Y +B Y +C Z +A Y +B Y +C Y +B Y +A X +B Y +B Y +A Y +B Y +B Y +A X +B Y +B Z +B Y +B Y +B Y +C Z +C Y +A Z +B Y +C Y +C Z +B Y +A Y +B Y +B Y +B Y +C X +B Z +C Y +C X +A X +C Y +B Y +B Y +B Y +B Y +B Y +B Z +C Y +B Y +C X +B Y +B Y +B Y +B Z +A Y +A Y +A Z +B Y +C Y +A Y +A X +B Z +C Y +B Y +B Y +B Y +B Y +B Z +A Y +B Y +C Y +C Z +B X +B Z +B Y +B Y +C Y +B X +A Y +C Y +B Y +C Y +C X +A Y +B Y +B Z +C Z +B Y +B Y +C Z +A Z +A Y +B Y +B Y +B Y +C Y +B Y +B Y +B Z +B Z +C Y +B Y +A Z +C Y +C Y +B Y +A Z +B Y +B Y +B Y +A Y +A X +C Y +C Z +C Y +B Z +B Y +B Y +B Y +C Y +B Y +B Y +B Y +B Z +B Y +B Y +C X +C Y +A Z +C X +B Y +B Y +B Z +B Y +A X +A X +C X +B Y +B Y +B Y +A Z +B Z +B Z +B Y +C Y +B Y +B Y +C Y +A Z +C Y +B Y +B Z +A Z +A Y +B Z +A Z +B Y +B Y +A Z +B Y +C Z +B Y +B Y +B Z +B Y +B Y +B Y +B Y +B Y +B Y +A Z +B Y +B Y +C Y +B Y +A Y +B Y +C Y +B Y +B Y +B Y +C Z +C Y +C X +B Y +A X +C Y +B Z +C Y +B Y +C X +A Y +B Y +A Z +A X +B Z +C Y +C Y +A Z +C Z +B Z +B Y +B Y +B Y +B Y +A Y +A Z +B Y +B Y +A Y +C X +B Y +B Y +C Y +C X +B X +C Y +B Y +A Y +B Y +B Y +B Y +C Y +B Y +B Y +A Z +B Y +A Z +B Y +B Y +B Z +B Y +C Y +B Y +A Y +B Y +A Y +B Y +B Z +B Y +B Y +C X +B Y +B Y +C X +C Z +C Z +B Y +B Z +B Y +A Y +B Y +A Y +B Y +C Y +A Y +B Y +C Y +B Y +B Y +B Y +A Y +C Y +C Z +C X +C Y +C X +C Y +B Y +C Z +C Z +B Y +A Z +B Z +B X +C Y +A Y +C Y +C Y +B Y +B Y +B Y +B Y +C X +B Y +C Y +C X +C Y +C X +B Y +A Y +A Y +B Y +C X +C X +C X +C X +C X +B Y +B Y +B Y +C Y +C Z +C Y +B Y +A Y +C Z +B Y +B Y +A Y +B Y +C Y +A Z +B Y +A Z +C X +C Y +C Y +A X +C Y +C Z +B Y +B Y +C Y +B Z +B Z +B Y +A Z +A X +B Y +B Y +A Z +C Y +C Z +A Z +C Z +B Y +C Y +B Z +C Z +C Y +A X +A Y +B Z +C Z +B Y +B Y +C Z +C X +B Y +B Y +B Z +B Y +A Y +A Z +B Y +A Y +B Y +B Y +A Z +C X +C Y +B Y +B Y +A X +B Y +B Z +C Y +A Y +C Y +B Y +C Y +B Y +B Y +B Y +C X +B X +B Y +B Y +B Y +B Z +B Z +B Y +B X +B Y +B X +B Z +A X +C X +B Y +B Y +A Z +C X +A Y +B Y +B Z +C Z +B Y +B Z +A Y +A Z +B Y +C Z +B Y +A Z +B Y +A Z +A Y +C Y +B Y +B Y +A X +C Y +B Y +A X +B Y +C Z +A Z +B Y +B X +A Y +C Y +B Z +C Y +B Y +B Z +A Y +A Z +B Y +B Y +A Z +A X +C Y +B Z +B Z +B Y +C Z +C Y +C Z +B Y +B Y +B Z +B Y +B Y +A X +B Y +B Y +C X +C Z +B Y +B Y +A X +B Y +B Z +C Z +B Z +A Y +B Y +B Z +B Y +C Y +C Y +B Y +B Y +B Z +A X +B Z +B Y +C Y +A X +B Y +A Y +B Z +A Y +B Y +B Y +B Z +C Y +C Y +B Z +C Y +B Y +C Y +B Y +A Z +A Z +C Z +B Y +B Y +A Z +B Z +B Z +C Y +B Y +B Y +B Z +C Y +A Z +C Y +C Z +C Z +A Y +B Y +C Y +B Z +B Y +C Z +B Y +B Y +A X +B Y +B Y +B Y +B Y +A Z +C Y +A Y +B Y +B Y +C Z +B Y +B Y +B Y +B Z +B Y +B X +C Y +B Y +B Y +A X +C X +A X +B Z +A Z +B Y +B Y +C X +B Z +B Y +B Z +B Y +C Z +A X +B Z +B Y +B Y +B Z +B Y +B Y +A Y +B Y +A X +B Z +C X +B Y +B Y +B Y +B Y +B Y +B Z +B Y +B Y +C Z +B Y +A Y +A X +C Y +B Z +B Z +B Y +B Y +A Y +B Z +B Y +B Y +B Y +B Y +B Z +B X +B Y +B Y +C Y +B Y +B Y +B Y +B Z +B Z +B Y +B Y +B Y +C X +C Z +C Z +A Z +A Y +C Y +B Y +C Z +C Y +C X +B Y +B Y +A X +A Y +C X +B Y +B Y +C Y +B Y +B Y +B Y +C Z +B Y +C Z +C Y +B Z +B Y +B Y +A X +C Z +C Y +B Y +B Y +C Y +C Y +B Z +B Y +B Z +B Y +C Y +B Y +C Y +B Y +C Y +C X +B Y +C Y +B Y +A Z +B Y +A Y +C Y +C Y +B Y +B Y +C X +A Z +A X +B Z +B Y +B Z +A Z +C Y +A Y +A X +C Y +A Y +A Y +C Z +B Y +B Y +B Y +C X +B Y +A X +B Y +B Y +B Y +A Z +A X +B Y +C Y +B Y +A X +B Z +A Y +A X +A Z +C Z +B Z +C X +B Y +A X +B Z +A Z +B Y +A Z +B Y +A Z +C Z +A Y +B Y +B Y +A X +B Y +A X +B Y +A Z +C Z +B Y +B Y +B Y +B Y +B Y +B Y +B Y +A Y +C X +C Y +C Z +B Y +B Y +A X +C Z +A Y +B Y +B Y +C Z +B Z +B Y +B Z +B Y +B Y +B Y +C Y +A Y +C Z +B Y +A X +B Y +C Y +B Y +A X +A X +B Y +C Y +B Y +B Y +A Y +C X +C Y +C X +A Y +B Y +B Y +A Y +B Y +C Y +C Z +B Z +B Y +B Y +C Y +B Z +B Y +B Y +B Y +C Y +B Y +C Y +B Y +C Z +B Y +B Z +B Y +B Y +A Z +B Y +B Z +B Y +B Z +A Y +B Y +B Y +B Y +A Y +C X +B Y +C Y +B Y +B Y +B Y +C Y +B Y +B Y +C Z +B Y +A Z +C Y +C Z +B Y +B Y +C Y +B Z +B Y +A Y +A Y +B Y +B Y +B Y +B X +B Z +A X +C Z +B Z +A Z +B Y +B Y +A X +A Y +C Y +B Y +B Z +B Y +B Y +B Y +B Z +A Y +B Y +B Y +B Y +C Z +C Z +B Y +B Z +B Y +B Y +B Y +C Y +A Z +B Y +B Y +B Z +B Y +B Y +B Y +A X +B Y +B Y +B Y +C Y +B Y +B Y +C Z +B Z +C Y +B Y +B Z +C Y +B Y +B Z +B Y +B Y +A Z +C Z +C Y +B Y +C X +B Y +B Y +B Z +B Y +B Y +A Y +B Z +C Y +C Y +A Y +B Z +C X +C Y +C X +A Z +A X +B Y +C X +B Y +B Y +B Z +A Z +B Z +B X +B Y +B Z +B Y +B X +A Y +B Y +C X +A Z +A X +B Y +B Y +B Y +B Z +B Y +A X +C Z +B Z +B Z +B Z +A Y +B Y +B Y +C X +B Y +A Y +A Z +B Z +B Z +B Y +B Y +C Y +C Y +C X +B Y +C Z +B Z +B Y +B Y +B Y +B Z +C X +C X +B Y +B Y +B Z +B Y +A Y +B Y +B Y +A X +B Y +B Y +B Z +A Y +B Y +A X +B X +A Y +C Y +B Y +B X +A X +B Y +B Z +A Y +B Z +B Y +B Y +C Y +B Y +B Y +B Y +B Y +B Y +A Y +B Y +A Y +B Y +A Y +B Y +B Y +B Y +A X +A Y +A Y +A X +B Z +A X +C Y +C Y +B Y +A X +B Y +A Y +B Y +B Y +B Y +C X +C Y +B Y +C X +C Y +B Y +B Y +C Y +B Y +B Y +B Y +B Z +A Z +B Y +B Z +B Z +A X +C Z +B Y +C Z +B Y +C Z +B Y +A X +C Y +C Z +A Z +A Y +B Y +A Y +B Y +B Y +B Y +B Y +B Y +A Y +C Y +C Y +B Z +B Y +B Y +B Z +A Z +A X +C Z +B Y +B Y +A X +C Y +A Y +B Y +A Y +B Y +B Z +C Y +C Z +B Y +A Y +B Y +C Z +C Z +A X +A X +C Z +A X +A Z +B Y +B Y +C Z +C Y +C Z +A X +A X +B Z +B Y +B Y +A X +B Y +B Z +C Y +C X +B Y +C Z +B Y +C Z +B Y +B Z +B Y +C Y +A Z +B Y +B Y +A X +A Z +A X +C Y +B Y +B Y +C Z +B Z +C X +B Y +C Y +C Y +A Z +C Z +B Z +B Y +B Z +B Y +A Z +A Y +A Y +A X +B Z +C Z +C X +B Y +A X +C X +A Y +B Y +B Y +B Y +A Z +B Y +C X +B Y +A Z +B Z +B Z +C Y +B Y +C X +C X +C Y +C Y +C Z +C X +B Y +C Y +C Y +B Z +B Y +A Y +B Z +A X +B Y +A Z +C Y +B Y +C Z +B Y +A X +C Z +B Z +B Y +B Y +B Y +B Y +B Y +C Z +A Z +C Y +A Z +B Y +C X +C X +A X +A Y +B Z +C Y +C X +C X +C Y +C X +B Y +C X +A Y +C Z +B Y +B Z +B Y +A X +B Y +A Z +A Y +C X +A X +B X +C X +C Z +C X +A Y +A Z +B Y +A Y |
