@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+import sys
+
+DELTA = {'forward': (1, 0), 'up': (0, -1), 'down': (0, 1)}
+def parse(line):
+ direction, amount = line.split()
+ return DELTA[direction], int(amount)
+x = y = aimed_y = 0
+for (dx, dy), amount in map(parse, sys.stdin):
+ x += dx * amount
+ y += dy * amount
+ aimed_y += dx * y * amount
+print(x * y)
+print(x * aimed_y)
@@ -0,0 +1,1000 @@
+forward 7
+forward 9
+down 3
+down 8
+forward 6
+down 7
+up 3
+forward 3
+down 9
+down 6
+forward 8
+forward 4
+down 1
+forward 2
+down 5
+up 1
+down 4
+down 2
+up 8
+forward 5
+forward 1
+up 4
+up 5
+up 7
+up 9
+up 2
+up 6