From e4c7345d333ca2819d42ff2b9bc4b7d53cc213ff Mon Sep 17 00:00:00 2001 From: Bryce Allen Date: Fri, 2 Dec 2022 10:29:54 -0500 Subject: [PATCH] day2 --- day2/day2.jl | 35 + day2/day2b.jl | 33 + day2/day2input.txt | 2500 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 2568 insertions(+) create mode 100644 day2/day2.jl create mode 100644 day2/day2b.jl create mode 100644 day2/day2input.txt diff --git a/day2/day2.jl b/day2/day2.jl new file mode 100644 index 0000000..740abd9 --- /dev/null +++ b/day2/day2.jl @@ -0,0 +1,35 @@ +#!/usr/bin/env julia + +infile = size(ARGS, 1) > 0 ? ARGS[1] : "day2input.txt" +println("infile = ", infile) + +a_move_value = Dict("A"=>1, "B"=>2, "C"=>3) +x_move_value = Dict("X"=>1, "Y"=>2, "Z"=>3) +function score(opponent, self) + global a_move_value, x_move_value + oval = a_move_value[opponent] + sval = x_move_value[self] + + diff = sval - oval + + if diff == 0 + # tie + return 3 + sval + elseif (diff == 1 || diff == -2) + # win + return 6 + sval + else + # loss + return sval + end +end + +io = open(infile, "r") +total = 0 +for line in eachline(io) + global total + o, s = split(line) + total += score(o, s) +end + +println(total) diff --git a/day2/day2b.jl b/day2/day2b.jl new file mode 100644 index 0000000..040c197 --- /dev/null +++ b/day2/day2b.jl @@ -0,0 +1,33 @@ +#!/usr/bin/env julia + +infile = size(ARGS, 1) > 0 ? ARGS[1] : "day2input.txt" +println("infile = ", infile) + +a_move_value = Dict("A"=>1, "B"=>2, "C"=>3) +function score(opponent, self) + oval = a_move_value[opponent] + + if self == "X" + # need to lose + sval = 1 + mod(oval - 2, 3) + return sval + elseif self == "Y" + # need to tie + sval = oval + return 3 + sval + else + # need to win + sval = 1 + mod(oval, 3) + return 6 + sval + end +end + +io = open(infile, "r") +total = 0 +for line in eachline(io) + global total + o, s = split(line) + total += score(o, s) +end + +println(total) diff --git a/day2/day2input.txt b/day2/day2input.txt new file mode 100644 index 0000000..dd8db24 --- /dev/null +++ b/day2/day2input.txt @@ -0,0 +1,2500 @@ +C Z +A Y +C Z +A Y +C Y +A Z +B Y +C X +A Y +B X +B X +A Y +C Z +C Y +C Y +A Y +C Y +B X +B X +A Z +C Y +B Z +C Z +A Z +B Y +A Y +C Z +A Z +A Y +C Z +C Z +A X +A Y +B Y +C X +B Y +C Z +A Z +A X +A Z +A Y +C Y +C X +C Y +A Z +C Z +C Z +A Y +A Z +C Z +A Y +C Z +C Y +C Z +A Z +A Y +C Z +C Y +C Y +C X +B Y +B Y +C Y +A Z +A Z +B X +B Z +B X +A Y +A Z +A Y +C Y +B X +B Y +A Z +C Y +C Z +A Y +B X +C Z +A Y +C Z +C Z +A Y +B Z +C Z +A Y +B X +A Y +C Z +C Z +B Y +B Z +B Z +A Y +A Z +B Y +C Z +C Y +C Z +A Y +C Z +C Z +C Z +C Y +A Z +A Z +C Z +C Z +A Z +C Z +C Y +C X +A Z +A Z +B Z +A Y +A Y +C X +B Y +C Y +A Y +B X +B Y +B Y +B Y +C Y +A Z +C Y +A Y +C Z +B Y +B X +A Z +C Y +B Y +A Y +C Z +B Z +B Z +A X +B Y +C Z +B Z +B Y +C Z +B X +B Y +A Y +A Y +A Y +B Y +B Y +A Z +C Z +A Y +A Z +A Y +A X +C Y +A Y +C Z +A Z +C Z +C Y +C X +B Z +A Z +C Y +C Z +A Z +C Z +C Z +C Y +C Z +C Y +C Z +C Y +C Z +C Z +C Y +B X +A Y +C Y +C Z +B Y +B Y +C X +C Z +A Z +B X +C Z +A Y +B Y +C Z +C Z +C Z +B X +A Y +C Z +B Z +B X +C Z +C Z +C X +A Y +A Y +C Z +A Y +A Y +A Y +B X +C Z +B X +C Z +A Y +A Z +B X +B Z +C Z +A Y +C Y +C Z +C Y +B X +B Y +C X +C Z +A Y +A Y +B Z +A Y +C Z +C Z +B Y +B X +C Z +C Y +C Y +B Y +C Y +A Y +C X +C Z +A Y +A Y +C Y +A Y +C X +C Z +A Y +B Z +A Y +A Y +A Y +C Z +B X +B Y +C Y +A Z +C Y +C X +B Z +A Y +C Z +A Y +B Y +B X +A Y +C X +C X +B Y +C Z +B X +C X +C Z +A Y +C Z +C X +C Z +B Y +C Z +C Z +A Y +C Z +B Y +A Y +A Y +C Y +C Z +B X +C Z +C X +C Y +B Z +A Y +B X +C Y +B Y +C Y +B Y +A Y +A Y +B X +B Z +B X +B Y +C X +C Z +A Y +C Z +C Z +C Z +C Z +B Z +C Z +B Y +A Y +C Y +C X +C Z +B X +C Z +B Y +C X +C Z +A Y +A Z +B Z +A Y +B Y +B Z +C Y +B X +A X +C Y +C X +B Y +C X +C Z +C Z +C Z +B X +C X +A X +B Y +B Z +C Z +C Z +C Y +C Z +B Y +C Y +C Y +C Z +B X +B Z +B Y +B Y +C Z +B Y +A X +B X +A Z +C Z +C Z +A Y +C Z +A Y +C Y +B Z +B Z +C Z +C X +A Y +C X +B Z +A Y +B X +A Z +A Z +B X +C X +C Y +B Y +A Y +B Y +C Z +C Z +C Y +A Y +C Y +C Z +C Y +C Z +C Z +C Z +A Y +A Z +A Y +C Z +B X +A Y +C Z +C Y +C X +C Y +C Z +C Y +A Y +A Z +C Y +A Z +C Y +A Y +A Y +C Z +C Y +A Y +A Y +B Y +B Z +A Z +C Z +C Z +C Z +C X +B X +C Z +C Y +A Z +B Y +C Z +C Z +B Y +A Z +C Z +B Z +B Y +C Y +C Y +A Z +C Z +A Z +B Y +C Y +B X +C X +B Y +A Z +C Z +C Y +C Z +B X +C Z +C Y +C X +C Z +A Y +A Z +C Y +B Y +A Z +B X +C Z +C Y +C Y +C Z +A Z +A Z +B Y +B X +B X +A Y +B X +C Y +A Y +A Y +B X +C Y +B Z +A Z +B X +C Y +C X +A Y +A Z +A Y +C Z +B Z +C Z +A Y +C Z +C X +A Z +B Y +A Y +B Y +C Z +C X +A Z +C Y +B X +A Y +C X +C Y +A Z +B Z +A Y +C Z +B Y +A Y +C Y +C X +B X +C Z +B X +C Y +C X +C Y +C Y +B X +A Y +B X +C Y +C Z +B X +C Z +B Y +A Y +C Z +A Z +A X +B Y +A Z +A Y +C Z +C X +B Y +C Y +A Y +C Y +A Z +A Z +A Z +C Y +A Y +B Y +C X +C X +C Z +A Z +C Y +C Z +C Y +C Y +A X +B Z +B Y +A Y +A X +A Z +C Z +A X +A Y +C Z +C Z +C Y +C Z +C Z +C X +B Y +B Z +B Y +A Y +B Y +B X +A Z +B Y +C Y +A Z +B Y +B Y +C X +C Z +B X +A Y +C Z +C X +A Z +A Y +A Z +C Z +B Y +B Y +C Z +A Y +A Y +C Y +B Y +C Y +C Y +C Y +A Y +C Z +B X +A Y +B Z +A Y +B X +C Z +C Y +C Y +A Y +A X +C Z +B X +B X +B X +C Y +C Y +A Z +A Y +C Z +B Z +C Z +C Z +C Y +A Y +C Y +A Z +A Y +B Y +C Z +C Y +B Y +A X +B Y +A Z +B Y +A X +A Y +B X +A Y +B Y +B X +A X +A Z +C Z +A Z +A Z +C Y +A X +A Y +C Z +C Y +A Y +B Y +A Z +A Y +B Y +C Z +C Z +B X +B Y +C Y +A Y +B Y +A Y +B Y +B Y +B Y +C Y +C Z +C Z +B X +A Y +A Y +A Y +C Y +C Y +A Y +A Y +C Z +C Z +B Y +B X +A Y +C Z +A Y +B Z +B Y +C Y +C Y +C Y +B X +A Y +C Z +A Z +B X +C Z +B Y +A Z +C Y +C Y +A Y +B X +A Y +A Y +B X +C Y +C Y +A Z +C Z +C X +C Y +B Y +B Y +C Y +C X +A Y +B Z +A Y +B Z +A Z +A Y +C Z +C Z +C Z +C Z +C Z +C Z +C Y +A Y +C Z +A Z +B Z +C Z +A Z +A Y +C X +A Z +A Y +C Z +B Z +A Y +C Y +B X +C Z +C Z +A Y +C Y +B Y +C Z +C Y +C X +A Z +B Z +A Z +A Y +B Z +C Z +C Z +A Y +A Y +C Z +A Y +A X +C Y +B Y +B X +B Y +B X +C X +C X +A X +A Y +C Y +A X +B X +C Y +A Z +B X +C Z +C Z +B Y +A Y +C Z +C Z +C Y +A Z +B X +C Y +A Y +C Z +C Z +A Z +B Z +B Z +C Z +C Y +C Z +A Y +C Z +C Z +B X +C Z +C Z +B Z +C Z +B Y +C X +C Y +C Z +B Y +A Z +C Z +A Y +B Y +C Z +C Z +C Z +A Y +A Y +A X +C Z +B X +C Z +C Y +C Y +A Z +B X +C Z +C Z +B X +C Y +A Z +C X +C Y +B Y +C Y +C X +A Z +B Z +A Z +B X +C Y +B X +C Z +C Z +B X +B Y +C Z +B Y +A Z +A Y +B Z +C X +C Z +C Y +C Z +B Y +A Z +C Z +B Y +B Y +C X +C Y +A X +B Z +C X +A Z +B Z +A Y +A Y +B X +C Z +C Z +A Y +C Z +A Z +C Y +C Z +C Z +A Z +C Z +C X +A Y +C Y +C X +C X +B X +C X +A Y +B Y +C Y +C Z +C X +C Z +A Z +C Z +A Y +A Y +B Z +B X +C X +A Y +C Z +A Y +C Y +C X +B Y +C Z +B X +A Z +A Z +C X +B X +C Z +C Z +B X +A Y +A Z +C Z +C Z +C Z +A Y +C Z +B Z +A Y +B Z +A Y +B Y +C Y +A Y +B Y +A Z +A Z +C Y +A Z +C Z +B X +C Y +B X +B X +B Y +B Z +A Y +C Y +C Z +C Y +B Z +C Y +C Y +C Z +A Y +B Z +C Y +C Z +C Z +B Z +A X +C Z +B Y +C Y +A Z +C Z +A X +C X +B Y +A Z +A Z +B X +C Z +B X +C Y +C X +C Z +C X +C Z +C Z +B X +B Y +A Y +B X +C X +B Y +A Z +A Z +C Y +C Y +B X +C Z +B Y +B X +A Y +A X +C Y +A X +C Y +C Z +C Y +C X +C Z +B X +B Z +B Z +C Z +B Y +C Z +C Y +A Y +C Y +A Y +C Z +A Y +A Y +A Z +C X +C Z +C Z +C Z +B Y +C Z +B X +A Y +A Z +C Z +B X +A Z +C Z +A Z +A Y +B Y +A Z +C Z +B Y +C Y +C Z +A X +C Z +C Z +C X +C Z +C Z +C Z +B Y +C Y +B Y +B Y +C Z +B X +A Z +A Y +C Z +C Y +B X +C X +A Y +C Z +A Y +B Y +C Z +C Y +B Y +C X +B X +B X +B X +C Y +C Y +C Y +C X +C X +A Y +B X +C Z +A Z +A X +B Y +C Z +C Y +A Y +C Y +C Y +C Y +C Y +B Y +B Y +C Y +B X +A Y +A Z +A Y +B Y +A Y +C Z +C Y +A Y +B Y +B Y +B Y +C Y +C Z +B X +B Y +C Z +C Y +C Z +C Z +C Z +B Y +C X +C Y +C Z +C Z +B Y +A Y +B Y +C Z +A Y +A Z +B X +B X +C Z +B X +A Y +C Z +B Y +B Y +C Z +B X +A Y +A Y +B X +C Z +A Z +C Z +C Y +B X +B Y +A Y +C Z +C Y +C Z +C Z +B X +B Z +C Z +C X +A Y +C X +B Z +C Z +C Z +A X +C Z +A Y +C Y +A Y +A Z +C Y +B Z +A Z +C Z +C Z +C Z +A Y +C X +C X +B Y +C Y +A Z +A Z +B X +B Z +C X +C X +C Y +C Y +C Z +A Y +C Y +B Z +B X +C Y +C Z +B Z +A Y +A Y +C Z +B Y +C Y +B Y +C X +C X +C Z +B Y +A Y +C Z +B Z +A Y +A Y +A Y +A Z +B X +C Z +A Z +C Y +C Z +B Z +B Z +B Y +C Y +C Z +C X +B Y +B X +A Y +C Y +A Z +C Z +C Z +A Y +A Z +C X +C Z +A Z +C Z +B X +C Y +A Y +B Z +B Z +B Y +C Z +C Z +B X +A Z +C Z +C Y +B Y +C Y +C Z +C Y +B X +B X +C Z +C Y +B Y +B X +C Z +B X +C Y +C Z +C Y +B Z +C Z +A Y +A Y +B X +C Z +B X +B X +A Y +B X +B X +C Y +C X +B X +C Z +C Z +C Z +C Z +C Y +B Y +C Z +C Z +A Y +A Z +C X +C Y +A Z +C Z +B X +B Y +C Z +A Z +C X +A Y +B Y +C Z +A Y +C X +A Y +C Z +C X +A Z +C Y +A X +C Y +C X +B Y +A Y +C X +C X +A Y +B X +C Z +C X +A Z +A Y +C X +C Z +C Z +C Z +C Z +C Y +A Z +C X +C Z +C Z +A Y +B X +B X +A Z +C Z +B Y +C Z +B Y +C Z +C Z +B X +C Z +C Z +B Z +C Y +A Y +C Y +B Z +C Y +C X +C Z +B X +C Z +A Y +A Y +C Y +B Y +A Z +A Y +A Z +C Y +B Y +A Z +C Z +C Y +C Y +B Z +B Z +C X +A Y +B X +B Y +B Y +C Z +A Z +C Z +B X +C Z +C Y +C Y +C Y +C X +B X +C Y +A X +B Y +A Z +C Z +C Z +C X +A Z +B X +C Y +C Z +B Y +A X +B Y +C Z +A X +C Z +B Y +C Y +A Y +C Y +B Z +C Z +A Y +A Y +A Y +A Y +A Z +C Z +B Y +C Z +C Y +B X +A Y +C Z +C Z +C X +B Z +C X +A X +B Z +C Z +A Y +A Z +A Y +A Z +C Y +B Y +A Z +C Z +B Y +B Y +C X +A Z +C X +A Z +C Y +C X +C Z +A Y +B Y +B Z +C Z +B X +B X +C Z +C Z +B Z +C X +A Y +B X +B Y +C Z +C X +B Z +B X +B X +A Z +C Z +A Z +C Z +C Z +A Y +C Z +A Y +C Y +A Y +C Z +C Z +C Z +A Y +C Z +A X +B X +B Y +C X +C Z +A Y +C Z +C Y +C Z +C Y +C X +A Y +C Z +C Y +C Y +C Z +A Y +C Z +C X +C X +B X +B X +C Z +C Y +A Z +C Z +C X +C Z +C Y +B Y +C Z +C X +B X +C X +A Y +C Z +A Z +A Y +C Z +C Z +B X +B Y +C Z +C Z +C Y +C Y +C Y +C Z +A Z +B Y +B X +B Y +A Y +C Y +A Y +B Y +B X +B X +C X +C Z +C Z +C Z +A X +B Z +A Z +C Z +C Z +B X +B X +B Y +C Z +C X +A Y +C Z +B X +C Z +B Y +C X +B Z +C X +A Y +B X +C X +C Y +A Y +C Z +A Y +B X +B Z +A Y +C Z +C Y +C Y +C Y +C Y +C X +C Z +B Y +B Y +A Y +B Z +A Y +C Y +C Y +B Z +B Y +C Z +B Z +C Z +B X +B Y +A X +B X +A Y +A Z +C X +C X +C Z +B Z +B Y +A Z +A Y +A Y +C Z +C Z +C X +B X +C Z +C Y +C Y +C Y +C Y +B Y +A Y +B Y +A Z +B X +C Z +C Y +C Z +B Y +C X +B X +A X +C Z +C Z +B Y +A Y +B Y +B Y +C Y +A Z +B Z +C X +A Y +A Y +C Y +A Z +C Z +C X +C X +B Z +C Y +B X +B Y +C Z +C Z +C Y +A Y +A Y +C X +A Y +C X +B Y +C X +C Z +A Z +C X +C Z +C Z +A Y +C Z +C Y +B X +A Y +B Y +C X +A Y +A Y +C Z +C Z +B X +C Y +A Z +A Y +C Z +C X +C Z +C Z +A Y +A Y +C Z +A Y +C Z +B Y +C Y +C Z +C Z +B Z +C Y +B Z +A Z +B Y +B X +B X +C X +C X +A Z +C Z +B X +A Z +C X +B Y +B Y +C Z +A X +C X +C X +B X +A Y +A Z +C Z +C Y +C Z +A Y +B X +C Z +B Y +C Y +A Z +B Y +C Z +B X +B Z +C Z +A Y +A Z +C Z +C Y +A Z +A Z +C Z +B X +A Y +A Y +A Y +A Y +C Z +A X +B Z +A Y +B X +C Z +B X +C Y +B Y +C Z +B X +B Z +A Y +C Z +B Y +C Z +A Y +A Z +C Z +B Y +A Y +C Y +C X +B Y +B X +B Y +C Z +C Z +C Y +A Y +A Z +C Y +C Z +C Z +B Y +B X +C Z +B X +A Y +C Y +A Z +A Y +C Z +B Y +C Y +A Y +B X +B Z +C Y +C Y +A X +C X +C Y +C Y +C Z +B Z +C Z +A Z +A Y +C Y +C Y +B Y +C Y +C Y +C Y +C Z +B Z +C Y +C Y +B X +B Z +B Z +C Z +B Z +C X +A X +C Z +B X +C Z +A Y +A Z +C Z +C Z +B X +B X +A Y +A Z +B X +B Z +C X +A Y +A Y +C Z +A Y +B Y +B Z +A Z +B X +C Z +C Z +B Z +B Y +C Z +C Y +A Y +C Z +C Z +A Y +A Y +B X +B Y +A Y +C Y +B Y +C Z +A Y +C Z +B Y +B X +C X +A Y +A Y +B X +C Y +A Y +A Y +B Y +C Z +A Z +C Y +C Z +C Z +C Z +A Z +A Z +A Y +A Z +C X +B Z +A Y +A Y +C Y +C X +B X +C Y +C Y +C Z +C Z +A Z +A Y +C Y +B Y +C Y +C Z +C Z +B Y +B Y +A Y +B Y +C Z +A X +B X +C X +C Z +B Y +A Z +A Y +B Z +C Z +B Y +C Z +C Y +C Z +A Y +A Y +A Z +C X +C Z +A Y +B Z +B X +C X +C Z +C Z +C Z +C Y +C Z +B X +C Z +C Z +C Y +C X +B Z +B X +C Y +C Z +B Y +A Y +C Y +A Z +C Z +B Z +A Y +A Z +A Z +A Y +C Z +C Y +A Y +B X +B Y +C Y +C Z +B Y +B X +B Y +B Y +C Y +B Y +C Z +A Z +C Y +A Y +B X +B Z +B Y +A Y +B X +B Z +A Y +C Y +B Y +C Y +C Y +B Y +C Z +B Z +A Z +C Y +C Z +A X +C Z +C Z +A Y +C Z +A Z +A Y +A X +C Y +B Y +C Y +C X +B X +A Y +A Y +A Y +A Z +A Y +C X +C Y +C X +A Y +B X +C Z +A Z +C Y +B Z +C Z +B Y +C X +C Z +C Z +C Z +C Z +B X +C Y +B X +A Y +A Y +C Z +C X +C Z +C X +C Y +C Y +B X +C Z +B X +C Z +C Z +A Y +C Z +C Z +C Z +B Z +C Z +A X +C Z +C X +C X +C Y +A Z +B X +A Y +A Y +A Y +C Z +C Y +B X +A Z +C Z +C Z +C Z +C Z +B X +C Z +C Z +C Y +B Y +A Z +A Y +A Z +B X +C Z +C Y +B Y +A Y +C Z +B X +A Y +A Y +C Z +B Y +C Y +C Z +C Y +A Y +B X +C Z +A X +C Y +C Z +B Y +A Y +B X +B Y +C Y +B Y +C Z +C Z +A Z +B X +B Y +B Y +A Y +B X +C Y +A Y +B Y +A Y +C Y +C Y +B Y +C Z +C X +B Z +A Z +A Y +B X +B Y +C Y +C Z +A Z +B Z +B X +C X +C Y +C X +A Y +A Y +C Z +C Y +C X +B X +B Z +C Z +C Z +B X +C Y +C Z +C X +C Y +C X +A Z +C Y +B Y +B Y +C Y +A Z +B Y +C Z +C Y +A Z +A Y +C Z +C X +B Z +C Z +C Z +A Y +C Y +C Z +C Y +B Z +B Y +B Y +A Z +C X +A Y +C Z +C Y +A Y +C X +C Z +C Z +B Z +C X +C Z +A Y +A Y +B Y +C X +A Y +C Z +A Z +C Y +B Y +A Y +A Z +C Z +B X +A Y +C Z +A Z +C Z +C Y +C Z +C Z +C Y +A Y +C Z +A Y +B X +B Z +C Z +C Z +C Y +C Z +C Y +C Y +B X +C X +B Y +C Y +C Z +B Y +B Y +A Z +A Y +B Y +B X +C Z +C X +A Y +C Z +C Y +A Y +C Z +A X +A Z +A X +C Z +A X +B Y +C X +C Y +C Z +B Z +C Y +B Y +C Z +B Y +C Y +C Z +A Y +B Y +A Z +B Z +C Z +A Y +C Y +B X +C Y +A X +A Y +C Z +C X +C X +B Y +B Z +B Z +C Y +C Z +B Y +C Z +C Y +A Y +B Y +C Y +C Z +B Z +C Z +C Z +A Y +B Y +A Y +C Z +A Y +A Y +C Y +A Z +C X +A Y +A Z +B Y +A Y +B Y +C Z +B X +C Y +A Y +C Y +C Z +A Y +C Y +C Y +A Y +C Y +C Y +B X +A Y +C Z +A Y +A Y +A Y +B Y +C Y +A Y +C Z +B X +C Z +A Y +B Y +C Y +A Y +C Y +C Y +C Y +C Y +C X +C X +A Y +C X +C Z +B Z +A Y +B Y +C Z +B X +C X +A Y +B X +C Y +B Z +B Y +C Y +C Z +C Z +C X +A Z +C Y +A Z +C Z +B Z +A Y +C Y +B Y +A Y +B X +C Z +C Y +A Y +A Y +A Z +C Z +C Z +C Y +C Z +B X +C Y +C Z +A Y +B Y +B X +A Z +C Z +C Y +C Z +B Y +C X +C Y +C Z +B Y +A Y +A Z +B X +C Z +C X +A Y +B X +C Z +C Y +B Z +C Z +C Z +C Z +A Y +A Y +A X +B Z +A Y +C Z +C Z +C Z +B X +B Y +C Y +B Y +A Y +A Z +A Y +A Y +B Z +A Y +C X +C Y +A Z +C Z +C Y +C Z +B Y +C Z +B X +B X +A Y +B Z +B X +B Y +B Y +B X +B Y +A Z +C Z +C Y +C Y +A Z +B Y +C Z +A Y +C Y +A Y +A Y +B X +C Y +A Z +B X +B X +A Y +C Y +A Y +C Z +B Y +C Z +C Y +A X +C Z +C Z +C Z +A Y +C Z +C X +C Z +C X +C Z +B Y +A Y +A Y +A Y +B X +B Y +B Z +B X +C Z +C Y +B Z +A Z +A Z +C X +C Z +B X +A Z +C X +A X +B Y +B X +B X +C Z +C Y +A X +C Y +C Y +C Y +B X +A Z +B Y +B X +A Z +C Z +B X +A Z +A Y +B Z +B Y +C X +C Z +B X +C Y +C Y +C Y +A Y +C Z +A Z +A Z +C Y +C Y +A Y +C Z +C Z +B X +C Z +C Z +B Y +A Y +C Z +B X +C Y +C Y +C Z +C Z +A Y +C Z +C Y +B X +C X +A X +A Z