diff options
author | eug-vs <eugene@eug-vs.xyz> | 2022-12-02 16:38:10 +0300 |
---|---|---|
committer | eug-vs <eugene@eug-vs.xyz> | 2022-12-02 16:51:41 +0300 |
commit | ea2449a171230bf5bb79d4cc010aa72e720daf31 (patch) | |
tree | 57d122ccb4958c195921214f451aa2e1738b4491 | |
parent | 8d915727b98c41ca25de745a01f9d56df95d070d (diff) | |
download | aoc-2022-ea2449a171230bf5bb79d4cc010aa72e720daf31.tar.gz |
feat(day-2): dumb part 1 solution
-rw-r--r-- | day-2/index.js | 49 | ||||
-rw-r--r-- | day-2/input.txt | 2500 |
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 |