summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreug-vs <eugene@eug-vs.xyz>2022-12-02 16:38:10 +0300
committereug-vs <eugene@eug-vs.xyz>2022-12-02 16:51:41 +0300
commitea2449a171230bf5bb79d4cc010aa72e720daf31 (patch)
tree57d122ccb4958c195921214f451aa2e1738b4491
parent8d915727b98c41ca25de745a01f9d56df95d070d (diff)
downloadaoc-2022-ea2449a171230bf5bb79d4cc010aa72e720daf31.tar.gz
feat(day-2): dumb part 1 solution
-rw-r--r--day-2/index.js49
-rw-r--r--day-2/input.txt2500
2 files changed, 2549 insertions, 0 deletions
diff --git a/day-2/index.js b/day-2/index.js
new file mode 100644
index 0000000..3671a9b
--- /dev/null
+++ b/day-2/index.js
@@ -0,0 +1,49 @@
+const fs = require('fs');
+const input = fs.readFileSync('./day-2/input.txt').toString();
+
+const lines = input.split('\n');
+
+const [ROCK, PAPER, SCISSORS] = ['rock', 'paper', 'scissors'];
+const [LOSS, WIN, DRAW] = ['loss', 'win', 'draw'];
+
+const defeatMap = { // What defeats what
+ [ROCK]: SCISSORS,
+ [SCISSORS]: PAPER,
+ [PAPER]: ROCK,
+}
+
+const shapeMap = {
+ A: ROCK,
+ B: PAPER,
+ C: SCISSORS,
+
+ X: ROCK,
+ Y: PAPER,
+ Z: SCISSORS,
+}
+
+const shapeScores = {
+ [ROCK]: 1,
+ [PAPER]: 2,
+ [SCISSORS]: 3,
+};
+
+const outcomeScores = {
+ [LOSS]: 0,
+ [DRAW]: 3,
+ [WIN]: 6
+};
+
+const result = lines.reduce((acc, line) => {
+ const [opponentShape, shape] = line.split(' ').map(code => shapeMap[code]);
+ if (!shape || !opponentShape) return acc;
+
+ let outcome = LOSS;
+ if (shape === opponentShape) outcome = DRAW;
+ else if (defeatMap[shape] === opponentShape) outcome = WIN;
+
+ return acc + shapeScores[shape] + outcomeScores[outcome];
+}, 0)
+
+console.log(result);
+
diff --git a/day-2/input.txt b/day-2/input.txt
new file mode 100644
index 0000000..60a9320
--- /dev/null
+++ b/day-2/input.txt
@@ -0,0 +1,2500 @@
+A Y
+C Y
+C X
+A Y
+C X
+C Y
+B Z
+A Y
+A Y
+C Z
+A Y
+A Y
+A Y
+C Y
+A Y
+A Y
+A Y
+A X
+B X
+A X
+A Y
+C Y
+C X
+A Y
+A Y
+C Y
+A X
+A Y
+B Z
+A Y
+C X
+A Y
+A Y
+C Z
+C Y
+C X
+A Y
+A Z
+A Y
+A Y
+A Y
+A Y
+C Y
+C Y
+B Z
+B Z
+C Y
+B X
+A Y
+A Y
+A Y
+C Z
+A Y
+C X
+A Z
+C Y
+A Y
+A Y
+A Y
+A Y
+A Y
+C X
+A Y
+C Y
+A Y
+C Y
+A Y
+A X
+C Y
+A X
+A Y
+C Y
+C Y
+A Y
+C X
+A Y
+A Y
+A Y
+C X
+A Y
+A Y
+A Y
+C X
+A Y
+C X
+A Y
+A Y
+C Z
+A Y
+A Y
+A Y
+C X
+A Y
+A X
+C Y
+A X
+B Z
+C Y
+A Y
+A Y
+B Z
+C Y
+A Y
+A Z
+C Z
+C Y
+B Z
+A Y
+A Y
+C Y
+A Y
+C X
+A Y
+A Y
+C X
+C X
+C Y
+A Y
+A Y
+C X
+A Y
+A Y
+A Y
+A Y
+C X
+C Y
+A Y
+A Y
+A Y
+C Z
+A Y
+C Y
+A Y
+C X
+C Z
+A Y
+B X
+A Y
+C X
+A Y
+B X
+A Y
+C Z
+A Y
+A Y
+A Y
+A X
+A Y
+A Y
+A Y
+C Y
+A Y
+A Y
+A Y
+A Y
+C Y
+C X
+A Y
+A Y
+A Y
+A Y
+C Y
+A Y
+A Y
+A Y
+C Y
+B X
+A Y
+A Y
+A Y
+A Y
+A Y
+A X
+C Y
+A Y
+C X
+A X
+B Y
+A Y
+C X
+A Y
+C Y
+C Y
+A Z
+C Z
+C X
+B X
+C Y
+A Y
+C Z
+A Z
+A Y
+C X
+A Y
+A Y
+C X
+A Y
+B X
+C X
+A Z
+C Y
+A Y
+C X
+A Y
+A Y
+A Y
+B Z
+C Z
+A Y
+A X
+C X
+A Y
+A Y
+C Y
+A Y
+A Y
+A X
+A X
+C Y
+C X
+B X
+A Y
+A Y
+A Y
+A Y
+B Y
+A Y
+C Y
+A Y
+A X
+B Z
+A X
+C Z
+C X
+C X
+C Y
+C X
+C X
+A X
+C X
+A Y
+C Y
+A X
+C X
+B Z
+C Z
+A Y
+C X
+B Y
+A Z
+C Y
+C X
+A Y
+A Y
+A Y
+C X
+A Y
+A Y
+A Y
+A X
+B Y
+C Y
+C X
+B Z
+A Y
+A Y
+B Y
+A Y
+A Y
+A Y
+C X
+A Y
+A Y
+A Y
+A Y
+A Y
+A Y
+A Y
+A Y
+A Y
+C Y
+C Y
+C Z
+A Y
+C Y
+A Y
+A Y
+A X
+A X
+A Y
+A Y
+C Y
+A Y
+A X
+A Y
+A Y
+C X
+A Y
+C X
+C X
+C Y
+B Y
+A Y
+C X
+A Y
+A Y
+A X
+A Y
+A Y
+A X
+A Y
+B Z
+C Y
+A Y
+A Y
+A Y
+C Y
+C Z
+A Y
+A Y
+A Y
+A Y
+A Y
+C Y
+C Y
+C Y
+C Y
+C Y
+A X
+C Y
+A Y
+A Y
+A Y
+A Y
+C X
+A Y
+C Z
+A Y
+B Y
+A X
+A Y
+A Y
+A Y
+C Y
+C Y
+A X
+C Y
+A Y
+A Y
+A Y
+B Z
+A X
+A Y
+A Y
+A Z
+C Y
+A Y
+C X
+C Y
+C Y
+C Z
+B Y
+C X
+C X
+A Z
+C Y
+A Y
+A Z
+A X
+A Z
+C Y
+C X
+B Z
+A X
+C Y
+A Y
+C Y
+B Z
+A Y
+A Y
+C X
+C X
+C X
+A Y
+B X
+C X
+C Y
+C X
+A X
+A X
+B X
+A Y
+A Y
+A Y
+C X
+A Y
+C Y
+C X
+A Y
+B Z
+A Y
+A Y
+A Y
+B X
+A Y
+A Y
+A Y
+C Y
+A Y
+C X
+C Y
+C Y
+A Y
+B Z
+C Y
+C X
+C Y
+C X
+C X
+C Y
+A Y
+A Z
+A Y
+A Y
+A Y
+A Y
+C Z
+A Y
+A Y
+C Y
+A Y
+A X
+C Z
+C Y
+C X
+C X
+A Y
+A Z
+A Z
+B Y
+A X
+C X
+C X
+A Y
+A Y
+A Y
+C Z
+C X
+C X
+C X
+A Y
+C Z
+A Z
+C X
+C Y
+A X
+C X
+C X
+A Y
+C Y
+C Y
+B X
+B Z
+A Y
+A Y
+A Y
+B Z
+C Y
+A Y
+B Z
+A X
+C Y
+C Y
+B X
+C X
+B Y
+A Y
+B X
+C Z
+A Y
+A Z
+C Z
+C Z
+A Y
+A X
+A Y
+A X
+C Y
+A Y
+A Y
+A Y
+C X
+C X
+C X
+A Y
+A Y
+A Y
+A Y
+A Y
+C Y
+A Y
+C Y
+A Z
+C X
+C Y
+A Y
+A Y
+B Y
+C Y
+A Y
+C Z
+C Z
+A Y
+B Y
+A Y
+A Y
+A X
+C Y
+A Y
+A Y
+A Y
+C Z
+C Y
+C X
+A Y
+A Y
+B Z
+C Y
+C X
+C Z
+A Y
+C Y
+A Y
+A Y
+C X
+C Y
+C Y
+A Y
+C Y
+C X
+C Y
+A Y
+A Y
+A Y
+A Z
+B Z
+A Y
+A Y
+A X
+C Z
+C X
+A Y
+A Y
+A Y
+C X
+C Y
+B Z
+C X
+A Y
+A Y
+A Y
+C Y
+A Y
+C X
+C Z
+C X
+A Y
+A X
+A Y
+C Z
+C X
+B Y
+A Y
+A X
+A Y
+B Y
+A Y
+A Y
+C Y
+C Z
+C Y
+C Y
+C X
+A Y
+A Y
+A X
+A Y
+A Y
+A Z
+A X
+C Y
+A Y
+C Y
+C Y
+C Z
+C Y
+C Y
+A Z
+A Y
+C Z
+C Y
+C Y
+C Y
+B X
+C Y
+A Y
+C X
+A Y
+B X
+C Z
+C Z
+C Y
+A Y
+C X
+A Y
+A Y
+A Y
+A Y
+C Z
+A Z
+A X
+C Y
+C X
+A Y
+A Y
+C X
+C Y
+C Z
+C X
+C Y
+A X
+A Y
+A Y
+B X
+A Y
+A X
+C X
+A Y
+A Y
+A Y
+B Z
+A Z
+B Z
+C X
+B Z
+A Y
+C X
+A Y
+C X
+A Y
+A Y
+C Y
+A Y
+A Y
+B X
+A Y
+C Y
+A Y
+A Y
+A Y
+C Y
+A Y
+A Y
+A Y
+B Y
+A Y
+C Y
+A Y
+A Y
+A Y
+A Y
+C Y
+A X
+B X
+A Y
+B Z
+C X
+A X
+B X
+C Y
+A Y
+B X
+C Y
+A Y
+B X
+A Y
+C X
+B X
+A Y
+A Y
+A Y
+A Y
+C X
+C X
+A Y
+B X
+C Y
+A Y
+A Y
+A Y
+A Y
+B X
+A Y
+B Z
+C X
+A Y
+B Z
+C X
+C Z
+C Z
+B X
+C Y
+A Y
+A Y
+A Y
+A Y
+A Y
+A Y
+C Y
+A Y
+A Y
+A X
+A X
+C X
+A Y
+C Z
+C Y
+A Y
+C X
+A Z
+A Z
+A Y
+C Z
+A Y
+A Y
+A Y
+C Y
+A X
+C X
+C Z
+A Y
+A Y
+C X
+B X
+A Y
+A Z
+C Y
+A Z
+A Y
+A Y
+A Y
+A Y
+A Y
+B X
+A Y
+C Y
+C X
+A Y
+A Y
+C Z
+C Z
+C Y
+A Y
+B Z
+A Y
+A Y
+A Y
+A Y
+A Y
+C X
+A Z
+A Y
+C Y
+A Z
+C X
+A Y
+C X
+A Y
+A Y
+C Z
+C Y
+A Y
+A Z
+C X
+C X
+A Y
+B Z
+A Y
+B X
+C Y
+C X
+C Z
+A Y
+A X
+C X
+C Z
+C Y
+C X
+A Y
+A Y
+A Y
+A Y
+A Y
+A Y
+C Y
+A Y
+C Y
+A Y
+C Y
+B Y
+A Y
+A Y
+A Y
+A Y
+B Z
+C Y
+A Y
+C Y
+A X
+C Y
+A Y
+B Y
+C Y
+C X
+C X
+A Y
+A Y
+A Y
+C X
+A X
+A Y
+A X
+C Y
+A Y
+A Y
+C Y
+C Y
+A Z
+A Y
+A Y
+B X
+A Z
+B X
+A Y
+C Y
+A X
+C Y
+C Z
+B Z
+A Y
+A Y
+C Y
+A Y
+C Z
+A Y
+A X
+A Y
+C Y
+A Y
+A Y
+A Y
+A Y
+A Y
+A Y
+A Y
+A Y
+C X
+C Y
+A Y
+A Z
+A Y
+C X
+A Y
+C Z
+A Y
+C X
+A X
+A Y
+C Y
+A Y
+C X
+A X
+A Y
+A Y
+A Y
+C Y
+A Y
+C Y
+A Y
+B Y
+C Y
+C Y
+A Y
+A Y
+A Y
+A Y
+C Z
+A Y
+C Z
+A Y
+C Y
+B X
+A X
+C Y
+C Z
+A X
+A Z
+A Y
+A X
+C Z
+C Y
+A Z
+C Y
+A X
+A Y
+A Y
+A X
+C Z
+A X
+A Z
+C Y
+A Y
+C Y
+A Z
+B Z
+A Y
+C X
+C X
+A Y
+A Y
+A X
+A Y
+A Y
+A Y
+C X
+A Y
+B X
+A Y
+C X
+A Y
+C Y
+A Y
+C Y
+C Z
+C Y
+C Z
+A Z
+A Y
+C Y
+C Z
+C Z
+A Y
+A Y
+C Y
+A X
+A Y
+C Y
+A Y
+A Y
+A Y
+A X
+A Y
+B Z
+C Y
+C X
+A Y
+C X
+B X
+C Y
+C Y
+A Y
+C Y
+C Y
+A X
+A Y
+A X
+A Y
+A Z
+C Z
+B X
+A Y
+C X
+A Y
+C Z
+A Y
+C Y
+A Z
+A Y
+A Y
+A Y
+C Y
+C Y
+A Y
+A Y
+C Y
+A Y
+C Y
+C Y
+A X
+A Y
+C X
+C Z
+A Y
+A Y
+A Y
+C X
+C X
+C Y
+C Y
+C Z
+A X
+A Y
+C Y
+C Z
+A Y
+B Y
+A Y
+C Z
+C Z
+A Y
+A Y
+A Y
+B Z
+A Y
+A Z
+A X
+C X
+C X
+C Z
+A Y
+C Z
+A Z
+C Y
+C Z
+C X
+C Y
+C X
+A Y
+C Y
+A Z
+A Y
+A Y
+A Y
+A Y
+C Y
+A X
+C X
+A Y
+A Y
+C Z
+B Z
+A Y
+A Y
+C X
+A Y
+C Y
+C Y
+B Z
+A Y
+C Y
+A Y
+C X
+C X
+A Y
+C Y
+A X
+C X
+A Y
+C Z
+A Y
+C X
+A Y
+C X
+A Y
+C Y
+A Y
+C Z
+A Y
+C Z
+A Y
+A Y
+A Y
+C Y
+A Y
+A X
+A Z
+A Y
+C Y
+C Y
+A Y
+A Y
+B Z
+A X
+A X
+C X
+C X
+C Z
+C Z
+A Y
+A Y
+A Y
+A X
+A X
+A Y
+A Z
+C Y
+C Y
+C X
+A Y
+C X
+B X
+A X
+A Z
+A Y
+B X
+A Y
+B Z
+B Z
+A Y
+B X
+C Y
+A Y
+A Y
+C Y
+C Y
+A Y
+A Y
+A Z
+A Y
+C Z
+B X
+A Y
+C Y
+C Y
+A Y
+B X
+C X
+C Y
+A X
+C X
+A Y
+A X
+A Y
+A Y
+B Z
+A X
+C Y
+A Y
+A Z
+B Y
+A Y
+B X
+A Z
+C Y
+C Z
+C Z
+C Z
+C Y
+A Y
+C Y
+C Y
+B Y
+A Y
+C Z
+B Y
+A Y
+A Y
+A Y
+A X
+B Z
+A Y
+C Z
+A Y
+A X
+C Z
+C X
+A Y
+A Y
+A Y
+B Z
+B Z
+A Y
+C Z
+A Y
+A Y
+A Y
+C Y
+C Z
+C X
+A Y
+B Z
+C Y
+B Z
+C X
+C X
+A Y
+A X
+A X
+B Z
+C Y
+C Y
+C X
+A Y
+C X
+C X
+A Y
+C X
+C Z
+A X
+C Y
+C Y
+C Y
+A Y
+A X
+C Y
+A Y
+A Y
+C Y
+C X
+C Y
+B X
+C X
+A Z
+A X
+A Y
+C Y
+A Y
+A X
+C Y
+A Y
+A X
+C X
+A X
+C X
+C Y
+C Y
+A Y
+C X
+A Y
+A X
+C Y
+A Y
+C Z
+A Z
+A Y
+A Y
+A Y
+A Z
+A Y
+B X
+B Z
+C X
+A Z
+C X
+A Y
+A Z
+A X
+C Y
+C Y
+B Z
+A Z
+A Y
+A Y
+A Y
+B X
+C Y
+A Y
+A X
+A Y
+B Z
+B Z
+A Y
+A Y
+A Y
+C X
+C X
+C X
+C Y
+A Y
+C Y
+C Y
+A Y
+A Y
+A Y
+A Y
+C Y
+A Y
+C X
+A Y
+C X
+C Y
+C Y
+C Z
+B X
+A Y
+C Y
+A Y
+C Y
+A Y
+A Y
+A Y
+A Y
+B Z
+C Z
+C Y
+A X
+C Y
+A Y
+C Y
+C Y
+A Y
+B Z
+C Y
+B X
+B X
+A Y
+A Y
+C Y
+C Y
+B X
+A X
+C Y
+C X
+C Y
+A Y
+A Y
+C X
+A X
+A Z
+A Y
+A Z
+A Y
+B X
+A X
+C X
+A X
+C X
+C Z
+A Y
+C X
+C Y
+C X
+C Y
+A Y
+C Y
+A Y
+A Y
+C Y
+C Z
+C X
+A Y
+A Y
+A X
+C Y
+B Z
+A Y
+C Y
+B Z
+C Y
+A Y
+C Y
+A X
+A X
+A Y
+B X
+A Y
+C X
+C Y
+A Y
+A Y
+A Y
+C X
+C Z
+A Y
+C Y
+A Z
+C Y
+A Y
+C Y
+A Y
+C Z
+C Y
+C X
+A Y
+C X
+A Z
+B Z
+A Y
+A X
+A Y
+A Y
+A X
+A Y
+A Y
+A Y
+A Y
+C Y
+C X
+A Y
+A Y
+A Y
+A Y
+A Y
+C Y
+C Y
+C Y
+A X
+A Z
+A Y
+C X
+A Y
+A Y
+C Y
+B Y
+C Y
+A X
+A Y
+A Y
+A Y
+C X
+A X
+C Y
+C Z
+A Y
+B Z
+A Z
+C Y
+A Y
+A Y
+B Z
+A X
+A Y
+C Y
+A Y
+A X
+B X
+C Z
+B X
+A Y
+A Y
+C Y
+A Y
+A Z
+A Y
+A Y
+A Y
+C X
+A Y
+A Z
+A Z
+A Y
+C X
+A Y
+C Z
+C Y
+B X
+C Y
+A Y
+C Z
+B Z
+A Y
+C Y
+A Z
+A Y
+C X
+C Y
+A X
+A Y
+C Z
+A Y
+A Y
+A Y
+A Y
+B Z
+A Z
+C Z
+A X
+A Y
+A Y
+A Y
+A Y
+A Y
+C Y
+C Y
+A Y
+C X
+A Y
+A Y
+A X
+A X
+A Y
+C Y
+C Z
+A Z
+A Y
+A X
+B X
+B X
+B Z
+C X
+C Y
+A Y
+A Y
+A Y
+C Z
+A Y
+A Y
+A Y
+C Y
+C Y
+B Y
+C Z
+B Z
+C Y
+B Z
+A Y
+A X
+C X
+A X
+C X
+B Y
+A Y
+A Z
+A Y
+A X
+A Y
+A Y
+C X
+A Y
+A Y
+C X
+C X
+A Y
+C X
+C Z
+C X
+B Z
+B Z
+B Z
+C Y
+B Z
+C Y
+C Z
+B Y
+A Y
+C Z
+A Y
+C X
+C X
+B Z
+B Y
+A Y
+A Z
+C Y
+C X
+C Y
+A Z
+C X
+C X
+C X
+A Y
+A Y
+C Y
+A Y
+C Y
+C Y
+A Y
+C Y
+C Z
+A Y
+B Y
+C Y
+C X
+A Y
+A Y
+A X
+A Y
+C Y
+B Z
+A Y
+A Y
+A Y
+A Y
+C X
+B X
+A Y
+A Y
+A Y
+A Y
+B X
+A Y
+A Y
+A X
+C Y
+A Y
+A Y
+C X
+A Y
+A Y
+A Y
+C X
+B Y
+A Z
+C Y
+C X
+A Y
+A Z
+B X
+A Y
+A Y
+A X
+C Y
+C Y
+C Y
+A Y
+C Z
+A Y
+A Y
+C Y
+B Z
+A Y
+A Y
+C X
+A X
+A Y
+A Y
+A Y
+B Z
+C Y
+A Y
+C Y
+C Y
+A Y
+A Y
+C Y
+C Y
+A Y
+C Y
+A Y
+B X
+C Y
+A X
+A Z
+A Y
+A Y
+C Y
+C Y
+A Y
+C Z
+A Z
+A Y
+A Y
+C Y
+C Y
+C X
+C Y
+A Y
+C X
+C Y
+A Y
+C X
+C Y
+C Y
+A Y
+A Y
+A Y
+C X
+C Y
+A Y
+A Y
+C Y
+A Y
+C Y
+A Y
+A Y
+C Y
+C Y
+C Y
+A Z
+A Y
+C Y
+C Y
+A Y
+A X
+C X
+A Y
+C Y
+B X
+C Y
+A Y
+A Y
+C Y
+C Y
+A Y
+A Y
+A Y
+B Z
+A Y
+C Y
+A Y
+A Y
+C X
+C Y
+A Y
+A Y
+C Y
+C Y
+C Y
+C Z
+A Y
+A Y
+C X
+A Y
+C Z
+A X
+C X
+B X
+A Y
+C Y
+A Y
+A Y
+A X
+A Y
+A Z
+B Y
+A X
+A Y
+C Y
+C Y
+C X
+A Y
+C Y
+A Y
+C Y
+A Y
+C X
+C X
+A Y
+C Y
+C Z
+C X
+B X
+A Y
+B X
+A Y
+A Y
+C Y
+A Y
+C Y
+A Y
+A Y
+A Y
+A Y
+A X
+A Z
+A Y
+B X
+A Y
+A Y
+C X
+A Y
+C Z
+A Y
+A Y
+C Y
+C X
+C X
+A Y
+A Y
+B X
+C X
+A Y
+C Y
+A Y
+C Y
+A Y
+B Z
+A Y
+C Y
+A Y
+A Y
+A Y
+C Z
+A Y
+A X
+C X
+A X
+A Y
+A Y
+A Y
+C X
+C Y
+C Y
+C Y
+A Y
+A Y
+A Z
+C X
+A Y
+A Y
+A Y
+C Y
+C Y
+A X
+A Y
+C Y
+B Y
+A Y
+A Z
+C X
+A Y
+A Z
+A X
+A Y
+A Y
+A Y
+C Y
+A Y
+A Y
+A X
+C Y
+A X
+B X
+C X
+C Y
+A Y
+A Y
+A Y
+C Y
+A Y
+A Y
+A Y
+A X
+C X
+A Y
+A Y
+A Y
+C Y
+A Y
+B Y
+C Y
+C Y
+C Y
+C Y
+A Y
+A Y
+C Y
+C Y
+A Y
+C Y
+C Y
+A Y
+C Y
+C X
+C X
+C Y
+A X
+C X
+C X
+A Z
+C Y
+C Z
+A Y
+B Z
+A Y
+A Y
+B X
+C Y
+A Y
+C Z
+A Y
+C Z
+A Y
+A Y
+A X
+C Y
+C X
+C X
+C Y
+C X
+A Y
+A Y
+C X
+A Y
+A Z
+B X
+C X
+C Y
+B X
+B Z
+A Y
+A Y
+A Y
+C Y
+A X
+C Y
+C Y
+C X
+A Y
+C X
+A Y
+A X
+C X
+A Y
+A Y
+A X
+C Y
+B Y
+A Y
+A X
+A Y
+C Y
+A X
+C Y
+A Z
+A Y
+A Y
+C Z
+A Z
+C Y
+A Y
+C Y
+A Y
+A Z
+C Y
+C Y
+B Z
+B Y
+C X
+C X
+B Z
+A Y
+A Y
+A Y
+A Y
+A Y
+A Y
+C X
+A Y
+C Y
+A Y
+B Y
+A Y
+A Y
+B X
+A X
+C X
+C Y
+A Y
+C Y
+A Y
+A Y
+A Y
+A Y
+C X
+B Z
+A Z
+C Y
+B Y
+C X
+A Y
+A X
+A Y
+A Y
+C Y
+C Y
+A Y
+A Y
+C Y
+B Z
+C Y
+A X
+C Y
+A Z
+A Y
+A Y
+A Y
+B X
+A Y
+C Y
+C X
+B Y
+C Y
+A Y
+B Y
+A Y
+A Y
+C X
+C Y
+C Y
+A Y
+A Y
+C X
+C X
+C Y
+A Y
+C X
+C X
+B X
+C Y
+A Y
+C Y
+B Z
+A Y
+B X
+C Y
+C X
+A X
+A Y
+C Y
+A Y
+A Y
+A Y
+C X
+A Y
+C X
+C X
+A Y
+C Y
+A Y
+B Z
+C X
+C Y
+C Y
+B X
+A Y
+C Y
+A X
+A X
+B Z
+C X
+A Y
+C Y
+A Y
+A X
+C Y
+A Y
+A Y
+A X
+A X
+A Z
+C Z
+B Y
+C Y
+C X
+A Y
+A Y
+C Y
+A Y
+C Z
+C X
+C X
+C Z
+C Y
+C X
+C X
+A Y
+C Z
+B X
+C Z
+A Y
+A Y
+C Y
+C X
+C Z
+C X
+C X
+C Y
+C X
+C Y
+A Y
+A X
+A Y
+C X
+A Y
+A Y
+A Y
+A Y
+A Z
+C X
+A X
+B X
+A Y
+A Y
+C Z
+C Y
+A Y
+A Y
+C Y
+C Y
+C Y
+A Y
+A Y
+A Y
+B X
+A Y
+B Z
+A Z
+A X
+A X
+C Y
+A Y
+C Z
+A Y
+A Y
+C Y
+A Y
+A X
+C Y
+C Y
+A X
+A Y
+C Y
+A Y
+C X
+A Y
+C X
+A X
+A Y
+A Y
+A Y
+B X
+C Z
+A Z
+B Y
+A Y
+B Z
+B Z
+A Y
+C Z
+B Z
+A Y
+A Y
+A Y
+C Y
+B X
+A Y
+C X
+A Y
+C Z
+C X
+B Y
+C X
+C X
+B X
+C Y
+B Z
+A X
+A Y
+B Y
+C Z
+A Y
+A Z
+A Y
+C X
+A Y
+A Y
+C Y
+C X
+B Y
+B X
+C Y
+B X
+C Y
+A X
+A Z
+A X
+C X
+B Z
+C Y
+C X
+A Y
+A Y
+A X
+B X
+C X
+A Y
+B Y
+C Z
+A Y
+C Y
+A Y
+A Y
+A Y
+B X
+A Y
+C X
+A Y
+A Y
+A Y
+A X
+C X
+A X
+C Z
+C Y
+A Y
+A Y
+C Y
+A X
+C Z
+A Y
+A Y
+A Y
+B Y
+C Y
+C Y
+C Z
+C Z
+C Z
+A Y
+C Y
+A Y
+A Y
+A Y
+A Y
+A Y
+B Y
+C Y
+C Y
+A X
+C Z
+C Y
+A Y
+A Y
+A Y
+C X
+A Z
+A Y
+A Y
+A X
+A Z
+C X
+B Y
+A Y
+A Y
+C Y
+B X
+A Y
+A Y
+C Y
+C Y
+C Z
+A X
+C Y
+C X
+C X
+C Z
+A X
+B Z
+C X
+C X
+C Y
+C X
+C Z
+C X
+C X
+B Z
+B Z
+A Y
+B Z
+A Y
+A Y
+A Y
+B X
+C X
+A Y
+C Z
+A Z
+A X
+A Y
+B Y
+B X
+B Z
+A Y
+A X
+A X
+A Y
+C X
+B X
+A Y
+C Y
+A Y
+A Y
+C X
+C Y
+C X
+C Z
+B X
+C X
+C Z
+A Z
+A X
+A Y
+A Y
+A Y
+C Z
+A Y
+C Y
+C X
+A Y
+A Y
+C X
+C X
+A Y
+C Y
+C Z
+C Y
+C X
+B Y
+C Y
+C X
+A Y
+B X
+C X
+A Y
+A Y
+C Y
+C Z
+A Y
+A Z
+B Y
+A Y
+B X
+C Y
+C Z
+B X
+B X
+C X
+A Y
+B Z
+A Y
+A Y
+A Y
+A Y
+C X
+A Y
+A Y
+C Z
+C X
+B Y
+C Y
+C Y
+A Y
+C X
+B Z
+A Z
+C Y
+A Y
+B Y
+B X
+B Y
+A Z
+C Y
+C Z
+A Y
+C Z
+C X
+A Y
+A Z
+C Z
+A Y
+A Y
+A Y
+C X
+A Y
+C Y
+B Z
+A Y
+C X
+A X
+A Y
+C Y
+C Z
+C Y
+A Y
+C Z
+A Z
+A Y
+C Y
+A Y
+C X
+A Y
+A Y
+B Z
+A Y
+A Y
+A Y
+C Y
+C Y
+C Y
+C X
+C Y
+C X
+B Z
+A Y
+A Y
+A Z
+A Z
+A Y
+A Z
+A Y
+A Y
+A X
+C Z
+A Y
+A Y
+A Y
+C X
+C Y
+C X
+A Y
+A Y
+A Y
+C Y
+C X
+B Y
+A Y
+C Y
+C Y
+A Z
+C Z
+A Y
+A X
+A Y
+A Y
+B X
+A Y
+C Y
+A X
+C Y
+A Y
+A Y
+A X
+C Y
+A X
+B X
+C Y
+A Y
+A Y
+A Y
+A Y
+C Z
+C Y
+C X
+A X
+A Y
+C X
+C Y
+A X
+A X
+B Y
+B Z
+A Y
+C Z
+A X
+C Y
+A X
+A Y
+C Y
+C X
+C Y
+C X
+A Y
+A X
+A Y
+A X
+C Z
+A X
+A Y
+C Y
+C X
+C Y
+C X
+A Y
+C Y
+C X
+A Y
+A Y
+C Y
+C Y
+A Y
+A Z
+C Y
+A Z
+A Y
+C Y
+A Y
+A Y
+C Y
+A Y
+B X
+C X
+C Y
+C X
+A Y
+B Y
+C Z
+A Y
+C X
+A Y