Jonatan Gezelius 3 лет назад
Родитель
Сommit
4261f7071e
4 измененных файлов с 2604 добавлено и 0 удалено
  1. 46 0
      2022/02/a.py
  2. 55 0
      2022/02/b.py
  3. 3 0
      2022/02/example.txt
  4. 2500 0
      2022/02/infile.txt

+ 46 - 0
2022/02/a.py

@@ -0,0 +1,46 @@
+import os, argparse
+
+encoding = {"A": "rock", "B": "paper", "C": "scissors",
+"X": "rock", "Y": "paper", "Z": "scissors"}
+
+scoring = {"rock": 1, "paper": 2, "scissors": 3}
+
+beats = {"rock": "paper", "paper": "scissors", "scissors": "rock"}
+
+def throw_hands(me, them):
+    if me == them:
+        return 3
+    if me == beats[them]:
+        return 6
+    else:
+        return 0
+
+def solve_task(lines):
+    score = 0
+    for line in lines:
+        them = encoding[line[0]]
+        me = encoding[line[-1]]
+        score += throw_hands(me, them) + scoring[me]
+    print(f"Score: {score}")
+
+def read_lines(filename):
+    lines = []
+    with open(filename) as infile:
+        for raw_line in infile:
+            line = raw_line.rstrip()
+            lines.append(line)
+    return lines
+
+def parse_arguments():
+    parser = argparse.ArgumentParser(description="Script that solves the case",epilog="Have a nice day!")
+    parser.add_argument('filename', nargs='?', default="example.txt", help='Input file')
+    args = parser.parse_args()
+    return args
+
+def main():
+    args = parse_arguments()
+    lines = read_lines(args.filename)
+    solve_task(lines)
+
+if __name__ == "__main__":
+    main()

+ 55 - 0
2022/02/b.py

@@ -0,0 +1,55 @@
+import os, argparse
+
+handEncoding = {"A": "rock", "B": "paper", "C": "scissors"}
+resultEncoding = {"X": "lose", "Y": "draw", "Z": "win"}
+
+scoring = {"rock": 1, "paper": 2, "scissors": 3}
+
+beats = {"rock": "paper", "paper": "scissors", "scissors": "rock"}
+loses_to = {l: b for b,l in beats.items()}
+
+def throw_hands(me, them):
+    if me == them:
+        return 3
+    if me == beats[them]:
+        return 6
+    else:
+        return 0
+
+def arranged_match(them, result):
+    if result == "win":
+        return 6 + scoring[beats[them]]
+    elif result == "lose":
+        return scoring[loses_to[them]]
+    else:
+        return 3 + scoring[them]
+
+def solve_task(lines):
+    score = 0
+    for line in lines:
+        them = handEncoding[line[0]]
+        result = resultEncoding[line[-1]]
+        score += arranged_match(them, result)
+    print(f"Score: {score}")
+
+def read_lines(filename):
+    lines = []
+    with open(filename) as infile:
+        for raw_line in infile:
+            line = raw_line.rstrip()
+            lines.append(line)
+    return lines
+
+def parse_arguments():
+    parser = argparse.ArgumentParser(description="Script that solves the case",epilog="Have a nice day!")
+    parser.add_argument('filename', nargs='?', default="example.txt", help='Input file')
+    args = parser.parse_args()
+    return args
+
+def main():
+    args = parse_arguments()
+    lines = read_lines(args.filename)
+    solve_task(lines)
+
+if __name__ == "__main__":
+    main()

+ 3 - 0
2022/02/example.txt

@@ -0,0 +1,3 @@
+A Y
+B X
+C Z

+ 2500 - 0
2022/02/infile.txt

@@ -0,0 +1,2500 @@
+A Z
+A Y
+B X
+B X
+C X
+B X
+A X
+A X
+C X
+A X
+A X
+A Y
+B X
+A Y
+C X
+C X
+A X
+A Y
+C X
+B X
+A X
+B X
+A X
+A X
+B Y
+B Y
+A X
+A X
+A X
+A X
+A X
+A Y
+A X
+B X
+B Y
+A Y
+C Z
+C X
+A X
+A Y
+A X
+A X
+A Y
+A X
+A Y
+A X
+B X
+C X
+A X
+B X
+A X
+C X
+A Y
+B X
+B X
+A X
+A X
+C Y
+B X
+A X
+C X
+B X
+B X
+A X
+A X
+B X
+A Y
+C X
+A Y
+A X
+A X
+A Y
+B X
+A X
+A X
+A X
+B Y
+A X
+A X
+A Y
+A X
+A X
+B Y
+B Y
+B X
+C X
+B Y
+A X
+C X
+C X
+A Y
+A X
+A Z
+B X
+C X
+A Y
+B X
+A X
+A X
+A X
+A Y
+C X
+A X
+A Z
+A X
+A Y
+B Y
+A X
+C X
+B X
+A Y
+B Z
+B X
+C Y
+B X
+B Z
+A Y
+B X
+C X
+C Y
+A X
+A Y
+A X
+B X
+A Y
+B Y
+A X
+C Y
+A Y
+B Y
+A X
+B Y
+B X
+B Y
+A X
+B Y
+A X
+C Z
+A X
+C X
+A Y
+A X
+C X
+A X
+A X
+A X
+C X
+B Z
+A X
+B Y
+B X
+A Y
+A X
+A X
+B Y
+B Y
+A Y
+B X
+A X
+C Y
+A X
+C X
+A X
+A X
+A X
+A X
+A X
+C Z
+C X
+A Z
+C Z
+A X
+A Y
+B X
+C X
+B X
+B Y
+C X
+B X
+A X
+A X
+A X
+A Y
+B X
+B Y
+A X
+C X
+A X
+A X
+A X
+A X
+C Y
+A Z
+C X
+A X
+A Y
+B X
+A Y
+A X
+A Y
+A X
+A X
+A X
+A X
+A Y
+A X
+B X
+A X
+A X
+C Y
+C Y
+A X
+C X
+A X
+A X
+C X
+C X
+B Z
+B X
+B X
+A X
+A Y
+B Y
+A X
+A X
+C X
+C X
+C X
+B X
+C X
+B Y
+A X
+B Y
+B X
+B X
+A X
+B Y
+A Y
+C X
+B X
+C X
+A Y
+B X
+C X
+A X
+C X
+A X
+B Y
+A X
+A X
+B Z
+C X
+B X
+C X
+B X
+A X
+A X
+A X
+A X
+A X
+C X
+C X
+A X
+A Z
+A Y
+A X
+A X
+A X
+A X
+C Y
+C Y
+B Z
+A X
+A X
+B X
+B X
+A Y
+A X
+B Y
+A X
+B Y
+A X
+C Y
+C X
+A Y
+B Y
+C X
+A X
+A X
+A X
+A Y
+A X
+A X
+A X
+B Y
+B X
+C X
+C Y
+A Y
+A Z
+B X
+C X
+B X
+C X
+A X
+B Z
+B Y
+A X
+C X
+A Y
+B X
+B X
+A Y
+A X
+A X
+A Y
+A X
+B X
+A X
+A X
+C Y
+C Y
+A Y
+A Y
+B Y
+B Y
+B Y
+B X
+A X
+A Y
+B Y
+B X
+A Y
+A X
+A Y
+C X
+C X
+B Y
+A Y
+B Y
+A Y
+A X
+B Y
+B X
+C X
+A X
+A X
+A X
+B Y
+B X
+A X
+B Y
+A Y
+A X
+C X
+A X
+B Y
+A X
+A X
+B Y
+A Y
+A X
+C Y
+B Z
+A Y
+C X
+A Y
+A X
+B Y
+A X
+B Y
+B Y
+B X
+B X
+A X
+A X
+C X
+B Y
+B X
+C X
+B Y
+A X
+A X
+A X
+A X
+B Y
+C X
+B X
+A X
+A X
+A Y
+C Y
+A Y
+B X
+A X
+B X
+A X
+A Y
+B Y
+A X
+C X
+C X
+A Y
+B X
+C Y
+A Y
+B X
+A X
+A Y
+C X
+A X
+A X
+B Y
+A Y
+B X
+B Y
+B Y
+A X
+A X
+A X
+B Y
+A Y
+A X
+B X
+A Y
+A Y
+B X
+C Y
+A X
+A Y
+A X
+B X
+A X
+B X
+C Z
+A X
+A X
+B Y
+A X
+A X
+A X
+C Z
+C X
+A Z
+C Y
+B X
+A Y
+B X
+A X
+A Y
+A X
+C X
+A X
+A X
+C Y
+A Z
+C Y
+B Y
+B X
+B X
+A Y
+C X
+B X
+A Z
+A X
+A Z
+C X
+A X
+C Z
+C X
+B Z
+C Y
+B Y
+A X
+B Y
+A X
+A X
+C X
+B X
+A X
+C Z
+B Y
+B Y
+A Y
+B Y
+A X
+A X
+B Y
+A X
+A X
+C Y
+C X
+A X
+C Y
+C X
+B X
+B X
+A X
+B Y
+A Y
+A X
+B Y
+B Y
+B X
+B X
+A X
+B X
+B X
+B Y
+B Y
+C X
+B X
+B X
+A X
+A X
+A X
+A X
+A Y
+C Y
+A X
+A Y
+C Z
+A Y
+C X
+A X
+C Y
+A X
+A X
+A Y
+A Z
+A Y
+A Y
+A X
+A Y
+A Z
+C X
+C Z
+B X
+A X
+A X
+B X
+A X
+A X
+A X
+C X
+A X
+A Y
+A X
+A X
+A Y
+C Z
+C X
+A X
+A X
+A Z
+A X
+C X
+A Y
+C X
+A Y
+C X
+C X
+A X
+A X
+A Y
+B Y
+C X
+C X
+B X
+B Z
+B X
+B X
+A X
+C X
+A Y
+C X
+A Z
+B X
+B Y
+A Y
+A Y
+A X
+A Y
+A X
+A X
+A Y
+A X
+A X
+B Z
+A X
+A X
+A X
+B Y
+B Y
+C Z
+A Y
+A Y
+B Y
+A X
+B X
+C X
+C Y
+C X
+B X
+C X
+A Y
+A X
+A X
+B X
+C X
+B X
+A Y
+B X
+B Z
+A Y
+A X
+A Y
+B X
+B Z
+A X
+A X
+C X
+A X
+A Y
+A X
+B X
+A X
+A X
+A Z
+B X
+B Y
+C Y
+C X
+A Y
+A X
+B Y
+C X
+A X
+C Y
+A X
+A Y
+A Y
+A X
+A X
+C X
+C X
+A Y
+A Y
+C X
+A X
+B X
+C X
+B Y
+C Y
+C X
+B X
+B Y
+C X
+B X
+B Y
+A X
+A X
+B X
+A Y
+A X
+B X
+A X
+C Y
+A X
+B X
+A Y
+C Y
+A X
+A Y
+A Z
+C Z
+A X
+A X
+C X
+A X
+B X
+A X
+C X
+C X
+A Y
+A X
+C Y
+A Y
+A X
+B Y
+A X
+A Y
+A X
+C Z
+C Z
+C X
+A X
+A X
+A X
+A X
+C X
+A X
+C X
+B X
+B X
+A X
+A Y
+B Y
+B X
+B X
+A Y
+A Y
+A X
+A X
+B Y
+B X
+A X
+C X
+B X
+C X
+B Y
+B Z
+B Y
+A X
+A X
+A X
+A X
+A X
+B Y
+A X
+C X
+B Z
+A X
+C Y
+A X
+B X
+C Y
+A X
+A Y
+B X
+A X
+B Y
+B X
+A Y
+C Y
+C X
+A Y
+A X
+A X
+A X
+C X
+B X
+C X
+A Y
+A X
+A Y
+C Z
+C X
+A X
+A Y
+B X
+B X
+B X
+B X
+A X
+B X
+A Z
+B Y
+A X
+A X
+A X
+C Z
+A Y
+A Y
+C X
+C X
+C Y
+B Y
+A Y
+A X
+A X
+C Y
+A X
+C X
+A X
+A X
+C Y
+A Y
+A X
+C X
+A X
+A Y
+C X
+A Y
+A X
+A X
+A X
+B X
+B X
+A X
+B Y
+C Y
+C X
+A Y
+B X
+B X
+B Z
+C X
+B Y
+A Y
+C Z
+B X
+C X
+A X
+A Y
+B Y
+B X
+C Z
+B X
+A X
+C X
+C X
+A X
+A X
+A Y
+B Y
+B X
+A Y
+C Y
+B Y
+B Y
+A X
+A Y
+A X
+B X
+A Y
+A X
+A Y
+A X
+B Z
+B X
+A X
+A Y
+A X
+B Y
+A Y
+A X
+A X
+C X
+A X
+A X
+A X
+A X
+B Y
+B X
+A X
+A X
+C Y
+C X
+A Y
+A X
+B X
+A X
+B X
+B X
+B Y
+A X
+B X
+B Y
+A X
+B X
+C X
+A X
+A X
+C Z
+A X
+B X
+A X
+B X
+B X
+B Y
+A X
+B Y
+C Y
+A X
+C X
+A X
+B X
+B Y
+A X
+C X
+B X
+A X
+C Y
+C X
+B X
+A X
+B X
+A Z
+C Y
+A X
+A X
+B X
+A Y
+B X
+A X
+A Y
+B X
+A X
+C Y
+A X
+C X
+B X
+A X
+C Y
+C X
+A X
+B Y
+B X
+A Y
+B X
+A X
+B X
+A Y
+B X
+A X
+A X
+C X
+A X
+A X
+A X
+A X
+C X
+C X
+B X
+B Y
+B X
+B Z
+A X
+B X
+B Y
+B X
+B X
+A X
+A Z
+A Z
+A X
+B Y
+A X
+B X
+B Y
+A X
+B Y
+B X
+A X
+C X
+C Y
+A X
+A X
+B X
+B X
+B Y
+A X
+C X
+B Y
+A X
+A Z
+A X
+C Y
+A Y
+B X
+C X
+C X
+A X
+B X
+C X
+A Z
+A X
+A X
+B Y
+C X
+A X
+A Y
+C Z
+B X
+A Y
+A X
+A Z
+C Y
+A X
+C X
+A X
+C Y
+B X
+A X
+A X
+B Y
+A X
+B X
+B X
+B X
+C X
+C X
+A X
+C Z
+A X
+C Y
+A X
+C Y
+A Y
+B Y
+B X
+B Y
+B X
+C Y
+B Y
+B Y
+B X
+B Y
+A Y
+A Y
+C Z
+A X
+A X
+A X
+A Z
+B X
+B Y
+B X
+B Y
+A X
+C X
+B X
+A X
+C Y
+B X
+C X
+C Y
+B Y
+A X
+B Y
+B X
+C X
+B X
+C X
+B X
+A X
+C X
+B Z
+B Z
+C X
+A Y
+B X
+A Y
+A X
+B X
+C Y
+C X
+A Y
+C Y
+B Z
+B Y
+B Y
+B Y
+B Z
+B Y
+A X
+A X
+A Y
+B Y
+B Y
+A X
+A Z
+C X
+A X
+A Y
+C X
+A Y
+A X
+B X
+A X
+A X
+C X
+A X
+A X
+C Y
+B Y
+A Y
+A X
+A X
+B Y
+A X
+B X
+A X
+A X
+B X
+B X
+A X
+B Y
+A X
+A Y
+B Y
+A Y
+A X
+C X
+A Y
+A X
+C X
+A X
+A X
+B X
+C Y
+C Y
+B X
+B Z
+A X
+A Y
+A X
+A X
+C Z
+A X
+B X
+A Z
+A X
+A X
+A X
+A X
+A X
+A X
+C X
+B X
+B X
+C X
+A X
+A X
+A X
+A X
+A X
+A X
+B X
+A X
+C X
+A Y
+A X
+A X
+A X
+A X
+B X
+B Y
+A Y
+A X
+A X
+C X
+C X
+A X
+A X
+C X
+A X
+A X
+A X
+A X
+A X
+A X
+C X
+A X
+A X
+A X
+A X
+B X
+A X
+A X
+B Y
+C Y
+A X
+A Y
+C Y
+A X
+B X
+B X
+A X
+A X
+A X
+B X
+A X
+A X
+A X
+A Y
+A X
+B Y
+A Y
+A X
+A Y
+A X
+C X
+A X
+C Y
+B X
+B X
+A X
+A X
+A X
+A X
+A X
+C Y
+A Z
+A X
+B X
+B X
+A X
+A X
+C Z
+A X
+B Z
+B Y
+C Y
+A X
+A X
+C X
+B X
+B X
+B X
+C X
+A X
+A Y
+B Y
+C X
+A X
+B Y
+A X
+C Z
+B X
+A Y
+A X
+A X
+C Y
+A X
+A X
+C X
+A X
+B X
+B Y
+B Y
+B X
+A X
+A Y
+C X
+A X
+A X
+A X
+B X
+C X
+B Y
+A X
+A X
+A Y
+A X
+A X
+B X
+C X
+C X
+A Y
+B X
+A X
+A X
+A X
+B Y
+A X
+B X
+A X
+A X
+A X
+A Y
+A X
+A Z
+C X
+B Y
+B X
+A X
+B X
+C X
+A X
+A X
+B X
+A X
+A X
+A X
+A X
+B X
+A X
+C X
+A Y
+B X
+C X
+A X
+B X
+A X
+B Y
+A X
+C Y
+A X
+C Y
+C X
+B Y
+A Y
+A X
+A X
+B X
+A X
+C X
+A X
+A Z
+B X
+A X
+A X
+A Y
+A X
+A X
+C X
+B Y
+C Z
+A X
+A Y
+B X
+B X
+A X
+B Y
+C X
+A X
+B X
+A Y
+B X
+A X
+A Y
+A X
+A X
+C Y
+B X
+A Y
+C X
+C X
+A Y
+A Y
+A X
+B Z
+A Y
+C X
+C X
+C Y
+A Y
+B X
+B Z
+A X
+B Y
+A X
+A X
+B X
+A Y
+C X
+C Y
+A X
+B Y
+A Y
+A X
+B Z
+B Y
+A X
+B X
+A X
+A X
+B Y
+A Y
+A X
+A X
+A X
+A Y
+A X
+A X
+C X
+A X
+A X
+C X
+A X
+A X
+C Z
+B X
+A Y
+A X
+B Y
+B X
+A X
+A X
+A X
+C Y
+C Y
+B Y
+A X
+C X
+C X
+B X
+A X
+A X
+A X
+A Y
+A X
+A X
+B Z
+C X
+A X
+A X
+A X
+B Y
+B X
+C X
+B X
+A X
+B X
+A X
+C X
+A X
+C X
+A X
+C X
+B Y
+B X
+A X
+A X
+B Y
+B X
+B X
+A X
+B X
+C Y
+A X
+A Y
+A Y
+A Y
+A Z
+B Y
+A X
+A X
+A X
+A X
+A Z
+A X
+A X
+A X
+B Z
+B Y
+C Y
+A X
+A X
+B X
+C X
+A Y
+A X
+B X
+A X
+A X
+B X
+B Y
+A X
+B X
+C X
+B X
+A X
+A X
+A X
+A X
+B X
+B X
+C Y
+B X
+B X
+A X
+B X
+A X
+B Y
+B X
+A X
+A X
+A Y
+B X
+A X
+B Y
+A Y
+B Y
+B X
+A Z
+A X
+B Y
+A X
+B X
+A X
+A X
+A X
+B Y
+B X
+A X
+C Z
+A Y
+A Y
+C X
+B Z
+B X
+C Z
+B X
+B X
+A X
+A X
+B Y
+C X
+A X
+A Z
+B X
+A X
+A X
+B Y
+A X
+A X
+A X
+B Y
+A X
+C Y
+A X
+C Y
+A X
+C Y
+B X
+A Y
+A X
+B X
+A X
+B Y
+A X
+B X
+B X
+A Z
+A X
+C Y
+B Y
+A X
+A X
+C X
+B Y
+C Y
+C X
+A Y
+B Y
+A Y
+A Y
+B X
+A X
+A X
+A X
+A X
+A Y
+A X
+A X
+A X
+B Y
+A X
+A Y
+C X
+A X
+B X
+A X
+A X
+A X
+C Z
+A X
+A Y
+A X
+C Z
+B Y
+B X
+A X
+A Z
+A X
+A X
+A Y
+A X
+A X
+A X
+B Y
+A X
+B X
+A X
+A X
+A X
+A X
+B X
+B Z
+C X
+C X
+C X
+B Y
+A X
+B Y
+B X
+A Y
+B X
+B X
+A X
+C Y
+B X
+A X
+A X
+A X
+A X
+A X
+A X
+B Y
+C Y
+B X
+C Y
+B Y
+C X
+A Y
+C X
+B X
+C X
+B X
+A X
+A X
+B Y
+A X
+C X
+A Y
+C X
+C X
+B Y
+A X
+C X
+C X
+B Z
+A X
+C X
+A Y
+B Y
+A X
+A Y
+A X
+B X
+A X
+A X
+B Y
+A Z
+A X
+B Y
+B X
+A X
+A Y
+B X
+B X
+A X
+A X
+A Y
+A X
+C X
+A X
+B X
+C X
+C X
+C Y
+A X
+B X
+B Y
+A X
+C X
+A X
+B Y
+A X
+B X
+B Z
+A X
+A X
+A X
+B X
+C X
+C X
+B X
+A Y
+A X
+A Y
+A X
+A X
+A X
+A X
+C Y
+B X
+A X
+A X
+A X
+B Y
+A X
+B X
+B Y
+A Z
+A Y
+A X
+A Y
+A X
+A Y
+B Z
+A X
+B Y
+B Z
+B X
+A X
+C X
+C Y
+A X
+A X
+A X
+B X
+A Y
+C X
+A X
+B Y
+A Y
+B X
+B X
+A X
+A Y
+B X
+A Y
+C X
+A X
+C X
+A X
+C X
+A X
+A X
+C X
+A X
+A X
+A Y
+B X
+C X
+B Y
+A Y
+A X
+A X
+A X
+A Z
+B Y
+A X
+A X
+B Y
+A Y
+B Y
+A X
+B Y
+B X
+A X
+A X
+A X
+B X
+B Y
+A X
+C Z
+B Z
+A X
+A X
+A X
+B X
+B Y
+A X
+B Z
+A X
+A Y
+A Y
+A Y
+C X
+B Y
+A X
+A X
+C Y
+B X
+A Y
+A X
+A X
+B Y
+C X
+C X
+C X
+A X
+A X
+A X
+B Z
+A X
+C X
+A X
+A X
+B X
+B X
+A X
+C Y
+A X
+B X
+C X
+B Y
+A X
+B Y
+C X
+A X
+C X
+B Y
+A X
+A Y
+C X
+C Z
+A X
+C X
+A X
+A X
+C X
+A Y
+C X
+B Y
+A X
+C Z
+A X
+B X
+B Y
+A Y
+A X
+A X
+A X
+A X
+A Y
+A Y
+B X
+C X
+A Y
+A X
+C X
+B X
+B Y
+C X
+B X
+A X
+B X
+A X
+C Y
+A X
+A X
+A X
+A X
+C X
+A X
+B X
+A X
+B X
+A X
+A Y
+C X
+C Y
+C X
+A Z
+B X
+A Z
+A X
+B Y
+A Y
+B X
+A X
+B Y
+A Y
+A X
+B Y
+A X
+B X
+A X
+A X
+A X
+A X
+B Y
+A Y
+A X
+A X
+B X
+B Z
+A Y
+A Y
+C Y
+C Y
+A X
+C X
+A X
+B Y
+B X
+B Y
+B X
+C X
+B X
+C X
+A X
+B Y
+A X
+B X
+A X
+B X
+C Y
+B X
+A X
+A Y
+A X
+B Y
+C X
+C X
+A X
+B Z
+A X
+A X
+B Y
+A X
+A X
+B X
+A Y
+C X
+A X
+C Y
+A Y
+C X
+A Y
+A X
+A X
+A X
+A Y
+B X
+B X
+A Y
+C X
+B Y
+A Y
+B X
+B X
+B X
+B X
+A X
+B X
+B X
+A X
+C X
+A X
+C X
+C X
+A X
+C X
+B X
+A Y
+A Z
+A X
+A X
+A X
+A Y
+A X
+A X
+C Z
+A X
+B X
+C X
+A X
+B X
+C X
+C X
+A X
+B Y
+A X
+A X
+A X
+A Y
+B Y
+B Y
+A X
+B X
+A X
+C X
+A X
+B Y
+C Y
+C X
+C X
+B X
+B X
+C X
+A Y
+B X
+A X
+A X
+A X
+A X
+A Y
+B X
+B X
+C Y
+C Y
+B Y
+B X
+A X
+C Y
+A X
+C Z
+C X
+A X
+B Z
+A X
+A Z
+C X
+B Y
+A X
+A Y
+A X
+B X
+A Y
+C X
+C Y
+B X
+B X
+B Y
+B Y
+C X
+B Y
+B Y
+B X
+C X
+C X
+A X
+A X
+A Y
+A X
+A Y
+B X
+A X
+B Y
+B X
+A X
+A X
+A Y
+B X
+B X
+A X
+B X
+C Y
+A Y
+B Y
+C Y
+B Y
+A X
+B Y
+B X
+B Z
+A Y
+A Y
+C Y
+B X
+A X
+A X
+B Y
+A X
+A X
+B X
+A X
+A X
+A X
+B X
+B X
+B Y
+A X
+C X
+A X
+B X
+A X
+A X
+A Y
+B X
+B X
+B X
+C X
+B Y
+C Z
+A X
+C X
+A X
+B X
+A X
+A Y
+B Y
+A Z
+A X
+C X
+A Y
+A X
+A X
+A X
+A X
+A Y
+A X
+C X
+A X
+C Y
+B X
+A X
+A X
+A X
+A X
+A X
+C X
+A X
+B X
+B Y
+B Y
+B X
+C Z
+C X
+B X
+C Y
+A X
+A X
+A X
+A X
+A X
+C X
+A X
+B X
+C X
+C X
+A X
+A X
+B X
+A X
+A X
+A X
+B X
+A X
+C X
+A X
+A Y
+A X
+B Y
+A X
+B X
+A Y
+C X
+B X
+C Y
+C Y
+B X
+A X
+B X
+C X
+A X
+C X
+A X
+C X
+B X
+B X
+C X
+C X
+B X
+B X
+C Y
+B X
+A X
+B X
+B X
+B Y
+A Y
+B X
+A X
+C Y
+A Y
+C Y
+A X
+B Y
+A X
+A X
+A X
+B Y
+B X
+A Y
+A X
+A X
+A Y
+B X
+B Y
+A Y
+B X
+C X
+C Z
+B X
+A Y
+A X
+C X
+A X
+C X
+B Z
+C X
+A Y
+A X
+C X
+B Y
+A Z
+B Y
+A X
+A X
+A Y
+C X
+A Z
+A X
+B Y
+A X
+B X
+A Y
+A Y
+A X
+A X
+A X
+C Y
+B X
+A X
+B X
+B Y
+B Y
+A X
+A X
+A Y
+A X
+C X
+B X
+C X
+B X
+B X
+C Y
+A Y
+B X
+A X
+A X
+A X
+C X
+C X
+A X
+B X
+A X
+A X
+A Z
+A X
+C X
+B X
+A X
+C Y
+A Y
+C Y
+B Y
+B Y
+B Z
+A X
+C X
+A X
+B Y
+B Y
+A X
+B Y
+A X
+B Y
+B X
+B X
+C X
+B Y
+B X
+A X
+A Y
+B X
+A X
+B Z
+A Y
+B X
+B X
+A Y
+C Y
+B X
+B Y
+A X
+B X
+A Y
+A Y
+B X
+B Y
+B X
+A X
+C X
+A X
+A X
+A X
+B Y
+A Y
+B X
+C X
+C Z
+A X
+B Y
+A Y
+A X
+B X
+A X
+A Y
+A X
+A Y
+A X
+A X
+A X
+C X
+A Y
+C Y
+A X
+A X
+C Z
+B X
+A Y
+B X
+B X
+B X
+B X
+B X
+A X
+A X
+B X
+B Y
+A X
+C Y
+C X
+A X
+A X
+A X
+A X
+A X
+A X
+A X
+A Y
+B Y
+A X
+A X
+A Z
+C Y
+C Y
+B X
+C Z
+A X
+A X
+A X
+B Z
+B Y
+A X
+A X
+A X
+B X
+A X
+C X
+C X
+C X
+B X
+A X
+A X
+C Z
+B Z
+C Y
+A X
+A X
+A X
+C Z
+A X
+A X
+C X
+C X
+A X
+C Y
+A X
+A Y
+A X
+A X
+A Z
+C X
+C X
+A Y
+B X
+B X
+A Y
+A X
+B X
+C Y
+A X
+A Y
+B Z
+A X
+C Y
+A X
+B Y
+A X
+A Y
+A X
+C Z
+A X
+B X
+A X
+B Y
+A X
+A X
+A X
+A X
+A X
+B Y
+C X
+A X
+B X
+A X
+A Y
+A Z
+A X
+A X
+B Y
+B X
+C X
+A X
+A X
+B X
+B Y
+B Y
+A Y
+B Z
+B Y
+A X
+A X
+A X
+A X
+B X
+C Y
+A X
+A X
+A X
+A X
+A X
+A X
+A X
+A X
+B Y
+A X
+B X
+C X
+C X
+C X
+C X
+A X
+B Y
+A X
+B X
+B X
+A X
+A X
+C Z
+A X
+B X
+B X
+C X
+A X
+B X
+B X
+B X
+B X
+B Y
+A X
+B X
+A Y
+A X
+A Y
+B Y
+A X
+C Y
+B X
+A X
+A X
+A X
+A Z
+A Y
+A X
+C X
+C X
+B X
+A X
+A X
+B X
+A X
+A Y
+C Z
+A Y
+B X
+B Y
+A X
+C Y
+B Z