diff --git a/day-3/.gitignore b/day-3/.gitignore
deleted file mode 100644
index ea8c4bf..0000000
--- a/day-3/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target
diff --git a/day-3/Cargo.lock b/day-3/Cargo.lock
deleted file mode 100644
index d0411da..0000000
--- a/day-3/Cargo.lock
+++ /dev/null
@@ -1,78 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-[[package]]
-name = "day-3"
-version = "0.1.0"
-dependencies = [
- "indoc",
-]
-
-[[package]]
-name = "indoc"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8"
-dependencies = [
- "indoc-impl",
- "proc-macro-hack",
-]
-
-[[package]]
-name = "indoc-impl"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0"
-dependencies = [
- "proc-macro-hack",
- "proc-macro2",
- "quote",
- "syn",
- "unindent",
-]
-
-[[package]]
-name = "proc-macro-hack"
-version = "0.5.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
-dependencies = [
- "unicode-xid",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "syn"
-version = "1.0.53"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8833e20724c24de12bbaba5ad230ea61c3eafb05b881c7c9d3cfe8638b187e68"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-xid",
-]
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
-
-[[package]]
-name = "unindent"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f14ee04d9415b52b3aeab06258a3f07093182b88ba0f9b8d203f211a7a7d41c7"
diff --git a/day-3/Cargo.toml b/day-3/Cargo.toml
deleted file mode 100644
index d861f49..0000000
--- a/day-3/Cargo.toml
+++ /dev/null
@@ -1,10 +0,0 @@
-[package]
-name = "day-3"
-version = "0.1.0"
-authors = ["Tristan Daniƫl Maat <tm@tlater.net>"]
-edition = "2018"
-
-# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
-
-[dependencies]
-indoc = "0.3"
diff --git a/day-3/input b/day-3/input
deleted file mode 100644
index b4223c3..0000000
--- a/day-3/input
+++ /dev/null
@@ -1,323 +0,0 @@
-...#...#..#....#..#...#..##..#.
-.#..#.....#.#............###...
-.#...###....#.............##..#
-...##...##....#.....##..#.##...
-.....###.#.###..##.#.##.......#
-#...##.....#..........#..#.#.#.
-......##.......##..#....#.#....
-....#.###.##..#.#..##.##....#.#
-.......#.......###.#.#.##.....#
-.........#.#....#..........#.#.
-.#...##.....##.........#..#....
-.##....#.#.#...##......#.......
-##.#.#..#....#....#....#...#.#.
-##....#.#..##......#....##...#.
-....#..#..##..#.###.......#.#..
-.....##....###...........#.#.##
-#.....##.........#....##......#
-........###.#..#....#....#.....
-...#.......#.##..#.###......#..
-...............#..#....#.##....
-..#..###..#.#..#.........##..#.
-####..#..####..................
-#...####...#.......#.#.#...#...
-......###.....#......#..#..#...
-#...#.....##.....#.#..##...#.#.
-#...........##.......#.........
-.#..#.........#.#..##....#.....
-........##...#................#
-........#.###.#.###.#.#.##..##.
-.#....##.....#...##.#..#.#.....
-..#..#.....###....##.#....#.#.#
-#......##.##...##..#.........#.
-#..#..#.....#.....#.........#..
-#....#.#...###.........#...#...
-.#.#.....##......#.#......#....
-..##......##...#.#.#.#.........
-..#......#.....##.###.#.#..#...
-....#..#.......#..#..#.....#...
-.#.#.....#...#..........#......
-#.#..#...........#.#.##.#...#.#
-..#.#....###...#...#.....#.#...
-....##.#.###....####.......#...
-.....##....#.......#..#..#....#
-...##..#.#.#.#......#......#...
-...##...#....#...#......###...#
-........#..#.#.....#.###.......
-..#..##.#....#.#.........#...#.
-.....#.####....#.##.........#..
-......#...#...#.....#......###.
-.##.....#....#..#.#....#.....#.
-...........#...#....##..#...#..
-.....#....#.....#...##..#...#.#
-.#...#.........#.......#...#..#
-...#..#...#........#......#....
-..#..#####.#.....#.#....#...#.#
-...#.......#.#....#...##..#..#.
-####..#.#.###.#.#..............
-.##........#...#.#....#..#.....
-..#..............#.#..##...#.##
-.###.#.....#.#.....##.#......##
-....###.....#...#...#.#..#.....
-....###.#.##.......#....#...#..
-#..#...#......##..#.....#.#...#
-....#.#.........#..............
-#.##.##...#..#.#.#.....#...#.##
-#...#...#......#...........##..
-#.#.#......#............#.#....
-.#.#..######...#.#.........#.##
-..#.#..#...#......#............
-....#.....#......##..#.....#...
-.##............#....##..#......
-.#.#.#...#.##.............###.#
-#.#...#...#.....#....#.#.#.....
-........#..#......##.##.#.....#
-.....#.....#.#####...#....#....
-.#...#......#.........#.#......
-...#...#..##.....##....#..#....
-....#....##..#.........#.......
-..#........##..#.#........#....
-...#...##...........#...#....#.
-.....##.........#..#....#..#.#.
-#..#....##..#...##.....#..##.#.
-..#.#.#.#...#...#.....#.#....#.
-.......#.###...#.#.......#.#...
-....#..#..#.###.#.....###..#.#.
-.#..##......#..#..#....#.####..
-..##...........#...#.........#.
-......#..#...#..........#......
-....#..........#......##...#...
-....#..#.##........#.#...##.#..
-#.##......#........##.#...#...#
-#..#....#.....###........##....
-...........##.....##..#....#.##
-..#....#..#..#......#.#.....#..
-#....#.##....#.....##.......#..
-.#.....#.#..............#.##..#
-.#..#..#...#...#....#.#.....#..
-...###...##.#...#..#........#..
-#...#.##.#.....#.#....#..#.....
-#.....###.#.......#.#..#.#..##.
-....#..#..##.......###.#...#...
-.#...####...............#.....#
-.#.##.#.....#.....#.#......##.#
-#...........#.##....###.##....#
-...............#..........#....
-.....#..#.##.###.#.............
-...##.............#.....#.#..#.
-....#.#...#.#..#..#..#....#....
-..#.......#..........#...#...#.
-...............#.#.#...###....#
-....#...#.##....#..##....#.....
-........#.#.##.........##.##.##
-#.....###.......#.#....#..#..##
-.#..#...#......#.#..##.......#.
-#.....#.#........#.##..#..#....
-.###..##.#.......#......###....
-.#...###.....#.....#....###...#
-........##.##......#.#....#...#
-.#....#..#.........#..##...##..
-.......#.......##.#..#..##.....
-#..##..##......#.#......#.##...
-..#..###..#...#....#..#...#....
-#.............#.####.........##
-..#..................#...#..#..
-..#......#........##.......#.#.
-.#.#.#.#..###.....#....#.#.....
-...#.##.###.......#....#.......
-................##...#.....#...
-..#.###.#...#.####....#..#..#..
-..#....###....##..#.#.........#
-.#..#.#.....#........#....##...
-.....#..#......#..#..##.#.#....
-.#..#.........##....##......#..
-.....#.#...#...#.#...#.#...#.#.
-..#..#...#...#...##.#..###.....
-..#..##......#..##.#...##......
-.......#..##....##.#......#..#.
-..#......#.#.....#.##....##....
-..#....#......#......##........
-....##.#.#....#.......#.##.....
-#.....#...###....#....#...#....
-............#.#..#...#...#..#..
-..##.............##....#.......
-.#.......#.##.#......#....##...
-...##............#....#..#...#.
-.##.####.....#.#..###.#....#.##
-....##.#........#..#...#.......
-...#...###.##...........##..#..
-..##..##....#...#..#..........#
-..#.........#.#...##..........#
-.......##....#.#...##.....#..#.
-.............#.....#.#.......#.
-#.......#..##..##...##.#.......
-..............#.....#.#..#...##
-........##..#.....#...#...#.#..
-###.#.................#........
-...#........#...#.#######..#..#
-...#.##...##.#.#..######...#...
-#.......#..#....#..#.##.....#..
-#..#....##....#.##.......#....#
-#...#..#.#.#...#..#.##..#......
-....#..##....#..#.#...........#
-.##..#.#.............###.......
-#....##......#..#..#.....###...
-..#..........#...###.#.........
-.####......#....#......#.#....#
-..#....#.#.#......#....#.......
-.....#.....#....#....#####....#
-.##..........#...#.###....#....
-....##.....##......#...#.#.....
-.#...#...#..#.#.#...#####......
-...#.##..####.##.##.......##...
-............#.......#..........
-.#..##.#..#####........#..#...#
-#......##..##..##.........##...
-....#....#.............#.#....#
-###..#.....#.....#.#...#..#.###
-#...#.......##......#....#.#.#.
-...#......#..#...#....#...###.#
-....#....##.......#....#......#
-............#......##.##.....#.
-...#.........#......#....##..##
-.....##....##...#..###...#..#..
-.......##.#..........#.##.##...
-....##...........#.#..#..#.##.#
-#...#..##.##.#....#....#.#.....
-...##.#.....#..#..#..###....##.
-#.##.#..#..#.#.............#...
-..#.#.............###.....#....
-...#..#....#..#.....#.#..#..#..
-...#.....##.#...........#..##.#
-.........#.#.##..#..#.#...#....
-...#..##..#...#...###.##.#..#..
-.#..##...##......##..##........
-......##....##.#.##.#.#........
-...#..................#.....#..
-.##................#.#..#..###.
-.##.##.....#................#..
-.....#.#..........#...#..#.#..#
-.............#......#..#.#..#..
-...#...##..#........#....#.....
-#......#........##.##...##.....
-##..#..##....#...#............#
-..##..##.##....##..##........#.
-...#....#.#.#.#....#.#...##....
-....#...##..##.#.##...#..#...#.
-#..#....##.#.....#.......#...##
-##.#....#.............#..#.....
-.##..#..#.#.....#.......#.#..#.
-.......#..#...##...#...###..#..
-..........#...#.#..##.....#...#
-..#....#...........#####....#..
-#....#..#.......##.............
-.........##..#####.......##....
-#..#..........#.....###...#..#.
-.#.#.#..#...#.......##...#####.
-.....#....#.###...#.......#....
-#.#.....##...###....###....#...
-.#.....#..#.#.#........#...#...
-.##.#.#.#......#....###....#...
-.#..##..####......###......#...
-......#.#.#.#.#...#...####.##..
-.#........##..#.....#....#....#
-.....###......##..#....#.......
-#.#.##...#.#......###..........
-........#.#...#..#......#....#.
-..##...##.........#.......#.#..
-..#.##....#...##.....#.###.....
-.........#..#.#....#....#.#.##.
-#.........#......#..#.......#..
-...#...##.......#.........#....
-............#......#...........
-##.....#.....#.#...#.....#.....
-..#.#...#..#...#.#...........#.
-#.#.#..#..#...##.#...#.#.....#.
-.#..###.#..##.#.....#.....#....
-##....##....#.......##..##.....
-.#..#...........###..........#.
-.#..#..#..........###..#.......
-#..###......#............##...#
-#......#........#..#..#..#.#...
-.......#.###...#.##............
-.##....#.......#.#...##.....#.#
-....#..#.#.......#.#...........
-##....#.###.#....#.#..##.#....#
-..#..#..#....#...#........##...
-...#...##....#..#.#...#..#.....
-......#..#......#....#.......#.
-#.#..............#...###...#..#
-...#....#..#..........#.#...#..
-#.....##..##.....#........#....
-.#...##..#.#..............#....
-##.#....#..##...#..#.####.#..#.
-.....#.......#.#.#.#..#.....###
-...#.##....#.#........##.......
-#...#.#...#.#..###..##.##...#.#
-###..............#.#.###.......
-...###..#.#..#....##...###.#...
-......##...........#...#..#...#
-.#..#.........##.......#..#...#
-.#.......###......##...#...#...
-.#......##...#........#.......#
-.#..#.....#.........#.#........
-#...#.#.....#...#..##.........#
-......##.#......##.#..##.#.....
-...............#.#..#....#....#
-#....#..#..#..#.#.....##...##..
-#.#......#.###......#..#...####
-.#.#..#...#...#.#..#.##.##.#.#.
-.....#.#...###...#.#.....##....
-...#..#.#..........##.#....#.#.
-...#..#.#.##.....###.##.#....#.
-..........#..###......#..#.#...
-###.....#..###..#...#..###.#...
-..#..#.....##.#.#..###.......#.
-....#....##........##..........
-.......#..........#...#......#.
-.#........#.#.#.#.#.......#....
-.#..#.......##..##....#.#...#..
-.#.#.#.......#..#..............
-#.#....#.#...#.#.#.....#.#...##
-.....#..........##..#.......#..
-.##......#.#....#.#.......#....
-..#.##....#.##.#...#...........
-...##......##..##.............#
-..........##.#.#..#..........#.
-.##....#..#..#.#....##.#...#.#.
-...........#....#.....#.#..#...
-.#.....#....##..#.........#....
-.....#.....#...#....#...#.###.#
-..#....#....#.....#...#......#.
-.....##..#.............#...#...
-........#..#.......#.#.......#.
-#...###..#.##.#...###...##..##.
-....##..#.......#...#.#........
-.#...#.#.##....####........#..#
-.#...#.#.####.##.#.............
-#..##...#....#...#.#.#.#.##..#.
-.#.......#........#.....###....
-#.#.....#....#..#....#..#....#.
-...#..#...#.....#.........##...
-.#....#......###...#....#.#.#..
-#.#........#......#...#....##..
-.....#..#......#..#..#......#..
-.#.....#..#.##.#.#.#...#......#
-##........#..#.#..#...#.####...
-..........##....#.#..#.#....#..
-#.##..#..#....#..#....##..#.#.#
-..#......#.......#...##..#.....
-##...#.........#......#......#.
-.#.....................#..#.##.
-.#.......#........#.#.#..##.#..
-..#..........#........#..##.#..
-.#...#...#.........##.#.#.#....
-....#....#.###.#....###....#.##
-....##......##........##.#.##..
-....#.#......#.##.#...#.##.....
-....#....#..#.#..###.#.#.......
-....#......#..#.#.......#..##..
-.....#..#.#.##.##..##.....#.#..
-...#....................##.....
-#.....#...##...#.#.............
-..#.#...#.#.#.....##..#....#...
diff --git a/day-3/src/main.rs b/day-3/src/main.rs
deleted file mode 100644
index b5c2d85..0000000
--- a/day-3/src/main.rs
+++ /dev/null
@@ -1,91 +0,0 @@
-use std::fs;
-
-fn main() -> Result<(), Box<dyn std::error::Error>> {
-    let input = fs::read_to_string("input")?;
-    let slope = parse_slope(&input)?;
-
-    // Part 1
-    let encounters = count_encounters(&slope, (1, 3));
-    println!("{}", encounters);
-
-    // Part 2
-    let encounters: usize = [(1, 1), (1, 3), (1, 5), (1, 7), (2, 1)]
-        .iter()
-        .map(|angle| count_encounters(&slope, *angle))
-        .product();
-    println!("{}", encounters);
-
-    Ok(())
-}
-
-fn parse_slope(input: &str) -> Result<Vec<Vec<usize>>, String> {
-    input
-        .lines()
-        .map(|line| {
-            line.chars()
-                .map(|c| match c {
-                    '.' => Ok(0),
-                    '#' => Ok(1),
-                    other => Err(format!("Invalid slope; contains character: {}", other)),
-                })
-                .collect()
-        })
-        .collect()
-}
-
-fn count_encounters(input: &Vec<Vec<usize>>, angle: (usize, usize)) -> usize {
-    input
-        .iter()
-        .enumerate()
-        .step_by(angle.0)
-        .map(|(i, row)| row[(i * angle.1 / angle.0) % row.len()])
-        .sum()
-}
-
-#[cfg(test)]
-mod tests {
-    use super::*;
-    use indoc::indoc;
-
-    #[test]
-    fn test_simple() -> Result<(), Box<dyn std::error::Error>> {
-        let example = indoc!(
-            "..##.......
-             #...#...#..
-             .#....#..#.
-             ..#.#...#.#
-             .#...##..#.
-             ..#.##.....
-             .#.#.#....#
-             .#........#
-             #.##...#...
-             #...##....#
-             .#..#...#.#"
-        );
-
-        let parsed = parse_slope(example)?;
-        assert_eq!(count_encounters(&parsed, (1, 3)), 7);
-        Ok(())
-    }
-
-    #[test]
-    fn test_simple2() -> Result<(), Box<dyn std::error::Error>> {
-        let example = indoc!(
-            "..##.......
-             #...#...#..
-             .#....#..#.
-             ..#.#...#.#
-             .#...##..#.
-             ..#.##.....
-             .#.#.#....#
-             .#........#
-             #.##...#...
-             #...##....#
-             .#..#...#.#"
-        );
-
-        let parsed = parse_slope(example)?;
-        assert_eq!(count_encounters(&parsed, (2, 1)), 2);
-        Ok(())
-    }
-}