summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--2021/2.in1000
-rwxr-xr-x2021/2.sh15
2 files changed, 1015 insertions, 0 deletions
diff --git a/2021/2.in b/2021/2.in
new file mode 100644
index 0000000..b7b994b
--- /dev/null
+++ b/2021/2.in
@@ -0,0 +1,1000 @@
+forward 8
+forward 3
+forward 8
+down 6
+forward 3
+up 6
+down 3
+down 8
+down 5
+down 1
+down 4
+up 4
+forward 7
+forward 7
+down 8
+forward 8
+forward 2
+forward 4
+forward 6
+down 2
+forward 1
+down 2
+down 6
+up 4
+forward 4
+forward 4
+down 1
+down 1
+forward 8
+down 9
+forward 4
+down 4
+forward 9
+down 9
+forward 7
+forward 4
+forward 4
+down 7
+forward 9
+up 5
+forward 7
+forward 4
+up 5
+up 6
+down 9
+forward 3
+forward 3
+forward 5
+up 3
+forward 8
+down 9
+forward 3
+forward 5
+down 2
+forward 7
+forward 8
+forward 8
+up 3
+down 9
+forward 2
+forward 5
+forward 4
+up 1
+down 3
+forward 7
+forward 4
+up 3
+down 8
+up 8
+forward 7
+forward 7
+down 2
+down 7
+forward 3
+forward 1
+down 7
+down 4
+down 9
+forward 5
+down 9
+up 8
+down 9
+down 7
+forward 2
+down 5
+down 6
+forward 3
+forward 2
+forward 3
+forward 2
+down 4
+up 1
+forward 6
+down 2
+forward 2
+down 5
+up 1
+up 8
+forward 5
+forward 6
+up 8
+down 4
+forward 4
+down 3
+forward 5
+forward 5
+forward 8
+forward 3
+up 1
+down 9
+up 4
+up 5
+down 3
+down 9
+up 6
+down 1
+down 2
+down 3
+down 6
+up 5
+forward 9
+forward 6
+forward 6
+forward 4
+forward 7
+up 6
+down 2
+down 9
+down 9
+forward 4
+down 9
+forward 2
+down 4
+down 8
+down 3
+up 1
+down 2
+down 7
+down 1
+down 5
+up 5
+forward 3
+forward 2
+down 2
+up 4
+up 9
+forward 5
+up 9
+down 9
+forward 1
+down 4
+forward 6
+down 2
+forward 7
+forward 2
+down 6
+forward 9
+down 9
+down 8
+forward 7
+down 3
+down 3
+down 5
+forward 5
+up 9
+up 5
+down 1
+forward 9
+down 3
+down 6
+forward 3
+up 4
+up 1
+down 3
+down 1
+up 6
+forward 4
+up 4
+forward 5
+down 3
+down 5
+forward 4
+down 1
+up 6
+down 5
+forward 1
+forward 6
+down 5
+forward 1
+forward 4
+forward 2
+down 1
+down 3
+down 9
+down 9
+down 8
+forward 4
+down 5
+forward 6
+up 6
+down 3
+forward 1
+down 9
+forward 4
+down 2
+up 5
+down 4
+forward 1
+forward 2
+down 6
+forward 3
+down 9
+forward 6
+forward 1
+forward 7
+up 1
+up 7
+up 2
+forward 4
+up 3
+down 4
+up 1
+down 3
+forward 1
+down 5
+up 6
+forward 6
+forward 6
+up 3
+up 2
+down 8
+down 2
+down 2
+down 7
+forward 8
+up 2
+up 2
+up 5
+down 6
+up 3
+down 9
+forward 7
+down 7
+forward 8
+forward 2
+forward 5
+up 5
+up 1
+forward 5
+up 2
+up 3
+up 2
+up 3
+down 3
+down 2
+forward 1
+up 1
+down 4
+up 8
+forward 5
+down 9
+forward 8
+up 1
+forward 7
+forward 7
+up 7
+up 6
+up 6
+down 5
+down 3
+up 4
+up 1
+down 9
+down 9
+forward 4
+down 7
+forward 2
+forward 8
+forward 1
+down 9
+forward 2
+forward 5
+up 5
+down 5
+down 6
+forward 1
+down 4
+forward 9
+up 3
+down 4
+forward 7
+forward 1
+forward 3
+forward 6
+down 1
+forward 3
+up 5
+up 6
+down 3
+forward 5
+forward 8
+forward 4
+down 9
+forward 2
+forward 4
+down 8
+forward 6
+down 7
+up 7
+forward 1
+down 8
+forward 5
+forward 7
+up 3
+forward 7
+forward 2
+up 5
+forward 3
+down 4
+up 5
+down 6
+up 6
+forward 6
+up 1
+up 7
+up 8
+forward 4
+down 6
+down 8
+up 8
+down 2
+forward 3
+forward 9
+down 9
+down 6
+down 2
+up 4
+forward 5
+forward 6
+forward 5
+down 5
+forward 5
+down 2
+down 9
+down 3
+down 4
+forward 2
+forward 7
+down 7
+down 2
+down 4
+down 8
+up 6
+down 7
+forward 2
+up 6
+forward 6
+down 4
+up 8
+forward 1
+up 2
+forward 6
+forward 7
+down 2
+down 4
+down 3
+down 2
+forward 5
+down 4
+forward 6
+forward 6
+down 8
+forward 7
+forward 1
+forward 1
+forward 4
+forward 7
+forward 8
+down 2
+forward 9
+up 7
+forward 1
+down 1
+forward 2
+forward 2
+up 4
+forward 3
+down 1
+down 4
+down 3
+forward 8
+forward 8
+forward 9
+forward 4
+down 6
+up 6
+up 7
+up 7
+down 1
+up 1
+up 9
+up 7
+down 9
+forward 4
+up 8
+down 5
+up 3
+down 2
+forward 4
+forward 6
+up 7
+up 2
+down 5
+down 3
+down 9
+forward 1
+down 1
+down 6
+down 3
+forward 9
+down 3
+up 6
+up 4
+up 6
+down 6
+up 7
+down 5
+up 4
+up 3
+up 3
+up 2
+forward 1
+forward 5
+forward 8
+down 2
+up 9
+forward 6
+forward 8
+up 3
+down 3
+forward 7
+forward 4
+down 7
+up 2
+down 1
+down 5
+forward 8
+down 6
+down 2
+down 9
+down 5
+up 7
+up 5
+forward 7
+down 8
+down 5
+forward 7
+up 5
+up 1
+down 4
+forward 1
+up 3
+forward 7
+forward 9
+down 7
+forward 4
+down 9
+down 2
+up 2
+forward 2
+down 6
+forward 3
+down 5
+up 8
+forward 5
+up 5
+forward 1
+down 4
+forward 7
+down 8
+forward 7
+up 2
+forward 1
+forward 2
+down 7
+forward 7
+forward 5
+up 3
+down 8
+forward 8
+up 6
+up 2
+forward 9
+down 7
+up 6
+down 1
+up 5
+forward 4
+forward 9
+forward 6
+forward 3
+forward 3
+forward 1
+forward 8
+down 6
+forward 3
+up 2
+up 6
+down 3
+down 7
+forward 5
+down 2
+up 9
+up 3
+down 1
+down 3
+up 7
+up 5
+down 6
+down 5
+up 2
+down 1
+down 2
+forward 1
+down 1
+forward 1
+down 1
+up 5
+up 4
+forward 1
+down 7
+forward 4
+down 6
+forward 2
+forward 1
+forward 4
+forward 9
+down 7
+forward 7
+down 7
+down 5
+forward 7
+forward 3
+forward 8
+up 4
+forward 9
+down 1
+down 9
+forward 3
+down 7
+forward 1
+forward 8
+up 7
+forward 5
+down 8
+forward 3
+forward 6
+forward 6
+up 5
+forward 7
+up 3
+down 9
+forward 4
+forward 4
+forward 1
+down 2
+down 9
+forward 8
+forward 8
+down 9
+forward 5
+up 4
+down 6
+forward 3
+up 4
+down 5
+down 2
+down 3
+down 2
+up 1
+up 9
+up 3
+forward 5
+forward 7
+down 1
+down 5
+up 1
+forward 8
+down 5
+forward 8
+forward 8
+down 2
+forward 2
+forward 7
+forward 3
+forward 6
+up 9
+down 3
+forward 7
+down 5
+forward 3
+up 1
+down 3
+down 9
+forward 5
+forward 5
+up 5
+down 3
+down 3
+up 1
+forward 6
+up 1
+up 6
+forward 5
+down 3
+down 9
+forward 1
+down 5
+up 5
+down 7
+down 7
+down 6
+down 2
+up 7
+down 3
+forward 2
+up 6
+down 2
+forward 6
+forward 9
+down 6
+down 4
+down 5
+down 7
+forward 9
+up 2
+down 2
+down 4
+forward 4
+down 9
+forward 3
+forward 8
+forward 6
+up 5
+down 2
+down 7
+forward 7
+up 6
+down 4
+up 8
+forward 2
+down 8
+forward 7
+up 8
+up 5
+up 8
+down 1
+forward 4
+forward 7
+down 5
+forward 1
+forward 5
+down 9
+down 6
+up 8
+up 5
+down 7
+down 4
+forward 4
+forward 2
+forward 4
+down 1
+up 4
+down 5
+down 4
+up 5
+forward 2
+up 3
+down 9
+down 1
+down 4
+up 1
+up 7
+down 5
+forward 9
+down 5
+down 7
+down 2
+down 8
+forward 7
+down 5
+down 6
+forward 3
+down 8
+down 5
+down 9
+up 6
+up 2
+down 9
+down 6
+down 7
+forward 8
+down 8
+forward 4
+up 8
+forward 3
+down 2
+up 2
+forward 4
+down 9
+down 2
+up 6
+down 4
+forward 6
+down 7
+forward 5
+forward 4
+down 3
+up 6
+forward 7
+forward 1
+up 6
+down 6
+forward 5
+forward 3
+down 8
+up 8
+up 8
+forward 5
+forward 1
+up 1
+forward 3
+up 6
+forward 2
+down 8
+forward 8
+up 8
+forward 1
+forward 6
+forward 8
+up 7
+up 3
+forward 8
+forward 5
+down 4
+down 4
+forward 8
+up 1
+forward 5
+down 9
+forward 2
+down 2
+down 3
+forward 1
+down 2
+up 3
+down 1
+up 1
+up 1
+forward 8
+forward 5
+forward 2
+up 1
+down 9
+up 7
+down 1
+forward 9
+up 4
+forward 5
+forward 5
+forward 8
+down 1
+forward 3
+forward 4
+forward 8
+up 2
+forward 5
+down 8
+forward 5
+up 7
+forward 3
+forward 2
+forward 3
+up 7
+up 4
+up 9
+forward 7
+forward 1
+up 6
+up 5
+down 8
+forward 3
+down 5
+forward 7
+forward 3
+up 9
+forward 9
+forward 7
+up 2
+down 7
+forward 4
+down 9
+up 8
+up 3
+down 4
+down 1
+forward 4
+up 3
+down 6
+down 2
+forward 8
+up 1
+forward 5
+up 7
+down 5
+forward 9
+forward 6
+forward 9
+down 3
+up 8
+forward 6
+forward 4
+forward 2
+forward 2
+down 8
+up 5
+down 4
+down 6
+forward 3
+forward 6
+forward 1
+forward 3
+down 8
+down 5
+up 3
+down 1
+down 7
+forward 8
+forward 1
+down 6
+down 9
+forward 2
+up 5
+down 6
+up 6
+down 5
+down 8
+forward 1
+down 3
+forward 1
+forward 8
+forward 2
+down 4
+forward 1
+down 6
+down 6
+forward 3
+up 7
+forward 5
+up 1
+up 4
+forward 7
+forward 1
+down 5
+forward 2
+down 1
+forward 4
+forward 2
+forward 5
+up 2
+up 1
+forward 2
+down 4
+down 5
+forward 6
+forward 1
+down 7
+down 6
+down 2
+forward 5
+forward 6
+up 8
+up 6
+forward 2
+forward 6
+down 9
+down 4
+forward 1
+down 3
+down 1
+up 4
+down 8
+forward 3
+down 5
+up 4
+down 5
+up 3
+down 1
+down 1
+down 9
+forward 8
+up 8
+down 2
+forward 9
+down 8
+down 4
+up 4
+up 9
+up 4
+forward 8
+forward 9
+forward 3
+forward 2
+down 2
+forward 5
+down 6
+down 2
+down 9
+forward 3
+up 4
+forward 8
+up 9
+forward 2
+forward 1
+down 3
+up 1
+up 7
+down 3
+up 2
+down 2
+up 2
+forward 4
+down 7
+forward 2
+forward 4
+forward 3
+down 6
+forward 4
+down 3
+forward 2
+down 1
+up 4
+down 8
+up 3
+forward 4
+up 6
+forward 5
+forward 3
+forward 1
+up 2
+forward 4
+forward 7
+down 3
+forward 9
+up 7
+down 9
+forward 2
+forward 4
+down 9
+down 1
+up 3
+forward 2
+forward 7
+down 7
+forward 9
+forward 5
+forward 7
+forward 2
+forward 3
+forward 4
+forward 5
+forward 6
+down 1
+forward 8
+down 4
+down 6
+up 8
+up 5
+forward 5
+down 9
+down 2
+down 2
+forward 7
+forward 8
+up 8
+down 4
+up 5
+forward 1
+down 5
+forward 3
+up 3
+down 6
+forward 5
+up 3
+up 5
+forward 4
+forward 2
+up 6
+down 9
+forward 7
diff --git a/2021/2.sh b/2021/2.sh
new file mode 100755
index 0000000..360b5fc
--- /dev/null
+++ b/2021/2.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+{
+ echo 'h=0'
+ echo 'd=0'
+ cat 2.in | sed 's/forward/h+=/; s/down/d+=/; s/up/d-=/; s/^/: $((/; s/$/))/'
+ echo 'echo $((h * d))'
+} | bash
+
+{
+ echo 'h=0'
+ echo 'a=0'
+ echo 'd=0'
+ cat 2.in | sed 's/forward \(.*\)/: $((h+=\1)) $((d+=a*\1))/; s/down \(.*\)/: $((a+=\1))/; s/up \(.*\)/: $((a-=\1))/'
+ echo 'echo $((h * d))'
+} | bash