├── .gitignore ├── day02 ├── a │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── b │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── input.txt ├── day03 ├── a │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── b │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── input.txt ├── day04 ├── a │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── b │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── input.txt ├── day05 ├── a │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── b │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── input.txt ├── day06 ├── a │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── b │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── input.txt ├── day07 ├── a │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── b │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ └── main.rs ├── day08 ├── a │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── b │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── input.txt ├── day09 ├── a │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── b │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── input.txt ├── day10 ├── a │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── b │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── input.txt ├── day11 ├── a │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── b │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── input.txt ├── day12 ├── a │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── b │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── input.txt ├── day01 ├── a │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── b │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── input.txt └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | -------------------------------------------------------------------------------- /day02/a/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day02/b/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "b" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day03/a/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day03/b/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day04/a/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day04/b/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day05/a/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day05/b/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day06/a/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day06/b/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day07/a/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day07/b/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day08/a/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day08/b/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day09/a/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day09/b/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day10/a/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day10/b/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day10/b/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | [dependencies] 8 | -------------------------------------------------------------------------------- /day11/a/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day11/b/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day12/a/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day12/b/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day01/a/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "day1a" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /day01/b/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "day1b" 5 | version = "0.1.0" 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Advent of Code (2020) 2 | 3 | https://adventofcode.com/2020/about 4 | 5 | Using Rust, optimizing only for calculating the solution to each problem. Code may be ugly, but that's ok here. 6 | 7 | -------------------------------------------------------------------------------- /day02/a/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day02/b/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "b" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day03/a/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day03/b/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day04/a/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day04/b/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day05/a/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day05/b/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day06/a/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day06/b/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day07/a/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day07/b/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day08/a/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day08/b/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day09/a/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day09/b/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day10/a/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day11/a/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day11/b/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day12/a/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day12/b/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day01/a/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "day1a" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day01/b/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "day1b" 3 | version = "0.1.0" 4 | authors = ["Kenton Hamaluik "] 5 | edition = "2018" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | -------------------------------------------------------------------------------- /day06/a/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | let input = std::fs::read_to_string("../input.txt").unwrap(); 3 | let sum: usize = input 4 | .split("\n\n") 5 | .filter(|i| !i.is_empty()) 6 | .map(|group| { 7 | let mut set = std::collections::HashSet::new(); 8 | for person in group.split("\n") { 9 | for answer in person.chars() { 10 | set.insert(answer); 11 | } 12 | } 13 | set.len() 14 | }) 15 | .sum(); 16 | println!("{}", sum); 17 | } 18 | -------------------------------------------------------------------------------- /day01/a/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | let input = std::fs::read_to_string("../input.txt").unwrap(); 3 | let input: Vec = input 4 | .split("\n") 5 | .filter_map(|s| { 6 | if s.is_empty() { 7 | None 8 | } else { 9 | Some(s.parse().unwrap()) 10 | } 11 | }) 12 | .collect(); 13 | 14 | for a in 0..input.len() { 15 | for b in (a + 1)..input.len() { 16 | if input[a] + input[b] == 2020 { 17 | println!("{}", input[a] * input[b]); 18 | return; 19 | } 20 | } 21 | } 22 | 23 | println!("?"); 24 | } 25 | -------------------------------------------------------------------------------- /day10/input.txt: -------------------------------------------------------------------------------- 1 | 76 2 | 51 3 | 117 4 | 97 5 | 7 6 | 77 7 | 63 8 | 18 9 | 137 10 | 10 11 | 23 12 | 14 13 | 130 14 | 131 15 | 8 16 | 91 17 | 17 18 | 29 19 | 2 20 | 36 21 | 110 22 | 35 23 | 113 24 | 30 25 | 112 26 | 61 27 | 83 28 | 122 29 | 28 30 | 75 31 | 124 32 | 82 33 | 101 34 | 135 35 | 42 36 | 44 37 | 128 38 | 32 39 | 55 40 | 85 41 | 119 42 | 114 43 | 72 44 | 111 45 | 107 46 | 123 47 | 54 48 | 3 49 | 98 50 | 96 51 | 11 52 | 62 53 | 22 54 | 49 55 | 37 56 | 1 57 | 104 58 | 43 59 | 24 60 | 31 61 | 129 62 | 69 63 | 4 64 | 21 65 | 48 66 | 39 67 | 9 68 | 38 69 | 58 70 | 125 71 | 81 72 | 89 73 | 65 74 | 90 75 | 118 76 | 64 77 | 25 78 | 138 79 | 16 80 | 78 81 | 92 82 | 102 83 | 88 84 | 95 85 | 132 86 | 47 87 | 50 88 | 15 89 | 68 90 | 84 91 | 136 92 | 103 93 | 94 | -------------------------------------------------------------------------------- /day01/b/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | let input = std::fs::read_to_string("../input.txt").unwrap(); 3 | let input: Vec = input 4 | .split("\n") 5 | .filter_map(|s| { 6 | if s.is_empty() { 7 | None 8 | } else { 9 | Some(s.parse().unwrap()) 10 | } 11 | }) 12 | .collect(); 13 | 14 | for a in 0..input.len() { 15 | for b in (a + 1)..input.len() { 16 | for c in (b + 1)..input.len() { 17 | if input[a] + input[b] + input[c] == 2020 { 18 | println!("{}", input[a] * input[b] * input[c]); 19 | return; 20 | } 21 | } 22 | } 23 | } 24 | 25 | println!("?"); 26 | } 27 | -------------------------------------------------------------------------------- /day04/a/src/main.rs: -------------------------------------------------------------------------------- 1 | use std::collections::HashMap; 2 | 3 | fn main() { 4 | let data = std::fs::read_to_string("../input.txt").unwrap(); 5 | let count = data 6 | .split("\n\n") 7 | .filter(|passport| { 8 | let mut data: HashMap<&str, &str> = HashMap::with_capacity(8); 9 | for field in passport.split_whitespace() { 10 | let parts: Vec<&str> = field.splitn(2, ":").collect(); 11 | assert!(parts.len() == 2); 12 | data.insert(parts[0], parts[1]); 13 | } 14 | let valid = data.len() == 8 15 | || (data.len() == 7 && data.keys().find(|&d| d == &"cid").is_none()); 16 | valid 17 | }) 18 | .count(); 19 | println!("{}", count); 20 | } 21 | -------------------------------------------------------------------------------- /day10/a/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | let input = std::fs::read_to_string("../input.txt").unwrap(); 3 | let mut input: Vec = input 4 | .split("\n") 5 | .filter(|l| !l.is_empty()) 6 | .map(|l| l.parse().unwrap()) 7 | .collect(); 8 | input.sort(); 9 | input.push(*input.iter().max().unwrap() + 3); // our device 10 | 11 | #[derive(Default, Debug)] 12 | struct Accum { 13 | joltage: usize, 14 | counts: [usize; 3], 15 | }; 16 | 17 | let accum = input.iter().fold(Accum::default(), |mut accum, adapter| { 18 | let delta = adapter - accum.joltage; 19 | assert!(delta >= 1); 20 | assert!(delta <= 3); 21 | //println!("{:?}: {} | {}", accum, delta, adapter); 22 | accum.counts[delta - 1] += 1; 23 | accum.joltage = *adapter; 24 | accum 25 | }); 26 | 27 | println!("{:?}", accum); 28 | let answer = accum.counts[0] * accum.counts[2]; 29 | println!("{}", answer); 30 | } 31 | -------------------------------------------------------------------------------- /day09/a/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | let input = std::fs::read_to_string("../input.txt").unwrap(); 3 | let lines: Vec = input 4 | .split("\n") 5 | .filter(|l| !l.is_empty()) 6 | .map(|l| l.parse().unwrap()) 7 | .collect(); 8 | 9 | let mut window: std::collections::VecDeque = 10 | std::collections::VecDeque::with_capacity(25); 11 | for (i, &num) in lines.iter().enumerate() { 12 | if i < 25 { 13 | window.push_back(num); 14 | continue; 15 | } 16 | 17 | let mut found: bool = false; 18 | 'a: for a in 0..24 { 19 | for b in a..25 { 20 | if window[a] + window[b] == num { 21 | found = true; 22 | break 'a; 23 | } 24 | } 25 | } 26 | if !found { 27 | println!("{}", num); 28 | return; 29 | } 30 | 31 | window.pop_front(); 32 | window.push_back(num); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /day06/b/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | let input = std::fs::read_to_string("../input.txt").unwrap(); 3 | let sum: usize = input 4 | .split("\n\n") 5 | .filter(|i| !i.is_empty()) 6 | .filter(|l| l.split("\n").count() > 0) 7 | .map(|group| { 8 | let people: Vec> = group 9 | .split("\n") 10 | .filter(|l| !l.is_empty()) 11 | .map(|p| p.chars().collect::>()) 12 | .collect(); 13 | let mut count = 0; 14 | assert!(people.len() > 0); 15 | for q in people[0].iter() { 16 | let mut c = 1; 17 | for p in people.iter().skip(1) { 18 | if p.iter().find(|&a| a == q).is_none() { 19 | c = 0; 20 | break; 21 | } 22 | } 23 | count += c; 24 | } 25 | count 26 | }) 27 | .sum(); 28 | println!("{}", sum); 29 | } 30 | -------------------------------------------------------------------------------- /day05/a/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | let input = std::fs::read_to_string("../input.txt").unwrap(); 3 | let max = input 4 | .split("\n") 5 | .filter(|f| !f.is_empty()) 6 | .map(|seat| { 7 | let mut rows = 0..128; 8 | for c in seat.chars() { 9 | let len = (rows.end - rows.start) / 2; 10 | let start = match c { 11 | 'F' => rows.start, 12 | 'B' => rows.end - len, 13 | _ => break, 14 | }; 15 | rows = start..(start + len); 16 | } 17 | let row = rows.start; 18 | 19 | let mut cols = 0..8; 20 | for c in seat.chars().skip(7) { 21 | let len = (cols.end - cols.start) / 2; 22 | let start = match c { 23 | 'L' => cols.start, 24 | 'R' => cols.end - len, 25 | _ => break, 26 | }; 27 | cols = start..(start + len); 28 | } 29 | let col = cols.start; 30 | 31 | (row * 8) + col 32 | }) 33 | .max() 34 | .unwrap(); 35 | println!("{}", max); 36 | } 37 | -------------------------------------------------------------------------------- /day02/a/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | let input = std::fs::read_to_string("../input.txt").unwrap(); 3 | let count = input 4 | .split("\n") 5 | .filter(|s| { 6 | if s.is_empty() { 7 | return false; 8 | } 9 | 10 | let mut parts: Vec<&str> = s.split(": ").collect(); 11 | if parts.len() != 2 { 12 | return false; 13 | } 14 | 15 | let policy = parts.remove(0); 16 | let password = parts.remove(0); 17 | 18 | let mut parts: Vec<&str> = policy.split(' ').collect(); 19 | if parts.len() != 2 { 20 | return false; 21 | } 22 | let mut range: Vec<&str> = parts.remove(0).split('-').collect(); 23 | let c: char = parts.remove(0).chars().next().unwrap(); 24 | 25 | let low = range.remove(0); 26 | let high = range.remove(0); 27 | let low: usize = low.parse().unwrap(); 28 | let high: usize = high.parse().unwrap(); 29 | 30 | let count = password.chars().filter(|&ch| ch == c).count(); 31 | 32 | count >= low && count <= high 33 | }) 34 | .count(); 35 | println!("{}", count); 36 | } 37 | -------------------------------------------------------------------------------- /day05/b/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | let input = std::fs::read_to_string("../input.txt").unwrap(); 3 | let mut tickets: Vec = input 4 | .split("\n") 5 | .filter(|f| !f.is_empty()) 6 | .map(|seat| { 7 | let mut rows = 0..128; 8 | for c in seat.chars() { 9 | let len = (rows.end - rows.start) / 2; 10 | let start = match c { 11 | 'F' => rows.start, 12 | 'B' => rows.end - len, 13 | _ => break, 14 | }; 15 | rows = start..(start + len); 16 | } 17 | let row = rows.start; 18 | 19 | let mut cols = 0..8; 20 | for c in seat.chars().skip(7) { 21 | let len = (cols.end - cols.start) / 2; 22 | let start = match c { 23 | 'L' => cols.start, 24 | 'R' => cols.end - len, 25 | _ => break, 26 | }; 27 | cols = start..(start + len); 28 | } 29 | let col = cols.start; 30 | 31 | (row * 8) + col 32 | }) 33 | .collect(); 34 | tickets.sort(); 35 | //for i in 1..(tickets.len() - 1) { 36 | //if tickets[i - 1] 37 | //} 38 | println!( 39 | "{:?}", 40 | tickets 41 | .iter() 42 | .zip(tickets.iter().skip(1)) 43 | .find(|(&a, &b)| { b != (a + 1) }) 44 | ); 45 | } 46 | -------------------------------------------------------------------------------- /day02/b/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | let input = std::fs::read_to_string("../input.txt").unwrap(); 3 | let count = input 4 | .split("\n") 5 | .filter(|s| { 6 | if s.is_empty() { 7 | return false; 8 | } 9 | 10 | let mut parts: Vec<&str> = s.split(": ").collect(); 11 | if parts.len() != 2 { 12 | return false; 13 | } 14 | 15 | let policy = parts.remove(0); 16 | let password = parts.remove(0); 17 | 18 | let mut parts: Vec<&str> = policy.split(' ').collect(); 19 | if parts.len() != 2 { 20 | return false; 21 | } 22 | let mut range: Vec<&str> = parts.remove(0).split('-').collect(); 23 | let c: char = parts.remove(0).chars().next().unwrap(); 24 | 25 | let low = range.remove(0); 26 | let high = range.remove(0); 27 | let low: usize = low.parse::().unwrap() - 1; 28 | let high: usize = high.parse::().unwrap() - 1; 29 | 30 | if low >= password.len() || high >= password.len() { 31 | return false; 32 | } 33 | 34 | (password.chars().nth(low).unwrap() == c && password.chars().nth(high).unwrap() != c) 35 | || (password.chars().nth(low).unwrap() != c 36 | && password.chars().nth(high).unwrap() == c) 37 | }) 38 | .count(); 39 | println!("{}", count); 40 | } 41 | -------------------------------------------------------------------------------- /day07/b/src/main.rs: -------------------------------------------------------------------------------- 1 | use std::collections::HashMap; 2 | 3 | fn contained_bags(rules: &HashMap<&str, Vec<(usize, &str)>>, colour: &str) -> usize { 4 | rules 5 | .get(colour) 6 | .unwrap() 7 | .iter() 8 | .map(|(cnt, colour)| (cnt * contained_bags(rules, colour)) + cnt) 9 | .sum() 10 | } 11 | 12 | fn main() { 13 | let input = std::fs::read_to_string("../input.txt").unwrap(); 14 | 15 | let mut rules: HashMap<&str, Vec<(usize, &str)>> = HashMap::new(); 16 | 17 | for rule in input.split("\n").filter(|l| !l.is_empty()) { 18 | let mut parts: Vec<&str> = rule.trim_end_matches(".").split(" bags contain ").collect(); 19 | assert!(parts.len() == 2); 20 | let colour = parts.remove(0); 21 | 22 | if parts[0] == "no other bags" { 23 | rules.insert(colour, Vec::default()); 24 | continue; 25 | } else { 26 | let contents: Vec<(usize, &str)> = parts[0] 27 | .split(", ") 28 | .map(|rule| { 29 | let rule: Vec<&str> = rule.splitn(2, ' ').collect(); 30 | assert!(rule.len() == 2); 31 | let count: usize = rule[0].parse().unwrap(); 32 | let colour = rule[1].trim_end_matches(" bags").trim_end_matches(" bag"); 33 | (count, colour) 34 | }) 35 | .collect(); 36 | rules.insert(colour, contents); 37 | } 38 | } 39 | 40 | let count = contained_bags(&rules, "shiny gold"); 41 | println!("{}", count); 42 | } 43 | -------------------------------------------------------------------------------- /day08/a/src/main.rs: -------------------------------------------------------------------------------- 1 | enum Instruction { 2 | Acc(isize), 3 | Jmp(isize), 4 | Nop, 5 | } 6 | 7 | fn main() { 8 | let instructions = std::fs::read_to_string("../input.txt").unwrap(); 9 | let instructions: Vec = instructions 10 | .split("\n") 11 | .filter(|l| !l.is_empty()) 12 | .map(|line| { 13 | let mut parts = line.split(" "); 14 | let inst = parts.next().unwrap(); 15 | //let arg = parts.next().unwrap(); 16 | match inst { 17 | "acc" => Instruction::Acc(parts.next().unwrap().parse().unwrap()), 18 | "jmp" => Instruction::Jmp(parts.next().unwrap().parse().unwrap()), 19 | "nop" => Instruction::Nop, 20 | _ => panic!("unhandled instruction"), 21 | } 22 | }) 23 | .collect(); 24 | 25 | let mut accumulator: isize = 0; 26 | let mut ip: isize = 0; 27 | 28 | use std::collections::HashSet; 29 | let mut instructions_that_ran: HashSet = HashSet::with_capacity(instructions.len()); 30 | 31 | loop { 32 | let new_instruction = instructions_that_ran.insert(ip); 33 | if !new_instruction { 34 | println!("{}", accumulator); 35 | break; 36 | } 37 | match instructions[ip as usize] { 38 | Instruction::Acc(d) => { 39 | accumulator += d; 40 | ip += 1; 41 | } 42 | Instruction::Jmp(d) => { 43 | ip += d; 44 | } 45 | Instruction::Nop => { 46 | ip += 1; 47 | } 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /day07/a/src/main.rs: -------------------------------------------------------------------------------- 1 | use std::collections::HashMap; 2 | 3 | fn contains_shiny_gold(rules: &HashMap<&str, Vec<(usize, &str)>>, colour: &str) -> bool { 4 | rules 5 | .get(colour) 6 | .unwrap() 7 | .iter() 8 | .find(|(_, c)| *c == "shiny gold" || contains_shiny_gold(rules, *c)) 9 | .is_some() 10 | } 11 | 12 | fn main() { 13 | let input = std::fs::read_to_string("../input.txt").unwrap(); 14 | 15 | let mut rules: HashMap<&str, Vec<(usize, &str)>> = HashMap::new(); 16 | 17 | for rule in input.split("\n").filter(|l| !l.is_empty()) { 18 | let mut parts: Vec<&str> = rule.trim_end_matches(".").split(" bags contain ").collect(); 19 | assert!(parts.len() == 2); 20 | let colour = parts.remove(0); 21 | 22 | if parts[0] == "no other bags" { 23 | rules.insert(colour, Vec::default()); 24 | continue; 25 | } else { 26 | let contents: Vec<(usize, &str)> = parts[0] 27 | .split(", ") 28 | .map(|rule| { 29 | let rule: Vec<&str> = rule.splitn(2, ' ').collect(); 30 | assert!(rule.len() == 2); 31 | let count: usize = rule[0].parse().unwrap(); 32 | let colour = rule[1].trim_end_matches(" bags").trim_end_matches(" bag"); 33 | (count, colour) 34 | }) 35 | .collect(); 36 | rules.insert(colour, contents); 37 | } 38 | } 39 | 40 | let count = rules 41 | .keys() 42 | .filter(|c| contains_shiny_gold(&rules, c)) 43 | .count(); 44 | println!("{}", count); 45 | } 46 | -------------------------------------------------------------------------------- /day12/b/src/main.rs: -------------------------------------------------------------------------------- 1 | struct State { 2 | x: isize, 3 | y: isize, 4 | wx: isize, 5 | wy: isize, 6 | } 7 | 8 | fn main() { 9 | let input = std::fs::read_to_string("../input.txt").unwrap(); 10 | 11 | let state = State { 12 | x: 0, 13 | y: 0, 14 | wx: 10, 15 | wy: 1, 16 | }; 17 | 18 | let state = input 19 | .split("\n") 20 | .filter(|l| !l.is_empty()) 21 | .map(|l| { 22 | let instruction = l.chars().nth(0).unwrap(); 23 | let arg: isize = l[1..].parse().unwrap(); 24 | (instruction, arg) 25 | }) 26 | .fold(state, |mut state, (instruction, arg)| { 27 | match instruction { 28 | 'N' => state.wy += arg, 29 | 'E' => state.wx += arg, 30 | 'S' => state.wy -= arg, 31 | 'W' => state.wx -= arg, 32 | 'L' => { 33 | for _ in 0..(arg / 90) { 34 | let a = state.wy; 35 | state.wy = state.wx; 36 | state.wx = -a; 37 | } 38 | } 39 | 'R' => { 40 | for _ in 0..(arg / 90) { 41 | let a = state.wy; 42 | state.wy = -state.wx; 43 | state.wx = a; 44 | } 45 | } 46 | 'F' => { 47 | state.x += state.wx * arg; 48 | state.y += state.wy * arg; 49 | } 50 | _ => panic!("bad instruction"), 51 | } 52 | state 53 | }); 54 | 55 | println!("{}", state.x.abs() + state.y.abs()); 56 | } 57 | -------------------------------------------------------------------------------- /day12/a/src/main.rs: -------------------------------------------------------------------------------- 1 | struct State { 2 | x: isize, 3 | y: isize, 4 | angle: isize, 5 | } 6 | 7 | fn main() { 8 | let input = std::fs::read_to_string("../input.txt").unwrap(); 9 | 10 | let state = State { 11 | x: 0, 12 | y: 0, 13 | angle: 0, 14 | }; 15 | 16 | let state = input 17 | .split("\n") 18 | .filter(|l| !l.is_empty()) 19 | .map(|l| { 20 | let instruction = l.chars().nth(0).unwrap(); 21 | let arg: isize = l[1..].parse().unwrap(); 22 | (instruction, arg) 23 | }) 24 | .fold(state, |mut state, (instruction, arg)| { 25 | match instruction { 26 | 'N' => state.y += arg, 27 | 'E' => state.x += arg, 28 | 'S' => state.y -= arg, 29 | 'W' => state.x -= arg, 30 | 'L' => state.angle += arg, 31 | 'R' => state.angle -= arg, 32 | 'F' => { 33 | // normalize the angle 34 | while state.angle < 0 { 35 | state.angle += 360; 36 | } 37 | while state.angle >= 360 { 38 | state.angle -= 360; 39 | } 40 | match state.angle { 41 | 0 => state.x += arg, 42 | 90 => state.y += arg, 43 | 180 => state.x -= arg, 44 | 270 => state.y -= arg, 45 | _ => panic!("bad direction"), 46 | } 47 | } 48 | _ => panic!("bad instruction"), 49 | } 50 | state 51 | }); 52 | 53 | println!("{}", state.x.abs() + state.y.abs()); 54 | } 55 | -------------------------------------------------------------------------------- /day10/b/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | let input = std::fs::read_to_string("../input.txt").unwrap(); 3 | let mut input: Vec = input 4 | .split("\n") 5 | .filter(|l| !l.is_empty()) 6 | .map(|l| l.parse::().unwrap()) 7 | .collect(); 8 | input.sort(); 9 | input.insert(0, 0); // the wall 10 | input.push(*input.iter().max().unwrap()); // our device 11 | 12 | // had to cheat for this :( but I learned some logic to crack the puzzle 13 | // for an adapter outputting x jolts, it can have have up to three different 14 | // joltages plugged into it: x - 1, x - 2, or x - 3 (otherwise, we wouldn't 15 | // have a valid chain, and since part 1 worked, we have a valid chain). 16 | // For any given x we just have to work backwards, until we get to the wall; 17 | // i.e. since x depends on x - 1, x - 2, and x - 3, we know that x - 1 depends 18 | // on x - 2, x - 3, and x - 4, etc. Where we don't have an adapter (i.e. 19 | // x - n < 0 or we simply don't have it in the list, x - n should be 20 | // 0. Use a hashmap to remember it all, going back to 0 / the wall. 21 | let mut routes_to_n: std::collections::HashMap = 22 | std::collections::HashMap::with_capacity(input.len()); 23 | routes_to_n.insert(0, 1); 24 | for &adapter in input.iter().skip(1) { 25 | routes_to_n.insert( 26 | adapter, 27 | (1..=3) 28 | .map(|x| { 29 | routes_to_n 30 | .get(&(adapter - x)) 31 | .map(|&x| x) 32 | .unwrap_or_default() 33 | }) 34 | .sum(), 35 | ); 36 | } 37 | println!("{:?}", routes_to_n.get(routes_to_n.keys().max().unwrap())); 38 | } 39 | -------------------------------------------------------------------------------- /day01/input.txt: -------------------------------------------------------------------------------- 1 | 1227 2 | 1065 3 | 329 4 | 1063 5 | 1889 6 | 1700 7 | 1805 8 | 1373 9 | 389 10 | 1263 11 | 1276 12 | 1136 13 | 1652 14 | 1981 15 | 1406 16 | 1249 17 | 1197 18 | 1379 19 | 1050 20 | 1791 21 | 1703 22 | 2001 23 | 1842 24 | 1707 25 | 1486 26 | 1204 27 | 1821 28 | 1807 29 | 1712 30 | 1871 31 | 1599 32 | 1390 33 | 1219 34 | 1612 35 | 1980 36 | 1857 37 | 1511 38 | 1702 39 | 1455 40 | 1303 41 | 1052 42 | 1754 43 | 1545 44 | 1488 45 | 1848 46 | 1236 47 | 1549 48 | 1887 49 | 1970 50 | 1123 51 | 1686 52 | 1404 53 | 1688 54 | 1106 55 | 1296 56 | 401 57 | 1829 58 | 1693 59 | 1389 60 | 1957 61 | 914 62 | 1176 63 | 1348 64 | 1275 65 | 1624 66 | 1401 67 | 1045 68 | 1396 69 | 1352 70 | 1569 71 | 1060 72 | 1235 73 | 1679 74 | 1503 75 | 1340 76 | 1872 77 | 1410 78 | 1077 79 | 958 80 | 1681 81 | 1189 82 | 1466 83 | 1087 84 | 1852 85 | 1293 86 | 1139 87 | 1300 88 | 1323 89 | 661 90 | 1388 91 | 1983 92 | 1325 93 | 1112 94 | 1774 95 | 1858 96 | 1785 97 | 1616 98 | 1255 99 | 1198 100 | 1354 101 | 1124 102 | 1834 103 | 1417 104 | 1918 105 | 1496 106 | 33 107 | 1150 108 | 1861 109 | 1172 110 | 2006 111 | 1199 112 | 1558 113 | 1919 114 | 1620 115 | 1613 116 | 1710 117 | 1477 118 | 1592 119 | 1709 120 | 1909 121 | 1670 122 | 1922 123 | 1840 124 | 1768 125 | 1982 126 | 1193 127 | 1736 128 | 1877 129 | 1770 130 | 1191 131 | 1433 132 | 1072 133 | 1148 134 | 1225 135 | 1147 136 | 1171 137 | 1424 138 | 1913 139 | 1228 140 | 1339 141 | 1814 142 | 1504 143 | 1251 144 | 1240 145 | 1272 146 | 1500 147 | 1927 148 | 1428 149 | 1641 150 | 1453 151 | 1729 152 | 1976 153 | 1808 154 | 1180 155 | 1024 156 | 1108 157 | 1085 158 | 1669 159 | 1636 160 | 1005 161 | 1520 162 | 1929 163 | 1626 164 | 1551 165 | 1234 166 | 1988 167 | 1256 168 | 1524 169 | 1571 170 | 1506 171 | 1977 172 | 1749 173 | 1408 174 | 1540 175 | 1934 176 | 1810 177 | 1328 178 | 1910 179 | 1478 180 | 1600 181 | 1699 182 | 1413 183 | 1446 184 | 1798 185 | 1013 186 | 1998 187 | 1661 188 | 1058 189 | 1051 190 | 1220 191 | 1447 192 | 1675 193 | 1912 194 | 1668 195 | 1932 196 | 1962 197 | 1055 198 | 1757 199 | 1116 200 | 1090 201 | 202 | -------------------------------------------------------------------------------- /day03/a/src/main.rs: -------------------------------------------------------------------------------- 1 | struct Map { 2 | map: Vec>, 3 | width: usize, 4 | height: usize, 5 | } 6 | 7 | impl Map { 8 | fn load(s: &str) -> Map { 9 | let mut rows: Vec> = Vec::default(); 10 | for line in s.split('\n') { 11 | if line.is_empty() { 12 | continue; 13 | } 14 | let mut row: Vec = Vec::default(); 15 | for c in line.chars() { 16 | match c { 17 | '#' => row.push(true), 18 | '.' => row.push(false), 19 | _ => {} 20 | } 21 | } 22 | rows.push(row) 23 | } 24 | 25 | let height = rows.len(); 26 | assert!(height > 0); 27 | let width = rows[0].len(); 28 | assert!(width > 0); 29 | for row in rows.iter() { 30 | assert!(row.len() == width); 31 | } 32 | Map { 33 | map: rows, 34 | width, 35 | height, 36 | } 37 | } 38 | 39 | fn at(&self, x: usize, y: usize) -> Option { 40 | if y >= self.height { 41 | return None; 42 | } 43 | let x = x % self.width; 44 | Some(self.map[y][x]) 45 | } 46 | 47 | fn slope_iter(&self, start_x: usize, dx: usize, dy: usize) -> SlopeIterator { 48 | SlopeIterator { 49 | map: self, 50 | x: start_x, 51 | y: 0, 52 | dx, 53 | dy, 54 | } 55 | } 56 | } 57 | 58 | struct SlopeIterator<'a> { 59 | map: &'a Map, 60 | x: usize, 61 | y: usize, 62 | dx: usize, 63 | dy: usize, 64 | } 65 | 66 | impl<'a> Iterator for SlopeIterator<'a> { 67 | type Item = bool; 68 | 69 | fn next(&mut self) -> Option { 70 | let tree = self.map.at(self.x, self.y); 71 | self.x += self.dx; 72 | self.y += self.dy; 73 | tree 74 | } 75 | } 76 | 77 | fn main() { 78 | let map = std::fs::read_to_string("../input.txt").unwrap(); 79 | let map = Map::load(&map); 80 | 81 | let trees = map.slope_iter(0, 3, 1).filter(|t| *t).count(); 82 | println!("{}", trees); 83 | } 84 | -------------------------------------------------------------------------------- /day09/b/src/main.rs: -------------------------------------------------------------------------------- 1 | const PREAMBLE: usize = 25; 2 | 3 | fn main() { 4 | let input = std::fs::read_to_string("../input.txt").unwrap(); 5 | //let input = "35 6 | //20 7 | //15 8 | //25 9 | //47 10 | //40 11 | //62 12 | //55 13 | //65 14 | //95 15 | //102 16 | //117 17 | //150 18 | //182 19 | //127 20 | //219 21 | //299 22 | //277 23 | //309 24 | //576"; 25 | let lines: Vec = input 26 | .split("\n") 27 | .filter(|l| !l.is_empty()) 28 | .map(|l| l.parse().unwrap()) 29 | .collect(); 30 | 31 | let mut window: std::collections::VecDeque = 32 | std::collections::VecDeque::with_capacity(25); 33 | let mut target: Option = None; 34 | 'lines: for (i, &num) in lines.iter().enumerate() { 35 | if i < PREAMBLE { 36 | window.push_back(num); 37 | continue; 38 | } 39 | 40 | let mut found: bool = false; 41 | 'a: for a in 0..(PREAMBLE - 1) { 42 | for b in (a + 1)..PREAMBLE { 43 | if window[a] + window[b] == num { 44 | found = true; 45 | break 'a; 46 | } 47 | } 48 | } 49 | if !found { 50 | target = Some(num); 51 | break 'lines; 52 | } 53 | 54 | window.pop_front(); 55 | window.push_back(num); 56 | } 57 | 58 | let target = target.unwrap(); 59 | for start_index in 0..(lines.len() - 1) { 60 | for len in 2..(lines.len() - start_index) { 61 | //for n in lines.iter().skip(start_index).take(len) { 62 | //print!("{} + ", n); 63 | //} 64 | let sum: usize = lines.iter().skip(start_index).take(len).sum(); 65 | //println!(" = {}", sum); 66 | if sum == target { 67 | let smallest: usize = *lines.iter().skip(start_index).take(len).min().unwrap(); 68 | let largest: usize = *lines.iter().skip(start_index).take(len).max().unwrap(); 69 | println!("{}", smallest + largest); 70 | 71 | return; 72 | } 73 | } 74 | //println!(); 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /day03/b/src/main.rs: -------------------------------------------------------------------------------- 1 | struct Map { 2 | map: Vec>, 3 | width: usize, 4 | height: usize, 5 | } 6 | 7 | impl Map { 8 | fn load(s: &str) -> Map { 9 | let mut rows: Vec> = Vec::default(); 10 | for line in s.split('\n') { 11 | if line.is_empty() { 12 | continue; 13 | } 14 | let mut row: Vec = Vec::default(); 15 | for c in line.chars() { 16 | match c { 17 | '#' => row.push(true), 18 | '.' => row.push(false), 19 | _ => {} 20 | } 21 | } 22 | rows.push(row) 23 | } 24 | 25 | let height = rows.len(); 26 | assert!(height > 0); 27 | let width = rows[0].len(); 28 | assert!(width > 0); 29 | for row in rows.iter() { 30 | assert!(row.len() == width); 31 | } 32 | Map { 33 | map: rows, 34 | width, 35 | height, 36 | } 37 | } 38 | 39 | fn at(&self, x: usize, y: usize) -> Option { 40 | if y >= self.height { 41 | return None; 42 | } 43 | let x = x % self.width; 44 | Some(self.map[y][x]) 45 | } 46 | 47 | fn slope_iter(&self, start_x: usize, dx: usize, dy: usize) -> SlopeIterator { 48 | SlopeIterator { 49 | map: self, 50 | x: start_x, 51 | y: 0, 52 | dx, 53 | dy, 54 | } 55 | } 56 | } 57 | 58 | struct SlopeIterator<'a> { 59 | map: &'a Map, 60 | x: usize, 61 | y: usize, 62 | dx: usize, 63 | dy: usize, 64 | } 65 | 66 | impl<'a> Iterator for SlopeIterator<'a> { 67 | type Item = bool; 68 | 69 | fn next(&mut self) -> Option { 70 | let tree = self.map.at(self.x, self.y); 71 | self.x += self.dx; 72 | self.y += self.dy; 73 | tree 74 | } 75 | } 76 | 77 | fn main() { 78 | let map = std::fs::read_to_string("../input.txt").unwrap(); 79 | let map = Map::load(&map); 80 | 81 | let a = map.slope_iter(0, 1, 1).filter(|t| *t).count(); 82 | let b = map.slope_iter(0, 3, 1).filter(|t| *t).count(); 83 | let c = map.slope_iter(0, 5, 1).filter(|t| *t).count(); 84 | let d = map.slope_iter(0, 7, 1).filter(|t| *t).count(); 85 | let e = map.slope_iter(0, 1, 2).filter(|t| *t).count(); 86 | 87 | let trees = a * b * c * d * e; 88 | println!("{}", trees); 89 | } 90 | -------------------------------------------------------------------------------- /day04/b/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | let data = std::fs::read_to_string("../input.txt").unwrap(); 3 | let count = data 4 | .split("\n\n") 5 | .filter(|passport| { 6 | let mut valid_count = 0; 7 | let mut has_cid = false; 8 | for field in passport.split_whitespace() { 9 | let mut parts: Vec<&str> = field.splitn(2, ":").collect(); 10 | assert!(parts.len() == 2); 11 | let id = parts.remove(0); 12 | let value = parts.remove(0); 13 | 14 | if match id { 15 | "byr" => match value.parse::() { 16 | Ok(y) => y >= 1920 && y <= 2002, 17 | Err(_) => false, 18 | }, 19 | "iyr" => match value.parse::() { 20 | Ok(y) => y >= 2010 && y <= 2020, 21 | Err(_) => false, 22 | }, 23 | "eyr" => match value.parse::() { 24 | Ok(y) => y >= 2020 && y <= 2030, 25 | Err(_) => false, 26 | }, 27 | "hgt" => { 28 | let units: String = value.chars().rev().take(2).collect(); 29 | let value: String = value.chars().take(value.len() - 2).collect(); 30 | match value.parse::() { 31 | Ok(value) => match units.as_str() { 32 | "mc" => value >= 150 && value <= 193, 33 | "ni" => value >= 59 && value <= 76, 34 | _ => false, 35 | }, 36 | Err(_) => false, 37 | } 38 | } 39 | "hcl" => { 40 | value.chars().nth(0).unwrap() == '#' 41 | && value.chars().skip(1).all(|c| c.is_digit(16)) 42 | } 43 | "ecl" => match value { 44 | "amb" | "blu" | "brn" | "gry" | "grn" | "hzl" | "oth" => true, 45 | _ => false, 46 | }, 47 | "pid" => value.len() == 9 && value.chars().all(|c| c.is_digit(10)), 48 | "cid" => { 49 | has_cid = true; 50 | true 51 | } 52 | _ => false, 53 | } { 54 | valid_count += 1; 55 | } 56 | } 57 | valid_count == 8 || (valid_count == 7 && !has_cid) 58 | }) 59 | .count(); 60 | println!("{}", count); 61 | } 62 | -------------------------------------------------------------------------------- /day08/b/src/main.rs: -------------------------------------------------------------------------------- 1 | #[derive(Clone)] 2 | enum Instruction { 3 | Acc(isize), 4 | Jmp(isize), 5 | Nop(isize), 6 | } 7 | 8 | fn program_halts(instructions: Vec) -> (bool, isize) { 9 | let mut accumulator: isize = 0; 10 | let mut ip: isize = 0; 11 | 12 | use std::collections::HashSet; 13 | let mut instructions_that_ran: HashSet = HashSet::with_capacity(instructions.len()); 14 | 15 | loop { 16 | let new_instruction = instructions_that_ran.insert(ip); 17 | if !new_instruction { 18 | return (false, accumulator); 19 | } 20 | if (ip as usize) >= instructions.len() { 21 | return (true, accumulator); 22 | } 23 | 24 | match instructions[ip as usize] { 25 | Instruction::Acc(d) => { 26 | accumulator += d; 27 | ip += 1; 28 | } 29 | Instruction::Jmp(d) => { 30 | ip += d; 31 | } 32 | Instruction::Nop(_) => { 33 | ip += 1; 34 | } 35 | } 36 | } 37 | } 38 | 39 | fn main() { 40 | let instructions = std::fs::read_to_string("../input.txt").unwrap(); 41 | let instructions: Vec = instructions 42 | .split("\n") 43 | .filter(|l| !l.is_empty()) 44 | .map(|line| { 45 | let mut parts = line.split(" "); 46 | let inst = parts.next().unwrap(); 47 | let arg: isize = parts.next().unwrap().parse().unwrap(); 48 | match inst { 49 | "acc" => Instruction::Acc(arg), 50 | "jmp" => Instruction::Jmp(arg), 51 | "nop" => Instruction::Nop(arg), 52 | _ => panic!("unhandled instruction"), 53 | } 54 | }) 55 | .collect(); 56 | 57 | for (i, instruction) in instructions.iter().enumerate() { 58 | match instruction { 59 | Instruction::Acc(_) => continue, // acc instructions not modified, 60 | Instruction::Jmp(d) => { 61 | let mut instructions = instructions.clone(); 62 | instructions[i] = Instruction::Nop(*d); 63 | let (halts, acc) = program_halts(instructions); 64 | if halts { 65 | println!("{}", acc); 66 | return; 67 | } 68 | } 69 | Instruction::Nop(d) => { 70 | let mut instructions = instructions.clone(); 71 | instructions[i] = Instruction::Jmp(*d); 72 | let (halts, acc) = program_halts(instructions); 73 | if halts { 74 | println!("{}", acc); 75 | return; 76 | } 77 | } 78 | } 79 | } 80 | println!("no working modifications found?"); 81 | } 82 | -------------------------------------------------------------------------------- /day11/a/src/main.rs: -------------------------------------------------------------------------------- 1 | #[derive(Copy, Clone, Eq, PartialEq)] 2 | enum State { 3 | Floor, 4 | Empty, 5 | Occupied, 6 | } 7 | 8 | impl From for State { 9 | fn from(c: char) -> State { 10 | match c { 11 | '.' => State::Floor, 12 | 'L' => State::Empty, 13 | '#' => State::Occupied, 14 | _ => panic!("bad map: {}", c), 15 | } 16 | } 17 | } 18 | 19 | #[derive(Clone, Eq, PartialEq)] 20 | struct Map(Vec>); 21 | 22 | const DIRECTIONS: [(isize, isize); 8] = [ 23 | (-1, -1), 24 | (0, -1), 25 | (1, -1), 26 | (-1, 0), 27 | (1, 0), 28 | (-1, 1), 29 | (0, 1), 30 | (1, 1), 31 | ]; 32 | 33 | impl Map { 34 | fn size(&self) -> (usize, usize) { 35 | (self.0[0].len(), self.0.len()) 36 | } 37 | 38 | fn at(&self, loc: (usize, usize), dir: (isize, isize)) -> State { 39 | let x: isize = loc.0 as isize + dir.0; 40 | let y: isize = loc.1 as isize + dir.1; 41 | let (w, h) = self.size(); 42 | 43 | if x < 0 || x as usize >= w || y < 0 || y as usize >= h { 44 | State::Floor 45 | } else { 46 | self.0[y as usize][x as usize] 47 | } 48 | } 49 | 50 | fn count_neighours(&self, loc: (usize, usize)) -> usize { 51 | DIRECTIONS 52 | .iter() 53 | .filter(|&d| self.at(loc, *d) == State::Occupied) 54 | .count() 55 | } 56 | 57 | fn tick(&self) -> Map { 58 | let mut new = self.clone(); 59 | let (w, h) = self.size(); 60 | for y in 0..h { 61 | for x in 0..w { 62 | new.0[y][x] = match self.0[y][x] { 63 | State::Floor => State::Floor, 64 | State::Empty => match self.count_neighours((x, y)) { 65 | 0 => State::Occupied, 66 | _ => State::Empty, 67 | }, 68 | State::Occupied => match self.count_neighours((x, y)) { 69 | 0 | 1 | 2 | 3 => State::Occupied, 70 | _ => State::Empty, 71 | }, 72 | } 73 | } 74 | } 75 | new 76 | } 77 | } 78 | 79 | fn main() { 80 | let input = std::fs::read_to_string("../input.txt").unwrap(); 81 | let map: Vec> = input 82 | .split("\n") 83 | .filter_map(|l| { 84 | if l.is_empty() { 85 | None 86 | } else { 87 | Some(l.chars().map(State::from).collect()) 88 | } 89 | }) 90 | .collect(); 91 | let mut old_map = Map(map); 92 | 93 | loop { 94 | let map = old_map.tick(); 95 | if map == old_map { 96 | println!( 97 | "{}", 98 | map.0 99 | .into_iter() 100 | .flatten() 101 | .filter(|&s| s == State::Occupied) 102 | .count() 103 | ); 104 | return; 105 | } 106 | old_map = map; 107 | } 108 | } 109 | -------------------------------------------------------------------------------- /day11/b/src/main.rs: -------------------------------------------------------------------------------- 1 | #[derive(Copy, Clone, Eq, PartialEq)] 2 | enum State { 3 | Floor, 4 | Empty, 5 | Occupied, 6 | } 7 | 8 | impl From for State { 9 | fn from(c: char) -> State { 10 | match c { 11 | '.' => State::Floor, 12 | 'L' => State::Empty, 13 | '#' => State::Occupied, 14 | _ => panic!("bad map: {}", c), 15 | } 16 | } 17 | } 18 | 19 | #[derive(Clone, Eq, PartialEq)] 20 | struct Map(Vec>); 21 | 22 | const DIRECTIONS: [(isize, isize); 8] = [ 23 | (-1, -1), 24 | (0, -1), 25 | (1, -1), 26 | (-1, 0), 27 | (1, 0), 28 | (-1, 1), 29 | (0, 1), 30 | (1, 1), 31 | ]; 32 | 33 | impl Map { 34 | fn size(&self) -> (usize, usize) { 35 | (self.0[0].len(), self.0.len()) 36 | } 37 | 38 | fn at(&self, loc: (isize, isize), dir: (isize, isize)) -> Option { 39 | let x: isize = loc.0 + dir.0; 40 | let y: isize = loc.1 + dir.1; 41 | let (w, h) = self.size(); 42 | 43 | if x < 0 || x as usize >= w || y < 0 || y as usize >= h { 44 | None 45 | } else { 46 | Some(self.0[y as usize][x as usize]) 47 | } 48 | } 49 | 50 | fn at_los(&self, loc: (usize, usize), dir: (isize, isize)) -> State { 51 | let (mut x, mut y) = (loc.0 as isize, loc.1 as isize); 52 | while let Some(s) = self.at((x, y), dir) { 53 | match s { 54 | State::Empty | State::Occupied => return s, 55 | State::Floor => { 56 | x += dir.0; 57 | y += dir.1; 58 | } 59 | } 60 | } 61 | State::Floor 62 | } 63 | 64 | fn count_neighours(&self, loc: (usize, usize)) -> usize { 65 | DIRECTIONS 66 | .iter() 67 | .filter(|&d| self.at_los(loc, *d) == State::Occupied) 68 | .count() 69 | } 70 | 71 | fn tick(&self) -> Map { 72 | let mut new = self.clone(); 73 | let (w, h) = self.size(); 74 | for y in 0..h { 75 | for x in 0..w { 76 | new.0[y][x] = match self.0[y][x] { 77 | State::Floor => State::Floor, 78 | State::Empty => match self.count_neighours((x, y)) { 79 | 0 => State::Occupied, 80 | _ => State::Empty, 81 | }, 82 | State::Occupied => match self.count_neighours((x, y)) { 83 | 0 | 1 | 2 | 3 | 4 => State::Occupied, 84 | _ => State::Empty, 85 | }, 86 | } 87 | } 88 | } 89 | new 90 | } 91 | } 92 | 93 | fn main() { 94 | let input = std::fs::read_to_string("../input.txt").unwrap(); 95 | let map: Vec> = input 96 | .split("\n") 97 | .filter_map(|l| { 98 | if l.is_empty() { 99 | None 100 | } else { 101 | Some(l.chars().map(State::from).collect()) 102 | } 103 | }) 104 | .collect(); 105 | let mut old_map = Map(map); 106 | 107 | loop { 108 | let map = old_map.tick(); 109 | if map == old_map { 110 | println!( 111 | "{}", 112 | map.0 113 | .into_iter() 114 | .flatten() 115 | .filter(|&s| s == State::Occupied) 116 | .count() 117 | ); 118 | return; 119 | } 120 | old_map = map; 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /day12/input.txt: -------------------------------------------------------------------------------- 1 | F77 2 | E4 3 | S2 4 | W1 5 | L180 6 | N4 7 | R180 8 | S3 9 | W5 10 | F86 11 | L90 12 | E1 13 | F16 14 | R90 15 | N1 16 | E1 17 | F86 18 | S1 19 | F36 20 | E2 21 | L180 22 | N5 23 | F46 24 | N1 25 | L90 26 | F43 27 | S5 28 | R90 29 | F41 30 | W5 31 | N1 32 | F65 33 | E4 34 | N1 35 | W3 36 | F92 37 | N5 38 | F33 39 | R90 40 | S5 41 | L90 42 | W1 43 | R180 44 | L90 45 | S5 46 | F27 47 | R90 48 | N4 49 | R90 50 | F43 51 | E5 52 | S2 53 | F68 54 | N5 55 | R90 56 | F68 57 | R180 58 | S2 59 | E2 60 | S3 61 | F41 62 | L180 63 | E3 64 | R90 65 | F73 66 | R90 67 | N1 68 | L180 69 | N3 70 | L180 71 | W3 72 | S1 73 | R180 74 | N3 75 | F26 76 | N5 77 | F27 78 | L90 79 | F30 80 | R180 81 | N4 82 | R90 83 | E5 84 | N1 85 | F70 86 | E1 87 | L90 88 | N3 89 | F100 90 | L90 91 | E5 92 | L90 93 | S2 94 | F85 95 | W5 96 | R90 97 | F85 98 | E3 99 | R90 100 | E5 101 | F41 102 | R180 103 | S1 104 | L90 105 | F93 106 | S1 107 | F7 108 | N3 109 | R270 110 | W4 111 | S1 112 | F47 113 | R90 114 | N2 115 | W4 116 | F21 117 | S1 118 | W1 119 | F44 120 | L180 121 | E5 122 | N3 123 | W4 124 | F11 125 | L180 126 | E2 127 | F36 128 | W4 129 | F34 130 | R90 131 | F30 132 | N1 133 | E1 134 | F21 135 | N4 136 | F59 137 | E3 138 | F33 139 | N1 140 | L180 141 | W1 142 | R90 143 | E3 144 | F84 145 | W3 146 | R90 147 | W1 148 | N1 149 | R90 150 | F27 151 | S3 152 | L90 153 | N4 154 | E3 155 | F97 156 | N3 157 | F30 158 | W3 159 | F77 160 | E5 161 | F1 162 | R90 163 | F96 164 | E5 165 | N5 166 | W2 167 | L90 168 | S1 169 | F46 170 | N4 171 | F41 172 | W5 173 | L90 174 | S5 175 | F79 176 | R90 177 | F32 178 | S3 179 | R90 180 | F5 181 | L90 182 | E1 183 | R180 184 | W2 185 | N3 186 | L90 187 | S1 188 | R90 189 | W1 190 | F78 191 | W5 192 | N2 193 | E2 194 | R90 195 | S4 196 | S2 197 | E4 198 | F59 199 | R270 200 | W2 201 | L180 202 | S3 203 | R90 204 | W2 205 | F41 206 | N3 207 | F21 208 | L270 209 | F73 210 | N3 211 | E4 212 | L90 213 | E3 214 | F97 215 | E5 216 | N4 217 | W4 218 | F42 219 | W5 220 | S3 221 | R180 222 | N1 223 | F56 224 | E2 225 | F23 226 | R90 227 | F37 228 | L90 229 | S5 230 | W5 231 | R270 232 | E4 233 | F43 234 | W4 235 | R90 236 | E3 237 | N2 238 | R90 239 | S4 240 | L90 241 | N5 242 | F52 243 | E3 244 | L90 245 | F18 246 | F89 247 | L90 248 | W4 249 | F18 250 | E1 251 | L90 252 | E2 253 | F40 254 | F44 255 | R90 256 | N5 257 | R90 258 | S1 259 | L90 260 | F19 261 | N5 262 | L180 263 | N5 264 | W3 265 | N4 266 | F73 267 | R90 268 | E5 269 | R180 270 | F86 271 | E5 272 | S5 273 | F71 274 | W4 275 | F76 276 | S2 277 | R180 278 | S1 279 | L90 280 | S2 281 | F67 282 | R90 283 | N5 284 | E1 285 | F100 286 | S3 287 | W3 288 | N5 289 | R90 290 | F66 291 | L90 292 | E1 293 | L90 294 | W1 295 | F93 296 | S2 297 | F62 298 | F31 299 | L180 300 | F20 301 | R180 302 | F23 303 | W3 304 | F53 305 | W3 306 | R90 307 | E5 308 | R90 309 | N3 310 | R90 311 | E5 312 | F11 313 | W4 314 | R90 315 | W2 316 | R180 317 | E3 318 | N4 319 | E3 320 | F88 321 | L90 322 | N2 323 | W1 324 | R90 325 | F13 326 | N5 327 | W4 328 | F7 329 | S4 330 | W3 331 | F34 332 | E5 333 | S3 334 | F32 335 | F27 336 | N4 337 | F49 338 | S1 339 | F86 340 | S1 341 | F91 342 | S3 343 | F80 344 | R90 345 | S5 346 | E2 347 | L90 348 | F30 349 | W1 350 | R180 351 | W3 352 | S1 353 | R90 354 | F78 355 | W5 356 | N3 357 | R90 358 | S4 359 | F47 360 | F55 361 | N5 362 | L90 363 | F86 364 | S3 365 | E3 366 | F45 367 | S1 368 | F78 369 | S3 370 | F37 371 | E2 372 | F14 373 | L180 374 | E3 375 | F49 376 | N1 377 | L180 378 | F42 379 | F3 380 | N5 381 | E5 382 | F96 383 | S2 384 | L90 385 | F27 386 | E5 387 | S3 388 | W3 389 | S5 390 | F73 391 | N1 392 | W5 393 | S4 394 | L90 395 | W1 396 | S3 397 | W3 398 | R90 399 | E3 400 | L90 401 | F44 402 | L90 403 | R180 404 | F89 405 | W3 406 | R180 407 | F34 408 | E1 409 | F35 410 | N5 411 | R90 412 | N5 413 | F68 414 | L90 415 | F82 416 | S4 417 | F36 418 | W2 419 | S1 420 | S3 421 | R90 422 | N5 423 | E5 424 | F18 425 | R180 426 | S1 427 | F87 428 | R90 429 | F34 430 | R180 431 | N5 432 | E4 433 | F12 434 | E4 435 | L90 436 | S3 437 | E1 438 | S5 439 | W2 440 | F16 441 | E2 442 | F15 443 | N3 444 | W1 445 | F17 446 | S5 447 | L180 448 | F60 449 | N3 450 | F75 451 | R90 452 | F30 453 | E4 454 | R90 455 | F90 456 | S2 457 | F13 458 | E2 459 | F3 460 | E1 461 | F60 462 | S5 463 | E2 464 | F74 465 | L90 466 | S3 467 | W3 468 | F57 469 | N4 470 | E2 471 | F33 472 | S4 473 | F64 474 | N5 475 | L90 476 | F29 477 | N5 478 | S2 479 | R90 480 | F46 481 | S4 482 | E5 483 | L90 484 | F68 485 | W5 486 | S2 487 | R180 488 | F27 489 | W3 490 | L90 491 | S5 492 | R90 493 | E1 494 | R180 495 | F100 496 | S4 497 | W3 498 | R90 499 | E1 500 | S4 501 | W5 502 | F20 503 | W1 504 | N1 505 | R90 506 | E1 507 | N4 508 | E1 509 | F54 510 | N3 511 | F77 512 | L270 513 | N1 514 | F26 515 | N4 516 | E5 517 | S5 518 | N1 519 | F98 520 | E4 521 | F52 522 | W1 523 | F6 524 | R180 525 | N1 526 | F31 527 | W3 528 | N2 529 | F100 530 | L180 531 | E3 532 | F43 533 | R180 534 | E4 535 | F8 536 | L90 537 | W3 538 | L270 539 | N2 540 | R90 541 | N2 542 | E4 543 | L90 544 | E5 545 | E4 546 | S3 547 | F89 548 | L180 549 | S3 550 | N5 551 | R90 552 | F53 553 | F43 554 | R180 555 | E5 556 | N5 557 | F88 558 | W1 559 | E4 560 | L90 561 | W2 562 | N5 563 | F75 564 | L90 565 | E1 566 | S4 567 | F65 568 | N3 569 | W3 570 | F88 571 | E2 572 | S3 573 | E2 574 | N2 575 | R90 576 | S2 577 | F98 578 | N4 579 | S2 580 | F13 581 | R90 582 | N3 583 | F74 584 | R90 585 | F56 586 | S2 587 | E3 588 | S4 589 | F72 590 | N2 591 | R90 592 | F21 593 | E4 594 | N4 595 | L90 596 | F72 597 | L90 598 | N1 599 | N2 600 | F61 601 | W2 602 | L90 603 | F28 604 | S3 605 | W5 606 | S5 607 | F81 608 | S1 609 | E5 610 | N3 611 | F49 612 | N1 613 | F4 614 | N3 615 | F78 616 | E1 617 | F81 618 | N3 619 | W4 620 | F12 621 | L90 622 | S3 623 | E4 624 | F2 625 | W2 626 | R90 627 | S1 628 | W2 629 | F40 630 | S1 631 | W1 632 | W4 633 | N4 634 | L90 635 | N2 636 | E1 637 | L180 638 | N5 639 | F30 640 | L90 641 | N3 642 | F84 643 | W1 644 | F6 645 | S3 646 | F72 647 | N2 648 | W4 649 | S4 650 | W4 651 | E5 652 | L90 653 | L90 654 | N4 655 | S2 656 | F19 657 | N1 658 | W5 659 | N4 660 | L90 661 | N2 662 | F54 663 | L90 664 | W4 665 | F96 666 | N4 667 | R180 668 | S2 669 | F53 670 | R90 671 | S3 672 | E5 673 | N5 674 | L180 675 | E5 676 | S4 677 | L90 678 | N5 679 | L90 680 | E3 681 | L90 682 | F63 683 | S2 684 | L90 685 | F35 686 | N2 687 | F52 688 | W1 689 | L90 690 | F94 691 | N5 692 | E5 693 | R270 694 | N2 695 | R180 696 | S2 697 | E2 698 | N2 699 | S3 700 | F86 701 | N1 702 | F54 703 | N1 704 | L90 705 | W2 706 | R90 707 | E4 708 | R90 709 | N3 710 | R90 711 | F30 712 | S4 713 | F98 714 | W2 715 | S5 716 | R90 717 | N5 718 | W2 719 | S1 720 | F36 721 | S3 722 | R90 723 | S1 724 | F84 725 | S5 726 | N5 727 | L180 728 | F16 729 | N1 730 | F55 731 | L90 732 | N4 733 | S2 734 | S3 735 | R90 736 | S5 737 | W5 738 | N1 739 | E4 740 | S5 741 | W1 742 | L180 743 | F100 744 | E4 745 | S3 746 | E3 747 | N3 748 | E1 749 | L90 750 | W4 751 | F60 752 | W5 753 | L270 754 | W1 755 | S2 756 | L90 757 | R90 758 | F52 759 | S1 760 | W3 761 | N4 762 | F30 763 | E2 764 | F9 765 | F87 766 | S5 767 | R90 768 | S4 769 | W5 770 | R180 771 | S3 772 | E4 773 | S4 774 | L90 775 | W3 776 | F94 777 | F85 778 | R90 779 | E4 780 | W2 781 | S2 782 | L180 783 | W4 784 | F28 785 | E3 786 | N5 787 | F53 788 | 789 | -------------------------------------------------------------------------------- /day08/input.txt: -------------------------------------------------------------------------------- 1 | acc -5 2 | nop +333 3 | acc +45 4 | jmp +288 5 | acc -9 6 | jmp +1 7 | acc +27 8 | jmp +464 9 | acc +34 10 | jmp +478 11 | jmp +356 12 | acc +10 13 | acc +20 14 | acc +29 15 | acc -10 16 | jmp +359 17 | acc +29 18 | acc +31 19 | acc +36 20 | acc +42 21 | jmp +502 22 | acc +14 23 | jmp +45 24 | jmp +499 25 | acc -19 26 | acc +4 27 | acc +24 28 | nop +460 29 | jmp +465 30 | acc +29 31 | acc +6 32 | acc +25 33 | jmp +355 34 | acc -10 35 | acc +50 36 | jmp -27 37 | acc +46 38 | acc +2 39 | acc -18 40 | acc +8 41 | jmp +85 42 | nop +264 43 | acc +44 44 | jmp +310 45 | acc +23 46 | acc -15 47 | acc -12 48 | jmp +290 49 | acc -5 50 | acc +4 51 | acc -7 52 | jmp +248 53 | acc +23 54 | jmp +434 55 | nop -6 56 | jmp +239 57 | jmp +1 58 | acc -19 59 | jmp +67 60 | acc +40 61 | acc +21 62 | acc +24 63 | jmp +366 64 | acc +38 65 | acc +15 66 | acc -2 67 | jmp +542 68 | acc +27 69 | acc +21 70 | acc +44 71 | acc +31 72 | jmp -60 73 | jmp -51 74 | acc +14 75 | jmp +254 76 | acc +43 77 | acc -3 78 | acc +30 79 | jmp -5 80 | acc +12 81 | jmp +330 82 | acc +4 83 | jmp +81 84 | nop +107 85 | acc -12 86 | nop +98 87 | jmp +467 88 | jmp +111 89 | acc +0 90 | acc +48 91 | acc -4 92 | jmp +184 93 | jmp +310 94 | acc +5 95 | acc +1 96 | acc +49 97 | jmp +477 98 | jmp +279 99 | acc +12 100 | acc -7 101 | nop +51 102 | jmp +125 103 | jmp +1 104 | acc -6 105 | acc -19 106 | acc -10 107 | jmp +109 108 | acc +28 109 | acc +4 110 | jmp +422 111 | acc +12 112 | jmp +152 113 | jmp -71 114 | acc -8 115 | nop +252 116 | nop +303 117 | jmp -4 118 | acc +1 119 | jmp +200 120 | acc -2 121 | jmp +453 122 | jmp +443 123 | acc +5 124 | acc -18 125 | jmp +304 126 | jmp +414 127 | acc +15 128 | jmp +271 129 | acc +22 130 | jmp +371 131 | acc +29 132 | acc +29 133 | acc -17 134 | jmp +166 135 | jmp +49 136 | acc -4 137 | acc -6 138 | jmp +461 139 | acc +21 140 | acc +49 141 | jmp +458 142 | acc +27 143 | acc +3 144 | acc -12 145 | jmp +7 146 | jmp +216 147 | nop +385 148 | acc +0 149 | acc +11 150 | acc +13 151 | jmp +343 152 | nop +273 153 | acc +38 154 | acc -2 155 | jmp +61 156 | nop +8 157 | jmp +135 158 | acc +13 159 | acc +46 160 | jmp +239 161 | acc +38 162 | acc +6 163 | jmp +225 164 | nop +337 165 | jmp +66 166 | acc +49 167 | acc +10 168 | jmp +167 169 | acc -18 170 | acc +32 171 | jmp +107 172 | nop +195 173 | acc +39 174 | jmp +391 175 | acc +13 176 | jmp +227 177 | jmp +71 178 | nop +340 179 | acc +30 180 | jmp +19 181 | acc +42 182 | acc +34 183 | jmp +349 184 | acc +46 185 | jmp -130 186 | nop +383 187 | acc +45 188 | acc -17 189 | acc +13 190 | jmp +354 191 | acc +39 192 | acc +26 193 | nop +55 194 | jmp -100 195 | acc -16 196 | acc +13 197 | acc -1 198 | jmp +395 199 | acc +33 200 | nop +106 201 | acc -14 202 | acc -7 203 | jmp -74 204 | acc +0 205 | acc -8 206 | jmp -28 207 | nop +265 208 | acc +27 209 | acc +30 210 | acc +23 211 | jmp -112 212 | acc +22 213 | acc +7 214 | acc +2 215 | jmp +71 216 | acc -6 217 | acc +15 218 | nop -89 219 | acc +24 220 | jmp +92 221 | jmp +353 222 | jmp -104 223 | acc +19 224 | acc +12 225 | acc +12 226 | jmp -132 227 | acc +20 228 | acc +27 229 | jmp -60 230 | jmp -170 231 | acc +13 232 | acc +15 233 | jmp +114 234 | acc +3 235 | acc +13 236 | acc -16 237 | acc +50 238 | jmp +124 239 | acc +28 240 | acc -10 241 | acc +0 242 | acc +21 243 | jmp +192 244 | acc +2 245 | acc +17 246 | acc +18 247 | jmp +318 248 | acc +41 249 | acc +34 250 | acc +0 251 | acc -5 252 | jmp +17 253 | nop -131 254 | acc +29 255 | acc +46 256 | nop +238 257 | jmp +172 258 | jmp +1 259 | acc +14 260 | acc +32 261 | acc -15 262 | jmp +331 263 | jmp +209 264 | jmp +189 265 | acc +1 266 | nop +163 267 | acc +46 268 | jmp -77 269 | acc +0 270 | jmp -131 271 | acc +21 272 | acc +8 273 | acc +26 274 | acc +12 275 | jmp +72 276 | jmp +258 277 | jmp +183 278 | acc +17 279 | acc -12 280 | acc +15 281 | jmp +5 282 | nop +85 283 | acc +23 284 | acc +40 285 | jmp +53 286 | acc +24 287 | jmp +257 288 | acc -10 289 | acc +34 290 | acc +49 291 | jmp -178 292 | acc +28 293 | jmp +164 294 | jmp +250 295 | acc -14 296 | acc +32 297 | acc +13 298 | jmp +96 299 | jmp -290 300 | acc -19 301 | jmp -276 302 | acc -15 303 | nop +271 304 | acc -16 305 | jmp +264 306 | acc +36 307 | jmp -172 308 | acc -11 309 | acc +33 310 | nop -261 311 | jmp +77 312 | nop +70 313 | acc +6 314 | nop -98 315 | acc +8 316 | jmp -158 317 | acc +37 318 | jmp +17 319 | acc -2 320 | acc -13 321 | jmp -52 322 | acc -9 323 | jmp -116 324 | acc +18 325 | acc +9 326 | acc -12 327 | jmp +8 328 | jmp +226 329 | jmp +284 330 | acc -2 331 | nop +44 332 | nop -320 333 | nop -259 334 | jmp -312 335 | jmp -286 336 | acc +18 337 | jmp +224 338 | acc +46 339 | acc +29 340 | jmp +1 341 | acc +18 342 | jmp +123 343 | acc +31 344 | nop -209 345 | nop -39 346 | jmp -171 347 | acc -12 348 | jmp -53 349 | acc +19 350 | acc +42 351 | nop -317 352 | acc -6 353 | jmp -122 354 | jmp -90 355 | jmp +1 356 | jmp -248 357 | acc +0 358 | jmp -34 359 | acc +33 360 | acc -8 361 | jmp -312 362 | acc +47 363 | acc -10 364 | acc -4 365 | jmp -281 366 | jmp +106 367 | acc -17 368 | acc +0 369 | acc +17 370 | nop +229 371 | jmp +54 372 | acc +31 373 | acc +23 374 | jmp -88 375 | jmp -301 376 | jmp +105 377 | jmp -264 378 | acc -9 379 | acc -17 380 | acc +25 381 | jmp +120 382 | jmp -274 383 | jmp +140 384 | nop +35 385 | jmp -146 386 | acc +31 387 | jmp -63 388 | acc +14 389 | acc +45 390 | acc +48 391 | acc +7 392 | jmp -246 393 | jmp +108 394 | acc +18 395 | acc -8 396 | jmp -12 397 | acc +6 398 | jmp +163 399 | nop -80 400 | nop -340 401 | jmp -63 402 | jmp -126 403 | acc +26 404 | acc +6 405 | acc +5 406 | acc -2 407 | jmp +111 408 | acc +47 409 | acc +20 410 | jmp +39 411 | acc +38 412 | acc +3 413 | acc -13 414 | acc +27 415 | jmp -263 416 | nop +9 417 | acc +50 418 | jmp -149 419 | acc -18 420 | jmp -245 421 | acc +2 422 | acc +40 423 | acc -4 424 | jmp -302 425 | acc +10 426 | acc +20 427 | jmp -220 428 | jmp -93 429 | nop +43 430 | acc -18 431 | acc +6 432 | jmp +1 433 | jmp -307 434 | jmp +75 435 | jmp -177 436 | acc +8 437 | acc +31 438 | acc +47 439 | jmp -321 440 | acc +22 441 | jmp +1 442 | acc +9 443 | acc +32 444 | jmp -56 445 | acc -13 446 | nop -140 447 | acc +24 448 | jmp -368 449 | jmp -285 450 | acc +38 451 | acc +32 452 | jmp +1 453 | jmp -205 454 | acc +47 455 | acc +21 456 | jmp -304 457 | jmp -17 458 | acc +9 459 | jmp -399 460 | nop -233 461 | acc +18 462 | jmp -63 463 | acc +45 464 | jmp -335 465 | acc +35 466 | acc +9 467 | acc -12 468 | jmp -19 469 | acc +8 470 | acc +48 471 | jmp -179 472 | acc +37 473 | acc +15 474 | jmp -182 475 | acc +2 476 | acc +22 477 | acc +7 478 | jmp -271 479 | jmp -288 480 | jmp -345 481 | acc +21 482 | nop -107 483 | acc +17 484 | jmp -462 485 | acc +41 486 | jmp +1 487 | jmp -158 488 | nop -310 489 | acc +38 490 | nop +28 491 | acc +24 492 | jmp -32 493 | jmp -375 494 | acc +20 495 | acc +15 496 | acc +11 497 | acc -3 498 | jmp -186 499 | acc -15 500 | jmp -40 501 | acc +38 502 | acc +27 503 | acc +50 504 | acc +8 505 | jmp -406 506 | acc +15 507 | acc +39 508 | jmp -409 509 | nop -396 510 | acc -14 511 | acc -5 512 | jmp -40 513 | nop -156 514 | acc +3 515 | acc -3 516 | acc +22 517 | jmp -16 518 | acc +9 519 | jmp +68 520 | nop -109 521 | acc +18 522 | jmp -198 523 | nop -455 524 | nop -195 525 | jmp +1 526 | nop -3 527 | jmp -46 528 | acc +40 529 | acc +26 530 | acc +47 531 | jmp -509 532 | jmp -92 533 | jmp -166 534 | nop -335 535 | acc +6 536 | acc +1 537 | acc +28 538 | jmp +44 539 | jmp -79 540 | acc -18 541 | acc +13 542 | jmp -10 543 | jmp +66 544 | acc +29 545 | acc +34 546 | jmp +1 547 | acc +44 548 | jmp -129 549 | acc -5 550 | acc +41 551 | acc +48 552 | acc +28 553 | jmp +16 554 | acc -1 555 | acc +30 556 | acc -4 557 | jmp +52 558 | acc +1 559 | acc +37 560 | jmp -312 561 | acc +14 562 | nop -340 563 | jmp -341 564 | jmp -55 565 | nop -366 566 | acc +14 567 | jmp -185 568 | jmp -450 569 | acc -4 570 | acc -4 571 | acc +37 572 | jmp -93 573 | jmp -170 574 | jmp +1 575 | acc -13 576 | acc +47 577 | acc +29 578 | jmp -456 579 | acc -12 580 | acc -9 581 | jmp -397 582 | acc -11 583 | acc +6 584 | jmp -207 585 | acc +18 586 | jmp -387 587 | nop -268 588 | acc +40 589 | acc +26 590 | jmp -21 591 | acc +47 592 | jmp -91 593 | acc -15 594 | jmp -227 595 | nop -466 596 | acc +4 597 | acc -19 598 | jmp -231 599 | acc +29 600 | acc +15 601 | acc +0 602 | acc +35 603 | jmp -303 604 | acc +28 605 | acc +36 606 | acc +34 607 | acc -11 608 | jmp -168 609 | acc +48 610 | jmp -521 611 | acc +28 612 | jmp -25 613 | acc +47 614 | acc +16 615 | acc -13 616 | acc +11 617 | jmp +1 618 | 619 | -------------------------------------------------------------------------------- /day11/input.txt: -------------------------------------------------------------------------------- 1 | LLLLL.LLLL.LLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLLLLL.LL.LLLLLLLLL.LLL 2 | LLLLLLLL.L.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLL.LLL.LLL.LLLLL.LLLL.L..LLLLLL.LLLLLLLL 3 | LLLLLLLLLLLLLLLLLLLLLLLLLLL.LL.LLLLLLLLLLLLLL..LLLLLLLL.L.LLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL 4 | LLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLL.LLL.LLLLL.LL 5 | LLLLLLLLLL.LLLLL.LLL.LLLLLL.LLLLLLL..LLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLL.LLLLLL..LLLLLL.LLLLLLLL 6 | LLLLLLLLLL..LLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLL.LL.LLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLL.L 7 | L.LL.L...LL......LLL........LL...L.L.L...L...L....L........LL......L.............LL..LL.L...L 8 | LLLLLLLLL..LL.LLLL.L.LL.LLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL 9 | LLLLLL.LLL.LLLLLLL.LLLLLLLL.LLLLLLL.LLLLLL.LL.LLLLLLLLL.L.LLLLL.LLLLL.L.LLLL.LLLLLLLLLLLLLLLL 10 | LLLLLLLLLL.L.LLLLLLLLL.LLL..LLLLLLL.LLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLL.LLLLLL.LLLLLLL.LLLLLLLL 11 | LLLLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL.L.LLLL.LLLLLLL.LLLLLLLL 12 | LLLLLLLL.L.LLLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL.LLLLLLL.L.LLLLLLLLLL.LLLLLLLLLLLLLL.L 13 | ...L..L..L..L...L..L...L............L......L.....L...LLL.........L..L.LL.LL.LL.LLLL.......... 14 | LLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLL.LLL.LLL.LLLLLLLL 15 | LL.LLLLLL..LLLLLLL.LLL.LLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLLL.LLLLL.LLLLLLLL.LLLLLLLL 16 | LLLLLLLLLLLLLLLLLL.LLLLLLLL.L.LLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLL.LL.LL.LLLLLLLLLLLLLLLLLL.LLLL 17 | LLLLLLLLLL.LLLLLLL.LLLLLLLL..LLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.L.LL.LLLLL 18 | LLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLL.LL.LLLLLLLLL.LLLLLLL.LL.LL.LLL.LLLLLLLLLL.LLLLLLLL 19 | LLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLL.LL.LLLLL.LLLLLL.LLLLLLL.LLL.LLLL 20 | LLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LL.LLLLLLL.LL.LLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLL 21 | LLLLLL.LLL..LL.LLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLL 22 | LLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLL.LLLL.LLL.LLLLLLLL..LLLLLLLLLLLLLLLLLL.LLLLLLLLL 23 | .LL...L......LLL.....L..LL..L.....L.LLLL.L......L.......L...L....L.L..L..LL.L.L.....L.L...... 24 | LLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LL.LLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLL.LLL.LL.LLLLL 25 | LLLLLLLLLL.LL.LLLL.LLLLLLLLLLLLL.LL.LLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLL..LLLLLLLL.LL.LL.LLLLLLLL 26 | LLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLL.LLLLLLL.L..LLLLLLLLL.LLLLLLLLLLLLLLLL 27 | LLLLLLLLLL.LL.LLLL.LLLLLLLLLLLLLLLL.LLLLLL.LL.LLLLLLLLLLLLLLLLL.LLLLL.LLLLLL.LLLLLLLLLLLLLLLL 28 | LLLLLLLLLLLLLLLLLL.LLLLLLLL.LLL.LLL.LLLL.LLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLL..LLLLLLL 29 | LLLLLLLLLL.LLLLLLLLLLLL.LLL.LLLLLLLLLLLLLLLLLLLLLLL.LLL.LLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLL.L 30 | LLLLLL.LLLLLLLLLLLLLLLLLLLL.LLL.LLLLLLLLLLLLL.LLLLLLLLL.L.L.LLL.LLLLL..LLLLLLLLLLLLL.LLLLLLLL 31 | LLLLLL.LLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLL..LLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLL.LLL.LLLLLLLL 32 | LLLLL...L..L.L..L.L..LL..L..L...L.LL.LLLLL.L...........L....LLLLLL..L..L..L.LL.LL...LL.L..... 33 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.L.LLLLLLLLLLL.LLLL 34 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL..LLLLL.LLLLLLLLLL.LLLLL.LLLLLL.LLLLLLL.LLLLLLLL 35 | L.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLL..LLLLL.LL.LLLLLLLLLL.LLLLLLL.LLLLL.LLLLLL.LLLLLL..LLLLLLLL 36 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL..LLLLLLLL.LLLLLLL.LLLLL.LL.LLL.LLLL.LL.LL.LLLLL 37 | .L....L.L.L...LL..L.L.LL..L.LL..LL..LLL.LL..L..L.LL..L.......L.....L...LL......LLLL...L.....L 38 | LLLLLLLLLL.LLLLLLLLLLLL.L.L.LLL.LLL.LLLL..LLL.LLLLL.LLL.LLLLLLLLLLLL..LLLLLLLLLLLLLL..LLLLLLL 39 | LLLLLLLLLL.LLLLLLL.LLLLLLLL.LL.LLLL.LLLL.LLLLLLLLL.LLLL.LLLLLLL.LLLLL.LLLLL..LLLLLL.LLLLLLLLL 40 | LLLLLLLLLL.LLL.LLLLL.LLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL 41 | LLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLL.LLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLL 42 | LLLLLLLLL..LLLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLL.LLLLLLLLL.LLLLLLL.L.LLL.LLLLLLLLLLLLLLLLLLLLLLL 43 | LLLLLLLLLLLLLL.LLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLL..LLLLLLLL 44 | L......LLLL...LLL.L..L.LL...LL.L.....L.LL...L...LL..LL..LLL..L.L.LLL..L..L...L.LLL..L....L... 45 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL..LLLLLLLL.LLLLLLLLL.LL..LLLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLL 46 | LLLLLLLLLL..LLLLLL..LLLLLLL..LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLL.L.LLLLLL 47 | LLLLLLLLLLLLLLLLLL.LLLLLLLLLLL..LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLL 48 | LLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLL.LLLLL 49 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.L.LLL.LLLLLL.LLL.LLL.LL.LLLLL 50 | ..LL.LLLLL.L...L...LL.......L.........LL..L.LLL.....LL..L.L.LL..L..L.L..L.L..L...L.L.......LL 51 | LLLLLLLLLL.LLL.L.L.LLLLLLLLLLL.LL.L.LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLL.LLLLLLLLLLLLLLLLL 52 | LLLLLLLLLL.LLLL.LLLLLL..LLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLLL.L..LLLLL 53 | LLLLLLLLLLLLLLLLLLL..LLLLLLLL.LL.LL.LL.LLLLLL.LLLL.LLLLLLLL..LL.LLLLLLLLLLLL.LLLLLLL.L.LLLLLL 54 | LLLLLLLLL..LLLLLLL.LLLLLL.LLLLLLLLLLLLLLL.L.LLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLL 55 | LLLLLLLLLL.LLLLLLL.LLLLL..LLLLLLLLLLLL.LLLLLL.LLLLL.LLL.LLLLLLL.LLLLL.LLLLL..LLLLLLL.LLLLLLLL 56 | LLLLLLLL..LLLLLLLL.LLLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLLLLL.LLLLLLL.LLLLL.LLLLLL.LLLLLLL.LLLLLLLL 57 | LLLLLLLLLL.LLLL.LL.LLLL.LLL.LLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLL.LLLLLL.LLLLLLL..LLLLL.L 58 | LL...LL........L.L....L..L....LLL.L...LL.L......L.LL..L...L.L.L.L....L..L.L...L.L.L....L.L..L 59 | LLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.L.LLLLLLLL.LLLLLLLL.LLLLLL..LLLLLLL.LLLL.LLLLLLL.LLLLLLLL 60 | LLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LL.LLLLLLLLLLLLL 61 | LLLLLLLLL..LLLLLLL.LLLLL.LLLLLLL.LL.LLLLLLLLL.LLLLL.LLL.LLLLLLL..LLLL.LLL.LL.LLLLLLL.LLLLLLLL 62 | LL.LLLLLLL.LLLLLLL.LLLLL.LL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL 63 | L.LL.LLLLLLLLLLLLL.LLLLLLLL.LL.L.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLL..LLLLLLL.LLLLLLLL 64 | LLLLL.LLLL.LLLLLLL.LLLLLLLL.L.L.LL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLL.LLLLLLLLLLLLLLLL 65 | LLLLLLLLLL.LLLLLLLLLLLLL.LL.LLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLL.L.LLLL.LL.LL.LLLLL 66 | ...L.....L............L...L.LL.L.L.L.L...LLL.L.LL.......LL.L.LLLL..LL......L...LLL..L....L... 67 | LLLLLLLL.L.LLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLL.LLLLLLLLLLLLLLL..LLLLLLLLLLL.L.LLLLLLLLLLLLLLLL 68 | LLLLLLL..LLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLL.LLLLLL.LLLLLLL.LLLLLLLL 69 | .LL.LLLL.L.LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLL..LL.LL.L.LLLLL.LLLLLLLLLLLLLL.LLLLLLLL 70 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL..LLLLLLLL.LLL.LLLLLLLLLLLLL.L.LLL.LLLLLL.L.LLLLL.LLLLLLL. 71 | LLLLLLLLLLLL.L.LLL.LLLLLLLL.LL.LLLL.LLLLLLLLL.LLL.L.LLL.LLLLLLL.LLLLLLLLLLLL.LLLLLL..LLLLL..L 72 | .L..LL.......L..L..L.L........LL...LL.LLLLL........L.LLL......L..L.....L.LL....LLL.....LLL.L. 73 | .LLLLLLL.L.LLLLL.L.LLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL..LLLLLLLLLLL.LLLLLLL.LLLLLLLL 74 | LLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLL.L.LLLLLLLLLLLL.LLLLLLLL 75 | LLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLL.LLL.LLLLLLLLLLLL 76 | LLLLLLLLLLLLLLLLLL.LL.LL.LL.LLLLLLL.LLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL 77 | LLL.LLLLLL.LLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLL..LLLLLLLLLLL.LLLLLLL.LLLLLLLL 78 | LLLLL.LLLLLLLLLLLL.LL.LLLLL.LLLLL.L.LLLLLL.L..LLLLLLLL..LLLL.LLL.LLLLLLLLLLL.LLLLLLLLLLLL.LLL 79 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLL 80 | LL..L....L...L.L........L.L....L..L..L...L..L..L........L...LLL..L.LL..L........LL..........L 81 | LLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLL.L.LLLLLLLLL.LLLL.LL.LLLLL.LLLLLLLLLLL.LL.LLLLLLL. 82 | LLLLLLLLLL.LLLLLLL.LLLLLL.L.LL.L.LL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL 83 | LLLLLLLLLL.LLLLLLL.LLLLLL.LLL.LLL.L.LLLLLLLLL.LLLLLL.LL.LLLLLL..LLLLL.LLLLLL.LLL.LLLLLLLLLLLL 84 | LLLLLLL.LL.LLLL.LL.LLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLL.LLLLLLLL 85 | .LL.LLLLLLL.LLLLLLLLLLL.LLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLL.LL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLL 86 | LL.LLLLLLLLLLLLLLL.LLLLLLL..LLLLLLLLLLLLLLLLL.LLLLLLLLL..LLLL.L.LLLLLLLLLLLLLL.LLLLL.LLLLLLLL 87 | .....L.....LLLL......LL.L...LL...L..L........L...L..LL..LL.LL.LL..LL...L.......L..LLL..L...LL 88 | LLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLL.LLLLLLL.L.LLL.LLLLLL.LLLLLL..LLLLLLLL 89 | .LLLLLLL.L.LL.LL.L.LLLLL.L..LLLLLLLLLLLLLLLLLLLLLLLL.LL.LLLLLLLLLLLLL.LLLLLL.LLLL.LL.LLLLLLLL 90 | LLLLLLLLLL..LLLLLL.LLLLLLLL.LLLLLLL..LLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLLLLLL.LL.LLL.LL.LLLL. 91 | LLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLL.LLL.LL.LL.LLLLL.LLL.LLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLL 92 | LLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLL.LLLL.LL.LLL.L.LLL.LLLLLLL.LLL.L.LLLL.LLLLLLLLL.LLLLLLLL 93 | ..L...LLL..LL...L.L.LLLL..L.L...L..LLL...L...LLL.....L.....LL.L....L....L.L..L.L.L....L..L..L 94 | LLLLLLLLLLLLLLLLLL.LLL.LLLL.LLLLLLL.LLLLLLLLL.LL.LLLL.LLLLL.L.L.LLLLL.LLLLLL.LLL.LLL.LLLLLL.L 95 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.LL.LL.L.LLLLLLLLL..LL.LLLLL.LLLLLLLLLLL.L.L.L.LL.LLLLLLL.LLLLLLLL 96 | LLLLLLLLLL.LLLLLLL.LLLLLL.LLLLLL.LL.LLLLLLLLLLLLLLLLLLL.LL.LL.L.LLLLL.LLLLLLLLL.LLLL.LLLLLLLL 97 | LLLLLLLLLL..LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.L.LLLLLLL.LLLLLLLLLLLL.LLLLLLL..LLLLLLL 98 | LL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLL.LLLLLL.LLL..LL.LLLLLLLL 99 | 100 | -------------------------------------------------------------------------------- /day03/input.txt: -------------------------------------------------------------------------------- 1 | ......#...........#...#........ 2 | .#.....#...##.......#.....##... 3 | ......#.#....#................. 4 | ..............#.#.......#...... 5 | .....#.#...##...#.#..#..#..#..# 6 | .......##...#..#...........#... 7 | .......#.##.#...#.#.........#.. 8 | ..#...##............##......#.# 9 | .......#.......##......##.##.#. 10 | ...#...#........#....#........# 11 | #............###.#......#.....# 12 | ..#........#....#..#..........# 13 | ..#..##....#......#..#......#.. 14 | ........#......#......#..#..#.. 15 | ..#...#....#..##.......#.#..... 16 | .....#.#......#..#....#.##.#..# 17 | ......###.....#..#..........#.. 18 | .#................#.#.......... 19 | .........#..#...#......##...... 20 | ##...#....#...#.#...#.##..#.... 21 | ...##...#....#.........###..... 22 | .#.#....#.........##........... 23 | ....#.#..#..#...........#...... 24 | ..#..#.#....#....#...#......... 25 | ..........##.....#.##.......... 26 | ..#.#....#..##......#.#.....##. 27 | ..#...#.##......#..........#... 28 | ......#....#..#.....#.....#...# 29 | #.#...##.#.##.........#..#..... 30 | ...#.#.#.........#.....#.#.#... 31 | ..#.........#...............#.. 32 | #..##.....#.........#....#..... 33 | ...#....##..##...........##..#. 34 | ......##.................#.#... 35 | ##.......#....#.#.#.....#...... 36 | ....#.#...#.................##. 37 | #...#.........##.....#......... 38 | #....#.###..#.....##.#....#.... 39 | #..#....#...#....#.#.#......... 40 | .......#...........#....#.....# 41 | #...#.............#........#... 42 | .......#.....#...#..#.........# 43 | .##.....##.....##.......#...... 44 | ....##...##.......#..#.#.....#. 45 | .##.........#......#........##. 46 | .......#...#...###.#..#........ 47 | ..#..###......##..##........... 48 | .#..#......##..#.#.........#... 49 | ...#.......#........#...#.#.... 50 | ...#....#..#....#.....##....... 51 | ............#......#..........# 52 | .#.......#......#.#....#..#.#.. 53 | ##.........#.#.#..........#.... 54 | ....##.....#................... 55 | .......#..#........#........... 56 | ....##.#..#......###.......#... 57 | ....#....#...#.#......#...#...# 58 | .......#.....##..#....#...#.... 59 | #...#........#.........#..##... 60 | ...........##.........#.#...#.. 61 | ....................#....#.##.. 62 | .#..#..#.........#....#..#..##. 63 | ......................#........ 64 | ..###....#.......#.....###.##.. 65 | ......#......#.......#.....#..# 66 | .....#...#.##...#......#....#.. 67 | .....#.....##.............#.... 68 | ....#......##..#....#.......#.. 69 | .##....#..##......###....#..#.. 70 | ...###.#.............##...#.#.. 71 | .....#.....#.....#...#..#.#.... 72 | ..#.#.....###......#.......#... 73 | ..........#.##......#.........# 74 | ..##..#.......................# 75 | ........#......#............#.. 76 | #..#..#..#.#......#..#....#.... 77 | ...##......#.............#....# 78 | ...........#..#..##.......#.... 79 | .....#.........#.#..#.......... 80 | ##...#.......#.#....#..#..#.... 81 | #.#.#...........#.##.#.#..###.. 82 | #..#...........#.........##.... 83 | ............#.#..............#. 84 | .#....#....##.#...........#..#. 85 | ....#...#..#...#....#....#..... 86 | ....#....#...#..#......#....... 87 | .#.#.........#.......#.##...... 88 | .#..##...#........#...........# 89 | ##...#..#...#...#.....#...#.... 90 | ....###.#..#.......##.#..#...#. 91 | ...##.......####...##.#........ 92 | #....#....#.#............#..#.. 93 | #.#.#...#...................##. 94 | ##......#...........#.......... 95 | #..#..#....#.#...#......#...... 96 | .##...#.....#...#........#..... 97 | ..#............#..............# 98 | ###........#..#....#...#......# 99 | ###..##......#.##...........#.. 100 | ........#......#..#.....#...... 101 | ...#..........#..#...........#. 102 | ....#..#..#....#........#....#. 103 | .#.................#####..##..# 104 | .....#...##..#..........#.##... 105 | ..#..............#...####...... 106 | .....#.##..................#.#. 107 | ...#.#..#..#........#.......... 108 | ...........#....#.#..#......... 109 | .....##.......#......#..#.#.#.. 110 | ...#.............##...#........ 111 | ...............#.......##.##.## 112 | .....#........#........#.#..#.. 113 | ...#..#.........#...##...###... 114 | ...#.#.............###.#.....#. 115 | .#..........#......###.#.#..... 116 | ....##..##.............###..... 117 | ..#..#.#...##...#.......##..... 118 | ..........###........#.....#.#. 119 | #.#....#..#..#......#...#...#.. 120 | .........#......##.......#.#..# 121 | ...#.....#.........##..#..#.... 122 | .....##.#..##.##..##........... 123 | ...#.#.##....#..#..#......#..#. 124 | #....#....#.............#...##. 125 | #......#..#.####.#.##.#....##.. 126 | ##.#.#....##..................# 127 | .....##......#.......##.......# 128 | ..#......#.#..#...##......##... 129 | ..#....##....#.........#..##... 130 | .###.....#....##...........#... 131 | .........#......#.#........#... 132 | ...#...#..#.#....######.#..#... 133 | ###......#.#.#.........##.#.... 134 | .....#...#.........#...#....... 135 | ....#.............#.#.........# 136 | ..##...#...#.......#......#.... 137 | .....#...#.#...#...#..#........ 138 | .#......#...................... 139 | ...###..#..#....#...##.#....... 140 | .#.#.....##...#...#.....#...##. 141 | .....###..###....##............ 142 | .....##....#..#.....#.##....... 143 | #........#.........#...#..#.... 144 | ...#.#.........#..#.......#.#.. 145 | ....#.#....##.....#..........#. 146 | .#..#....#..#.#..#..#.........# 147 | #...#....#..............#...... 148 | .........#.....#.##...##...###. 149 | .....#....##............#..#... 150 | .....#.#...........#..#....#... 151 | .#..........#...#......#.....#. 152 | .#...........#.....#..#........ 153 | ..............#......##...#..#. 154 | ...#.........#..#....#..##...## 155 | ..##...#..................#.... 156 | #.....#.................#...... 157 | ...#......#..#..........#.#.... 158 | ......#..#.....#.....##...#..#. 159 | ......#........#..........#.... 160 | ...##.##....#..##.#..........#. 161 | ..........#..#.#.##............ 162 | ..##........................#.. 163 | .....#.#.#......#....#....##... 164 | #....#.........#........#...... 165 | .##.......#...#...#........##.. 166 | ....##......#....#.#..........# 167 | ..#.......#..............#..... 168 | .....#......#.#...#..#.#.#....# 169 | .....#..#........#.##.##....... 170 | ##........#..........#......... 171 | .....#..##....#.#......###..##. 172 | #.#...##.........#.#.....#..#.. 173 | #....#.#...#........#.....#..#. 174 | ........................#...... 175 | ....###......#............#...# 176 | ...#..##......#..##.........#.. 177 | .............#...#......#..#..# 178 | ....#......#....#...........#.. 179 | ..#.#.####.#.....##........#..# 180 | #..#...#..#..#.......#.#..#.... 181 | ..#..#..#....#.#.........##..#. 182 | .......#......#.#............#. 183 | ...#.............#.#.....#..... 184 | ...#.#.........##...#.#.......# 185 | ........#...#...........##...#. 186 | ..........#....#......#....##.. 187 | ..........#...........#........ 188 | ...#..#...#..........#......#.. 189 | ......#......#....#.....#..#.#. 190 | ........##.................#..# 191 | .#........#.#...........#...... 192 | #...#........#.#.#.....#.#.#... 193 | .........#........#..#..#....#. 194 | ##........#..........#....#..#. 195 | .#.##...........#..#.#..##....# 196 | .......#.#....#..#......#...... 197 | ..#.....#........##..#......### 198 | ..#...#..................#....# 199 | ......#...#..#.##.......#...... 200 | ........#...#.#................ 201 | .........#............#........ 202 | ..#.....##....#.#..##.......... 203 | #.....#..........#....#........ 204 | ....#.#...#...##....#.....##... 205 | ..#.#.......#.............#...# 206 | ...##..............#......#.... 207 | #......#...#................##. 208 | .#.#...#.#..#.................. 209 | ...##.......#...........#.#.#.. 210 | #......#.#.#........#.##...#### 211 | .......#..#.#.........#.#.##..# 212 | ..............#....#.........#. 213 | ...........#.#..#....##......#. 214 | #.............#...##..#.......# 215 | .........#............#...#.##. 216 | .......#.........#.#.....#..#.. 217 | ........................#.#.##. 218 | #......#.#......#.........#.... 219 | ...#.......#.......#.....#..... 220 | #..#....#................#...#. 221 | ........#.#..##......#......... 222 | #..#...##....##....##.........# 223 | .......#...#...###............. 224 | #.#..#........#.#.#............ 225 | #.....#........##.........#.#.. 226 | .#..........#....#.#....###.... 227 | .#.....#...#.#........#..#.##.. 228 | ...#.##......#..#.............# 229 | ..##..#.#...................#.. 230 | .....#....#...#.#...#...#...... 231 | .....#..#.#....#.#............. 232 | #.#....#.#.##..###..........#.. 233 | ........#.#.............#..#... 234 | .........#.......#............. 235 | .##.#............##...#........ 236 | ......#................#....... 237 | ...............#..#...........# 238 | ...#.......#...#.##.....#....#. 239 | ##..##..#..........#........... 240 | .##.#.......#...#..#...#...#... 241 | ....#..#...........#....#.##... 242 | .#........#........#....#...... 243 | .......#...#.##.#..#.#..#...... 244 | .#..#......#....#...##....#.#.. 245 | ......#...##.#.....##.###.....# 246 | .#....#..#......#...#.#.....#.. 247 | #............#....##...##.##... 248 | #...#.#....#...#.......##...##. 249 | #...........#.##..#....#.....#. 250 | ...#..#...#.........#.......#.. 251 | .#....#.....#............#.#..# 252 | .#.....#.#...#.#....##......### 253 | ..#..#.#.#...#..#.............# 254 | ...#...#..#....#........#...##. 255 | .......#.....#...##...........# 256 | #.##.................#...##...# 257 | ..............##........#.....# 258 | ............#...#..#.......#.#. 259 | #.#.....#.........#...#......#. 260 | #.###..#......#..#..#...#.....# 261 | .....#.......#................. 262 | ........#..#......#.#...#...... 263 | #.......#..#........#...#..#... 264 | ..#...#.......##.............#. 265 | #.......#.......##...#......... 266 | .........#....#.#..##.....#...# 267 | ..#.....#.#.......#....#....... 268 | ...#.......#.....#..##.#..#.... 269 | ....#.......#.#.#.............. 270 | .#..#......#........#.#..##..## 271 | ....#...#.##.#...#....##...#... 272 | #..##..#.....#.......#......... 273 | ....#..#..#.#............#..... 274 | #.......##...##..##............ 275 | ............................... 276 | ....#.......#.##...#.....#.#... 277 | ...#........#....#.#..#..#..... 278 | ##.......#.....##.#.#....#....# 279 | #.............#...........#.##. 280 | #...........#.#..........#..... 281 | #..#....#....#.#.........#.#... 282 | ......#.#.#..#.#.#............. 283 | ...#.....#........##....#...... 284 | ..#...#...#.#.......#......#... 285 | .##........#...#..#..........#. 286 | ..#...........#..##.....##..... 287 | ............#..#.#...#.....#... 288 | ..........#....##.......#...... 289 | ....#....#.................#..# 290 | ....#...............#.........# 291 | ..#.#...#......#..........##... 292 | .....#...........#.........#..# 293 | .......#.....##.....#.#........ 294 | .#.#..........#....#........... 295 | .#..##....#........#....#...... 296 | ....#.#..#.......#..#.........# 297 | ..#....#.....#......#..#....... 298 | ......#........#.......#...#.#. 299 | .......#.......#....#.....##... 300 | ....##........#..#...#.#..#...# 301 | .#......#...........##....#.... 302 | ##....##......#.......#.......# 303 | .##....#.##......#.......##..#. 304 | ...#..#.#.#.......#..#.###..... 305 | ..........##....#..#.##........ 306 | ...#........###.#..#........#.. 307 | .....#....#..##....#.....#....# 308 | #..........#..........#.#....#. 309 | ..#....#.....#..............#.. 310 | #..................#......#.##. 311 | .#...#.#.....#.........##...... 312 | ...#...........#.....#......#.. 313 | ......#.....#.#..##......##.... 314 | ...#....###..#.....#..#..##..## 315 | ......#.......##..#..#......... 316 | #..#.#....#.#..#..........##.#. 317 | ..#..#..##..#.#.#.#.....#...... 318 | ..#.#...#..#.....###.#......... 319 | ##.#.#......#........#.####.... 320 | .............#..#..#....#...... 321 | ...##..........#.......#.#....# 322 | ..#.....................#...... 323 | ..#..#...##...#.##........#.... 324 | 325 | -------------------------------------------------------------------------------- /day05/input.txt: -------------------------------------------------------------------------------- 1 | FFBBBFFLRL 2 | BFFBFBFRLR 3 | FFFBBFBRRR 4 | BFFBBBBRRL 5 | FFFBBFBLLR 6 | BBFBFBFLLR 7 | FBBFFBFLRL 8 | BFBFBBFLLL 9 | FBFBBFBLRR 10 | FFFBBBBRLR 11 | FFFFBFFRRL 12 | BFFFBFBLRL 13 | BBFFFBBRLL 14 | FFBFFFBLRL 15 | FBFBFFFRLL 16 | BFFBBBFRRL 17 | BFFFBBFRLR 18 | BBBFFFBRLL 19 | FBBBFFBRLL 20 | FFFBFFBRLL 21 | BBFBFBFLLL 22 | BFFBFFFLRL 23 | BBFBBFFLRL 24 | FBFBBBFRRR 25 | FBBBBFBRRL 26 | FBBFFFFLRL 27 | FFFBBFBLRL 28 | BFFFFFFLLR 29 | FFBFFBBRRR 30 | FFFFBBBRLR 31 | FFFBFFFLRR 32 | FBBFBBFLLL 33 | FBBFBBBRLR 34 | BFFBFFFLLR 35 | FFBFBFFRLL 36 | FFFFBBFLRR 37 | BBFBBBFLRR 38 | BFBFBBBRLR 39 | BFFBBFFLRL 40 | BFFBFFFLLL 41 | FBFFFBFLRR 42 | FFFBBBFRLR 43 | FBBFBBFRLL 44 | BBFFFBBLLL 45 | BBFFFFFLLL 46 | FBFFBBBLLL 47 | FBFFFBFLRL 48 | FFBFBBFLLL 49 | BFFBBFBLLR 50 | BFBBBFFRRR 51 | BFBBBBBLLR 52 | FBFFFFFRLR 53 | BBFFBFFLLR 54 | FFBFBFFLLR 55 | BBFBBBFRRL 56 | FFFBFFFRLR 57 | FBFBFFFLRL 58 | BBFFFFBLLL 59 | FFBBFFFLRL 60 | BBFFBFBRRR 61 | FBBFBBBLLR 62 | BFFFBFBRRR 63 | BBFFFFFLRL 64 | FBFBBFBRRR 65 | FFFBBBBLRR 66 | FBBFBFFLLR 67 | BBFBFFFRLR 68 | BBFFFFBRLR 69 | FBFBFFBRLR 70 | FFFBBFFLLR 71 | FBBFFFFLRR 72 | BBFFBBBLLR 73 | BBFFFFBRRL 74 | BFBBBBBRRL 75 | FBBBFFBRLR 76 | FFBBBFBRLR 77 | BFBBBBBRLR 78 | FBFBBBFRLR 79 | BBFBBFBRRR 80 | FFBFFBBLRR 81 | FFBBBBFLLR 82 | BFFFBBBLRL 83 | FBBFBFFLRL 84 | FBFFBFFRRL 85 | FBBBFFFRRR 86 | FFBBFBFRLL 87 | FBBFBBBLLL 88 | FFFFBFFRLR 89 | BBFBBBFRLR 90 | FBFBBBBLRL 91 | FFFFBBBLRL 92 | BFFBBFBRRL 93 | BBFFFBFRLR 94 | FBFFBFFRRR 95 | BBFBBFBRLL 96 | FBBFBFFRRR 97 | BFFFBFBLRR 98 | FFFBBFBLRR 99 | FFBFBFFRRL 100 | FFBBBBBRLR 101 | FBBBBBBLLR 102 | BBFBFBBRRL 103 | FBBFFFFRLR 104 | BFBBBBFRRL 105 | FBBFFBFLRR 106 | FFFBBBBLRL 107 | BBFFBBFLRR 108 | BFBFFBBRLL 109 | FFBBBBBLRR 110 | BBBFFFFRRR 111 | BFFFFBFRRR 112 | FBFFFFBLRR 113 | FBBBBBFLRR 114 | FFBBBBFRRR 115 | FFBFBFFLLL 116 | FBFBFFFLLR 117 | BFBBBBFLLL 118 | FBBFBBFRLR 119 | FFFBFBFLLL 120 | FBBFBBFLLR 121 | FBFFFFFRRL 122 | BFFBBBBRLL 123 | BFFBFFBLRR 124 | FBBFFFBLLR 125 | FBBFBFBLLL 126 | BFFFBFBRLR 127 | FBFBFBBRLR 128 | FBFFFBFRRR 129 | BFFBBFFRRR 130 | BFBFFFBRRL 131 | BFFBFBBRRL 132 | BBFFBFBRRL 133 | FBBBBFBRRR 134 | FFFBBBBRRL 135 | BFFFFBFLLL 136 | FBBBFBFLLR 137 | BBFFBFFRLR 138 | FBBFBFFRLR 139 | BFFFBFFLRR 140 | FBBFFBFLLL 141 | FFBBFFBRRR 142 | FFBFFFBLRR 143 | FFBFBBBRLR 144 | BBFBBFFLLR 145 | BBFFFBFLRR 146 | FFFBBBFLRR 147 | FBFFFBFLLR 148 | BBFBFBFLRL 149 | BFBFBBBLRR 150 | BFFBBFFRLR 151 | FBFBBBBRLL 152 | BBFFBBBLRL 153 | BBFFFBFLLR 154 | BBFFBFFRLL 155 | FFFFBFBRRR 156 | BFBFFBBLRR 157 | BFBBBBBRLL 158 | FBBFFFFRRR 159 | BFFFBBBRRL 160 | BFFBFBFLRL 161 | FFFFBFFRLL 162 | FBFFFFBRRL 163 | BBBFFFBRRL 164 | BFBBFFFLLL 165 | FFFFBBBRRL 166 | FBFFBBBRLR 167 | FFBFFFFRLL 168 | BFFBBBBRRR 169 | BBFFBBFRRL 170 | BFBBBFBLLL 171 | FBBBFBBLLL 172 | FBFBFFFLLL 173 | BFBFFFFRLR 174 | FFBFFBFLLR 175 | BFFBFBBRLL 176 | BFBBBFFLLL 177 | FBBFBFFRLL 178 | FFBFBBFLLR 179 | FBFBFBBRRL 180 | BFBFBFFLRL 181 | FFBFFFFRRL 182 | BFFBFFFRLR 183 | BFFFBBBLRR 184 | BBFBFBBLLR 185 | BFFBFBFLLR 186 | BFBBFBFRRR 187 | FBFBFFBLRR 188 | BBFBBBBRRL 189 | BFFFBFFLLR 190 | FFFFBBFRRL 191 | FFFBFFBRRL 192 | FBFFFBBRRR 193 | BFBBBBFLLR 194 | BBFBFBFRRL 195 | FFFBBFFLRL 196 | BBBFFFFLRL 197 | FFFBFFFRRL 198 | FBFBFFFLRR 199 | FFBFBBFLRL 200 | BBFBFBFRLR 201 | BBFBBFFRLR 202 | FBBFBFBRRR 203 | FBFFFBBRLR 204 | BBFFBBBRLL 205 | BFFBFFBLLR 206 | FBBBFBBLRL 207 | FFFBFFFRRR 208 | BFBBBFFLLR 209 | FBBFFFFLLL 210 | BFBBFBFRRL 211 | FBBFFBBRRR 212 | BFBFFFBLRL 213 | BBBFFBFLLL 214 | FFBFFBFRRL 215 | FBFFBFBRRL 216 | BFFFFBFRLL 217 | FFBFFFBRLL 218 | FFBBFFBLLL 219 | BFFBBFFLLL 220 | FBFFFFBLRL 221 | BFBFFBFLLR 222 | FFFFBBBLRR 223 | BFFBFBBRLR 224 | FBBBFFFRRL 225 | BBFBFBBLLL 226 | FFBBBFBRRL 227 | BBFBFFBLRR 228 | FBFBFFBLRL 229 | BBFBBFBLRL 230 | BFBBFFBRRL 231 | FFBBBFBLLL 232 | FFBFBBFRLL 233 | BFFFFBBLLL 234 | FBBBFBBLRR 235 | FBFBBFBLLL 236 | FFBBBBFRRL 237 | BBFBBBBLLL 238 | FBFBBBBLLR 239 | BFFFBFBLLR 240 | FBBBFFFRLR 241 | FFBBBFBRRR 242 | BBFFFFBLLR 243 | BBFFBBBLLL 244 | BBFFBBFLRL 245 | BBBFFFBLRR 246 | BBBFFFFRLL 247 | BFBFFFFRRR 248 | BFFFBFBRRL 249 | FBBBBBBLRL 250 | FFBFBBBRRL 251 | FFBFBFFLRL 252 | FFBBFFFLLL 253 | BBFFBFBLLR 254 | BFBBBFBRLL 255 | FFBBBFBRLL 256 | FBFBBFBRRL 257 | FBFFBFFLLR 258 | BBBFFFBRRR 259 | BBFBBBBLRR 260 | BBFFBBBRLR 261 | FBBBBFFRRR 262 | BFFFFBBLRR 263 | FFBFFBBRRL 264 | FBFBBBFRLL 265 | BBFBFBBLRL 266 | BFBBFBBRRR 267 | BFBBFBBRLR 268 | FFFBFBBLLR 269 | FFFBFFFLLR 270 | BFFFBBFLRL 271 | FBFBBFFLRL 272 | BFBFBBBRRL 273 | BBFBFBBRRR 274 | BBFFBFBRLR 275 | BFBFBFBRLL 276 | FBBFBFBLRL 277 | FFBBFBBRRL 278 | FFBFFFBLLL 279 | FBBBFFBRRL 280 | BFBBFFBLRL 281 | FFFBBBBRLL 282 | FBFBFBFLRR 283 | FFFBFBFLRL 284 | BFBBBBBLRR 285 | BBFFBFFLLL 286 | FFFFBFFLRR 287 | FFBBFFBRLR 288 | FBBBFFBLRR 289 | FBBBBFBLRL 290 | FBFFBBFRLR 291 | FFBFBFFRRR 292 | FBFFFBFRLL 293 | FFFBFBFRRR 294 | BFFFBFFRRL 295 | FFFBFBFLRR 296 | BBFFBFFLRL 297 | BBBFFBFLLR 298 | FFFBFFBLRL 299 | BFBBBBFRRR 300 | BFFBFFFLRR 301 | FBFFFFBRRR 302 | BFFBFFFRLL 303 | FBFFBFFRLL 304 | FFFBBBBLLR 305 | FFFBBBFLLR 306 | BFBBBFFLRR 307 | BBBFFFFRRL 308 | FFFBBFFRRR 309 | BBFFBBBLRR 310 | FFBFFFBRRR 311 | BFFBFFFRRL 312 | BFFBFBFRRL 313 | BBFFFBFLLL 314 | FBFBFFBRRL 315 | BFBFFFBLLR 316 | FFBBBBBLRL 317 | FBFBBBBRRL 318 | BFFBBFBLRL 319 | FBBFBBFLRL 320 | FFBFFFBRLR 321 | FBFFFBFRRL 322 | FFFFBBFRLL 323 | BFBBFBFLRL 324 | FFFBFFBLLR 325 | FBBFBFBRRL 326 | FFBFFFBLLR 327 | FFBBBBFLLL 328 | BFBBBBFLRR 329 | FBFFFBFLLL 330 | BBFBFFBRRL 331 | FBBBFBBRRR 332 | FFFBBBBLLL 333 | FBBBBBFRRL 334 | BFBBBBFRLR 335 | BFFBBBFRLL 336 | FBFFFFFLRR 337 | BFBBBBFLRL 338 | FBFBFBBRLL 339 | BFFBBBBLRR 340 | BFFFFFFLLL 341 | BBBFFFFLLL 342 | BFBFFFFRLL 343 | FBBFBFFLLL 344 | BFBFFBBRLR 345 | BBFBFFFRRL 346 | FBFBFFBRLL 347 | FBFBBFBLLR 348 | FBFFBFBRLR 349 | FBBFFBBRLR 350 | FBBFBBFRRL 351 | FFBBFFBRLL 352 | FBFFBFFLLL 353 | BBFBBFFRLL 354 | BFFFFBFRRL 355 | FBFBFBFRLL 356 | FFFBBFBRRL 357 | BFFFBBFRRR 358 | BFFBBBFLRR 359 | FBBFFBFRLL 360 | BBFBFBBLRR 361 | BBFBBFBRLR 362 | BFBFBBFRRL 363 | FBBBFFFLRL 364 | FBFBFFBRRR 365 | BFBFBBFRRR 366 | FFBBFBBLRL 367 | BFFBFFBRLR 368 | BFFFFFBRRR 369 | BBFFBBFRRR 370 | BBFFBBFRLL 371 | FFBFFBFRLR 372 | BBFBBBBRLR 373 | BBFFBBBRRL 374 | BFFFBFFLRL 375 | BFBBFBFRLR 376 | FFBBBBBLLL 377 | FBBBBFFRLR 378 | BFBFFFBLRR 379 | BFBFFFFRRL 380 | BFFBBBBLLL 381 | BFBBFFFRLL 382 | FFFBBBFLLL 383 | BFFBBFBLLL 384 | BFFFBBFRRL 385 | FBBBFBBRRL 386 | BFFFBBFLLL 387 | BBBFFFFLLR 388 | BFBBFFFLRL 389 | BFFBBBBLLR 390 | FBBFFFBRRR 391 | BFBFFFFLLR 392 | FBFFBFBLLR 393 | FFBBFFBLLR 394 | FBFBBBFLLL 395 | BBFFFBBRLR 396 | BFBFBFFLLL 397 | FBFFFBBLRL 398 | BFFFBFFRLL 399 | FBBFFFBRRL 400 | BFFFFBBRLL 401 | BFBFBBBLLL 402 | BFBFBFBLLL 403 | FFFBBFBLLL 404 | BBBFFFBLRL 405 | BFBBFBBLLR 406 | BFBFBFFRRR 407 | BBFFFFBLRR 408 | BFFFBBBRRR 409 | FBFFFFFRLL 410 | FFBFFFFRRR 411 | BFBBFFFRRL 412 | BFFFBBBRLL 413 | FFBBFBBRRR 414 | FFBFBFBRRL 415 | FFBFBBFRLR 416 | BFBFFBBLRL 417 | FBBBBBFLLR 418 | BFBFFBBRRL 419 | FFBFFFFLLL 420 | FFFBBFBRLL 421 | FBFBBFFLLR 422 | BFBBFFBRLL 423 | FFBBFBBLLL 424 | FBBBFBFLRR 425 | FFBBFBBLLR 426 | FFBFFFFLLR 427 | BFBBFBBLLL 428 | BBFFBBFLLL 429 | FFBBFFFRRL 430 | FBFBBBBLLL 431 | FBBBBBFLLL 432 | FBBBBFBRLR 433 | BBBFFFFLRR 434 | FBFBFBFLLL 435 | BFBBFFFLRR 436 | FFBBFBBRLL 437 | FBBBBFBRLL 438 | FBFBBFFLRR 439 | FBBBBBFRLR 440 | BFBFBBFLRL 441 | BFBFBFFLRR 442 | FBFBFBFRRR 443 | BFBFFFBRRR 444 | FBBFFFFLLR 445 | BFBFBFBLLR 446 | BFFFFFFLRL 447 | FFFBBBFRRL 448 | BFFFBFFLLL 449 | FFBFBBBRRR 450 | BBFFFFBRLL 451 | FBBBFBFLRL 452 | BFBBBFBLRR 453 | BBFFFBBRRR 454 | FBFFBBFRLL 455 | BFBBFBBLRL 456 | FBBFBBBRLL 457 | BBFBBBFLLR 458 | FFBFFFBRRL 459 | BBBFFFBLLR 460 | FFFFBBBLLL 461 | BFFFBFBLLL 462 | BFFBFBBLRL 463 | FBBFFFBRLR 464 | BFBFFBFRRR 465 | FBBBFBBRLL 466 | FBBBBBFRRR 467 | FBFFFFBRLR 468 | BFFBBBFRLR 469 | BFBBFBFLLR 470 | BFBFBFFRLR 471 | FBFFBFBRRR 472 | FBFFFBBLLL 473 | BFBFBFBRRL 474 | FFFFBFBRLL 475 | FFFBBFFRLR 476 | FFFFBFBLRL 477 | FFFBFFBLLL 478 | FBFFBFFRLR 479 | FBBBFFFLRR 480 | FBFBFFFRLR 481 | FFBFBBFLRR 482 | FFFBFBBLRL 483 | BBFFBFBLRR 484 | BFBFFBFLRR 485 | FBBFFFFRRL 486 | FBFBBFBRLL 487 | FBBBBFFLRR 488 | FBFFFFFLRL 489 | BFBBBFFRRL 490 | FBFFBBBLLR 491 | BBFFFBFRRL 492 | FBBFFBBLRL 493 | BBFFFFFLRR 494 | FBBFFBBRLL 495 | FBBFFBFRRL 496 | FFBFFBFRRR 497 | FBBBBFFRRL 498 | BFBFBBBLLR 499 | FBFFFFFRRR 500 | FFBBFBFRRL 501 | BFBBBFBRLR 502 | FFBBFFBRRL 503 | BBFFBBFRLR 504 | FFBFBBBLRR 505 | FFFBFFFLRL 506 | BBFBBFBLLR 507 | FBBBFBBLLR 508 | BFBBFBFRLL 509 | BBFBFFBRRR 510 | FFBFFBBLRL 511 | BFBFBBBRRR 512 | FBBBFBFRRR 513 | FFBBFFFRLR 514 | BBFBFFBRLR 515 | FFBFBBBLLR 516 | BBFBFFFLRR 517 | BBFFFBBLLR 518 | BFFFFBBLLR 519 | BFFBBFBRRR 520 | BFFBBBFLRL 521 | BFBBFFBLLL 522 | FFFFBFFRRR 523 | FFFBFFBLRR 524 | BFFBFFBLRL 525 | BFBBBBBLLL 526 | FFBFFBFLLL 527 | BFBFBFBRRR 528 | BFFFFFBLRR 529 | BFFFBBFLRR 530 | BBFFFFFLLR 531 | FFFBFBBRRL 532 | FBFFBBFRRL 533 | BBFBBBFLLL 534 | BBFFFFBLRL 535 | BFFFFFFLRR 536 | FBBBBBBLRR 537 | BFFBBBFLLR 538 | FFBFBBFRRR 539 | BFBFBFBLRL 540 | FBFFBFFLRL 541 | FBBBBBBRLL 542 | FFBBBFFLLL 543 | BFBFFFBLLL 544 | FBBFFBBLLL 545 | BBFFBFFLRR 546 | FBBBBBBRLR 547 | FBFFBBFLRL 548 | FBBBBFFLLR 549 | BFBFFFBRLR 550 | FFFBFBBRRR 551 | FFBBFBFLRL 552 | BBFFBFFRRR 553 | FBBFBFBLRR 554 | BFBFBFBLRR 555 | FBFBBFFLLL 556 | FBFBBFFRLR 557 | FBFFBBBRLL 558 | FBBFBFBRLL 559 | BFFFFFFRLL 560 | FBBBBBBLLL 561 | BFFBBFFRRL 562 | FFBFBFBLLR 563 | BFFFFFBRLR 564 | FBFFFBBRRL 565 | BFBFFBFRLR 566 | BFFBFFFRRR 567 | FFBFBBBLLL 568 | BFBFFBFLLL 569 | BFFFFBFLLR 570 | FFBFBFBRLR 571 | BBFBBBBRRR 572 | BBFFFBFRRR 573 | BFFFFFBRRL 574 | FBFFBBFLLL 575 | FBFFFBBLLR 576 | BBFBFBFLRR 577 | BFBFBFFRLL 578 | FBFFFFFLLL 579 | BFBBFBFLLL 580 | FFBFBFFLRR 581 | FBBFFFBLRR 582 | FBBBFFBLRL 583 | BFFFFBBRRR 584 | FBFBBFFRLL 585 | FFBFFBBRLR 586 | FBFFFBBLRR 587 | BFBBFFFLLR 588 | BFBFBFBRLR 589 | BFBFFBBRRR 590 | FFBBBFFRLR 591 | FFBFBBBLRL 592 | FFBFBFBRLL 593 | FFBBFBFRLR 594 | FBFFBFBLRR 595 | BFBBBFBRRL 596 | FBBFFFBLLL 597 | FBFBBBFLRL 598 | FBFBBBFLRR 599 | BBFBBBBLLR 600 | BFFBBBFLLL 601 | FFFFBBBRRR 602 | FFBBFFFRLL 603 | FFBBBFBLRR 604 | FFFBFBBRLL 605 | BBFFFFFRRR 606 | FFBBBFBLLR 607 | FFFBBFFLLL 608 | FFFFBFFLRL 609 | FFFFBBFRLR 610 | BFBFBBFRLL 611 | FFBFBFBLRR 612 | FBBFFBBLLR 613 | BBFBBBBRLL 614 | FFFBFBFRRL 615 | FBBFBFBRLR 616 | FBBFBBBLRR 617 | BFFBBBBLRL 618 | FFFBBFFLRR 619 | BFFFFBFRLR 620 | FFBBBFFRLL 621 | BFBFFFBRLL 622 | BFBBFBFLRR 623 | FFFFBBFRRR 624 | FBFBBBBRLR 625 | FBBBBBBRRL 626 | BBFFBFBLLL 627 | FBBFFBFLLR 628 | BFBBBFFLRL 629 | BBFBFFFLLR 630 | BBFFBBBRRR 631 | BFFBFBFRRR 632 | FFBBBBBLLR 633 | BBFBBBFRRR 634 | FBBFBFFRRL 635 | FBFFFBFRLR 636 | BFFFBBBLLL 637 | FBBFFBBRRL 638 | FBBBBBFLRL 639 | BBFBFFFLRL 640 | FFFBFFFRLL 641 | FFBFFBFRLL 642 | BFFFBFFRRR 643 | BFBBFFFRLR 644 | BBBFFFFRLR 645 | FBBBBFBLRR 646 | BBFBFFBRLL 647 | FBFFBBFLRR 648 | BFFFBFFRLR 649 | BFBFBBFRLR 650 | BFFFBBBLLR 651 | FBFBBFBRLR 652 | FFBBBBFRLR 653 | FBBBBFFRLL 654 | BBFBFFBLRL 655 | BFBFFBBLLL 656 | FFBBFFBLRR 657 | FBBBFFBLLL 658 | BFFBFFBRRL 659 | FBFFBBBRRL 660 | FFBFBBFRRL 661 | FBBFFBFRRR 662 | FBBBBBFRLL 663 | BBFBFBFRRR 664 | FFFBBFFRRL 665 | BFFFBBFRLL 666 | FBFFBFBLRL 667 | BFBBBFBLRL 668 | FFFBBBFLRL 669 | FFBBFBFLLL 670 | BBFBFFBLLR 671 | BFFFFFFRRL 672 | BFFBFBBLRR 673 | BFBFBBFLLR 674 | FFBBBFFLLR 675 | FBBFFBFRLR 676 | FFFBBFBRLR 677 | FBFFBFBLLL 678 | FBBBBFBLLR 679 | FFBBBFBLRL 680 | BFFFFFBLLR 681 | FBFFFFFLLR 682 | FFFBFBBLLL 683 | FFBBFFFLRR 684 | BFFBFBFRLL 685 | FBFBFBFLLR 686 | FBFBFBBLLL 687 | FBBFBFBLLR 688 | BBFFFFFRRL 689 | FBFFBFBRLL 690 | FBBBFFFRLL 691 | FBFBFBFRRL 692 | BFFFFBBLRL 693 | BBFBBFBLLL 694 | BBFBBBBLRL 695 | FBBBFBFRRL 696 | FFFFBBFLLR 697 | BFBFFFFLRL 698 | BBFFFFBRRR 699 | FFFFBBFLRL 700 | BBFFFBFRLL 701 | BFFFFBFLRL 702 | BFFBFFBRRR 703 | FBFBFFFRRR 704 | FBFFBBBLRL 705 | FFFBFBFRLR 706 | FBBFFFFRLL 707 | BBFBBFFRRR 708 | FFBFFBBLLL 709 | FFBFFFFLRL 710 | BBFBBFFLRR 711 | FBFBFFBLLR 712 | FFBBFFFRRR 713 | BBFBFFBLLL 714 | FFFBFFFLLL 715 | BFBFFBFRRL 716 | FBBBFFFLLR 717 | FBFBBBBLRR 718 | FBFFBFFLRR 719 | BBFFFFFRLR 720 | FBBBFFBRRR 721 | FFFBFFBRRR 722 | FBFBFBBLLR 723 | BFBBFFBRRR 724 | BFFFFBBRLR 725 | FBBFFBBLRR 726 | BFFBFFBRLL 727 | FFBBBFFRRR 728 | BFFBFBBLLR 729 | FBFBBFFRRL 730 | FBFBFFBLLL 731 | BFFFFFBLLL 732 | BBFBBBFRLL 733 | BFBBBBBRRR 734 | BFFBBFBLRR 735 | FFFFBBBLLR 736 | BFFBFBBRRR 737 | FBFFFFBLLL 738 | FFBFBFBLRL 739 | BFBFFFFLRR 740 | BFBBFFBLRR 741 | FFFBBBFRRR 742 | FBBBBBBRRR 743 | BFBFFBBLLR 744 | FBBBFBFLLL 745 | FBFFBBFRRR 746 | FBBFBBBRRR 747 | FFBFBBBRLL 748 | BFBBBBBLRL 749 | BFFBBFBRLR 750 | FBFBBFBLRL 751 | FBBFBFFLRR 752 | BFFFFFBLRL 753 | FFBBFFBLRL 754 | FFFFBFFLLR 755 | FBFBFBBRRR 756 | FFBBFBFLLR 757 | BFFBFFBLLL 758 | FFFBFBBRLR 759 | BFBFBBBLRL 760 | BFBFFFFLLL 761 | FFBBFBFRRR 762 | FBFBBBBRRR 763 | FBBBFFBLLR 764 | BBFBFFFLLL 765 | FBFBFBFRLR 766 | FBFBFBBLRL 767 | BFBBFFBLLR 768 | FFBBBBBRRR 769 | FFFFBFFLLL 770 | BBFBFBBRLR 771 | BFFBFBBLLL 772 | BBFFBFBRLL 773 | BFBBFBBRRL 774 | BBBFFFBLLL 775 | BBFFBFFRRL 776 | FFFFBBBRLL 777 | BFFFFFBRLL 778 | BBFBFFFRRR 779 | FFBFFBBRLL 780 | BFFBBBBRLR 781 | FFBBBBFRLL 782 | FBBBBFBLLL 783 | BFFFFBBRRL 784 | BBFBBBFLRL 785 | FBBFBBBRRL 786 | FFFBBFFRLL 787 | FFBBBFFLRR 788 | FFBFFBFLRL 789 | FFFBFFBRLR 790 | FBFFFFBRLL 791 | FBFFBBBLRR 792 | FFFFBFBRLR 793 | FBFBFBBLRR 794 | BFBBFFFRRR 795 | FBFBFBFLRL 796 | FBBBFBBRLR 797 | FFBBBFFRRL 798 | FBFFFBBRLL 799 | BBFFBFBLRL 800 | BBFFFBBLRR 801 | BFFBBBFRRR 802 | BBFBFFFRLL 803 | FFBBBBFLRR 804 | FBFFBBFLLR 805 | BFFFFBFLRR 806 | FBFBBBFLLR 807 | FFFBFBFLLR 808 | FFBBFBBRLR 809 | BBFBBFFRRL 810 | BBFFBBFLLR 811 | FFBFFBFLRR 812 | FBFFBBBRRR 813 | BFBFBBBRLL 814 | FFBBFBFLRR 815 | BFFBBFFRLL 816 | BFFFFFFRLR 817 | BBBFFFBRLR 818 | BFBBBFBLLR 819 | FBFFFFBLLR 820 | FFFFBFBLRR 821 | FBBBFBFRLL 822 | FFBFBFBRRR 823 | BBFFFBFLRL 824 | FFBFFFFLRR 825 | BBFBFBBRLL 826 | BBFBFBFRLL 827 | FBBBBFFLRL 828 | BFFFBFBRLL 829 | FFFFBFBLLR 830 | FBBFFFBLRL 831 | FBBBBFFLLL 832 | BFBBFBBLRR 833 | FBFBFFFRRL 834 | FBBBFFFLLL 835 | FBBBFBFRLR 836 | BBFBBFBLRR 837 | FBBFBBFRRR 838 | FFBBBBBRRL 839 | FFFBBBFRLL 840 | BFFBBFFLLR 841 | BFBBBFFRLL 842 | BBFFFBBRRL 843 | BFBBFBBRLL 844 | BFBFBFFRRL 845 | BFFBFBFLRR 846 | FFBFBFBLLL 847 | BBFFFBBLRL 848 | BFBFBBFLRR 849 | BBFBBFFLLL 850 | BFFFFFFRRR 851 | BFBBBBFRLL 852 | FBBFBBFLRR 853 | BFBFFBFRLL 854 | FFBBFBBLRR 855 | BFFBBFBRLL 856 | BFBFFBFLRL 857 | FFFBFBBLRR 858 | BFBBBFBRRR 859 | FFFFBFBLLL 860 | FFBFBFFRLR 861 | FFFFBBFLLL 862 | FBFBBFFRRR 863 | BBFFFFFRLL 864 | BFBFBFFLLR 865 | FFBBFFFLLR 866 | FFBFFFFRLR 867 | BFBBBFFRLR 868 | BFFBBFFLRR 869 | FBBFFFBRLL 870 | FFBBBBBRLL 871 | FFBFFBBLLR 872 | FFFFBFBRRL 873 | BFFBFBFLLL 874 | FBBFBBBLRL 875 | BBFBBFBRRL 876 | FFBBBBFLRL 877 | BFFFBBFLLR 878 | FFFBFBFRLL 879 | FFFBBBBRRR 880 | FBFBBBFRRL 881 | BFFFBBBRLR 882 | 883 | -------------------------------------------------------------------------------- /day09/input.txt: -------------------------------------------------------------------------------- 1 | 5 2 | 48 3 | 36 4 | 14 5 | 3 6 | 6 7 | 11 8 | 32 9 | 50 10 | 17 11 | 27 12 | 7 13 | 21 14 | 38 15 | 28 16 | 30 17 | 19 18 | 35 19 | 22 20 | 24 21 | 49 22 | 37 23 | 12 24 | 41 25 | 43 26 | 8 27 | 9 28 | 25 29 | 29 30 | 14 31 | 13 32 | 15 33 | 16 34 | 84 35 | 20 36 | 26 37 | 17 38 | 59 39 | 51 40 | 21 41 | 27 42 | 31 43 | 64 44 | 23 45 | 28 46 | 22 47 | 58 48 | 24 49 | 34 50 | 30 51 | 36 52 | 32 53 | 35 54 | 89 55 | 29 56 | 33 57 | 37 58 | 41 59 | 50 60 | 47 61 | 40 62 | 38 63 | 52 64 | 43 65 | 67 66 | 79 67 | 53 68 | 45 69 | 55 70 | 65 71 | 46 72 | 121 73 | 74 74 | 106 75 | 59 76 | 61 77 | 62 78 | 72 79 | 70 80 | 66 81 | 114 82 | 75 83 | 78 84 | 81 85 | 83 86 | 85 87 | 84 88 | 117 89 | 98 90 | 128 91 | 91 92 | 99 93 | 100 94 | 101 95 | 105 96 | 108 97 | 120 98 | 231 99 | 121 100 | 123 101 | 127 102 | 132 103 | 138 104 | 136 105 | 210 106 | 153 107 | 185 108 | 159 109 | 164 110 | 230 111 | 169 112 | 182 113 | 203 114 | 331 115 | 212 116 | 191 117 | 199 118 | 265 119 | 221 120 | 213 121 | 228 122 | 243 123 | 244 124 | 248 125 | 453 126 | 382 127 | 268 128 | 496 129 | 289 130 | 317 131 | 312 132 | 744 133 | 555 134 | 481 135 | 644 136 | 413 137 | 601 138 | 949 139 | 419 140 | 390 141 | 404 142 | 427 143 | 434 144 | 502 145 | 441 146 | 667 147 | 630 148 | 492 149 | 516 150 | 884 151 | 557 152 | 580 153 | 725 154 | 716 155 | 629 156 | 702 157 | 794 158 | 803 159 | 973 160 | 824 161 | 809 162 | 817 163 | 896 164 | 1586 165 | 1194 166 | 831 167 | 929 168 | 875 169 | 1464 170 | 933 171 | 1121 172 | 1490 173 | 1008 174 | 1742 175 | 1137 176 | 1345 177 | 2302 178 | 1924 179 | 1757 180 | 1331 181 | 1505 182 | 2129 183 | 1764 184 | 1626 185 | 1753 186 | 1648 187 | 1692 188 | 3234 189 | 3405 190 | 1968 191 | 1706 192 | 3153 193 | 2145 194 | 2070 195 | 2829 196 | 2513 197 | 3449 198 | 3105 199 | 2468 200 | 2482 201 | 3258 202 | 2836 203 | 2957 204 | 3725 205 | 2979 206 | 3131 207 | 3616 208 | 3274 209 | 3318 210 | 3398 211 | 4837 212 | 3660 213 | 5102 214 | 5771 215 | 4450 216 | 3776 217 | 7968 218 | 4538 219 | 5349 220 | 4950 221 | 4981 222 | 5461 223 | 5304 224 | 5726 225 | 5318 226 | 8920 227 | 5793 228 | 5936 229 | 7123 230 | 6110 231 | 8592 232 | 6592 233 | 6672 234 | 6716 235 | 10474 236 | 9375 237 | 11976 238 | 10268 239 | 8226 240 | 8314 241 | 9094 242 | 17437 243 | 9488 244 | 24029 245 | 9931 246 | 10774 247 | 10622 248 | 11030 249 | 11836 250 | 15437 251 | 11729 252 | 11903 253 | 18582 254 | 30701 255 | 12702 256 | 20553 257 | 18469 258 | 13388 259 | 14942 260 | 16540 261 | 27570 262 | 17714 263 | 19716 264 | 17802 265 | 32282 266 | 19025 267 | 22677 268 | 19419 269 | 20705 270 | 28956 271 | 21396 272 | 30504 273 | 38185 274 | 23565 275 | 30198 276 | 32434 277 | 31284 278 | 26090 279 | 27644 280 | 44118 281 | 51853 282 | 40421 283 | 28330 284 | 35565 285 | 58242 286 | 56594 287 | 37221 288 | 36827 289 | 56288 290 | 38444 291 | 39730 292 | 40124 293 | 40815 294 | 54069 295 | 69655 296 | 44961 297 | 49655 298 | 51209 299 | 51895 300 | 60078 301 | 57374 302 | 53734 303 | 64471 304 | 55974 305 | 92513 306 | 63895 307 | 92710 308 | 76557 309 | 101298 310 | 74048 311 | 92024 312 | 116287 313 | 75271 314 | 126480 315 | 78174 316 | 96856 317 | 104710 318 | 96170 319 | 99030 320 | 143919 321 | 102335 322 | 100864 323 | 193322 324 | 131908 325 | 109708 326 | 111108 327 | 117629 328 | 157272 329 | 139166 330 | 225995 331 | 151828 332 | 303030 333 | 203633 334 | 248629 335 | 149319 336 | 304169 337 | 210082 338 | 243016 339 | 201365 340 | 179038 341 | 193026 342 | 195200 343 | 197034 344 | 387795 345 | 203199 346 | 232772 347 | 210572 348 | 220816 349 | 227337 350 | 228737 351 | 343880 352 | 256795 353 | 288485 354 | 334366 355 | 301147 356 | 328357 357 | 344519 358 | 342345 359 | 352518 360 | 346353 361 | 477611 362 | 425798 363 | 372064 364 | 374238 365 | 376072 366 | 392234 367 | 398399 368 | 443344 369 | 563103 370 | 413771 371 | 431388 372 | 439309 373 | 448153 374 | 591161 375 | 744491 376 | 653665 377 | 545280 378 | 589632 379 | 629504 380 | 740744 381 | 686864 382 | 688698 383 | 830129 384 | 698871 385 | 744752 386 | 764298 387 | 857186 388 | 746302 389 | 807460 390 | 845159 391 | 984589 392 | 812170 393 | 853080 394 | 993433 395 | 861924 396 | 870697 397 | 1039314 398 | 1370248 399 | 1136441 400 | 1134912 401 | 2177708 402 | 1174784 403 | 1276496 404 | 1316368 405 | 1387569 406 | 1375562 407 | 1433450 408 | 1443623 409 | 1445173 410 | 1491054 411 | 1510600 412 | 2569891 413 | 2304147 414 | 1657329 415 | 1665250 416 | 1674094 417 | 1682867 418 | 1715004 419 | 1901238 420 | 1732621 421 | 1910011 422 | 2174226 423 | 2271353 424 | 2309696 425 | 3148383 426 | 2451280 427 | 2491152 428 | 2592864 429 | 2691930 430 | 3866714 431 | 2809012 432 | 2877073 433 | 2888796 434 | 2936227 435 | 6037179 436 | 6138067 437 | 4621417 438 | 9015140 439 | 3322579 440 | 3339344 441 | 4491879 442 | 3592878 443 | 3447625 444 | 3633859 445 | 3642632 446 | 4902560 447 | 5063022 448 | 5718978 449 | 4760976 450 | 5915443 451 | 4942432 452 | 5084016 453 | 5284794 454 | 5500942 455 | 5686085 456 | 5745239 457 | 5825023 458 | 6211375 459 | 6258806 460 | 6981976 461 | 6661923 462 | 7235510 463 | 6770204 464 | 6786969 465 | 6932222 466 | 8510647 467 | 7040503 468 | 8576291 469 | 9319944 470 | 8545192 471 | 11693198 472 | 12266770 473 | 9703408 474 | 13518723 475 | 10026448 476 | 13861085 477 | 10368810 478 | 12036398 479 | 11431324 480 | 11511108 481 | 11570262 482 | 12757245 483 | 12470181 484 | 13752180 485 | 18805772 486 | 15551150 487 | 16106913 488 | 13702426 489 | 13719191 490 | 13972725 491 | 15585695 492 | 16743911 493 | 22406277 494 | 19023352 495 | 30716636 496 | 22838991 497 | 19729856 498 | 25897483 499 | 25755589 500 | 20395258 501 | 21800134 502 | 21879918 503 | 22942432 504 | 23001586 505 | 25542987 506 | 24040443 507 | 25227426 508 | 26172607 509 | 27421617 510 | 27675151 511 | 27691916 512 | 29288121 513 | 43234249 514 | 42916518 515 | 44873816 516 | 32329606 517 | 35767263 518 | 42801535 519 | 65755509 520 | 40125114 521 | 41529990 522 | 41609774 523 | 48839915 524 | 48070409 525 | 42195392 526 | 43680052 527 | 44822350 528 | 45944018 529 | 47042029 530 | 49267869 531 | 56370049 532 | 51400033 533 | 53594224 534 | 71355203 535 | 55367067 536 | 120623072 537 | 90265801 538 | 75131141 539 | 73939380 540 | 77962655 541 | 130390915 542 | 77297253 543 | 126722270 544 | 85210042 545 | 81655104 546 | 83805166 547 | 85289826 548 | 85875444 549 | 88502402 550 | 119883398 551 | 89624070 552 | 90766368 553 | 103412078 554 | 137770271 555 | 155594484 556 | 135249328 557 | 143869469 558 | 127533604 559 | 149070521 560 | 166944930 561 | 151236633 562 | 151902035 563 | 228536639 564 | 159229206 565 | 155259908 566 | 158952357 567 | 162507295 568 | 265303875 569 | 165460270 570 | 167530548 571 | 169094992 572 | 191914480 573 | 176641812 574 | 256032950 575 | 258296916 576 | 286485961 577 | 194178446 578 | 280053890 579 | 306496541 580 | 271403073 581 | 262782932 582 | 276604125 583 | 316015451 584 | 300307154 585 | 217430975 586 | 303138668 587 | 444134673 588 | 314212265 589 | 314489114 590 | 321459652 591 | 478400441 592 | 327967565 593 | 332990818 594 | 342102082 595 | 336625540 596 | 439424744 597 | 370820258 598 | 520569643 599 | 475727891 600 | 411609421 601 | 474232336 602 | 714748089 603 | 480213907 604 | 494035100 605 | 698787823 606 | 517738129 607 | 531643240 608 | 533446426 609 | 531920089 610 | 955941798 611 | 642179830 612 | 628701379 613 | 847935540 614 | 635948766 615 | 1328149447 616 | 660958383 617 | 670069647 618 | 669616358 619 | 1368505183 620 | 707445798 621 | 782429679 622 | 1053789251 623 | 1117907721 624 | 885841757 625 | 1384364447 626 | 1122393737 627 | 974249007 628 | 1965843261 629 | 1305565124 630 | 1049381369 631 | 1049658218 632 | 1063563329 633 | 1065366515 634 | 1160621468 635 | 1264650145 636 | 1270881209 637 | 1289659762 638 | 2433745816 639 | 1296907149 640 | 1330574741 641 | 2314031514 642 | 1339686005 643 | 1377062156 644 | 2666721918 645 | 2645251129 646 | 1668271436 647 | 1935499975 648 | 1860090764 649 | 2601455950 650 | 2037812336 651 | 2355026277 652 | 2113221547 653 | 2112944698 654 | 2115024733 655 | 2099039587 656 | 4669057791 657 | 2561557294 658 | 2395941256 659 | 2641712301 660 | 2535531354 661 | 2610567214 662 | 3694712282 663 | 2627481890 664 | 3978518106 665 | 2670260746 666 | 3438725592 667 | 4151033883 668 | 3045333592 669 | 4309983737 670 | 4295753326 671 | 3603771411 672 | 3795590739 673 | 3897903100 674 | 4214064320 675 | 5083145928 676 | 4211984285 677 | 4212261134 678 | 4227969431 679 | 4494980843 680 | 4634570941 681 | 4931472610 682 | 6000282886 683 | 5006508470 684 | 6841546210 685 | 5146098568 686 | 5238049104 687 | 5672815482 688 | 5297742636 689 | 6484059184 690 | 5715594338 691 | 6840924331 692 | 8522244871 693 | 8091344065 694 | 7399362150 695 | 7693493839 696 | 7501674511 697 | 8111967420 698 | 8424245419 699 | 8426048605 700 | 11053185465 701 | 8439953716 702 | 8440230565 703 | 8722950274 704 | 9129551784 705 | 9566043551 706 | 10244557574 707 | 13737973201 708 | 12078973435 709 | 15563874605 710 | 10384147672 711 | 17553797203 712 | 11013336974 713 | 19453567539 714 | 12199653522 715 | 13409088177 716 | 15092855989 717 | 15839315866 718 | 21257894548 719 | 14901036661 720 | 15195168350 721 | 24422425151 722 | 16536212839 723 | 16850294024 724 | 16866279170 725 | 16880184281 726 | 23304016752 727 | 24761211901 728 | 19950191223 729 | 19513699456 730 | 20579380525 731 | 30759042955 732 | 34606555445 733 | 25914373635 734 | 40093079981 735 | 22583801194 736 | 23212990496 737 | 25608741699 738 | 35672236514 739 | 27100690183 740 | 28310124838 741 | 29993892650 742 | 30096205011 743 | 31437249500 744 | 31731381189 745 | 32045462374 746 | 33386506863 747 | 33402492009 748 | 33716573194 749 | 40529571748 750 | 36393883737 751 | 39463890679 752 | 42097500650 753 | 42533992417 754 | 42726689952 755 | 52016630025 756 | 60355587212 757 | 45796791690 758 | 48192542893 759 | 57654204073 760 | 55986293203 761 | 48821732195 762 | 81595034902 763 | 55410815021 764 | 67119065203 765 | 67774015517 766 | 60090097661 767 | 61533454511 768 | 63776843563 769 | 65117888052 770 | 69780390600 771 | 75814073844 772 | 83256261700 773 | 107427445046 774 | 75857774416 775 | 78491384387 776 | 81997883096 777 | 124321724854 778 | 104808025398 779 | 124050317309 780 | 142933139047 781 | 93989334583 782 | 115577182290 783 | 149400149604 784 | 104232547216 785 | 143128489413 786 | 108911829856 787 | 115500912682 788 | 116944269532 789 | 136899455803 790 | 134898278652 791 | 151671848260 792 | 125310298074 793 | 128894731615 794 | 208051027099 795 | 174588415998 796 | 154305458231 797 | 154349158803 798 | 157855657512 799 | 201168072490 800 | 303749308407 801 | 222884066198 802 | 221752294930 803 | 198221881799 804 | 202901164439 805 | 209490247265 806 | 209566516873 807 | 213144377072 808 | 291204914034 809 | 399389954289 810 | 237806561471 811 | 224412742538 812 | 361312198341 813 | 242254567606 814 | 271797734455 815 | 260208576726 816 | 484942111527 817 | 254205029689 818 | 303483147613 819 | 308654617034 820 | 328937574801 821 | 433902989803 822 | 312204816315 823 | 371000034584 824 | 401123046238 825 | 407712129064 826 | 422634624337 827 | 419056764138 828 | 407788398672 829 | 412391411704 830 | 451744814871 831 | 550909184640 832 | 725107903837 833 | 462219304009 834 | 466667310144 835 | 478617772227 836 | 496459597295 837 | 778872126459 838 | 502463144332 839 | 600735309256 840 | 514413606415 841 | 562859646723 842 | 1096107938421 843 | 813514457942 844 | 620859433349 845 | 730060621039 846 | 958621313704 847 | 903586190570 848 | 772123080822 849 | 808835175302 850 | 815500527736 851 | 820179810376 852 | 831448175842 853 | 1286847120520 854 | 1002653999511 855 | 1059319244018 856 | 1464873303520 857 | 928886614153 858 | 958678901304 859 | 1065322791055 860 | 1610320302301 861 | 998922741627 862 | 1016876750747 863 | 1077273253138 864 | 1323248781717 865 | 1135273039764 866 | 1392982514171 867 | 1429694608651 868 | 1434373891291 869 | 1675709271392 870 | 1966721215606 871 | 1580958256124 872 | 1587623608558 873 | 1592302891198 874 | 2467527303031 875 | 2407803418934 876 | 1651627986218 877 | 1760334789995 878 | 2458305305226 879 | 1927809355780 880 | 2716231295888 881 | 4303854904446 882 | 4000106310132 883 | 1957601642931 884 | 2015799492374 885 | 2134195781391 886 | 2752943390368 887 | 5884813160570 888 | 2212546292902 889 | 2458521821481 890 | 4682952511494 891 | 3015332147415 892 | 3021997499849 893 | 3026676782489 894 | 3168581864682 895 | 4386331177261 896 | 3179926499756 897 | 3239251594776 898 | 7141257816720 899 | 3411962776213 900 | 6343932820192 901 | 3579437341998 902 | 3776134282369 903 | 3943608848154 904 | 4062005137171 905 | 3973401135305 906 | 7943715158286 907 | 6591889275969 908 | 4091797424322 909 | 5031131639789 910 | 6844740814690 911 | 7301256731947 912 | 5227878440317 913 | 4671068114383 914 | 6048674282338 915 | 6183914012097 916 | 10959047305701 917 | 6190579364531 918 | 6944716147051 919 | 6348508364438 920 | 6419178094532 921 | 6818688936774 922 | 6991400118211 923 | 7188097058582 924 | 7355571624367 925 | 7523046190152 926 | 7552838477303 927 | 7719743130523 928 | 8035406272476 929 | 8065198559627 930 | 8644469249688 931 | 14006785995356 932 | 8762865538705 933 | 19024245865328 934 | 9702199754172 935 | 9898946554700 936 | 11090246208915 937 | 15111373903143 938 | 13378676423113 939 | 12232588294435 940 | 13175314130308 941 | 17421992744852 942 | 12539087728969 943 | 12767686458970 944 | 16798271811181 945 | 13237867031306 946 | 18661812093405 947 | 15223503331058 948 | 20091926206272 949 | 14878617814519 950 | 21443874982740 951 | 15618037036930 952 | 15755149402999 953 | 16679875522164 954 | 16709667809315 955 | 22023145672801 956 | 32553421214180 957 | 28257294237632 958 | 19601146308872 959 | 32645496075910 960 | 23136813586006 961 | 23629333937884 962 | 24771676023404 963 | 27417705543488 964 | 25000274753405 965 | 37767961212375 966 | 31373186439929 967 | 37539362482374 968 | 26005553490276 969 | 28116484845825 970 | 28461370362364 971 | 30102121145577 972 | 30496654851449 973 | 30633767217518 974 | 42995102660344 975 | 33389543331479 976 | 32327704846245 977 | 32435024925163 978 | 41709942562720 979 | 49037372655560 980 | 41624291981673 981 | 42737959894878 982 | 48137088339411 983 | 43230480246756 984 | 73083129002649 985 | 46766147523890 986 | 48401009961288 987 | 49771950776809 988 | 61506028177304 989 | 51005828243681 990 | 54122038336101 991 | 56107674635853 992 | 56502208341725 993 | 97731966617526 994 | 58750252063343 995 | 100888185859991 996 | 60598775997026 997 | 61130422068967 998 | 198620152477517 999 | 89891751673204 1000 | 99240168236603 1001 | 1002 | -------------------------------------------------------------------------------- /day04/input.txt: -------------------------------------------------------------------------------- 1 | byr:1937 2 | eyr:2030 pid:154364481 3 | hgt:158cm iyr:2015 ecl:brn hcl:#c0946f cid:155 4 | 5 | cid:279 6 | eyr:2029 7 | pid:675014709 ecl:amb 8 | byr:1985 hgt:179in hcl:z iyr:2025 9 | 10 | iyr:2011 hgt:181cm hcl:#341e13 pid:282499883 byr:1953 11 | eyr:2023 12 | ecl:brn 13 | 14 | eyr:2040 iyr:1984 pid:2371396209 byr:1951 cid:283 hgt:164cm 15 | hcl:#623a2f 16 | 17 | iyr:2014 byr:1966 hgt:153cm pid:900693718 eyr:2020 ecl:gry hcl:#866857 18 | 19 | eyr:2020 hgt:162cm 20 | byr:1939 pid:900852891 iyr:2020 21 | ecl:oth hcl:#b6652a 22 | 23 | iyr:1956 24 | hcl:2385ac 25 | hgt:167in 26 | ecl:#9b82e8 27 | eyr:2003 28 | cid:214 byr:2012 pid:483285062 29 | 30 | cid:146 byr:1938 hcl:#c0946f pid:136823471 31 | hgt:180cm iyr:2011 32 | eyr:2020 ecl:gry 33 | 34 | cid:100 hgt:187cm 35 | byr:1973 ecl:blu 36 | iyr:2020 37 | hcl:#888785 eyr:2030 38 | pid:386799181 39 | 40 | ecl:#dbba4f 41 | hcl:z iyr:2028 pid:193cm 42 | byr:2029 43 | eyr:1962 hgt:113 44 | 45 | cid:269 byr:1928 pid:604152679 46 | iyr:2017 eyr:2027 47 | hcl:#c0946f 48 | hgt:189cm 49 | ecl:blu 50 | 51 | pid:653548437 hcl:z cid:166 iyr:2011 eyr:1967 52 | hgt:162 ecl:xry byr:2019 53 | 54 | byr:1979 ecl:hzl iyr:2018 hcl:#7d3b0c 55 | eyr:2026 56 | pid:981366150 hgt:151cm 57 | 58 | pid:055334062 cid:272 eyr:2025 ecl:grn iyr:2016 hgt:159cm hcl:#a97842 byr:1989 59 | 60 | eyr:2033 61 | hgt:170cm ecl:brn pid:#299cf2 hcl:#602927 byr:2004 iyr:2023 62 | 63 | iyr:2020 cid:273 64 | pid:038972962 65 | hcl:#c0946f hgt:152cm 66 | eyr:2021 ecl:blu byr:1986 67 | 68 | pid:015622106 hgt:154cm iyr:2012 byr:1922 69 | eyr:2028 hcl:#9dc667 ecl:blu 70 | 71 | iyr:2017 eyr:2025 hgt:179cm cid:324 72 | pid:579870519 byr:1934 73 | 74 | hcl:#6b5442 eyr:2021 75 | pid:104071480 ecl:brn 76 | hgt:162cm cid:89 byr:1949 77 | iyr:2017 78 | 79 | pid:388871409 cid:163 hgt:190cm ecl:amb eyr:2022 iyr:2019 byr:1963 hcl:#fffffd 80 | 81 | cid:190 byr:1968 iyr:2018 82 | hgt:155cm hcl:#6b5442 ecl:grn 83 | pid:891458997 eyr:2030 84 | 85 | hcl:z 86 | cid:103 iyr:2026 hgt:171 byr:1979 87 | pid:076174078 88 | eyr:2031 ecl:#fc4638 89 | 90 | hcl:#f8063e pid:684921958 ecl:gry eyr:2020 iyr:2011 91 | byr:1958 hgt:189cm 92 | cid:131 93 | 94 | ecl:gry cid:90 iyr:2010 hgt:165cm 95 | pid:683095019 byr:1953 96 | hcl:#341e13 97 | eyr:2030 98 | 99 | pid:000303662 100 | ecl:amb iyr:2014 hcl:#733820 byr:1964 hgt:184cm cid:149 101 | eyr:2027 102 | 103 | hcl:#341e13 hgt:150cm byr:1999 eyr:2022 pid:950260967 cid:72 104 | ecl:grn iyr:2012 105 | 106 | cid:159 byr:1987 107 | hcl:#623a2f pid:144877169 eyr:2021 ecl:brn hgt:164cm 108 | 109 | pid:759578668 110 | cid:235 ecl:amb hgt:154cm 111 | eyr:2023 byr:1941 hcl:#fffffd 112 | iyr:2023 113 | 114 | pid:18101245 hcl:z hgt:172in iyr:1947 byr:1956 ecl:grn eyr:1964 115 | 116 | eyr:1980 pid:#8d62b1 ecl:#3e8868 cid:235 117 | iyr:1978 hcl:#efcc98 118 | byr:2025 hgt:181in 119 | 120 | hgt:64cm hcl:3bc533 iyr:2019 byr:2015 pid:158cm eyr:2027 ecl:#1abbd7 121 | 122 | eyr:2020 iyr:2011 123 | pid:739854643 byr:1941 hgt:179cm hcl:#602927 ecl:gry cid:330 124 | 125 | hcl:#a97842 iyr:2011 hgt:167cm pid:527353688 byr:1927 cid:256 eyr:2026 ecl:grn 126 | 127 | iyr:2011 pid:350783151 hgt:168cm 128 | byr:1961 ecl:amb hcl:#341e13 129 | cid:181 130 | 131 | eyr:2025 hgt:160cm 132 | ecl:brn hcl:#cfa07d pid:136929481 133 | iyr:2017 134 | 135 | ecl:oth byr:1994 iyr:2020 hgt:162cm pid:578918570 eyr:2027 hcl:#fffffd 136 | cid:325 137 | 138 | hgt:63in byr:1925 139 | ecl:amb iyr:2014 cid:224 140 | hcl:#341e13 pid:208286938 141 | 142 | ecl:#76434f hgt:97 143 | hcl:z eyr:1968 pid:#871dc8 iyr:1955 144 | byr:2007 145 | 146 | byr:2011 147 | eyr:1962 hcl:9ac7b8 pid:6836105558 148 | ecl:#d7084f 149 | iyr:2023 hgt:76cm 150 | 151 | eyr:2016 iyr:2030 hgt:107 pid:948192703 byr:2013 152 | hcl:b80af7 ecl:#d47439 153 | 154 | eyr:2027 iyr:2017 155 | pid:#27d2a6 byr:1921 ecl:brn hcl:#c0946f hgt:59in 156 | 157 | byr:1982 hcl:#ceb3a1 ecl:brn eyr:2020 hgt:63in 158 | iyr:2017 159 | 160 | ecl:brn hgt:152cm byr:1962 161 | iyr:2013 162 | pid:381950515 hcl:#2afabd eyr:2020 163 | 164 | hgt:158cm ecl:gry pid:252068098 165 | cid:281 eyr:2023 byr:1950 iyr:2016 166 | hcl:#ceb3a1 167 | 168 | byr:1922 169 | hgt:187cm cid:74 170 | hcl:#a97842 171 | ecl:amb 172 | pid:045338811 173 | eyr:2025 iyr:2019 174 | 175 | hgt:176cm eyr:2022 iyr:2019 byr:1938 ecl:blu pid:610286298 176 | hcl:#a97842 177 | 178 | iyr:2028 byr:2025 179 | eyr:2039 pid:72530856 ecl:#a819ad hgt:69 hcl:z 180 | 181 | iyr:2018 eyr:2030 182 | hcl:#8b1e1f ecl:hzl byr:1971 183 | pid:189005628 184 | 185 | pid:531154383 eyr:2020 hcl:#733820 ecl:oth 186 | hgt:72in 187 | iyr:2016 188 | byr:1983 189 | 190 | hgt:178cm hcl:#623a2f pid:562756202 191 | eyr:2020 192 | byr:1929 ecl:oth 193 | iyr:2013 194 | 195 | iyr:2013 byr:1983 pid:510998389 ecl:gry 196 | cid:99 hcl:#a97842 197 | 198 | ecl:gry eyr:2026 199 | cid:202 hgt:191cm byr:1981 200 | pid:414853225 201 | hcl:#7d3b0c 202 | 203 | hcl:#866857 byr:1951 eyr:2020 hgt:169cm pid:844496997 204 | iyr:2016 ecl:brn 205 | 206 | pid:083641628 iyr:2019 eyr:2030 207 | byr:1938 ecl:hzl hcl:#b6652a hgt:68in 208 | 209 | hcl:#18171d 210 | byr:1981 211 | pid:425911593 cid:309 eyr:2026 ecl:brn hgt:168cm 212 | 213 | hcl:c84fda pid:#80d5e6 byr:1925 hgt:162cm iyr:2026 214 | eyr:2036 ecl:#62c166 215 | 216 | pid:461660733 eyr:2028 217 | hgt:167cm ecl:hzl hcl:#cfa07d iyr:2010 218 | cid:183 219 | 220 | eyr:1930 byr:2021 iyr:2016 pid:163cm 221 | hcl:79428f cid:136 222 | ecl:amb 223 | 224 | hcl:#efcc98 hgt:176cm eyr:2022 ecl:brn iyr:2013 pid:541033681 byr:1952 225 | 226 | hgt:59cm 227 | ecl:#d9b0bc pid:#3ab4b4 hcl:7aa29f 228 | eyr:2034 229 | byr:2011 cid:266 iyr:2004 230 | 231 | byr:1991 hcl:#cfa07d cid:259 hgt:67cm eyr:2024 pid:631601343 ecl:brn iyr:2011 232 | 233 | byr:2020 234 | ecl:gry iyr:1944 235 | pid:421649652 hgt:107 236 | hcl:6d8593 eyr:2026 237 | 238 | ecl:blu 239 | byr:1953 hgt:66in hcl:#888785 eyr:2021 pid:174284708 240 | 241 | ecl:#8f2c20 242 | pid:27713962 iyr:2010 cid:149 byr:1952 hcl:#866857 eyr:2030 243 | hgt:186cm 244 | 245 | eyr:2023 byr:1989 ecl:blu 246 | hcl:#18171d pid:480641 iyr:2020 247 | hgt:74in 248 | 249 | hcl:#efcc98 250 | eyr:2023 hgt:157cm byr:1968 251 | iyr:2013 252 | ecl:amb pid:436599087 253 | 254 | eyr:2021 255 | hgt:175cm hcl:#efcc98 ecl:hzl pid:701245439 256 | byr:1943 iyr:2015 257 | 258 | hgt:164cm pid:310546869 259 | eyr:2021 hcl:#b6652a ecl:oth iyr:2011 cid:181 260 | byr:2001 261 | 262 | byr:2016 hcl:94f4b9 eyr:1922 hgt:155cm ecl:hzl iyr:2009 pid:83440078 263 | 264 | iyr:2014 hgt:60in 265 | eyr:2031 266 | hcl:#c0946f 267 | byr:1948 ecl:grt pid:117909137 268 | 269 | byr:1965 hgt:186cm iyr:2010 cid:117 hcl:#602927 pid:806868279 270 | eyr:2029 271 | ecl:grn 272 | 273 | ecl:amb hgt:187cm hcl:#c0946f byr:1935 274 | cid:139 iyr:2019 eyr:2023 275 | 276 | pid:925865182 277 | byr:1952 hgt:158cm hcl:#619e03 ecl:gry eyr:2026 278 | iyr:2016 279 | 280 | iyr:2012 hgt:73in 281 | cid:199 282 | byr:1959 283 | ecl:hzl hcl:#fcd2f7 pid:268810283 284 | 285 | eyr:2025 286 | pid:317239854 ecl:brn byr:1955 hcl:#fffffd cid:220 hgt:175cm 287 | iyr:2015 288 | 289 | ecl:blu 290 | byr:1939 hcl:#3332c0 291 | iyr:2019 pid:832588457 eyr:2030 hgt:192cm 292 | 293 | hgt:64cm cid:326 ecl:oth byr:2025 eyr:2025 hcl:z iyr:2012 pid:0394683801 294 | 295 | ecl:amb byr:1966 296 | pid:734257450 hgt:65in hcl:#fffffd iyr:2018 eyr:2025 297 | cid:287 298 | 299 | cid:249 300 | eyr:2034 ecl:#7b7bf5 byr:2009 pid:171cm hcl:709fe4 301 | 302 | hcl:d7c488 ecl:#b9bbb2 303 | pid:55277333 304 | cid:90 byr:2022 iyr:1978 305 | hgt:69cm eyr:1981 306 | 307 | hcl:z 308 | byr:1949 pid:057966198 eyr:1941 309 | iyr:2025 310 | 311 | hgt:168cm ecl:hzl hcl:#866857 iyr:2011 pid:052204052 eyr:2030 312 | byr:1970 313 | 314 | pid:318707043 eyr:2029 ecl:hzl hcl:#888785 315 | byr:1932 iyr:2010 316 | hgt:166cm 317 | 318 | hcl:z iyr:2010 ecl:oth byr:2006 cid:120 pid:#15d5ef eyr:2039 hgt:73cm 319 | 320 | hcl:96c534 hgt:193in eyr:2036 byr:2008 ecl:#090691 cid:109 pid:603339169 iyr:2027 321 | 322 | iyr:2029 323 | ecl:utc 324 | pid:5845500732 hcl:2a32b8 325 | byr:2009 eyr:2040 326 | cid:305 hgt:71cm 327 | 328 | byr:1994 iyr:2015 329 | eyr:2026 330 | hcl:#623a2f pid:678627790 331 | hgt:176cm ecl:blu 332 | 333 | byr:2005 hcl:z 334 | ecl:zzz pid:#47729a eyr:2039 hgt:62cm iyr:1983 335 | 336 | hcl:#cfa07d ecl:blu 337 | iyr:2014 eyr:2025 pid:824483836 hgt:174cm byr:1933 338 | 339 | hgt:70in 340 | iyr:2010 cid:53 eyr:2023 pid:093704222 ecl:amb hcl:#a97842 byr:1945 341 | 342 | ecl:brn hcl:#602927 byr:1986 eyr:2029 343 | pid:422160398 344 | cid:134 345 | hgt:156cm 346 | iyr:2020 347 | 348 | iyr:2014 hgt:187cm byr:1921 eyr:2022 ecl:amb 349 | 350 | pid:765750572 eyr:2021 351 | ecl:hzl 352 | iyr:1997 hgt:66 353 | 354 | iyr:2016 355 | ecl:blu 356 | cid:335 357 | hgt:175cm pid:297297703 hcl:#b6652a 358 | eyr:2030 359 | 360 | hgt:64in hcl:#866857 pid:159cm byr:1972 361 | cid:321 eyr:2021 ecl:brn 362 | iyr:2017 363 | 364 | pid:884038003 365 | iyr:2016 hgt:188cm ecl:grn 366 | byr:1928 eyr:2027 hcl:#341e13 367 | 368 | pid:020315021 hgt:60in ecl:amb iyr:2018 369 | hcl:#602927 370 | eyr:2028 371 | byr:1935 372 | 373 | byr:1946 eyr:2021 hcl:#efcc98 iyr:2015 374 | cid:52 375 | hgt:177cm 376 | pid:841348804 377 | 378 | ecl:gry eyr:2027 379 | byr:1959 pid:482204272 380 | hcl:#888785 381 | iyr:2013 382 | 383 | hcl:#623a2f 384 | eyr:2027 iyr:2011 hgt:189cm pid:767923916 ecl:hzl 385 | byr:1987 386 | 387 | hgt:152in hcl:#efcc98 ecl:hzl eyr:2030 byr:1971 iyr:1978 pid:499148724 388 | cid:194 389 | 390 | pid:#87513f hcl:e2a5de byr:2015 iyr:2016 hgt:155cm eyr:2024 391 | ecl:gry cid:123 392 | 393 | byr:1977 394 | iyr:2028 395 | hcl:#888785 pid:69801913 eyr:2026 hgt:165in ecl:brn 396 | 397 | byr:1938 hcl:#efcc98 hgt:154cm pid:621714851 eyr:1972 ecl:gry iyr:2014 cid:161 398 | 399 | hcl:#a97842 400 | hgt:184cm ecl:oth pid:009682326 401 | cid:233 eyr:2023 iyr:2019 byr:1982 402 | 403 | hcl:#ceb3a1 pid:700761574 eyr:2020 byr:1940 iyr:2017 404 | ecl:gry hgt:76in 405 | 406 | iyr:2017 cid:73 407 | ecl:hzl 408 | hcl:#efcc98 pid:363441284 409 | hgt:177cm byr:1924 eyr:2028 410 | 411 | hcl:#a97842 eyr:2023 byr:1989 pid:589573553 412 | ecl:oth 413 | iyr:2017 hgt:162cm 414 | 415 | ecl:oth 416 | byr:2001 hgt:167cm hcl:#18171d eyr:2028 iyr:2015 pid:253666913 417 | 418 | byr:1943 ecl:amb 419 | hcl:#888785 pid:163cm iyr:2025 hgt:76 eyr:2026 420 | 421 | byr:1963 eyr:2030 422 | hgt:158in iyr:2023 pid:399153486 hcl:#733820 423 | 424 | pid:43290252 hgt:167cm cid:302 iyr:2016 hcl:f81436 425 | byr:1992 ecl:gry 426 | eyr:1922 427 | 428 | pid:487300118 hgt:167cm hcl:#888785 429 | iyr:2018 ecl:oth cid:286 byr:1971 eyr:2021 430 | 431 | eyr:2036 432 | hgt:94 433 | byr:2013 434 | cid:162 hcl:37408d pid:527721797 ecl:dne 435 | iyr:2022 436 | 437 | hcl:5e67df byr:1973 pid:48217944 hgt:65in eyr:2023 438 | iyr:2001 ecl:gry 439 | 440 | hcl:717ef8 eyr:1996 pid:154cm ecl:#e2c90e 441 | iyr:2028 442 | byr:2009 hgt:184cm 443 | 444 | iyr:2015 pid:549968053 hcl:#efcc98 445 | hgt:151cm eyr:2025 446 | byr:1993 447 | ecl:gry 448 | 449 | hgt:165cm ecl:gry 450 | iyr:2020 451 | byr:1927 hcl:#602927 pid:278946330 452 | eyr:2027 453 | 454 | eyr:2031 455 | ecl:#b01aae pid:151cm 456 | cid:188 iyr:2025 457 | hgt:60cm byr:2015 458 | 459 | eyr:2028 pid:928740840 460 | byr:1931 461 | hgt:191cm iyr:2014 cid:305 462 | hcl:#6b5442 463 | ecl:oth 464 | 465 | hcl:#7d3b0c cid:283 byr:1923 ecl:amb 466 | pid:781290431 iyr:2019 467 | eyr:2021 468 | hgt:191cm 469 | 470 | byr:2027 471 | pid:51702036 472 | iyr:2028 hgt:165in ecl:gry hcl:z 473 | eyr:2036 474 | 475 | byr:1971 476 | ecl:blu iyr:2012 pid:986042111 477 | eyr:2021 hcl:#888785 478 | hgt:68in 479 | 480 | hgt:183cm byr:2030 481 | iyr:2013 482 | cid:209 pid:989002507 483 | ecl:hzl eyr:2028 hcl:59c2ce 484 | 485 | ecl:gry iyr:2020 pid:895856989 hcl:#888785 486 | hgt:185cm byr:1964 eyr:2025 487 | 488 | ecl:gry 489 | hgt:183cm cid:97 hcl:#93be9b eyr:2021 490 | byr:1995 pid:668647173 491 | 492 | hcl:#733820 eyr:2027 493 | byr:1977 pid:242773849 hgt:184cm iyr:2017 494 | cid:76 ecl:brn 495 | 496 | hgt:167 hcl:z byr:2012 eyr:2027 497 | pid:590438786 ecl:hzl 498 | cid:101 iyr:1994 499 | 500 | iyr:2015 501 | hcl:#888785 eyr:2024 502 | ecl:blu pid:279218875 cid:178 byr:1944 hgt:74in 503 | 504 | ecl:oth cid:334 pid:169599381 505 | hcl:#7d3b0c eyr:2028 hgt:172cm iyr:2010 506 | 507 | eyr:2033 byr:1973 cid:333 iyr:2019 hcl:z ecl:utc 508 | hgt:178cm pid:#e7abc0 509 | 510 | eyr:2026 ecl:blu cid:264 byr:1998 hgt:177cm hcl:#602927 511 | pid:770052780 512 | iyr:2019 513 | 514 | ecl:blu 515 | iyr:2016 cid:232 eyr:2023 516 | pid:643597545 hgt:167cm byr:1986 hcl:#cfa07d 517 | 518 | pid:017818204 519 | iyr:2017 eyr:2028 hgt:168cm hcl:#602927 byr:1931 ecl:oth 520 | 521 | byr:1984 ecl:grn hgt:191cm hcl:#efcc98 pid:408382086 522 | iyr:2010 eyr:2025 523 | 524 | hgt:158cm ecl:#25e195 byr:1929 pid:0367744553 eyr:1957 iyr:2017 525 | hcl:z 526 | 527 | hgt:168cm byr:1977 pid:006609828 528 | eyr:2024 529 | iyr:2015 530 | ecl:amb hcl:#b6652a 531 | 532 | pid:635167847 iyr:2010 hcl:#18171d hgt:163cm ecl:grn 533 | eyr:2026 534 | 535 | pid:423029177 byr:1995 536 | iyr:2014 ecl:hzl 537 | hgt:185cm hcl:#c0946f eyr:2024 cid:230 538 | 539 | pid:#3e3109 ecl:#a8a0aa iyr:2020 hcl:#733820 eyr:2021 byr:2010 hgt:179in 540 | 541 | iyr:2017 byr:1938 eyr:2022 hcl:#733820 ecl:amb hgt:157cm pid:162425330 542 | 543 | hgt:160cm 544 | cid:339 byr:1938 545 | hcl:#341e13 546 | eyr:2025 iyr:2015 547 | pid:562755634 548 | 549 | cid:283 byr:1954 ecl:blu hcl:#ceb3a1 hgt:169cm iyr:2013 pid:616439723 550 | 551 | pid:830940520 eyr:2022 552 | byr:1981 hgt:193cm hcl:#18171d iyr:2013 553 | cid:117 554 | 555 | hcl:#866857 iyr:2019 ecl:hzl byr:1962 hgt:72in eyr:2020 556 | 557 | byr:2015 pid:4530685490 ecl:#c7604e hcl:z 558 | hgt:151 eyr:1972 iyr:1948 559 | 560 | pid:0800674852 hcl:z 561 | ecl:#2a275e hgt:61cm 562 | iyr:1950 eyr:1938 563 | 564 | iyr:2028 565 | eyr:1998 566 | pid:#c604ca 567 | hgt:122 hcl:z 568 | ecl:dne cid:160 byr:2018 569 | 570 | hcl:z 571 | cid:67 iyr:2029 572 | byr:1973 573 | ecl:amb eyr:2030 574 | hgt:66 575 | 576 | ecl:hzl 577 | pid:483557353 eyr:2021 578 | hgt:172cm iyr:2011 579 | hcl:#888785 580 | byr:1963 581 | 582 | eyr:2030 ecl:brn hcl:#fffffd byr:1969 583 | hgt:161cm pid:632930895 584 | iyr:2017 585 | 586 | iyr:2015 byr:2000 587 | pid:525557240 hgt:156cm eyr:2029 588 | ecl:brn hcl:#64bf85 589 | 590 | byr:2007 591 | iyr:2012 eyr:2029 ecl:#7c1d6f pid:612320497 hgt:165in 592 | 593 | eyr:2026 ecl:grn cid:93 594 | hcl:#888785 hgt:134 pid:745552484 iyr:2019 byr:1999 595 | 596 | byr:2001 pid:984678649 hgt:173cm ecl:oth iyr:2012 cid:345 hcl:#fffffd 597 | eyr:2028 598 | 599 | hcl:#341e13 pid:308853935 600 | byr:1972 hgt:160cm iyr:2012 eyr:2026 601 | ecl:amb cid:97 602 | 603 | hcl:z hgt:151 604 | ecl:grn pid:132866718 605 | iyr:2021 byr:1932 606 | eyr:2024 607 | 608 | eyr:2027 byr:1923 609 | ecl:oth hgt:174cm hcl:#733820 610 | pid:099185839 611 | iyr:2017 612 | 613 | iyr:2017 ecl:gry byr:1941 614 | hgt:74in 615 | pid:540930352 616 | hcl:#888785 eyr:2023 617 | 618 | hgt:161cm cid:277 619 | hcl:#866857 620 | byr:1928 621 | eyr:2030 ecl:blu 622 | iyr:2020 pid:358953579 623 | 624 | hgt:155cm eyr:1930 625 | iyr:2015 ecl:utc 626 | pid:163cm 627 | byr:2008 hcl:#733820 cid:156 628 | 629 | byr:1946 hgt:164cm 630 | cid:234 iyr:2015 631 | pid:168804387 eyr:2025 632 | ecl:hzl hcl:#a97842 633 | 634 | hgt:184cm 635 | hcl:#7d3b0c byr:1996 cid:193 iyr:2011 ecl:amb eyr:2030 pid:940497049 636 | 637 | hcl:#733820 iyr:2016 hgt:168 638 | eyr:2020 639 | cid:118 pid:9871436 ecl:gry 640 | 641 | pid:416683862 642 | hgt:162in 643 | hcl:#602927 byr:2027 644 | eyr:2027 ecl:gmt 645 | 646 | ecl:#771e11 647 | iyr:2024 648 | cid:81 pid:741843390 649 | hcl:#866857 byr:2012 eyr:1964 650 | hgt:157in 651 | 652 | pid:720946735 653 | byr:2002 hcl:#18171d iyr:2026 hgt:70cm 654 | ecl:brn eyr:2025 655 | 656 | byr:1987 hcl:#623a2f 657 | hgt:165cm pid:087526326 ecl:grn 658 | iyr:2017 eyr:2021 659 | 660 | byr:2014 hgt:193cm 661 | iyr:2018 hcl:z 662 | eyr:2027 pid:792398819 663 | 664 | cid:233 665 | hcl:z ecl:#18002d hgt:174cm iyr:2027 eyr:1944 666 | 667 | pid:142615460 ecl:blu eyr:2021 668 | hcl:#c88693 iyr:2017 cid:182 hgt:152cm byr:1966 669 | 670 | hcl:z hgt:65cm 671 | eyr:1944 ecl:dne byr:2029 pid:1066768764 672 | iyr:2015 673 | cid:149 674 | 675 | hcl:z pid:25144284 hgt:152in 676 | byr:2009 677 | cid:276 eyr:2037 678 | iyr:2010 ecl:gmt 679 | 680 | cid:88 hcl:ed6b8a ecl:xry hgt:178in pid:36832491 byr:2020 iyr:2012 eyr:1993 681 | 682 | byr:1972 iyr:2009 pid:324213657 hgt:160 hcl:z cid:259 eyr:2021 ecl:grn 683 | 684 | hcl:#7d3b0c pid:164496070 eyr:2024 ecl:brn hgt:165cm 685 | 686 | pid:955035528 687 | byr:1967 eyr:2021 iyr:2015 hcl:#fffffd hgt:156cm 688 | cid:237 689 | ecl:blu 690 | 691 | hcl:z 692 | eyr:2038 iyr:1973 ecl:grt hgt:193in 693 | pid:41385449 byr:2011 694 | cid:119 695 | 696 | byr:1934 pid:713339056 hgt:157cm cid:250 iyr:2016 ecl:blu hcl:#866857 eyr:2026 697 | 698 | hgt:186cm byr:2012 699 | eyr:2022 700 | iyr:2013 hcl:#733820 pid:226693031 ecl:hzl 701 | 702 | cid:118 pid:56750275 hcl:#cfa07d iyr:2028 eyr:2033 byr:1933 hgt:166cm 703 | 704 | byr:1973 705 | ecl:hzl hgt:167 hcl:z 706 | iyr:2015 pid:70648423 707 | 708 | byr:1929 709 | iyr:2012 pid:083005744 ecl:brn hgt:162cm 710 | eyr:2024 711 | hcl:#cfa07d 712 | 713 | hcl:#623a2f hgt:174cm 714 | eyr:2026 iyr:2020 715 | ecl:grn 716 | byr:1981 717 | 718 | cid:236 byr:1979 iyr:2013 ecl:amb eyr:2030 hcl:#6b5442 pid:768869830 719 | 720 | hcl:#341e13 byr:1998 iyr:2020 721 | pid:857980686 722 | ecl:hzl hgt:175cm eyr:2028 723 | 724 | hgt:169in 725 | cid:305 eyr:2023 726 | ecl:gry pid:833031763 hcl:#ceb3a1 iyr:2015 byr:1974 727 | 728 | pid:370671195 hgt:162cm 729 | iyr:2018 ecl:oth byr:2001 hcl:#7d3b0c 730 | eyr:2021 731 | 732 | eyr:2026 733 | ecl:brn 734 | cid:288 735 | hcl:#866857 iyr:2010 byr:1922 736 | pid:309109383 737 | 738 | byr:1949 iyr:2015 pid:832774982 eyr:2029 739 | hgt:182cm 740 | hcl:#b7144c ecl:amb 741 | 742 | eyr:2029 iyr:2020 743 | hcl:#c0946f 744 | pid:953788134 745 | byr:1954 hgt:167cm 746 | 747 | pid:981508704 eyr:2023 iyr:2013 hgt:66in cid:68 hcl:#fffffd byr:1996 ecl:oth 748 | 749 | iyr:2011 byr:1932 cid:232 eyr:2030 750 | hcl:#c0946f 751 | hgt:169cm pid:994763987 752 | ecl:hzl 753 | 754 | ecl:gmt eyr:2031 hcl:z 755 | byr:2006 cid:86 hgt:59cm iyr:1998 pid:#349a7f 756 | 757 | hcl:#7d3b0c iyr:2013 pid:549500594 eyr:2024 byr:1971 ecl:oth 758 | hgt:153cm 759 | 760 | iyr:2015 761 | byr:1940 pid:798926275 eyr:2027 762 | hcl:#cfa07d 763 | hgt:158cm ecl:amb 764 | 765 | ecl:brn pid:077141823 766 | eyr:1945 iyr:2023 hcl:#602927 byr:1956 767 | hgt:152 768 | 769 | iyr:2022 770 | byr:2007 771 | hcl:f87f81 pid:8404831740 eyr:2033 hgt:170cm 772 | ecl:gmt 773 | 774 | iyr:1958 775 | ecl:dne hcl:840fbe 776 | cid:55 eyr:2032 pid:19403738 hgt:170cm 777 | byr:2029 778 | 779 | ecl:brn pid:864743117 780 | eyr:2025 781 | hgt:188cm byr:1934 hcl:#623a2f 782 | iyr:2011 783 | 784 | iyr:2010 pid:877675472 hcl:#7d3b0c eyr:2027 byr:1954 hgt:182cm 785 | ecl:oth 786 | 787 | iyr:2015 hcl:#a97842 pid:719192774 ecl:brn 788 | byr:1993 789 | hgt:186cm 790 | 791 | eyr:2021 hgt:176cm pid:395161956 hcl:#602927 792 | ecl:grn iyr:2020 byr:1972 793 | 794 | hcl:#fffffd hgt:167cm byr:1945 ecl:grn iyr:2017 eyr:2026 795 | 796 | hcl:#6b5442 ecl:gry cid:208 hgt:155cm iyr:2010 byr:1933 pid:040244553 797 | eyr:2029 798 | 799 | iyr:1960 cid:281 ecl:#8f7c45 hcl:z pid:11609858 eyr:1955 hgt:150in 800 | byr:1985 801 | 802 | hgt:150cm byr:2002 hcl:#fffffd 803 | pid:337375886 iyr:2011 ecl:amb 804 | eyr:2037 805 | 806 | iyr:2014 ecl:oth hgt:155cm hcl:#866857 eyr:2025 pid:614859979 cid:338 807 | byr:1952 808 | 809 | hcl:#623a2f hgt:156cm 810 | iyr:2010 ecl:amb byr:1997 811 | cid:285 812 | pid:225568504 eyr:2020 813 | 814 | iyr:2021 hcl:#ceb3a1 ecl:#d6db5a pid:185cm eyr:2020 cid:130 byr:2009 815 | 816 | byr:1956 817 | cid:245 iyr:1954 ecl:dne hcl:#341e13 eyr:2040 hgt:71cm pid:838134394 818 | 819 | eyr:2027 820 | byr:1994 ecl:amb iyr:2014 hgt:168cm 821 | cid:278 822 | hcl:#602927 pid:758176176 823 | 824 | hcl:#941519 ecl:gry eyr:2030 byr:1921 825 | pid:9477831046 826 | iyr:2018 hgt:189cm 827 | 828 | cid:339 hcl:#6b5442 829 | byr:1972 830 | ecl:oth 831 | iyr:2014 hgt:183cm eyr:2020 832 | 833 | cid:165 834 | eyr:1926 hcl:#6b5442 iyr:1956 hgt:65cm byr:2029 835 | pid:9240052093 ecl:xry 836 | 837 | ecl:grn 838 | eyr:2027 839 | hcl:#fffffd byr:1975 iyr:2011 hgt:177cm pid:825090410 cid:121 840 | 841 | byr:1934 842 | hcl:#733820 pid:133141914 eyr:2027 843 | hgt:66in 844 | ecl:amb 845 | iyr:2010 cid:262 846 | 847 | iyr:1951 848 | ecl:#bb9733 hcl:89fcbf 849 | byr:2018 pid:#13265f hgt:85 850 | eyr:1977 851 | 852 | hcl:#324bed ecl:hzl hgt:155cm 853 | iyr:2013 byr:1942 eyr:2021 854 | pid:758516520 855 | 856 | ecl:gry 857 | pid:#567782 iyr:2015 hcl:276a6d eyr:2028 858 | hgt:60cm 859 | byr:2005 860 | 861 | hcl:#18171d hgt:191cm eyr:2030 862 | ecl:grn pid:748729106 byr:1922 iyr:2017 863 | 864 | byr:1984 hcl:#733820 eyr:2020 iyr:2013 hgt:64in pid:444446114 865 | ecl:hzl 866 | 867 | byr:2006 ecl:dne iyr:2029 hcl:z 868 | eyr:2023 hgt:68cm 869 | pid:131910019 870 | 871 | iyr:1976 hcl:45191a eyr:2017 hgt:68cm 872 | ecl:oth pid:153cm byr:1968 873 | 874 | ecl:gry byr:1959 eyr:2023 pid:781945569 875 | iyr:2015 hcl:#ceb3a1 hgt:167cm 876 | 877 | hgt:151cm 878 | byr:1959 hcl:#7d3b0c 879 | cid:76 pid:069205247 ecl:gry eyr:2029 880 | iyr:2013 881 | 882 | pid:055193304 883 | hcl:#fffffd 884 | hgt:67in ecl:grn iyr:2011 885 | 886 | eyr:2026 887 | byr:1975 888 | pid:681437369 889 | hgt:173cm hcl:#a97842 890 | iyr:2017 ecl:brn 891 | 892 | pid:298214774 hgt:158cm ecl:hzl 893 | hcl:#866857 byr:1993 iyr:2013 894 | eyr:2028 895 | 896 | hcl:#b6652a eyr:2023 pid:879418046 hgt:193cm 897 | iyr:2014 898 | ecl:brn 899 | 900 | hgt:164cm 901 | eyr:2028 hcl:fbd462 ecl:gry 902 | iyr:2011 byr:1938 pid:029003659 903 | 904 | byr:1999 hgt:171cm eyr:2024 cid:195 pid:041799326 ecl:gry iyr:2012 hcl:#a97842 905 | 906 | byr:1963 pid:7471206322 iyr:2015 ecl:brn hcl:#623a2f hgt:72cm 907 | cid:63 908 | 909 | byr:1961 910 | ecl:hzl hcl:#efcc98 911 | pid:617022365 912 | eyr:2020 hgt:155cm iyr:2018 913 | 914 | pid:385763432 byr:1977 cid:228 hcl:#733820 eyr:2020 915 | hgt:163cm ecl:grt 916 | iyr:2015 917 | 918 | byr:1979 hgt:186in eyr:2037 919 | ecl:dne 920 | iyr:2025 hcl:d93e3e 921 | pid:187cm 922 | 923 | iyr:2018 924 | cid:158 eyr:2020 925 | byr:1929 926 | pid:334374178 hgt:181cm hcl:z ecl:grn 927 | 928 | cid:135 ecl:oth hcl:#623a2f 929 | iyr:2017 930 | eyr:2024 byr:1940 931 | hgt:66in 932 | 933 | cid:92 eyr:2026 hcl:#888785 pid:827526879 byr:1990 934 | hgt:186cm ecl:amb iyr:2014 935 | 936 | pid:575519103 937 | iyr:2016 byr:1964 hcl:#7d3b0c cid:252 hgt:172cm 938 | 939 | hcl:#c0946f 940 | ecl:grn hgt:75in 941 | eyr:2021 pid:426544544 942 | 943 | cid:171 byr:2004 944 | hcl:z 945 | hgt:191cm eyr:2028 pid:#292b3b ecl:brn 946 | 947 | iyr:2016 ecl:hzl 948 | byr:2007 949 | hgt:167cm hcl:#653b4c cid:124 eyr:2022 950 | pid:#27024c 951 | 952 | hgt:177cm byr:2025 953 | hcl:z cid:303 iyr:2016 eyr:2000 ecl:dne 954 | pid:345555418 955 | 956 | eyr:2040 957 | hcl:70fbf6 cid:318 958 | byr:2027 iyr:2022 959 | ecl:#3a037c pid:644624005 960 | hgt:62cm 961 | 962 | ecl:brn iyr:2016 hgt:150cm pid:680594195 cid:324 hcl:#602927 963 | byr:1944 964 | 965 | hcl:z eyr:2022 byr:2020 cid:112 ecl:dne iyr:2029 966 | pid:#3a3560 hgt:153in 967 | 968 | cid:86 969 | ecl:gry byr:1972 hcl:#866857 pid:758976621 hgt:188cm 970 | 971 | pid:#850e8b eyr:2025 hgt:163in 972 | ecl:#71e9e2 973 | hcl:#623a2f 974 | 975 | ecl:amb byr:1958 hgt:193cm 976 | pid:343803154 iyr:2010 eyr:2029 cid:86 hcl:#602927 977 | 978 | hgt:178cm byr:1987 ecl:blu hcl:#866857 iyr:2017 979 | pid:222443921 eyr:2027 980 | 981 | byr:1964 iyr:2001 982 | hgt:180cm eyr:1945 983 | hcl:#fffffd pid:305189916 ecl:#ac3c49 984 | cid:142 985 | 986 | byr:1979 hgt:166cm ecl:brn 987 | cid:202 hcl:#5311ca eyr:2028 pid:874418818 iyr:2014 988 | 989 | hgt:161cm byr:1987 ecl:grn hcl:#6b5442 pid:986096798 990 | cid:74 991 | eyr:2027 iyr:2019 992 | 993 | byr:1964 iyr:1979 eyr:2022 ecl:#77ada3 994 | hcl:#733820 995 | cid:56 996 | 997 | hgt:185cm iyr:2010 pid:214991920 eyr:2023 cid:236 hcl:#866857 ecl:brn byr:1965 998 | 999 | pid:885169578 iyr:2010 byr:1948 ecl:hzl hcl:#18171d 1000 | eyr:2025 hgt:175cm 1001 | 1002 | ecl:oth pid:34655368 1003 | hgt:186 1004 | byr:1968 1005 | hcl:2653c9 1006 | eyr:2030 iyr:2024 1007 | 1008 | eyr:2022 iyr:2015 ecl:gry hgt:65in byr:1994 1009 | pid:766704860 1010 | 1011 | hcl:#c0946f cid:104 iyr:2015 1012 | pid:739274357 1013 | ecl:#ef45c8 1014 | byr:1960 hgt:61in eyr:2026 1015 | 1016 | pid:849044092 eyr:2020 hgt:186cm iyr:2014 1017 | byr:1991 hcl:#866857 1018 | 1019 | hgt:159cm iyr:1950 1020 | eyr:2021 pid:325442644 hcl:#888785 1021 | ecl:gry byr:1986 1022 | 1023 | eyr:2023 hgt:188cm 1024 | iyr:2014 1025 | pid:945115479 byr:1979 ecl:blu hcl:#b6652a 1026 | 1027 | eyr:2024 1028 | cid:274 pid:390115952 byr:1934 hgt:161cm iyr:2017 hcl:#b95b0d 1029 | 1030 | ecl:#a16ec8 pid:187cm hcl:z iyr:2029 hgt:170 1031 | byr:2008 1032 | 1033 | -------------------------------------------------------------------------------- /day02/input.txt: -------------------------------------------------------------------------------- 1 | 2-4 r: prrmspx 2 | 5-6 p: hpzplphxb 3 | 5-8 t: ttttbtttttc 4 | 1-6 k: kkkkkk 5 | 1-3 q: qqqq 6 | 4-8 t: pctpfqtrtttmvptvfmws 7 | 3-5 z: zznzslv 8 | 12-14 h: hhhhhhhhhhhhhhhh 9 | 14-15 v: vvvvvvvvhvvvvdmvv 10 | 8-17 x: xxxxxxdxxxxxxxckxx 11 | 11-12 f: gkfjnffjfcmfwk 12 | 10-12 s: xsgsssshbmsbnss 13 | 6-15 s: sssssnsssssssss 14 | 2-8 d: qnqtrqdrnvq 15 | 5-7 k: lhxkkkk 16 | 4-5 k: xkkkk 17 | 10-16 v: vvvvvvvvvcvvvvvpvv 18 | 1-6 f: ffffflfffffff 19 | 4-5 x: fxdnq 20 | 10-12 p: mkspmhlldqjh 21 | 10-12 r: rcvzzcbdgrcr 22 | 4-7 r: rxbkrrrzrrrtrrr 23 | 18-19 k: kkkkkkkkkkkkkkkkkkk 24 | 1-2 f: sfffffffffffffffff 25 | 1-5 z: mhkzwdxklf 26 | 2-3 r: qzbgrghkmlpxdvd 27 | 2-3 q: mqqpcxbqdf 28 | 7-8 r: rrrrfrrj 29 | 1-9 x: vmxsmwhnxccf 30 | 9-10 t: ttttttttppt 31 | 2-4 x: rxxqxx 32 | 16-17 k: jkfmnwkkztnxvlkkw 33 | 3-4 c: ccbpccccczpcccc 34 | 5-8 g: ggggjggg 35 | 1-3 z: szzzzz 36 | 8-9 l: xnllznclz 37 | 4-10 m: pkmmptjvgsnwmxm 38 | 1-2 r: mbrrtkrjdr 39 | 1-3 c: ccqscsxcnctwlvm 40 | 4-6 p: ppppppppp 41 | 3-5 d: wdddxvmnbdhvzdgqbdm 42 | 5-7 n: nnwbsnqnnvn 43 | 2-11 j: sgbxjvqnbmq 44 | 5-13 q: qqqkpqqqsqqqxqqqq 45 | 2-12 m: kvwlwmmvhbpgmnzfddms 46 | 2-4 j: kjgcpgxgcphkqjjmbwd 47 | 3-6 v: tdvlvv 48 | 10-20 n: tnmhnlznnpnmnfnngnnn 49 | 4-7 h: hhhhhhhh 50 | 9-11 m: mmmmmmmmrmm 51 | 7-9 b: mbnbbbbqk 52 | 9-10 z: fqzzzmzzzzj 53 | 3-15 s: chdpzcpgsgrkhss 54 | 3-4 k: kklz 55 | 1-5 q: ltqqqxcndqrq 56 | 9-17 m: mmmmmmmmqdlmmxbmtmmm 57 | 14-16 k: kkkkkkmkkkkkjtkkk 58 | 8-9 k: kkkkkqkkxlk 59 | 2-6 n: kbhhjhdmgtn 60 | 3-8 w: rcwwwkqwbwkwmdqtwmw 61 | 10-11 x: snkbxmwqwxp 62 | 2-5 m: pmhmp 63 | 6-7 b: bbbbbbq 64 | 3-7 l: cfqmljq 65 | 9-13 q: qzqqqqqqqlqdt 66 | 2-10 w: kmwqwtwkssd 67 | 4-13 t: ttblttttttttftt 68 | 14-17 l: llllllwllllllwllclll 69 | 3-4 p: xzps 70 | 10-14 b: bjbbbbbpbdbbbb 71 | 5-7 v: jlvhjtvx 72 | 6-9 r: bscrrrrcrphffdw 73 | 5-7 r: brrvjrxfrljwxp 74 | 15-16 b: bbbbbbbbbbbbbbbb 75 | 7-8 h: bchfxxshh 76 | 2-13 z: zzqzzzzzzzzzzzz 77 | 1-5 b: bbbbrbbhbbbbbcb 78 | 2-3 k: zkkzjld 79 | 4-6 f: fnffffff 80 | 8-11 d: qdvdddddndphdndmgdkp 81 | 17-18 q: qqqkqqqqqqcqqqqtqq 82 | 11-16 m: mmmwmwxvmmmmmmmmmmm 83 | 12-13 v: vvvvfxvgblvvk 84 | 4-6 v: vsvvvvv 85 | 2-4 p: rqgm 86 | 7-8 r: rrrrrfrf 87 | 2-4 j: xpjjl 88 | 7-8 b: wdpbvwbb 89 | 15-16 k: fkkkskkkmkkkkkkk 90 | 10-14 s: shkscsqjszstssv 91 | 3-4 l: lllw 92 | 2-4 n: gjbnlsxvqmvxgcwntvvs 93 | 6-12 l: lclllgllllllll 94 | 16-17 b: bbbbbbbbbbbbbbbbbbb 95 | 7-8 q: pqqqqqwq 96 | 1-2 r: rrzsr 97 | 1-3 r: rrfr 98 | 16-17 f: fffcfffffjfmrzqffnr 99 | 15-17 h: bhzhhfndwgdhlhhhjh 100 | 7-11 t: vtwnrwzczmtwn 101 | 3-6 v: vvvvvmvvvvvv 102 | 4-5 s: ssptsss 103 | 1-3 t: ttntq 104 | 5-9 g: ggggtgggcg 105 | 7-8 h: hcjdkphhb 106 | 15-17 j: jjjjjmjjjjtjgvnxk 107 | 3-4 q: qqqq 108 | 5-7 g: lggsjqlg 109 | 11-18 m: mmmmmmmmmmqmmmmmmf 110 | 1-14 x: xxxxcxxxxxxxxxxxxx 111 | 7-8 f: ffffffbffff 112 | 3-4 t: xmct 113 | 3-4 x: xxtcd 114 | 1-11 x: xcnxxxxvxlxkmcrxn 115 | 8-11 h: hgnhkhhshhnhhzdhllw 116 | 8-10 z: zdzzzzzrpvvzzqz 117 | 6-7 r: lrbrrprrxr 118 | 6-10 n: fnnwnpnnjnhmnntqn 119 | 10-15 b: bbbbbbbbbwbbbbbbbbbb 120 | 13-16 z: zzzzzzzwzzzzvvzkztjz 121 | 5-6 t: xntkwthxbdtlmxtpzz 122 | 5-13 r: njrlghrrxfrfv 123 | 11-14 s: vssnzksspscrss 124 | 7-10 c: gtrkbcxccccccchch 125 | 6-11 v: vvsvvvvvvvvvvvvv 126 | 17-18 b: bbbbbbbqbbbsbbbbsnbb 127 | 13-15 x: smxxxjxmmkxxxmxx 128 | 10-11 h: hpqqwkxnfhd 129 | 15-16 j: jjjjjjjjjjjjzgjjwjjj 130 | 3-5 f: cjcff 131 | 3-4 z: hnfzzzmq 132 | 11-14 c: cccccccccczcckc 133 | 2-7 t: tstmdtk 134 | 2-3 f: wffkfm 135 | 7-16 w: tvgdzjjqlwzknwvwgzh 136 | 1-2 d: dzdqpn 137 | 8-14 j: jjzqjxjjsjrngzfj 138 | 6-9 h: xknzmlzpbpzcth 139 | 2-5 j: njmnj 140 | 10-15 z: kfqlljdfzzczzmp 141 | 7-12 g: gcqwnmgjhcrjnzwcmw 142 | 3-4 h: hhjhh 143 | 5-16 d: ddddddvddddddddddd 144 | 1-2 p: fwwtpllzbmjbwcnkbh 145 | 10-18 p: vhpwpppxfppppvppdh 146 | 2-6 x: rqgqgx 147 | 11-12 m: mhpmmmmmmmmmmm 148 | 3-4 z: lzzf 149 | 5-8 w: vfwwmlwfvwwwwlh 150 | 3-10 t: ltgtztzlct 151 | 7-8 k: kkkkkkmk 152 | 10-13 b: ndflbblbchkbq 153 | 18-19 z: zzzzzzzzzzzzszzzzzzz 154 | 2-5 n: nlzrmkhz 155 | 14-15 v: vwvvvvvvvvvjvmcvvv 156 | 13-15 p: ppppppppwpppxph 157 | 6-9 k: jvhxzwkkwkzv 158 | 9-11 s: snspssslkss 159 | 13-18 j: jgjrjjjjjqjjjhjtjj 160 | 5-7 v: vgvrhzvvv 161 | 1-7 t: ttttttttttttt 162 | 8-9 n: nnnnfnnnj 163 | 2-5 x: dxcrxhstqwldt 164 | 6-12 s: dkshssdsltspgcb 165 | 2-7 k: kkkkkkkk 166 | 7-13 d: vbjsdddfstdhtdxl 167 | 12-17 r: nrrgrrsrrrrkrrrdt 168 | 3-5 w: wwwjw 169 | 5-8 l: mlfldllll 170 | 4-5 m: mmmqm 171 | 9-10 j: sjtmlxjrzl 172 | 2-14 h: hhhhhhhhhhhhrnhhwh 173 | 3-4 b: bbbw 174 | 12-13 g: gggggggggggzg 175 | 13-14 t: tttgtttrztstltlhb 176 | 14-17 s: fhdxfshbglsvjsgbs 177 | 9-13 x: xxxxlxxtxxxxxxx 178 | 2-3 j: jjtn 179 | 12-13 n: nnnnnsnwnnvmq 180 | 3-6 z: gzzzbzmzzzmz 181 | 3-4 d: ddnt 182 | 2-7 s: pswmrnsrgb 183 | 8-9 q: qqqqqqqdv 184 | 5-6 s: sdlcqs 185 | 6-10 f: jffwjfhfff 186 | 4-5 p: pmpppps 187 | 9-14 p: pppppppppppvpppppppc 188 | 3-9 n: nsnpnmmnnwtnvb 189 | 3-4 b: bhzh 190 | 7-9 g: ggggggggng 191 | 10-11 x: xwxxxkxxxjxqxxxbbxx 192 | 17-18 k: kkkkkkkkkkkckkkkkk 193 | 3-4 v: vvrv 194 | 12-14 s: vdsrgdsghxcblflbwj 195 | 8-13 h: gxzhhbkdgfdglfqqcls 196 | 4-6 m: mmmvmfmmmmm 197 | 2-13 b: lbtzwffqfrfhbwb 198 | 1-3 r: lrcr 199 | 3-6 j: cjtcjj 200 | 5-8 z: zzztzmzz 201 | 4-12 t: wttrttvtgttztttdttst 202 | 6-7 n: zbfvmngknrzfzqpwhtx 203 | 12-14 g: gggggggggggggbgg 204 | 6-10 k: jkkkkkrkmbkdh 205 | 14-19 m: mmmmmmmmmmmmmmmmmmfm 206 | 2-4 d: sdft 207 | 4-10 g: bgtgsbjcqgt 208 | 2-4 t: trtqt 209 | 7-11 b: wjbbsqsvpkpb 210 | 12-14 z: zcfqlkxghjjpjzsc 211 | 3-4 g: ggjt 212 | 5-7 r: zdrrqrrrrrr 213 | 15-16 p: brpvpplmhvnbxppc 214 | 15-16 b: bbxbbbbbbbbbbbbb 215 | 8-11 c: hscggrpcpbxrxwgsv 216 | 10-15 j: jjjjjjjjjnjjjjmjjjj 217 | 4-6 g: bgkghgc 218 | 9-15 c: ccjcccsbcccspxc 219 | 2-3 v: fjzb 220 | 2-3 h: hhhxlchhwmjjzj 221 | 4-11 x: xxxxlxxxxcxxxxk 222 | 6-11 d: dvpdmdddzch 223 | 5-6 j: jjjjjjdjwj 224 | 6-12 p: pppppxpppppbppp 225 | 1-7 q: xqqqqqqqqqqqqq 226 | 5-6 w: xwwrtwjpwgsw 227 | 11-13 k: kkkkkkkkkkckfkkk 228 | 2-3 m: qbmnxlwmldmmc 229 | 2-3 w: jqlwws 230 | 6-8 k: kkkjbkmz 231 | 10-12 m: mmmmmmmmmvbm 232 | 6-13 n: hqnkdmwnxnwndnxgl 233 | 1-5 j: jjjjb 234 | 16-17 x: gxxxxxsxxbxxxxxmp 235 | 3-10 s: ssrsssssss 236 | 3-4 s: rslpsx 237 | 1-10 g: qgggjgwqzggvzflmj 238 | 8-9 g: gggbngqghg 239 | 1-3 q: qqqfj 240 | 3-5 m: mmmmzmmmmm 241 | 7-8 q: qqqxqqgqq 242 | 1-2 j: rpdjrrt 243 | 7-10 v: mdzpkvvdpv 244 | 12-14 m: xzmmjmhmmmmktmtmmmm 245 | 6-9 m: mmvbmvmzm 246 | 7-9 c: gcccqmlhc 247 | 6-8 z: zzzzzznrz 248 | 4-7 w: wwwmwwww 249 | 1-4 h: vhhhhh 250 | 13-14 z: xzzzjzzzzzzfzz 251 | 1-3 l: jlqml 252 | 10-12 f: wdbfzsbwffgf 253 | 4-8 p: vjpppfppxppjmctw 254 | 18-19 x: zkxbllxbtbzggncfxxx 255 | 5-6 x: xxxxhxxx 256 | 2-6 v: tvdprvvrvv 257 | 5-14 k: jkdhkhdhjgmtkk 258 | 1-2 k: sskk 259 | 5-12 w: mvqtkwwmcwwlkw 260 | 2-6 v: gvmlvv 261 | 12-13 p: ppppppppppppbp 262 | 3-4 r: frrrr 263 | 13-15 r: qrrrrrrrrbrrrrr 264 | 5-10 b: bxkbrbkdtwwrbkskjpc 265 | 4-5 x: bxrcx 266 | 12-15 f: ffffftjfffffffzfff 267 | 6-7 g: ggggggzgvxggg 268 | 10-11 w: kgwhvwwwwtcwp 269 | 9-10 j: jjjjjjjjpjj 270 | 5-12 t: pnbsttwccrtvttm 271 | 2-8 c: wcccccxfccnkvrllg 272 | 2-9 j: frddhfbkkj 273 | 9-11 m: mmmmmmmmtmmm 274 | 9-10 m: mmhmmmmmtm 275 | 2-4 r: crtr 276 | 14-15 v: vvvvvvvvvvvvvlrv 277 | 5-6 c: wccwctch 278 | 1-13 c: lcccccccccccfccc 279 | 12-15 x: zppxdwxtplfvzfxlwl 280 | 4-18 c: cccccccccccccccccc 281 | 2-3 c: xcccc 282 | 1-7 q: qvfbcfqx 283 | 6-9 k: lkbkhkkmsjlk 284 | 7-15 w: wwwwwwwwwwwwrwwwwwww 285 | 2-5 s: lscsssqsn 286 | 16-17 n: nnnnnnnnnnnnnnnnznnn 287 | 4-5 g: ggggggg 288 | 2-3 w: mfdw 289 | 4-5 r: rfrqh 290 | 3-7 f: vfpfbzf 291 | 8-9 j: jjjjjjjcbj 292 | 10-13 p: pppppzpppppppp 293 | 8-10 t: tntbgchftpttttttfttt 294 | 4-7 r: rlrbsmhnrqrbxrnlrm 295 | 13-17 m: vkmmmdhfkmtmgmxhk 296 | 9-11 t: ttttttttttt 297 | 16-17 g: gggggmgggfgggggsggvg 298 | 5-7 w: wpffgdw 299 | 3-7 r: rrzklzbmrrr 300 | 2-3 l: tllcqnlwfvlfmcgssg 301 | 3-4 q: qqqp 302 | 3-7 x: xnxxxzcxrqwx 303 | 7-18 s: shssssfwssssssksmss 304 | 1-4 r: rrrrmbc 305 | 2-6 t: tttdmsmtg 306 | 3-5 h: tmhbh 307 | 4-15 c: ccccccccccccccccr 308 | 8-10 v: vvvkvvvhvk 309 | 3-6 r: rsmzcrhqnxljrnnd 310 | 2-3 s: msss 311 | 10-18 w: wwwwwwwwwwwwwwwwwnw 312 | 11-13 j: hmwdjqjhjbfdrhj 313 | 5-17 x: hxpnccxhwlsxxdmxxd 314 | 4-5 t: ttznj 315 | 6-7 l: llllllqll 316 | 1-3 q: qsqnhqm 317 | 4-6 t: tdtttthc 318 | 16-17 x: xxxxkxxxxxlmxxvxfx 319 | 7-11 r: prtrxrprrrrr 320 | 5-7 j: mjjqjjg 321 | 3-8 l: rnllnklplllllllll 322 | 10-15 p: pppppppppdppppp 323 | 2-6 g: grgggx 324 | 3-4 s: ssqss 325 | 1-4 t: tttq 326 | 6-9 w: fxvvndkmwlskw 327 | 11-12 c: cccccccccccp 328 | 4-9 b: bbblbbbbbbbbbb 329 | 2-3 g: hggnbw 330 | 17-20 x: xxxpxxxxxxhxxxxxfxxx 331 | 1-2 f: bpvf 332 | 3-5 j: wjbfjw 333 | 13-19 m: srmmmmmmmmfhmgmmmqs 334 | 10-16 c: cccgcczcccccccbcfcct 335 | 11-15 b: bzpqpffbfqslknb 336 | 2-5 t: stnztmvjg 337 | 3-9 h: hqxhxxhhwh 338 | 2-4 r: rvrz 339 | 2-3 p: pppk 340 | 7-8 s: sskssjdss 341 | 5-9 x: xzvjjkmqzthpht 342 | 12-13 p: pstcvcjlnwsqphwnsr 343 | 3-15 p: lnfhbvnpmfztbqppcf 344 | 14-18 l: lllljllllllllllgld 345 | 4-5 g: gctggxhgpxkx 346 | 7-8 q: qqqqqqrdq 347 | 10-13 c: ccccccccccccc 348 | 4-9 s: sssnssskwsbfssssss 349 | 10-12 g: zgpgghbggjqgggkggjg 350 | 3-18 m: mmmmmmmmmmmmmmmmmkmm 351 | 1-3 z: jzzzz 352 | 1-4 k: fqqwmd 353 | 4-8 r: wzbrhxrw 354 | 2-13 x: fzvhrqwcrjjzxprnxlk 355 | 9-10 q: qqjqqqhqqr 356 | 4-10 g: mnlggbkdhrgtndk 357 | 4-19 w: wksmppsqrpppfkdzlrg 358 | 6-7 k: kkkkkxwkk 359 | 15-18 t: tttttttttttttthtttt 360 | 8-13 k: kkkkzkkvkkkktkkk 361 | 1-5 j: jjlqrwsjzkjbl 362 | 6-9 m: gmmmdmmmbmmdxmg 363 | 4-5 r: gdbfmxnrmc 364 | 3-4 h: rhhhh 365 | 2-8 n: nnnnnnnln 366 | 4-9 x: fxgwflwxblgnwxv 367 | 3-6 x: xmkxxvxxs 368 | 1-15 g: jgggggpgggggggpg 369 | 2-7 n: nwnnnnnn 370 | 2-4 r: hrwcr 371 | 5-8 x: tbbtxltxdsftztx 372 | 3-11 r: rzrwrdbqkhrbldrgph 373 | 2-10 j: jljxrjjxjv 374 | 17-18 b: bbbbbbwbbbbbbcbbtb 375 | 10-11 w: wwwjwwwwwrw 376 | 1-2 h: qbhh 377 | 2-3 r: rvjr 378 | 10-13 b: bfbbbjxbbjbbwblc 379 | 2-4 j: qjdt 380 | 4-5 j: jjjjjjbfjj 381 | 11-14 d: pssdgpplqjdzxr 382 | 4-8 x: zxgxfxjhjxgv 383 | 6-7 g: gdnhggz 384 | 3-14 f: fbfffsjffffffgfffff 385 | 2-7 f: qtxmpvfscrbgxfq 386 | 6-8 w: wwwwwlqwwswww 387 | 2-9 g: gbnwwncws 388 | 1-4 t: ttbctt 389 | 3-4 g: gggbl 390 | 5-8 h: hhhhhhhhh 391 | 9-16 n: nnnnnnnnnnnnnnnnn 392 | 3-4 x: xxxxxx 393 | 3-4 l: psgl 394 | 4-7 p: pppntst 395 | 4-13 m: mvdmnfnnpxjtmgnwgc 396 | 9-15 p: pprtppppwnphlhf 397 | 7-10 v: vlvvbvqtvp 398 | 11-15 k: jmckdsmvzptdslkkjqf 399 | 2-3 p: cwkf 400 | 8-9 r: rrrrmrrhhrr 401 | 7-8 h: vhhhhhhjh 402 | 4-5 z: zzhznzk 403 | 10-13 n: qnnnksnsnvnnnnt 404 | 1-4 m: jmmmmm 405 | 5-8 w: jpcmlxtwzvhww 406 | 10-12 k: kkkkkkkkkkkkk 407 | 11-14 g: ggggggrgmgggnhgggg 408 | 1-5 z: zzzwz 409 | 2-4 x: xxxxxxx 410 | 6-14 c: cccccvccccccckc 411 | 11-12 z: zzzkzzbzzcvz 412 | 13-18 p: pppppppppppppppppxpp 413 | 9-14 c: tcnphlfkczmcpc 414 | 7-8 n: wnzmjcnn 415 | 7-11 p: ppspppmdppp 416 | 2-6 w: wdwwwww 417 | 2-4 w: qzvw 418 | 8-9 j: njbvchssj 419 | 2-7 b: fnbbbnp 420 | 3-4 c: ccqv 421 | 1-5 x: xxqxdxx 422 | 3-9 w: wzwptwtwwwswbqmk 423 | 17-18 x: xxhplchxxxxxxxxxgm 424 | 4-5 g: fsggvmg 425 | 1-12 w: lwwwwwwwwwwwwwww 426 | 3-4 b: kbnvg 427 | 2-7 t: ztttmfftttrtttt 428 | 2-3 n: wqvnsn 429 | 1-6 z: qfddndzzg 430 | 15-17 z: nfzxdmgdvjzzpqdjt 431 | 1-5 g: mggglgggg 432 | 5-13 x: xxxxgxxxxxxxrxxb 433 | 12-13 x: xxxxxxxxxxxcx 434 | 5-6 r: prrvrrrrh 435 | 13-14 h: hhhhhhhlhhhhmz 436 | 8-10 j: jjjjjjnlbjhjzjljj 437 | 1-7 w: wwwwvwkwwb 438 | 4-5 h: hpshh 439 | 2-12 f: vhptghgvhqsf 440 | 16-17 w: wwwwwwwwwwwwwswzww 441 | 16-19 x: jltfxxfgkkxnnxjkrxz 442 | 3-13 s: ssfpvsssshssrxss 443 | 4-9 q: qsqqrqqqqjkqqkqv 444 | 9-11 h: djhvttnrjzh 445 | 2-3 j: jjjz 446 | 3-7 j: jtjqgmj 447 | 4-8 p: ppnpcpppspgpc 448 | 9-13 s: sssskslspdsnss 449 | 6-10 m: mxzlmmmpvgm 450 | 10-11 c: cccccccccwnc 451 | 6-8 f: klkqkthgzfbb 452 | 7-9 t: tttttttmx 453 | 2-13 r: nrlmjrhxwnjsrwfx 454 | 12-13 x: xthxxwpxsdxmj 455 | 3-11 r: nqgznrmqhcm 456 | 3-4 c: rqcxmgc 457 | 12-14 f: ffffffffrdfjffff 458 | 14-15 d: vdddxdddddddddddd 459 | 4-8 m: mmmcmkmmmmmkh 460 | 3-4 g: ggcggsm 461 | 7-10 p: pppppphppw 462 | 11-17 f: fffftfxbffffffffrff 463 | 1-18 f: ffffffffffffffffffff 464 | 4-6 x: mxnxkx 465 | 3-7 g: ggrlrmhggl 466 | 1-2 b: pbblqxtlztwcbt 467 | 4-5 c: ccccz 468 | 1-4 k: kqkhkkkk 469 | 9-12 v: vtvvgvvxvvvvv 470 | 3-4 g: ncgbnrvdbrm 471 | 9-12 t: tttttttttttttttt 472 | 14-17 c: crncccqdsjcclcxcmdw 473 | 8-10 h: hvhpghvhnfhhh 474 | 4-12 p: ppplpppppplnpppp 475 | 4-5 l: lrlllllnlllq 476 | 3-14 p: ppnppppppppppcpppppp 477 | 2-5 v: vmvvbv 478 | 6-7 v: vcvvvqvvvvvjvv 479 | 4-5 l: llllhl 480 | 5-12 h: hjhphkxhkcqh 481 | 6-7 f: fbskrlff 482 | 4-5 k: rkfnrk 483 | 1-4 q: tqqkqkqqcxq 484 | 6-7 p: pppppxp 485 | 1-2 f: fnfffffffffw 486 | 5-18 p: ppfpppppppppppppppp 487 | 1-5 d: dwndd 488 | 8-9 h: hhhhhhhhh 489 | 3-6 l: llllllllll 490 | 9-10 r: gvhwsfbckr 491 | 7-16 h: hhhhhhhhhhhhhhhhh 492 | 1-2 j: tjjlj 493 | 5-9 b: tsvwbmbvbk 494 | 1-8 r: vrrkbsrrrrkrrcrr 495 | 1-5 b: hbbbbbs 496 | 7-8 j: zgjwjcmnjjjljnvjjgj 497 | 11-15 z: zqzzzxvzzdmzzzzz 498 | 2-13 q: tqqnzjjxvcsvqksl 499 | 6-10 f: fqqczfhfmf 500 | 2-14 v: vcvvvvvvvvvvvvvv 501 | 1-5 c: kgcdcckbc 502 | 3-5 r: rrdrr 503 | 15-16 f: ffffffffffffffmbf 504 | 10-11 s: ssssssssssssxssnss 505 | 9-10 j: jjwjjjjjtkj 506 | 4-5 v: vfdvv 507 | 2-13 z: znkpztzzzzzzznlwzz 508 | 3-4 r: lrrm 509 | 15-16 n: nnnnnnnnnnnnnnsnn 510 | 6-12 n: nxnnxnnnpnnnnvn 511 | 4-8 q: lqsqdcqq 512 | 15-16 x: xxxxxxxxxmxxxxxtxrx 513 | 6-17 h: hhhhhhhhhhhhpjhhh 514 | 11-15 c: cccccjccccpcccc 515 | 11-12 r: rrmrhvzgrtrd 516 | 3-7 b: bwmbbblb 517 | 8-13 v: zlvhjhjhtwtkbxqqw 518 | 6-9 p: pppppfpppppk 519 | 2-5 r: rcrrjr 520 | 14-19 f: gfbrfsffprfffhrffzm 521 | 3-6 r: rrsrrtr 522 | 4-6 j: jjzjbz 523 | 1-4 l: jllnl 524 | 6-7 z: zzzzzppzzzzzz 525 | 17-18 h: xjvnmlhhnlxltrdltgr 526 | 2-14 z: xhtwcgngdxlzhnv 527 | 3-5 v: xvvrvvv 528 | 11-14 v: dnhpmxjvmwrknvvpr 529 | 8-17 w: vnwpmbbpmcwwgpwlwh 530 | 4-5 f: fffjl 531 | 13-16 v: vzvgvvvwvvvvvvvjvvgk 532 | 8-9 n: nnnnnknnn 533 | 18-19 g: gjgggkggggkxgpgdglh 534 | 2-4 t: ptkzwltkr 535 | 17-18 q: qbmbqqlqqjqqhtqfqq 536 | 3-6 r: rfkmhfd 537 | 4-7 h: fghxhhhh 538 | 4-5 s: spsxv 539 | 3-5 k: dkpkzkl 540 | 7-10 n: nzpnnnlnnsnnn 541 | 3-4 h: hhnh 542 | 19-20 r: rsrkmcrhkqfrfdqmlvxq 543 | 9-10 m: mmhmwmwmmvm 544 | 3-9 j: jdjjjjbjwjjjjjjjjjj 545 | 1-2 s: mpsscts 546 | 3-4 g: nghj 547 | 6-10 x: xxxxxnxxxhxx 548 | 10-13 t: tttttttttqttvtttt 549 | 12-13 s: nssssssnsjrss 550 | 7-9 z: hjkzxlzrczhhmm 551 | 16-17 s: sssssssssssssssfpsss 552 | 4-5 x: xxxxx 553 | 2-4 c: bppcccfwqs 554 | 4-11 w: wwwwwwwwwwwkw 555 | 6-8 m: hdxjhkpjdjmrql 556 | 2-19 k: zkhcfxztkgltmqbdqxj 557 | 1-3 n: gnqnnnnnrnnn 558 | 11-13 f: ffffffffgfmfkf 559 | 1-5 z: lwzkxzjzv 560 | 11-12 m: mhlxvjmrcffn 561 | 2-7 z: cqhbjlbzh 562 | 3-18 k: kdkkkfbkgwkdknkkkzjk 563 | 9-10 b: bbrbbbkcbbbbbzll 564 | 5-6 l: llplkl 565 | 9-15 c: vcgcngchvkvjsgcf 566 | 3-6 q: qqqqqwq 567 | 9-11 k: kxkjrpkkckkkkkskk 568 | 9-18 k: hbkrrwvctstksttkwrvf 569 | 2-3 j: jtjj 570 | 1-5 n: nnnnln 571 | 1-6 b: jpmbbbbqkd 572 | 5-7 w: wwkwwws 573 | 3-10 m: pxpwzblsvrlsxjpvpslt 574 | 11-12 j: ljjjjkjjjcmc 575 | 10-11 q: qqqqqqqqqqq 576 | 2-7 h: hqqhkbh 577 | 7-9 l: lllclmfslldrlsl 578 | 8-9 h: jhtvlvrhhhkhh 579 | 3-6 k: kkjkkkk 580 | 1-5 l: vllllc 581 | 1-2 q: vqqq 582 | 5-6 q: mkqhjp 583 | 7-14 l: lllllllrdlmlckll 584 | 3-4 k: kxkkrjk 585 | 6-8 l: pslrqlbl 586 | 1-8 t: gtzthtct 587 | 5-7 d: lhxkdrddf 588 | 2-3 h: hmhh 589 | 7-9 p: ppppvppppvwp 590 | 9-11 q: jhzvqqbqfnql 591 | 9-14 r: rrrrrrrrtrrrglrrz 592 | 11-12 s: shsssssssssbs 593 | 1-7 t: qtttttt 594 | 11-16 s: spgsmwbrshhldcsvvx 595 | 5-6 l: lkmlll 596 | 2-9 h: vdchgpmlhvxzjcp 597 | 4-7 k: xfkkkkkckmkk 598 | 1-3 w: wwww 599 | 13-14 c: cccccccgcwcccxdc 600 | 12-15 w: wrlwwxwwwlwwwfwcw 601 | 5-13 m: jmtjqmvkmpxdmt 602 | 7-11 m: nxnkxfgzcpfm 603 | 8-10 m: mmmmbhmmmk 604 | 11-13 z: khcksspxzwmznpl 605 | 6-7 x: xkxxcxj 606 | 8-11 s: sssrssssssss 607 | 6-12 h: wkzcnspbtjwchv 608 | 8-9 b: bbbbbbbkb 609 | 7-8 d: hxsjqfddxdb 610 | 15-16 g: gggggwgggggggggg 611 | 8-10 q: gqqzqmltqqlkqwtzgfn 612 | 11-16 j: kjsjjjjjjjckjjjj 613 | 2-4 s: vbfqcmgssqb 614 | 16-17 r: rrrrrrrrrrrrrrrrr 615 | 7-11 d: ddhdddrddtdd 616 | 2-3 x: gvpcx 617 | 4-10 t: mbftjndbttv 618 | 13-14 j: zjjfmsgqtgwdhd 619 | 6-11 s: qlqhssgsbvnsts 620 | 9-15 t: ttdttttvttttqttvs 621 | 3-6 l: lcvlll 622 | 3-5 x: mpdsxrhqlbcdx 623 | 1-4 q: kjqz 624 | 2-3 p: pncmptpppgp 625 | 2-6 l: tlbvnpllvxlgxhn 626 | 14-17 q: lgdsvqxwmhdwzhjsq 627 | 13-19 m: mmmmzmmsmmmmmmmmmmc 628 | 4-5 x: xxxxzl 629 | 2-4 n: nnrn 630 | 8-9 n: nnnnnnnns 631 | 11-14 l: bpmrcbhslcmxxv 632 | 7-12 p: ppmpvpppppkpfpp 633 | 4-10 k: kkkqkkkkkfkkkkk 634 | 8-11 s: sssfssssnssssss 635 | 8-16 l: xklrjlllrqlxhrkl 636 | 2-12 r: rrcrqrprhcrrrvrph 637 | 14-15 h: jrhhjhhhhhhzhmp 638 | 8-12 m: mmmmmcmmvwmmx 639 | 2-9 f: ffdffffmfqpffffffff 640 | 8-12 x: xxxxxxxgxxxr 641 | 5-6 z: zzzzzxz 642 | 14-17 j: jjjjjjjjjjjjjzjjs 643 | 1-3 f: qfjmrf 644 | 6-7 t: ttbttdq 645 | 8-9 x: xfxxxxxxxxbxxxq 646 | 4-6 q: qqpgwqbr 647 | 5-12 l: lqzqrtgjmzml 648 | 5-7 w: wwwnwjwwfw 649 | 5-6 x: znxdtx 650 | 4-5 x: qqxhvmxxxxz 651 | 1-5 n: nnnnnn 652 | 2-5 s: gxsnj 653 | 5-7 s: gssjssszst 654 | 9-14 h: zjhrdpjwhkppdf 655 | 2-8 t: ftgttpcttxtvnttntjs 656 | 1-4 t: lttl 657 | 8-10 f: fffffffffrf 658 | 3-6 q: qvqxrhd 659 | 9-10 j: zrfxvmhgzcnkthzs 660 | 5-7 q: rqtqxqq 661 | 2-4 j: jxnj 662 | 7-8 c: fccccczkc 663 | 1-2 x: xktx 664 | 5-6 t: tttqkt 665 | 3-4 m: crbhwmq 666 | 5-7 d: ddddhdcd 667 | 3-4 w: wwcn 668 | 2-7 d: dmdddcd 669 | 6-7 l: llzllfg 670 | 5-8 l: llxllllllf 671 | 3-4 s: lspsb 672 | 1-6 k: kkkkkdk 673 | 6-12 x: ztxxmxxqxrxxxcxx 674 | 5-12 p: fpngpxprbqhprvj 675 | 1-11 k: kvkkkkkkkkkkkkkkk 676 | 2-11 x: qxxnxxxxxxxmxfxjsg 677 | 12-14 r: wzrrfztrbrrrztgrgrm 678 | 1-4 r: rbrlrj 679 | 14-16 d: dddddddddddddsddd 680 | 8-15 l: lzllmllclllljlll 681 | 7-8 l: qkgqklzzllqclqlfjl 682 | 1-4 g: vggggg 683 | 12-13 c: krbpskrctrvtc 684 | 3-6 t: btttttmkt 685 | 8-12 t: tttttttttttltttt 686 | 10-16 k: kkkkkqkkkkkkkkkw 687 | 5-6 d: ddldvkd 688 | 10-14 v: vvbrvvvkbvgvvr 689 | 4-13 v: vvvcvvqcvflrph 690 | 7-17 x: qxfxxxxvzslqzzbcx 691 | 9-10 g: ggggggggvjggggggggg 692 | 3-4 p: hpppkp 693 | 1-3 s: lstcssssv 694 | 4-6 n: nnnsnmnnn 695 | 2-6 k: kkkknkvkg 696 | 1-2 c: cccccc 697 | 8-13 h: hhhhhhhhhzhhv 698 | 10-13 h: hwvhhhhjhhthhhhlxh 699 | 15-18 p: pzpgpppppgpxpppbppnp 700 | 10-11 n: nffrjnmbnxj 701 | 5-9 l: lllldrllbzljsw 702 | 4-8 j: jjmjjjrjsjjjjj 703 | 2-9 v: vtzlvvdjv 704 | 2-3 g: ggcf 705 | 9-15 b: psxgbbcjbbhbntb 706 | 15-16 q: qqqqqqqqqqqqqqqz 707 | 11-12 c: dvgckwdtcccc 708 | 5-11 s: nskssssssfwb 709 | 2-7 p: pdfdnpqppzpp 710 | 3-7 d: dcdwnmdgnstt 711 | 13-14 w: hwdsrqmdmxhlkm 712 | 5-7 l: lzzdzlvrtgzllcn 713 | 5-6 t: bttttvt 714 | 6-8 c: crcczxckcc 715 | 5-7 g: gmvgggg 716 | 7-9 g: gggggglgqgg 717 | 5-6 t: ttttrt 718 | 2-3 g: sntggpm 719 | 4-6 m: flmmsm 720 | 9-12 w: wwwwwwwwwwjw 721 | 6-13 x: cfxrwlljbnzlb 722 | 13-16 v: wvfcgrgfvggjcbqv 723 | 7-8 n: sdnrsnhn 724 | 1-3 q: qqqrqmjfq 725 | 4-6 s: bzdsslss 726 | 1-5 f: rfffcf 727 | 4-5 s: sssss 728 | 4-5 h: xhkhhh 729 | 10-11 g: ggjdgpvggggx 730 | 9-10 v: vvvvvvvvjvvvjvwvv 731 | 3-7 b: fbbmzbblqzvfgpnrl 732 | 6-11 h: hhhhhlhhhhchhhhh 733 | 3-4 l: llllstmhwlchzd 734 | 3-7 t: xthsjgtcblcszn 735 | 2-17 f: kfjwdtmhzjzlvhpjf 736 | 2-5 b: rbtbg 737 | 9-15 z: mzzzcfzzzwvtzqgbzjzm 738 | 6-12 f: qgtzmktjffmfn 739 | 11-17 f: flcffsqwlfjvbcffb 740 | 5-6 r: gsdrrr 741 | 13-14 b: bbbbbbnbbbnbbbbbsb 742 | 2-9 b: bcbrvbvbbbzb 743 | 3-5 t: tkttft 744 | 6-7 v: vcvlqvdcvdh 745 | 7-13 w: wwwxwwwwhwwwlqwh 746 | 5-6 z: zkhpzzjtnkjzf 747 | 7-9 p: pppppppppppkppppp 748 | 4-7 p: spppfjmc 749 | 8-9 k: sxnkplwfz 750 | 4-5 r: clpgrr 751 | 7-8 m: mmmntmmmpmmmmrmpk 752 | 4-5 j: jxbjnxj 753 | 3-10 b: jwbclnqzdbnb 754 | 5-6 r: rxbxlnsmrrfr 755 | 3-4 f: fvfsbq 756 | 2-4 x: sxxxd 757 | 7-8 p: qpppppprpp 758 | 3-4 q: qqqq 759 | 6-8 n: njwgnqntnnn 760 | 6-10 z: zdzzgzzzzj 761 | 6-9 d: rwdlfdrtd 762 | 5-6 l: skllpxslll 763 | 5-7 d: dwdznhddttljdnvkdws 764 | 1-3 d: dhdc 765 | 1-11 s: sqgzsrrvgms 766 | 8-14 w: wvvwrwwlwwmwwwn 767 | 11-12 t: ttbttttttttttttt 768 | 17-18 f: lfffffmfffffffffkff 769 | 17-19 k: kkkmzkkkrkfspllkckb 770 | 4-7 f: fxfjtdfcxff 771 | 4-10 h: hhhrhhhhhhhhhh 772 | 6-7 p: ppkpppppp 773 | 5-10 c: hccpcgbkbctctp 774 | 5-11 l: llllvljllltlllplll 775 | 5-6 c: kcntkj 776 | 16-18 m: mmxmmmmmmmlmmmmwmmm 777 | 4-7 b: bbvbbrbb 778 | 6-7 n: dbrqnnn 779 | 3-4 h: hhhht 780 | 11-13 s: sssssssssvlwxsfj 781 | 3-9 g: zrsdrgrzgghxj 782 | 14-15 f: ffzgnqfrclzgxfffff 783 | 7-8 c: cccccccbc 784 | 5-8 s: ssssssssss 785 | 8-15 k: klkkkppksvdrknd 786 | 4-6 h: hfhhjljh 787 | 8-15 c: cxljcccvhpklxcr 788 | 3-7 h: kpnttrczt 789 | 14-16 p: tqxpdpddrwfxgjvc 790 | 12-15 j: cjjjmwjdbtpwjmjcg 791 | 11-17 n: nnnnnnnnnnnnnnnnln 792 | 1-8 s: sssswsms 793 | 9-10 w: wwwwwwwwww 794 | 6-16 v: gvfjvvvvvqlsbrvvd 795 | 3-8 q: rvfnrfvsmjk 796 | 4-6 w: wvpwtww 797 | 7-10 c: xcctfssplcdqrpqs 798 | 4-10 j: mjcjjwvjwjm 799 | 7-11 w: qmwjfrjpjkqww 800 | 6-18 r: qvvthtbxlkrnvqzvlf 801 | 10-12 f: ffglffjffffctfffff 802 | 6-7 x: xxhxtfpqxxx 803 | 9-10 t: tttttttxtt 804 | 3-10 j: cpqxwljhgjldfns 805 | 15-16 q: mqqnqfqjfqqqzqqt 806 | 4-12 f: fffffffffffvf 807 | 4-10 s: ssssssszst 808 | 1-6 x: xgxxxxxxkx 809 | 2-4 z: zzzb 810 | 11-13 j: jjjjjjjjjjjjv 811 | 1-2 j: hjjd 812 | 4-12 h: hhljhhxhxnhr 813 | 6-10 b: bbbbbkbbbv 814 | 7-8 m: mmmmmmgvmm 815 | 9-15 h: hhhhhhhhwhhhwhhh 816 | 1-2 g: gvglg 817 | 4-10 v: gkbvgntvrvv 818 | 9-10 p: mjpppbppnpjv 819 | 1-3 w: wwwtww 820 | 1-7 v: vmvsgjdfdpwtvqqfsh 821 | 10-12 c: ccccccccclmcccjc 822 | 13-14 g: gggggglgrggqzgggvbgg 823 | 1-6 p: mhptnp 824 | 10-11 n: nnnnnnjnnpxxn 825 | 2-5 l: tllcc 826 | 13-14 j: zbvlwljjgljwjj 827 | 10-11 p: ppppppvpppjppvp 828 | 12-18 c: cccccccccctdccccch 829 | 15-16 j: jjjjjjjjjjjjrjjj 830 | 5-8 t: gjkttztjt 831 | 5-9 k: kjkhwdvkk 832 | 5-7 p: pjvpppp 833 | 2-4 w: wwwhwlwwm 834 | 4-5 m: mmljm 835 | 6-15 b: rbbncbrvmdvbbqb 836 | 13-15 n: nnnrnnpdfnnqnnncnfnn 837 | 2-11 r: srfhtxczprbx 838 | 3-6 n: nnnnnh 839 | 15-16 v: vvvvvrvvvvvvvvvvr 840 | 7-8 m: jphmmmmft 841 | 4-6 p: pppjpvp 842 | 1-4 g: dggkgg 843 | 1-2 p: zppsp 844 | 6-7 b: bbbbbbbbbbb 845 | 3-4 x: vxsv 846 | 9-13 t: pqtqttttkxtghv 847 | 10-19 v: vvvvvvvvvvvvvvvvvvxv 848 | 6-13 z: wnmzkzzqftzmc 849 | 6-13 l: vklgsrjrkjpzlqll 850 | 3-6 h: mwhllh 851 | 1-8 l: blllllltl 852 | 3-9 v: glxlzpffvgvmb 853 | 2-5 s: sssstss 854 | 3-9 t: tfptcrhtlzqxcv 855 | 9-10 t: ttttttttttjttt 856 | 9-14 h: ktwphtsnkmlzwd 857 | 3-5 z: zzznz 858 | 2-3 t: twtt 859 | 3-5 f: ffffsf 860 | 17-18 w: wwhwwwwwvwwwwwwwnsw 861 | 3-13 w: wwwwwwwvhwwwwpwww 862 | 7-8 n: pjnxnnnntpwnbsjnnz 863 | 2-4 v: vvvjhvv 864 | 2-9 d: dmddwcpnqdddszpb 865 | 3-4 q: qqrqqh 866 | 1-2 d: czdd 867 | 1-4 d: xsdzrms 868 | 1-3 n: znxnnn 869 | 5-7 r: rrrrnrzrr 870 | 2-5 c: ccccxcc 871 | 6-7 c: nccccdc 872 | 1-4 s: bslsrvgjdfsgf 873 | 10-11 j: jcjnjjpjlhh 874 | 8-12 k: lzrvvhtkkpbkfwjzcmz 875 | 10-13 b: bbbbbbbrsnbbmb 876 | 2-9 s: hswtzhlss 877 | 6-7 j: cpnjjjf 878 | 11-15 p: pgppqsfjcpbnmqp 879 | 4-6 k: kkkfwq 880 | 10-11 c: rccccccccccccc 881 | 5-14 d: bmfppdgvccmbdqpx 882 | 7-8 v: vqnvvqvvvvjvv 883 | 7-16 f: ffffffkfffffffffff 884 | 14-15 r: nbdlfkrbcrxbcts 885 | 13-14 v: vvfvvvvvzgvvvvmvv 886 | 1-12 l: glwdllllpllltll 887 | 3-9 x: mnxpljmxnm 888 | 4-5 h: rjqhbxnvkc 889 | 13-14 z: zzjzkzzlcbzpjzzz 890 | 2-6 p: tnpppp 891 | 8-12 n: kpjfjwpnwlzqhwbz 892 | 2-15 q: jqkjkbzcwvvqbxq 893 | 2-3 l: llllll 894 | 15-19 l: llllllllllfllllllll 895 | 1-3 p: pkzkpsvdptz 896 | 1-8 f: fffffffvfrf 897 | 1-11 j: prdqjlhjdvljjvjmhnm 898 | 10-16 v: stshngzvzvvvnffv 899 | 10-11 m: nmmtmqmmmmb 900 | 4-9 t: nzttkfcvrnd 901 | 18-20 t: bbttltktrgtntgtzhtct 902 | 4-6 p: pppglp 903 | 7-13 g: vgrccggpbvxgl 904 | 5-7 l: lqllvld 905 | 7-10 w: wswwwwqrww 906 | 7-8 c: cncczcmlcmcx 907 | 1-9 d: ggjtdddcqcmpd 908 | 4-7 q: vdkqwnqkbsdqxwwth 909 | 5-6 s: ptjwxsz 910 | 7-14 v: vvgbvtvvxvzvwvvc 911 | 4-8 h: tmjhhrndwlh 912 | 6-7 w: wwjvswf 913 | 2-9 v: vvvvvvvmv 914 | 2-4 c: hcgc 915 | 2-3 x: xxxx 916 | 6-15 h: vnbhwhhwtzztrlh 917 | 13-16 k: kkknkkkkkkkkkkkrkk 918 | 2-7 b: nbfxslbqblbbbbbbl 919 | 9-11 k: kkrqkzkkkvkshqkbkkhk 920 | 9-13 j: qjjjjjjvmrjjjjjjjj 921 | 7-15 h: zhqhhhjbhdhhmhfn 922 | 3-5 t: vtvstkkttftttt 923 | 7-8 h: hdhhhqhhnnfqwhzhdlsx 924 | 16-19 k: kkkkkkkkkkkkkkkfkkd 925 | 3-4 f: qfjsxfnsfq 926 | 13-14 t: ttjftttcttttptttt 927 | 8-9 f: gjmfffgrq 928 | 9-10 m: mmpmmljmmmmmm 929 | 9-10 k: skttkrjkkb 930 | 3-4 k: kkgk 931 | 1-6 h: vhhhhvhh 932 | 11-19 z: zzhzzzzzzzzvznzzzzgz 933 | 9-11 z: mzzzzzzlzzbz 934 | 7-16 c: tpcwtwcbljrnztwrsdd 935 | 13-15 b: hnrbfgqwqwqhpnc 936 | 2-4 g: fgsdg 937 | 2-3 k: kklkkqkhklkkqb 938 | 8-9 g: tgrfdbvgfzqvsf 939 | 3-12 j: jmjvwqrpsjvc 940 | 4-10 v: zvhjvtpjgvvd 941 | 5-6 p: fgplzd 942 | 9-13 r: csngrmrxrqvhdwfkvns 943 | 7-13 q: qqqqqqqqqqqqqqqqq 944 | 11-16 l: cvlxgkdmltldzsplzz 945 | 8-11 z: znmhzzcpbzz 946 | 13-14 x: xxxxxxxxxxxxxhxx 947 | 11-20 c: qmhcvthqctdtscfcjcck 948 | 14-15 l: lnllllslwjlllll 949 | 5-7 p: qppptqm 950 | 1-7 f: chffvqfrdffbcmqf 951 | 8-14 h: hhhbhhrshhphhl 952 | 16-19 j: tgsjqjwjjjbcjtjjjjj 953 | 3-4 p: jzppdrzpkgcxdljgm 954 | 5-6 z: zzzzgzzz 955 | 3-8 t: nvzdttst 956 | 4-6 x: qfkznxh 957 | 9-18 d: ddddddddzddddddddl 958 | 11-17 x: xcxrxxxxxqzrxxxxxxx 959 | 3-4 l: lmll 960 | 10-13 f: fffffffffffffff 961 | 7-9 v: mccgvfvlh 962 | 9-10 m: ddmlmtmgmmgmprmbmpqm 963 | 5-10 v: vvvvjvvvvvvvvvx 964 | 3-10 v: dwxdfjhxgsznhzqsqnd 965 | 1-3 k: xkrkkkkkkmp 966 | 2-5 c: dcrscf 967 | 1-10 p: ppwpwppppppljtppr 968 | 3-7 r: rrrrrrbrdr 969 | 5-9 t: ttttjtttttttttt 970 | 4-5 w: wwwxr 971 | 6-11 f: rtwzsffhxplnwrzpwwj 972 | 3-9 c: klcdzfchcnxcccnccpc 973 | 3-4 g: mgnlg 974 | 1-5 f: kffgpffft 975 | 3-4 l: qlsvllnl 976 | 2-5 w: vwwwwwwrf 977 | 11-12 n: qcgnnznfnmnt 978 | 6-13 d: rbbzghqwwmrdkssgn 979 | 1-3 x: hdxnqxtphtmk 980 | 10-13 w: xwwwxwcwrfcwm 981 | 9-10 p: tpppfxvbppppgpnvfzcv 982 | 8-13 h: nhqhqhthmpmnhlch 983 | 11-13 z: hjkftzgzlfhjjh 984 | 9-10 t: tttthttpzt 985 | 2-8 g: vghggdbfggrfggrgggrt 986 | 11-16 g: gjzgfnggggsgggzh 987 | 6-10 r: srmjvrrrlrrrhrl 988 | 2-11 d: ddddddddbddddd 989 | 5-6 j: jjfjjjj 990 | 8-11 s: ssssssssssqssmssss 991 | 4-5 v: vvvhp 992 | 5-7 c: ccqxvklbc 993 | 8-9 q: qnqfgqvqqqdwzqmcq 994 | 3-5 q: zbqqq 995 | 6-9 g: kkgzgwpvgt 996 | 1-14 h: hhhhhhhhhhhhhhh 997 | 9-10 w: swwwwwwwjq 998 | 1-13 j: xjwjjljjjjdjjjjmjj 999 | 11-13 m: smmhmmcmmmkmdmmmmm 1000 | 15-17 p: ppppppppppppppsps 1001 | 1002 | -------------------------------------------------------------------------------- /day06/input.txt: -------------------------------------------------------------------------------- 1 | wzaopvscxknyjtiul 2 | belforsgdhuvmwc 3 | 4 | kiocpzjhsetqnwbl 5 | maciywlbpodgevujnsktrz 6 | kpebjfchtlsonwiz 7 | pcezwjtsinxlobk 8 | 9 | lrcp 10 | cdlbepr 11 | rlqcyutp 12 | lcpr 13 | lrtcpym 14 | 15 | gxcqbowaelfjhpknz 16 | gflhackzwqxojeb 17 | lfwocexqbkjhgaz 18 | 19 | fpivaozqnkextmbrjhycdwug 20 | motgcrzaisqlpdwbeyhukf 21 | hbiqcdmkpawueyztgfor 22 | zrcehkqyoblmtgfiaupdw 23 | 24 | umjz 25 | jzu 26 | vzowkpuj 27 | jmzau 28 | 29 | unzlx 30 | lnzxu 31 | mxluzn 32 | nzuxli 33 | 34 | szkiauhyntdrbcljomqwepv 35 | amowcpzbyukihsjtqelnd 36 | lzctuqjabmsynphkewxido 37 | sikblhptcoqemdanywzju 38 | jdeiylutspabcwngfzqkhom 39 | 40 | zgyhwtnxjdqucbp 41 | ptnzhudjbcxgkqf 42 | zgqhjbdnutcmpx 43 | gjbzhpdxanqcut 44 | 45 | wjkcsqlu 46 | ucsjq 47 | 48 | vkzsqtunmr 49 | ljcexadhg 50 | 51 | fhtrusba 52 | svtk 53 | pgzwytn 54 | astb 55 | 56 | hvzjiwlsmnatbxgqcuke 57 | zeaukbgtnjxslmvwiqc 58 | tqsjxvznemblwkgcuai 59 | atwjqckzmgvnlbuxise 60 | mwkteqbcjasvxuizlgn 61 | 62 | gypubxsntl 63 | untylgpsb 64 | uynbgltps 65 | nylgutpsb 66 | unsltybpg 67 | 68 | qwygnalv 69 | rxdohlnatwy 70 | 71 | fcytwkqjaorm 72 | rqfcjokwtmay 73 | cjyftkaqmrwo 74 | tqomfrwycakj 75 | cjktaroqmfwy 76 | 77 | ygnjepucrfkxq 78 | ypnqjfgcuerxk 79 | fyghkncqpjxuer 80 | runfcyxgjqpek 81 | qxjrupnygkcfe 82 | 83 | rneuh 84 | rhneu 85 | rhune 86 | 87 | dyct 88 | tycd 89 | cdty 90 | ytdc 91 | cdty 92 | 93 | hoaxpnic 94 | zrocenxaphui 95 | pigyovantxch 96 | vanbocxdpihw 97 | 98 | nmadf 99 | cdbykfwtim 100 | fdms 101 | 102 | xrlweqhyomniupgasjb 103 | wxlaijmhqbopnugsery 104 | xmkuswchylpbeqirngojfa 105 | 106 | u 107 | yuq 108 | 109 | d 110 | d 111 | d 112 | dqf 113 | 114 | kfnbcvxtogwhsz 115 | nctfsoezgwhkvb 116 | kncbtvgwsozhf 117 | kcfsobzntgrwhv 118 | obnsfczkrvwhtg 119 | 120 | ektcsq 121 | tcpqesdk 122 | ightwqxosekj 123 | 124 | y 125 | y 126 | y 127 | 128 | oaqwmublkjz 129 | qhkduvibzmfx 130 | bomkquz 131 | bzpuqwmko 132 | 133 | uybzfemjhvnp 134 | amxynpve 135 | kyvmenxp 136 | 137 | vpyznetlsow 138 | njewpszg 139 | 140 | a 141 | a 142 | a 143 | x 144 | a 145 | 146 | ytixaokbv 147 | vybaoxtudi 148 | kaivoytbx 149 | oavbxity 150 | vytbaixo 151 | 152 | okdmepqj 153 | kqodjpe 154 | kpdeoqj 155 | yqdpkeoj 156 | 157 | nqtkbvrjizuyhlwmxopscga 158 | ojzqryxwvpkclighnmeuabts 159 | socwtinpyakuqljzmrxvhbg 160 | sruhgbvjmpwnaklioqyzctx 161 | pmojxvkiwztgaslbuyhqrnc 162 | 163 | sruqibofpetmjxacnyw 164 | meoxusytawnfrhqicpb 165 | 166 | udzjvpxcmg 167 | vzmpdjgxuc 168 | vdgcxujzpim 169 | gpujzcmdvx 170 | jcvpzxmdug 171 | 172 | lwke 173 | jqa 174 | jdp 175 | 176 | ebcnymdxhsgjoptvkluw 177 | mhewbjgldvutnkxocysp 178 | odkvwhlcupyejbsmxntg 179 | ylhetjbxumpwdocgvkn 180 | yvugktojibqwncmlpehdx 181 | 182 | wc 183 | cw 184 | wc 185 | wc 186 | 187 | fnatmwk 188 | vbqnoptm 189 | zldysrjuiegcmx 190 | fm 191 | vmh 192 | 193 | e 194 | e 195 | e 196 | 197 | nd 198 | nd 199 | dn 200 | tdn 201 | nd 202 | 203 | bswceuimx 204 | vfugqjk 205 | phrbaulzsdy 206 | 207 | fcmpeuxkjiwtszhgnoravb 208 | tjhbsovuzipmracnxf 209 | zfxuvbitrcnamosjph 210 | bafxzhonrsipvcjumt 211 | 212 | uopkgzec 213 | uogckpz 214 | czgkopu 215 | gtuopckz 216 | 217 | k 218 | k 219 | k 220 | k 221 | k 222 | 223 | bucx 224 | zxfu 225 | oluinsxk 226 | cupfxb 227 | pxuz 228 | 229 | gw 230 | wg 231 | 232 | nif 233 | qby 234 | 235 | kazpqyrt 236 | uocensfmvw 237 | 238 | vjy 239 | srdfuy 240 | tyz 241 | yt 242 | jyow 243 | 244 | wcn 245 | d 246 | m 247 | r 248 | 249 | afo 250 | pruao 251 | afo 252 | 253 | jiqp 254 | jhp 255 | jp 256 | pj 257 | 258 | rvxucn 259 | xmurvtc 260 | uzvmrxc 261 | xeykobgvjpclharfu 262 | 263 | bc 264 | cb 265 | bc 266 | bc 267 | 268 | hxnparv 269 | vtqhxapn 270 | apnvhx 271 | dvwanihpxys 272 | 273 | jdszlimbca 274 | drtmxcqlw 275 | cmdzloub 276 | 277 | podyqvae 278 | qyapveod 279 | pvqedayo 280 | 281 | scmbwfuldnvkxqehjgatpry 282 | zgltckiwjnuebahmpfqvdrsx 283 | 284 | hu 285 | fkixsu 286 | 287 | a 288 | a 289 | a 290 | a 291 | a 292 | 293 | fkmupthae 294 | vumpwh 295 | ugxwmph 296 | 297 | kspnwvyr 298 | 299 | yxaw 300 | xw 301 | hzrmxbekw 302 | wicx 303 | 304 | l 305 | lz 306 | l 307 | l 308 | l 309 | 310 | rwn 311 | wnr 312 | 313 | tpankiydfghwlzv 314 | hwnztpvbcsykgl 315 | 316 | hcn 317 | cuhq 318 | qc 319 | uq 320 | xsdz 321 | 322 | izsctumjfvyo 323 | iuymczbtjo 324 | ytprwciogjkmzx 325 | iyztahnjemcdo 326 | 327 | kmepowc 328 | cwmkoep 329 | bmopkect 330 | cjepnkmqo 331 | 332 | gqlxpwt 333 | qgwtplv 334 | lpgmwcit 335 | twglpx 336 | gwtphl 337 | 338 | uiyeqacdlwxpgt 339 | deyxtgqaulicwp 340 | pgawxtyiucdelq 341 | iaepwxugtdlqyc 342 | aewygpuilxctqd 343 | 344 | ksextofz 345 | zxhesk 346 | 347 | zxnlhrd 348 | hlnxdbczr 349 | qnxfzdlhr 350 | 351 | foryns 352 | rnofsy 353 | fsyonr 354 | rosnyf 355 | orsnyf 356 | 357 | o 358 | o 359 | t 360 | 361 | raktoz 362 | atkzo 363 | vtkzoaf 364 | 365 | yianzfpwbqsvltcuhjg 366 | tpjzhvwfibacusylnq 367 | wdctlhzbjeqavnfiuyps 368 | 369 | mhexryd 370 | yerhdmx 371 | ehxymdr 372 | bgmrehxyd 373 | xreyhdm 374 | 375 | pebtkqchsoydz 376 | dklqohsupwcyztxe 377 | ckvmsqjpdhaetzofy 378 | wsuohqckerltypdzn 379 | lkxsyowcdzteqhp 380 | 381 | nqbmshlg 382 | ebshnqla 383 | sqngvb 384 | nbwqsi 385 | 386 | sauebdjhpwtcgnlzorfkxqyvim 387 | adpvbqlnofyxmiuzjsctwkeghr 388 | 389 | gy 390 | gy 391 | 392 | jf 393 | wpy 394 | 395 | guztycblrhfiq 396 | bertlfcmguhv 397 | lbytrcfk 398 | fscbltnpxwor 399 | lqfbjtcrdv 400 | 401 | egbvoxlmpczqnafyu 402 | enxqbazvpmolyfcug 403 | kpuezgxbqnaymvflocs 404 | vipegmfbnocqxuzlay 405 | mnofzbaylcqxegvpu 406 | 407 | wrclt 408 | lfrcw 409 | rcwl 410 | 411 | zbwvmuifpjxqnlgo 412 | jfpwmuznqxvbgio 413 | 414 | baheoslg 415 | fygoa 416 | aygo 417 | aog 418 | fmoga 419 | 420 | ltpdcyn 421 | ycdlnt 422 | lchgtydn 423 | 424 | fvdgksnmphxzcboql 425 | zboknxmfgdvclpq 426 | qdlkpgcbzvmoxfnt 427 | ciozqlvjgkwbfxdumpne 428 | 429 | gmlyqkjehrp 430 | ojeizhlgpm 431 | uhgpmflje 432 | 433 | atzscwnb 434 | snahqtc 435 | 436 | zyjml 437 | jryml 438 | lymtxvod 439 | mryil 440 | 441 | iudskmzex 442 | udqkzxesmi 443 | 444 | qdywgafzmn 445 | ufobhixk 446 | 447 | r 448 | q 449 | 450 | alndhupswj 451 | npwlua 452 | nlueapw 453 | npalwu 454 | lawnpu 455 | 456 | obsxpclziwauf 457 | fcsjxiblwuotzp 458 | spcvbiwfzdxulo 459 | ulfwpiczosbxd 460 | 461 | hknftpgaey 462 | typoqgehn 463 | 464 | tyhzpoejxdl 465 | xoejpdztlhyk 466 | hreinoyjvtbdzmfqlp 467 | otjyedpzlh 468 | zdoywjeltshp 469 | 470 | n 471 | b 472 | b 473 | b 474 | b 475 | 476 | kvupfreobljsmw 477 | sukjromplvfwe 478 | rdwhpkjvqcemlosfi 479 | pvmblwsfkexroj 480 | eokvlrmsujwpgtf 481 | 482 | wiqs 483 | l 484 | j 485 | j 486 | h 487 | 488 | jx 489 | jxc 490 | jxr 491 | 492 | tzv 493 | tzv 494 | 495 | aqe 496 | qan 497 | avqs 498 | asqcm 499 | glpayuq 500 | 501 | hncexlkpjbdmoftag 502 | pfbxckmdantlogh 503 | 504 | ocsdtg 505 | sdgtm 506 | sdgt 507 | tdsg 508 | 509 | jfioeacnqv 510 | oqafnicjev 511 | veijfnocaq 512 | 513 | xfmnhbpljcg 514 | cmlfhbjxengs 515 | xnmbjhlgfc 516 | 517 | vcn 518 | kvc 519 | cv 520 | cv 521 | cvm 522 | 523 | wodgjfls 524 | owdgfq 525 | niogfwtd 526 | vcdgfwo 527 | mgwyfod 528 | 529 | ozhwa 530 | kotuedjcql 531 | 532 | kw 533 | kw 534 | kw 535 | kw 536 | 537 | sufmi 538 | rmsuf 539 | jumfpeogs 540 | tmfsbu 541 | 542 | siadk 543 | mijcgosk 544 | ski 545 | isk 546 | 547 | kplwzh 548 | hzpkwl 549 | lwzkph 550 | wzhkpl 551 | 552 | yot 553 | y 554 | sy 555 | 556 | lz 557 | fl 558 | lf 559 | 560 | kexljydcihonwtgumfsrz 561 | iuywlcxomsedjnhztgrf 562 | wtorjgfuxsmlyecdnhbzi 563 | tczliugorhdjsfyenamxw 564 | zklniaxyujdcwtrhgsmfoe 565 | 566 | juzqtibn 567 | qijvuzgtnf 568 | nqxziutj 569 | qitonjzw 570 | zqtnjgbis 571 | 572 | tuqygv 573 | gutvqy 574 | tvuqyg 575 | 576 | plzqmthysawexgvnr 577 | ptvxasryleqmgznwh 578 | htlgnqexsmwpvyiraz 579 | 580 | hizrfynjmqceg 581 | bplsuoydv 582 | 583 | bptjc 584 | jcbtp 585 | 586 | qedcultavjwizxnkob 587 | bokndqcuivwtxlaezfj 588 | qazlvsjexikwbcudont 589 | 590 | vgihxmquktcrywpzj 591 | kpujwxfrgqmzlyihct 592 | domjarxitczhwnqugkyp 593 | 594 | wilctjzq 595 | ouwylicgkxvsha 596 | npbwlric 597 | liwqc 598 | qclpidbnw 599 | 600 | gbvpdkxclfejtaoq 601 | elabncgfkjdvxop 602 | 603 | vfi 604 | vpif 605 | ivf 606 | vif 607 | 608 | hvjzxebtqsfwpia 609 | gvaxyiwfkcru 610 | 611 | hzrg 612 | lz 613 | fqz 614 | az 615 | qabzpyi 616 | 617 | redfpogvxc 618 | zeyh 619 | ainye 620 | tlyzeu 621 | alsemu 622 | 623 | gwph 624 | gpw 625 | ywgp 626 | gwp 627 | 628 | fjkhnmuwtxialyo 629 | tjuolfnkamwxy 630 | 631 | umrdifo 632 | mrfodtuix 633 | jkruohmfdi 634 | ufikzrmdo 635 | 636 | blioreudh 637 | brfiaheulndgy 638 | 639 | ywstjalubez 640 | wbsautezj 641 | usebjtawz 642 | 643 | gatfpyjoznwh 644 | oztwypanjghf 645 | nzgojwfphyta 646 | yjhpgfotwzna 647 | 648 | metqoknri 649 | kqmtnwerofi 650 | qtkohjnmeir 651 | qmkrefiton 652 | 653 | xdgrbua 654 | bwdukoghcrxln 655 | euvxgrdbi 656 | vusgbrxd 657 | 658 | rovayxgkqshzi 659 | olgxhutwzsikbecqdajyp 660 | ksrahngzyiqxo 661 | vosgzynxqaifkh 662 | soqzigyxakh 663 | 664 | fopjqgdmhtbv 665 | qbvl 666 | lbvqy 667 | buwvq 668 | bcuqv 669 | 670 | feyvazrnows 671 | waynzeorfs 672 | sorafznewy 673 | 674 | jpohmywkvqextsd 675 | ahtvoxpumsedq 676 | qbgtpoecsnlmxfirvh 677 | 678 | uic 679 | ij 680 | ixgp 681 | alzehimdvybf 682 | tkgi 683 | 684 | fpjubodeznsqyxkwami 685 | anuymqskowpedbifzjx 686 | oubjpwznfdxemiyqska 687 | 688 | uhzd 689 | uzhd 690 | dhuz 691 | uhdgz 692 | zdhu 693 | 694 | bsyituhq 695 | rbjahg 696 | 697 | xszkrj 698 | znhjrsx 699 | jzrptkxs 700 | mlzrjbxsyoq 701 | unjxrzsk 702 | 703 | rmyilhnkdqjpfceogzu 704 | oegpdtmkwuvfal 705 | budoxkfpglem 706 | 707 | xekshpotfzlcmuiwgj 708 | sauekziobrthjgxfcpwl 709 | eifjhkwgpcltsxozvu 710 | okenjhgscxqfuzwtpl 711 | uhcjxzowitsdlegpkf 712 | 713 | kzwdconulqtrvihsgp 714 | qwmhutnpyrsxbvgzokdeicl 715 | 716 | x 717 | x 718 | i 719 | 720 | umvbcenh 721 | egun 722 | tnue 723 | ktuen 724 | wgneu 725 | 726 | wysximljeua 727 | uiwxleymsja 728 | iemlyxjsawu 729 | 730 | r 731 | wt 732 | 733 | hcvos 734 | xv 735 | 736 | enzmuaxc 737 | jcdnvzam 738 | nltvobeaym 739 | mfnahipgswr 740 | 741 | hsnmlpkujoigaftc 742 | fslotjmpghacnkiu 743 | cbfjlkohumapsngt 744 | lsutoajknfpgchmi 745 | 746 | xisn 747 | insxw 748 | nixs 749 | 750 | eunflkcda 751 | gcnxefzlud 752 | lspcndufea 753 | onwjutcefdlm 754 | 755 | hrivmxpatkgd 756 | hdmxigtprakv 757 | dvpmgcrthkiax 758 | gkdraxithpmv 759 | rvmutdbixpklehga 760 | 761 | elmdxqwn 762 | mqlwedn 763 | mwnleqd 764 | qldwnem 765 | qemlwdn 766 | 767 | wpjfrlqbs 768 | vwqjlsfbr 769 | srqwbjflk 770 | fpjlqwsrb 771 | 772 | u 773 | j 774 | l 775 | w 776 | l 777 | 778 | kr 779 | rk 780 | kr 781 | rkd 782 | rk 783 | 784 | irpxjsmqgf 785 | bhqpendrjfc 786 | pmwryfjql 787 | mpfqjryux 788 | 789 | kjgheiqcox 790 | iklufxgcjeh 791 | gynvizspjhmebakxt 792 | 793 | udwlimhqsorbpeynctva 794 | qzxobjpsckyfmtr 795 | 796 | xqyjwueda 797 | juehakzxygq 798 | nexjlqumsyra 799 | 800 | mvsyaec 801 | xalsmwvyr 802 | msyuav 803 | awsmvy 804 | 805 | tyfrcibenxdvgum 806 | diptcfwuroegnlvx 807 | 808 | c 809 | i 810 | g 811 | arelmvpoz 812 | n 813 | 814 | q 815 | pq 816 | q 817 | asq 818 | 819 | oxrchtjsekpw 820 | twoesdckuhnpxml 821 | xkovyetpwschai 822 | tsjwecqzxhgfopk 823 | fspcxrtdoewhk 824 | 825 | urjh 826 | njd 827 | 828 | ygo 829 | syog 830 | gfoyr 831 | 832 | lrvkw 833 | dwarkyg 834 | cphkiqfjsut 835 | xk 836 | vwk 837 | 838 | chlog 839 | wughvb 840 | cngh 841 | hlgc 842 | 843 | hlu 844 | luh 845 | 846 | tgfsbj 847 | btgjf 848 | 849 | yflqdgp 850 | dqpflg 851 | dlgpfq 852 | qgdlfp 853 | lfgdpumq 854 | 855 | dybxtrizvhcksalqpungfwmeoj 856 | lpotsjiaydfbqwzruxhemcnvgk 857 | qletwyopaivjkgcbszrudmxfnh 858 | 859 | rowgvahemlyjkbupxct 860 | jrewbpmktlvxaouhcy 861 | 862 | soerhzknbijd 863 | oekgznidsrhj 864 | oihrkaduezsnjf 865 | 866 | axthin 867 | ojhtxa 868 | tnahxv 869 | 870 | t 871 | f 872 | cv 873 | 874 | yjkatqum 875 | eksumriab 876 | wksmhvuaeb 877 | 878 | wz 879 | w 880 | wfb 881 | 882 | ruvglckjpomqthy 883 | afjbuxevlqiwog 884 | 885 | zpyfolacrnqgvhksmjdeuw 886 | ebctoamjkusdrnpyxwih 887 | 888 | fxs 889 | sfirlxm 890 | swfx 891 | 892 | imftqohzgjcpdlsrebxuv 893 | agptlnyxujfzwkoqmdh 894 | 895 | mkbqsgaxojivpyrzwtn 896 | svhgocwbazkyqtxrfnlmu 897 | nozrjkdabxwitqmvegys 898 | 899 | tuzmyvqgnsekbwo 900 | vmqgbozknywetus 901 | ymsnwuqoezktgvb 902 | euzowmbqtskgynv 903 | uzesoybkngwmqtv 904 | 905 | khgx 906 | xhz 907 | aclrne 908 | 909 | kq 910 | qk 911 | qk 912 | 913 | i 914 | gmf 915 | dh 916 | owqjb 917 | 918 | pstycjadezlbnqwxrig 919 | rbhdpqysicgnlwa 920 | ryhibaqwdclpngs 921 | npdcyqsbrhawiglko 922 | cbsdiwpnqgylra 923 | 924 | quvsagtxw 925 | uatvcx 926 | vutax 927 | 928 | ndbrlpzxasmto 929 | sdbxjyrofatqlpmnz 930 | bolmatxdszpnr 931 | wplobctzsmxdnra 932 | 933 | boxmgljp 934 | xfap 935 | 936 | cndeqvy 937 | mzneys 938 | eyn 939 | sieyn 940 | eynm 941 | 942 | kbuwp 943 | bqpkh 944 | 945 | ljngohfvtpdmw 946 | iwctogfnmvuzlhd 947 | 948 | napvy 949 | gaczoidwybm 950 | ysaet 951 | 952 | wrnixgyv 953 | wnrxgvyi 954 | vxirywgn 955 | iwryxvng 956 | gvwinxyr 957 | 958 | ygtbiqfuornlx 959 | ieuwpgzxhbo 960 | vubi 961 | 962 | ohxbkqgsj 963 | qalpsfmiwtzyrdc 964 | 965 | fyakzqidcpswn 966 | qwkizfdpyacn 967 | 968 | lxf 969 | ifxl 970 | njuxfl 971 | 972 | yxqzebvsgpwl 973 | mnjcftohyi 974 | adycurkmo 975 | 976 | nxdfptvebg 977 | swjzqh 978 | kwyasj 979 | oljz 980 | 981 | lrzunheqgjvcs 982 | kiqshjmgdvuz 983 | 984 | feyljcgrqmsdbz 985 | qsgnumzhiayfbcle 986 | pcwfstmkvgeqloxy 987 | 988 | qnwcftx 989 | hyewofcl 990 | cwhfi 991 | clfehw 992 | 993 | kjuebdvpgqs 994 | ahpubjyske 995 | zksejxbuwp 996 | juboekswp 997 | 998 | u 999 | bcytf 1000 | 1001 | rpvshwmn 1002 | djnshvmwr 1003 | wrshnvm 1004 | 1005 | itpduvwechnrk 1006 | ntirkpvdelcuhws 1007 | vrcktepindwuqhf 1008 | 1009 | q 1010 | q 1011 | q 1012 | 1013 | mzhrygf 1014 | zhfygmr 1015 | msofhrygz 1016 | rqfymhzg 1017 | ygfmhqrz 1018 | 1019 | nwbpshv 1020 | twspladobu 1021 | hzinpwbqs 1022 | 1023 | c 1024 | c 1025 | xecuy 1026 | c 1027 | c 1028 | 1029 | y 1030 | y 1031 | o 1032 | y 1033 | 1034 | qauijgxfhbztlpvecrk 1035 | ljhcamkegxbqyptnzrfoviu 1036 | ejibuzlprhtcxaqfgvk 1037 | biczvdhgqlxrktjafuep 1038 | hpsxgwujqakbrltzevcfi 1039 | 1040 | cmfryo 1041 | froyc 1042 | dcofgye 1043 | 1044 | dcrbjnza 1045 | jdirzacb 1046 | bzrdacj 1047 | cbadrzj 1048 | 1049 | fnjryzvtxlsdioepm 1050 | ldxfzcjtovyisepbmrn 1051 | mtoxdilwfrvjespyzn 1052 | 1053 | omqxjypgin 1054 | bcrdezl 1055 | vflwkrzt 1056 | 1057 | dkabj 1058 | ntwpy 1059 | jb 1060 | 1061 | krjawyexhnlmcspizoufgt 1062 | ryebdifmlhwxgasvkoqjztcn 1063 | 1064 | lrctmfu 1065 | clzrmtfu 1066 | 1067 | ivagzecmwyl 1068 | xgkrojtfc 1069 | 1070 | bsalmjthvwgxirpqcnyue 1071 | ymtqgcsjrxnvaepfhwiolb 1072 | 1073 | tgwkeapzjo 1074 | oewgpzjkati 1075 | hejoalxzmgprkwb 1076 | nojwgazkpet 1077 | asoedjkzgpw 1078 | 1079 | zpjncustlhb 1080 | nswvlbtzphcjf 1081 | pzjlnebcmtfhs 1082 | cljbzfinthkps 1083 | aoplbczxrstjhyd 1084 | 1085 | ulvwcxg 1086 | bsvqwelud 1087 | dmxwioulv 1088 | nuwqvlb 1089 | ulwvpjft 1090 | 1091 | fmlvprndhxa 1092 | hmapdxvrnfl 1093 | npavmrgfxhdl 1094 | mhlanxrdpvf 1095 | 1096 | vfgwzy 1097 | yjgfzqxovu 1098 | wzbyfgvj 1099 | rvfkpdslzthngmyice 1100 | qfyzxavg 1101 | 1102 | hzfjbs 1103 | sjhzb 1104 | nhsjmzgw 1105 | 1106 | gmtvalyn 1107 | igtmvlyn 1108 | ymgtvn 1109 | gueftonmvxcy 1110 | 1111 | j 1112 | jge 1113 | jm 1114 | qwbj 1115 | j 1116 | 1117 | oftpvnykgdxrels 1118 | nrvksolftepdxy 1119 | xopknvbwltdeysrf 1120 | dkexlnhprtysfov 1121 | 1122 | gwcvu 1123 | wuec 1124 | cuw 1125 | wcvu 1126 | cuw 1127 | 1128 | cndywt 1129 | ntdwcy 1130 | cqtyngd 1131 | 1132 | noayvkcdsu 1133 | yaedfcjozs 1134 | 1135 | rzfhlitjvwdnp 1136 | hzxntilvwfprjd 1137 | ljinfmrdtpvwzh 1138 | 1139 | zylgudcfbxprwaqokmtjnsi 1140 | bosdnqlyjxgwkmrutcifpaz 1141 | kqwuipcfsdnzagojrxymbtl 1142 | wbixmynrjkgoaztslupqfcd 1143 | bnearosgumfildkjtcyxpqzw 1144 | 1145 | fherd 1146 | dfreh 1147 | hredf 1148 | dfrhe 1149 | 1150 | aysber 1151 | se 1152 | sze 1153 | seo 1154 | 1155 | cjofniwx 1156 | zxieaocf 1157 | uipxrgodcf 1158 | bsjtveoizwfxc 1159 | jfcoxinzt 1160 | 1161 | wzoegvhldfibmcj 1162 | ohurkdjcvifbazew 1163 | sxqzjwioefhbdvc 1164 | 1165 | ifrstw 1166 | btkqyfscx 1167 | lgvedonzjphu 1168 | 1169 | buw 1170 | wubhop 1171 | zrfwsbu 1172 | ucwhb 1173 | wbcu 1174 | 1175 | bdpn 1176 | wdpnb 1177 | dpbn 1178 | bdpn 1179 | padnb 1180 | 1181 | ukgziahpfyq 1182 | etvsrnjilx 1183 | 1184 | w 1185 | w 1186 | w 1187 | 1188 | kdjrc 1189 | kjcd 1190 | cqpjidh 1191 | tjdmc 1192 | 1193 | fihjqetkprmbgzl 1194 | hgjrtqiefompbzkld 1195 | amqipgtlebkjrfzh 1196 | elgqwbmpkjvzfihrt 1197 | mfjcpszthlirkbeqg 1198 | 1199 | vpfmytuob 1200 | bftvyoup 1201 | zobynvutpf 1202 | uypbftov 1203 | ubotpfyv 1204 | 1205 | t 1206 | k 1207 | k 1208 | t 1209 | po 1210 | 1211 | he 1212 | eh 1213 | he 1214 | he 1215 | he 1216 | 1217 | jwkorfnpqhlxvbziedcasm 1218 | vzsfxlkqarmhnjpidcboe 1219 | lpzkacexvthbfrojsinqmd 1220 | mcnzqiekusafdpvoylxbrhj 1221 | 1222 | doqcnfpshrgwxkjubyval 1223 | bdjuhgnlvpkcrfawqsyx 1224 | pnasqwryjfvduhbtcklxg 1225 | 1226 | pyba 1227 | bacs 1228 | autxkrgm 1229 | bwfa 1230 | eiola 1231 | 1232 | bhfrtklucjpinqoexmdgz 1233 | orchqmilekjbupzfgdnt 1234 | klhbtnzuomxegdivcjqfp 1235 | itfgdqualjokhnbspzemc 1236 | 1237 | kjz 1238 | jkoz 1239 | kzj 1240 | zkj 1241 | 1242 | w 1243 | v 1244 | 1245 | qfytlkjconpsw 1246 | ltfpyjcskqown 1247 | wqsfkcoyjpltn 1248 | nckhwtpofjyslq 1249 | 1250 | bvsqmnyjkur 1251 | qrukybsjvmn 1252 | bnkyvusrmqj 1253 | ykqumnrsvjb 1254 | bjvyursmnkq 1255 | 1256 | ykmabugfjtqdwpevrzx 1257 | maezkwtbvxdqupojfyg 1258 | mqyvxasgkezudpwtjfb 1259 | fumzpyxtdwqjgabveks 1260 | 1261 | wcntqs 1262 | sntbcwq 1263 | 1264 | tywbgnf 1265 | gbuynfcrt 1266 | sygnrufbt 1267 | gabfiznmhtpy 1268 | ltbfngy 1269 | 1270 | ngkfqmv 1271 | gnqavfm 1272 | qgmnavf 1273 | qgmvfn 1274 | gvmqnf 1275 | 1276 | w 1277 | a 1278 | id 1279 | uj 1280 | 1281 | zvqypkadneblrf 1282 | vaeqpldzkfrbny 1283 | friaqcvdsexyhbnlp 1284 | ezflrdqkbnypva 1285 | 1286 | tlhucpwyzrex 1287 | lcpwrhqe 1288 | pkehrwlc 1289 | ewcpfhrl 1290 | chlpwerm 1291 | 1292 | wrtljgy 1293 | ygqjlw 1294 | 1295 | jvygmx 1296 | qxmyg 1297 | myxgqr 1298 | gmyx 1299 | xmgqy 1300 | 1301 | nvmufjzsb 1302 | amnzthf 1303 | 1304 | ujgebphztf 1305 | hezupfjbt 1306 | zjxfubelsphdt 1307 | pthbzefju 1308 | bzfuhpjte 1309 | 1310 | xhfj 1311 | fhgdx 1312 | uifoxqwh 1313 | hnexaylbfk 1314 | fphux 1315 | 1316 | jiqhofdlwkgas 1317 | wftrvupnze 1318 | bwfmu 1319 | muenywfct 1320 | 1321 | mzrf 1322 | gkxsqcwo 1323 | 1324 | uaewm 1325 | ewmua 1326 | muaew 1327 | umwea 1328 | awmue 1329 | 1330 | njduohc 1331 | hndcjou 1332 | chndoju 1333 | 1334 | sqrdgapl 1335 | dqgpasrl 1336 | gdqplsra 1337 | 1338 | aunzfm 1339 | munah 1340 | 1341 | paqvw 1342 | qp 1343 | fqs 1344 | vpq 1345 | qwp 1346 | 1347 | gfmbcvriax 1348 | dlcmbwvfeyp 1349 | bixcrmvaf 1350 | 1351 | uczi 1352 | bzi 1353 | izwrb 1354 | wiz 1355 | zi 1356 | 1357 | s 1358 | j 1359 | 1360 | khqea 1361 | qehxka 1362 | 1363 | mj 1364 | dj 1365 | j 1366 | 1367 | uibwnrakt 1368 | torn 1369 | rtevnlh 1370 | 1371 | ghwzt 1372 | tghz 1373 | gzht 1374 | zvgcuqh 1375 | hzg 1376 | 1377 | t 1378 | t 1379 | t 1380 | mt 1381 | t 1382 | 1383 | cszjtfdulmprbawqkexv 1384 | fbwnhigouy 1385 | 1386 | eq 1387 | feq 1388 | eqo 1389 | 1390 | tyvjnf 1391 | tfnsvj 1392 | bftngjkv 1393 | 1394 | bpxwhjcmogyq 1395 | tnfezpk 1396 | 1397 | as 1398 | as 1399 | as 1400 | as 1401 | 1402 | ybqntwcfld 1403 | qytlfbdcwn 1404 | wtcqdbfnyl 1405 | ltywfcbdqn 1406 | 1407 | fzshuktvwp 1408 | ukrbmxvyelindgq 1409 | 1410 | fjoweph 1411 | tbvfmscxe 1412 | aofzek 1413 | 1414 | axjyiwok 1415 | mviqawyxutnjbd 1416 | xawiyjc 1417 | jhwziyxa 1418 | 1419 | xgwq 1420 | mohv 1421 | w 1422 | ertbzsjk 1423 | udf 1424 | 1425 | crozvbt 1426 | btzvroc 1427 | 1428 | tvnqzmiouaeslxyw 1429 | taymuelowxqsviz 1430 | 1431 | jv 1432 | xjwv 1433 | 1434 | npohlyejtkbuvca 1435 | ytlokvaebhucjn 1436 | kutvyngeclaohbj 1437 | 1438 | nbvwheisoxpa 1439 | evlntxsmowighb 1440 | kwnaviojeshxb 1441 | owvphiexbfns 1442 | jwbnheyqvsxio 1443 | 1444 | fkvcteqsgd 1445 | bzcftexmvwohp 1446 | 1447 | srwf 1448 | frnwsj 1449 | swafr 1450 | rswf 1451 | fwrs 1452 | 1453 | iovjntkewabzumpxryqdfcgh 1454 | gskjxpotluzqycrifwbdne 1455 | 1456 | luokigf 1457 | nuherolcyiqxam 1458 | ugiobls 1459 | lwtduoi 1460 | ligwou 1461 | 1462 | gbfiqhdmpwjo 1463 | fwdqmbpjhig 1464 | bwjdrqhmfpaig 1465 | 1466 | ulzyiqamhxvpgbj 1467 | ftdrcnewhgszp 1468 | 1469 | oakzwdjupviqn 1470 | rgdelufhymik 1471 | 1472 | clxpqaryjkt 1473 | qycujtlpxa 1474 | xulpctqjya 1475 | ucjlatypqx 1476 | 1477 | zckf 1478 | fvek 1479 | 1480 | zncuxhaeli 1481 | nalhizkcuex 1482 | xaceinzulh 1483 | acuixzelhn 1484 | aczqnxhulie 1485 | 1486 | wrzuljei 1487 | lnremi 1488 | hrikyacgf 1489 | 1490 | odnqfwpugy 1491 | ptlwnydoqhmf 1492 | fyovwdpqn 1493 | oznwbfpykdqecs 1494 | 1495 | gchqvjlypom 1496 | kcwtvxdoiu 1497 | cvwzfkoe 1498 | 1499 | xw 1500 | wmzx 1501 | 1502 | mfihkroznydqp 1503 | kfpzqdinhrovym 1504 | hnrzqpyfdmiok 1505 | rtqdphyfonizmk 1506 | fimnyphzdrkqo 1507 | 1508 | nsbiyukormjhdclvaptw 1509 | bcrsitpxdklunmajvhwyo 1510 | dktbwvmfyrlhisjnacuop 1511 | ztcdupvhgjaboqinsylrmkw 1512 | clovapfbyhsukwmdtrjni 1513 | 1514 | bgq 1515 | gq 1516 | egqk 1517 | qxg 1518 | wfjulqgzo 1519 | 1520 | foc 1521 | ocf 1522 | fco 1523 | vofc 1524 | fco 1525 | 1526 | oitbdfympxjw 1527 | jfbowrptimh 1528 | ftoimpbwj 1529 | ktufiojpwbm 1530 | yiwbjpmfout 1531 | 1532 | adznvugpirxyfwkeml 1533 | uyefgikmdxrznvwap 1534 | gwxdmkyiavrpfnzeu 1535 | 1536 | mi 1537 | mi 1538 | mi 1539 | im 1540 | mi 1541 | 1542 | redwqtcgofk 1543 | apuhyrsdkbf 1544 | kfsrnuvmhbxd 1545 | rijdfk 1546 | 1547 | ekxfaqmhbptj 1548 | efayqhb 1549 | wqfuhabecy 1550 | qbfheac 1551 | eafbuhoq 1552 | 1553 | yxzarums 1554 | yzqforucaxs 1555 | 1556 | cwlqfxdrmp 1557 | dxipzcambwoveglk 1558 | twhmqspdcxl 1559 | cjwxpdsumnrfly 1560 | 1561 | zxdgqawjntukphsfbievrloc 1562 | twslhaqxoenmzrfybckdijv 1563 | 1564 | abzlckqrnsgfijdtvy 1565 | cgdteqlkbzinyrvasjf 1566 | dikaynsgrflzjcqbvt 1567 | 1568 | kptwqavin 1569 | wkviqxptn 1570 | swpvmgnqbiktl 1571 | qpvdtkuiwn 1572 | vrjikpytnqewo 1573 | 1574 | evjqxlktmroh 1575 | tjmelkoxrq 1576 | jlekomtqxr 1577 | molerxtkjq 1578 | njxkltqermo 1579 | 1580 | wkacmijsrponf 1581 | rwvpcsu 1582 | wzyplbstrc 1583 | cdhwylserpx 1584 | 1585 | jocqfpgmy 1586 | qjfpgmc 1587 | cfpqjmg 1588 | zcqjhfpgme 1589 | gjcmfqp 1590 | 1591 | evchkgpdqourmtlzbs 1592 | plvdteqmjzurk 1593 | 1594 | fgwbxpihnrz 1595 | cdktfvmljbeiwr 1596 | 1597 | mhdcqiaswfpeyogjkbtzvxn 1598 | xdyifpqzevknmcoathjsgwb 1599 | ndvlyzretgkqbswmpxcjiafho 1600 | mstqzycowgjhbnaxepvkidf 1601 | aygkezvcxowbjfqithmnspd 1602 | 1603 | qdmetvs 1604 | dmslt 1605 | 1606 | vaxsreikfulbohwc 1607 | avxeiolbkhcswrfu 1608 | 1609 | wiukdyzvenogj 1610 | nouyvkdrwagij 1611 | yewvhtjkgndqoiu 1612 | dnvfswojigkuey 1613 | 1614 | gnuatzydv 1615 | amzvnutgy 1616 | cvuengaywtz 1617 | zmdgvpyntaohu 1618 | oayngzstxfhvu 1619 | 1620 | jed 1621 | jefn 1622 | mjkch 1623 | 1624 | uojxteazifrsch 1625 | kaurlehco 1626 | ceuaohr 1627 | chkauwero 1628 | hacuekrno 1629 | 1630 | ygopsthm 1631 | fzduxalqjk 1632 | 1633 | hkdu 1634 | khdu 1635 | dhpuk 1636 | duhk 1637 | hudk 1638 | 1639 | mtoqrcgzxuavek 1640 | mntwviorack 1641 | frtmkyaocv 1642 | 1643 | pstolmvrqkwxz 1644 | rsipltjxqnmagvwuk 1645 | kspmrxtlyqebwv 1646 | twqmlexkprvsf 1647 | 1648 | lacfoveut 1649 | ocafve 1650 | acvjofbresx 1651 | 1652 | ohgclnjdz 1653 | ejsyzdolg 1654 | riqbwtkjfdgl 1655 | zdgjyvxhl 1656 | jldaug 1657 | 1658 | weqdtuvmfnygaskb 1659 | lsugyqfvnkebmj 1660 | 1661 | zdcpefjvaly 1662 | azcjfvdelpy 1663 | tayfqbdzlcepjvk 1664 | jedazcvfply 1665 | zdplceafyjv 1666 | 1667 | jw 1668 | j 1669 | chj 1670 | 1671 | cda 1672 | ja 1673 | yaxn 1674 | ja 1675 | 1676 | cfrqx 1677 | vlju 1678 | v 1679 | untv 1680 | uy 1681 | 1682 | cowiekfanus 1683 | wjgdupicnsfr 1684 | 1685 | sh 1686 | foywprquj 1687 | 1688 | b 1689 | u 1690 | 1691 | dhezbkx 1692 | nwyvlisjpr 1693 | jqcotumgfa 1694 | 1695 | eoh 1696 | oe 1697 | oe 1698 | xoe 1699 | 1700 | cjdhmxuyg 1701 | gjmxhdyuc 1702 | huedcxymgj 1703 | dugjxyhcm 1704 | 1705 | srctb 1706 | crstb 1707 | bvlezstprc 1708 | trbcs 1709 | rctsbj 1710 | 1711 | fbdvkeltq 1712 | lotm 1713 | nojtl 1714 | tl 1715 | rtl 1716 | 1717 | nryhkvetf 1718 | xkhrtnfycv 1719 | rhtvfynk 1720 | rfnvhtky 1721 | 1722 | qabfkzotdyjieghumplxs 1723 | sqtuhaxjgdkfliymeozbpv 1724 | lqgpjmeofdkaxuhtsyizb 1725 | usbyhegwtzlpkxidjqfmoa 1726 | pyjdkigtbafqohmsxuelz 1727 | 1728 | zolurkepnsm 1729 | ymplgvtrond 1730 | 1731 | skgedcfiqz 1732 | gfqzsckdei 1733 | ckgsdeqzif 1734 | 1735 | uazvbnlgtiscdmfjreq 1736 | iszgbjrnqfdtveauclm 1737 | nsilqzuamtgjcbrdfev 1738 | zmquiblfsgrvjetdcan 1739 | 1740 | faghxbimzvkcqsy 1741 | ikzagfmxbqvycsh 1742 | fbsxakqcghymviz 1743 | 1744 | ztvufgy 1745 | vzftgey 1746 | 1747 | g 1748 | g 1749 | g 1750 | kg 1751 | g 1752 | 1753 | cdihy 1754 | tsb 1755 | 1756 | ibl 1757 | l 1758 | 1759 | cpdatberqxhugms 1760 | rgaxceqptsmhdbu 1761 | emcrsdbhtxqapgu 1762 | drechgxtmapbqus 1763 | xqdpcmshbgeatru 1764 | 1765 | f 1766 | poj 1767 | f 1768 | z 1769 | u 1770 | 1771 | ezagw 1772 | usolp 1773 | 1774 | jagq 1775 | qgajs 1776 | gjasqk 1777 | jqagm 1778 | 1779 | josgetlqimcdxruyazvf 1780 | riclqagoskmwuyxdetpfjz 1781 | surlmyegxdnactoqzifj 1782 | lcydfrxusmvqjagzbeiot 1783 | lcrsoyavzubgimfeqxtdj 1784 | 1785 | qevptljankmhs 1786 | qmjukehpsatvo 1787 | vzmsaqgwetjphkr 1788 | 1789 | e 1790 | s 1791 | m 1792 | iaxgyd 1793 | 1794 | isn 1795 | nis 1796 | uisn 1797 | nis 1798 | sni 1799 | 1800 | bvjza 1801 | bv 1802 | bdv 1803 | dvb 1804 | 1805 | betqjy 1806 | nqbetj 1807 | tjvqe 1808 | hqkraxcp 1809 | 1810 | dbhzkpt 1811 | pzdhtk 1812 | thdkzp 1813 | pzthkd 1814 | 1815 | gyrfsaox 1816 | xafgkysh 1817 | sgxfapy 1818 | gmjuitsbcafyxq 1819 | xsgafy 1820 | 1821 | mvenpfxkwc 1822 | wpstxfev 1823 | 1824 | rftiyogqvue 1825 | gucfjnskpxzqoba 1826 | 1827 | htoyrpesdvnbg 1828 | rohysvgpetn 1829 | 1830 | yxntbv 1831 | vbxynt 1832 | vbyuxqn 1833 | ynbfxtav 1834 | myxnbdv 1835 | 1836 | v 1837 | v 1838 | vs 1839 | fv 1840 | 1841 | exodvrya 1842 | vomacygxduis 1843 | wajloydxvp 1844 | fyxokvadj 1845 | 1846 | qxipfbwly 1847 | wpxtlfcibyq 1848 | pylqfibwx 1849 | lxpyqbifw 1850 | 1851 | bydioqrcftehkaznlvgsx 1852 | ypklfesavizqxgohmtnbcrd 1853 | dagnriqsexyvflcbtkohz 1854 | 1855 | uhsjxyfniqbvw 1856 | auzbviynqgsjxwf 1857 | vfjsbqxurwadinlyt 1858 | yevixlqfnsbojwu 1859 | 1860 | y 1861 | y 1862 | y 1863 | zh 1864 | d 1865 | 1866 | etyjmxdwkfosbqzhigrpacuvn 1867 | uktqciyfbnrosaedlzgpwhjvmx 1868 | 1869 | w 1870 | wim 1871 | w 1872 | w 1873 | 1874 | zlkgwbseno 1875 | zqngksb 1876 | zgnbsk 1877 | gobztsnqkp 1878 | kcainfghdxzyubmvsjr 1879 | 1880 | qywhjzxlarbutdnvimc 1881 | vrbyjhtqlxmcnzui 1882 | tljuhyrnqbpzvxcm 1883 | tezubhyjxnqlfrvmc 1884 | quhxlzrvbmnctjy 1885 | 1886 | mwqlo 1887 | xqonftwmacj 1888 | gwrodqum 1889 | imwoqre 1890 | 1891 | q 1892 | q 1893 | zq 1894 | 1895 | tgnvlhc 1896 | nhcvtgl 1897 | clvhgtn 1898 | chvlntg 1899 | cnhvdgmbftlq 1900 | 1901 | pmfreuoyzdlhsgvcwb 1902 | exahjnytqcgk 1903 | 1904 | ayglbtwcxiopqh 1905 | ifxvqhtpbyowa 1906 | uqyhwaimtfkbxvpjdo 1907 | 1908 | mcwt 1909 | tdrckp 1910 | ct 1911 | 1912 | hskjp 1913 | fihpjksl 1914 | 1915 | rlvixasmotuqcye 1916 | tcyvolauqxsmeri 1917 | tpsvmceoailuyxrq 1918 | 1919 | ckvego 1920 | ecgokv 1921 | 1922 | bu 1923 | b 1924 | mjb 1925 | by 1926 | b 1927 | 1928 | odsbf 1929 | odbfs 1930 | fsdbo 1931 | bsdfo 1932 | obsfd 1933 | 1934 | tofgjlhuvmyzcnd 1935 | uyljsxtdpbewoqnvg 1936 | 1937 | bcfgaorvwqnmdup 1938 | rcvxaunwmdpszjfqgyob 1939 | fcrmabgqdwonpvue 1940 | 1941 | z 1942 | h 1943 | 1944 | cgbpk 1945 | uyzbop 1946 | 1947 | ptzqufrekvilxwmgn 1948 | qigueptylvckrnxzfhmd 1949 | nrxlezgmqoivkfupt 1950 | bpexuzmltqifgvrkns 1951 | aeglzqrbotpkvximfjnu 1952 | 1953 | cradozehb 1954 | dhslfoqrezca 1955 | 1956 | mpzkgcnbot 1957 | cemogtbpzn 1958 | lozwngjtbpcm 1959 | znlwpbgtmco 1960 | 1961 | lodrywvcxjgp 1962 | jxgyclpwrvdo 1963 | xrcpljogyvdw 1964 | pygvwrodcjxl 1965 | 1966 | bfrmhpiuwxznslcdqke 1967 | wikulxhrfdnbsmeqzc 1968 | dnhurewbcxsqzifkml 1969 | mibcendxwshkulrzqf 1970 | frnkcszlqmwbxiudeh 1971 | 1972 | pny 1973 | ypd 1974 | pyg 1975 | 1976 | msgwzuoydtaxkpqhbj 1977 | aknbtivsjgupozme 1978 | 1979 | uizgp 1980 | gpizau 1981 | gpzxu 1982 | aupzgi 1983 | 1984 | zkohbpscea 1985 | losacbgm 1986 | bogytalcs 1987 | owtysabnc 1988 | 1989 | swjkz 1990 | kszjw 1991 | zksqwj 1992 | 1993 | m 1994 | mdtqyw 1995 | bsnlkfjprv 1996 | demi 1997 | itdao 1998 | 1999 | gkwqdnaosmvyrbz 2000 | brpomnqgk 2001 | qotikclbrnemg 2002 | rkgqomnpb 2003 | 2004 | pyoclwjxrmibhgaqu 2005 | laymqhioubrpgcwxj 2006 | qbhuypxogwrjlamci 2007 | muicbghjwoyplqarx 2008 | 2009 | xfut 2010 | utfx 2011 | vfztuhxd 2012 | tuyxf 2013 | uxtf 2014 | 2015 | foabejk 2016 | wugejvkoca 2017 | qjazoxli 2018 | ahojt 2019 | 2020 | pqzk 2021 | zrkp 2022 | adihs 2023 | 2024 | xqcigryhkevpfmutwanlds 2025 | ecdqztaxonbiprugfmk 2026 | rqnpatukmefgoxdic 2027 | 2028 | ewtfcyagsizj 2029 | wyfgtviej 2030 | stejyfigrw 2031 | ctgajeyfwki 2032 | jdbeoyqhitufglpnxw 2033 | 2034 | krmsglcbi 2035 | kgbmilc 2036 | blkgicm 2037 | inxkcqglohwmb 2038 | kiblcmg 2039 | 2040 | tubipv 2041 | ejwrgfqci 2042 | nishoxzp 2043 | 2044 | hoqxjktugmrclzywedi 2045 | utgiceynvphszkmodrl 2046 | cdbihmzolufgea 2047 | 2048 | ichtmwx 2049 | cwmuvixtb 2050 | 2051 | qihgfsxnydtwcrkoeamupzvb 2052 | goizemfwhaxcdtknubypqsrv 2053 | ovshacfrekugzbwipymtxqnd 2054 | rqgntzkwxihovbedpsfumacy 2055 | oryitqesazgnckxhdvfpwmub 2056 | 2057 | qafihpdwy 2058 | saikmrbxecjgnvoy 2059 | 2060 | devizumtxonjhrkpq 2061 | zidmnptujoqhkvxre 2062 | gqjmkuohnrtxziedvp 2063 | pqoixumtdvrzjkhnbe 2064 | 2065 | fmtbrhsynpkxu 2066 | npsmubhyktfrx 2067 | sbhyxkumnprft 2068 | nhpusmfkbrxty 2069 | 2070 | je 2071 | x 2072 | 2073 | dagmxqbfvz 2074 | sxkur 2075 | xkptl 2076 | jixu 2077 | 2078 | e 2079 | e 2080 | hits 2081 | q 2082 | 2083 | tko 2084 | qtkhoy 2085 | topk 2086 | otk 2087 | 2088 | r 2089 | erh 2090 | r 2091 | r 2092 | r 2093 | 2094 | agrkjyfcw 2095 | ktryaw 2096 | whyirak 2097 | 2098 | pgzhswrvxumqlai 2099 | skgvdxwp 2100 | pgvjxdnws 2101 | wpnkgjxvs 2102 | 2103 | risotwzapm 2104 | eytfvlx 2105 | 2106 | ocdw 2107 | dowlc 2108 | 2109 | mlspy 2110 | ylpsmn 2111 | 2112 | rxf 2113 | xfr 2114 | 2115 | jaecdxiptnzrlomgwuqyhvf 2116 | mexsutcqaviywjzhgnropdl 2117 | imeufcjtvwyonxpzardlgqh 2118 | 2119 | dxqtwsvaernygbu 2120 | unceigjraxzbqwkvd 2121 | 2122 | skogcitreyx 2123 | xewqysmchvikduzj 2124 | ycxebsrlki 2125 | 2126 | gqdyaw 2127 | skxclpvq 2128 | 2129 | uja 2130 | kaju 2131 | jau 2132 | 2133 | xnjhqlyvgod 2134 | odlvnyxf 2135 | yndolkxv 2136 | vnldxyo 2137 | 2138 | ksmuqpily 2139 | oanrztfwjxvu 2140 | 2141 | gulobnahfmjdpkrqvecsz 2142 | lnymgsxrcpheqobjdavkf 2143 | 2144 | mgtdqzrebiswvcfnlopaukh 2145 | nbomqafeulrtvigdcpwszk 2146 | ginlmsraopdukxftbewqzcv 2147 | iamtqzvowldfnuscpkrgeb 2148 | 2149 | ipkonymxsvhjcu 2150 | iypevgxdhcnl 2151 | xhcinvply 2152 | 2153 | d 2154 | qbwhp 2155 | r 2156 | r 2157 | 2158 | hrdmq 2159 | qxld 2160 | hcqd 2161 | dqfc 2162 | 2163 | pqrgvxtzcbmws 2164 | xomdqytbiwzr 2165 | 2166 | eo 2167 | eo 2168 | oe 2169 | oe 2170 | oe 2171 | 2172 | dwgmk 2173 | mrwjdgk 2174 | gwmdk 2175 | 2176 | nspfzvdhocirwyebma 2177 | bfdcnzoswyermahivp 2178 | minwdycaephzsbvrfo 2179 | 2180 | iydcwfzaxlnret 2181 | qlusgcyk 2182 | lgcyjs 2183 | 2184 | tmjsecngzxfiq 2185 | vhzbyoedfu 2186 | 2187 | o 2188 | s 2189 | s 2190 | 2191 | ubfrgyp 2192 | vybfpkrg 2193 | erfybg 2194 | nbgyrf 2195 | zfwrgby 2196 | 2197 | gjnbfartdoiem 2198 | ajbtgermdqnfio 2199 | mfijcthadgnobuew 2200 | 2201 | --------------------------------------------------------------------------------