summaryrefslogtreecommitdiffstats
path: root/2021/02
diff options
context:
space:
mode:
Diffstat (limited to '2021/02')
-rw-r--r--2021/02/input1000
-rw-r--r--2021/02/part1.tl1010
-rw-r--r--2021/02/part2.tl1016
3 files changed, 3026 insertions, 0 deletions
diff --git a/2021/02/input b/2021/02/input
new file mode 100644
index 0000000..d5c08db
--- /dev/null
+++ b/2021/02/input
@@ -0,0 +1,1000 @@
+forward 9
+forward 9
+forward 3
+down 2
+forward 8
+down 8
+forward 1
+down 6
+down 9
+down 9
+forward 1
+up 5
+up 4
+up 8
+down 6
+down 7
+forward 4
+forward 6
+forward 2
+forward 2
+forward 4
+down 2
+down 6
+forward 6
+forward 9
+up 4
+up 6
+down 2
+forward 7
+up 7
+down 8
+down 4
+down 6
+forward 1
+down 2
+up 1
+forward 8
+down 9
+forward 6
+up 9
+down 8
+forward 5
+forward 8
+down 8
+up 3
+up 9
+down 2
+down 2
+forward 5
+up 7
+forward 5
+down 6
+forward 4
+down 2
+up 2
+up 7
+up 1
+down 4
+down 8
+forward 6
+down 2
+forward 7
+down 1
+forward 7
+forward 1
+up 1
+down 4
+down 3
+down 4
+down 4
+up 8
+down 1
+up 7
+forward 8
+down 5
+up 1
+down 4
+down 3
+forward 4
+up 7
+forward 1
+down 4
+down 2
+down 4
+up 8
+up 6
+down 1
+up 3
+down 5
+forward 4
+down 3
+forward 9
+down 9
+forward 2
+down 4
+up 3
+down 4
+forward 1
+forward 7
+forward 9
+forward 7
+forward 3
+forward 6
+down 4
+forward 7
+down 5
+down 1
+forward 7
+up 1
+down 8
+down 7
+down 7
+down 7
+down 3
+forward 4
+forward 6
+forward 6
+forward 1
+down 7
+down 6
+down 8
+up 5
+down 7
+up 6
+forward 9
+down 7
+down 1
+down 9
+forward 8
+up 5
+down 6
+forward 3
+up 2
+down 1
+forward 2
+down 3
+up 6
+forward 8
+forward 1
+forward 3
+down 9
+forward 1
+down 3
+up 7
+forward 8
+up 8
+down 7
+down 2
+forward 3
+up 7
+forward 6
+down 7
+down 6
+up 5
+forward 9
+down 7
+up 5
+forward 6
+up 5
+up 6
+forward 6
+down 8
+down 1
+forward 7
+forward 6
+down 5
+down 6
+forward 9
+down 6
+up 5
+forward 9
+forward 4
+down 1
+forward 5
+down 4
+forward 5
+forward 1
+down 1
+forward 4
+down 5
+forward 4
+up 8
+down 1
+forward 6
+down 5
+forward 8
+forward 8
+forward 5
+down 7
+down 4
+forward 4
+up 1
+up 8
+down 6
+up 5
+forward 6
+forward 5
+forward 9
+down 3
+down 5
+forward 3
+down 6
+forward 6
+up 7
+up 6
+down 6
+down 1
+forward 8
+forward 9
+up 5
+forward 8
+forward 9
+forward 9
+down 2
+down 8
+forward 8
+down 2
+up 8
+down 2
+down 2
+up 1
+down 5
+down 6
+down 1
+down 8
+down 9
+forward 3
+forward 2
+down 6
+up 8
+forward 9
+forward 7
+forward 1
+down 8
+up 8
+forward 8
+down 5
+down 3
+up 3
+forward 6
+forward 5
+down 4
+forward 4
+down 4
+forward 5
+forward 9
+forward 2
+forward 9
+down 1
+down 3
+down 6
+forward 6
+down 7
+forward 3
+forward 4
+forward 1
+down 6
+forward 1
+forward 4
+forward 2
+forward 2
+forward 1
+forward 2
+down 1
+up 2
+forward 1
+down 3
+forward 8
+down 3
+down 9
+forward 5
+down 3
+down 3
+forward 2
+forward 9
+down 9
+forward 4
+down 2
+forward 5
+up 8
+down 4
+forward 5
+down 1
+forward 9
+down 1
+forward 7
+forward 2
+down 2
+down 6
+up 3
+forward 7
+up 4
+forward 7
+forward 6
+down 8
+forward 2
+down 3
+forward 9
+forward 4
+forward 8
+down 6
+forward 8
+down 9
+down 2
+down 3
+forward 1
+down 5
+down 3
+forward 2
+forward 7
+down 4
+down 3
+forward 9
+down 2
+forward 2
+forward 1
+up 6
+up 4
+down 5
+forward 5
+up 8
+down 7
+forward 6
+down 5
+forward 3
+forward 3
+forward 7
+up 9
+up 6
+down 5
+up 7
+forward 2
+forward 5
+down 9
+down 6
+forward 7
+down 9
+up 2
+up 5
+forward 1
+forward 8
+forward 9
+up 8
+forward 9
+forward 5
+up 9
+down 4
+down 7
+forward 2
+forward 1
+down 4
+up 8
+down 5
+down 7
+down 9
+down 3
+down 9
+up 8
+up 7
+up 8
+down 8
+down 2
+down 6
+down 6
+up 5
+up 9
+forward 1
+down 8
+up 4
+up 3
+forward 7
+up 7
+down 3
+up 1
+forward 3
+down 7
+forward 8
+forward 2
+down 6
+down 2
+up 7
+up 5
+forward 7
+forward 1
+forward 6
+up 6
+forward 5
+down 2
+up 4
+forward 2
+down 9
+forward 6
+forward 3
+forward 3
+forward 4
+forward 2
+down 6
+forward 9
+forward 7
+down 4
+up 1
+forward 4
+down 6
+down 6
+up 1
+up 1
+forward 3
+down 5
+up 5
+down 3
+down 6
+up 8
+down 2
+up 6
+up 1
+forward 8
+up 6
+down 8
+forward 9
+forward 4
+forward 9
+down 7
+down 9
+down 6
+down 1
+forward 9
+forward 9
+down 6
+down 5
+up 6
+down 9
+up 4
+up 5
+forward 8
+down 4
+down 5
+forward 8
+forward 7
+down 2
+forward 2
+forward 6
+forward 7
+down 1
+down 7
+down 1
+down 6
+forward 2
+up 2
+down 4
+down 8
+forward 1
+down 1
+down 3
+down 3
+up 9
+down 9
+forward 3
+up 4
+forward 1
+down 9
+down 8
+down 9
+forward 5
+forward 4
+up 3
+down 8
+forward 2
+down 3
+up 5
+forward 4
+down 7
+down 8
+down 9
+forward 8
+down 8
+forward 4
+down 6
+down 3
+forward 5
+down 3
+down 9
+down 4
+up 8
+forward 4
+up 6
+down 3
+forward 6
+down 9
+down 7
+forward 7
+forward 3
+forward 2
+forward 4
+down 4
+down 5
+up 9
+down 2
+down 6
+down 9
+forward 7
+forward 3
+up 3
+forward 3
+down 4
+down 7
+forward 2
+down 2
+forward 3
+down 8
+down 7
+down 7
+forward 2
+forward 2
+up 6
+forward 8
+forward 9
+up 3
+forward 8
+forward 5
+forward 7
+up 3
+forward 3
+forward 6
+down 5
+down 5
+down 4
+forward 1
+forward 8
+forward 4
+forward 3
+down 1
+forward 8
+down 4
+up 5
+forward 4
+down 2
+forward 7
+down 2
+forward 9
+down 1
+forward 6
+forward 8
+forward 6
+forward 7
+forward 1
+forward 6
+down 5
+up 3
+forward 7
+down 6
+forward 2
+down 2
+forward 8
+forward 9
+up 7
+forward 1
+forward 1
+up 1
+forward 1
+down 2
+forward 6
+down 9
+up 1
+up 2
+forward 6
+forward 1
+forward 7
+down 1
+up 8
+forward 7
+up 6
+up 4
+down 1
+forward 2
+down 4
+down 1
+down 7
+down 4
+up 3
+forward 8
+forward 3
+forward 5
+down 7
+down 8
+forward 5
+forward 2
+down 5
+down 2
+forward 2
+up 9
+down 3
+down 5
+up 7
+down 4
+down 2
+down 7
+forward 6
+down 2
+forward 1
+up 4
+forward 2
+forward 2
+down 5
+down 1
+down 1
+forward 7
+forward 6
+down 7
+down 5
+up 1
+up 3
+forward 3
+forward 9
+forward 4
+down 1
+down 5
+forward 3
+forward 7
+down 8
+forward 8
+forward 2
+forward 7
+up 7
+down 7
+down 4
+down 2
+up 6
+up 1
+forward 8
+up 8
+up 6
+down 8
+forward 1
+down 5
+forward 3
+down 3
+down 3
+forward 1
+up 3
+up 3
+forward 8
+forward 8
+down 8
+forward 6
+forward 2
+down 7
+forward 8
+down 7
+up 5
+forward 7
+down 1
+forward 9
+up 6
+down 2
+up 2
+up 5
+forward 6
+forward 9
+forward 3
+down 8
+forward 8
+down 2
+up 5
+down 9
+forward 5
+down 6
+down 3
+down 9
+up 8
+up 3
+down 2
+forward 7
+forward 4
+forward 4
+forward 8
+up 6
+up 4
+forward 9
+down 6
+down 8
+up 3
+up 5
+forward 8
+forward 7
+forward 4
+down 8
+forward 1
+forward 5
+down 9
+forward 8
+up 6
+down 6
+down 8
+down 2
+forward 4
+forward 9
+forward 2
+forward 7
+down 3
+forward 3
+up 6
+down 4
+forward 2
+up 4
+down 4
+forward 4
+forward 3
+forward 1
+up 6
+forward 1
+down 1
+forward 7
+up 4
+forward 3
+down 4
+up 6
+up 2
+up 8
+down 1
+down 6
+down 6
+down 1
+down 7
+forward 8
+down 9
+forward 5
+up 2
+up 7
+up 5
+down 6
+up 1
+up 6
+forward 4
+down 7
+forward 5
+forward 1
+down 6
+forward 2
+down 2
+forward 9
+down 9
+up 6
+forward 1
+up 7
+down 7
+forward 1
+down 6
+up 1
+forward 2
+forward 1
+down 4
+forward 9
+forward 7
+forward 5
+down 1
+forward 2
+down 2
+down 2
+down 5
+forward 1
+up 8
+forward 9
+down 7
+forward 9
+down 2
+up 5
+down 9
+down 8
+down 5
+forward 8
+forward 4
+down 4
+down 6
+forward 1
+down 5
+up 6
+down 3
+down 3
+forward 9
+down 9
+forward 6
+down 5
+up 6
+down 5
+up 7
+forward 9
+down 2
+down 4
+down 8
+forward 4
+up 7
+forward 9
+forward 7
+up 5
+down 7
+down 5
+down 1
+forward 5
+forward 4
+down 2
+up 3
+forward 1
+up 4
+up 9
+down 4
+forward 3
+down 4
+down 9
+forward 4
+up 2
+up 3
+forward 7
+up 6
+down 8
+down 8
+forward 6
+forward 2
+forward 3
+forward 9
+forward 7
+down 6
+down 7
+down 4
+down 2
+forward 8
+down 6
+forward 6
+forward 6
+forward 9
+down 8
+down 1
+up 5
+down 1
+forward 9
+down 1
+up 8
+forward 8
+down 3
+forward 1
+down 9
+forward 6
+forward 4
+forward 8
+down 2
+up 8
+down 2
+up 8
+down 9
+down 4
+up 7
+forward 7
+forward 5
+down 5
+down 4
+up 8
+forward 1
+down 7
+forward 1
+up 9
+forward 9
+forward 7
+forward 9
+down 9
+forward 4
+down 7
+forward 6
+forward 6
+up 3
+forward 2
+down 5
+up 8
+down 1
+up 8
+down 4
+down 1
+up 6
+forward 4
+forward 3
+forward 6
+down 3
+forward 4
+forward 4
+forward 4
+down 8
+forward 3
+up 8
+up 8
+down 8
+forward 6
+forward 8
+up 5
+forward 6
+down 8
+down 7
+up 4
+forward 6
+forward 9
+down 9
+forward 4
+up 2
+forward 1
+up 3
+down 9
+down 8
+forward 8
+forward 8
+forward 7
+down 6
+down 1
+up 6
+up 6
+forward 9
+forward 7
+forward 7
+down 3
+down 6
+down 9
+down 4
+forward 7
+forward 3
+forward 3
+down 7
+up 5
+down 3
+forward 6
+forward 3
+forward 5
+up 3
+down 7
+forward 2
+up 7
+forward 9
+down 3
+down 9
+forward 8
+forward 5
+up 7
+up 2
+up 8
+forward 6
+down 8
+forward 2
+forward 4
+up 2
+forward 2
+forward 8
+forward 4
+down 8
+forward 5
+down 4
+down 7
+forward 3
+down 3
+up 1
+down 9
+forward 9
+down 2
+down 1
+forward 1
+down 6
+down 3
+forward 5
+down 3
+down 8
+up 7
+down 1
+up 9
+down 4
+forward 9
+down 4
+forward 3
+forward 6
+down 3
+forward 3
+down 2
+down 7
+down 1
+up 4
+down 9
+down 1
+down 3
+down 4
+down 8
+down 7
+forward 4
+down 4
+down 9
+forward 2
+forward 7
+forward 2
+down 6
+up 8
+forward 6
+down 2
+forward 6
+up 8
+forward 6
+down 9
+forward 2
+forward 6
diff --git a/2021/02/part1.tl b/2021/02/part1.tl
new file mode 100644
index 0000000..983506a
--- /dev/null
+++ b/2021/02/part1.tl
@@ -0,0 +1,1010 @@
+(defvar x 0)
+(defvar y 0)
+(defvar aim 0)
+
+(defun forward (n) (inc x n))
+(defun down (n) (inc y n))
+(defun up (n) (dec y n))
+
+(forward 9)
+(forward 9)
+(forward 3)
+(down 2)
+(forward 8)
+(down 8)
+(forward 1)
+(down 6)
+(down 9)
+(down 9)
+(forward 1)
+(up 5)
+(up 4)
+(up 8)
+(down 6)
+(down 7)
+(forward 4)
+(forward 6)
+(forward 2)
+(forward 2)
+(forward 4)
+(down 2)
+(down 6)
+(forward 6)
+(forward 9)
+(up 4)
+(up 6)
+(down 2)
+(forward 7)
+(up 7)
+(down 8)
+(down 4)
+(down 6)
+(forward 1)
+(down 2)
+(up 1)
+(forward 8)
+(down 9)
+(forward 6)
+(up 9)
+(down 8)
+(forward 5)
+(forward 8)
+(down 8)
+(up 3)
+(up 9)
+(down 2)
+(down 2)
+(forward 5)
+(up 7)
+(forward 5)
+(down 6)
+(forward 4)
+(down 2)
+(up 2)
+(up 7)
+(up 1)
+(down 4)
+(down 8)
+(forward 6)
+(down 2)
+(forward 7)
+(down 1)
+(forward 7)
+(forward 1)
+(up 1)
+(down 4)
+(down 3)
+(down 4)
+(down 4)
+(up 8)
+(down 1)
+(up 7)
+(forward 8)
+(down 5)
+(up 1)
+(down 4)
+(down 3)
+(forward 4)
+(up 7)
+(forward 1)
+(down 4)
+(down 2)
+(down 4)
+(up 8)
+(up 6)
+(down 1)
+(up 3)
+(down 5)
+(forward 4)
+(down 3)
+(forward 9)
+(down 9)
+(forward 2)
+(down 4)
+(up 3)
+(down 4)
+(forward 1)
+(forward 7)
+(forward 9)
+(forward 7)
+(forward 3)
+(forward 6)
+(down 4)
+(forward 7)
+(down 5)
+(down 1)
+(forward 7)
+(up 1)
+(down 8)
+(down 7)
+(down 7)
+(down 7)
+(down 3)
+(forward 4)
+(forward 6)
+(forward 6)
+(forward 1)
+(down 7)
+(down 6)
+(down 8)
+(up 5)
+(down 7)
+(up 6)
+(forward 9)
+(down 7)
+(down 1)
+(down 9)
+(forward 8)
+(up 5)
+(down 6)
+(forward 3)
+(up 2)
+(down 1)
+(forward 2)
+(down 3)
+(up 6)
+(forward 8)
+(forward 1)
+(forward 3)
+(down 9)
+(forward 1)
+(down 3)
+(up 7)
+(forward 8)
+(up 8)
+(down 7)
+(down 2)
+(forward 3)
+(up 7)
+(forward 6)
+(down 7)
+(down 6)
+(up 5)
+(forward 9)
+(down 7)
+(up 5)
+(forward 6)
+(up 5)
+(up 6)
+(forward 6)
+(down 8)
+(down 1)
+(forward 7)
+(forward 6)
+(down 5)
+(down 6)
+(forward 9)
+(down 6)
+(up 5)
+(forward 9)
+(forward 4)
+(down 1)
+(forward 5)
+(down 4)
+(forward 5)
+(forward 1)
+(down 1)
+(forward 4)
+(down 5)
+(forward 4)
+(up 8)
+(down 1)
+(forward 6)
+(down 5)
+(forward 8)
+(forward 8)
+(forward 5)
+(down 7)
+(down 4)
+(forward 4)
+(up 1)
+(up 8)
+(down 6)
+(up 5)
+(forward 6)
+(forward 5)
+(forward 9)
+(down 3)
+(down 5)
+(forward 3)
+(down 6)
+(forward 6)
+(up 7)
+(up 6)
+(down 6)
+(down 1)
+(forward 8)
+(forward 9)
+(up 5)
+(forward 8)
+(forward 9)
+(forward 9)
+(down 2)
+(down 8)
+(forward 8)
+(down 2)
+(up 8)
+(down 2)
+(down 2)
+(up 1)
+(down 5)
+(down 6)
+(down 1)
+(down 8)
+(down 9)
+(forward 3)
+(forward 2)
+(down 6)
+(up 8)
+(forward 9)
+(forward 7)
+(forward 1)
+(down 8)
+(up 8)
+(forward 8)
+(down 5)
+(down 3)
+(up 3)
+(forward 6)
+(forward 5)
+(down 4)
+(forward 4)
+(down 4)
+(forward 5)
+(forward 9)
+(forward 2)
+(forward 9)
+(down 1)
+(down 3)
+(down 6)
+(forward 6)
+(down 7)
+(forward 3)
+(forward 4)
+(forward 1)
+(down 6)
+(forward 1)
+(forward 4)
+(forward 2)
+(forward 2)
+(forward 1)
+(forward 2)
+(down 1)
+(up 2)
+(forward 1)
+(down 3)
+(forward 8)
+(down 3)
+(down 9)
+(forward 5)
+(down 3)
+(down 3)
+(forward 2)
+(forward 9)
+(down 9)
+(forward 4)
+(down 2)
+(forward 5)
+(up 8)
+(down 4)
+(forward 5)
+(down 1)
+(forward 9)
+(down 1)
+(forward 7)
+(forward 2)
+(down 2)
+(down 6)
+(up 3)
+(forward 7)
+(up 4)
+(forward 7)
+(forward 6)
+(down 8)
+(forward 2)
+(down 3)
+(forward 9)
+(forward 4)
+(forward 8)
+(down 6)
+(forward 8)
+(down 9)
+(down 2)
+(down 3)
+(forward 1)
+(down 5)
+(down 3)
+(forward 2)
+(forward 7)
+(down 4)
+(down 3)
+(forward 9)
+(down 2)
+(forward 2)
+(forward 1)
+(up 6)
+(up 4)
+(down 5)
+(forward 5)
+(up 8)
+(down 7)
+(forward 6)
+(down 5)
+(forward 3)
+(forward 3)
+(forward 7)
+(up 9)
+(up 6)
+(down 5)
+(up 7)
+(forward 2)
+(forward 5)
+(down 9)
+(down 6)
+(forward 7)
+(down 9)
+(up 2)
+(up 5)
+(forward 1)
+(forward 8)
+(forward 9)
+(up 8)
+(forward 9)
+(forward 5)
+(up 9)
+(down 4)
+(down 7)
+(forward 2)
+(forward 1)
+(down 4)
+(up 8)
+(down 5)
+(down 7)
+(down 9)
+(down 3)
+(down 9)
+(up 8)
+(up 7)
+(up 8)
+(down 8)
+(down 2)
+(down 6)
+(down 6)
+(up 5)
+(up 9)
+(forward 1)
+(down 8)
+(up 4)
+(up 3)
+(forward 7)
+(up 7)
+(down 3)
+(up 1)
+(forward 3)
+(down 7)
+(forward 8)
+(forward 2)
+(down 6)
+(down 2)
+(up 7)
+(up 5)
+(forward 7)
+(forward 1)
+(forward 6)
+(up 6)
+(forward 5)
+(down 2)
+(up 4)
+(forward 2)
+(down 9)
+(forward 6)
+(forward 3)
+(forward 3)
+(forward 4)
+(forward 2)
+(down 6)
+(forward 9)
+(forward 7)
+(down 4)
+(up 1)
+(forward 4)
+(down 6)
+(down 6)
+(up 1)
+(up 1)
+(forward 3)
+(down 5)
+(up 5)
+(down 3)
+(down 6)
+(up 8)
+(down 2)
+(up 6)
+(up 1)
+(forward 8)
+(up 6)
+(down 8)
+(forward 9)
+(forward 4)
+(forward 9)
+(down 7)
+(down 9)
+(down 6)
+(down 1)
+(forward 9)
+(forward 9)
+(down 6)
+(down 5)
+(up 6)
+(down 9)
+(up 4)
+(up 5)
+(forward 8)
+(down 4)
+(down 5)
+(forward 8)
+(forward 7)
+(down 2)
+(forward 2)
+(forward 6)
+(forward 7)
+(down 1)
+(down 7)
+(down 1)
+(down 6)
+(forward 2)
+(up 2)
+(down 4)
+(down 8)
+(forward 1)
+(down 1)
+(down 3)
+(down 3)
+(up 9)
+(down 9)
+(forward 3)
+(up 4)
+(forward 1)
+(down 9)
+(down 8)
+(down 9)
+(forward 5)
+(forward 4)
+(up 3)
+(down 8)
+(forward 2)
+(down 3)
+(up 5)
+(forward 4)
+(down 7)
+(down 8)
+(down 9)
+(forward 8)
+(down 8)
+(forward 4)
+(down 6)
+(down 3)
+(forward 5)
+(down 3)
+(down 9)
+(down 4)
+(up 8)
+(forward 4)
+(up 6)
+(down 3)
+(forward 6)
+(down 9)
+(down 7)
+(forward 7)
+(forward 3)
+(forward 2)
+(forward 4)
+(down 4)
+(down 5)
+(up 9)
+(down 2)
+(down 6)
+(down 9)
+(forward 7)
+(forward 3)
+(up 3)
+(forward 3)
+(down 4)
+(down 7)
+(forward 2)
+(down 2)
+(forward 3)
+(down 8)
+(down 7)
+(down 7)
+(forward 2)
+(forward 2)
+(up 6)
+(forward 8)
+(forward 9)
+(up 3)
+(forward 8)
+(forward 5)
+(forward 7)
+(up 3)
+(forward 3)
+(forward 6)
+(down 5)
+(down 5)
+(down 4)
+(forward 1)
+(forward 8)
+(forward 4)
+(forward 3)
+(down 1)
+(forward 8)
+(down 4)
+(up 5)
+(forward 4)
+(down 2)
+(forward 7)
+(down 2)
+(forward 9)
+(down 1)
+(forward 6)
+(forward 8)
+(forward 6)
+(forward 7)
+(forward 1)
+(forward 6)
+(down 5)
+(up 3)
+(forward 7)
+(down 6)
+(forward 2)
+(down 2)
+(forward 8)
+(forward 9)
+(up 7)
+(forward 1)
+(forward 1)
+(up 1)
+(forward 1)
+(down 2)
+(forward 6)
+(down 9)
+(up 1)
+(up 2)
+(forward 6)
+(forward 1)
+(forward 7)
+(down 1)
+(up 8)
+(forward 7)
+(up 6)
+(up 4)
+(down 1)
+(forward 2)
+(down 4)
+(down 1)
+(down 7)
+(down 4)
+(up 3)
+(forward 8)
+(forward 3)
+(forward 5)
+(down 7)
+(down 8)
+(forward 5)
+(forward 2)
+(down 5)
+(down 2)
+(forward 2)
+(up 9)
+(down 3)
+(down 5)
+(up 7)
+(down 4)
+(down 2)
+(down 7)
+(forward 6)
+(down 2)
+(forward 1)
+(up 4)
+(forward 2)
+(forward 2)
+(down 5)
+(down 1)
+(down 1)
+(forward 7)
+(forward 6)
+(down 7)
+(down 5)
+(up 1)
+(up 3)
+(forward 3)
+(forward 9)
+(forward 4)
+(down 1)
+(down 5)
+(forward 3)
+(forward 7)
+(down 8)
+(forward 8)
+(forward 2)
+(forward 7)
+(up 7)
+(down 7)
+(down 4)
+(down 2)
+(up 6)
+(up 1)
+(forward 8)
+(up 8)
+(up 6)
+(down 8)
+(forward 1)
+(down 5)
+(forward 3)
+(down 3)
+(down 3)
+(forward 1)
+(up 3)
+(up 3)
+(forward 8)
+(forward 8)
+(down 8)
+(forward 6)
+(forward 2)
+(down 7)
+(forward 8)
+(down 7)
+(up 5)
+(forward 7)
+(down 1)
+(forward 9)
+(up 6)
+(down 2)
+(up 2)
+(up 5)
+(forward 6)
+(forward 9)
+(forward 3)
+(down 8)
+(forward 8)
+(down 2)
+(up 5)
+(down 9)
+(forward 5)
+(down 6)
+(down 3)
+(down 9)
+(up 8)
+(up 3)
+(down 2)
+(forward 7)
+(forward 4)
+(forward 4)
+(forward 8)
+(up 6)
+(up 4)
+(forward 9)
+(down 6)
+(down 8)
+(up 3)
+(up 5)
+(forward 8)
+(forward 7)
+(forward 4)
+(down 8)
+(forward 1)
+(forward 5)
+(down 9)
+(forward 8)
+(up 6)
+(down 6)
+(down 8)
+(down 2)
+(forward 4)
+(forward 9)
+(forward 2)
+(forward 7)
+(down 3)
+(forward 3)
+(up 6)
+(down 4)
+(forward 2)
+(up 4)
+(down 4)
+(forward 4)
+(forward 3)
+(forward 1)
+(up 6)
+(forward 1)
+(down 1)
+(forward 7)
+(up 4)
+(forward 3)
+(down 4)
+(up 6)
+(up 2)
+(up 8)
+(down 1)
+(down 6)
+(down 6)
+(down 1)
+(down 7)
+(forward 8)
+(down 9)
+(forward 5)
+(up 2)
+(up 7)
+(up 5)
+(down 6)
+(up 1)
+(up 6)
+(forward 4)
+(down 7)
+(forward 5)
+(forward 1)
+(down 6)
+(forward 2)
+(down 2)
+(forward 9)
+(down 9)
+(up 6)
+(forward 1)
+(up 7)
+(down 7)
+(forward 1)
+(down 6)
+(up 1)
+(forward 2)
+(forward 1)
+(down 4)
+(forward 9)
+(forward 7)
+(forward 5)
+(down 1)
+(forward 2)
+(down 2)
+(down 2)
+(down 5)
+(forward 1)
+(up 8)
+(forward 9)
+(down 7)
+(forward 9)
+(down 2)
+(up 5)
+(down 9)
+(down 8)
+(down 5)
+(forward 8)
+(forward 4)
+(down 4)
+(down 6)
+(forward 1)
+(down 5)
+(up 6)
+(down 3)
+(down 3)
+(forward 9)
+(down 9)
+(forward 6)
+(down 5)
+(up 6)
+(down 5)
+(up 7)
+(forward 9)
+(down 2)
+(down 4)
+(down 8)
+(forward 4)
+(up 7)
+(forward 9)
+(forward 7)
+(up 5)
+(down 7)
+(down 5)
+(down 1)
+(forward 5)
+(forward 4)
+(down 2)
+(up 3)
+(forward 1)
+(up 4)
+(up 9)
+(down 4)
+(forward 3)
+(down 4)
+(down 9)
+(forward 4)
+(up 2)
+(up 3)
+(forward 7)
+(up 6)
+(down 8)
+(down 8)
+(forward 6)
+(forward 2)
+(forward 3)
+(forward 9)
+(forward 7)
+(down 6)
+(down 7)
+(down 4)
+(down 2)
+(forward 8)
+(down 6)
+(forward 6)
+(forward 6)
+(forward 9)
+(down 8)
+(down 1)
+(up 5)
+(down 1)
+(forward 9)
+(down 1)
+(up 8)
+(forward 8)
+(down 3)
+(forward 1)
+(down 9)
+(forward 6)
+(forward 4)
+(forward 8)
+(down 2)
+(up 8)
+(down 2)
+(up 8)
+(down 9)
+(down 4)
+(up 7)
+(forward 7)
+(forward 5)
+(down 5)
+(down 4)
+(up 8)
+(forward 1)
+(down 7)
+(forward 1)
+(up 9)
+(forward 9)
+(forward 7)
+(forward 9)
+(down 9)
+(forward 4)
+(down 7)
+(forward 6)
+(forward 6)
+(up 3)
+(forward 2)
+(down 5)
+(up 8)
+(down 1)
+(up 8)
+(down 4)
+(down 1)
+(up 6)
+(forward 4)
+(forward 3)
+(forward 6)
+(down 3)
+(forward 4)
+(forward 4)
+(forward 4)
+(down 8)
+(forward 3)
+(up 8)
+(up 8)
+(down 8)
+(forward 6)
+(forward 8)
+(up 5)
+(forward 6)
+(down 8)
+(down 7)
+(up 4)
+(forward 6)
+(forward 9)
+(down 9)
+(forward 4)
+(up 2)
+(forward 1)
+(up 3)
+(down 9)
+(down 8)
+(forward 8)
+(forward 8)
+(forward 7)
+(down 6)
+(down 1)
+(up 6)
+(up 6)
+(forward 9)
+(forward 7)
+(forward 7)
+(down 3)
+(down 6)
+(down 9)
+(down 4)
+(forward 7)
+(forward 3)
+(forward 3)
+(down 7)
+(up 5)
+(down 3)
+(forward 6)
+(forward 3)
+(forward 5)
+(up 3)
+(down 7)
+(forward 2)
+(up 7)
+(forward 9)
+(down 3)
+(down 9)
+(forward 8)
+(forward 5)
+(up 7)
+(up 2)
+(up 8)
+(forward 6)
+(down 8)
+(forward 2)
+(forward 4)
+(up 2)
+(forward 2)
+(forward 8)
+(forward 4)
+(down 8)
+(forward 5)
+(down 4)
+(down 7)
+(forward 3)
+(down 3)
+(up 1)
+(down 9)
+(forward 9)
+(down 2)
+(down 1)
+(forward 1)
+(down 6)
+(down 3)
+(forward 5)
+(down 3)
+(down 8)
+(up 7)
+(down 1)
+(up 9)
+(down 4)
+(forward 9)
+(down 4)
+(forward 3)
+(forward 6)
+(down 3)
+(forward 3)
+(down 2)
+(down 7)
+(down 1)
+(up 4)
+(down 9)
+(down 1)
+(down 3)
+(down 4)
+(down 8)
+(down 7)
+(forward 4)
+(down 4)
+(down 9)
+(forward 2)
+(forward 7)
+(forward 2)
+(down 6)
+(up 8)
+(forward 6)
+(down 2)
+(forward 6)
+(up 8)
+(forward 6)
+(down 9)
+(forward 2)
+(forward 6)
+
+(put-line `x = @x, y = @y, aim = @aim, (* x y) = @(* x y)`)
diff --git a/2021/02/part2.tl b/2021/02/part2.tl
new file mode 100644
index 0000000..8bd775f
--- /dev/null
+++ b/2021/02/part2.tl
@@ -0,0 +1,1016 @@
+(defvar x 0)
+(defvar y 0)
+(defvar aim 0)
+
+(defun forward (n)
+ (inc x n)
+ (inc y (* n aim)))
+
+(defun down (n)
+ (inc aim n))
+
+(defun up (n)
+ (dec aim n))
+
+(forward 9)
+(forward 9)
+(forward 3)
+(down 2)
+(forward 8)
+(down 8)
+(forward 1)
+(down 6)
+(down 9)
+(down 9)
+(forward 1)
+(up 5)
+(up 4)
+(up 8)
+(down 6)
+(down 7)
+(forward 4)
+(forward 6)
+(forward 2)
+(forward 2)
+(forward 4)
+(down 2)
+(down 6)
+(forward 6)
+(forward 9)
+(up 4)
+(up 6)
+(down 2)
+(forward 7)
+(up 7)
+(down 8)
+(down 4)
+(down 6)
+(forward 1)
+(down 2)
+(up 1)
+(forward 8)
+(down 9)
+(forward 6)
+(up 9)
+(down 8)
+(forward 5)
+(forward 8)
+(down 8)
+(up 3)
+(up 9)
+(down 2)
+(down 2)
+(forward 5)
+(up 7)
+(forward 5)
+(down 6)
+(forward 4)
+(down 2)
+(up 2)
+(up 7)
+(up 1)
+(down 4)
+(down 8)
+(forward 6)
+(down 2)
+(forward 7)
+(down 1)
+(forward 7)
+(forward 1)
+(up 1)
+(down 4)
+(down 3)
+(down 4)
+(down 4)
+(up 8)
+(down 1)
+(up 7)
+(forward 8)
+(down 5)
+(up 1)
+(down 4)
+(down 3)
+(forward 4)
+(up 7)
+(forward 1)
+(down 4)
+(down 2)
+(down 4)
+(up 8)
+(up 6)
+(down 1)
+(up 3)
+(down 5)
+(forward 4)
+(down 3)
+(forward 9)
+(down 9)
+(forward 2)
+(down 4)
+(up 3)
+(down 4)
+(forward 1)
+(forward 7)
+(forward 9)
+(forward 7)
+(forward 3)
+(forward 6)
+(down 4)
+(forward 7)
+(down 5)
+(down 1)
+(forward 7)
+(up 1)
+(down 8)
+(down 7)
+(down 7)
+(down 7)
+(down 3)
+(forward 4)
+(forward 6)
+(forward 6)
+(forward 1)
+(down 7)
+(down 6)
+(down 8)
+(up 5)
+(down 7)
+(up 6)
+(forward 9)
+(down 7)
+(down 1)
+(down 9)
+(forward 8)
+(up 5)
+(down 6)
+(forward 3)
+(up 2)
+(down 1)
+(forward 2)
+(down 3)
+(up 6)
+(forward 8)
+(forward 1)
+(forward 3)
+(down 9)
+(forward 1)
+(down 3)
+(up 7)
+(forward 8)
+(up 8)
+(down 7)
+(down 2)
+(forward 3)
+(up 7)
+(forward 6)
+(down 7)
+(down 6)
+(up 5)
+(forward 9)
+(down 7)
+(up 5)
+(forward 6)
+(up 5)
+(up 6)
+(forward 6)
+(down 8)
+(down 1)
+(forward 7)
+(forward 6)
+(down 5)
+(down 6)
+(forward 9)
+(down 6)
+(up 5)
+(forward 9)
+(forward 4)
+(down 1)
+(forward 5)
+(down 4)
+(forward 5)
+(forward 1)
+(down 1)
+(forward 4)
+(down 5)
+(forward 4)
+(up 8)
+(down 1)
+(forward 6)
+(down 5)
+(forward 8)
+(forward 8)
+(forward 5)
+(down 7)
+(down 4)
+(forward 4)
+(up 1)
+(up 8)
+(down 6)
+(up 5)
+(forward 6)
+(forward 5)
+(forward 9)
+(down 3)
+(down 5)
+(forward 3)
+(down 6)
+(forward 6)
+(up 7)
+(up 6)
+(down 6)
+(down 1)
+(forward 8)
+(forward 9)
+(up 5)
+(forward 8)
+(forward 9)
+(forward 9)
+(down 2)
+(down 8)
+(forward 8)
+(down 2)
+(up 8)
+(down 2)
+(down 2)
+(up 1)
+(down 5)
+(down 6)
+(down 1)
+(down 8)
+(down 9)
+(forward 3)
+(forward 2)
+(down 6)
+(up 8)
+(forward 9)
+(forward 7)
+(forward 1)
+(down 8)
+(up 8)
+(forward 8)
+(down 5)
+(down 3)
+(up 3)
+(forward 6)
+(forward 5)
+(down 4)
+(forward 4)
+(down 4)
+(forward 5)
+(forward 9)
+(forward 2)
+(forward 9)
+(down 1)
+(down 3)
+(down 6)
+(forward 6)
+(down 7)
+(forward 3)
+(forward 4)
+(forward 1)
+(down 6)
+(forward 1)
+(forward 4)
+(forward 2)
+(forward 2)
+(forward 1)
+(forward 2)
+(down 1)
+(up 2)
+(forward 1)
+(down 3)
+(forward 8)
+(down 3)
+(down 9)
+(forward 5)
+(down 3)
+(down 3)
+(forward 2)
+(forward 9)
+(down 9)
+(forward 4)
+(down 2)
+(forward 5)
+(up 8)
+(down 4)
+(forward 5)
+(down 1)
+(forward 9)
+(down 1)
+(forward 7)
+(forward 2)
+(down 2)
+(down 6)
+(up 3)
+(forward 7)
+(up 4)
+(forward 7)
+(forward 6)
+(down 8)
+(forward 2)
+(down 3)
+(forward 9)
+(forward 4)
+(forward 8)
+(down 6)
+(forward 8)
+(down 9)
+(down 2)
+(down 3)
+(forward 1)
+(down 5)
+(down 3)
+(forward 2)
+(forward 7)
+(down 4)
+(down 3)
+(forward 9)
+(down 2)
+(forward 2)
+(forward 1)
+(up 6)
+(up 4)
+(down 5)
+(forward 5)
+(up 8)
+(down 7)
+(forward 6)
+(down 5)
+(forward 3)
+(forward 3)
+(forward 7)
+(up 9)
+(up 6)
+(down 5)
+(up 7)
+(forward 2)
+(forward 5)
+(down 9)
+(down 6)
+(forward 7)
+(down 9)
+(up 2)
+(up 5)
+(forward 1)
+(forward 8)
+(forward 9)
+(up 8)
+(forward 9)
+(forward 5)
+(up 9)
+(down 4)
+(down 7)
+(forward 2)
+(forward 1)
+(down 4)
+(up 8)
+(down 5)
+(down 7)
+(down 9)
+(down 3)
+(down 9)
+(up 8)
+(up 7)
+(up 8)
+(down 8)
+(down 2)
+(down 6)
+(down 6)
+(up 5)
+(up 9)
+(forward 1)
+(down 8)
+(up 4)
+(up 3)
+(forward 7)
+(up 7)
+(down 3)
+(up 1)
+(forward 3)
+(down 7)
+(forward 8)
+(forward 2)
+(down 6)
+(down 2)
+(up 7)
+(up 5)
+(forward 7)
+(forward 1)
+(forward 6)
+(up 6)
+(forward 5)
+(down 2)
+(up 4)
+(forward 2)
+(down 9)
+(forward 6)
+(forward 3)
+(forward 3)
+(forward 4)
+(forward 2)
+(down 6)
+(forward 9)
+(forward 7)
+(down 4)
+(up 1)
+(forward 4)
+(down 6)
+(down 6)
+(up 1)
+(up 1)
+(forward 3)
+(down 5)
+(up 5)
+(down 3)
+(down 6)
+(up 8)
+(down 2)
+(up 6)
+(up 1)
+(forward 8)
+(up 6)
+(down 8)
+(forward 9)
+(forward 4)
+(forward 9)
+(down 7)
+(down 9)
+(down 6)
+(down 1)
+(forward 9)
+(forward 9)
+(down 6)
+(down 5)
+(up 6)
+(down 9)
+(up 4)
+(up 5)
+(forward 8)
+(down 4)
+(down 5)
+(forward 8)
+(forward 7)
+(down 2)
+(forward 2)
+(forward 6)
+(forward 7)
+(down 1)
+(down 7)
+(down 1)
+(down 6)
+(forward 2)
+(up 2)
+(down 4)
+(down 8)
+(forward 1)
+(down 1)
+(down 3)
+(down 3)
+(up 9)
+(down 9)
+(forward 3)
+(up 4)
+(forward 1)
+(down 9)
+(down 8)
+(down 9)
+(forward 5)
+(forward 4)
+(up 3)
+(down 8)
+(forward 2)
+(down 3)
+(up 5)
+(forward 4)
+(down 7)
+(down 8)
+(down 9)
+(forward 8)
+(down 8)
+(forward 4)
+(down 6)
+(down 3)
+(forward 5)
+(down 3)
+(down 9)
+(down 4)
+(up 8)
+(forward 4)
+(up 6)
+(down 3)
+(forward 6)
+(down 9)
+(down 7)
+(forward 7)
+(forward 3)
+(forward 2)
+(forward 4)
+(down 4)
+(down 5)
+(up 9)
+(down 2)
+(down 6)
+(down 9)
+(forward 7)
+(forward 3)
+(up 3)
+(forward 3)
+(down 4)
+(down 7)
+(forward 2)
+(down 2)
+(forward 3)
+(down 8)
+(down 7)
+(down 7)
+(forward 2)
+(forward 2)
+(up 6)
+(forward 8)
+(forward 9)
+(up 3)
+(forward 8)
+(forward 5)
+(forward 7)
+(up 3)
+(forward 3)
+(forward 6)
+(down 5)
+(down 5)
+(down 4)
+(forward 1)
+(forward 8)
+(forward 4)
+(forward 3)
+(down 1)
+(forward 8)
+(down 4)
+(up 5)
+(forward 4)
+(down 2)
+(forward 7)
+(down 2)
+(forward 9)
+(down 1)
+(forward 6)
+(forward 8)
+(forward 6)
+(forward 7)
+(forward 1)
+(forward 6)
+(down 5)
+(up 3)
+(forward 7)
+(down 6)
+(forward 2)
+(down 2)
+(forward 8)
+(forward 9)
+(up 7)
+(forward 1)
+(forward 1)
+(up 1)
+(forward 1)
+(down 2)
+(forward 6)
+(down 9)
+(up 1)
+(up 2)
+(forward 6)
+(forward 1)
+(forward 7)
+(down 1)
+(up 8)
+(forward 7)
+(up 6)
+(up 4)
+(down 1)
+(forward 2)
+(down 4)
+(down 1)
+(down 7)
+(down 4)
+(up 3)
+(forward 8)
+(forward 3)
+(forward 5)
+(down 7)
+(down 8)
+(forward 5)
+(forward 2)
+(down 5)
+(down 2)
+(forward 2)
+(up 9)
+(down 3)
+(down 5)
+(up 7)
+(down 4)
+(down 2)
+(down 7)
+(forward 6)
+(down 2)
+(forward 1)
+(up 4)
+(forward 2)
+(forward 2)
+(down 5)
+(down 1)
+(down 1)
+(forward 7)
+(forward 6)
+(down 7)
+(down 5)
+(up 1)
+(up 3)
+(forward 3)
+(forward 9)
+(forward 4)
+(down 1)
+(down 5)
+(forward 3)
+(forward 7)
+(down 8)
+(forward 8)
+(forward 2)
+(forward 7)
+(up 7)
+(down 7)
+(down 4)
+(down 2)
+(up 6)
+(up 1)
+(forward 8)
+(up 8)
+(up 6)
+(down 8)
+(forward 1)
+(down 5)
+(forward 3)
+(down 3)
+(down 3)
+(forward 1)
+(up 3)
+(up 3)
+(forward 8)
+(forward 8)
+(down 8)
+(forward 6)
+(forward 2)
+(down 7)
+(forward 8)
+(down 7)
+(up 5)
+(forward 7)
+(down 1)
+(forward 9)
+(up 6)
+(down 2)
+(up 2)
+(up 5)
+(forward 6)
+(forward 9)
+(forward 3)
+(down 8)
+(forward 8)
+(down 2)
+(up 5)
+(down 9)
+(forward 5)
+(down 6)
+(down 3)
+(down 9)
+(up 8)
+(up 3)
+(down 2)
+(forward 7)
+(forward 4)
+(forward 4)
+(forward 8)
+(up 6)
+(up 4)
+(forward 9)
+(down 6)
+(down 8)
+(up 3)
+(up 5)
+(forward 8)
+(forward 7)
+(forward 4)
+(down 8)
+(forward 1)
+(forward 5)
+(down 9)
+(forward 8)
+(up 6)
+(down 6)
+(down 8)
+(down 2)
+(forward 4)
+(forward 9)
+(forward 2)
+(forward 7)
+(down 3)
+(forward 3)
+(up 6)
+(down 4)
+(forward 2)
+(up 4)
+(down 4)
+(forward 4)
+(forward 3)
+(forward 1)
+(up 6)
+(forward 1)
+(down 1)
+(forward 7)
+(up 4)
+(forward 3)
+(down 4)
+(up 6)
+(up 2)
+(up 8)
+(down 1)
+(down 6)
+(down 6)
+(down 1)
+(down 7)
+(forward 8)
+(down 9)
+(forward 5)
+(up 2)
+(up 7)
+(up 5)
+(down 6)
+(up 1)
+(up 6)
+(forward 4)
+(down 7)
+(forward 5)
+(forward 1)
+(down 6)
+(forward 2)
+(down 2)
+(forward 9)
+(down 9)
+(up 6)
+(forward 1)
+(up 7)
+(down 7)
+(forward 1)
+(down 6)
+(up 1)
+(forward 2)
+(forward 1)
+(down 4)
+(forward 9)
+(forward 7)
+(forward 5)
+(down 1)
+(forward 2)
+(down 2)
+(down 2)
+(down 5)
+(forward 1)
+(up 8)
+(forward 9)
+(down 7)
+(forward 9)
+(down 2)
+(up 5)
+(down 9)
+(down 8)
+(down 5)
+(forward 8)
+(forward 4)
+(down 4)
+(down 6)
+(forward 1)
+(down 5)
+(up 6)
+(down 3)
+(down 3)
+(forward 9)
+(down 9)
+(forward 6)
+(down 5)
+(up 6)
+(down 5)
+(up 7)
+(forward 9)
+(down 2)
+(down 4)
+(down 8)
+(forward 4)
+(up 7)
+(forward 9)
+(forward 7)
+(up 5)
+(down 7)
+(down 5)
+(down 1)
+(forward 5)
+(forward 4)
+(down 2)
+(up 3)
+(forward 1)
+(up 4)
+(up 9)
+(down 4)
+(forward 3)
+(down 4)
+(down 9)
+(forward 4)
+(up 2)
+(up 3)
+(forward 7)
+(up 6)
+(down 8)
+(down 8)
+(forward 6)
+(forward 2)
+(forward 3)
+(forward 9)
+(forward 7)
+(down 6)
+(down 7)
+(down 4)
+(down 2)
+(forward 8)
+(down 6)
+(forward 6)
+(forward 6)
+(forward 9)
+(down 8)
+(down 1)
+(up 5)
+(down 1)
+(forward 9)
+(down 1)
+(up 8)
+(forward 8)
+(down 3)
+(forward 1)
+(down 9)
+(forward 6)
+(forward 4)
+(forward 8)
+(down 2)
+(up 8)
+(down 2)
+(up 8)
+(down 9)
+(down 4)
+(up 7)
+(forward 7)
+(forward 5)
+(down 5)
+(down 4)
+(up 8)
+(forward 1)
+(down 7)
+(forward 1)
+(up 9)
+(forward 9)
+(forward 7)
+(forward 9)
+(down 9)
+(forward 4)
+(down 7)
+(forward 6)
+(forward 6)
+(up 3)
+(forward 2)
+(down 5)
+(up 8)
+(down 1)
+(up 8)
+(down 4)
+(down 1)
+(up 6)
+(forward 4)
+(forward 3)
+(forward 6)
+(down 3)
+(forward 4)
+(forward 4)
+(forward 4)
+(down 8)
+(forward 3)
+(up 8)
+(up 8)
+(down 8)
+(forward 6)
+(forward 8)
+(up 5)
+(forward 6)
+(down 8)
+(down 7)
+(up 4)
+(forward 6)
+(forward 9)
+(down 9)
+(forward 4)
+(up 2)
+(forward 1)
+(up 3)
+(down 9)
+(down 8)
+(forward 8)
+(forward 8)
+(forward 7)
+(down 6)
+(down 1)
+(up 6)
+(up 6)
+(forward 9)
+(forward 7)
+(forward 7)
+(down 3)
+(down 6)
+(down 9)
+(down 4)
+(forward 7)
+(forward 3)
+(forward 3)
+(down 7)
+(up 5)
+(down 3)
+(forward 6)
+(forward 3)
+(forward 5)
+(up 3)
+(down 7)
+(forward 2)
+(up 7)
+(forward 9)
+(down 3)
+(down 9)
+(forward 8)
+(forward 5)
+(up 7)
+(up 2)
+(up 8)
+(forward 6)
+(down 8)
+(forward 2)
+(forward 4)
+(up 2)
+(forward 2)
+(forward 8)
+(forward 4)
+(down 8)
+(forward 5)
+(down 4)
+(down 7)
+(forward 3)
+(down 3)
+(up 1)
+(down 9)
+(forward 9)
+(down 2)
+(down 1)
+(forward 1)
+(down 6)
+(down 3)
+(forward 5)
+(down 3)
+(down 8)
+(up 7)
+(down 1)
+(up 9)
+(down 4)
+(forward 9)
+(down 4)
+(forward 3)
+(forward 6)
+(down 3)
+(forward 3)
+(down 2)
+(down 7)
+(down 1)
+(up 4)
+(down 9)
+(down 1)
+(down 3)
+(down 4)
+(down 8)
+(down 7)
+(forward 4)
+(down 4)
+(down 9)
+(forward 2)
+(forward 7)
+(forward 2)
+(down 6)
+(up 8)
+(forward 6)
+(down 2)
+(forward 6)
+(up 8)
+(forward 6)
+(down 9)
+(forward 2)
+(forward 6)
+
+(put-line `x = @x, y = @y, aim = @aim, (* x y) = @(* x y)`)