commit 8500c8a46fe77c06d2a0295e845c4ca7a987e6f9 (patch)
parent ba857efbe6ad423afa07db551bebdafaef1ac348
Author: Alex Karle <alex@alexkarle.com>
Date: Fri, 2 Dec 2022 00:31:44 -0500
day2: Add hacky brute-force solution
Diffstat:
3 files changed, 2558 insertions(+), 0 deletions(-)
diff --git a/2022/02/input b/2022/02/input
@@ -0,0 +1,2500 @@
+C Z
+C Y
+B X
+A Z
+C Z
+B X
+C Z
+B Z
+A Z
+A Z
+B Z
+B X
+C Z
+C Z
+A Z
+B Y
+B X
+C Y
+B X
+B X
+A Y
+A Z
+A Z
+A Z
+A Z
+C Z
+A Z
+C Z
+B X
+A X
+A Z
+B Y
+B X
+A Z
+B X
+C Z
+A Z
+C Z
+A Z
+A Z
+B X
+C X
+B X
+A X
+B X
+A Z
+A Z
+B X
+B Y
+B Y
+B Y
+C Z
+A Z
+A Z
+C X
+B X
+C Y
+B X
+C Z
+A Z
+C Z
+B X
+B X
+B Z
+B X
+A Z
+C Z
+A Z
+A Z
+A Z
+A Z
+B X
+C Z
+C Y
+A Z
+A Z
+A Z
+A Z
+C Z
+A X
+A Z
+A Z
+C Z
+C Y
+A Z
+C Y
+A Z
+A Z
+C Y
+C Z
+C Z
+A Z
+B Y
+B X
+B Y
+C Z
+A Z
+A Z
+A Z
+B Z
+C Z
+A Z
+B X
+C Y
+A Z
+B X
+A Z
+B Z
+A Z
+B X
+A Z
+B Y
+A Z
+A Z
+C Y
+A Z
+B Z
+A Z
+A Y
+B Y
+C Z
+A Z
+B X
+C Z
+C Z
+B X
+C Z
+C Z
+A Z
+B X
+C Z
+C Z
+A Z
+C Y
+A Z
+A Z
+B Y
+C Y
+A Z
+B X
+B Y
+B X
+B X
+A Z
+C Y
+A Z
+C Y
+A Z
+B Y
+C Z
+A Z
+A Z
+C Y
+A Z
+A Z
+C Z
+A Z
+A Z
+A Z
+C Y
+A Z
+B X
+C Z
+A Z
+C Z
+B Z
+C Z
+A Z
+C Y
+B X
+C Z
+C Z
+A Z
+C Y
+A Z
+B Y
+B X
+A Z
+C Y
+C Z
+B X
+C X
+B X
+C Y
+B X
+B X
+C Z
+B X
+A Z
+C X
+A Z
+C Z
+B X
+C Y
+A Z
+A Z
+C Z
+C Y
+A Z
+A Z
+A Z
+B X
+A Y
+B X
+C X
+C Z
+B X
+C Z
+C X
+A Z
+C Z
+B Z
+A X
+A Z
+C Y
+A Z
+C Z
+C Z
+B X
+C Z
+A X
+C Y
+C Z
+C Z
+C Z
+B Y
+C X
+B X
+A Z
+B Y
+A Z
+A Z
+C Y
+A Z
+B X
+A Y
+A Y
+C Y
+A Z
+A Z
+C Z
+A Z
+A Z
+A Z
+B Y
+B X
+B X
+A Z
+C X
+C Y
+A Z
+C Z
+A Z
+A Z
+A Z
+A Z
+A X
+A Z
+C Z
+A Z
+B Y
+A Y
+A Y
+C Y
+C Y
+B X
+B Y
+A Z
+A Z
+C X
+A Z
+B X
+C Y
+A Y
+A Y
+A Z
+C Y
+C Z
+B X
+A Z
+C Y
+B X
+C Z
+A Z
+B X
+A Z
+C Y
+B X
+C Z
+A Z
+A Z
+A Y
+A Z
+A Z
+C Y
+C Z
+A Z
+B X
+C Z
+C Y
+A Z
+A Z
+C Y
+A Z
+C Z
+B X
+A Z
+C Z
+A Z
+A Z
+A Z
+C Y
+C Y
+B X
+B Z
+B X
+A Z
+B Y
+B Y
+A Z
+A Z
+A Z
+B Y
+B Y
+C Y
+A Y
+A Z
+C X
+B X
+A Y
+B Y
+C Y
+A Z
+B Z
+C Y
+C Z
+B X
+A Z
+A X
+B X
+C Y
+B Z
+A Z
+B Y
+A Z
+B X
+A Z
+B X
+A Z
+C X
+C Y
+C Z
+B X
+C Z
+C Y
+A Z
+C X
+C Z
+A Z
+C Y
+A Y
+C Y
+C Y
+B Y
+A Z
+A Z
+A Y
+A Z
+C Z
+B X
+A Y
+B X
+B Y
+B X
+A Z
+C Z
+C Z
+C Y
+B X
+C Z
+A X
+A Z
+A Z
+A Y
+A Z
+A Z
+A Z
+A Z
+B Z
+B X
+B X
+C Y
+C Z
+C Z
+A Y
+B X
+C Z
+C X
+C Z
+B Y
+A Z
+B X
+B Y
+B X
+A Z
+B X
+B X
+A Z
+A Z
+C X
+B X
+C Z
+C X
+A Z
+A X
+C Z
+A Z
+A Z
+C Z
+B Z
+C Z
+B X
+A Z
+A Z
+C Z
+A Y
+A Z
+A Z
+C Y
+A Z
+B X
+B Y
+A Z
+A Y
+A X
+B X
+A Z
+A Z
+C Y
+C Y
+A Z
+C X
+A Z
+A Y
+A Z
+B Y
+A Z
+A Y
+B X
+C Z
+A Z
+B X
+A Z
+A Z
+B X
+A Z
+A Z
+B X
+A Z
+C Y
+A Z
+C Z
+C Y
+B Y
+B X
+A Z
+B Y
+A Z
+A Z
+B X
+A Z
+A Z
+B X
+C Z
+A Z
+C Z
+B X
+B X
+B Y
+A Y
+C Y
+B X
+A Z
+C Z
+A Z
+A Z
+A Z
+B X
+A Z
+B X
+A Z
+A Z
+A Z
+C Z
+A X
+B X
+B Z
+A Z
+A Z
+C Z
+A Z
+A Z
+A Z
+B Y
+A Y
+C Z
+B X
+B X
+C Y
+A Y
+A Z
+C X
+B Z
+A Z
+A Z
+C Z
+A Z
+A Y
+B Y
+C Z
+B X
+A Z
+A Z
+A Z
+C Z
+A Z
+A Y
+B X
+C Y
+A Z
+A Z
+A Z
+C X
+B X
+A Z
+A Z
+C Z
+B X
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+C Y
+A Z
+B X
+A Y
+C Y
+A Z
+A Z
+B X
+A Z
+B Y
+A Y
+B X
+A X
+A Z
+C Z
+C Z
+C Y
+A Z
+B Y
+A Z
+C X
+A Z
+A Z
+B X
+A Z
+A Z
+B Y
+A Y
+A Z
+A Z
+B X
+C Y
+B X
+B Y
+C Y
+C X
+A Z
+A Z
+B Y
+A Z
+B Y
+C Y
+C Y
+A Z
+C Y
+A Z
+C Z
+A Z
+B X
+A Z
+A Z
+A X
+A Z
+A Z
+A Z
+A Z
+B Z
+C X
+B Y
+A Z
+C Z
+A Z
+A Z
+A Z
+C Z
+B X
+A Z
+B X
+C Y
+C Z
+A Z
+A Z
+C Z
+B X
+B X
+A Z
+A Z
+B X
+A Z
+A Z
+C Z
+A Z
+A Z
+A X
+C Z
+C Y
+A Z
+A Z
+A Z
+A Z
+C Z
+A Z
+A Z
+B Z
+A Z
+C Y
+A Z
+A Z
+B Y
+A Z
+A Z
+B X
+A Z
+B X
+A Z
+A Z
+C Y
+A Y
+C Y
+B Z
+B X
+B Y
+A Z
+A Z
+C Y
+A Z
+A Y
+B Z
+A Z
+C Y
+A Z
+A Z
+A X
+A Z
+B Y
+B Y
+A Z
+A Z
+A Z
+C Z
+C Z
+A Y
+C Y
+B X
+A Y
+B X
+B Y
+C X
+C Y
+C Y
+A Z
+C Z
+A Z
+A Z
+A Z
+B X
+A Z
+A Z
+A Z
+A Z
+A Y
+B X
+A Z
+A Z
+B X
+A Z
+A Z
+A Z
+A Z
+A X
+C Y
+B X
+A Z
+A Y
+C Y
+C Y
+A X
+A Z
+C X
+C Z
+A Z
+C X
+A Z
+A Z
+B Y
+A Z
+A Z
+A Z
+B X
+A Z
+A Z
+B X
+B X
+A Z
+A Z
+C Z
+C Z
+A Z
+C Z
+B X
+A Z
+A Z
+B X
+C Z
+C Z
+C Y
+C Z
+A Z
+B X
+A X
+C Z
+A X
+C Z
+A Z
+A Z
+A Z
+A Z
+A Z
+B X
+A Z
+B X
+C Y
+A Z
+A Z
+A Z
+C Z
+A Y
+A Y
+B Y
+A Z
+A Z
+C Y
+C Z
+B X
+B X
+A X
+C Z
+B X
+A Z
+A Z
+A Z
+B Z
+A Z
+C Y
+B X
+A Z
+A Z
+A Y
+B Y
+C Z
+C Z
+A Z
+A Z
+A Z
+B Y
+A Z
+C Y
+B X
+B Z
+C X
+B X
+C Y
+A X
+C Z
+A Z
+B X
+C X
+A Y
+C X
+A Z
+B X
+B X
+A Z
+A Z
+C Z
+B X
+B Z
+C Y
+C Z
+A Z
+B Y
+A Z
+A Z
+B X
+C Y
+A Z
+C Z
+A Z
+B Z
+C Z
+C Z
+A Z
+C Y
+A Z
+A Z
+A Z
+C Z
+C X
+B Y
+C Y
+A Z
+C Y
+C Y
+C X
+C Y
+A Z
+C Y
+C Y
+C X
+C X
+A Z
+B X
+A Z
+C Y
+A Z
+B X
+B X
+B X
+B X
+B X
+B Y
+A Z
+A Z
+C Z
+A Z
+A Z
+A Z
+C Z
+C Z
+C Z
+A Z
+A Z
+A Y
+A Z
+A Z
+A Y
+A X
+C Z
+A Z
+A Z
+C Z
+B X
+C Z
+B Y
+C Z
+A Y
+A Z
+C Y
+B X
+A Z
+C Y
+A Z
+C Z
+C Y
+B X
+A Z
+A Z
+A Z
+A Z
+A Z
+C X
+C Z
+A Z
+A Z
+A Z
+C Z
+A Z
+B X
+A Z
+A X
+A Z
+B X
+A Z
+C Z
+A Z
+A Y
+B X
+B Z
+A Z
+B X
+A Z
+A Z
+B Y
+A Z
+A Z
+C Y
+B Y
+C X
+A Z
+A Z
+A Z
+C Z
+A Z
+A Z
+A Z
+C Z
+A Z
+C Y
+B X
+A Z
+A Z
+C X
+A Z
+C Z
+A Z
+B Y
+A Z
+A Y
+C Z
+C Z
+A Y
+A Y
+A Z
+A X
+A Z
+A Z
+B X
+A Z
+A Z
+B X
+C Z
+A Z
+A Y
+B X
+A Z
+A Z
+C Z
+A Z
+A Z
+B X
+B Z
+A Z
+A X
+B Y
+A Z
+B X
+A Z
+C Z
+B X
+C Y
+A Z
+B X
+A Z
+A Z
+A Z
+B Z
+A Z
+C Z
+A Z
+C Z
+B X
+A Z
+B Z
+A Z
+C Z
+C Z
+B Y
+C Z
+A Z
+A Z
+C Y
+A Z
+A Z
+B X
+B Y
+C Z
+A Z
+C Z
+A Z
+C Z
+A Z
+B X
+A X
+B Y
+A Z
+C Z
+A Z
+C Z
+C Y
+B X
+C Z
+C Z
+B Y
+B X
+C Z
+B X
+C Y
+A Z
+C Y
+C Y
+A Z
+B X
+A Z
+C X
+C Z
+B Y
+C Z
+B Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+C Z
+A Z
+B Y
+C Y
+C X
+C Y
+B Y
+B X
+A Z
+C Z
+B X
+B Y
+A Z
+B Y
+A Z
+A Y
+B X
+A Z
+B X
+A Z
+C Z
+A Z
+A Z
+A Z
+C X
+B Y
+C Z
+C Z
+A X
+C Z
+A Z
+C Z
+B Y
+A Z
+B Y
+A Z
+A Z
+A Z
+B Z
+C Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Y
+A Z
+C Z
+A Z
+C X
+A Z
+A Z
+A Z
+C Z
+A Y
+A Z
+A Z
+B Z
+A Z
+A Z
+A Z
+C Z
+C Z
+A Y
+A Z
+A X
+C Y
+C Y
+B Z
+A Y
+C Z
+A Z
+C Z
+C Z
+A Z
+A X
+A Z
+B Y
+C Z
+B Y
+A Z
+B X
+A Z
+A Y
+A Z
+A Z
+A Z
+C Z
+A Z
+A Z
+A Z
+C Z
+A Z
+C Z
+C Z
+C Y
+A Z
+B X
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+C X
+C Z
+C X
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+C Z
+B Y
+B X
+A Z
+C Z
+B Z
+A Z
+C Y
+A Z
+C Z
+A Z
+C Z
+A Z
+A Z
+A Z
+C Z
+A Z
+C Y
+A Z
+A Z
+A Z
+A Z
+A Z
+C Z
+C Y
+A Z
+C X
+A Z
+C X
+C Z
+C Z
+A Z
+A Z
+B Y
+B X
+A Z
+B X
+A Z
+A Z
+A Z
+C Z
+B Z
+A Z
+A Y
+B Y
+A Z
+C Z
+B X
+C X
+C Y
+C Y
+C Z
+C X
+B X
+A Z
+B X
+A Z
+C Z
+A Z
+A Y
+A Z
+B X
+A Y
+A Z
+A Y
+C Y
+A Y
+A Z
+A Z
+B X
+C X
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Y
+B X
+A Z
+A Z
+B Y
+B X
+A Z
+A Z
+B X
+A Z
+C Y
+C Y
+B Y
+A Z
+A Z
+A Y
+A Z
+A Z
+A Y
+C Z
+C Y
+C Z
+C X
+C Z
+C Y
+A Z
+A Z
+C Z
+B X
+A Z
+C Z
+A Z
+C Z
+C X
+B Y
+C X
+B X
+C Z
+B X
+C Z
+A Z
+A Y
+B Y
+A Z
+A Z
+C X
+C Y
+A Z
+B X
+A Z
+A Z
+C Y
+C Z
+B X
+B X
+A Z
+C X
+A Z
+B X
+C Y
+A Z
+A Y
+B X
+C Y
+B X
+A X
+A Z
+A Z
+A Z
+C Z
+B Y
+C Z
+B Y
+A Z
+A Z
+C Z
+B X
+A Z
+A Z
+A Z
+A Z
+C Y
+B X
+A Z
+C X
+A Z
+C Z
+B Z
+A Z
+A Z
+A Z
+B Z
+A Y
+A Z
+A Z
+C Z
+B Z
+A X
+B X
+A Z
+A Z
+A Z
+A Z
+A Z
+A X
+C Z
+A Z
+C Z
+B X
+B X
+C Y
+B X
+A Z
+A Z
+C Y
+C Z
+B X
+C Y
+A Y
+B X
+B X
+C X
+A Z
+A Z
+C Z
+A Z
+C Z
+C Z
+B X
+A Z
+B X
+A Z
+A Z
+B Y
+B Y
+A Z
+A Z
+C Z
+A Z
+A Z
+B X
+A Z
+C Z
+C Z
+B X
+C Y
+A Z
+A X
+B X
+B X
+B Y
+B Y
+A Z
+C Z
+A Z
+C Z
+A Z
+C Y
+B X
+A Z
+A Z
+C Z
+B X
+A Z
+C Y
+A Z
+A Z
+A Z
+B X
+A Z
+A Y
+C Y
+C Z
+A Z
+A Z
+B X
+C Y
+A Z
+C X
+A Z
+B X
+A Z
+A Z
+B Y
+B X
+C Z
+A Z
+B X
+A Y
+A Z
+B Z
+A Z
+C Y
+B Y
+C Z
+C X
+B X
+A X
+B X
+B Z
+B X
+B Y
+B X
+C Y
+B X
+A Y
+B Z
+B X
+C X
+B X
+A Z
+A Z
+B X
+B X
+A Z
+A Z
+C Y
+B Y
+A Z
+A Z
+A Z
+C Z
+A Z
+B X
+A Z
+B X
+A Z
+A Z
+A Z
+A Z
+C Y
+C X
+A Z
+A Z
+A Z
+A Z
+B Y
+A Z
+A Z
+C Z
+C Z
+B X
+A Z
+A Z
+B X
+A Z
+B X
+C Y
+B X
+C Z
+A Z
+C Z
+C Z
+A Z
+A Z
+A Z
+A Z
+A Z
+C X
+C Z
+B X
+B X
+B X
+A Z
+A Z
+C Z
+B X
+A Z
+C X
+A Z
+C Z
+A Z
+A Z
+C Z
+A Z
+A X
+B X
+A Z
+A Z
+A X
+A Z
+B Y
+A Z
+A Z
+A Z
+C Y
+C Y
+A Z
+C Y
+C X
+A Z
+B Y
+A Z
+A Z
+B Y
+A Z
+A Z
+A Z
+C Y
+B X
+A Z
+A Z
+A Z
+A X
+A Z
+A Y
+A Y
+A Z
+C Z
+B Y
+C Y
+B X
+B X
+B X
+A Z
+A Z
+A Z
+C Y
+A Z
+B X
+A Z
+A Z
+C Z
+B X
+A Z
+A Z
+C Z
+A Z
+C Y
+A Z
+B X
+C Z
+C Y
+A Z
+C X
+A Y
+B Z
+C Z
+C Y
+A Z
+A Z
+A Z
+A Y
+A Y
+C Y
+B X
+C Z
+B X
+C Y
+B X
+B X
+A Z
+A Z
+C Z
+A Z
+B X
+A Z
+B X
+C Y
+C Z
+A X
+B X
+B X
+C Z
+C Z
+C Z
+C Z
+C Z
+A X
+A Z
+B X
+A Z
+B X
+A Z
+A Z
+A Z
+B X
+B Y
+C Z
+C Y
+A Z
+C Z
+B X
+C Z
+A Z
+C Z
+A Z
+A Z
+A Z
+B X
+B Z
+A X
+B Y
+C Z
+A Z
+A X
+A Y
+A Z
+C Y
+A Z
+C Z
+A Z
+A Z
+A X
+A Z
+A Y
+B Z
+A Z
+A Z
+B X
+B Y
+A Z
+C Z
+A Z
+A Z
+C Z
+A Z
+A Z
+C Y
+B X
+B X
+A Z
+C Y
+B Z
+A Z
+B X
+B X
+B X
+B Y
+C Z
+B Z
+A X
+B X
+A Y
+A Z
+B X
+B X
+A Z
+B X
+A Z
+C Z
+A Z
+C Z
+C Y
+B X
+B X
+C X
+A Z
+A X
+A Z
+C Y
+C Z
+C Y
+C Z
+C Y
+C Y
+B X
+B Y
+A Z
+C X
+C Z
+B X
+C Z
+C Z
+B X
+A Z
+A Z
+A Y
+A Z
+A Z
+C Y
+A Z
+B X
+A Z
+A Z
+C Y
+A Z
+A Z
+B X
+A Z
+A Z
+B Z
+A Z
+A Z
+A Z
+A Z
+A Z
+C Z
+A Y
+A Z
+C Z
+C Z
+C Z
+A Z
+B X
+B Y
+A Z
+C X
+A Y
+A Y
+C Y
+C Y
+A Z
+C Y
+B X
+C X
+B X
+C Y
+A Z
+A Y
+B X
+B X
+A Z
+A Z
+A Z
+A X
+A Z
+B X
+B Y
+A Y
+C Z
+B Y
+A X
+A Z
+A X
+A Z
+A X
+A Y
+C Y
+C Z
+A Z
+A Z
+A Z
+C Y
+A Z
+A X
+A Z
+A X
+A Z
+A Z
+B X
+C X
+C Y
+C Z
+B X
+A X
+C Z
+C Z
+C X
+A Z
+C Z
+C Y
+A Z
+C Z
+C Z
+B X
+A Z
+B Y
+B X
+B X
+C Z
+A Z
+A Z
+B X
+B X
+A Z
+C Z
+B X
+A Y
+B Z
+C X
+A Z
+C Y
+A Z
+A Z
+B X
+C Z
+C Y
+A Z
+B X
+B Y
+A Z
+B X
+B Z
+C X
+A Z
+C Y
+C Z
+B X
+C X
+C Y
+A X
+C X
+C Y
+B Y
+A Z
+C Y
+C Z
+A Z
+A Z
+A Y
+A Z
+C Y
+C X
+B X
+C Y
+A Z
+B Y
+A Z
+B X
+A Z
+C X
+A Z
+C Z
+B Y
+B Y
+B Y
+C Y
+A Z
+A Y
+C Z
+C Y
+B Y
+A Z
+B Y
+B X
+A Z
+B Z
+A Z
+A Z
+A Z
+C Y
+A Z
+B X
+A Z
+C Z
+B X
+B X
+C Z
+A Z
+C Z
+B Y
+C Y
+C Z
+A Z
+A Z
+A Z
+A Z
+A Z
+C Z
+A Z
+C Y
+A Z
+B Y
+A Z
+C X
+A Z
+A Z
+C Y
+A Z
+B X
+A Z
+A Z
+B Y
+A Y
+C X
+A Y
+A Z
+A Z
+A Z
+B X
+A Z
+B X
+C Z
+A Z
+B X
+C Y
+C Z
+A Z
+A Z
+C Z
+A Z
+A Z
+A X
+B X
+B X
+A Z
+B X
+C Y
+A Y
+A Z
+A Z
+C X
+A Z
+A Z
+B X
+A Z
+A Z
+A Z
+A Y
+B X
+A Z
+B X
+B X
+B X
+B X
+A Y
+B X
+A Z
+A Z
+B X
+C Y
+B X
+C Z
+B X
+A Z
+C X
+A Z
+B Y
+C Z
+B X
+A Z
+A Z
+C Y
+C Y
+A Z
+A Z
+C Z
+A Y
+A Z
+C X
+C Z
+A Z
+A Z
+B X
+A Z
+B X
+A Y
+B Z
+B X
+A Z
+A X
+B X
+A Z
+A Z
+A Y
+C Z
+A Z
+A Z
+C Z
+C Z
+A X
+A Z
+C Y
+A Z
+B X
+A Z
+A Z
+A Y
+C Y
+B X
+C Z
+A Z
+C Y
+B Y
+A Z
+B Y
+C Z
+A Z
+A X
+B X
+B X
+A Z
+A X
+A Z
+A Z
+A Z
+A Z
+B Z
+A Y
+A Z
+A X
+C Y
+A Z
+B X
+B Y
+B X
+C Z
+A Z
+A Z
+B X
+A Z
+C Z
+A Z
+B X
+C Y
+C Z
+A Z
+B Z
+C Z
+B X
+C Y
+A Z
+C Z
+B X
+B X
+A Y
+A Z
+B Z
+B X
+C Z
+A Z
+C Y
+B Y
+A Z
+B Y
+A Z
+C Z
+B X
+B X
+B X
+C Z
+A X
+B Y
+B Y
+A Z
+A Z
+A Z
+A Z
+A Z
+B X
+A Z
+A Z
+B X
+C Z
+A Z
+C Y
+C Z
+A Z
+A X
+A Z
+A Z
+A Z
+B X
+B Y
+B X
+A Z
+A Z
+C Z
+A Z
+C Z
+A Z
+A Z
+B X
+A Z
+A Z
+C Y
+A Z
+B X
+A Z
+A Z
+B X
+A Z
+C Z
+A Z
+B X
+A Z
+A Z
+A Z
+C Z
+B Y
+A Z
+B X
+C X
+A Z
+B X
+A Z
+C Y
+A Z
+A Y
+A Z
+B Z
+B X
+C Z
+A Z
+C Z
+C Y
+B Y
+B X
+B Y
+C Y
+C Y
+A Z
+C Y
+A X
+A Z
+B Y
+A Z
+B X
+A Y
+C Y
+B X
+C Y
+B X
+A Z
+A X
+B Y
+B X
+C Z
+A Z
+A Z
+A Z
+A Z
+A Z
+C Z
+C Z
+A Z
+A Y
+B X
+B X
+C Z
+A Z
+A Z
+C X
+B Z
+C Z
+B X
+A Z
+A Y
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+B Z
+B X
+A Z
+B X
+C Y
+C Z
+A Z
+B X
+B X
+A Z
+C X
+A Z
+B Y
+A Z
+C Y
+B X
+A Y
+B Y
+C Y
+B X
+B X
+B Y
+C Y
+B X
+A Z
+C X
+A Z
+B X
+A Z
+A Y
+A Z
+A X
+C X
+C Y
+A Z
+A Z
+C Y
+A Z
+A Z
+A X
+C Z
+C Y
+A Z
+A Z
+B X
+B X
+C Z
+B X
+A Z
+C Y
+B X
+B X
+C Z
+A X
+A Z
+B Z
+C Z
+C Y
+A Z
+C Z
+C Z
+B Y
+C Y
+B Y
+C Z
+A Z
+C Z
+B X
+A Z
+B Y
+B Y
+C Y
+C Y
+A Z
+C Z
+C Z
+A Z
+A Z
+C X
+A Z
+A Z
+C X
+A Z
+A Z
+A Y
+A X
+C X
+A Z
+A Z
+A Z
+C Z
+A Z
+A Z
+A X
+A X
+B Y
+A X
+A Z
+A X
+B X
+B X
+A Z
+C Y
+A Z
+C Y
+C Y
+B X
+B X
+A Z
+B Z
+B X
+C X
+B X
+A Z
+A Z
+A Z
+B X
+C Y
+C Z
+A Z
+B Y
+C Y
+C X
+A Z
+A Z
+A Z
+A Z
+A X
+C Z
+A Z
+B X
+A Z
+A Z
+C Z
+C X
+C Z
+A Z
+C Y
+B Y
+A Z
+C Z
+B X
+B Z
+A Z
+A Z
+A Y
+C Y
+C Z
+C Z
+A Z
+A Z
+C Z
+B X
+A Z
+A Z
+A Z
+B X
+A Z
+B X
+B X
+A Z
+C Y
+A Z
+A Z
+A Z
+C Z
+A Z
+C Y
+B X
+A Z
+C Z
+A Z
+C Z
+A X
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+C Z
+A Z
+A Z
+A Z
+B X
+C Y
+B Z
+A Z
+C X
+A Z
+C Z
+C Z
+C Y
+C Y
+B X
+A Z
+C Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Y
+A Z
+A Z
+A Z
+C Y
+B Y
+C Z
+C Z
+A Z
+A Z
+A Z
+A Y
+C Z
+A Z
+A Y
+A Z
+A Z
+A Z
+B X
+B X
+C Y
+B X
+A Z
+A Z
+A X
+C Z
+C Y
+A Z
+C Y
+A Z
+A Z
+A Z
+C X
+B X
+A Z
+C X
+C Y
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+C Z
+B X
+C X
+C Z
+B Y
+B Z
+B Z
+C Y
+A Z
+B X
+B X
+A Z
+A Z
+A Z
+B Z
+B Z
+A Z
+C Z
+A Y
+C X
+C Y
+A X
+C Y
+A Z
+C X
+A Z
+B X
+C Z
+B X
+B Z
+A Z
+A X
+A Z
+B X
+C Y
+B Y
+A Z
+C Z
+A Y
+A Z
+C Y
+A Z
+C Y
+B X
+A Z
+A Z
+A Z
+A Z
+B Y
+A X
+A Z
+C Z
+A Z
+C Z
+B X
+C Z
+A Z
+B Y
+A Z
+C Y
+C Y
+C Z
+A Z
+A Z
+A Y
+B X
+A Z
+A Z
+C X
+B X
+C X
+A Y
+A Z
+A X
+B X
+A Z
+B Y
+C Z
+C Z
+C Y
+A Z
+A Y
+A Z
+A Z
+B Z
+C Y
+A Z
+A Z
+B Y
diff --git a/2022/02/sol.py b/2022/02/sol.py
@@ -0,0 +1,5 @@
+#!/usr/bin/env python3
+import sys
+
+for line in sys.stdin:
+
diff --git a/2022/02/sol.scm b/2022/02/sol.scm
@@ -0,0 +1,53 @@
+(import (chicken io)
+ (chicken string))
+
+; A, X - Rock
+; B, Y - Paper
+; C, Z - Scissors
+(define (decode-1 str)
+ (cond ((or (equal? str "A") (equal? str "X")) 'R)
+ ((or (equal? str "B") (equal? str "Y")) 'P)
+ ((or (equal? str "C") (equal? str "Z")) 'S)
+ (else (error "Bad decode"))))
+
+; A, B, C - Rock, Paper, Scissors
+; X, Y, Z - Lose, Draw, Win
+(define (decode-2 round)
+ (let ((a (car round))
+ (b (cadr round)))
+ (cond ((and (equal? a "A") (equal? b "X")) '(R S))
+ ((and (equal? a "A") (equal? b "Y")) '(R R))
+ ((and (equal? a "A") (equal? b "Z")) '(R P))
+ ((and (equal? a "B") (equal? b "X")) '(P R))
+ ((and (equal? a "B") (equal? b "Y")) '(P P))
+ ((and (equal? a "B") (equal? b "Z")) '(P S))
+ ((and (equal? a "C") (equal? b "X")) '(S P))
+ ((and (equal? a "C") (equal? b "Y")) '(S S))
+ ((and (equal? a "C") (equal? b "Z")) '(S R))
+ (else (error "Bad decode")))))
+
+(define (score-sym s)
+ (cond ((eq? s 'R) 1)
+ ((eq? s 'P) 2)
+ ((eq? s 'S) 3)
+ (else (error "Bad sym"))))
+
+(define (beats? a b)
+ (or (and (eq? a 'R) (eq? b 'S))
+ (and (eq? a 'S) (eq? b 'P))
+ (and (eq? a 'P) (eq? b 'R))))
+
+(define (score-round round)
+ (let* ((opp (car round))
+ (you (cadr round)))
+ (+ (score-sym you)
+ (cond ((beats? opp you) 0)
+ ((beats? you opp) 6)
+ (else 3)))))
+
+(define (main args)
+ (let* ((lines (read-lines))
+ (rounds-1 (map (lambda (l) (map decode-1 (string-split l))) lines))
+ (rounds-2 (map decode-2 (map string-split lines))))
+ (print (apply + (map score-round rounds-1)))
+ (print (apply + (map score-round rounds-2)))))