commit 9174d8656036482d73d9c50b763400e325b6743a
parent 3a8cebbbee04e96852d64f926a17fc437d525f99
Author: Samir Parikh <noreply@samirparikh.com>
Date: Wed, 21 Dec 2022 16:51:42 +0000
solve part 1 of day02
Diffstat:
A | day02/day02.pl | | | 49 | +++++++++++++++++++++++++++++++++++++++++++++++++ |
A | day02/input | | | 2501 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | day02/test | | | 3 | +++ |
3 files changed, 2553 insertions(+), 0 deletions(-)
diff --git a/day02/day02.pl b/day02/day02.pl
@@ -0,0 +1,49 @@
+#!/usr/local/bin/perl
+# day 2022-02
+
+use strict;
+use warnings;
+use v5.32;
+
+@ARGV = "input" unless @ARGV;
+chomp( my $input = do { local $/; <> } );
+
+my %defeats = (
+ rock => 'scissors',
+ scissors => 'paper',
+ paper => 'rock',
+ );
+
+my %translate = (
+ A => 'rock',
+ B => 'paper',
+ C => 'scissors',
+ X => 'rock',
+ Y => 'paper',
+ Z => 'scissors',
+ );
+
+my %score = (
+ rock => 1,
+ paper => 2,
+ scissors => 3,
+ lost => 0,
+ draw => 3,
+ won => 6,
+ );
+
+my @rounds = split /\n/, $input;
+my $part1_score = 0;
+
+foreach my $round ( @rounds ) {
+ my ( $opponent, $me ) = split /\s/, $round;
+ #say "opponent = $translate{$opponent} and me = $translate{$me}";
+ $part1_score += $score{ $translate{ $me } };
+ if ( $translate{ $me } eq $translate{ $opponent } ) {
+ $part1_score += $score{ draw };
+ } elsif ( $defeats{ $translate{ $me } } eq $translate{ $opponent } ) {
+ $part1_score += $score{ won };
+ }
+}
+
+say "part 1: ", $part1_score;
diff --git a/day02/input b/day02/input
@@ -0,0 +1,2501 @@
+C Z
+C Z
+C Y
+C Z
+C Z
+C Z
+A X
+A X
+C X
+C X
+A Z
+B X
+A X
+C Z
+A Z
+C Z
+C Z
+C Z
+A Z
+A X
+C Z
+C Z
+A Y
+A Y
+A X
+C Z
+A Y
+A Y
+C Z
+C Y
+C Y
+C Z
+A X
+A X
+A Y
+C Z
+A Y
+A Y
+A X
+A Z
+C Z
+A X
+C X
+A Y
+B Y
+B Y
+C Z
+A Z
+B X
+A Z
+B Z
+B Z
+A Y
+C Z
+C Z
+C X
+B Z
+C Z
+A Y
+C Z
+A X
+C X
+A X
+C Z
+A Y
+B X
+A Y
+C Z
+B Y
+C Z
+C Z
+A Y
+A Y
+A Y
+C Z
+B Y
+A X
+A Y
+C Z
+A Y
+C Z
+C Z
+C Z
+B X
+A Y
+B X
+C Z
+C Z
+B Y
+A X
+B Z
+C Z
+A X
+C Z
+B Y
+C Z
+A Y
+A Y
+A Z
+C Z
+A Y
+B Z
+A Z
+A Y
+A X
+A Y
+A X
+A Y
+A X
+C Z
+A Y
+B Z
+B Y
+A X
+C Z
+A X
+B Z
+A X
+A Y
+C Z
+A Z
+A X
+C X
+A Y
+A X
+A X
+A X
+B Y
+B Y
+A X
+C Z
+C Z
+A Y
+A X
+A Z
+C Z
+B Y
+B Z
+C X
+C Z
+A X
+A Y
+C Z
+A X
+C Y
+B X
+B Y
+A Y
+A Z
+A X
+A X
+C Y
+C Y
+A X
+A Z
+B Z
+C Y
+A Z
+A X
+A Y
+C X
+A X
+C Z
+C Z
+A Z
+B Y
+C Z
+A Z
+C Z
+B Z
+C Z
+C Y
+A X
+C Z
+C Z
+A Z
+C Z
+A X
+C Y
+A X
+C Z
+A Z
+A Y
+C Y
+B Z
+C Y
+C Y
+A Z
+A Y
+C Z
+C Z
+C Z
+C Z
+A Y
+A X
+C Z
+A Z
+C Z
+A Z
+C Z
+B Y
+C X
+A Y
+C Z
+A X
+A X
+C Z
+C X
+C X
+C Z
+A X
+C X
+A X
+B X
+A Y
+C Z
+C Z
+A Y
+C Y
+C Z
+A X
+A X
+A Z
+C X
+C Z
+A Y
+C Z
+C Z
+C Z
+C Z
+A Y
+C Z
+C Z
+C Z
+A Y
+A X
+A Y
+C Y
+A Y
+A Y
+A Y
+B Y
+C Y
+B X
+C X
+A Y
+C X
+C Y
+B X
+A Z
+C Z
+A X
+B X
+C Z
+C Z
+A Y
+A Y
+A Y
+A X
+C Z
+C Z
+C Z
+A X
+A Y
+A Y
+A Z
+B Y
+B Y
+A Z
+A Y
+A Y
+C X
+A Y
+A X
+A X
+A Z
+A X
+B X
+C Z
+B Y
+A Z
+C Z
+C Z
+C Z
+B Y
+A Y
+A Y
+A X
+B Z
+C Z
+C Y
+A X
+A Y
+A Y
+C X
+A X
+B Y
+A X
+A Y
+C X
+A X
+A Y
+C Z
+A X
+A X
+C Z
+C Z
+C Z
+C Z
+A Y
+A Y
+C Z
+A Y
+A X
+A Y
+B Z
+A X
+C Y
+C Z
+B X
+A X
+C Z
+A Z
+C Z
+A Z
+B Y
+A X
+C Z
+C X
+C Z
+C Z
+C Z
+C Z
+A X
+C Z
+C X
+C X
+C X
+C Z
+A Z
+C Z
+C Z
+C Z
+C Y
+A X
+C Y
+A X
+A Z
+A X
+C Z
+A X
+A Y
+B Y
+C Z
+A Y
+C Z
+C Z
+B Z
+A Z
+B Y
+A X
+C Z
+A Z
+C Z
+C Z
+A X
+C Z
+A X
+A Z
+A X
+A Z
+B Z
+B Z
+C Z
+C Z
+A X
+C Z
+C Z
+C Z
+A Y
+A X
+A X
+C X
+A Y
+C Z
+B Z
+C Z
+C X
+C Z
+C Z
+C Y
+A X
+A X
+A X
+B X
+C Z
+C Z
+A X
+C Z
+C Z
+A Y
+B Z
+A Z
+A Y
+A X
+C Z
+A Y
+A X
+C Z
+C X
+A Y
+A Y
+A Z
+C X
+A Y
+A Y
+C Z
+A Y
+C X
+A Y
+C X
+A X
+A X
+A X
+A Y
+C Y
+C Z
+B Z
+A X
+C Z
+A Y
+C Z
+C Z
+B Z
+A X
+A Z
+A Y
+B Y
+B X
+C Z
+B Y
+C Z
+A Y
+C Z
+B X
+B Y
+C Y
+A Y
+B X
+C Z
+A Y
+C Z
+A Y
+A X
+B X
+B Y
+A Y
+C X
+A Y
+A Y
+A X
+C Z
+A X
+B Y
+B X
+A Y
+B Z
+C X
+A Z
+A Z
+B Y
+A X
+A Z
+A Y
+B Z
+C Z
+A X
+A Z
+A X
+A Z
+A Y
+C Z
+C Z
+A Z
+C Z
+C Y
+A Y
+C Z
+A Y
+B Z
+C Z
+A X
+C Z
+C Y
+C Z
+C Z
+A X
+A Y
+A X
+C Z
+A X
+B X
+A Z
+C Y
+A Y
+B X
+A X
+A X
+C Y
+B Z
+A X
+A Y
+B X
+B Y
+A X
+B X
+A Y
+A X
+A Y
+A X
+A X
+A Z
+C Z
+A X
+C Z
+B Y
+A X
+A Z
+A Z
+B Y
+A Y
+C Z
+C X
+C Z
+C Z
+C Z
+B X
+A Y
+A X
+A X
+B Z
+C Z
+A X
+A X
+C X
+A X
+A X
+A Y
+B X
+A Z
+A Z
+C Z
+C Z
+B Z
+C Z
+B Y
+C Z
+C Z
+A Y
+B Z
+B Y
+C Z
+A X
+A Z
+A X
+C Z
+C Z
+A Y
+B X
+A X
+B Z
+A Y
+C Z
+A Z
+C Z
+A Z
+C Z
+A X
+A Y
+C Z
+A Y
+A X
+C Z
+A X
+C Z
+B X
+B Y
+C Y
+C X
+A Y
+C Z
+A Y
+A Y
+B Y
+B Y
+C X
+A X
+C Z
+B X
+A Y
+A Y
+A Y
+A Y
+B Y
+B X
+A X
+B Z
+A X
+B Z
+A X
+C Z
+B X
+C Z
+C Y
+C Z
+B Y
+A Z
+C Z
+C Z
+A Y
+C Z
+B X
+A Y
+B Z
+A Y
+A Y
+A X
+A Y
+C Z
+A Z
+A Y
+A X
+B Z
+B Y
+A X
+C Z
+A Y
+A Y
+A Z
+A X
+C Y
+C Z
+C Z
+C Z
+A Y
+A X
+A X
+C Z
+C Z
+A Y
+A Y
+A X
+B Z
+C X
+B Z
+C Z
+C X
+A X
+B Y
+C Z
+A X
+C Z
+C Z
+C Z
+A Z
+A X
+B Z
+C Y
+A X
+A X
+C Z
+C Z
+A Y
+B X
+C Y
+C X
+B Z
+C Z
+A Z
+A Z
+A X
+A Y
+C Z
+C Z
+A X
+A Y
+A Z
+A Y
+A Z
+B X
+B Y
+C Z
+A Z
+B Z
+A Y
+C Z
+B Z
+C Y
+C Z
+A Y
+A Y
+B X
+B Y
+C Z
+B X
+B X
+A Z
+A X
+A Y
+A X
+C Z
+C Y
+C Z
+A X
+A X
+C Z
+C Z
+A Z
+C Z
+C Z
+A Y
+A X
+C Z
+A Z
+A Y
+A Y
+A X
+A X
+A Y
+A X
+A Y
+C Z
+A X
+A X
+A Y
+C Z
+A Y
+B Y
+A X
+A Z
+A Y
+C Z
+A Y
+A Z
+C Z
+B Y
+A Z
+C Z
+A Z
+A X
+A X
+B Y
+C Z
+C Z
+A Z
+C Z
+A Y
+C Z
+B X
+A Z
+A Y
+A X
+A X
+A X
+B Y
+A X
+A Z
+A X
+C X
+A X
+A Z
+C Z
+A Y
+C Z
+A X
+A Y
+A X
+C Z
+A Y
+B Z
+B Y
+A X
+A X
+A Y
+C Z
+C Z
+C Z
+C Z
+B X
+C Y
+C Z
+A Y
+A X
+A X
+C Z
+A X
+C Z
+C Z
+A Y
+C Z
+A X
+A Y
+C Z
+B Y
+C Z
+C Z
+A Z
+C Y
+A Z
+A X
+A X
+A Y
+C X
+B Z
+C Z
+C X
+C Z
+B Y
+C Z
+A Y
+C Y
+C Z
+A Z
+C Z
+A Y
+B X
+A Y
+A Y
+A Y
+C Y
+B X
+A X
+B X
+A Y
+C Z
+C Z
+B Z
+A Z
+C Z
+A Z
+B Y
+A Y
+C Z
+C Z
+A X
+B Y
+B Z
+A X
+C Z
+A X
+A Y
+A Y
+A Z
+B X
+A Y
+A X
+A Z
+C Z
+C Z
+A X
+C Z
+C X
+C Z
+A X
+A X
+A X
+A Y
+C Z
+B Z
+A X
+B Z
+C Y
+A X
+B Z
+A Y
+A X
+C Z
+C Z
+C Z
+B Y
+C Z
+C Y
+B Y
+A Y
+A Y
+A X
+C X
+A X
+B X
+B Y
+A Y
+A X
+B X
+A X
+A X
+C Z
+C Y
+A Y
+A X
+C Z
+C Y
+C Z
+C Z
+A Z
+A Y
+A Y
+C X
+A X
+C Z
+A Y
+C Z
+A X
+B Y
+A X
+B X
+C Z
+C Z
+A Z
+A Y
+C Z
+C Z
+C Z
+B Z
+A Y
+C Z
+A X
+A Z
+A Y
+C Z
+A Z
+A Z
+A X
+A Y
+C Z
+C Z
+A Y
+C Y
+A Y
+B Z
+C Z
+C Y
+C Z
+A X
+C Z
+A Y
+A Z
+A X
+C Z
+A X
+A X
+A Y
+C Z
+A X
+A X
+A X
+C X
+C Z
+C Y
+B Z
+A Y
+A Y
+C Z
+C Z
+A Y
+C Z
+C Z
+C Z
+C Z
+C Z
+A Y
+B X
+B Z
+A X
+A Z
+B Y
+C Z
+C Z
+A Y
+A X
+A Y
+A Z
+C Z
+C Z
+A Y
+C Z
+A X
+C Y
+C Z
+A X
+A X
+C Z
+A X
+C Z
+A X
+A X
+C Z
+C X
+B Y
+C Z
+A Y
+C Y
+A Y
+A Y
+C Z
+C Z
+C Y
+A X
+A X
+C X
+A X
+A Z
+A X
+A Y
+C Z
+C Z
+A X
+B X
+B Z
+C Z
+C Z
+C Z
+C X
+C Y
+A X
+B Z
+A X
+A X
+B Y
+B X
+A Z
+A X
+A Y
+C Z
+A Y
+C Z
+A X
+A X
+B Z
+C Z
+C X
+A X
+A Y
+C Z
+C Y
+C Z
+A Y
+C Z
+A Y
+A Y
+A Z
+A Y
+C Z
+A Y
+C Z
+B Y
+C Z
+A X
+C Z
+C Y
+A Y
+A Y
+A Y
+C Y
+A Z
+A Y
+A Y
+C Z
+B X
+B Z
+A X
+C Z
+A Y
+C Z
+A Z
+A Z
+A Y
+A X
+C Y
+A X
+A Y
+C Z
+A X
+A Y
+A Y
+C Z
+A X
+C Z
+B X
+A Y
+A X
+C Z
+C Z
+C Z
+C Z
+B Y
+C Y
+A X
+C Z
+A X
+B X
+B Y
+A Y
+A X
+A X
+A X
+C Y
+A X
+A X
+A Y
+C X
+A X
+B X
+A Z
+C Z
+A Z
+A X
+C Z
+C Z
+B Y
+A Y
+A Y
+C Z
+C Z
+A Y
+B Y
+C Z
+A Y
+A X
+A X
+C Z
+C Z
+C Z
+A Z
+A Z
+A X
+C Z
+A X
+A X
+A X
+B Z
+B X
+C Z
+A X
+C Z
+C Z
+A X
+C Z
+A Y
+B Z
+B Z
+A X
+C X
+C Y
+A Y
+B Y
+A X
+C Z
+A Y
+C Z
+C Z
+B Z
+C Z
+C Y
+A Y
+C X
+A X
+C Y
+C Y
+C Z
+A Y
+B Y
+C Z
+C Y
+A X
+C X
+A Y
+B X
+C Y
+C X
+C Y
+C Z
+C Z
+B Z
+A Z
+A X
+A X
+C Z
+A X
+B Y
+C Y
+B Z
+A Y
+C Z
+A X
+A Y
+A Y
+C Z
+B Z
+A X
+A X
+A Y
+A Y
+A Y
+A X
+C Z
+A Y
+A Y
+C Y
+C Z
+A Y
+A X
+C Y
+A X
+A Y
+A X
+C Z
+A X
+A Z
+C Z
+A Y
+A Y
+C X
+A X
+C Z
+A Y
+A Y
+A Y
+A Z
+A X
+A Z
+C Z
+C Z
+A X
+C X
+A Z
+A Z
+C Z
+C Z
+C Y
+B X
+C Z
+A Y
+A Y
+B X
+B Y
+A Y
+B X
+A X
+C X
+B Y
+B X
+A X
+C Y
+B X
+A X
+C Y
+B X
+B Y
+C Z
+A X
+A Y
+A X
+C Y
+C Y
+C Z
+A Y
+A X
+B Z
+A Y
+C Z
+A Y
+B Z
+B Y
+B X
+B Z
+C X
+A Z
+C Z
+C Z
+B Y
+C Z
+C Z
+A X
+A Y
+A X
+A Y
+A Y
+B X
+A X
+A X
+A Z
+B Y
+A Y
+B Y
+A Y
+A X
+C Z
+A X
+B Y
+A Y
+C Z
+A Y
+A Y
+A Y
+C Z
+B Z
+C Z
+A X
+C Z
+A Z
+A Y
+A Z
+C Z
+C Z
+A Y
+A Y
+A X
+A X
+C Z
+C Z
+C X
+C Z
+B Y
+C Z
+A X
+C Z
+A Z
+C X
+C Y
+B Z
+C Z
+C Y
+A Y
+A X
+C Z
+A Z
+C Z
+B Z
+A Y
+A Y
+A Y
+C X
+A Y
+C Z
+A X
+A X
+A X
+A Y
+C Z
+C Z
+C Y
+A Y
+A Z
+A Y
+A Y
+C Y
+A X
+C Z
+A Y
+C Z
+C Z
+C Z
+C Z
+C Z
+B Z
+C Z
+C Z
+A X
+C Z
+A Y
+A Y
+B Y
+C Z
+B X
+B Y
+A Y
+A X
+C X
+A Z
+C Z
+C Z
+C Y
+A Y
+C Y
+C Z
+B X
+C Z
+A X
+C Z
+A Y
+A X
+A X
+A Y
+B Y
+C Y
+C Z
+C Z
+B Z
+C Z
+A Z
+A Y
+A X
+C Z
+A Y
+C Z
+C Z
+C Y
+A Y
+C Z
+B Y
+A Y
+A Y
+C X
+C Z
+A Z
+C X
+A X
+A Y
+C Z
+A Y
+A Y
+C X
+A X
+C Z
+B Y
+A Y
+A Z
+A Z
+A Y
+A X
+A Y
+A X
+C X
+B X
+C Y
+B Z
+A Z
+B X
+A Y
+B Y
+A X
+C Z
+C Z
+A Y
+C Y
+B Z
+B Y
+C Y
+A Z
+B X
+A X
+A X
+A X
+C X
+B X
+C Y
+A X
+C Z
+B Z
+C Y
+B X
+C Z
+C X
+A Y
+A X
+C Y
+B Z
+C Z
+B X
+B Y
+A X
+A Y
+A Y
+A Y
+B Y
+A X
+C X
+C Y
+A X
+A X
+C Z
+A X
+C Z
+C Z
+A X
+C Z
+C Z
+C Z
+A X
+C Z
+C Y
+C Z
+A Z
+A Y
+A Y
+C Z
+C X
+C Z
+C Z
+C X
+A X
+A Y
+B X
+C Y
+B Z
+B Y
+B Y
+C Z
+C Z
+A X
+C Z
+A Y
+C Z
+A X
+B Y
+A Y
+A X
+C Z
+C Y
+C Z
+A Y
+A X
+B Z
+B Z
+A Z
+A Y
+A X
+C Z
+B Z
+C X
+A Y
+C Z
+C Z
+A Z
+A Z
+C Z
+B X
+A Y
+A Y
+B X
+B Y
+A Y
+C Y
+C Z
+C Z
+C X
+A Y
+A Y
+A Z
+C Y
+B X
+B X
+A Y
+C Z
+C Z
+A Y
+A Y
+A Z
+C Z
+B Y
+A Y
+A Z
+A X
+C Z
+C Z
+B Y
+C Z
+C Z
+A Y
+C Z
+B Z
+B Z
+C Z
+B X
+A Z
+A Z
+A Y
+C Y
+B Z
+C Z
+C Z
+A X
+A X
+A X
+A Y
+A X
+A Y
+C Z
+A X
+C Z
+C Z
+C Z
+C Z
+A X
+A Y
+C Z
+A X
+A Y
+C Z
+A Y
+A Z
+B Y
+C Z
+A Y
+C Z
+A Y
+B X
+C Z
+A Y
+C Z
+C X
+C Z
+A Y
+B Z
+A X
+C Z
+C Y
+A Y
+B Z
+A Y
+B X
+A Y
+A X
+A X
+A Y
+A X
+A Y
+C Z
+A Y
+C Y
+A X
+A Z
+C Z
+A Z
+A Y
+A X
+A Y
+A X
+A Y
+A X
+B X
+A X
+A X
+C Y
+C Z
+A X
+A Y
+A X
+A Y
+C Z
+C Z
+A X
+A X
+B Z
+A Y
+C Z
+A Y
+B Y
+C Z
+C Z
+C Z
+C Z
+C Z
+C Z
+C Z
+C Z
+A Y
+C X
+B Y
+A X
+C Z
+A X
+A Z
+A Y
+B Y
+C X
+C Z
+C X
+B Y
+C Z
+A Y
+B Z
+C Z
+C Z
+A Y
+A X
+A Z
+C Z
+C Y
+A Y
+A X
+A X
+A Y
+C Z
+C Z
+B Y
+B Y
+C Z
+A X
+A Y
+B X
+B Y
+C Z
+A Z
+C Z
+A X
+B Y
+C Z
+C Z
+A X
+A Z
+A Y
+C Z
+B Y
+B Z
+C Y
+B X
+C Z
+A X
+A Y
+C Z
+C Z
+C Y
+A Y
+A Y
+A Y
+C X
+B Y
+A Y
+C Z
+C Z
+A X
+C Z
+A X
+C Z
+B Z
+C Z
+A Y
+A Y
+C Z
+C Z
+C Z
+A Y
+A Y
+B Z
+C Z
+A X
+C Y
+A X
+A Y
+A X
+A X
+C Z
+C Z
+C Z
+A Y
+C X
+B Z
+C Z
+C Y
+B X
+A Y
+A Y
+A X
+A X
+B Y
+C Z
+A Y
+A Z
+B Z
+A Z
+A X
+A Z
+A X
+A X
+C Z
+C X
+C Z
+B Y
+C X
+C Z
+C Z
+A X
+A X
+A Y
+A Z
+A Z
+A Y
+C Z
+A Z
+A X
+A Y
+A Y
+A Z
+A Y
+A X
+B X
+A Y
+A Y
+C Z
+C Z
+C Y
+A X
+B X
+B Y
+A Y
+C Z
+A X
+A Y
+B Z
+A Y
+C X
+B X
+C Z
+A Y
+C X
+C Y
+A Y
+A X
+A X
+C Z
+C Y
+A Z
+A X
+C Z
+C Z
+A Z
+A X
+C Y
+C Z
+A Y
+A Y
+C Z
+C Z
+C Z
+C Z
+A Y
+C Z
+C Z
+C Z
+B Z
+A Y
+C Z
+A X
+C Z
+A X
+A Y
+C Y
+C Z
+B Y
+A X
+A X
+C Z
+C Z
+A Y
+A X
+C Z
+A Y
+C Z
+C Z
+A X
+A Z
+A Y
+C Z
+A Y
+C Z
+B Y
+C X
+C Z
+A X
+A Y
+C Y
+A X
+A Y
+A Y
+A Z
+A Y
+C X
+A Y
+B Y
+C Z
+C Y
+B Z
+A Y
+B X
+A Y
+C Z
+A X
+A X
+C Z
+C Z
+A X
+A X
+A Z
+C Z
+C Z
+A Z
+A X
+B Y
+B Z
+B Z
+C Z
+A X
+C Z
+C Z
+A Y
+C Z
+C Z
+B Z
+A X
+B Z
+C Z
+C Y
+A Z
+C Z
+A Y
+A X
+B X
+A Z
+C Z
+A Z
+B X
+A Y
+A Y
+B Z
+C Z
+B Z
+C Z
+A X
+C Y
+A Y
+B Y
+B Y
+C Z
+C Y
+A Y
+A Z
+C Z
+A X
+A Y
+A Z
+A X
+A X
+C X
+C Z
+C Z
+A Z
+C Z
+A X
+C Z
+C Z
+A X
+A X
+A Z
+A X
+A X
+C X
+A X
+C Z
+C Z
+C Z
+A Z
+A X
+B X
+A Y
+A X
+B Z
+B Z
+C X
+A Y
+A X
+B Z
+C Z
+A Z
+C X
+A Y
+A X
+B Z
+C Z
+C Z
+B X
+B X
+A X
+A X
+A Y
+A Z
+A X
+A X
+A Y
+B Z
+C X
+A X
+A Y
+B Z
+C Z
+A X
+A Z
+C X
+C X
+B Z
+B Y
+C Y
+A Y
+B Z
+C Z
+A X
+C Z
+A Y
+C Z
+C Z
+A Y
+C Y
+A X
+A Y
+B Y
+C Y
+C Y
+A X
+A Y
+C Y
+A Z
+C Z
+A Z
+B Z
+A X
+A Y
+C Z
+A Y
+B Y
+A X
+C Z
+A X
+C Y
+A Y
+A X
+C Z
+A X
+C Y
+B X
+A X
+A Y
+A Y
+C X
+C Z
+A X
+A Z
+A Y
+C Z
+A Y
+C Z
+B X
+C Z
+C Z
+A X
+A X
+A X
+A Y
+C Z
+A Y
+A Y
+A Z
+A X
+C Y
+C Z
+A Z
+A Y
+C Z
+C Z
+B X
+A X
+C Y
+A X
+A X
+B Y
+B X
+C Z
+A X
+C Y
+A Y
+C Z
+B Y
+C Z
+A Y
+A X
+A Y
+C Z
+A Z
+C Z
+B Z
+A Y
+C Z
+A Z
+A X
+A X
+C Z
+C Z
+A X
+A X
+A Y
+C X
+A X
+B Z
+B Z
+B Z
+C Z
+C Z
+A X
+C Z
+C X
+A X
+C Z
+A Y
+C X
+C Z
+B Y
+B Z
+C Z
+A X
+C X
+A X
+C Y
+A Y
+B Y
+C Z
+A Z
+C X
+A Z
+A X
+A Z
+A X
+A Z
+C Y
+C Z
+A Y
+A Y
+A X
+B Y
+C Z
+B Y
+C Y
+C Z
+A Z
+C Z
+A Y
+B Z
+C Z
+A Z
+C Y
+A Z
+A Z
+A X
+A X
+C Y
+C Z
+A Z
+A Y
+B Y
+A Z
+C Z
+C Z
+B X
+C Z
+A X
+C Z
+B Z
+A Y
+A X
+B Y
+C X
+C Z
+A Z
+B X
+C Z
+C Z
+B Y
+B Z
+A Y
+A Y
+A X
+C Z
+A Z
+C Z
+A X
+C Z
+C Z
+A X
+A X
+A Y
+C Z
+B Y
+A X
+A Y
+A X
+C Z
+A Y
+A Y
+A Y
+C X
+C Z
+A X
+C Z
+B X
+A X
+A Z
+C Z
+A Y
+A Z
+A Z
+A X
+B Z
+A X
+C Z
+A Y
+B X
+C Z
+B Y
+B X
+C Z
+A X
+A Y
+A X
+A Z
+A Y
+A X
+C Y
+C Z
+B X
+C Y
+C Z
+B X
+A Z
+C Z
+C Z
+B Y
+B Z
+C Z
+C Z
+C Z
+C Z
+B Z
+B Y
+A Y
+C Z
+C Z
+B Y
+A Y
+C Z
+A Y
+C Z
+C Z
+C Z
+A Y
+B X
+A Z
+B Y
+C Z
+B Y
+C Z
+A Y
+B Z
+A X
+B Y
+B Y
+A Y
+B X
+C Z
+A Z
+C Y
+A X
+C Z
+C Z
+A X
+C Z
+A Y
+A X
+C Z
+A X
+A Z
+B Z
+C Z
+A Y
+A Y
+A X
+A Y
+C Z
+B Z
+C Z
+C Z
+C Z
+A Y
+C Y
+A Y
+A Y
+A X
+B Y
+A Y
+A Y
+B Z
+B Y
+C Z
+A Y
+A X
+A Y
+A Z
+A Y
+C Y
+C Z
+B Y
+A Y
+A X
+C X
+A Y
+C Z
+A Z
+C Z
+A X
+C Y
+A Y
+B Y
+B Z
+A Y
+C X
+B Y
+A Z
+A X
+A X
+A X
+A X
+A Y
+C Y
+A Y
+A X
+C Z
+A Y
+A X
+C Z
+B Y
+B X
+C Z
+B Z
+A Y
+A X
+C Z
+C Z
+A X
+C Z
+A Y
+C Z
+C Z
+C Z
+C X
+A Y
+A Y
+C Z
+C Z
+A X
+A X
+A Z
+A Y
+C Z
+A Z
+C Z
+C Z
+A X
+A Y
+A X
+C Y
+A Y
+A X
+A Y
+A X
+C Z
+C Y
+C Z
+C Y
+B Y
+A X
+A Y
+A Y
+B Z
+A Z
+C X
+C Z
+C Z
+A Y
+B X
+C Z
+A X
+A Y
+A Y
+A X
+A X
+C X
+B Y
+B X
+A X
+C Z
+A X
+A Y
+C Y
+A X
+A X
+B Z
+A X
+C Z
+A X
+A Y
+A Y
+C Z
+A Y
+A Y
+C Z
+A X
+A Y
+B Y
+C Z
+C X
+C X
+B X
+A Z
+A Y
+A X
+B X
+A Y
+A Z
+C Z
+A Z
+C X
+A Y
+C Z
+A Y
+A Y
+A X
+C Z
+C Z
+C Z
+C Z
+B X
+A X
+A Z
+A X
+A Y
+A X
+A X
+B Z
+C Z
+C X
+B Y
+A Y
+A X
+C X
+C Z
+B Z
+A Y
+B Z
+A X
+A X
+B Y
+A Z
+A Y
+A Y
+B X
+A Y
+A Y
+A Y
+C Z
+C Z
+B Z
+A Y
+A X
+A Y
+C Z
+C Z
+C Z
+A Z
+A Y
+B X
+A Y
+A Y
+A X
+A X
+C Z
+B Z
+C Z
+C Z
+C Z
+A Y
+C Y
+A Y
+C Z
+C Z
+B X
+C Z
+C Z
+C X
+A Y
+C Z
+A Y
+C Z
+A Y
+
diff --git a/day02/test b/day02/test
@@ -0,0 +1,3 @@
+A Y
+B X
+C Z