commit 91684524ede6ed7994b6a88a457f453630541d82
parent 848459091b4360903c91fb0c3909eed6dfa00835
Author: Lukas Henkel <lh@entf.net>
Date: Fri, 2 Dec 2022 07:19:34 +0100
Day 2 task 1
Diffstat:
4 files changed, 2542 insertions(+), 2 deletions(-)
diff --git a/adventofcode2022.asd b/adventofcode2022.asd
@@ -5,8 +5,10 @@
:licence "AGPLv3"
:serial t
:pathname "src"
+ :depends-on ("trivia")
:components ((:file "main")
- (:file "day01")))
+ (:file "day01")
+ (:file "day02")))
(defsystem "adventofcode2022/test"
:description "My solutions to the advent of code 2022"
@@ -17,4 +19,5 @@
:pathname "t"
:depends-on ("adventofcode2022" "fiveam")
:components ((:file "package")
- (:file "day01")))
+ (:file "day01")
+ (:file "day02")))
diff --git a/input/day02.txt b/input/day02.txt
@@ -0,0 +1,2500 @@
+A Z
+C X
+A Z
+A Z
+C Y
+C Y
+A Z
+A Y
+C Y
+A Y
+A Z
+A Z
+A Z
+A Y
+A Z
+A Y
+C Y
+C X
+A Y
+C Y
+C Y
+C X
+A Z
+C Y
+C X
+A X
+A Y
+A Z
+A Y
+A Y
+C X
+C X
+B Y
+C X
+C X
+A Y
+A Z
+A Z
+A X
+A Z
+A Z
+C Y
+A Z
+A Z
+A Y
+C X
+C Y
+C X
+B X
+C Z
+A Y
+A Z
+A Z
+A Z
+A Y
+A Y
+C X
+A Y
+A Z
+C Y
+A Y
+A Y
+A Z
+A Z
+C Y
+A Z
+C Y
+A Y
+A Z
+A Z
+C Y
+B Z
+A Z
+A Z
+A Z
+A Z
+C X
+C X
+A Y
+A X
+A Y
+A Z
+A Z
+C X
+A Z
+C X
+A Z
+C Y
+C X
+A Z
+A Z
+A Z
+A Z
+C X
+C Y
+A Z
+A Z
+C Y
+A Z
+B Z
+C X
+A Z
+A X
+C X
+A Z
+C Z
+A Z
+C X
+A Z
+A Y
+C X
+C Z
+A Z
+C X
+C Y
+A Z
+B Z
+B Y
+A X
+A X
+A X
+A Z
+A Z
+A X
+A Z
+A X
+A Z
+A Z
+C X
+C X
+B Z
+A Z
+A Y
+A Z
+A Z
+A Z
+A Z
+C X
+C X
+C X
+A Z
+A Z
+A Z
+A Z
+A X
+A Y
+A Y
+C X
+C X
+B Z
+C X
+A X
+A Z
+A Z
+C X
+C Z
+A Z
+A Z
+C Y
+A X
+A Z
+C Y
+A X
+A Y
+A Y
+A Y
+C Y
+A Z
+A Z
+C X
+C X
+C X
+C X
+B Z
+C Y
+C X
+C X
+A Y
+A Y
+A Z
+A Z
+A X
+C X
+A Z
+B Z
+A Z
+C X
+A Y
+A Z
+A Z
+A Y
+A Y
+A Z
+C X
+A Y
+C X
+C X
+A Z
+A Y
+C X
+A Z
+A Z
+A Y
+A Z
+A Z
+C Y
+C Z
+A Y
+A Z
+C X
+C X
+A Z
+A Z
+C Y
+A Y
+A Z
+A Y
+A Z
+C X
+A Z
+A Z
+C X
+A Y
+A Y
+C Y
+A Z
+C Y
+A Z
+A Z
+C Y
+A Y
+B Z
+C Y
+C X
+C X
+A Z
+C Y
+A X
+C Y
+A Z
+A Y
+A Z
+C X
+C X
+C Y
+C Y
+A Y
+A Z
+C X
+C X
+A Y
+A X
+A Y
+B Z
+A Y
+C Y
+C X
+C X
+A X
+C X
+B Z
+A X
+C Y
+C X
+C X
+A X
+A Z
+B Z
+A Z
+A Z
+A Y
+A X
+A Z
+C X
+A X
+C Y
+A Z
+A Z
+A X
+A Z
+A Z
+C X
+C X
+A Z
+A Z
+A Z
+A X
+A Z
+A X
+B Y
+A Z
+A Y
+C Y
+A Z
+C X
+A Z
+C X
+A Y
+A Z
+C X
+C Y
+A Y
+C Y
+A Z
+C X
+A Z
+A Z
+C X
+A Y
+A Z
+A X
+A Z
+A Z
+A Z
+B Y
+C X
+A X
+A Z
+A Z
+C Y
+C Y
+C X
+C X
+C X
+A X
+A X
+A Z
+A X
+A Y
+A Z
+A Y
+A Z
+C Y
+C Z
+A Y
+A Z
+A Z
+A X
+A Z
+A Z
+C X
+C Y
+A Y
+C X
+C X
+A Z
+C X
+C X
+C X
+A X
+A Z
+A Z
+A Z
+A Z
+B Y
+A Y
+A Y
+A Z
+C X
+A Y
+A Z
+C X
+A Z
+C Z
+A Y
+C X
+A Z
+B Z
+A Y
+A X
+A Z
+C X
+A Z
+A Z
+A Z
+A Z
+A Z
+B Z
+A Z
+C X
+A Y
+C X
+A Z
+A Z
+A Y
+A Z
+B Z
+C X
+A Y
+C Y
+A Z
+A Z
+C X
+C X
+A Y
+C X
+C Y
+B Z
+A Y
+C X
+A Y
+C X
+A X
+A Y
+A Z
+A Z
+A Y
+C X
+A X
+C X
+B Y
+A Z
+A Y
+B Y
+A Y
+C X
+A Z
+A Z
+C X
+C Y
+A Y
+C X
+C Y
+A Y
+A Z
+A X
+B Z
+C X
+A Z
+A Y
+A Z
+B Z
+A Z
+A X
+C Y
+A X
+A Z
+A Y
+C Y
+A Z
+C Y
+A Z
+C X
+C X
+A Y
+C X
+C X
+A Y
+A Z
+A Z
+A Y
+A X
+C Y
+A Z
+A Z
+C X
+A X
+A Z
+C Z
+A Z
+C Y
+A Z
+C X
+A Z
+A Z
+A X
+C X
+C X
+C Y
+B Z
+B Y
+C Y
+A Y
+A X
+A Z
+C X
+A Y
+A Y
+A Z
+A Z
+C Z
+C X
+C X
+C X
+A Z
+C X
+A Z
+A Z
+A Y
+C Y
+C X
+C X
+C X
+A Y
+C X
+B Z
+C X
+A Z
+C Y
+A Y
+C Y
+A Z
+A Z
+C X
+A X
+A Z
+A Y
+A Z
+B X
+C Z
+A Z
+C Z
+A X
+C X
+C X
+C X
+C X
+A Z
+A Y
+A Z
+A Z
+A Z
+A Z
+A Z
+C Z
+C Y
+C Y
+C X
+C Y
+A Z
+C X
+C X
+A Z
+A Z
+C X
+C Y
+C Y
+A Z
+A X
+C Y
+C Y
+C X
+A Y
+C X
+A Z
+A Z
+A Y
+C Y
+A Y
+C X
+C X
+A Z
+A Z
+C Y
+A Z
+C X
+A Y
+A Y
+A Z
+C Y
+A Z
+C X
+A Y
+A Z
+A Z
+A Z
+A Z
+C Y
+A Y
+C Y
+A Z
+A Z
+A X
+A Y
+A Y
+A Z
+C Y
+A Z
+A X
+A Z
+B Z
+C X
+C X
+C Y
+A Z
+A Z
+C X
+C Z
+A Z
+C X
+C Y
+A Z
+B Z
+A Z
+B Z
+A X
+A Y
+A Z
+A Z
+A Z
+A Z
+C Y
+A Z
+A Z
+A Z
+B Z
+A Z
+C X
+C X
+A Z
+C X
+A X
+A Z
+A Y
+A Y
+A X
+A Z
+A Z
+A Z
+A Z
+B Z
+A Z
+C Y
+C Y
+C X
+C X
+B Z
+C Y
+A Z
+C Y
+A Z
+A Y
+C Y
+A X
+A Y
+C X
+A Y
+C X
+A Z
+A Z
+B Z
+A Y
+C Y
+C X
+A Z
+A Z
+C X
+A Y
+A Z
+A Z
+A X
+A Y
+A Y
+A Y
+A Z
+A Y
+A Z
+C X
+A X
+A Z
+A Z
+C Y
+A Z
+C X
+A Z
+C Y
+A Y
+A Z
+A Z
+A Z
+A Z
+C Y
+A X
+A Z
+A Z
+A Y
+A Z
+B Z
+A X
+A Y
+C X
+C X
+A Y
+A Z
+C Y
+A Z
+A Y
+A Y
+A Z
+A Y
+A Y
+A Z
+A Z
+A Z
+C X
+A Z
+A Y
+A Z
+A Z
+C Y
+A Z
+C X
+A Y
+C X
+C Y
+A Z
+C Y
+A Z
+A Y
+C Y
+C Y
+A Z
+C X
+C X
+C X
+A Z
+A Z
+A Y
+C X
+A Z
+A X
+A Z
+A Z
+C X
+A Z
+C Y
+A Y
+A Z
+A Y
+A Z
+A Z
+C Y
+A Z
+C X
+A Z
+A X
+A Z
+A Z
+C X
+A Z
+A Z
+C Y
+C X
+A Z
+C Y
+C X
+C X
+A Z
+A Z
+A Z
+A X
+C X
+A Z
+A Z
+C Y
+A Y
+C X
+A Y
+C X
+C Y
+A Y
+A Z
+C X
+A Z
+B Y
+A X
+B Z
+A Y
+A X
+C Y
+A Z
+A X
+A Z
+A Z
+C Y
+A Z
+B Z
+C X
+C X
+B Y
+A Z
+A Z
+A Z
+C Y
+C X
+A Z
+A Y
+A Y
+A Y
+C Y
+C X
+A Z
+A X
+A X
+A X
+A Z
+A Z
+A Z
+A Z
+C X
+C X
+A Z
+C X
+A Y
+C X
+B Z
+A Z
+A Z
+C X
+A Z
+C X
+C X
+C X
+A Y
+C Y
+C X
+A Y
+C X
+C Y
+B Z
+A Z
+C X
+A Z
+A X
+B Z
+A Y
+B Y
+A Z
+A Z
+A X
+A Z
+A X
+A Z
+A Z
+C X
+C Y
+A X
+C Y
+C X
+A Z
+A Z
+A Z
+C Y
+A X
+A Y
+A Z
+A Y
+C X
+B Z
+A Z
+A Y
+C Z
+C X
+A Z
+A Z
+A Z
+B Z
+A X
+C X
+A Z
+A Z
+B Z
+A Z
+A Z
+B Z
+A Z
+C X
+A Z
+C X
+A Z
+C X
+A Z
+C Y
+A Z
+A X
+A Y
+A Y
+C X
+A Y
+C X
+B Z
+A Z
+A Z
+A Z
+A Z
+C X
+A Z
+C X
+A Z
+A Y
+A Z
+B Z
+A Y
+C Z
+A Y
+C X
+A Z
+A Z
+A Y
+B Z
+A X
+C Y
+A Z
+A Y
+A Z
+A Y
+A Y
+A Z
+A Z
+A Z
+A X
+A Z
+C Y
+A Y
+A X
+A Y
+C X
+A Y
+C X
+A X
+C X
+A Z
+C Y
+A Y
+A Z
+A Z
+A X
+A Y
+C X
+C X
+A Y
+A X
+A Z
+B Z
+A Y
+A Z
+A X
+A Z
+B Y
+A Y
+A Y
+A Z
+C X
+A Z
+A Z
+A Y
+A Z
+C Z
+A Z
+A Z
+A Z
+A Z
+C Y
+C Y
+A Y
+B Z
+C Y
+A Y
+C Y
+A Z
+A Z
+A Z
+A Z
+C Y
+A Z
+A Z
+C Y
+C X
+A Y
+A Y
+A Z
+C X
+C Z
+C X
+C X
+A Z
+A Z
+A Y
+A Z
+A X
+C Y
+A Z
+A Z
+C Y
+C X
+A X
+A Z
+A Z
+A X
+C X
+C X
+C X
+A Z
+A X
+C X
+C Y
+A X
+A Z
+C X
+A Z
+A Z
+C X
+A Y
+A Z
+A Z
+A Y
+A Z
+C X
+A Z
+A Z
+C X
+A Y
+A Z
+A Z
+C X
+A Z
+A Y
+A Z
+C Y
+A X
+A Z
+A Z
+C X
+A Z
+A Y
+C Y
+B Z
+A Z
+A Y
+C X
+A Z
+B Z
+A Z
+C Z
+A X
+A Z
+A Z
+C Y
+A Z
+A Y
+C X
+C Y
+A Z
+A Z
+A Y
+A X
+C Y
+A Y
+C X
+C Y
+A Z
+C Y
+A Z
+C X
+A Z
+A Z
+A X
+A Z
+A Z
+B X
+A X
+A Z
+C Y
+A Z
+A X
+C X
+A Z
+A Z
+C X
+C Y
+C Y
+A X
+A Y
+C Y
+A Y
+A Z
+A Z
+A Z
+A Z
+A Y
+C X
+C X
+C Y
+C X
+A Z
+A X
+B Z
+B Y
+C X
+C Y
+A Y
+A Z
+A Y
+C X
+C Z
+A Z
+A Y
+C Y
+C X
+A Z
+A Z
+A Y
+C X
+C Z
+C Y
+A Z
+C X
+C Y
+A X
+A X
+A Y
+A Z
+B Z
+A X
+A Y
+A Y
+C X
+C Y
+A Z
+A X
+A Z
+A X
+A Y
+A Z
+A Z
+A Z
+C X
+A Z
+A Z
+A Z
+C Z
+C Y
+C Y
+A Z
+C Y
+C Y
+C Y
+C X
+A Z
+C X
+C X
+A Z
+A Y
+A Z
+A Z
+A X
+A Y
+A Y
+C X
+C X
+A Z
+A Z
+A Z
+A Z
+A Y
+A Z
+A Z
+A Z
+A Z
+A X
+A X
+A Y
+A X
+C Y
+A Y
+A Z
+C X
+A Y
+A Y
+A Z
+A Z
+A Z
+C X
+A Z
+C X
+C X
+C Y
+A Y
+A Z
+A Y
+A Z
+C X
+C X
+A Z
+A Z
+A Z
+C X
+A X
+A Z
+A Z
+C Y
+C Y
+A Y
+A Y
+A Z
+A Z
+C Y
+C X
+C Y
+A X
+C Y
+C X
+C Y
+A Z
+A Z
+A X
+C Y
+C Y
+A Z
+A Y
+C X
+A X
+B Z
+A Z
+C X
+A Y
+A X
+A Z
+A Z
+A Z
+C Y
+C X
+A Z
+C X
+A Z
+A Z
+A Y
+A Z
+A Y
+A X
+A Z
+C Z
+A Z
+A Z
+A Z
+A X
+A Z
+A X
+C X
+A Z
+A Z
+C Y
+A X
+A Z
+C X
+C X
+A Y
+A Z
+A Z
+C X
+B X
+A Z
+C Y
+A Z
+C X
+A Y
+A Z
+C X
+A X
+A Z
+A X
+A Z
+C X
+A Z
+A X
+A Z
+C X
+C Y
+A Y
+A X
+A X
+A Z
+C Y
+C Y
+A Y
+A Y
+A Y
+A X
+A Z
+A Z
+A Z
+C Y
+C Y
+A Y
+B X
+B X
+A Z
+C X
+C X
+A Z
+C Y
+C X
+A Z
+A Z
+A Z
+A Z
+C X
+A Z
+A Z
+C Y
+A Y
+C Y
+A Z
+C Y
+C Y
+A Z
+C X
+A Z
+A X
+A Z
+C X
+C X
+A Y
+B Z
+A Y
+C Y
+A Z
+C Y
+A X
+C X
+A Y
+C X
+A Z
+C Z
+C Y
+A Z
+C X
+C Y
+A Z
+A X
+A Z
+A Z
+A Z
+C X
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Y
+A Z
+A X
+A Y
+C Y
+B Y
+C X
+B Z
+A Z
+A Z
+A Y
+B Z
+A Z
+A Z
+C X
+C Y
+C X
+A Y
+A X
+C X
+C Y
+A Y
+C X
+C Y
+A Z
+A Z
+A Z
+A Y
+C X
+A Y
+C X
+B Z
+A Z
+A Y
+A Z
+A Z
+A Y
+C X
+A Z
+C X
+C Y
+A Y
+A Z
+B Z
+C X
+A Y
+C X
+A Y
+A Z
+C X
+A X
+C X
+B Y
+C X
+A Z
+A Y
+A Z
+A Y
+A X
+C X
+C X
+A Y
+C X
+A Y
+A Y
+A X
+B Y
+A Y
+C X
+C X
+A Y
+B Z
+B X
+B Z
+A Y
+A Z
+C Y
+A Y
+B Y
+A Z
+C X
+A Z
+A Z
+A Z
+A Z
+B Z
+C X
+C Y
+A Z
+C Y
+C Y
+A X
+C X
+A Z
+A Z
+A Z
+C X
+C X
+C X
+A Y
+C Z
+C Z
+A Z
+C X
+A Y
+A Z
+A Z
+A Z
+C X
+A Z
+A X
+A Z
+A Z
+A Z
+A Z
+A Y
+C Y
+C X
+A X
+A Y
+C X
+A X
+A Z
+A Z
+C X
+A Z
+A X
+A Z
+A Z
+A X
+A Z
+A Z
+A X
+A Z
+A X
+B Y
+A Y
+A Y
+C Y
+A Z
+A Y
+C X
+A Z
+A Y
+A X
+C Y
+B X
+C Y
+A Z
+C X
+A Y
+A Z
+A Y
+A X
+C Y
+A Z
+A Z
+C Y
+C X
+A Z
+C X
+A Y
+C X
+A Z
+A Y
+A Z
+A Z
+A Z
+A Y
+A Z
+C X
+C X
+A X
+C X
+C X
+A Z
+C X
+A Z
+C Y
+C X
+A Z
+A Z
+A Z
+C X
+A X
+C Y
+A Z
+C Y
+A X
+A Z
+C X
+A Z
+A Z
+A X
+A Z
+C X
+B X
+A Z
+A Z
+A Z
+C X
+A Y
+A Y
+A X
+C Y
+C Y
+A Z
+A Y
+A Z
+A Z
+C X
+A X
+A Y
+A Z
+A Z
+A Z
+A Z
+B Z
+C X
+C X
+C X
+A Z
+C Z
+A X
+C X
+A Z
+C Y
+A Z
+A Z
+A Y
+A Y
+C X
+A Z
+A X
+A Z
+A Z
+A Z
+A Z
+C Y
+A Z
+A Y
+A X
+A X
+A Z
+C X
+A X
+A X
+A Z
+A Y
+C X
+A Z
+A Z
+A Y
+A Z
+B Z
+C X
+C X
+C Z
+C Y
+C X
+A Z
+C Y
+A Z
+C Z
+A Z
+A Y
+A Y
+A X
+A X
+A Z
+A Y
+A Y
+A Y
+A Y
+A Z
+C Y
+A Z
+A Z
+C X
+A Z
+A Z
+C Y
+A Y
+C X
+A Y
+C X
+A Z
+B Z
+A X
+B X
+A Y
+A X
+A Y
+B Z
+A Y
+A Z
+C Y
+C Y
+A Z
+A X
+A Z
+A Z
+C Z
+A Z
+A Y
+C X
+A Y
+C X
+A X
+A Y
+C Y
+A Y
+A Z
+A Z
+C X
+C X
+B Z
+A Z
+A Z
+A X
+C X
+C Y
+A Z
+A Z
+A X
+C X
+C Z
+A Z
+C Y
+A Y
+B Z
+C Y
+A Z
+C X
+A X
+A Z
+A Z
+A Z
+A Y
+C Y
+A Z
+C Y
+A Z
+A Z
+A Z
+A Z
+A Y
+C X
+A Y
+C Y
+B Z
+A Z
+C X
+C Y
+A Z
+C X
+A Z
+C X
+C Z
+A Z
+C X
+C X
+A Z
+A Z
+A Y
+A Y
+A Y
+C X
+A Y
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Y
+A Z
+A X
+C Y
+A Z
+A Z
+A Z
+A Y
+A Z
+A Z
+A Z
+A Z
+C X
+B Z
+A Z
+A Y
+A Y
+A X
+A Z
+A Z
+C Z
+A Z
+C X
+A Y
+A X
+B Z
+A Z
+A Z
+A Z
+C Y
+C Z
+C X
+A Z
+C Y
+C Y
+C Y
+C X
+B Z
+A Z
+A Z
+C Z
+A X
+A Z
+A Z
+A Z
+C X
+A Z
+A Z
+C Y
+C Y
+A Z
+A Z
+C X
+A Y
+C Y
+C Y
+A Z
+A Z
+A X
+A Z
+A Z
+A X
+A X
+C X
+A Z
+A X
+C X
+C X
+A Z
+A X
+A Z
+C X
+C X
+C X
+C Y
+A Z
+A Z
+A X
+A Z
+A Y
+A Z
+A Z
+C Y
+A Z
+A Z
+A Z
+A X
+A Z
+C X
+A X
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Y
+A X
+A Y
+A X
+C Y
+A Z
+A Z
+C X
+A Z
+A Z
+A Z
+A X
+A Z
+A Z
+A Y
+C X
+A Y
+A Z
+C X
+A X
+A Y
+A Z
+A Z
+A X
+A Z
+A Y
+C X
+A Y
+A Z
+A Z
+A Z
+A Z
+C X
+C Y
+A Z
+B Z
+C X
+A Z
+A Z
+C Y
+C Y
+C X
+A X
+C Y
+B Y
+A Z
+A Z
+A Z
+C Y
+A Z
+A X
+A Y
+A Z
+A Z
+A Z
+C Y
+A Z
+C Y
+C X
+A Z
+A Z
+A Z
+A Z
+A Z
+A X
+A Z
+A Z
+C X
+A Z
+A Y
+C Z
+A Z
+A Z
+A Z
+B X
+C X
+A Z
+A Z
+A Z
+A Z
+C X
+A Z
+A Z
+A Y
+A X
+C X
+C Y
+A X
+A Y
+C X
+A Z
+A Z
+C X
+C X
+A Z
+C X
+A Z
+A Y
+C X
+A Z
+B X
+B Y
+A X
+C Y
+A X
+A Y
+C Y
+A Z
+A Z
+A Z
+C X
+A Z
+A X
+A Z
+C Y
+A Z
+A Z
+C X
+A Z
+A Z
+A Y
+A Z
+A X
+A Y
+A Z
+C X
+C Y
+B X
+C Y
+A Y
+A Z
+C X
+A Z
+C X
+C Y
+A X
+A X
+A Z
+A Z
+C Y
+A Y
+A Y
+A Z
+A Z
+C X
+A X
+C X
+A X
+A Y
+C X
+A Z
+A Z
+B Y
+A Z
+A Z
+A Z
+A Z
+A Z
+A X
+A Y
+A X
+A Z
+A Z
+C X
+A Y
+A Z
+C Y
+C X
+C X
+C X
+C X
+C Y
+A X
+A X
+C Y
+A X
+A Y
+A Y
+B Z
+A Z
+B Y
+C Y
+A X
+A Y
+A Z
+A Z
+A Z
+A X
+C X
+A Z
+A Z
+A Z
+A Z
+A Z
+A Y
+A Z
+B Z
+A Z
+A Z
+A Y
+C Y
+C Y
+C X
+A Z
+A X
+C X
+A Y
+B Z
+C X
+A Z
+C X
+C Y
+C Y
+A X
+A X
+C X
+A Z
+A Z
+A Y
+A X
+A X
+A Z
+C Y
+B X
+A Z
+A Z
+A Z
+A Z
+A Y
+A Y
+A Z
+C Y
+C Y
+A X
+A Z
+A Z
+C Y
+A Y
+A Y
+A X
+A Y
+A X
+A X
+A X
+A Z
+A Z
+A Y
+A Z
+C X
+A Z
+A Y
+A Z
+A Z
+A Y
+A Z
+A Z
+C X
+A Z
+A Y
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Y
+C X
+B Z
+C Z
+A Z
+A Y
+A X
+A X
+C Y
+C Y
+A X
+C X
+B Z
+A Z
+C X
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Y
+A Z
+A Z
+A Y
+A Z
+A Y
+A Y
+A Z
+A Z
+A Y
+A Z
+C Y
+A Z
+A Z
+A Z
+C X
+C X
+A Z
+C Y
+A Z
+A Z
+C X
+A Z
+C X
+A Y
+A Z
+C Y
+A Z
+A Z
+C X
+C Y
+A Z
+C X
+C X
+A X
+A Y
+C Y
+A Y
+A Z
+C X
+A Z
+A Z
+A X
+A Z
+C Y
+A Z
+C X
+A Z
+C X
+A Z
+C X
+A Y
+C Y
+A X
+A Z
+A Z
+C Y
+A X
+A Z
+A Y
+B Z
+A Z
+A X
+A Z
+A Z
+A X
+C X
+A Z
+A Z
+C Y
+A Z
+A Y
+A Z
+C Y
+A Z
+A Y
+A Z
+C Z
+A Y
+A Z
+A Y
+C Y
+A Z
+C X
+A X
+B Z
+C X
+C X
+A Z
+A Z
+A Y
+A X
+A Z
+A Z
+B Z
+A Z
+C Z
+A X
+A Z
+A Z
+A Z
+A Z
+A X
+A X
+A Z
+A X
+A Z
+A Z
+A Z
+A X
+C X
+C Y
+A X
+C X
+C X
+A Z
+A X
+C Y
+B Z
+A Z
+A Z
+C X
+B X
+A Z
+A Z
+C X
+C X
+B Z
+C Y
+A Z
+A Z
+C X
+A X
+A Y
+C Y
+C Y
+B Z
+A Y
+C X
+A Z
+A Z
+A Y
+C X
+A Z
+A Z
+C X
+C Y
+A Z
+C X
+C Y
+C Y
+C X
+C Y
+A Z
+C Y
+A Z
+C X
+A Z
+C Y
+C Z
+A Z
+B Z
+A Z
+C X
+C X
+B Y
+B Z
+C Y
+C X
+C X
+A Y
+C X
+C X
+A Z
+A Y
+A Z
+C X
+A X
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+C X
+C X
+A Z
+C Y
+C X
+A Z
+B Z
+A Z
+A Z
+A X
+C X
+A Y
+A Z
+A Z
+A Y
+A X
+C Y
+B X
+A Z
+A X
+C Y
+C X
+C X
+C Y
+C Y
+A Z
+A Z
+C Y
+A Z
+A Y
+C Y
+A Y
+C X
+A Z
+C X
+C Y
+C Y
+A Z
+A Z
+A X
+A Y
+A Z
+A X
+A Z
+A Z
+A Z
+C Y
+A Z
+A Z
+C X
+C Y
+A Z
+A Z
+A Z
+C Y
+C X
+A Z
+C X
+A Z
+A Z
+A Z
+A X
+A Z
+A Z
+A Y
+B Z
+A Z
+A Z
+A Z
+C Y
+A Z
+B Z
+A Z
+C Z
+A Z
+A Y
+C X
+C Y
+C X
+C X
+A Z
+A Z
+A Y
+A Y
+A Z
+A Y
+B Z
+C Y
+A Y
+A Z
+C X
+A Z
+A Z
+C Y
+A Y
+A Z
+A Y
+C Y
+A Z
+A Z
+A X
+B Z
+A Z
+A X
+C X
+A Z
+C Y
+C Y
+A Z
+B Y
+A Y
+A Z
+A Z
+A Z
+A Z
+C X
+C X
+A Z
+C X
+A Y
+A Z
+A Z
+C Y
+A Z
+A Z
+C Y
+C X
+B Z
+A Y
+A Y
+C X
+C X
+A Z
+A X
+B Z
+A Z
+C Y
+A Z
+A Y
+A Z
+A Z
+A Y
+C Y
+C X
+A Z
+C X
+A Z
+C Y
+A Z
+C Y
+A Y
+A Z
+A Y
+A Z
+C X
+A Z
+A Z
+C X
+A Z
+B Y
+A Z
+A Z
+C Y
+C X
+C X
+A Z
+A Z
+C X
+B Z
+A Y
+A Z
+A Y
+A Z
+A Z
+A Y
+A X
+C X
+C X
+A X
+A Z
+A Y
+A Y
+A Z
+A Y
+A Z
+A Z
+C Y
+A X
+A Z
+A Z
+C X
+A Z
+A X
+B X
+C X
+A Z
+A Y
+B Z
+C X
+C Y
+A Z
+B Z
+C Y
+A Z
+A Z
+A X
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
+A Z
diff --git a/src/day02.lisp b/src/day02.lisp
@@ -0,0 +1,25 @@
+(defpackage #:adventofcode2022/day02
+ (:use #:cl #:adventofcode2022))
+(in-package #:adventofcode2022/day02)
+
+(defun task1 (inputs)
+ (let ((score 0))
+ (dolist (input inputs)
+ (if (= (car input) (cdr input))
+ (incf score 3)
+ (trivia:match input
+ ((cons 1 2)
+ (incf score 6))
+ ((cons 2 3)
+ (incf score 6))
+ ((cons 3 1)
+ (incf score 6))))
+ (incf score (cdr input)))
+ score))
+
+(define-day 2
+ (:translate-input (lambda (line)
+ (cons (- (char-code (aref line 0)) 64)
+ (- (char-code (aref line 2)) 87))))
+ #'task1
+ nil)
diff --git a/t/day02.lisp b/t/day02.lisp
@@ -0,0 +1,12 @@
+(in-package #:adventofcode2022/test)
+
+(defconstant +testdata-day02+ "A Y
+B X
+C Z
+")
+
+(def-test day02-task1 ()
+ (is-true
+ (= 15
+ (run-task 2 1
+ (make-string-input-stream +testdata-day02+)))))