commit 90cc428eeedc019c1fa9e758e4fb13c0db4a5fb8
parent 3a2917331f01b49f9c3950b1458b1c6f0f53838f
Author: aabacchus <ben@bvnf.space>
Date: Wed, 14 Dec 2022 03:50:42 +0000
22.2.2 in Lua
Diffstat:
A | 2022/02/a.lua | | | 61 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | 2022/02/i | | | 2500 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
2 files changed, 2561 insertions(+), 0 deletions(-)
diff --git a/2022/02/a.lua b/2022/02/a.lua
@@ -0,0 +1,61 @@
+local f
+if (arg[1]) then
+ f = assert(io.open(arg[1], "r"))
+else
+ f = io.stdin
+end
+
+--[[
+ rock = 1
+ paper = 2
+ scissors = 3
+--]]
+
+function parse(char)
+ local res = {
+ A = 1, B = 2, C = 3,
+ X = 1, Y = 2, Z = 3,
+ }
+ return res[char]
+end
+
+function resultA(them, us)
+ if them == us then
+ return 3
+ elseif (us - them) % 3 == 1 then
+ return 6
+ else
+ return 0
+ end
+end
+
+function resultB(them, outcome)
+ if outcome == 2 then
+ return them
+ elseif outcome == 3 then
+ return (them % 3) + 1
+ else
+ if them - 1 == 0 then
+ return 3
+ else
+ return them - 1
+ end
+ end
+end
+
+
+totala = 0
+totalb = 0
+for line in f:lines() do
+ -- lines look like "A X"
+ -- 123
+ local them = parse(assert(string.sub(line, 1, 1)))
+ local us = parse(assert(string.sub(line, 3, 3)))
+ local scorea = resultA(them, us) + us
+ local scoreb = resultB(them, us) + ((us-1) * 3)
+ totala = totala + scorea
+ totalb = totalb + scoreb
+end
+
+print("Part A:", totala)
+print("Part B:", totalb)
diff --git a/2022/02/i b/2022/02/i
@@ -0,0 +1,2500 @@
+C Z
+B Y
+C X
+B Z
+C Y
+B Y
+C Z
+C Z
+B Y
+B X
+C Y
+B Y
+B Z
+A Z
+A Y
+B X
+C Y
+C Z
+B Z
+A Y
+C Y
+C Z
+A Y
+C Z
+B X
+B Y
+B Y
+A Y
+C Z
+B Y
+B Y
+B Y
+C Z
+C Y
+B X
+C Y
+A Z
+C Y
+B X
+B Z
+C Z
+C Z
+B X
+A Y
+A Y
+C Z
+C Z
+C Z
+B Y
+C Y
+B Y
+C Z
+C Z
+A Z
+B Y
+C Y
+B X
+A Y
+C Y
+B Y
+C Z
+A Y
+B Y
+B Y
+B Y
+B Z
+C Y
+A X
+C Y
+B Y
+C Z
+A Z
+B X
+C Z
+C X
+A Y
+C Y
+B Z
+C Y
+C Z
+B X
+C Z
+C Y
+B Y
+B Y
+B Y
+B Y
+A Y
+C Z
+C Z
+B Y
+B Y
+C Z
+B Z
+B Y
+B Y
+B Y
+A Y
+B Z
+B Y
+C Y
+B X
+B Y
+B X
+C Z
+B X
+C Y
+B Z
+C Z
+C Z
+B Y
+B Z
+C Z
+B X
+C Y
+B Y
+C Y
+C Z
+C Y
+B Z
+C Z
+B X
+B Y
+C Y
+B X
+B Z
+B Y
+C Y
+B X
+C Y
+C Z
+B Y
+B Y
+B X
+C Y
+C Z
+C Z
+B X
+C Y
+C Z
+B Y
+B Z
+C Y
+C Y
+C Z
+C Y
+C Z
+B Y
+B Y
+C Z
+C Y
+C Y
+C Y
+B Y
+B Y
+A Y
+C Z
+B X
+B Y
+C Z
+C Z
+C Z
+B Y
+B Z
+C Y
+C X
+B Y
+C Z
+C Z
+B Y
+C Z
+C Z
+C Z
+B Z
+C Y
+B Y
+B X
+C Z
+B X
+B X
+B Y
+C Z
+B X
+C Z
+B Z
+C Z
+B X
+A Y
+B X
+A Y
+A Y
+A Z
+C Y
+B Z
+B Z
+B X
+C Y
+C Y
+B Y
+C Z
+B X
+C Z
+B Y
+B Z
+C Z
+C Z
+B Y
+C Y
+B Y
+C Y
+A Y
+C Z
+C Y
+C Y
+B Y
+B Z
+C Y
+B X
+B Z
+A Z
+C Y
+B X
+B Y
+B Y
+B Y
+B Z
+C Z
+A X
+B Z
+B X
+C Y
+B Z
+B Y
+A Y
+C Z
+B X
+C Z
+B Z
+C Z
+B Y
+C Z
+C Y
+B X
+C Z
+C Y
+B Y
+C Z
+C Y
+C Z
+C Y
+B Z
+A Y
+B Y
+B X
+C Y
+A X
+C Z
+A Y
+C Z
+B Y
+C Z
+B Y
+C Z
+B Y
+B Y
+B Y
+B Y
+A Y
+C Z
+B Y
+A Z
+B Z
+C Y
+B Y
+B Z
+A Y
+C Z
+B Y
+B Y
+C Z
+A Z
+B X
+A Y
+C Z
+B Z
+B Z
+B Y
+B X
+A Y
+B Y
+A X
+C X
+B Z
+B Y
+C Y
+C Z
+C Y
+C Z
+B Y
+B Z
+C Y
+A Z
+C Y
+C Y
+C Y
+A Z
+C Y
+C Z
+C Z
+C Z
+C X
+B Y
+B Y
+C Y
+C Z
+C Y
+B Y
+C Y
+C Z
+C Z
+B Z
+B Y
+B Y
+B Y
+C Z
+C Y
+B X
+C Y
+B Z
+B Y
+B Y
+B Y
+C Y
+C Y
+C Z
+C Z
+C Y
+B X
+C Y
+B Y
+B Z
+B Z
+B Z
+C Z
+B X
+C Y
+C X
+C Y
+B X
+C Z
+A Y
+A Y
+B X
+C Z
+A Z
+C Y
+C Z
+A Y
+C Z
+B Y
+B Y
+C Y
+B Y
+C Y
+B Y
+C Y
+B Y
+C Y
+C Y
+B Y
+C Z
+B Z
+C Y
+A Y
+C Y
+A Y
+B X
+C Y
+A Y
+B Z
+B Y
+C Y
+B Y
+C Y
+B Y
+C Y
+C Z
+C Y
+C Z
+B Y
+C Y
+C Z
+B Y
+B Z
+C Y
+A Y
+C Z
+C Z
+C Z
+B Z
+C Y
+A Y
+B Z
+A Y
+B Y
+C Y
+C Z
+C Y
+A Y
+B X
+A Z
+C Z
+C Y
+B X
+C Z
+A X
+C Z
+C Y
+C Z
+B Y
+C Y
+C Y
+B Y
+C Y
+C Z
+C Y
+C Y
+C Y
+A Y
+C Z
+C Y
+C Z
+C Z
+B X
+A Y
+B X
+B Y
+A Y
+B Y
+A Y
+C Z
+A Y
+C Y
+C Y
+B Y
+C Y
+B Z
+C Y
+C Z
+B Z
+B Y
+B X
+B Y
+B Y
+C Y
+C Y
+B Y
+B X
+C Z
+B X
+B X
+A Y
+B Z
+B X
+A Y
+C Y
+C Y
+B X
+B Z
+C Y
+B Y
+B X
+B X
+C Y
+C Z
+B Y
+B Y
+B Y
+A Y
+A Y
+C Z
+C Z
+C Y
+B X
+C Y
+C Y
+B Z
+B Z
+A X
+C Y
+C Y
+A Z
+A Y
+B X
+B Y
+C Y
+B Y
+C Z
+B Y
+C Y
+B Y
+C Z
+C X
+C Z
+A Z
+B X
+A Z
+C Z
+B Y
+C Y
+B Z
+C Y
+B X
+C Y
+C Z
+B Y
+A Y
+C Y
+C Y
+B Z
+B Y
+B X
+C Z
+B Y
+C Y
+C Y
+C Y
+A Z
+B Y
+B Y
+C Y
+B Y
+C Z
+B Y
+C Y
+B Y
+C Z
+B X
+C Y
+B Y
+B X
+C Y
+C Z
+C Y
+B X
+B Y
+C Y
+B Z
+B X
+C Y
+B X
+B Y
+B Z
+C Y
+B Y
+C Y
+B Y
+B Y
+C Y
+B Z
+B Y
+C Z
+C Z
+B X
+A X
+C Z
+B Z
+B Y
+B X
+C Z
+C Z
+B Z
+A Z
+B Y
+C Y
+C Z
+C Y
+C Y
+C Y
+C Z
+B Y
+B Y
+C Y
+C Z
+C Z
+C Y
+C Y
+C Z
+B Y
+C Y
+B Y
+B Y
+A Y
+C Y
+A Y
+C Z
+C Y
+C Z
+C X
+B X
+C Z
+A Y
+B X
+C Z
+C Z
+C Y
+B Z
+B Y
+A Y
+C Z
+B X
+B Y
+B Z
+B X
+C Y
+B Y
+C Z
+C Z
+C Z
+C Y
+A Y
+C Z
+C Z
+B Y
+B Y
+B Y
+C Y
+C Y
+C Z
+B X
+C Y
+C Y
+C Y
+B Y
+C X
+B Y
+B Y
+C Y
+A Z
+C Y
+C Z
+A Y
+C Y
+B Z
+C Y
+C Z
+A X
+B X
+C Z
+C Y
+B Y
+C Y
+C Y
+B Y
+C Z
+C X
+C Y
+C Y
+B X
+C Y
+B Y
+C Y
+C Z
+A Z
+B X
+B X
+C Z
+C Y
+B Y
+B Z
+B Y
+B Z
+A X
+B X
+B X
+B X
+C Y
+A X
+C Z
+C Z
+B Y
+B X
+B Y
+B Y
+C Z
+B Z
+C Y
+C Y
+B X
+B Z
+C X
+A X
+B Y
+C X
+C X
+B Y
+C Z
+C Z
+C Z
+B X
+B Z
+C Y
+B Y
+A Y
+C Z
+B Z
+A Z
+B X
+B X
+B X
+B Y
+B X
+B X
+B X
+B Y
+C Z
+C Y
+C Y
+C Y
+A Y
+C Z
+C Y
+C Z
+C Y
+B Y
+A X
+A Z
+A Z
+C Z
+B Z
+B Z
+B Y
+C Z
+B Y
+B X
+B Y
+B Z
+A Y
+B Y
+B Y
+B Z
+C Y
+B Y
+C Y
+B Y
+C Y
+B Z
+C Z
+B Z
+C Y
+B Z
+B Y
+B Y
+A Y
+C Z
+B Y
+B X
+B Y
+B X
+C Z
+C Y
+B Z
+C Z
+C Z
+A Z
+C Z
+B X
+C Z
+C Z
+C Z
+C Y
+B Y
+B X
+C Y
+C Y
+C Z
+C Z
+B X
+C Y
+C Z
+B Z
+A Y
+A Y
+B Y
+C Y
+B Z
+A X
+C X
+C Y
+A Y
+B Z
+B X
+C Z
+C Y
+B Y
+C Z
+C Y
+B Z
+C Z
+C Z
+C Y
+B X
+C Z
+C Y
+B Y
+C Y
+C Y
+C Z
+B X
+C Y
+C Z
+C Z
+C Y
+C Y
+B Y
+C Y
+B X
+C Z
+B Z
+B X
+A Z
+C Z
+B Z
+C Z
+C Y
+B X
+C Z
+A Z
+A Y
+A Y
+C Y
+B Y
+B X
+C Y
+C Z
+B X
+A Y
+B Y
+B X
+B X
+C Y
+B Y
+C Y
+C Z
+B Y
+B X
+C Y
+B Y
+B X
+A Y
+B Y
+B Y
+C Y
+A Y
+B Y
+A Z
+C Z
+A X
+C Z
+C X
+C Z
+C Z
+C Y
+B Z
+B Z
+A Z
+A Y
+B Y
+B Y
+C X
+C Z
+C Z
+B Z
+A X
+C Y
+C Z
+A Y
+A Y
+B X
+C Z
+B Z
+A X
+C Z
+C Y
+B X
+C Y
+C Y
+C Z
+C Z
+B X
+C Z
+A Y
+B Y
+B X
+B Y
+C Y
+B X
+C Y
+B Y
+A X
+C Z
+C Y
+C Z
+B Z
+C Y
+C Y
+C Z
+C Z
+A Y
+C Z
+B Y
+C Z
+C Y
+B Y
+C Y
+A Y
+C Y
+A Z
+C Y
+A Z
+C Z
+C Z
+B Y
+C Z
+C Y
+A Y
+C Y
+A Y
+C Z
+B Z
+B Y
+B Z
+C Z
+B Y
+A Z
+B Y
+C Z
+A Y
+B Y
+A Z
+B X
+B Z
+B X
+B Y
+B Y
+B Y
+C Y
+C Z
+B Y
+C X
+B Y
+A X
+B Y
+B Y
+C Z
+C Z
+A X
+C Z
+C Y
+C Z
+B Y
+B Y
+B X
+B X
+A X
+B X
+B Y
+B Y
+C Z
+B Z
+B Y
+B Y
+B Z
+B Y
+C Z
+C Z
+B X
+B Z
+A Z
+B Z
+C Z
+B Z
+C Y
+C Z
+C Z
+B X
+C Y
+C Y
+B X
+B Y
+C Y
+B Y
+C Z
+C Y
+B Y
+B X
+A Z
+C Z
+C Y
+C Y
+B Z
+B X
+A Z
+B Z
+C Z
+C Z
+B X
+B X
+C Z
+C Y
+B Z
+C Z
+C Z
+B X
+C Y
+C Y
+B Y
+C Y
+B Z
+C Z
+A Y
+B X
+C Y
+C Z
+B Y
+B X
+B X
+A Z
+B Y
+B Y
+C Z
+B X
+A Y
+A X
+C Y
+B Z
+B X
+A Y
+B Y
+B X
+C Z
+C Z
+C Z
+C Z
+C Z
+A Y
+C Y
+C Z
+C Y
+C Z
+C Y
+A Y
+B Y
+C Y
+C Y
+B Y
+C Z
+A X
+B Y
+C Y
+C Z
+B Y
+C Z
+B Y
+A Z
+B X
+B X
+A Y
+B X
+C Y
+B Z
+B Y
+B Z
+C Y
+A Y
+C Z
+A Y
+A Y
+C Z
+C Z
+C Y
+B X
+A Y
+C X
+C Y
+C X
+C Z
+B Y
+B Y
+C Z
+B X
+B Y
+C Z
+B X
+C Z
+C Z
+B Y
+A Y
+B X
+B Y
+C Z
+B Y
+C Z
+A Y
+B X
+C Z
+C Y
+A Y
+C Z
+A Y
+C Y
+A Y
+C Z
+B X
+B Y
+B Z
+A Y
+C Z
+C Y
+C Z
+B Z
+C Z
+C Y
+C Y
+B Z
+C Z
+C Y
+B X
+B Y
+A Y
+A Y
+B X
+C Y
+C Y
+C Z
+B Y
+B Z
+B X
+B Y
+B Y
+B Z
+B Y
+B Y
+B Z
+B Y
+B X
+C Y
+C Y
+C Z
+B X
+C Z
+C Y
+A Y
+C Y
+C Z
+B Y
+A Z
+C Y
+C Z
+B X
+A Y
+C Y
+C Y
+C Y
+A Y
+A Y
+C Y
+B X
+C Z
+A Y
+C X
+B Y
+C Y
+B Y
+C Y
+B Z
+C Y
+A Z
+B Y
+A Y
+A Y
+B X
+B Y
+B Y
+B Y
+C Y
+B Z
+C Z
+B X
+B X
+B X
+C Y
+B X
+C Z
+B Z
+C Z
+B Y
+C Y
+C Z
+C Y
+C Y
+B Y
+B Y
+B Z
+B Y
+C Z
+B Y
+B X
+C Z
+A Z
+C Y
+C Y
+C Z
+B Y
+A Y
+C Z
+C Y
+B Z
+C Z
+B Y
+B Z
+B X
+C Y
+B X
+C Z
+B Z
+C Z
+C Z
+B Y
+B X
+B X
+C X
+C Z
+C Z
+A Y
+C Z
+C Y
+C Y
+C Y
+C Z
+C Y
+B X
+B X
+B X
+C X
+C Y
+B X
+B X
+B X
+B Z
+A Z
+B X
+C Y
+B Y
+C Z
+A Z
+B Y
+B X
+B Z
+C Y
+B Z
+B Y
+A Z
+C Z
+B Y
+C Y
+B Y
+B X
+C Y
+A Z
+C Z
+C Y
+B Y
+B X
+C Y
+C Z
+C Y
+C Z
+B Y
+A Z
+B Y
+B X
+C Y
+C Y
+A X
+B X
+C Y
+C Z
+A Z
+C Z
+C Y
+C Z
+B Y
+B Y
+C Z
+A Y
+C Z
+B X
+B X
+B Y
+B Y
+B X
+B X
+B X
+B Z
+B X
+A X
+A Y
+C Z
+C Y
+A Y
+C Y
+C Z
+C Y
+B Y
+C Z
+A Y
+B X
+B X
+C Y
+C Y
+B Z
+B Z
+B Z
+B Y
+B Y
+B Y
+B Y
+C Y
+C Z
+B Z
+A Y
+B Z
+C Y
+C Y
+C Z
+B X
+A Y
+C Y
+B X
+B Z
+A Y
+C Y
+C Z
+A X
+C Z
+B X
+B X
+B Z
+A Y
+C Z
+B Z
+C Z
+A Y
+A Y
+B Y
+B Y
+A Y
+C Y
+A Y
+B X
+C Y
+C Z
+B Y
+B Z
+C Z
+C Y
+B Y
+C Y
+C Z
+B Y
+C Z
+C Y
+A Y
+C Y
+C Y
+B X
+C Y
+B Y
+B Y
+B X
+C Z
+B Y
+C Y
+C Y
+B Y
+B Y
+B Z
+C Y
+C Z
+A X
+C Z
+C Y
+C Y
+C Y
+B Z
+C Y
+C Y
+C Y
+A Y
+C Y
+A Y
+C Y
+C Y
+C Y
+C Y
+C Y
+C Y
+A Z
+B Z
+B Y
+C Z
+B Y
+C Z
+B Y
+C Z
+B Y
+C Z
+C Z
+C Z
+C Y
+C Z
+B Y
+B Y
+C Y
+C Z
+B Z
+C Y
+A Y
+C Y
+C Z
+C Y
+C Y
+A Z
+B Y
+C Y
+B X
+B Y
+C Y
+C Z
+B Y
+C Y
+B X
+B X
+B Y
+C Y
+B Z
+B Y
+A Y
+B Y
+B Y
+B X
+C Z
+B Z
+B X
+C Z
+A Z
+B Z
+C Y
+C Z
+C Y
+B X
+C Y
+C X
+B Z
+C Y
+C Y
+B Y
+C X
+B Y
+C Z
+A Z
+C X
+A Y
+B Y
+B Y
+C Z
+C Z
+B Y
+B Y
+B Z
+C Z
+C Y
+C Z
+B X
+A Z
+C Y
+C Y
+B Z
+B X
+B Y
+B X
+A Z
+C Y
+B Y
+C Z
+A Y
+B Z
+C Y
+B X
+B X
+B Y
+B Y
+B Z
+B X
+C Z
+C Y
+B X
+B X
+B X
+B Y
+B X
+B X
+B Y
+B Y
+B Y
+C Y
+A Z
+C Z
+C Y
+B Y
+B Y
+B Z
+C Z
+C Y
+C X
+B Z
+A X
+C Y
+B X
+B Y
+C Y
+A X
+C Y
+C Y
+B Y
+B Y
+B Y
+A Z
+C Y
+C Y
+A X
+C Y
+A Z
+C Z
+B X
+A Y
+C Z
+B Z
+B Y
+B Y
+C Y
+B Y
+C Z
+B X
+C Z
+B X
+A Y
+C Z
+C Y
+B X
+B Z
+B Y
+B X
+C Y
+C Z
+C Z
+A Z
+B Z
+B Z
+C Z
+C Y
+C Z
+C Y
+B Z
+B Y
+B Y
+C Y
+C Z
+C Y
+C Y
+C Z
+A Y
+B Y
+A Z
+B Z
+C Z
+B X
+A Y
+B Y
+C Y
+C Z
+A Y
+C Y
+B Y
+B X
+C Y
+B Y
+C Y
+A Y
+C Y
+B Y
+B Z
+C Z
+B X
+B X
+C Z
+C Y
+C Z
+B Y
+C Y
+B Y
+B Y
+C Z
+C Y
+A Z
+B Z
+B X
+C Z
+C X
+C Z
+B X
+C Z
+C Y
+B X
+B Y
+B Y
+C Z
+C Z
+C Z
+B Y
+B Y
+A X
+B X
+C Z
+C Y
+C Z
+B Y
+C Y
+B Y
+C Y
+C Z
+C Z
+C Y
+C Y
+B X
+B Y
+B Y
+C Y
+B Y
+A Y
+B Y
+B Z
+C Z
+C Z
+A Z
+C Z
+B Z
+B Y
+C Z
+B Y
+B X
+B Y
+A Y
+A Y
+B Y
+C Y
+B Z
+B Y
+B Y
+B Y
+B X
+B X
+B X
+B Z
+B Z
+C Z
+A X
+C Z
+B Y
+C Z
+A Y
+C Z
+C Y
+A Y
+B Z
+B Y
+C Z
+B Y
+B X
+B Z
+C Y
+C Z
+C Z
+C Y
+B X
+B X
+C Y
+C Y
+A Y
+C Y
+B Y
+C Y
+C Y
+C Y
+B X
+C Z
+B Y
+C Z
+B Y
+B Y
+A Y
+B Y
+C X
+B Y
+C Y
+B Y
+C Z
+C Y
+B X
+B Y
+C Y
+B Y
+B Z
+B X
+C Z
+A X
+C Y
+C Y
+B X
+B Z
+B X
+C Y
+C Y
+A Y
+B Y
+C Y
+C Z
+B Y
+B Y
+B Z
+A Y
+B Z
+B X
+B Z
+C Y
+B Y
+C Y
+C Y
+B X
+B Y
+A Y
+C Y
+C Z
+C Y
+B X
+B X
+C Y
+B Y
+A Z
+C X
+C Z
+B Y
+C Z
+C Y
+C Z
+C Y
+A Z
+B Y
+C Y
+B Z
+B Y
+B X
+B Y
+B X
+C Z
+C Y
+B Y
+C Y
+C Z
+C Z
+B Y
+B X
+C Y
+C Y
+B Y
+B X
+C Z
+B X
+C Z
+C Y
+B Y
+C Y
+C Z
+C Y
+B Y
+C Z
+A Z
+A Y
+C Y
+A Y
+C Y
+B Y
+B Y
+B Y
+C Y
+C Z
+C Y
+C Y
+B X
+B X
+C Y
+B X
+C Y
+A Y
+B Y
+B Y
+C Z
+C Z
+B X
+C Z
+C Z
+B Y
+C Z
+C Z
+B Z
+B Z
+C Y
+A Z
+C Z
+C Z
+B X
+C Z
+B Z
+B Y
+A Y
+B X
+B Z
+A Y
+B Y
+B Y
+B X
+B Y
+C Y
+A Z
+B Y
+C Y
+A Y
+C Y
+B Y
+C Y
+C Y
+A Y
+C Y
+B Y
+B Y
+B Z
+C Z
+C Z
+C Y
+B Y
+C Y
+B Z
+B X
+C Y
+C Y
+B Y
+B Z
+B Y
+A Y
+A Y
+A Z
+C Y
+B Y
+B Y
+C Z
+C Z
+C Y
+C Z
+C Y
+B X
+C Z
+C Y
+C Y
+A Y
+B Z
+C Z
+A Y
+B Z
+B Y
+B Y
+B Y
+B Y
+C Y
+C Y
+A Y
+C Z
+C Z
+A Z
+B Y
+B X
+B Z
+A Z
+C Z
+B X
+B Y
+A X
+C Y
+B Z
+A Y
+C Z
+C Y
+A Y
+B X
+C Y
+B X
+C Z
+B X
+B Y
+B X
+A Z
+B Y
+C Z
+C Y
+B Y
+A Y
+B X
+C Y
+B Z
+B X
+A Z
+A Y
+C Y
+C Z
+C Y
+B X
+C Y
+C Z
+B Y
+A Y
+C Y
+C Z
+C X
+B Y
+C Y
+B X
+B Z
+B Y
+C Z
+C Z
+C Y
+B X
+C Y
+B Z
+C Z
+C Y
+C Y
+C Y
+C Z
+C Y
+B Y
+C Y
+A Y
+C Y
+B X
+B Y
+A X
+B Y
+B Y
+B Y
+A Y
+B X
+B Z
+B Z
+C Z
+A Z
+C X
+B Z
+B Y
+C Y
+C Z
+B Z
+B Y
+B X
+C Y
+C X
+C Y
+C Z
+A X
+B X
+B Y
+B Y
+C Z
+B X
+B Z
+B X
+B X
+B Y
+C Y
+B Y
+B Z
+C Y
+C Y
+B Z
+B Y
+C Y
+C Y
+C Z
+C Z
+C Z
+B Y
+B Z
+C Y
+A Z
+C X
+B Y
+C Y
+C Y
+B Y
+C X
+C Y
+B Y
+C Y
+B Y
+B Y
+C Y
+C Z
+C Z
+C Z
+C Z
+B X
+C Z
+C Z
+B Y
+C Y
+A Z
+B X
+C Z
+B Z
+C Y
+C Y
+B Y
+B Y
+B Z
+C Y
+B Z
+C Z
+B Y
+C Z
+C Z
+B X
+B Z
+C Y
+C Y
+C Z
+B X
+C Z
+B X
+C Y
+C Y
+B X
+C Z
+C Z
+B Y
+C Z
+B Y
+B Y
+C Y
+C Y
+B Y
+C Y
+B Y
+A Z
+B Y
+B Y
+B Z
+C Y
+B Z
+B Y
+C Y
+B X
+B Z
+B Z
+C Y
+C Z
+C Z
+B Z
+C Y
+B Y
+C Z
+B X
+B X
+C Z
+B X
+C Y
+B Y
+C Y
+C Z
+C Z
+C Y
+C Z
+B Z
+C Y
+C Z
+C X
+B Z
+B Y
+A Z
+C Z
+A Y
+C Z
+B Z
+B X
+C Y
+B X
+C Y
+C Z
+C Z
+B Y
+B Y
+B X
+C Y
+C Z
+B X
+C Y
+C X
+C Y
+C Y
+C Z
+C Z
+B X
+C Z
+B Y
+C Y
+B Y
+B Y
+B Y
+B Z
+C Z
+A Y
+B X
+A X
+A Z
+C Z
+A Z
+B Z
+C X
+B Z
+B X
+B Y
+B X
+C Y
+C Z
+C Y
+B X
+B Y
+B X
+B Y
+A Y
+C Z
+B Y
+C X
+B Y
+B Y
+A Z
+B Y
+C Z
+C Z
+A Z
+C Y
+B Z
+C Y
+B Y
+A Y
+A Z
+B Y
+B Z
+B X
+B Y
+B Y
+C Y
+C Z
+A Y
+C Z
+A Y
+C Z
+C Y
+C Y
+B Y
+B Z
+C Y
+C Z
+B Y
+C Y
+C Y
+B X
+B Y
+C Z
+C Z
+C Y
+B Z
+B Y
+C Z
+B X
+C Z
+B Z
+C Y
+C Y
+C Y
+C Z
+B Y
+C Y
+C Y
+B Y
+C X
+C Z
+B Y
+C Z
+A Y
+C Y
+C Y
+C Z
+C Y
+C Z
+B Z
+B Y
+C Z
+C Z
+C Y
+B X
+B Y
+C Z
+B Y
+C Z
+C Z
+B Y
+C Y
+B X
+B Y
+A Y
+B X
+C Z
+B Y
+C Z
+C Y
+C Z
+B X
+B Y
+C Y
+C Z
+C Y
+B Y
+B Z
+B X
+B Y
+C Z
+C Z
+C Z
+B Z
+C Y
+C Z
+B Z
+C Z
+A Y
+C Z
+B X
+B Z
+C Y
+C Z
+C Y
+B Z
+B Y
+C Y
+B Z
+A Y
+B X
+C Y
+C Y
+B Y
+B Y
+C Y
+C X
+B Z
+B X
+C X
+C Y
+B Z
+C Z
+A Y
+B Z
+B Z
+B Z
+B X
+B Y
+B X
+C Z
+C Z
+A Z
+B Z
+C Z
+C Z
+B X
+A Y
+C Y
+B Y
+B Y
+B Y
+B Y
+B Y
+C Z
+C Y
+C X
+C Y
+B Y
+B Y
+C Y
+C Z
+B Y
+A X
+A Y
+B X
+A X
+C Y
+C Z
+C Z
+B Y
+B Z
+A Y
+A Y
+C Y
+B Z
+C Z
+C Y
+B Y
+C Y
+B X
+B X
+B X
+C Z
+B Y
+C Y
+B Z
+C Z
+A X
+A Y
+C Y
+B Y
+B Y
+A Z
+B X
+C Z
+C Z
+B X
+C Z
+C Z
+C Z
+C Y
+C Z
+B X
+B X
+C Y
+B Z
+A Y
+C Z
+B Y
+C Z
+C Y
+A Y
+C Z
+A Z
+C Z
+B Z
+A Y
+A Y
+C Z
+B Y
+C Y
+C Z
+C Z
+B Y
+C Z
+C Z
+C Z
+B Z
+C Y
+C Y
+B Y
+C Y
+C Z
+A X
+C Z
+C Z
+C Y
+C Z
+B Y
+C Y
+B Y
+A Y
+C Y
+A Y
+B Y
+B Y
+C Z
+C Z
+C Z
+B X
+B Y
+B Y
+C Y
+C Z
+C Y
+B X
+B Y
+C Y
+C Z
+C Z
+C Z
+A Y
+C Y
+C Z
+B X
+C Y
+C Z
+A Y
+B Y
+C Y
+C Y
+A X
+C Z
+B Z
+B X
+C Z
+C Y
+B Y
+B Y
+C Y
+A Y
+B Y
+B Y
+C Y
+B X
+C Z
+C Z
+C Y
+C Y
+B Y
+C Z
+C Y
+C Z
+C Z
+C Z
+B Y
+C Z
+B Y
+B Y
+B Y
+B X
+A Y
+C Y
+C Y
+B X
+B X
+C Z
+B X
+C Z
+B X
+B Y
+C Z
+B X
+B Y
+C Z
+B X
+B Y
+C Y
+B Y
+B Y
+C X
+B Y
+B Y
+B X
+C Y
+C Y
+A Z
+B Y
+C Y
+B Z
+B X
+B X
+A Y
+A Y
+B Z
+B X
+B X
+C Y
+C Y
+C Y
+B Y
+C Y
+B Y
+A Y