diff --git a/input2 b/input2 new file mode 100644 index 0000000..0b2139a --- /dev/null +++ b/input2 @@ -0,0 +1,2500 @@ +C Y +B Z +B Z +C Y +B Y +C Z +C Z +C Y +B Z +C Z +C X +C Y +C Z +C Y +C Y +B Z +A Y +C Z +C Z +C Z +B X +B Z +C Y +A X +C X +C Z +C Y +C Z +C Z +C Z +C Y +C Y +A X +C X +C Z +B Z +B Z +B Z +B Z +C Z +C Y +C Z +B Z +A Y +A X +C Z +C Y +C Z +C Y +C Z +A X +C Z +C Z +C Z +C Z +C Y +C Y +C Z +C Z +C Z +C Z +B X +C Y +B Y +B X +A X +C Y +C Z +C Z +C Y +C Z +C Z +A Y +C Y +C Z +C Y +B Z +C Z +C Y +B Z +B Z +C Z +C Y +C Y +C Z +C Z +C Y +C Z +C Y +C Y +C Y +C Y +B X +C Z +C Z +C X +C X +C Z +B Z +A Y +C Y +A Y +C Y +C Z +C Y +C Z +C Y +B Z +C Z +C Z +C Y +A Y +C Z +B Z +C Z +C Z +C X +C Z +C Z +C Z +C Z +C Z +C Z +B Z +C Z +C Y +B Z +C Y +C X +A X +C Z +A Y +C Y +C Z +B Z +C Z +B X +C Z +C Y +C Z +B Z +C Z +C Z +C Y +C Y +C Y +B Z +C Y +C Y +B X +C Z +B Z +B Z +C Z +C Z +C Z +C Z +C Z +A Y +C Y +C Z +C Y +B Z +B Z +C Y +C Z +B Z +C Y +C Y +C Z +B Z +C Y +C Z +C Y +B Z +C Z +A X +C Z +C Y +C Z +B Z +C Z +C Y +C Y +C Y +C Y +C Y +C Z +C Z +A Y +C Z +C Z +C Z +C Y +B Z +C Z +B Z +C Z +C X +C X +B Z +C Y +C X +C Y +B Z +C Y +C X +C Z +C Z +C Y +C Z +C Z +B Z +A X +C Y +C Z +C Z +C Z +C Y +C Y +C Z +C Z +C Y +C Z +A Y +C Z +B Z +C Z +A Z +C Z +C X +B Z +C Y +C X +C Z +C X +C Y +A Y +C Y +C Y +C Z +C Z +C Y +B Z +A X +C Z +C X +C Y +B Z +C X +C Z +C Y +C Z +C Y +A Y +B Z +C Z +C Y +C Y +C Z +B Y +C Y +B X +C Y +C Y +C Z +C Z +C Z +C Y +C Y +C Y +B X +C Z +C Z +C Z +B X +A Y +C Z +C Z +A Y +B Z +C Z +A X +C Z +C Z +C Z +C X +C Y +C Y +C Z +C Z +C Z +C Z +C Z +C Z +C Y +B Y +C Z +C Z +C Y +C Z +C Z +C Y +C Z +A Y +C Y +C Z +B Y +A X +B Z +C Z +C Z +C Z +A Z +C Z +B Z +B Z +C Y +B X +C Z +C Y +C Z +C Y +A Y +C Z +C Z +C Z +B Z +B Z +C Y +C Z +C Y +C Z +C X +C Z +C Y +C Y +C Y +C X +B Y +C Y +B Z +C Z +C Z +C Y +C Y +C Z +C Z +C Y +C Y +C Z +C Z +C Z +C Y +C Y +C Z +C Z +C Y +B Z +C Z +C X +A Y +B Z +C Z +C Z +B Z +C Z +B Z +C Y +C X +C Z +C Z +A Y +C X +C Y +A X +C Z +C Z +C Z +B Z +C Z +C Y +B Z +B Z +C Z +C Z +A Y +C X +C Z +B Z +C Z +C Z +C Z +B Z +C Z +C Z +B Z +C Z +C Y +C X +C Z +C Z +A Y +C Z +C Z +C Z +A Z +B X +C X +C Y +C Z +C Y +C Y +C X +C Z +B Z +C Z +A Y +C Y +C Z +A X +B Z +B Z +A Y +C Z +C Z +C X +C Z +C Y +C Y +C Z +C Y +B Y +C Y +C Z +C Y +C Z +C Z +C X +C Z +C Y +C Z +C Y +A X +C Z +B Z +B Z +C Y +C Y +C Y +C Y +C Z +C Y +A X +C Z +B Z +C Y +C Y +C Z +C Z +C Y +C Z +C Z +C Z +C Z +C Z +B Z +C Z +C Y +C X +C Z +C Z +B Z +C Z +C Z +C Z +B Z +C X +B Z +A Z +C Z +C Y +C Y +C Y +B Z +C X +A Y +C X +C Y +B Z +C Y +B Y +A X +B Z +C Z +B Z +C Y +B Z +B X +C Y +C Z +C Y +C Y +C Z +B Z +C Z +C Z +C Y +C Z +B Z +B Y +C Z +C Y +A Y +C Z +C Z +A X +C Z +B Z +C Z +A Z +C Z +C X +C Z +C Z +C Z +C Z +C Z +C Z +B Z +C Y +B Z +B X +C Y +C Z +B Z +C Z +C Y +C Y +C Y +B Z +B Y +C Y +C Y +C Z +C Z +C Z +B Y +C Y +C Y +C Y +C Z +A X +C Y +B Z +C Z +A X +A X +C Z +C Y +B X +C X +B Y +C Y +C X +A Y +C Z +C X +C Z +B X +A Y +C Y +C X +B Z +C Y +C Z +C Z +C X +C Y +C Z +C Z +C Z +C X +A X +C Y +A Y +C Z +C Z +C Z +C Y +C Y +C Z +C Z +C X +C Z +C Y +B Z +B Z +C X +C Z +B Y +C Z +B Z +C Z +C Z +B X +C Y +A Y +C Z +C Z +A Y +C Z +C Y +C Y +C Z +C Z +C Z +C Z +B Y +C Y +C Y +C X +C Z +C Z +C Z +B Y +A Y +A X +A X +C Z +C Z +C Y +A Y +C Z +C Z +B Z +C Y +C Z +C Z +A X +C Z +C Z +C Z +C X +C Y +C Z +C Y +A X +C Y +C Z +A Y +C Z +C Z +B Z +B Z +C Z +A Y +A X +C Y +C Z +C Y +A Z +C Y +A Y +B Z +C Z +C Z +C X +A Y +C Y +C Y +C Y +B Z +B X +A X +C Y +B Z +C X +C Z +C Z +C Y +C Y +C Y +C Z +C Z +A Y +C Z +C Z +C Z +C Z +C Y +B Z +C Z +C Z +B Z +C Y +A Y +C Z +C X +B Z +C Z +A X +C Y +A Y +C Z +C Y +A X +A X +B X +C Y +C Z +C Z +C X +B X +C Z +C Z +A X +C Z +C Z +B Z +C Z +C Y +C X +C Z +A X +C Z +C Y +C Z +C Y +B Z +C Y +A X +C Z +A X +C X +C Z +B Z +C Y +C Z +B Z +B X +C Y +C Z +C Y +B Z +C Y +C Z +B Z +B Z +C Y +B Y +C Z +C Y +B Z +B X +B Z +A Y +C Z +C Y +B Z +C Z +C Z +C Z +C Z +C Y +C Z +C X +C Z +C Z +C Y +C Z +C Z +C Z +C Y +B X +C Y +C Z +C Y +C Z +A Y +C Y +C Y +B Y +C Z +C Z +B Z +A Y +C Y +C Y +A Z +B Z +C X +B Z +B X +C Z +C Y +C Y +C Y +B Z +C Z +B Z +C Z +C Z +A X +C Z +B X +C Y +C X +C Z +C Y +C Z +C Z +B Z +C Z +C Y +A X +C Z +C Y +C Z +B X +C Y +C Z +C Y +C Y +C Y +A Y +B Z +C Z +C Z +C Z +C Z +B Z +C Z +C X +B X +B Z +A X +C Y +B Y +C Z +C Z +C X +C Z +B Z +C Y +C Y +B Y +C Y +C Z +C Z +C Y +A Z +C Y +B Z +B Z +C X +C X +C Y +C Z +C Z +C Z +C Z +A Y +C Z +B Z +A Y +C Z +C Y +A X +B Z +C Z +C Z +C Z +C Z +B Z +C Y +B Z +C Y +C Y +A X +B Z +C Y +B Z +B Z +A Z +A Y +C Y +C Y +C Z +C Z +A X +C Z +C X +C Y +C Z +C Y +C Z +C Z +C Z +C Y +A X +C Z +C Y +C Z +C Z +C Y +C Z +C Y +C Y +A X +B Z +C Y +C Z +C Z +C Y +C Y +C Z +C Z +A Y +C Y +B Z +B Z +C X +B Z +B Z +C Z +B Z +C Z +C Y +C Y +C Y +A Y +C Z +C Z +C Y +B X +C Y +C Y +C X +C Y +C Z +B X +C Z +B Z +C Y +C Z +C Z +B Z +C Z +C Y +C X +B Z +C Y +C Z +C Z +C Z +A Y +C Z +C Z +C Y +C Z +C Y +C Y +C Z +C Y +A X +C Y +C Z +C Z +C Z +C Y +C Y +C Z +B Z +C Z +B Z +C Z +C Y +A Y +C Z +C X +C Y +C Y +B Z +C Z +C Z +B Z +C Y +C Y +C Y +C Z +C Z +B Z +C Z +B Z +B Y +B Z +A Y +C Y +C Y +C Z +C Y +C Z +C Y +B Z +C Z +C Z +C Z +C Z +B X +B Z +C Z +B Z +C Y +A X +C Y +B Z +B Z +B Z +C Y +B Y +B Z +C Z +B Z +B Z +C Z +A Y +C Z +C Z +C Z +B Z +C Z +C Z +A Y +B Z +A Y +A Y +C Y +C Z +C Z +C Z +C Y +C Z +C Z +B Z +C Y +C Y +A X +C Y +B Z +C Y +B Z +C Y +A X +C Z +C Z +C Y +C Z +B Z +C Y +C Z +B Z +C Y +B Z +C Z +C Y +C Y +C Y +C X +C X +C Z +C Z +A Z +B X +C Y +A Y +C X +A Y +C Y +B Y +A X +A X +C Y +C Z +C Z +B Z +B Z +C Z +B Z +B Z +B Z +C X +C Z +C Z +B Z +C Z +C Y +C X +B Z +C X +B Z +C Z +C Z +B Z +C Y +C Z +C Y +B Z +B Z +C Y +A X +C Y +C Z +B Z +C Z +C Y +C Z +C Y +C Y +C Z +C Y +C Z +C Z +A Y +C Y +C Y +C Y +A Z +B Z +C Z +C Y +C Z +C Y +B X +C Z +A X +B Y +C Z +C Z +C Z +C Y +C Z +C Z +C Z +C Y +B Y +C Y +C Z +C X +C Y +B Z +A Y +B Z +C Y +C Y +C Z +C Z +A X +C X +B Z +C Z +B Z +B Z +C Z +C Y +C Y +C Y +B Z +C Y +A Y +C Z +C Z +C Z +C Z +C Z +B Z +C Z +C Z +C Z +A X +A X +C Y +B Y +C Z +B Z +B Z +A Y +C Z +B Z +C Y +C Z +B Z +C Z +C Y +C Z +C Y +C Z +A Y +C Z +C Z +B Y +A Y +C Z +C Y +B Z +C X +A Y +B Z +C Z +B Y +C X +C Y +C Y +C Z +C Y +B Y +C Z +B Z +C Y +C Y +C Z +C Z +B Z +A Y +C X +C Y +C X +B Z +C Z +C Z +C X +C Y +B X +C Y +C Z +C Y +C Y +C Z +C Z +B Z +C Y +C Y +A X +B Z +B Z +B Z +B Z +C Y +C Y +C Z +A Y +B Z +C Y +C Y +C Y +C Y +C Y +C Z +C Y +C Z +C Z +C Y +C Y +C Y +C Z +C Z +C Z +C Z +C Z +A X +C Y +B Z +C Y +A Y +C Z +B Z +C Y +A Y +C Y +B X +C Y +C Z +B Z +C Z +C Z +B Z +C Z +B Z +C X +C Y +B Z +C Z +B Z +A Y +C Z +B Z +C Y +C Y +C Y +C Z +C Z +B Z +C Z +B Z +A Y +C Y +B Z +B Z +C Z +C Y +C X +C Y +C Z +C Z +C X +A Y +A Z +C Z +A Z +C Z +C Z +C Z +C Z +C Y +C Z +C Y +C Y +C Y +A X +C Y +C Z +C X +C X +C Y +A Y +C Y +C Z +C X +C Z +B Z +C Y +A X +C X +C Z +C X +C Y +C Z +B Z +C Z +B X +C Y +C Z +A Y +C X +B Z +B Z +C Z +C Z +C Z +B Z +C Z +B Z +C Z +B Z +C X +A X +B X +C Y +C Z +C Y +C Z +C Z +B Y +C X +B Y +A X +A X +C Y +C Z +C Y +C X +B Z +C Z +C Z +C Z +C Z +C Y +C Z +C Y +C Z +C Z +C Z +C Y +C Y +C Z +B Z +B X +A X +B Z +C Z +C Z +B Z +B Z +B Z +C Y +C Y +C Y +C Y +C Z +B Z +C Y +C Z +C Z +C Y +B Z +C Z +C Z +C X +C Z +C Y +C Y +C Z +C X +C Z +C Z +B Z +B Z +C Y +A X +C X +C Y +C Z +C X +C Y +B Z +C Z +B Z +C Y +C Y +C Z +C Z +C Z +C Z +C Z +C Z +C Y +C Y +C Z +A X +C Z +C Z +C Z +C Z +C X +C X +C Z +B X +C Z +C Z +C Z +C Z +C Z +A X +C Z +C Y +C Y +B Z +B Y +C Z +C Z +A X +C Y +B X +B Z +C Z +C Y +C Z +B Z +C Z +C Z +C Y +C Z +C Z +C Z +C Z +C Z +B Z +C Y +C Z +B Z +C Y +C Y +C X +C Y +A X +C Z +C Y +C Y +C Z +C X +C Z +B Z +B Z +A Y +B Z +C X +C Y +C Z +C Y +B X +B X +C Y +C Z +C Z +A X +C Z +C Y +C Z +C Z +B Z +B Z +C Z +C Z +C Z +C Z +A X +C Y +A Z +C Y +C Z +B Z +C Y +C X +C X +A X +C Z +C Y +C Z +C Z +C Y +B Z +C Y +C Y +C Z +C X +B Z +C Y +C Y +C Y +C Z +B Z +B Z +B Z +B Z +C Z +B Z +B Z +B Z +C Y +B Z +B Z +A Y +C Z +C Z +C Y +B Z +C Y +C Y +C Y +C Y +A X +C Z +A Y +C Y +C Y +C Y +C Z +B X +C Z +B Z +C X +C Y +B Z +C Y +C Z +C Z +C X +B Z +B Z +C Y +B Z +C Y +C Z +C Z +C Y +A Y +C Y +A Z +B Z +C Z +B Y +C Y +C Y +B Z +C Y +C X +C Y +A Y +B Z +C Y +A Y +C Y +C Y +B Z +C Z +C Y +C Z +C Y +C Z +C Z +A X +A X +C Y +B Z +C Y +C Z +C X +A X +C X +C Z +C Z +B Y +C Z +B Z +C Y +A X +C Z +B Z +C Z +C Z +C Z +C Y +C Y +C Z +B Z +C X +B Y +B Z +B Z +C Y +B Z +C Z +C X +C Y +C Y +C Z +C Y +C Y +B X +B Z +B Z +B Z +B Z +C Z +B X +C Z +C Z +A Z +C Z +A Y +C Z +C Y +C Y +B Z +C X +C Y +C Y +B Y +C Y +B Z +C Y +C Y +A X +B Z +C Z +A X +C Y +C Z +C Z +A Y +C Z +C X +C Z +C Y +C Z +C Y +C Y +C Z +B Z +A Y +C Z +B Z +C Z +C Z +A Z +C Z +C Y +C Z +C Z +C Z +B Z +A Y +C Y +C Y +C Y +C Z +B Y +B Z +C Y +C Z +C Z +C Y +C Y +A Z +B Z +C X +B Z +C Z +C Y +A Y +B Z +C Y +C Y +B Z +C Z +C Z +C Z +B Z +C Z +C Z +C Z +C Z +C Z +A X +A X +B Z +C Z +C Z +C Z +B Z +C Z +B X +C Y +C X +C X +C Y +C Z +C Z +A X +A X +C Z +C Z +C Z +C Z +C Z +C Y +A X +C X +C Y +C Y +C Y +A X +C Y +B Z +C Z +C Z +A Y +C Y +C Z +C Z +B Z +C Y +C Y +C Y +C Z +B Z +C Y +B Z +C X +C Y +A Y +C Y +B Z +B Z +C Z +C Z +A X +B Z +C Z +C Z +C Z +C X +C Y +C Y +C Z +C Y +C Y +B Y +C Z +B Z +A Z +C Z +C Y +C Y +B Y +C Z +B Z +A Y +C Y +A Y +C Y +C Y +C Z +C Z +C Y +C Y +C Z +C Y +C Z +C Y +C Y +C Z +C Y +C Z +C X +C Z +C Z +C Y +B Z +C X +B Z +B Z +C X +B X +C Z +C Y +B Z +C Z +C Y +C Z +C X +C Z +C Z +C Z +A Y +C Z +C Y +C X +C Y +C Z +C Z +C Y +B Z +C Z +B X +C Y +C Y +C X +C Z +C Z +C Y +C Z +B Z +C Z +C X +B Z +C Y +C Z +B Z +C Y +B X +C Z +C Z +C Z +C Y +C Z +C Y +A Y +C Y +C Y +C Z +C Z +B Z +B Z +C Y +C X +C Z +C Z +C Z +C Z +A X +C Y +C Y +C X +C Z +A X +A Y +C Y +A Y +C Y +C Y +C Z +C Z +C Y +B Z +C Y +B Z +C Y +C Y +A X +C Y +C Z +B Z +A Y +A Y +C X +B Z +B Z +C Z +C X +C X +C Y +C Y +C X +A X +C Z +C Y +B Z +C Z +C Z +A Y +C X +C X +C Z +C Y +A Y +C Z +C Z +B Z +C Z +C X +C Z +A Y +C Y +C Y +C Y +B X +C Z +C Y +B Y +C Y +C Z +C Z +A Z +C Z +A Y +B Z +C Y +B Z +C Y +C Y +C Z +C X +A Y +C Z +A Z +C Y +C Z +C Y +C Y +C Z +B Z +A Y +C Y +A Y +B Z +C Z +C Z +C Z +C Z +C Z +C Z +C Z +C Y +B Z +B Z +C Y +C Z +A Y +C Z +C Z +C Z +C X +C Z +A X +B Z +C Z +C Z +B Z +B Y +C Z +C Z +C Z +C Z +C Z +C Z +B Z +C Z +A X +C Y +C Z +B Z +B Z +B Z +B Z +C Z +B Z +C Y +A X +B Z +C Z +B Z +B Z +C Y +B Z +C Y +C Z +A Y +C Y +C X +C Y +C Y +B Z +C Y +C Z +C Y +C Z +B Z +C Z +B Z +A Y +C Z +C Y +C Y +B Z +C Z +C Y +C Y +C Z +A Y +C Z +C Y +C Z +B Z +C Z +C Z +C Z +C Y +C Z +C Z +B Z +C Z +C Z +C Z +B Z +C Z +C Z +C Y +C Y +A X +C Z +C Z +B Z +C Z +C Z +C X +C Z +C X +A X +B Z +A X +C Z +C X +C Y +C Z +B X +C Y +C X +B X +C Y +B X +C Y +C Z +B Z +C Y +C Y +C Z +C Z +B Z +C Z +C Y +C Z +B Z +C Z +A Y +B X +C Y +C Z +A X +C Y +A X +C Z +C Z +C Z +B X +B Z +B Z +B Z +B Z +C Z +B Z +A Z +C X +B Z +C Z +C Z +C Z +B Z +B X +C Z +C Y +C Y +C X +C Z +C Y +C Z +B Z +B Z +A Y +A Y +C Z +B Y +C Z +B Z +C Y +B Z +C Z +B Z +C Z +A Y +C Z +C X +C Z +C Y +C Y +C Z +B Z +C Y +C Z +C Z +C Z +A Y +C Z +C Z +C Y +C Z +A Y +A Z +B X +C Y +C Z +C Z +C Z +C Z +B Z +C Y +A X +C Z +A Y +C Z +C Z +C Z +C Y +B Y +B X +B Z +C Z +A X +A Y +C Z +C Y +C Z +B X +B Y +C Y +C Y +C Z +C Z +C Z +B Y +C Z +C Y +C Z +C Y +C Y +C Y +B Z +B Z +A Y +C Y +A X +C Z +C Z +B Z +A Y +B Z +C X +C Y +B X +C Z +A X +C Z +C Y +C Y +C Y +C Z +C Z +C Y +A Y +C Z +C Z +C X +C Z +C Y +C Z +C Z +A Y +A Y +B Z +C Y +B Z +C Z +C X +C Z +B Z +A Y +C Z +B Z +C Y +C Z +C X +C Y +A X +C Z +B Z +C Y +B Y +C Z +B Y +A Y +C X +C Z +A Y +B Z +A X +C Y +C Z +C Z +C Y +C Y +B X +A Y +C Z +C Y +C Z +C Z +B Z +C Z +B Z +C X +C Y +A Y +C Z +C Y +C Z +C Z +C Y +C Z +C Y +C Y +B Z +C Z +C Z +C Z +B Z +C Y +C Z +C Z +C Z +A X +C Y +C Y +A X +A X +C X +C Z +B Z +C Z +C Y +C X +C Z +B X +C X +A X +C X +C Y +A Y +C Y +C Z +C Z +C Y +C Z +A X +B Z +C Z +C Y +C Z +C Y +C Y +C Y +C Z +C Y +B X +C Z +C Y +C Y +C Y +B Y +C Z +C Z +C Z +C Y +B Z +C Y +A X +B Z +C Y +C Y +C Z +B Z +B Z +C Z +B Z +B Z +A Y +C Z +C Z +C Z +C Y +C Z +C Z +C X +B Z +C Y +B Z +B Z +B Y +A Y +C Z +C X +C Z +C Z +C Z +C Y +C Z +C Z +C X +A X +B X +A Y +A X +C Y +C Y +C Y +B X +A Y +C Z +C Y +A Y +C Z +C Y +C Y +C Z +C Z +B X +C X +C Z +C Z +B Z +C Y +C Z +C Z +C Y +C Z +C Z +B Z +C Y +C Z +B Z +C Y +C Y +C Z +C Y +C X +C Z +C Y +A Y +C Z +B Z +C X +C Y +B Z +B Z +C Z +C Z +C Y +C Y +C Z +B X +A X +C Z +C Z +A Y +C Y +C Z +B Z +C Y +A X +C Y +C Z +C Z +C Y +C Z +C Z +C Z +B Z +B Z +C X +C Y +C Z +C Z +C Z +C Z +A X +C Y +C Y +C Z +B Z +C Y +C Y +A X +C X +B Z +C Y +C Y +B X +C Y +C Z +C Z +C Y +C Y +C Z +C Y +C Z +C Z +C Y +C Z +C Z +B Z +C Z +C Z +C Z +C Y +C Y +C Z +C Y +C Z +B X +A X +C Y diff --git a/two.py b/two.py new file mode 100755 index 0000000..9602830 --- /dev/null +++ b/two.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python3 +from useful import * + +def prd(c): + return (ord(c) - ord('A')) % 23 + +def scores(c): + return 1 + prd(c) + +def bonus(a, b): # for b (that's us) + return [[3, 6, 0], + [0, 3, 6], + [6, 0, 3]][prd(a)][prd(b)] + +rounds = [[l[0], l[2]] for l in lines(open(0))] +ic([[a, b, scores(b), bonus(a, b)] for a, b in rounds]) +print(sum(scores(b) + bonus(a, b) for a, b in rounds))