diff --git a/AdventOfCode/AdventOfCode.csproj b/AdventOfCode/AdventOfCode.csproj
index 138f720..e15cd69 100644
--- a/AdventOfCode/AdventOfCode.csproj
+++ b/AdventOfCode/AdventOfCode.csproj
@@ -9,12 +9,20 @@
+
+
PreserveNewest
+
+ PreserveNewest
+
+
+ Always
+
diff --git a/AdventOfCode/Problems/AOC2022/Day2/RockPaperScissors.cs b/AdventOfCode/Problems/AOC2022/Day2/RockPaperScissors.cs
new file mode 100644
index 0000000..6a772eb
--- /dev/null
+++ b/AdventOfCode/Problems/AOC2022/Day2/RockPaperScissors.cs
@@ -0,0 +1,113 @@
+using AdventOfCode.Runner;
+using AdventOfCode.Runner.Attributes;
+
+namespace AdventOfCode.Problems.AOC2022.Day2;
+
+[ProblemInfo("2022", 2, "Rock Paper Scissors")]
+internal class RockPaperScissors : IProblem
+{
+ private string[] _lines;
+ private int _part1Score;
+ private int _part2Score;
+
+ public RockPaperScissors()
+ {
+ _lines = Array.Empty();
+ }
+
+ public void LoadInput()
+ {
+ _lines = File.ReadAllLines("Problems/AOC2022/Day2/input.txt");
+ }
+
+ public void CalculatePart1()
+ {
+ var totalScore = 0;
+ foreach (var line in _lines)
+ {
+ var move = line[0];
+ var response = line[^1];
+
+ totalScore += GetMoveValue(response);
+ totalScore += GetResult(move, response);
+ }
+ _part1Score = totalScore;
+ }
+
+ private static int GetMoveValue(char move)
+ {
+ return move switch
+ {
+ 'A' => 1,
+ 'B' => 2,
+ 'C' => 3,
+ 'X' => 1,
+ 'Y' => 2,
+ 'Z' => 3,
+ _ => 0,
+ };
+ }
+
+ private static int GetResult(char move, char response)
+ {
+ return (move, response) switch
+ {
+ ('A', 'X') => 3,
+ ('B', 'X') => 0,
+ ('C', 'X') => 6,
+ ('A', 'Y') => 6,
+ ('B', 'Y') => 3,
+ ('C', 'Y') => 0,
+ ('A', 'Z') => 0,
+ ('B', 'Z') => 6,
+ ('C', 'Z') => 3,
+ _ => 0,
+ };
+ }
+
+ private static int GetResultValue(char result)
+ {
+ return result switch
+ {
+ 'X' => 0,
+ 'Y' => 3,
+ 'Z' => 6,
+ _ => 0,
+ };
+ }
+
+ private static int GetResponseValue(char move, char result) {
+ var p = result switch
+ {
+ 'X' => (GetMoveValue(move) + 2) % 3, //Lose
+ 'Y' => GetMoveValue(move), //Tie
+ 'Z' => (GetMoveValue(move) + 1) % 3, //Win
+ _ => 0
+ };
+ return p == 0 ? 3 : p;
+ }
+
+
+ public void CalculatePart2()
+ {
+ var score = 0;
+ foreach (var line in _lines)
+ {
+ var move = line[0];
+ var result = line[^1];
+ score += GetResponseValue(move, result);
+ score += GetResultValue(result);
+ }
+ _part2Score = score;
+ }
+
+ public void PrintPart1()
+ {
+ Console.WriteLine($"P1: {_part1Score}");
+ }
+
+ public void PrintPart2()
+ {
+ Console.WriteLine($"P2: {_part2Score}");
+ }
+}
\ No newline at end of file
diff --git a/AdventOfCode/Problems/AOC2022/Day2/input.txt b/AdventOfCode/Problems/AOC2022/Day2/input.txt
new file mode 100644
index 0000000..ef2bbca
--- /dev/null
+++ b/AdventOfCode/Problems/AOC2022/Day2/input.txt
@@ -0,0 +1,2500 @@
+B Y
+A Z
+A Z
+C Z
+B Y
+B Y
+B X
+B Z
+C Z
+B X
+B Y
+A Z
+B Y
+B Z
+B Y
+C Z
+B Z
+B Y
+B Z
+C Y
+B Y
+A Z
+B Y
+B Y
+B Y
+C Y
+A Z
+B Y
+B X
+A Z
+B X
+A Z
+A Z
+B Y
+B Y
+B X
+A Z
+B Y
+B Z
+C X
+C X
+B Y
+B Y
+B X
+B X
+C X
+B X
+A Z
+B Y
+B Y
+C X
+A Z
+B Y
+B Z
+B X
+B X
+A Z
+A X
+B Y
+B Y
+B Z
+C Z
+B Z
+B Z
+B Z
+A Z
+A Z
+B X
+B X
+B Y
+B X
+B X
+C Z
+C Z
+A Z
+A Y
+A Z
+B Z
+A Z
+B Y
+C X
+B X
+C X
+B Z
+B Z
+C Z
+B Z
+B X
+C X
+A Z
+C X
+B Z
+A Y
+C Z
+B Y
+C Y
+B X
+A X
+B Y
+B X
+B X
+B Z
+B Y
+A Z
+B Z
+B Y
+B Y
+A X
+A Z
+B X
+B X
+B X
+B X
+B Z
+B Z
+B Y
+C X
+A Z
+A Z
+B Y
+B Z
+B Y
+A Z
+B Z
+A Z
+A Z
+C X
+B Z
+A Z
+A Z
+B Y
+B Z
+A Z
+B Y
+B Y
+A Z
+B Y
+C X
+B Z
+B Y
+B X
+C X
+B X
+B X
+B X
+A Z
+A Z
+C Y
+A Z
+B Y
+A Z
+C X
+B Z
+B Z
+C X
+B Y
+C X
+B X
+B X
+C X
+A Z
+B Y
+C X
+B X
+B Y
+A Z
+B Y
+B Y
+C X
+B Y
+C X
+A Z
+A Z
+A Z
+B Y
+B Y
+A X
+A Z
+A Z
+B Y
+C X
+C Y
+B Y
+C X
+A Z
+B X
+A Z
+A Z
+C X
+B Y
+A Z
+B Y
+C X
+A Z
+B X
+B Y
+A Z
+B Y
+B X
+B X
+C X
+B Y
+C Y
+A Z
+B Y
+B Y
+C Y
+B Y
+C Y
+C X
+A Y
+A Y
+B Z
+B Y
+A Z
+B Z
+B X
+B X
+B Y
+A Z
+B Y
+B X
+B Y
+B Y
+C Z
+B Y
+B Y
+A Z
+A Z
+B Z
+A Y
+C X
+B Y
+B Y
+B Z
+B Z
+B Y
+C X
+B Y
+B X
+B Z
+B Y
+B X
+B Y
+C Z
+B Y
+B X
+A Z
+B Z
+B Z
+A Z
+C X
+B Y
+C Z
+A Z
+B Y
+C Z
+B Y
+B X
+B Y
+B X
+C Z
+B Z
+A Z
+A Z
+A Z
+A X
+B Z
+B Y
+B X
+B Y
+A Z
+B Z
+C Z
+B X
+B Z
+B Z
+A Z
+B Y
+B X
+A Z
+A Z
+B Y
+B X
+A Z
+A Z
+C Z
+A Z
+C Z
+B Y
+B Y
+B Z
+C X
+A Z
+B X
+B Y
+B X
+B Y
+B Y
+B X
+B Z
+B X
+C Z
+C X
+C X
+A Z
+A Z
+B X
+B X
+A Y
+C X
+B Y
+A Y
+B Z
+B X
+A Z
+B X
+B Y
+B Y
+B Y
+B Y
+A Z
+A Z
+B Y
+B X
+C Z
+B Z
+C X
+B Z
+B Y
+C X
+A Z
+B Y
+A Z
+A Z
+B Z
+B Y
+B X
+A Z
+B X
+B Y
+A Z
+B Z
+B X
+B X
+A Z
+C Y
+B X
+A Z
+B X
+B Y
+C X
+B Y
+C Z
+C X
+B Y
+B Y
+B Y
+B X
+B Y
+B X
+A Y
+A Z
+B Z
+B Y
+B X
+B Z
+B Y
+C Z
+B Y
+A Z
+B X
+A Z
+C X
+A X
+B Z
+B Z
+C X
+A Z
+B X
+A Z
+A Z
+B Z
+A Z
+B Y
+B Z
+C Z
+A Y
+A Z
+A Z
+A Z
+C X
+B Z
+B Z
+B Y
+B X
+B Y
+B Y
+B Y
+B Z
+B Y
+B Y
+A Z
+B Z
+A Z
+C X
+B Y
+B X
+B Y
+B X
+B Y
+B Y
+C X
+B Y
+B Y
+B Z
+B Y
+C X
+B Y
+B X
+B Y
+C X
+A X
+A Z
+C Z
+B Y
+C Z
+B X
+C Z
+C X
+C Z
+B Y
+B Y
+C X
+C X
+B Y
+C X
+A Y
+B Y
+B X
+B X
+B Z
+B Y
+C Y
+C X
+B X
+B Y
+B Z
+B X
+B Z
+B Z
+C X
+B X
+B Y
+B Z
+B X
+C Z
+A Y
+B Y
+B Y
+B Y
+A Y
+C Y
+B Y
+B Z
+B Z
+B Y
+B Y
+B Z
+B X
+B X
+B Y
+A Z
+C Y
+C Z
+B Y
+B X
+B Y
+B Y
+C X
+B Y
+C X
+A Z
+B X
+C X
+C Z
+A Z
+A Z
+B Y
+C X
+A Z
+A Z
+B Y
+A Y
+B Y
+A Z
+A Z
+B X
+C X
+A Z
+B X
+B Z
+A Z
+A Z
+B X
+B Y
+B X
+B Z
+B Y
+B Y
+B Z
+C X
+C X
+B Y
+A Z
+B X
+B X
+B Y
+B Z
+B Y
+B X
+B Z
+B X
+B Y
+C X
+B Y
+B Y
+C Y
+A Z
+B Y
+B X
+B Y
+A Z
+C X
+A Z
+A X
+B Z
+B X
+A Z
+B Y
+B X
+B X
+A Z
+B Y
+A Z
+B Z
+B Y
+A Z
+B Y
+B Y
+A Z
+B Z
+C Z
+B Y
+B Y
+C Y
+A Z
+B Y
+B Y
+B Y
+B Y
+B Z
+B Y
+B Y
+B Y
+C X
+B Z
+B X
+A Z
+B Z
+C X
+B Y
+B Y
+A Z
+B Y
+B X
+A Z
+A Z
+C Z
+B X
+B X
+B Y
+B Z
+B Z
+B Z
+B Y
+B Y
+B Y
+B Y
+B Z
+B Y
+A Z
+A Y
+A Z
+B Y
+B Y
+A Z
+B X
+B Y
+A Z
+C Z
+B Z
+B Z
+B Y
+A Z
+A Z
+B Y
+B X
+B Z
+B X
+B Y
+B Y
+B X
+C X
+B Z
+B X
+A Z
+B Y
+C Z
+B X
+A Z
+C Z
+C Z
+A Z
+B Y
+B Y
+A Y
+B Y
+C Z
+B X
+C X
+B Y
+B X
+B Z
+B Y
+B Z
+B Y
+B Y
+A Z
+B X
+B X
+A Y
+B Z
+B X
+B Z
+A Y
+B Z
+C X
+B X
+B X
+B Z
+B X
+C Y
+B Y
+C X
+C X
+B Z
+B X
+C Z
+B Z
+A Z
+C Y
+B Y
+B Y
+B X
+B Z
+B Y
+B Y
+B X
+C X
+B Y
+B Y
+C Y
+B Z
+C X
+A Z
+B X
+B X
+B Z
+B X
+B Y
+A Z
+B Z
+B X
+A Z
+B Y
+C X
+A Y
+A Z
+C X
+B X
+B Z
+B X
+C X
+A Z
+B X
+B Y
+B Y
+A Z
+B Z
+C X
+A Z
+B Z
+C X
+B X
+A Z
+C X
+C Z
+B Y
+B Z
+B Y
+B X
+C Z
+B Z
+B Z
+B Y
+A Z
+C Z
+A Y
+B Y
+C X
+B Y
+B Z
+A Z
+B Z
+A Z
+B X
+C X
+B Y
+A Z
+B Y
+B X
+C Z
+B Z
+C X
+B Y
+B X
+C Y
+B Y
+C X
+B Y
+B Y
+B Y
+B Z
+B Y
+B X
+B Y
+B Y
+A Z
+A Z
+C X
+B Z
+B Y
+A Z
+B X
+C X
+B Y
+B X
+A Z
+C Z
+A Z
+B Z
+B Y
+B X
+B Z
+B Y
+A Z
+C X
+C Z
+A Y
+A Z
+C X
+C Y
+C Z
+B Y
+B X
+B Z
+B Y
+B X
+B Y
+A Z
+B Y
+C X
+B X
+B Y
+C Z
+B Y
+B Y
+B Y
+B X
+B Y
+C Z
+B X
+B Y
+B Y
+B Z
+B X
+B X
+B Z
+B Z
+A Z
+A Z
+C X
+B Y
+B Y
+C X
+B Y
+B X
+A Y
+C Z
+B Y
+B Z
+B Y
+B Y
+A Z
+B Y
+B Z
+B Y
+B Z
+B X
+B Z
+B Y
+A Z
+B X
+B Z
+B Y
+B Y
+B Z
+B Y
+A Z
+B X
+B Y
+B Z
+B X
+B Y
+B X
+B X
+B Y
+B X
+C Y
+B Z
+B Y
+B Z
+C Y
+A Z
+B Y
+A Z
+B X
+A Z
+A Z
+C Z
+B X
+C Y
+A Z
+B Z
+B Z
+B X
+B Z
+B Y
+A Z
+B Z
+C Z
+A Z
+C Y
+A Z
+B Y
+A Z
+B Y
+A Z
+B X
+A Z
+B Z
+C X
+B Y
+B Y
+B Y
+C X
+B Z
+C X
+A Z
+A Z
+C X
+B Y
+B Z
+B X
+B Y
+B X
+A Z
+B Y
+B Y
+A Z
+B Y
+B Z
+B Z
+B X
+B Z
+B Y
+B X
+B Y
+B Y
+C X
+C Z
+B Y
+B Y
+B Y
+B Z
+B Y
+B Y
+B Y
+A Z
+B Y
+B X
+B Y
+B X
+B Z
+B Y
+B X
+B X
+A Y
+B Y
+B X
+B Y
+B Y
+B Y
+B Z
+B X
+A Z
+B Y
+B Y
+B Y
+A Z
+B X
+B X
+C Z
+B Y
+B Y
+A Z
+B Y
+B Z
+B X
+C X
+B Y
+B Y
+C X
+C Z
+B X
+A Z
+B Y
+B Y
+B X
+B X
+B X
+B Y
+B Y
+A Z
+A Z
+B Y
+B Y
+A Z
+B Z
+A Z
+C X
+C X
+B Y
+B Y
+A Z
+A Z
+C Z
+B Z
+B X
+A Z
+B X
+B Y
+B Y
+B X
+B Y
+B Y
+C Z
+B Y
+B X
+C Z
+C Z
+B X
+B Y
+B Y
+B Z
+A Z
+B Y
+B Y
+B Y
+B X
+B X
+A Z
+A Z
+B X
+B Y
+B Z
+B Y
+B Z
+B Y
+B Z
+C X
+B Y
+C X
+B Y
+B Y
+C Y
+A Z
+B X
+C Z
+B Y
+B Z
+B Y
+B Y
+B Y
+C X
+B X
+B Y
+A Z
+C Y
+B Y
+A Z
+B Y
+B Z
+B Z
+B Y
+B Y
+B Y
+C X
+B Y
+A Y
+C Y
+B X
+B X
+B X
+B X
+B Z
+B X
+B Z
+B Y
+B Y
+A Z
+B X
+B X
+A Z
+A Y
+B Y
+B Z
+B Y
+C X
+B Y
+B X
+B Z
+C X
+B Z
+B Y
+B X
+B X
+A Z
+B Y
+B Y
+B Y
+C X
+A X
+B X
+C X
+B X
+C X
+B X
+A X
+B Y
+B Y
+B Y
+B Y
+B Z
+C Y
+C X
+A Z
+B Z
+B Z
+B Y
+B Z
+B Y
+B Y
+B X
+B Z
+A Z
+A Z
+B Z
+B X
+B Z
+A Z
+B Y
+B Y
+B Y
+B Z
+A Y
+B X
+B Z
+B Y
+B Y
+B Y
+B Y
+C X
+B Z
+C X
+A Z
+A Z
+B Z
+A Y
+C X
+B X
+B X
+C X
+A Z
+A Z
+A Z
+B Y
+B Z
+A X
+A X
+B Y
+C X
+A Z
+B Z
+A Z
+B Y
+B Y
+B X
+B X
+B Y
+C X
+B Z
+B Y
+B X
+B X
+B Y
+B Z
+B Y
+B Y
+B X
+B X
+B X
+B Y
+C X
+B Y
+B Y
+B X
+B Y
+B Y
+B X
+B X
+A Z
+C X
+B X
+A Z
+B Y
+B Y
+B Z
+B Y
+B X
+A Z
+C Y
+B X
+B Z
+B Y
+C X
+A Z
+B X
+A Z
+A Z
+B Y
+B Z
+B Y
+A Z
+B Y
+B Z
+A Z
+C Z
+B Y
+B Y
+B X
+B Z
+B Y
+B X
+B X
+B Y
+B Z
+B X
+B Y
+C Z
+A X
+B Y
+C X
+A X
+B X
+B X
+B Z
+A X
+B X
+B Y
+B X
+A Z
+B Z
+C Z
+B X
+B X
+A Z
+B X
+B X
+B Z
+B Y
+B Y
+A Z
+B Y
+B Y
+B X
+B X
+B X
+B Y
+A Y
+C X
+B X
+A Z
+B X
+B Y
+C Z
+B Y
+B Y
+A Z
+B Y
+A Z
+B Y
+A Z
+B Y
+B Y
+A Z
+B X
+B X
+B Y
+B Y
+B Y
+A Z
+B Y
+B Y
+A Z
+B X
+A X
+A Z
+B Y
+B X
+B Z
+B Z
+B Y
+B Y
+C Y
+B Y
+B Y
+B X
+B Y
+A Z
+C X
+B Z
+B X
+B Z
+A Z
+B Y
+B Z
+B X
+A Z
+A Z
+C X
+B X
+A Y
+C X
+B Z
+B Z
+C Z
+B Z
+B Z
+C Y
+A Z
+C Z
+A Z
+C Z
+B Z
+B Y
+C X
+B Y
+B X
+A Z
+C Y
+B X
+B Y
+B Y
+B X
+B Y
+A Z
+A Z
+B Y
+B Z
+B Y
+C X
+B X
+B Y
+B X
+A Z
+C X
+B Y
+B Y
+B Y
+B Y
+C Z
+B Y
+C Z
+A X
+C Z
+B X
+B Y
+B Y
+B X
+B Y
+C X
+C X
+A Z
+B Y
+B Y
+C X
+B Z
+C Y
+B Z
+B Z
+B Z
+B X
+B X
+B X
+B Z
+B X
+C X
+B Y
+C X
+B X
+C Z
+B Y
+B X
+B Z
+B Y
+B Y
+B Y
+B Y
+B Y
+B X
+B X
+A Z
+B Y
+B X
+B Y
+B Y
+A Y
+B Y
+B Y
+A Z
+A Z
+C Z
+B X
+B Y
+B Y
+B Z
+C Z
+C X
+A Z
+C X
+A X
+B X
+B Z
+B Y
+A Z
+C Z
+B Y
+C Z
+B X
+A Z
+B X
+A Z
+B Y
+A Y
+B Y
+B Y
+A Z
+C X
+B X
+B Y
+A Z
+B Z
+B Y
+B X
+B X
+C Y
+B X
+A Z
+B Z
+A Z
+C X
+C Y
+B Z
+B Z
+A Z
+B X
+B Y
+B X
+C X
+B Y
+B Y
+B X
+C X
+B X
+B Y
+B X
+B Y
+B Z
+B Y
+B X
+B X
+A Z
+B Y
+B Y
+C X
+C Y
+C X
+A Z
+A Z
+B X
+B X
+B Z
+A Z
+A Z
+C Z
+B Z
+A X
+B X
+B Y
+B Y
+A Z
+B Y
+B X
+B X
+B X
+B Y
+B X
+B Y
+B Y
+B Y
+B Y
+B Y
+B Y
+B Z
+A Z
+B Y
+B X
+C X
+A Y
+B Y
+B Y
+B Z
+C Z
+B X
+C X
+B Z
+B Y
+B Y
+B X
+B X
+B X
+A Z
+B X
+A Y
+B Y
+B Y
+C X
+A Z
+B Y
+C X
+B Y
+B X
+B X
+B X
+C Z
+B X
+A Z
+B Y
+B Y
+B Y
+A Z
+A Z
+B X
+A Y
+B Y
+B Y
+B Y
+B X
+B X
+B Z
+B X
+B Z
+B X
+B Y
+A Y
+A Z
+C Y
+B Z
+C X
+B Z
+B Y
+B X
+A Y
+B Y
+B X
+B Y
+B X
+C Z
+B X
+C Z
+B Y
+B X
+B Z
+A Y
+A Y
+C Z
+B X
+B X
+B Y
+A Z
+B Y
+B Z
+A Z
+B X
+B X
+B X
+B X
+B X
+B Z
+A Z
+A Z
+C Y
+C X
+A Z
+A Z
+C X
+B X
+B X
+B Z
+B X
+A Z
+B Y
+B X
+B Y
+C X
+A Z
+B Z
+C X
+B Y
+B Y
+A Z
+B Y
+B Y
+B X
+B Y
+C Y
+B X
+B Z
+B Y
+A Z
+B Z
+A Y
+B Y
+A Z
+B X
+B Y
+A Z
+B Y
+C Z
+B Z
+B Y
+C X
+C X
+B X
+B Z
+B Y
+B Z
+B Z
+B Z
+B Z
+A Z
+B Y
+B X
+B Z
+B Y
+B X
+A Z
+A Z
+A Z
+B Y
+C Y
+C Z
+B Z
+B X
+B Y
+B Z
+B Y
+A Z
+A Z
+C Z
+B X
+B Y
+B Z
+B X
+A Y
+A Y
+B Y
+A Y
+B Z
+B Y
+A Z
+B Y
+B Y
+B Y
+C Z
+B X
+B Z
+B X
+B Y
+B Y
+B Y
+C X
+B X
+B Y
+B Z
+B X
+B Y
+B Y
+B Y
+B X
+B X
+B X
+A Z
+B Y
+B Y
+C X
+C X
+C X
+C X
+B Z
+A Z
+A Z
+B Z
+B Y
+B X
+A Z
+C Z
+B Y
+B X
+C Z
+C X
+B X
+B Y
+B Y
+B X
+B X
+B Y
+A Z
+B X
+B X
+B X
+B Y
+A Y
+B X
+A Z
+B Y
+B Y
+B Y
+C Y
+B Z
+B X
+B Z
+C X
+B Y
+B Z
+C X
+B X
+B X
+B Y
+B Y
+B Y
+A Z
+A Z
+A Z
+B Y
+B X
+C Z
+B Z
+B Y
+B Y
+B Y
+B Y
+B Z
+C X
+A Z
+C Z
+B Z
+B X
+B X
+A Z
+B X
+B Z
+A Z
+B Y
+B Y
+A Z
+B Y
+B Y
+C Y
+C Z
+B X
+A Z
+B Z
+B Y
+C Z
+C X
+B X
+A Z
+B Y
+B Z
+B X
+A Z
+A Z
+A Z
+B Y
+B X
+C X
+B Z
+B Z
+B X
+B X
+B Y
+A Z
+B X
+B X
+B Z
+A Z
+C X
+B X
+B Y
+B Z
+A Z
+B Y
+B Y
+B Y
+C X
+B Z
+A Y
+A Z
+B Z
+C X
+A Z
+A Z
+B Y
+C X
+B Y
+B Z
+C X
+B Y
+B Y
+A Z
+B Z
+A Z
+C Z
+A Z
+B X
+B Z
+A Z
+B X
+B Y
+C Z
+A Y
+B Y
+B Y
+B Y
+A Z
+B Z
+A Y
+A Z
+B Z
+B Y
+B Y
+A Y
+B Y
+C X
+B Z
+B Z
+A Z
+B X
+B X
+A Z
+B Z
+C Y
+A Z
+A Z
+B Y
+B Z
+B X
+C Y
+B Y
+B Y
+B Z
+B Y
+B Z
+B X
+B X
+B Y
+B Y
+C X
+C X
+B X
+B X
+C X
+A Z
+B Y
+C Z
+A Z
+B X
+B Y
+B Z
+A Z
+C Y
+A Z
+B Z
+A Z
+C X
+C X
+B X
+B X
+B Y
+B Y
+B Y
+B Y
+B Z
+B X
+B Z
+C Y
+B Y
+A Z
+B Y
+B X
+A Y
+B Y
+B Z
+C X
+B X
+A Z
+A Z
+B Y
+B Y
+A Z
+C X
+B X
+B Y
+B Y
+B Z
+A Z
+A Z
+C Z
+A Z
+B Y
+B Y
+B Y
+A Z
+B Z
+B Y
+A Z
+A Y
+B Y
+B Y
+B Z
+A X
+A Z
+B Z
+B X
+A Z
+B Z
+B Y
+B Y
+B X
+A Y
+C Y
+B Y
+B Y
+B X
+B Z
+A Z
+B X
+B X
+B Y
+B Y
+A Z
+B X
+C X
+B X
+B X
+A Z
+B Y
+C X
+A Z
+B X
+C Z
+A Z
+B Y
+B Y
+B X
+B X
+A Z
+C Z
+B X
+B X
+B Y
+A Z
+B Y
+B Y
+B X
+B Y
+B X
+A Z
+B Y
+B Z
+B X
+A Z
+B Y
+C Z
+C X
+A Z
+A Y
+B X
+B Z
+B Y
+B Y
+B Y
+B Z
+B Z
+A Y
+C X
+B X
+C X
+B Y
+B Y
+B Z
+B Y
+C Y
+C X
+B Z
+C X
+B Y
+B X
+B Y
+B Y
+A Z
+B Y
+A Z
+A Z
+A Z
+A Z
+B Y
+A Z
+B X
+B X
+B X
+C Z
+B Z
+C Y
+B Y
+A Z
+B Z
+B Y
+B Y
+B Y
+A Z
+B Z
+C Y
+C X
+B Y
+B Y
+B Y
+B X
+B Y
+B Z
+A Z
+B Y
+B Y
+C Y
+B Z
+B X
+B Y
+B X
+B Z
+B Y
+C Y
+C Y
+A Z
+B X
+B X
+A Y
+B Z
+A Z
+B Y
+B X
+B X
+B Z
+B X
+A Z
+B Y
+C X
+C X
+B Z
+A Z
+B Y
+B Y
+B Y
+B Y
+B Y
+B X
+B Y
+B Y
+B Z
+B Z
+A X
+A Z
+A Z
+A Z
+A Y
+C X
+B Y
+B Z
+B X
+A Z
+B Y
+B Y
+B X
+B Y
+B Y
+C Y
+C Y
+B X
+A Z
+B Y
+C X
+B Y
+A Y
+B X
+B X
+B Y
+C X
+A Z
+B Y
+B X
+C X
+C Z
+B Y
+B Y
+B Y
+A Z
+B X
+A Z
+C Z
+B Z
+B Y
+B Y
+B X
+B Y
+B Y
+B X
+A Z
+C X
+C Z
+B X
+B Y
+C Y
+B X
+A Z
+B Y
+A Z
+B Y
+A Y
+A Z
+A Z
+B Y
+B Y
+B Z
+C Z
+C X
+B Y
+B Z
+B Y
+A Z
+B Y
+B Z
+B Y
+B X
+B Y
+B Z
+B Y
+B Z
+C X
+B Y
+B Y
+C Z
+A Z
+B Y
+C X
+B X
+A Y
+B Y
+A Z
+B Y
+B X
+B Y
+B Y
+B X
+B X
+B X
+B Y
+B Y
+C Z
+B Z
+C X
+C Z
+B Y
+C X
+B X
+A Z
+B Y
+C Z
+A Y
+B Y
+B Y
+B Y
+C X
+B X
+B Y
+B Y
+B Z
+C X
+B X
+B Z
+A Z
+B X
+B Z
+B X
+A Z
+B Y
+B Z
+C X
+B X
+C X
+B X
+B Y
+B Z
+B Z
+B Z
+A Z
+B Y
+B X
+B Y
+B Y
+B X
+B Z
+B Y
+C X
+A Z
+B Z
+B X
+A Z
+B Y
+B Y
+B Y
+A Z
+A Z
+C X
+B X
+A Y
+B Y
+B Y
+B Y
+A Z
+A Z
+A Z
+C Y
+B Z
+A Y
+B Y
+B X
+B X
+B Y
+C X
+B Y
+C Z
+B Y
+A X
+B Y
+B X
+B Y
+B X
+C Z
+B Y
+B Z
+B X
+B Z
+A Z
+B Y
+B X
+B Y
+A Z
+B X
+C Y
+B X
+B Y
+B Y
+B Y
+C X
+B Y
+B Y
+B Y
+A Z
+B Z
+C X
+A Z
+B Y
+C Y
+B X
+A Z
+C Z
+B X
+B Y
+B X
+C Z
+B X
+B Z
+C Y
+B X
+B Y
+B X
+B Z
+B X
+B Z
+B Y
+B Z
+B X
+A Z
+B X
+A X
+B X
+B Y
+B Y
+B Y
+A Z
+B Y
+B Y
+B Z
+C X
+B Y
+B Y
+B Y
+B X
+B X
+B X
+C Z
+B Z
+B X
+A Z
+B Y
+B Z
+B Y
+B Y
+B Y
+B Y
+C X
+A Z
+B Z
+B Y
+B Y
+B Z
+A Z
+B Y
+B Z
+B Y
+B Y
+C Y
+A Z
+B Z
+C X
+B X
+C Z
+B X
+B X
+B Y
+B Y
+A X
+B Y
+C Z
+A Z
+B X
+C Z
+C Z
+B X
+A Z
+B X
+C Z
+B Z
+B Y
+B Y
+C X
+A Z
+B X
+B Y
+B X
+B X
+B X
+B Y
+C X
+B Z
+B Y
+B Y
+B Y
+B X
+A Z
+A Z
+B Y
+B Z
+B Y
+A Z
+B Y
+B X
+A Z
+B Z
+B Y
+B X
+B Y
+A Y
+B Y
+B Y
+B Y
+B Z
+B X
+B Y
+C Z
+C X
+B Y
+C Y
+B Z
+A Z
+A Z
+B Y
+B Y
+A Z
+B Z
+B Y
+B X
+A Z
+A Z
+C X
+A Z
+C X
+A Z
+B Y
+C X
+B X
+B X
+B Y
+A Y
+B Y
+B Z
+B X
+B Y
+B Y
+A Z
+B X
+B Y
+A Z
+A Y
+A Z
+C X
+A Z
+C X
+A X
+B Y
+B Y
+A Z
+B X
+B Z
+B Y
+B Y
+B Z
+B Y
+B Y
+B X
+B Y
+C X
+C X
+B Y
+B Y
+B X
+C Z
+C Z
+C Z
+C X
+B Y
+C Z
+A Z
+C Z
+B Y
+A Z
+B Z
+B X
+A Y
+B Y
+B Y
+B X
+B Y
+B Y
+C X
+B Y
+A Z
+B Y
+A Z
+C Z
+A Z
+B Y
+B Z
+A Z
+B X
+B X
+B Z
+B X
+B Y
+A Z
+B Y
+C X
+A Z
+C Z
+B X
+A Z
+B Y
+B Y
+C Z
+B Z
+A Z
+B Y
+B X
+B Y
+B Z
+C Z
+A Y
+A Z
+B X
+B X
+A Z
+C Y
+B Y
+A X
+A Z
+B X
+B Y
+B X
+A Z
+C X
+B Y
+B Y
+C X
+A X
+B Y
+A Z
+A Z
+B Y
+B Z
+B Y
+B Y
+B Y
+B X
+B Y
+B X
+B X
+B X
+B Y
+A Z
+C X
+A Z
+A Z
+A X
+A Z
+B X
+B Z
+B Y
+A Z
\ No newline at end of file
diff --git a/AdventOfCode/Problems/AOC2022/Day2/test.txt b/AdventOfCode/Problems/AOC2022/Day2/test.txt
new file mode 100644
index 0000000..1a6cc74
--- /dev/null
+++ b/AdventOfCode/Problems/AOC2022/Day2/test.txt
@@ -0,0 +1,3 @@
+A Y
+B X
+C Z
\ No newline at end of file
diff --git a/AdventOfCode/Program.cs b/AdventOfCode/Program.cs
index 8942ad9..3124cea 100644
--- a/AdventOfCode/Program.cs
+++ b/AdventOfCode/Program.cs
@@ -1,4 +1,5 @@
using AdventOfCode.Problems.AOC2022.Day1;
+using AdventOfCode.Problems.AOC2022.Day2;
using AdventOfCode.Runner;
namespace AdventOfCode;
@@ -9,7 +10,7 @@ internal class Program
{
var runner = new AOCRunner();
runner.RenderMenu();
- var cc = new CalorieCounting();
+ var cc = new RockPaperScissors();
cc.LoadInput();
cc.CalculatePart1();
cc.PrintPart1();