commit 385ca5828c4654c9a646ead3b2c967ad11445abf
parent b6ac3fb4d38a66ee0043f846c99d414b50c2c4cc
Author: bsandro <email@bsandro.tech>
Date: Fri, 2 Dec 2022 05:57:30 +0000
Day 01 part 1
Diffstat:
3 files changed, 2551 insertions(+), 0 deletions(-)
diff --git a/day02/input.txt b/day02/input.txt
@@ -0,0 +1,2500 @@
+A Y
+B Y
+B Z
+B Z
+B X
+B Z
+C Y
+A Z
+C X
+C X
+B Z
+B Z
+B Z
+A X
+B Z
+B Z
+A Y
+B Z
+A Z
+B X
+B Z
+A X
+A X
+B Z
+A Y
+A Z
+B Z
+A Y
+A Z
+B Z
+A Z
+B Z
+B Z
+C Y
+B Z
+B Z
+A X
+C X
+B Z
+A X
+B Z
+C X
+A X
+B Z
+A X
+A X
+C X
+B Z
+B Z
+B Z
+C Y
+C Y
+A X
+B Z
+C X
+B Z
+A X
+A Y
+B Z
+B Z
+B Z
+B Z
+B Z
+B X
+B Z
+B Z
+B Z
+B X
+A X
+A X
+B Z
+A Y
+C Y
+C Y
+A Y
+A X
+B Z
+A Y
+A Z
+A X
+A X
+A Y
+C Y
+B Z
+B Z
+C X
+B Z
+A Y
+A X
+B Z
+B Z
+A X
+A X
+A X
+B Z
+A Y
+B Z
+A Z
+C Y
+B Z
+B Z
+B Z
+C Y
+A Y
+C Y
+B Z
+A X
+B Z
+A X
+B Z
+C Y
+B Z
+B Z
+B Z
+C X
+B Z
+A X
+B Z
+B Z
+B Z
+A X
+A X
+B X
+C Y
+B Z
+B Z
+B Z
+A X
+B Z
+A X
+B Z
+A X
+A Z
+A X
+B Z
+A X
+C Y
+A X
+B Z
+A X
+C Y
+B Z
+B Z
+A X
+A X
+B Z
+C Y
+B Y
+B Z
+B Z
+B Z
+B X
+B Z
+B Z
+B Z
+A X
+B Z
+C Y
+C Y
+A Z
+A X
+B Z
+B Z
+B Y
+B Z
+B Z
+C Y
+B Z
+B Y
+B Z
+C Y
+B Z
+B Z
+C X
+C X
+C X
+B Z
+A Z
+A X
+C Y
+A Z
+B Z
+B Z
+B Z
+B Z
+A X
+A X
+B Z
+B Z
+A Z
+A X
+A X
+B Z
+C Y
+A X
+A Z
+A Y
+A Y
+A X
+B Z
+A X
+A Z
+B Z
+C X
+B Z
+C X
+C Y
+B Z
+B Z
+B Z
+B Z
+B Z
+C Y
+A X
+C Y
+A X
+B Y
+B Y
+A X
+A X
+B Z
+B Z
+C X
+A Z
+C Y
+A X
+A X
+A Y
+A X
+A X
+B Z
+A Z
+B Z
+B Z
+B Z
+A Z
+A X
+B Z
+B Z
+C Y
+B Z
+B Z
+B Z
+A X
+A X
+B Z
+B Z
+B Z
+B Z
+B Z
+B Z
+A X
+C X
+A X
+A X
+C Y
+A X
+B Z
+C Y
+B Z
+B Z
+B Z
+A X
+B Z
+C Y
+B Z
+A X
+A X
+B Z
+A X
+A X
+B Z
+A Z
+B X
+A X
+A X
+B Z
+C Y
+A Y
+A X
+C X
+B Z
+A X
+B Z
+B Z
+A X
+B Z
+A Z
+C Y
+B Z
+B Z
+A X
+A X
+B X
+A X
+B Z
+B Z
+C X
+A X
+C X
+A X
+B Z
+B Z
+A X
+A Z
+B Z
+B X
+A X
+A Y
+B Z
+B Z
+B Z
+C X
+C Y
+B Z
+B Z
+C Z
+B X
+C Y
+C Z
+B Z
+B Z
+A X
+B Z
+C X
+B Z
+B Z
+A Z
+A X
+C X
+B Z
+B Z
+A X
+C Y
+A X
+B X
+C Z
+B Z
+B Z
+A X
+B Z
+A Y
+B Z
+B Z
+A X
+B Z
+C Y
+C Y
+A X
+C Y
+C X
+C X
+A X
+B Z
+C Y
+B Z
+C X
+B Z
+A Z
+B Z
+A Z
+B X
+B Z
+A Z
+A X
+B Z
+B Z
+B Z
+A X
+A X
+A X
+B Z
+A X
+B Z
+B X
+A Y
+B Z
+A X
+B Z
+B Z
+B Z
+A X
+B Z
+C X
+A Y
+A X
+A Z
+C Y
+C Y
+A X
+C Y
+B Z
+A X
+B Z
+C Y
+B X
+A Z
+B Z
+B Z
+B X
+B Z
+B Z
+B Z
+A Y
+A Y
+C Y
+A Z
+A X
+B Z
+B Z
+A X
+A X
+A X
+B Z
+A X
+B Z
+B Y
+A X
+A X
+A X
+B Z
+B Z
+B Z
+C Y
+A X
+A X
+A X
+A X
+A X
+A X
+C Y
+A Z
+C X
+B Z
+B Z
+C Z
+A X
+A X
+B Z
+A X
+B X
+B Z
+B Z
+C X
+B Z
+A Z
+A X
+B Z
+A Z
+B Z
+B Y
+A X
+C Y
+A X
+B Z
+B Z
+B Z
+A Z
+C Y
+C Z
+A X
+B Z
+B Z
+B X
+A X
+B Z
+A X
+B Z
+B Z
+C Z
+B Z
+A X
+C Y
+C X
+A Z
+C X
+A X
+A X
+A X
+B Z
+B Y
+C Y
+B Z
+B Z
+C Y
+B Z
+A X
+B Z
+A Z
+A X
+B Z
+A Y
+A X
+A X
+B X
+B Z
+B Z
+B Z
+B Z
+C Z
+B Y
+A X
+A X
+B Z
+B Z
+B Z
+C Z
+B Z
+B Z
+A Y
+A Z
+B Z
+A X
+C Y
+B Z
+A Z
+C Z
+B Z
+C X
+B Z
+B Z
+A X
+B Z
+A X
+B Z
+C Y
+A X
+B Z
+A Z
+B Z
+C Y
+A X
+C X
+A X
+A X
+B Z
+B Z
+B X
+B Z
+C X
+C Y
+A Z
+B Z
+C Y
+B Z
+C Y
+B Y
+A Y
+B Z
+A X
+B Z
+A Z
+B Z
+A X
+C X
+B Z
+B X
+C Y
+A Z
+A X
+B Z
+B Z
+B Z
+A Z
+C Y
+C Y
+B Z
+A Y
+A X
+A X
+A Y
+C Y
+A Y
+B Z
+B Z
+B Z
+A Z
+B Z
+A Z
+B Z
+A X
+A Z
+B Z
+C Y
+B Z
+A X
+A X
+A X
+A Z
+A Z
+B Z
+C Y
+B Z
+A X
+B Z
+B Z
+A Z
+B Z
+B Z
+A X
+B Z
+B Z
+B X
+A X
+B Z
+B Z
+A Z
+A X
+B X
+A X
+B Z
+A X
+B Z
+A X
+B Z
+C Y
+B Z
+C Z
+C X
+B Z
+B Z
+B Z
+C Y
+C X
+B Z
+B Z
+B Z
+B Z
+A Y
+A Y
+C Y
+A X
+C X
+B X
+A X
+C X
+A Y
+B X
+A X
+A Z
+B Z
+B X
+B Y
+B Z
+B Z
+B X
+B Z
+C Y
+B Z
+A X
+A X
+A X
+B Z
+A X
+B Z
+A X
+B Z
+B Z
+B Z
+B Z
+A X
+C Y
+A X
+B Z
+B Z
+B Z
+A X
+B Z
+B Z
+C Z
+A X
+A Z
+B Z
+C Y
+B Z
+B Z
+B Z
+B Z
+A Z
+B Z
+B Z
+B Z
+C Y
+A X
+B X
+C Y
+A X
+C Z
+B Z
+C Y
+C Y
+B Z
+A X
+B Z
+C Z
+A X
+A Z
+B Z
+A Z
+B Z
+B X
+B Z
+A Z
+B Z
+C Y
+C Z
+B Z
+A X
+B Z
+A X
+A X
+B Z
+B Z
+B Z
+B Z
+A X
+A Z
+A X
+B X
+B Z
+A Y
+A Y
+B Z
+A X
+B Z
+B Z
+A Y
+C X
+B Z
+B Z
+B Z
+C X
+B Z
+C X
+A X
+B Z
+C Y
+A X
+A X
+A X
+C Z
+A X
+A X
+A Y
+B Z
+B Z
+B Z
+B Z
+B Z
+C X
+C Y
+B Z
+B Z
+C X
+B Z
+B Z
+B Z
+C Y
+C Y
+A Z
+A X
+B Z
+A X
+B X
+B Z
+B Z
+C Y
+B Z
+A X
+B X
+A Z
+A Z
+B Z
+A X
+C X
+A X
+B Z
+B Z
+B Z
+A X
+A Z
+C X
+B Z
+A X
+A Z
+A Z
+A Z
+A Z
+C Y
+B X
+B X
+C Z
+B X
+C Z
+A X
+A Y
+B Z
+B X
+A Y
+A Z
+B X
+A X
+A X
+C Z
+A Z
+B Z
+C X
+B Z
+B Z
+C X
+B Z
+C X
+A X
+A Y
+A X
+B Z
+A X
+B Z
+C Y
+B Z
+B Z
+B Z
+B Z
+B Z
+B Z
+B Z
+B Z
+B Z
+A X
+B Z
+A X
+B Z
+A Y
+B Z
+A X
+A Z
+B Z
+C Y
+A Z
+A X
+A Z
+C X
+B Z
+B Z
+B Z
+A X
+C X
+C Y
+B Z
+A Z
+A Z
+C X
+B Z
+C Y
+A Z
+A Z
+A Y
+B Z
+A Z
+B Z
+B Y
+C Y
+B Z
+B Z
+A Z
+A X
+B Z
+C Y
+B Z
+B Z
+B Z
+B Z
+B Z
+A X
+C Y
+B X
+C X
+B Z
+A Z
+B Z
+A X
+B Z
+B Z
+A X
+C Y
+A X
+A X
+A X
+C X
+A X
+A X
+B Z
+A Y
+A X
+B Z
+C X
+A X
+C Z
+A X
+B Z
+C X
+A X
+A X
+A X
+B Z
+C X
+B Z
+B Z
+A X
+A X
+A X
+A X
+B Z
+A X
+A X
+B Z
+B X
+A Y
+A X
+C X
+A X
+C X
+A X
+B Z
+B Z
+B Z
+B Z
+B Z
+A X
+A X
+B X
+C Y
+A Y
+C X
+C X
+C X
+B Z
+B Z
+B X
+B Z
+B Z
+C X
+B Z
+B Z
+A X
+B Z
+B Z
+B X
+A X
+A X
+C Y
+C X
+A X
+C Y
+A Y
+C X
+B Z
+A X
+A Z
+B Z
+B Z
+B X
+B Z
+B Z
+B Z
+C Y
+B X
+A X
+B Z
+A X
+B Z
+A X
+A Z
+A Y
+C Y
+B Z
+C Y
+A Z
+A Z
+B Z
+A X
+A X
+C Y
+C Y
+A X
+B Z
+A X
+C X
+C Z
+A X
+A Y
+A X
+A X
+A X
+B Z
+B Z
+B Z
+C Y
+B Z
+B Z
+C Z
+A X
+B Z
+B Z
+A X
+A X
+B Z
+B Z
+B Z
+A Y
+B X
+A Z
+A Z
+B Z
+A X
+B Z
+B Y
+A Y
+A X
+C Y
+A Z
+B Z
+C X
+C X
+A X
+B Z
+A X
+A X
+A Z
+B Z
+A Z
+A Z
+B Z
+B Z
+A Y
+B Z
+C Y
+C X
+B Z
+A X
+A X
+B Z
+B Z
+A X
+A X
+C Y
+B Z
+A Z
+A X
+B Z
+C Y
+B Z
+A X
+A X
+B X
+A X
+B Z
+C Y
+B Z
+A Y
+B Z
+B Z
+B Z
+B X
+A X
+B Z
+C Y
+B Z
+B Z
+B Z
+A Z
+C Y
+C Y
+C Y
+A X
+A Z
+A X
+B Z
+A X
+B Z
+A X
+C Y
+B Z
+B Z
+A X
+B Z
+A X
+A X
+B Z
+B Z
+A X
+A X
+C X
+B Z
+A Y
+A X
+A X
+B Z
+C Y
+C X
+C X
+B Y
+A Z
+B Z
+A Z
+A X
+B Z
+C Y
+B Z
+A X
+A Z
+B Z
+A X
+A Y
+A X
+B Z
+B Z
+B Y
+B Z
+A X
+B Z
+B Z
+B Z
+C Y
+A X
+B Z
+B Z
+A X
+A X
+A X
+B Z
+A Y
+B Z
+A Z
+A X
+B Z
+C X
+B Z
+A X
+A Z
+A Z
+B Z
+A X
+B Z
+B Z
+B Z
+B Z
+C Y
+A Y
+A Z
+A X
+A Y
+B Z
+B Z
+B Z
+C Y
+C Y
+B Z
+A Y
+A Z
+A X
+B Z
+A Z
+B Z
+A X
+C Y
+B Z
+B Z
+B Z
+B Z
+B Z
+C X
+A Z
+B Z
+A Z
+B Z
+A X
+B Z
+A X
+A Y
+B Z
+B X
+B Z
+A Y
+B Z
+A Z
+B Z
+B Z
+A X
+A Z
+A Z
+B X
+B Z
+A X
+B X
+A X
+A Z
+A X
+C X
+B Z
+C X
+A X
+C X
+A X
+A X
+A Z
+A Z
+B Z
+A Z
+B X
+B Z
+B Z
+A X
+B Z
+B Z
+A X
+B Z
+B Z
+B Z
+B Z
+B Z
+C X
+A X
+C Y
+B Z
+B Z
+A Y
+B X
+B Z
+A Z
+B Z
+B Z
+C Y
+B Z
+A X
+A Z
+B Z
+A Z
+B Z
+B Z
+A X
+B Z
+A Z
+A Z
+A Z
+C X
+A Z
+B Z
+C Y
+B Z
+A Z
+B Z
+A X
+A X
+A X
+A Z
+A X
+B Z
+B Z
+B Z
+B Z
+A Y
+A X
+C Y
+C Z
+B Z
+A Z
+A X
+B Z
+B X
+B Z
+A X
+B Z
+B Z
+C Y
+A X
+B Z
+B Z
+C X
+C X
+B Z
+B Y
+A Y
+A X
+C Y
+A X
+A X
+B Z
+B Z
+B Z
+B Z
+A Z
+C X
+A X
+A X
+A X
+A X
+A Y
+A Z
+A Y
+A Y
+B Z
+A X
+A Y
+A X
+A Z
+A Z
+A X
+B Z
+B Z
+C Y
+A X
+B Z
+C Y
+B Z
+B Z
+A X
+B Z
+B X
+A X
+B Z
+A Y
+A Y
+B X
+B Z
+B Z
+C X
+A X
+B Z
+A X
+B X
+B Z
+A X
+B Z
+A X
+B X
+A X
+A X
+C X
+A X
+A X
+B Z
+A X
+A X
+A Y
+B Z
+B Z
+C Y
+B Z
+A X
+B Z
+B Z
+A Z
+A X
+B Z
+A Y
+B Z
+C Y
+A Z
+A X
+A Y
+C Y
+A X
+A Y
+C X
+B Z
+A X
+A Y
+A X
+B Z
+A Z
+B Z
+B Z
+C Y
+A X
+C Y
+A Z
+B Z
+B Z
+A X
+A X
+B X
+B Z
+C Y
+B Z
+B Y
+A X
+B Z
+A X
+C X
+B Z
+A Y
+A X
+B Z
+C Y
+A Z
+B Z
+A X
+A X
+A Y
+A Z
+C X
+B Z
+B Z
+B Z
+A Z
+B Z
+C Y
+B Z
+B Z
+B Z
+B Z
+B X
+B Z
+A X
+B Z
+B Z
+A X
+C X
+C Y
+B Z
+B Z
+A X
+B Z
+A X
+A X
+A Y
+B Z
+A Z
+B Z
+C Y
+B Z
+A X
+A Y
+C Y
+B Y
+A Y
+A X
+C Y
+A X
+A Z
+A X
+B Z
+A Z
+B Z
+A X
+B Z
+C Y
+A X
+B Z
+B X
+B Z
+A X
+A X
+A X
+B Z
+A Z
+A Z
+B Z
+A X
+B Z
+B Z
+A X
+A X
+B Z
+B Z
+A X
+B Z
+B X
+B Z
+C Y
+A Z
+B X
+A X
+B Z
+B Z
+A X
+B Z
+A X
+B Z
+B X
+B X
+A X
+B Z
+B Z
+B Z
+B Z
+A Y
+B Z
+B Z
+A X
+C X
+B Z
+B Z
+B Z
+B Z
+B Z
+A X
+C X
+A Y
+A X
+A X
+B Z
+C Y
+C X
+B Z
+A X
+A Y
+B Z
+A X
+B Z
+C Y
+B Z
+A X
+B Z
+A Y
+B X
+A X
+B Z
+A X
+B Z
+A X
+B Z
+A X
+C X
+C X
+A X
+B Z
+A Y
+B Z
+B Z
+A X
+A X
+B Z
+B Z
+B Z
+A X
+A X
+A X
+C Y
+A Y
+B Z
+B Z
+B Z
+B Z
+A X
+A X
+B Z
+B Z
+C Y
+A X
+A X
+B Z
+A X
+A Y
+A X
+B Z
+B Z
+B Z
+A X
+B Z
+A X
+B Z
+A X
+A X
+B Z
+A Y
+A Z
+B Y
+A X
+A Z
+B Z
+B Z
+A Z
+A X
+A X
+B Z
+A X
+B Z
+A X
+C X
+A Z
+A X
+B Z
+B Z
+A X
+A Z
+C X
+B Z
+B Z
+A X
+B Z
+B Z
+A X
+B Z
+B Z
+B Z
+A Y
+A Z
+B Z
+B Z
+A X
+B Z
+B Z
+B X
+C X
+B Z
+B Z
+B Z
+A X
+A X
+A Z
+B Z
+C X
+B Y
+A Y
+B Z
+B Z
+A X
+A X
+A Z
+B Z
+B Z
+B Z
+A X
+A Z
+A X
+B Z
+B Z
+A Z
+B Z
+A Y
+A Z
+C Y
+B Z
+B Z
+B Z
+B Z
+A Z
+A Z
+A Y
+B Z
+A X
+A X
+B Z
+A Z
+B Z
+B Z
+B X
+C Y
+B Z
+C Y
+B Z
+A X
+C Z
+B Z
+A X
+A X
+B Z
+A Z
+A X
+B Z
+A Z
+A X
+C Z
+C X
+B Z
+B Z
+B Z
+B Z
+B Z
+C Y
+A X
+B Z
+C Y
+A X
+B Z
+B Z
+A Z
+A Z
+B Z
+C Y
+A X
+C X
+B Z
+B Z
+B Z
+B Z
+A X
+B Z
+A X
+B Z
+A Y
+B Z
+B Z
+B Z
+B Z
+B Z
+C Y
+B Z
+B Z
+A X
+A X
+A X
+A Z
+B Z
+A Y
+C Z
+A Z
+B Z
+B Z
+B Z
+A X
+B X
+C Y
+C X
+C Y
+B Z
+B Z
+B Z
+B Z
+A Y
+B Z
+A X
+C X
+A X
+B X
+C X
+B Z
+B Z
+A X
+A X
+C Y
+C Y
+A X
+B Z
+C Y
+A Y
+A Z
+A Y
+B Z
+B Z
+B Z
+A Y
+B Z
+A Z
+A X
+B Z
+C X
+A Z
+B Z
+A X
+C X
+A X
+C Y
+B X
+B Z
+B Z
+A X
+C Y
+A X
+B Z
+C X
+A Z
+A Y
+B Z
+A Z
+B Z
+B Z
+B Z
+B Z
+A X
+A X
+B Z
+A Z
+C Y
+A Y
+A X
+A X
+B Z
+C Z
+B Z
+A Z
+B X
+C X
+B Z
+B Z
+A X
+A Z
+A X
+A Z
+A X
+B Z
+B Z
+C Y
+B Z
+B Z
+B Z
+B Z
+A Z
+B Z
+B X
+B Z
+B Z
+B Z
+B Z
+C X
+C X
+A X
+B Z
+B Z
+B Z
+B Z
+B Z
+B Z
+A X
+C X
+B Z
+B Z
+A Y
+B Z
+A X
+C Y
+B Z
+C Y
+B Z
+A Y
+B Z
+B Z
+B Z
+A X
+A X
+A X
+B Z
+C Y
+B Z
+A Z
+A Y
+A Z
+A Y
+B Z
+A X
+B X
+B Z
+A X
+B Z
+A Y
+A X
+B Z
+A X
+A X
+A Y
+A Y
+A X
+A X
+A X
+B Z
+B Z
+B Z
+A X
+B Z
+A X
+B Z
+A X
+B Y
+B Y
+A X
+B Z
+C X
+A Z
+C Y
+A X
+B Z
+B Z
+B Z
+C Y
+B X
+C Y
+B Z
+B Z
+B Z
+A Z
+B Z
+B Z
+B Z
+C Y
+B Z
+B Z
+A X
+A Z
+A Y
+C Y
+B Z
+B Z
+A X
+B Z
+B Z
+A X
+A X
+B Z
+B Y
+B Z
+B Z
+A Z
+B Z
+B Z
+A X
+B Z
+A X
+C X
+C X
+A X
+C Y
+B Z
+B Z
+B Z
+A X
+C Y
+B Z
+B Z
+B Z
+B Z
+B Z
+B Z
+B Z
+B Z
+B Z
+B Z
+C Y
+C X
+B Z
+B Z
+B Z
+C Y
+A Y
+C Y
+A X
+B X
+B Z
+A X
+C X
+B Z
+A Z
+C X
+C X
+B Z
+B Z
+A Z
+B Z
+B X
+B Z
+B Z
+B Z
+A X
+C X
+B Z
+A X
+C Y
+B Z
+B Z
+C X
+B X
+A X
+B Z
+C X
+C X
+B Z
+B X
+A X
+B Z
+A Y
+B Z
+A Z
+A X
+B Z
+A X
+A X
+B Z
+B Z
+A X
+B Z
+A X
+A X
+C Y
+B Z
+A X
+C Y
+B Z
+B Z
+A X
+A Y
+C Y
+B Z
+A X
+B Z
+A X
+A X
+B Z
+B Z
+C Y
+B Z
+A X
+A X
+A X
+A X
+A Z
+B Z
+B Z
+C X
+C X
+B Z
+B Z
+C Y
+B Z
+A Y
+B Z
+A X
+C X
+A Z
+B Z
+B Z
+B Z
+C Y
+A X
+B Z
+B Z
+C Y
+B Z
+C Y
+B Z
+A Z
+B Z
+A X
+B Z
+C Y
+C Y
+A X
+A X
+A Z
+B Z
+C Y
+C Y
+A X
+B Z
+B Z
+A X
+B Z
+B Z
+B Z
+B Z
+B X
+B Y
+A X
+B Z
+B Z
+B Z
+C Y
+A X
+A Y
+B Z
+A Z
+A Z
+B X
+A X
+C Y
+B Z
+B Z
+A Z
+B Z
+C X
+C X
+A Z
+B Z
+A X
+B Z
+A X
+B Z
+B Z
+B X
+A X
+A Z
+B X
+A X
+B Z
+A X
+A X
+A Z
+A Y
+B Z
+A Y
+C Y
+C X
+B Z
+B Z
+A X
+A X
+B Z
+B Z
+B Z
+A Z
+C X
+A X
+B Z
+B Z
+A X
+B Z
+B Z
+B Z
+A X
+A Z
+B Z
+A X
+B Z
+A X
+B Z
+B Z
+A X
+C Y
+A X
+C X
+A Z
+B X
+A Y
+A Y
+B Z
+B Z
+B Z
+A X
+A X
+A X
+A Y
+B Z
+B Z
+B Z
+B Z
+B Z
+B Z
+B Z
+B Z
+C Y
+B Z
+B Z
+B Z
+C Y
+A X
+A Z
+B Z
+C Y
+B Z
+A Z
+A X
+B Z
+A Y
+B Z
+B Z
+A Z
+B Z
+A X
+A Z
+A Z
+B Z
+B Z
+B Z
+B Z
+A X
+A Z
+B Z
+B Z
+B Z
+B Z
+A Z
+B Z
+C X
+B Z
+B Y
+A X
+B Z
+B Z
+A X
+B Z
+A X
+A X
+A X
+A X
+B X
+B Z
+C X
+B Z
+B Z
+B Z
+A X
+B Z
+C X
+B Z
+A Z
+A X
+A X
+B Z
+B Z
+B Z
+B Z
+C X
+A X
+B Z
+B Z
+C Y
+B Z
+C Y
+B Z
+B Z
+A X
+B Z
+A X
+A Y
+B Z
+A Z
+B Z
+B Z
+A Y
+B Z
+B Z
+C Y
+A X
+A X
+A X
+A X
+B Z
+B Z
+A Y
+B Z
+A Z
+A X
+A X
+B Z
+A Y
+B Z
+B Z
+B X
+A Y
+A X
+A X
+C Y
+C X
+A X
+B Z
+B Z
+B Z
+A Y
+B Z
+C X
+C X
+C X
+B Z
+B Z
+B Z
+B Z
+B Z
+A X
+B Z
+A Y
+B Z
+A Y
+C X
+B X
+B Z
+B Z
+A X
+B X
+B Z
+B Z
+B Z
+B Z
+B Z
+A X
+B Z
+C X
+B X
+A X
+A X
+A X
+A X
+A X
+B Z
+C X
+C Y
+A X
+B Z
+C X
+A Z
+B Z
+B Z
+C Y
+A X
+A Z
+B Z
+B Z
+B Z
+B Z
+B Z
+B Z
+A X
+A X
+B X
+A X
+B Z
+A X
+B Z
+B Z
+A Z
+B Z
+B Z
+B Z
+B Z
+C X
+B Z
+A Z
+B Z
+B Z
+A Z
+A X
+C X
+B X
+C X
+A X
+B Z
+A Z
+B X
+B X
+A Z
+B Z
+B Z
+B X
+B Z
+B Z
+C X
+A Y
+A X
+A Z
+B Z
+A X
+B Z
+B Z
+B Z
+B Z
+A X
+A X
+C Y
+B Z
+B Z
+B Z
+A Z
+C X
+C Y
+B Y
+B Z
+B Z
+A X
+C Y
+A Z
+B Z
+B Z
+B Z
+B Z
+B Z
+C X
+B Z
+A X
+C X
+A X
+A Z
+C Y
+C X
+B Z
+B Z
+A Y
+A Z
+A Z
+A X
+A Z
+A Z
+C Y
+B Z
+B Z
+B Z
+B Z
+A Z
+A X
+A Y
+C X
+A X
+B Z
+B Z
+B Z
+A X
+B Z
+B Z
+A Z
+B Z
+A X
+B Z
+A X
+A Y
+B Z
+A X
+A Z
+B Z
+A X
+B Z
+C X
+B Z
+B Z
+C X
+A Y
+B Z
+A Z
+C X
+C Z
+C X
+B Z
+B Z
+B Z
+A X
+B Z
+C X
+A X
+A Y
+A X
+A Z
+C Y
+A X
+B Z
+B Z
+C Z
+A X
+B Z
+B Z
+A X
+A Z
+B Z
+A Y
+B Z
+C X
+A X
+A X
+B Z
+B Z
+B Z
+B X
+C X
+B Z
+B Z
+A X
+A X
+A Z
+B Z
+B Z
+A Z
+C Y
+C Z
+B Z
+A X
+A X
+A X
+C Y
+A X
+A X
+A X
+A Z
+B Z
+A Y
+B Z
+C X
+B Z
+A X
+C X
+B Z
+A Y
+A X
+B Z
+B Z
+B Z
+A X
+A Y
+B Z
+A X
+B Z
+B Z
+B Z
+B Z
+A X
+A X
+B Z
+C X
+B X
+A Z
+B Z
+B Z
+B Z
+B Z
+B Z
diff --git a/day02/main.go b/day02/main.go
@@ -0,0 +1,48 @@
+package main
+
+import (
+ "bufio"
+ "fmt"
+ "log"
+ "os"
+)
+
+func main() {
+ if len(os.Args) > 1 {
+ day01(os.Args[1])
+ } else if len(os.Args) == 1 {
+ fmt.Printf("usage: %s inputfile.txt\n", os.Args[0])
+ } else {
+ fmt.Println("No input data")
+ }
+}
+
+func day01(input_file string) {
+ fmt.Printf("day 02 input filename: %s\n", input_file)
+ input, err := os.Open(input_file)
+ if err != nil {
+ log.Fatal(err)
+ }
+ defer input.Close()
+ scanner := bufio.NewScanner(input)
+ gameTable := map[string]int{
+ "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,
+ }
+
+ score := 0
+ for scanner.Scan() {
+ score += gameTable[scanner.Text()]
+ }
+ if err = scanner.Err(); err != nil {
+ log.Fatal(err)
+ }
+ fmt.Printf("score: %d\n", score);
+}
diff --git a/day02/sample.txt b/day02/sample.txt
@@ -0,0 +1,3 @@
+A Y
+B X
+C Z