├── .gitignore ├── deps.edn ├── README.md ├── resources ├── puzzle_input_13.txt ├── puzzle_input_07_demo2.txt ├── puzzle_input_07_demo.txt ├── puzzle_input_10.txt ├── puzzle_input_01.txt ├── puzzle_input_12.txt ├── puzzle_input_08.txt ├── puzzle_input_11.txt ├── puzzle_input_03.txt ├── puzzle_input_05.txt ├── puzzle_input_09.txt ├── puzzle_input_14.txt ├── puzzle_input_04.txt ├── puzzle_input_02.txt └── puzzle_input_06.txt ├── bin └── fetch_input ├── interactive └── concat_overflow.clj ├── community ├── day5_notes.txt ├── zeng_xinhui_day5.clj ├── day6_notes.md ├── pranav_bhaskar.clj ├── boblatige_puzzle05.clj └── boblatige_puzzle07.clj └── src └── lambdaisland └── aoc_2020 ├── puzzle06.clj ├── util.clj ├── puzzle01.clj ├── puzzle05.clj ├── puzzle02.clj ├── puzzle03.clj ├── puzzle07.clj ├── puzzle08.clj ├── puzzle04.clj ├── puzzle09.clj ├── puzzle10.clj ├── puzzle13.clj ├── puzzle14.clj ├── puzzle12.clj ├── puzzle11.clj └── puzzle11_alt.clj /.gitignore: -------------------------------------------------------------------------------- 1 | .nrepl-port 2 | .cpcache 3 | -------------------------------------------------------------------------------- /deps.edn: -------------------------------------------------------------------------------- 1 | {:paths ["src" "resources"]} 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Advent of Code in Clojure - 2020 2 | 3 | The code for the [Advent of Code in Clojure - 2020] video series. 4 | -------------------------------------------------------------------------------- /resources/puzzle_input_13.txt: -------------------------------------------------------------------------------- 1 | 1002618 2 | 19,x,x,x,x,x,x,x,x,41,x,x,x,37,x,x,x,x,x,367,x,x,x,x,x,x,x,x,x,x,x,x,13,x,x,x,17,x,x,x,x,x,x,x,x,x,x,x,29,x,373,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,23 3 | -------------------------------------------------------------------------------- /bin/fetch_input: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | [[ -z "$AOC_SESSION" ]] && exit -1 4 | 5 | OUTFILE="resources/puzzle_input_$(printf "%02d" "${1}").txt" 6 | 7 | curl "https://adventofcode.com/2020/day/${1}/input"\ 8 | --progress-bar\ 9 | -H "Cookie: session=${AOC_SESSION}"\ 10 | > $OUTFILE 11 | -------------------------------------------------------------------------------- /resources/puzzle_input_07_demo2.txt: -------------------------------------------------------------------------------- 1 | shiny gold bags contain 2 dark red bags. 2 | dark red bags contain 2 dark orange bags. 3 | dark orange bags contain 2 dark yellow bags. 4 | dark yellow bags contain 2 dark green bags. 5 | dark green bags contain 2 dark blue bags. 6 | dark blue bags contain 2 dark violet bags. 7 | dark violet bags contain no other bags. 8 | -------------------------------------------------------------------------------- /interactive/concat_overflow.clj: -------------------------------------------------------------------------------- 1 | (ns concat-overflow) 2 | 3 | ;; loop / recur 4 | 5 | ;; (concat ... ) 6 | 7 | ;; StackOverflowError 8 | 9 | (def long-seq (reduce concat (map #(list %) (range 100000)))) 10 | 11 | (first long-seq) 12 | 13 | (defn my-concat [x y] 14 | (lazy-seq 15 | (if-let [s (seq x)] 16 | (cons (first s) (my-concat (rest s) y)) 17 | y))) 18 | -------------------------------------------------------------------------------- /community/day5_notes.txt: -------------------------------------------------------------------------------- 1 | # Day 5 2 | 3 | ## Alternative approaches 4 | 5 | ### Parsing binary 6 | 7 | - build up a string of a binary number, then parseInt 8 | - instead of parseInt, use `(read-string (str "2r" num))` 9 | 10 | As predicted some people worked on the range, 11 | 12 | - (loop [low ... high ...]) 13 | - (range 0 127) + take / take-last 14 | - (vec (range 0 127)) + subvec 15 | 16 | ### Finding the gap 17 | 18 | - Instead of partion-all, use `(map vec coll (next coll))` 19 | -------------------------------------------------------------------------------- /community/zeng_xinhui_day5.clj: -------------------------------------------------------------------------------- 1 | (ns zeng-xinhui-day5) 2 | 3 | ;; 202005 4 | 5 | (let [f #(clojure.string/replace %3 % %2) 6 | g #(if (= (inc %2) %1) %2 (reduced (inc %2))) 7 | input (->> (slurp "resources/puzzle_input_05.txt") 8 | (f "B" "1") (f "F" "0") (f "R" "1") (f "L" "0") 9 | (re-seq #"\w+") 10 | (map #(Integer/parseInt % 2)) 11 | sort 12 | reverse)] 13 | [(first input) (reduce g input)]) 14 | 15 | ;; [864 739] 16 | -------------------------------------------------------------------------------- /resources/puzzle_input_07_demo.txt: -------------------------------------------------------------------------------- 1 | light red bags contain 1 bright white bag, 2 muted yellow bags. 2 | dark orange bags contain 3 bright white bags, 4 muted yellow bags. 3 | bright white bags contain 1 shiny gold bag. 4 | muted yellow bags contain 2 shiny gold bags, 9 faded blue bags. 5 | shiny gold bags contain 1 dark olive bag, 2 vibrant plum bags. 6 | dark olive bags contain 3 faded blue bags, 4 dotted black bags. 7 | vibrant plum bags contain 5 faded blue bags, 6 dotted black bags. 8 | faded blue bags contain no other bags. 9 | dotted black bags contain no other bags. 10 | -------------------------------------------------------------------------------- /community/day6_notes.md: -------------------------------------------------------------------------------- 1 | # Day 6, things to mention (on day 7) 2 | 3 | ## Remarks 4 | 5 | - thanks to the people on the lambda island leaderboard 6 | - functions I learned about 7 | 8 | str/split-lines 9 | str/escape 10 | take-last 11 | 12 | (str/escape "abc" {\a "x" \b "y"}) 13 | 14 | ## Comments 15 | 16 | Tobias Adam: 17 | 18 | Cool series! It's always interesting for me to learn by watching how other 19 | people work. The iterate function was new to me and the :strs destructuring. 20 | Also the little trick of using ->> threading within -> threading is neat. Thanks 21 | for sharing! 22 | 23 | Rule of thumb: you can always nest inside a thread-first 24 | -------------------------------------------------------------------------------- /src/lambdaisland/aoc_2020/puzzle06.clj: -------------------------------------------------------------------------------- 1 | (ns lambdaisland.aoc-2020.puzzle06 2 | (:require [clojure.java.io :as io] 3 | [clojure.set :as set] 4 | [clojure.string :as str])) 5 | 6 | (def groups (str/split (slurp (io/resource "puzzle_input_06.txt")) #"\R\R")) 7 | 8 | (reduce + (map (comp count set #(str/replace % "\n" "")) groups)) 9 | ;; => 7110 10 | 11 | (reduce + (map (comp count distinct #(remove #{\newline} %)) groups)) 12 | 13 | (def group (first groups)) 14 | 15 | (transduce (map 16 | (fn [group] 17 | (count (apply set/intersection (map set (str/split-lines group)))))) 18 | + 19 | groups) 20 | ;; => 3628 21 | -------------------------------------------------------------------------------- /src/lambdaisland/aoc_2020/util.clj: -------------------------------------------------------------------------------- 1 | (ns lambdaisland.aoc-2020.util 2 | (:require [clojure.java.io :as io] 3 | [clojure.string :as str])) 4 | 5 | (defn parse-long [l] 6 | (Long/parseLong l)) 7 | 8 | (defn puzzle-input [day] 9 | (io/resource (format "puzzle_input_%02d.txt" day))) 10 | 11 | (defn num-resource-seq [day] 12 | (with-open [rdr (io/reader (puzzle-input day))] 13 | (doall (map parse-long (line-seq rdr))))) 14 | 15 | (defn re-str-seq [re s] 16 | (map #(next (re-find re %)) (str/split-lines s))) 17 | 18 | (defn re-resource-seq [day re] 19 | (with-open [rdr (io/reader (puzzle-input day))] 20 | (doall (map #(next (re-find re %)) (line-seq rdr))))) 21 | -------------------------------------------------------------------------------- /src/lambdaisland/aoc_2020/puzzle01.clj: -------------------------------------------------------------------------------- 1 | (ns lambdaisland.aoc-2020.puzzle01 2 | (:require [clojure.java.io :as io])) 3 | 4 | (def demo-input [1721 5 | 979 6 | 366 7 | 299 8 | 675 9 | 1456]) 10 | 11 | (def input 12 | (map #(Long/parseLong %) 13 | (line-seq (io/reader (io/resource "puzzle_input_01.txt"))))) 14 | 15 | (set 16 | (for [x input 17 | y input 18 | :when (= 2020 (+ x y))] 19 | (* x y))) 20 | ;; => #{73371} 21 | ;; => #{514579} 22 | 23 | (set 24 | (for [x input 25 | y input 26 | z input 27 | :when (= 2020 (+ x y z))] 28 | (* x y z))) 29 | ;; => #{127642310} 30 | -------------------------------------------------------------------------------- /src/lambdaisland/aoc_2020/puzzle05.clj: -------------------------------------------------------------------------------- 1 | (ns lambdaisland.aoc-2020.puzzle05 2 | (:require [clojure.java.io :as io])) 3 | 4 | (def chars {\B 1 \F 0 \L 0 \R 1}) 5 | 6 | (def real-input (line-seq (io/reader (io/resource "puzzle_input_05.txt")))) 7 | 8 | 2r1000110 9 | ;; => 70 10 | 2r111 11 | ;; => 7 12 | 13 | (defn bits->num [bits] 14 | (reduce #(+ (* %1 2) %2) 0 (map chars bits))) 15 | 16 | (def seat-ids (map bits->num real-input)) 17 | 18 | (apply max seat-ids) 19 | ;; => 908 20 | 21 | (some (fn [[l h]] 22 | (when (= h (+ 2 l)) 23 | (inc l))) 24 | (partition-all 2 1 (sort seat-ids))) 25 | ;; => 619 26 | 27 | (def bits [0 1 0 1 0 1]) 28 | 29 | (reduce #(bit-or (bit-shift-left %1 1) %2) 0 bits) 30 | -------------------------------------------------------------------------------- /src/lambdaisland/aoc_2020/puzzle02.clj: -------------------------------------------------------------------------------- 1 | (ns lambdaisland.aoc-2020.puzzle02 2 | (:require [clojure.java.io :as io])) 3 | 4 | (def sample-input "1-3 a: abcde 5 | 1-3 b: cdefg 6 | 2-9 c: ccccccccc") 7 | 8 | (defn parse-long [l] 9 | (Long/parseLong l)) 10 | 11 | (defn parse-line [s] 12 | (let [[_ min max char pwd] (re-find #"(\d+)-(\d+) (.): (.*)" s)] 13 | [(parse-long min) (parse-long max) (first char) pwd])) 14 | 15 | (defn entry-ok? [[min max char pwd]] 16 | (<= min (get (frequencies pwd) char 0) max)) 17 | 18 | (def input 19 | (map parse-line (line-seq (io/reader (io/resource "puzzle_input_02.txt"))))) 20 | 21 | (count (filter entry-ok? input)) 22 | ;; => 603 23 | 24 | (defn entry-ok2? [[min max char pwd]] 25 | (let [ok1 (= (nth pwd (dec min)) char) 26 | ok2 (= (nth pwd (dec max)) char)] 27 | (not= ok1 ok2))) 28 | 29 | (count (filter entry-ok2? input)) 30 | ;; => 404 31 | -------------------------------------------------------------------------------- /resources/puzzle_input_10.txt: -------------------------------------------------------------------------------- 1 | 149 2 | 87 3 | 67 4 | 45 5 | 76 6 | 29 7 | 107 8 | 88 9 | 4 10 | 11 11 | 118 12 | 160 13 | 20 14 | 115 15 | 130 16 | 91 17 | 144 18 | 152 19 | 33 20 | 94 21 | 53 22 | 148 23 | 138 24 | 47 25 | 104 26 | 121 27 | 112 28 | 116 29 | 99 30 | 105 31 | 34 32 | 14 33 | 44 34 | 137 35 | 52 36 | 2 37 | 65 38 | 141 39 | 140 40 | 86 41 | 84 42 | 81 43 | 124 44 | 62 45 | 15 46 | 68 47 | 147 48 | 27 49 | 106 50 | 28 51 | 69 52 | 163 53 | 97 54 | 111 55 | 162 56 | 17 57 | 159 58 | 122 59 | 156 60 | 127 61 | 46 62 | 35 63 | 128 64 | 123 65 | 48 66 | 38 67 | 129 68 | 161 69 | 3 70 | 24 71 | 60 72 | 58 73 | 155 74 | 22 75 | 55 76 | 75 77 | 16 78 | 8 79 | 78 80 | 134 81 | 30 82 | 61 83 | 72 84 | 54 85 | 41 86 | 1 87 | 59 88 | 101 89 | 10 90 | 85 91 | 139 92 | 9 93 | 98 94 | 21 95 | 108 96 | 117 97 | 131 98 | 66 99 | 23 100 | 77 101 | 7 102 | 100 103 | 51 104 | -------------------------------------------------------------------------------- /community/pranav_bhaskar.clj: -------------------------------------------------------------------------------- 1 | (ns pranav-puzzle05 2 | (:require [clojure.string :as str] 3 | [clojure.java.io :as io])) 4 | 5 | (def demo-input "BFFFBBFRRR 6 | FFFBBBFRRR 7 | BBFFBBFRLL") 8 | 9 | (defn floor-int [n] 10 | (int (Math/floor n))) 11 | 12 | (defn dig [char [n1 n2]] 13 | (if (#{\L \F} char) 14 | [n1 (+ n1 (quot (- n2 n1) 2))] 15 | [(- n2 (quot (- n2 n1) 2)) n2])) 16 | 17 | (defn get-n [str init] 18 | (reduce #(dig %2 %1) init str) 19 | #_(loop [[c & cs] str 20 | i init] 21 | (if c 22 | (recur cs (dig c i)) 23 | (first i)))) 24 | 25 | (defn get-seat [str] 26 | (let [[rs cs] (partition-all 7 str) 27 | ri [0 127] 28 | ci [0 7]] 29 | (+ (* 8 (get-n rs ri)) (get-n cs ci)))) 30 | 31 | (get-seat "BBFFBBFRLL") 32 | 33 | (apply max (map get-seat (str/split demo-input #"\n"))) 34 | ;; => 820 35 | 36 | (def input (line-seq (io/reader (io/resource "puzzle_input_05.txt")))) 37 | 38 | (apply max (map get-seat input)) 39 | ;; => 908 40 | 41 | ;; ; Part 2 42 | 43 | (def sorted-nums (sort (map get-seat input))) 44 | 45 | (- (reduce + 46 | (range 47 | (first sorted-nums) 48 | (inc (last sorted-nums)))) 49 | (reduce + sorted-nums)) 50 | ;; => 619 51 | -------------------------------------------------------------------------------- /community/boblatige_puzzle05.clj: -------------------------------------------------------------------------------- 1 | (ns boblatige-day-5 2 | (:require [clojure.set :as set])) 3 | 4 | (def input (-> (slurp (io/resource "puzzle_input_05.txt")) 5 | clojure.string/split-lines)) 6 | 7 | (defn lower-half [[start end]] 8 | [start (- end (quot (inc (- stop end)) 2))]) 9 | 10 | (defn upper-half [[start end]] 11 | [(+ start (quot (inc (- end start)) 2)) end]) 12 | 13 | (defn parse-input [s] 14 | (reduce (fn [acc char] 15 | (case char 16 | \F (update acc :row lower-half) 17 | \B (update acc :row upper-half) 18 | \L (update acc :col lower-half) 19 | \R (update acc :col upper-half))) 20 | {:row [0 127] :col [0 7]} 21 | s)) 22 | 23 | (defn seat-id [{:keys [row col] :as pass}] 24 | (assoc pass :seat-id (+ (first col) (* (first row) 8)))) 25 | 26 | (defn missing-number [xs] 27 | (let [first (first xs) 28 | last (last xs) 29 | full (set (range first (inc last)))] 30 | (set/difference full (set xs)))) 31 | 32 | ;; part-1 33 | (->> input 34 | (map parse-input) 35 | (map seat-id) 36 | (map :seat-id) 37 | (sort) 38 | last) ;; => 922 39 | 40 | ;; part-2 41 | (->> input 42 | (map parse-input) 43 | (map seat-id) 44 | (map :seat-id) 45 | (sort) 46 | missing-number);; => #{747} 47 | -------------------------------------------------------------------------------- /src/lambdaisland/aoc_2020/puzzle03.clj: -------------------------------------------------------------------------------- 1 | (ns lambdaisland.aoc-2020.puzzle03 2 | (:require [clojure.java.io :as io] 3 | [clojure.string :as str])) 4 | 5 | (def demo-input "..##....... 6 | #...#...#.. 7 | .#....#..#. 8 | ..#.#...#.# 9 | .#...##..#. 10 | ..#.##..... 11 | .#.#.#....# 12 | .#........# 13 | #.##...#... 14 | #...##....# 15 | .#..#...#.#") 16 | 17 | (def real-input (slurp (io/resource "puzzle_input_03.txt"))) 18 | 19 | (defn input->map [input] 20 | (mapv (fn [row] 21 | (mapv {\# true \. false} row)) 22 | (str/split input #"\n"))) 23 | 24 | (defn tree? [m x y] 25 | (let [width (count (first m))] 26 | (get-in m [y (mod x width)]))) 27 | 28 | (defn sled [[down-x down-y] [my-map x y trees]] 29 | (let [x (+ x down-x) 30 | y (+ y down-y) 31 | tree? (tree? my-map x y)] 32 | (cond 33 | (nil? tree?) 34 | (reduced trees) 35 | 36 | (true? tree?) 37 | [my-map x y (inc trees)] 38 | 39 | :else 40 | [my-map x y trees]))) 41 | 42 | (defn sled-down [slope input] 43 | @(first 44 | (drop-while 45 | (complement reduced?) 46 | (iterate (partial sled slope) [(input->map input) 0 0 0])))) 47 | 48 | (sled-down [3 1] demo-input) 49 | ;; => 7 50 | 51 | (sled-down [3 1] real-input) 52 | ;; => 164 53 | 54 | (def slopes [[1 1] 55 | [3 1] 56 | [5 1] 57 | [7 1] 58 | [1 2]]) 59 | 60 | (time (apply * (for [s slopes] 61 | (sled-down s real-input)))) 62 | ;; => 5007658656 63 | 64 | (let [xs (iterate (partial + 3) 1) 65 | ys (iterate (partial + 1) 1) 66 | m (input->map real-input)] 67 | (->> (map (fn [x y] 68 | (tree? m x y)) 69 | xs 70 | ys) 71 | (take-while some?) 72 | (filter true?) 73 | count)) 74 | -------------------------------------------------------------------------------- /resources/puzzle_input_01.txt: -------------------------------------------------------------------------------- 1 | 1322 2 | 1211 3 | 1427 4 | 1428 5 | 1953 6 | 1220 7 | 1629 8 | 1186 9 | 1354 10 | 1776 11 | 1906 12 | 1849 13 | 1327 14 | 1423 15 | 401 16 | 1806 17 | 1239 18 | 1934 19 | 1256 20 | 1223 21 | 1504 22 | 1365 23 | 1653 24 | 1706 25 | 1465 26 | 1810 27 | 1089 28 | 1447 29 | 1983 30 | 1505 31 | 1763 32 | 1590 33 | 1843 34 | 1534 35 | 1886 36 | 1842 37 | 1878 38 | 1785 39 | 1121 40 | 1857 41 | 1496 42 | 1696 43 | 1863 44 | 1944 45 | 1692 46 | 1255 47 | 1572 48 | 1767 49 | 1509 50 | 1845 51 | 1479 52 | 1935 53 | 1507 54 | 1852 55 | 1193 56 | 1797 57 | 1573 58 | 1317 59 | 1266 60 | 1707 61 | 1819 62 | 925 63 | 1976 64 | 1908 65 | 1571 66 | 1646 67 | 1625 68 | 1719 69 | 1980 70 | 1970 71 | 1566 72 | 1679 73 | 1484 74 | 1818 75 | 1985 76 | 1794 77 | 1699 78 | 1530 79 | 1645 80 | 370 81 | 1658 82 | 1345 83 | 1730 84 | 1340 85 | 1281 86 | 1722 87 | 1623 88 | 1148 89 | 1545 90 | 1728 91 | 1325 92 | 1164 93 | 1462 94 | 1893 95 | 1736 96 | 160 97 | 1543 98 | 1371 99 | 1930 100 | 1162 101 | 2010 102 | 1302 103 | 1967 104 | 1889 105 | 1547 106 | 1335 107 | 1416 108 | 1359 109 | 1622 110 | 1682 111 | 1701 112 | 1939 113 | 1697 114 | 1436 115 | 1367 116 | 1119 117 | 1741 118 | 1466 119 | 1997 120 | 1856 121 | 1824 122 | 1323 123 | 1478 124 | 1963 125 | 1832 126 | 1748 127 | 1260 128 | 1244 129 | 1834 130 | 1990 131 | 1567 132 | 1147 133 | 1588 134 | 1694 135 | 1487 136 | 1151 137 | 1347 138 | 1315 139 | 1502 140 | 546 141 | 730 142 | 1742 143 | 1869 144 | 1277 145 | 1224 146 | 1169 147 | 1708 148 | 1661 149 | 174 150 | 1207 151 | 1801 152 | 1880 153 | 1390 154 | 1747 155 | 1215 156 | 1684 157 | 1498 158 | 1965 159 | 1933 160 | 1693 161 | 1129 162 | 1578 163 | 1189 164 | 1251 165 | 1727 166 | 1440 167 | 1178 168 | 746 169 | 1564 170 | 944 171 | 1822 172 | 1225 173 | 1523 174 | 1575 175 | 1185 176 | 37 177 | 1866 178 | 1766 179 | 1737 180 | 1800 181 | 1633 182 | 1796 183 | 1161 184 | 1932 185 | 1583 186 | 1395 187 | 1288 188 | 1991 189 | 229 190 | 1875 191 | 1540 192 | 1876 193 | 1191 194 | 1858 195 | 1713 196 | 1725 197 | 1955 198 | 1250 199 | 1987 200 | 1724 201 | -------------------------------------------------------------------------------- /src/lambdaisland/aoc_2020/puzzle07.clj: -------------------------------------------------------------------------------- 1 | (ns lambdaisland.aoc-2020.puzzle07 2 | (:require [clojure.java.io :as io] 3 | [clojure.string :as str])) 4 | 5 | ;; vibrant plum bags contain 5 faded blue bags, 6 dotted black bags. 6 | ;; faded blue bags contain no other bags. 7 | 8 | (def demo-input (line-seq (io/reader (io/resource "puzzle_input_07_demo.txt")))) 9 | (def demo-input2 (line-seq (io/reader (io/resource "puzzle_input_07_demo2.txt")))) 10 | (def real-input (line-seq (io/reader (io/resource "puzzle_input_07.txt")))) 11 | 12 | (defn parse-entry [s] 13 | (let [[bag & deps] (str/split s #"\s?(contain|,)\s?") 14 | color (re-find #"\w+ \w+" bag)] 15 | [color (keep (comp next (partial re-find #"(\d+) (\w+ \w+)" )) deps)])) 16 | 17 | (map parse-entry demo-input) 18 | 19 | (defn color-graph [entries] 20 | (reduce (fn [m [bag deps]] 21 | (reduce (fn [m [num col]] 22 | (update m col conj bag)) 23 | m deps)) 24 | {} 25 | entries)) 26 | 27 | (defn add-valid [result graph color] 28 | (into result (get graph color))) 29 | 30 | (defn valid-outermost [graph start] 31 | (loop [result (add-valid #{} graph start)] 32 | (let [result2 (reduce (fn [res color] 33 | (add-valid res graph color)) 34 | result result)] 35 | (if (= result result2) 36 | result 37 | (recur result2))))) 38 | 39 | (count (valid-outermost (color-graph (map parse-entry demo-input)) "shiny gold")) 40 | 41 | (count (valid-outermost (color-graph (map parse-entry real-input)) "shiny gold")) 42 | ;; => 332 43 | 44 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 45 | ;; part 2 46 | 47 | (defn nesting-graph [entries] 48 | (reduce (fn [m [bag deps]] 49 | (reduce (fn [m [num col]] 50 | (update m bag conj [(Long/parseLong num) col])) 51 | m deps)) 52 | {} 53 | entries)) 54 | 55 | (def graph (nesting-graph (map parse-entry real-input))) 56 | 57 | (defn color-count [graph color] 58 | (let [entries (get graph color)] 59 | (if (seq entries) 60 | (reduce 61 | (fn [cnt [num color]] 62 | (+ cnt (* num (color-count graph color)))) 63 | 1 64 | entries) 65 | 1))) 66 | 67 | (dec (color-count graph "shiny gold")) 68 | ;; => 10875 69 | -------------------------------------------------------------------------------- /src/lambdaisland/aoc_2020/puzzle08.clj: -------------------------------------------------------------------------------- 1 | (ns lambdaisland.aoc-2020.puzzle08 2 | (:require [clojure.java.io :as io])) 3 | 4 | (def test-input "nop +0 5 | acc +1 6 | jmp +4 7 | acc +3 8 | jmp -3 9 | acc -99 10 | acc +1 11 | jmp -4 12 | acc +6") 13 | 14 | (defn parse-input [input] 15 | (vec (for [[_ op arg] (re-seq #"(\w{3}) ([+-]\d+)" input)] 16 | [(keyword op) (read-string arg)]))) 17 | 18 | (defn run-vm [program] 19 | (let [init-ctx {:pc 0 20 | :acc 0 21 | :seen? #{}}] 22 | (loop [{:keys [pc acc seen?] :as ctx} init-ctx] 23 | (if (seen? pc) 24 | acc 25 | (let [[op arg] (get program pc)] 26 | (case op 27 | :nop 28 | (recur (-> ctx 29 | (update :pc inc) 30 | (update :seen? conj pc))) 31 | :acc 32 | (recur (-> ctx 33 | (update :acc + arg) 34 | (update :pc inc) 35 | (update :seen? conj pc))) 36 | :jmp 37 | (recur (-> ctx 38 | (update :pc + arg) 39 | (update :seen? conj pc))))))))) 40 | 41 | (run-vm (parse-input (slurp (io/resource "puzzle_input_08.txt")))) 42 | ;; => 2051 43 | 44 | (defn run-vm2 [program] 45 | (let [init-ctx {:pc 0 46 | :acc 0 47 | :seen? #{}}] 48 | (loop [{:keys [pc acc seen?] :as ctx} init-ctx] 49 | (cond 50 | (seen? pc) 51 | :infinte-loop! 52 | 53 | (= pc (count program)) 54 | acc 55 | 56 | :else 57 | (let [[op arg] (get program pc)] 58 | (case op 59 | :nop 60 | (recur (-> ctx 61 | (update :pc inc) 62 | (update :seen? conj pc))) 63 | :acc 64 | (recur (-> ctx 65 | (update :acc + arg) 66 | (update :pc inc) 67 | (update :seen? conj pc))) 68 | :jmp 69 | (recur (-> ctx 70 | (update :pc + arg) 71 | (update :seen? conj pc))))))))) 72 | 73 | (let [program (parse-input (slurp (io/resource "puzzle_input_08.txt")))] 74 | (for [i (range (count program)) 75 | :when (#{:nop :jmp} (get-in program [i 0])) 76 | :let [program (update-in program [i 0] {:jmp :nop, :nop :jmp}) 77 | result (run-vm2 program)] 78 | :when (not= :infinte-loop! result)] 79 | result)) 80 | -------------------------------------------------------------------------------- /src/lambdaisland/aoc_2020/puzzle04.clj: -------------------------------------------------------------------------------- 1 | (ns lambdaisland.aoc-2020.puzzle04 2 | (:require [clojure.java.io :as io] 3 | [clojure.string :as str])) 4 | 5 | (def demo-input "ecl:gry pid:860033327 eyr:2020 hcl:#fffffd 6 | byr:1937 iyr:2017 cid:147 hgt:183cm 7 | 8 | iyr:2013 ecl:amb cid:350 eyr:2023 pid:028048884 9 | hcl:#cfa07d byr:1929 10 | 11 | hcl:#ae17e1 iyr:2013 12 | eyr:2024 13 | ecl:brn pid:760753108 byr:1931 14 | hgt:179cm 15 | 16 | hcl:#cfa07d eyr:2025 pid:166559648 17 | iyr:2011 ecl:brn hgt:59in") 18 | 19 | (def real-input (slurp (io/resource "puzzle_input_04.txt"))) 20 | 21 | (defn parse-long [l] 22 | (Long/parseLong l)) 23 | 24 | (defn parse-entry [entry] 25 | (into {} (map (comp vec next)) (re-seq #"(\w{3}):(\S+)" entry))) 26 | 27 | (defn valid? [m] 28 | (= (count (dissoc m "cid")) 7)) 29 | 30 | (->> (str/split demo-input #"\R\R") 31 | (map parse-entry) 32 | (filter valid?) 33 | count) 34 | 35 | (def fields ["byr" 36 | "iyr" 37 | "eyr" 38 | "hgt" 39 | "hcl" 40 | "ecl" 41 | "pid" 42 | "cid"]) 43 | 44 | (count fields) 45 | 46 | (->> (str/split real-input #"\R\R") 47 | (map parse-entry) 48 | (filter valid?) 49 | count) 50 | ;; => 228 51 | 52 | ;; byr (Birth Year) - four digits; at least 1920 and at most 2002. 53 | ;; iyr (Issue Year) - four digits; at least 2010 and at most 2020. 54 | ;; eyr (Expiration Year) - four digits; at least 2020 and at most 2030. 55 | ;; hgt (Height) - a number followed by either cm or in: 56 | ;; If cm, the number must be at least 150 and at most 193. 57 | ;; If in, the number must be at least 59 and at most 76. 58 | ;; hcl (Hair Color) - a # followed by exactly six characters 0-9 or a-f. 59 | ;; ecl (Eye Color) - exactly one of: 60 | ;; pid (Passport ID) - a nine-digit number, including leading zeroes. 61 | ;; cid (Country ID) - ignored, missing or not. 62 | 63 | (defn valid2? [{:strs [byr iyr eyr hgt hcl ecl pid cid]}] 64 | (and 65 | byr (<= 1920 (parse-long byr) 2002) 66 | iyr (<= 2010 (parse-long iyr) 2020) 67 | eyr (<= 2020 (parse-long eyr) 2030) 68 | hgt (let [[_ num unit] (re-find #"(\d+)(in|cm)" hgt)] 69 | (case unit 70 | "cm" (<= 150 (parse-long num) 193) 71 | "in" (<= 59 (parse-long num) 76) 72 | false)) 73 | hcl (re-find #"^#[0-9a-f]{6}$" hcl) 74 | ecl (#{"amb" "blu" "brn" "gry" "grn" "hzl" "oth"} ecl) 75 | pid (re-find #"^\d{9}$" pid))) 76 | 77 | (->> (str/split real-input #"\R\R") 78 | (map parse-entry) 79 | (filter valid2?) 80 | count) 81 | ;; => 175 82 | -------------------------------------------------------------------------------- /src/lambdaisland/aoc_2020/puzzle09.clj: -------------------------------------------------------------------------------- 1 | (ns lambdaisland.aoc-2020.puzzle09 2 | (:require [lambdaisland.aoc-2020.util :as util])) 3 | 4 | ;; Font: Iosevka Fixed SS14 5 | 6 | ;; Theme: Tomorrow night 7 | ;; (I also use/have used Tomorrow day, Solarized light, Solarized dark, Leuven) 8 | 9 | ;; Editor: Emacs + Corgi (github.com/plexus/corgi) = evil, CIDER, paredit 10 | 11 | (def demo-input [35 20 15 25 47 40 62 55 65 95 102 117 150 182 127 219 299 277 309 576]) 12 | 13 | (def input (util/num-resource-seq 9)) 14 | 15 | (defn valid? [window num] 16 | (some #{num} (for [x window y window :when (< x y)] (+ x y)))) 17 | 18 | (defn xmas-cypher [input preamble-size] 19 | (some identity 20 | (for [part (partition (inc preamble-size) 1 input) 21 | :let [window (butlast part) 22 | num (last part)]] 23 | (when-not (valid? window num) 24 | num)))) 25 | 26 | (xmas-cypher demo-input 5) 27 | ;; => 127 28 | 29 | (xmas-cypher input 25) 30 | ;; => 26796446 31 | 32 | (defn xmas-cypher2 [target input] 33 | (loop [nums input] 34 | (let [res (loop [cnt 1] 35 | (let [rng (take cnt nums) 36 | sum (apply + rng)] 37 | (cond 38 | (= sum target) 39 | (+ (apply min rng) (apply max rng)) 40 | 41 | (< sum target) 42 | (recur (inc cnt)) 43 | 44 | #_(< target sum))))] 45 | (if res 46 | res 47 | (recur (next nums)))))) 48 | 49 | (comment 50 | (xmas-cypher2 127 demo-input) 51 | 52 | (time (xmas-cypher2 26796446 input)) 53 | ;; => 3353494 54 | 55 | (time 56 | (let [target 26796446 57 | ranges (mapcat #(take-while identity (iterate butlast %)) 58 | (take-while identity (iterate next input)))] 59 | (some #(when (= target (apply + %)) 60 | (+ (apply min %) (apply max %))) 61 | ranges) 62 | ))) 63 | 64 | 65 | (time 66 | (let [input demo-input 67 | target 127] 68 | (->> (range 2 (count input)) 69 | (mapcat (fn [i] (partition i 1 input))) 70 | (some #(when (= target (apply + %)) 71 | (+ (apply min %) (apply max %))))) 72 | )) 73 | 74 | ;; => 14360655 75 | 76 | 77 | ;; @BobLaTige 78 | ;; What would be the advantages other than semantics to use loop / recur 79 | ;; instead of recursing by calling the fn from within the fn ? 80 | (comment 81 | (defn part-2 [window invalid-num nums] 82 | (let [poss-set (->> (partition window 1 nums) 83 | (map #(vector (apply + %) %) ) 84 | (into {})) 85 | weakness (poss-set invalid-num)] 86 | (if weakness 87 | (+ (apply min weakness) (apply max weakness)) 88 | (recur (inc window) invalid-num nums)))) 89 | 90 | (part-2 2 invalid-num (parse-input input))) 91 | ;; => 1962331 92 | 93 | 94 | (defn decrement-to-zero [i] 95 | (if (= 0 i) 96 | i 97 | (decrement-to-zero (dec i)))) 98 | -------------------------------------------------------------------------------- /community/boblatige_puzzle07.clj: -------------------------------------------------------------------------------- 1 | (ns boblatige-puzzle07 2 | (:require [clojure.string :as st] 3 | [clojure.java.io :as io])) 4 | 5 | (def input (slurp (io/resource "puzzle_input_07.txt"))) 6 | 7 | (def example-input "light red bags contain 1 bright white bag, 2 muted yellow bags. 8 | dark orange bags contain 3 bright white bags, 4 muted yellow bags. 9 | bright white bags contain 1 shiny gold bag. 10 | muted yellow bags contain 2 shiny gold bags, 9 faded blue bags. 11 | shiny gold bags contain 1 dark olive bag, 2 vibrant plum bags. 12 | dark olive bags contain 3 faded blue bags, 4 dotted black bags. 13 | vibrant plum bags contain 5 faded blue bags, 6 dotted black bags. 14 | faded blue bags contain no other bags. 15 | dotted black bags contain no other bags.") 16 | 17 | (def example-input-2 "shiny gold bags contain 2 dark red bags. 18 | dark red bags contain 2 dark orange bags. 19 | dark orange bags contain 2 dark yellow bags. 20 | dark yellow bags contain 2 dark green bags. 21 | dark green bags contain 2 dark blue bags. 22 | dark blue bags contain 2 dark violet bags. 23 | dark violet bags contain no other bags.") 24 | 25 | (defn parse-rule 26 | "['dark violet' [{:name :amount} ...]" 27 | [raw-rule-line] 28 | (let [[bag-name contains] (st/split raw-rule-line #" contain ") 29 | [_ parsed-bag-name] (re-find #"(.*) bag" bag-name) 30 | contains (when (not= "no other bags." contains) 31 | (->> (st/split contains #", ") 32 | (map (fn [sub-strings] 33 | (let [[_ amount name] (re-find #"^(\d*) (.*) bag" sub-strings)] 34 | {:name name 35 | :amount (Integer/parseInt amount)})))))] 36 | [parsed-bag-name contains])) 37 | 38 | (parse-rule "dark green bags contain 2 dark blue bags.") 39 | ;; => ["dark green" ({:name "dark blue", :amount 2})] 40 | 41 | (def parsed (->> (st/split-lines input) 42 | (map parse-rule) 43 | (into {}))) 44 | 45 | (def contain-tree (fn [bag-name] 46 | (map (fn hold [bag] 47 | [bag 48 | (when-let [contain (seq (get parsed (:name bag)))] 49 | (map hold contain))]) 50 | (get parsed bag-name)))) 51 | 52 | (def can-hold (fn [bags bag-name] 53 | (->> bags 54 | (filter (fn [[_ can-hold]] 55 | (some (fn check [bag] 56 | (or (= bag-name (:name bag)) 57 | (some check (get parsed (:name bag))))) 58 | can-hold))) 59 | count))) 60 | 61 | (def drill (fn drill [[{:keys [amount]} xs]] 62 | (+ amount 63 | (* amount (apply + (when (seq xs) (map drill xs))))))) 64 | 65 | {:part-2 (apply + (map drill (contain-tree "shiny gold"))) 66 | :part-1 (can-hold parsed "shiny gold")} 67 | ;; => {:part-2 24867, :part-1 148} 68 | 69 | ;; => (({:name "dark olive", :amount 1} 70 | ;; (({:name "faded blue", :amount 3}) 71 | ;; ({:name "dotted black", :amount 4}))) 72 | ;; ({:name "vibrant plum", :amount 2} 73 | ;; (({:name "faded blue", :amount 5}) 74 | ;; ({:name "dotted black", :amount 6})))) 75 | -------------------------------------------------------------------------------- /src/lambdaisland/aoc_2020/puzzle10.clj: -------------------------------------------------------------------------------- 1 | (ns lambdaisland.aoc-2020.puzzle10 2 | (:require [lambdaisland.aoc-2020.util :as util])) 3 | 4 | (set! *unchecked-math* :warn-on-boxed) 5 | 6 | (def demo-input [16 10 15 5 1 11 7 19 6 12 4]) 7 | (def demo-input2 [28 33 18 42 31 14 46 20 48 47 24 23 49 45 19 38 39 11 1 32 25 35 8 17 7 9 4 2 34 10 3]) 8 | 9 | (def real-input (util/num-resource-seq 10)) 10 | 11 | (defn part1 [input] 12 | (let [device-joltage (+ 3 (apply max input)) 13 | full-input (conj input 0 device-joltage) 14 | {ones 1 threes 3 :as diffs} (->> full-input 15 | sort 16 | (partition 2 1) 17 | (map #(- (second %) (first %))) 18 | frequencies)] 19 | (* ones threes))) 20 | 21 | (part1 demo-input) 22 | ;; => 35 23 | 24 | (part1 demo-input2) 25 | ;; => 220 26 | 27 | (time 28 | (part1 real-input)) 29 | ;; => 2263 30 | 31 | (defn remove-index [v ^long idx] 32 | (into (subvec v 0 idx) (subvec v (inc idx) (count v)))) 33 | 34 | (defn can-be-removed? [v ^long idx] 35 | (let [left (nth v (dec idx)) 36 | right (nth v (inc idx))] 37 | (and left right (<= (- (long right) (long left)) 3)))) 38 | 39 | (defn single-pass [full-input] 40 | (for [idx (range (count full-input)) 41 | :when (can-be-removed? full-input idx)] 42 | (remove-index full-input idx))) 43 | 44 | #_(defn part2 [input] 45 | (let [full-input (vec (sort (conj input 0 (+ 3 (apply max input)))))] 46 | (loop [input [full-input] 47 | result 1] 48 | (let [this-pass (mapcat single-pass input)] 49 | #_(clojure.pprint/pprint this-pass) 50 | (if (seq this-pass) 51 | (recur this-pass (+ result (count this-pass))) 52 | result))))) 53 | 54 | (defn add-boundaries [input] 55 | (vec (sort (conj input 0 (+ 3 (long (apply max input))))))) 56 | 57 | (comment 58 | (part2 demo-input) 59 | ;; => 16 60 | (part2 demo-input2)) 61 | 62 | (defn combos ^long [input ^long start] 63 | (loop [cnt 1 64 | idx start] 65 | (cond 66 | (<= (count input) 2) 67 | cnt 68 | 69 | (<= (dec (count input)) idx) 70 | cnt 71 | 72 | (can-be-removed? input idx) 73 | (let [removed (remove-index input idx)] 74 | (recur (+ cnt (combos removed idx)) 75 | (inc idx))) 76 | 77 | :else 78 | (recur cnt (inc idx))))) 79 | 80 | (defn part2 [input] 81 | (combos (vec (sort (add-boundaries input))) 0)) 82 | 83 | (comment 84 | (part2 demo-input) 85 | ;; => 8 86 | (time (part2 demo-input2)) 87 | ;; => 19208 88 | (time (part2 real-input)) 89 | ) 90 | 91 | (defn divide [input] 92 | (let [split-points (remove #(can-be-removed? input %) (range 1 (dec (count input))))] 93 | (if (seq split-points) 94 | (let [split-idx (long (nth split-points (quot (count split-points) 2))) 95 | left (take (inc split-idx) input) 96 | right (drop split-idx input)] 97 | [left right]) 98 | (combos (vec input) 1)))) 99 | 100 | (defn conquer [input] 101 | (let [parts (divide input)] 102 | (if (number? parts) 103 | parts 104 | (apply * (map conquer parts))))) 105 | 106 | (time 107 | (let [input (add-boundaries real-input)] 108 | (conquer input))) 109 | ;; => 396857386627072 110 | -------------------------------------------------------------------------------- /src/lambdaisland/aoc_2020/puzzle13.clj: -------------------------------------------------------------------------------- 1 | (ns lambdaisland.aoc-2020.puzzle13 2 | (:require [lambdaisland.aoc-2020.util :as util])) 3 | 4 | (set! *warn-on-reflection* true) 5 | (set! *unchecked-math* :warn-on-boxed) 6 | 7 | (def demo-input "939 8 | 7,13,x,x,59,x,31,19") 9 | 10 | (def demo-parsed (map util/parse-long (re-seq #"\d+" demo-input))) 11 | 12 | (def real-parsed (map util/parse-long (re-seq #"\d+" (slurp (util/puzzle-input 13))))) 13 | 14 | (let [[ts & busses] real-parsed] 15 | (apply * 16 | (first 17 | (sort-by second 18 | (for [bus busses] 19 | [bus (- bus (mod ts bus))]))))) 20 | ;; => 2238 21 | ;; => 295 22 | 23 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 24 | ;; Part 2 25 | 26 | (defn parse2 [input] 27 | (->> input 28 | (re-seq #"[\dx]+") 29 | (next) 30 | (map read-string) 31 | (map-indexed (fn [i n] 32 | (when (not= 'x n) 33 | [i n]))) 34 | (filter some?))) 35 | 36 | (def demo-parsed2 (parse2 demo-input)) 37 | 38 | (def real-parsed2 (parse2 (slurp (util/puzzle-input 13)))) 39 | 40 | (defn bus-cycle [[^long idx ^long bus]] 41 | (iterate #(+ bus ^long %) (- idx))) 42 | 43 | (comment 44 | (take 10 (drop-while #(< % 1068781) (bus-cycle [0 7]))) 45 | (take 10 (drop-while #(< % 1068781) (bus-cycle [1 13])))) 46 | 47 | #_ 48 | (let [seqs (map bus-cycle (reverse (sort-by second demo-parsed2)))] 49 | (loop [[s & seqs] seqs] 50 | (let [[n & ns] s] 51 | (let [rest-seqs (map (fn [s] (drop-while #(< % n) s)) seqs)] 52 | (if (apply = n (map first rest-seqs)) 53 | n 54 | (recur (cons ns rest-seqs))))))) 55 | 56 | ;; => 1068781 57 | 58 | 59 | ;; Original attempt, incrementally filter the sequence... way too slow 60 | (defn narrow-cycle [bc [^long idx ^long bus]] 61 | (filter #(= 0 (mod (+ ^long % idx) bus)) bc)) 62 | 63 | ;; Transducers couldn't save us either 64 | #_(defn narrow-cycle-xform [[^long idx ^long bus]] 65 | (filter #(= 0 (mod (+ ^long % idx) bus)))) 66 | #_(time 67 | (let [[s & ss] (take 8 (sort-by second real-parsed2)) 68 | xform (apply comp (map narrow-cycle-xform ss))] 69 | (transduce xform (fn ([acc] acc) ([acc n] (reduced n))) nil (bus-cycle s)))) 70 | 71 | ;; Much better, find the first point where the pattern repeats, then use that to 72 | ;; start a new sequence 73 | (defn narrow-cycle [bc [^long idx ^long bus]] 74 | (let [;; This is basically our first attempt, just do a filter over the 75 | ;; bus-cycle 76 | new-cycle (filter #(= 0 (mod (+ ^long % idx) bus)) bc) 77 | ;; But once you have that new cycle, you know that it'll skip ahead by 78 | ;; fixed increments 79 | [n1 n2] (take 2 new-cycle) 80 | diff (- ^long n2 ^long n1)] 81 | ;; So we basically re-create it as a single iteration sequence 82 | (iterate #(+ ^long % diff) n1))) 83 | 84 | (time 85 | (first 86 | (let [[s & ss] (sort-by second real-parsed2)] 87 | (reduce narrow-cycle (bus-cycle s) ss)))) 88 | ;; => 560214575859998 89 | ;; => "Elapsed time: 0.43833 msecs" 90 | 91 | 92 | ;; (first (narrow-cycle (bus-cycle [1 5]) [2 9])) 93 | 94 | ;; (filter (set (take 35 (bus-cycle [1 5]))) 95 | ;; (take 35 (bus-cycle [2 30]))) 96 | ;; => (34 79 124 169) 97 | ;; => (34) 98 | ;; [(take 10 (bus-cycle [0 3])) 99 | ;; (take 10 (bus-cycle [1 5]))] 100 | 101 | ;; (+ (* 5 7) 102 | ;; (- (* 3 7) 1)) 103 | 104 | ;; (+ (* 3 5) 105 | ;; (- (* 2 5) 1)) 106 | -------------------------------------------------------------------------------- /src/lambdaisland/aoc_2020/puzzle14.clj: -------------------------------------------------------------------------------- 1 | (ns lambdaisland.aoc-2020.puzzle14 2 | (:require [lambdaisland.aoc-2020.util :as util] 3 | [clojure.walk :as walk])) 4 | 5 | (def demo-input "mask = XXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXX0X 6 | mem[8] = 11 7 | mem[7] = 101 8 | mem[8] = 0") 9 | 10 | (def demo-input2 "mask = 000000000000000000000000000000X1001X 11 | mem[42] = 100 12 | mask = 00000000000000000000000000000000X0XX 13 | mem[26] = 1") 14 | 15 | (def pattern #"(\w+)(\[(\d+)\])? = (.*)") 16 | 17 | (defn parse-bitmask [mask bit] 18 | (->> (str/escape mask {\X bit}) 19 | (str "2r") 20 | read-string)) 21 | 22 | (defn parse-instructions [input] 23 | (for [[op _ addr val] input] 24 | (case op 25 | "mask" [:mask (parse-bitmask val 1) (parse-bitmask val 0)] 26 | "mem" [:mem 27 | (read-string addr) 28 | (read-string val)]))) 29 | 30 | (def demo (parse-instructions (util/re-str-seq pattern demo-input))) 31 | (def real (parse-instructions (util/re-resource-seq 14 pattern))) 32 | 33 | (defn apply-mask [num zero one] 34 | (bit-and (bit-or num zero) one)) 35 | 36 | (defn part1 [input] 37 | (-> (reduce 38 | (fn [{:keys [mask0 mask1] :as mem} [op v1 v2]] 39 | (case op 40 | :mask 41 | (assoc mem :mask0 v1 :mask1 v2) 42 | :mem 43 | (assoc mem v1 (apply-mask v2 mask0 mask1)))) 44 | {} 45 | input) 46 | (dissoc :mask0 :mask1) 47 | vals 48 | (->> (reduce +)))) 49 | 50 | (part1 real) 51 | 52 | 53 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 54 | ;; part 2 55 | 56 | ;; FAILED 57 | 58 | (defn parse-pair [mask] 59 | [(parse-bitmask mask 1) 60 | (parse-bitmask mask 0)]) 61 | 62 | (defn set-bit [[and-mask or-mask] pos bit] 63 | (case bit 64 | 0 [(bit-and and-mask (bit-xor Long/MAX_VALUE pos)) or-mask] 65 | 1 [and-mask (bit-or or-mask pos)])) 66 | 67 | (defn binstr [n] 68 | (Long/toBinaryString n)) 69 | 70 | (defn str-tree [nums] 71 | (walk/postwalk #(if (number? %) (binstr %) %) nums)) 72 | 73 | ;; and or 74 | [["111" "001"] 75 | ["101" "001"] 76 | ["111" "000"]] 77 | 78 | ;; => [[7 1] [7 1] [7 0]] 79 | 80 | (parse-bitmask "XX1" 0) 81 | 82 | 83 | (defn expand-masks [mask] 84 | (first (reduce 85 | (fn [[results pos] char] 86 | (case char 87 | \0 [results (* pos 2)] 88 | \1 [results (* pos 2)] 89 | \X [(mapcat (fn [pair] 90 | #_(prn [:-> pair pos]) 91 | [(set-bit pair pos 0) 92 | (set-bit pair pos 1)]) 93 | results) 94 | (* pos 2)])) 95 | [[(parse-pair mask)] 1] 96 | (reverse mask)))) 97 | 98 | (defn parse-instructions2 [input] 99 | (for [[op _ addr val] input] 100 | (case op 101 | "mask" [:masks (expand-masks val)] 102 | "mem" [:mem 103 | (read-string addr) 104 | (read-string val)]))) 105 | 106 | (def demo2 (parse-instructions2 (util/re-str-seq pattern demo-input2))) 107 | (def real2 (parse-instructions2 (util/re-resource-seq 14 pattern))) 108 | 109 | (defn part2 [input] 110 | (-> (reduce 111 | (fn [{:keys [masks] :as mem} [op v1 v2]] 112 | (case op 113 | :masks 114 | (assoc mem :masks v1) 115 | :mem 116 | (reduce (fn [mem mask] 117 | (assoc mem (apply apply-mask v1 mask) v2)) 118 | mem 119 | masks))) 120 | {} 121 | input) 122 | (dissoc :masks) 123 | vals 124 | (->> (reduce +)))) 125 | 126 | (part2 demo2) 127 | -------------------------------------------------------------------------------- /src/lambdaisland/aoc_2020/puzzle12.clj: -------------------------------------------------------------------------------- 1 | (ns lambdaisland.aoc-2020.puzzle12 2 | (:require [clojure.string :as str] 3 | [lambdaisland.aoc-2020.util :as util])) 4 | 5 | (def demo-input "F10 6 | N3 7 | F7 8 | R90 9 | F11") 10 | 11 | (def pattern #"(\w)(\d+)") 12 | 13 | (defn parse-demo [d] 14 | (map (comp 15 | (fn [[i n]] 16 | [i (util/parse-long n)]) 17 | #(next (re-find pattern %))) 18 | (str/split-lines d))) 19 | 20 | (def demo-parsed (parse-demo demo-input)) 21 | 22 | (def real-parsed (map (fn [[i n]] 23 | [i (util/parse-long n)]) 24 | (util/re-resource-seq 12 #"(\w)(\d+)"))) 25 | 26 | demo-parsed 27 | real-parsed 28 | 29 | ;; (require 'clojure.set) 30 | ;; (clojure.set/map-invert 31 | ;; {"N" "E" "E" "S" "S" "W" "W" "N"}) 32 | 33 | (defn handle-instruction [[x y d :as state] [i n]] 34 | (case i 35 | "N" [(+ x n) y d] 36 | "E" [x (+ y n) d] 37 | "S" [(- x n) y d] 38 | "W" [x (- y n) d] 39 | "R" (case n 40 | 90 [x y ({"N" "E" "E" "S" "S" "W" "W" "N"} d)] 41 | 180 [x y ({"N" "S" "S" "N" "E" "W" "W" "E"} d)] 42 | 270 [x y ({"E" "N", "S" "E", "W" "S", "N" "W"} d)]) 43 | "L" (case n 44 | 90 [x y ({"E" "N", "S" "E", "W" "S", "N" "W"} d)] 45 | 180 [x y ({"N" "S" "S" "N" "E" "W" "W" "E"} d)] 46 | 270 [x y ({"N" "E" "E" "S" "S" "W" "W" "N"} d)]) 47 | "F" (handle-instruction state [d n]))) 48 | 49 | (def start [0 0 "E"]) 50 | 51 | (defn manhatten [[x y]] 52 | (+ (Math/abs x) (Math/abs y))) 53 | 54 | (manhatten 55 | (reduce handle-instruction start demo-parsed)) 56 | ;; => 25 57 | ;; => [-8 17 "S"] 58 | 59 | (manhatten 60 | (reduce handle-instruction start real-parsed)) 61 | ;; => 1589 62 | 63 | ;; [0 0] [1 10] 64 | ;; F10 [10 100] [1 10] 65 | ;; N3 [10 100] [4 10] 66 | ;; F7 [38 170] [4 10] 67 | ;; R90 [38 170] [-10 4] 68 | ;; F11 [(+ 38 (* 11 -10)) (+ 170 (* 11 4))];; => [-72 214] 69 | 70 | "N" [(+ x n) y d] 71 | "E" [x (+ y n) d] 72 | "S" [(- x n) y d] 73 | "W" [x (- y n) d] 74 | 75 | (defn handle2 [[[x y] [wx wy] :as state] [i n]] 76 | (case i 77 | "N" [[x y] [(+ wx n) wy]] 78 | "E" [[x y] [wx (+ wy n)]] 79 | "S" [[x y] [(- wx n) wy]] 80 | "W" [[x y] [wx (- wy n)]] 81 | "R" (case n 82 | 90 [[x y] [(- wy) wx]] 83 | 180 [[x y] [(- wx) (- wy)]] 84 | 270 [[x y] [wy (- wx)]]) 85 | "L" (case n 86 | 90 [[x y] [wy (- wx)]] 87 | 180 [[x y] [(- wx) (- wy)]] 88 | 270 [[x y] [(- wy) wx]]) 89 | "F" [[(+ x (* wx n)) (+ y (* wy n))] [wx wy]])) 90 | 91 | (defn debug [f] 92 | (fn [state [i n]] 93 | (let [res (f state [i n])] 94 | (println (format "%-4s %s %s" (str i n) (pr-str (vec (reverse (first res)))) (pr-str (vec (reverse (second res)))))) 95 | res))) 96 | 97 | (def wp-start [1 10]) 98 | 99 | (reduce handle2 [[0 0] wp-start] demo-parsed) 100 | ;; => [[-72 214] [-10 4]] 101 | ;; => [[-1062 844] [-100 4]] 102 | 103 | (manhatten (first (reduce handle2 [[0 0] wp-start] demo-parsed))) 104 | (manhatten (first (reduce handle2 [[0 0] wp-start] (take 20 real-parsed)))) 105 | ;; => 1724 106 | ;; => 23960 107 | ;; => 26988 108 | 109 | (time (manhatten (first (reduce handle2 [[0 0] wp-start] (take 20 real-parsed))))) 110 | 111 | (def test-input "E5 112 | R90 113 | F2 114 | W10 115 | L180 116 | N7 117 | F4 118 | R270 119 | S3 120 | L90 121 | R180 122 | W8 123 | L270 124 | F5") 125 | 126 | (manhatten (first (reduce (debug handle2) [[0 0] wp-start] 127 | (parse-demo test-input)))) 128 | ;; => 216 129 | 130 | ff 131 | ;; ship waypoint 132 | ;; E5 [0 0] [15 1] 133 | ;; R90 [0 0] [1 -15] 134 | ;; F2 [2 -30] [1 -15] 135 | ;; W10 [2 -30] [-9 -15] 136 | ;; L180 [2 -30] [9 15] 137 | ;; N7 [2 -30] [9 22] 138 | ;; F4 [38 58] [9 22] 139 | ;; R270 [38 58] [-22 9] 140 | ;; S3 [38 58] [-22 6] 141 | ;; L90 [38 58] [-6 -22] 142 | ;; R180 [38 58] [6 22] 143 | ;; W8 [38 58] [-2 22] 144 | ;; L270 [38 58] [22 2] 145 | ;; F5 [148 68] [22 2] 146 | -------------------------------------------------------------------------------- /src/lambdaisland/aoc_2020/puzzle11.clj: -------------------------------------------------------------------------------- 1 | (ns lambdaisland.aoc-2020.puzzle11 2 | (:require [clojure.java.io :as io] 3 | [clojure.string :as str])) 4 | 5 | (def demo-input "L.LL.LL.LL 6 | LLLLLLL.LL 7 | L.L.L..L.. 8 | LLLL.LL.LL 9 | L.LL.LL.LL 10 | L.LLLLL.LL 11 | ..L.L..... 12 | LLLLLLLLLL 13 | L.LLLLLL.L 14 | L.LLLLL.LL") 15 | 16 | (defn parse-input [input] 17 | (mapv #(mapv '{\. _ \L L} %) (str/split-lines input))) 18 | 19 | (def demo-layout (parse-input demo-input)) 20 | (def real-layout (parse-input (slurp (io/resource "puzzle_input_11.txt")))) 21 | 22 | (def max-x (dec (count (first demo-layout)))) 23 | (def max-y (dec (count demo-layout))) 24 | 25 | (defn getxy [grid x y] 26 | (.nth ^clojure.lang.PersistentVector (.nth ^clojure.lang.PersistentVector grid x) y)) 27 | 28 | (defn getxy* [^clojure.lang.PersistentVector grid ^clojure.lang.PersistentVector xy] 29 | (.nth ^clojure.lang.PersistentVector (.nth grid (.nth xy 0)) (.nth xy 1))) 30 | 31 | (defn neighbours [x y max-x max-y] 32 | (for [x' (range (max 0 (dec x)) (inc (min max-x (inc x)))) 33 | y' (range (max 0 (dec y)) (inc (min max-y (inc y)))) 34 | :when (not (and (= x x') (= y y')))] 35 | [x' y'])) 36 | 37 | (defn pos-score 38 | #_([layout x y] 39 | (pos-score x y max-x max-y)) 40 | ([layout x y max-x max-y] 41 | (reduce (fn [score coords] 42 | (+ score (if (= 'O (getxy* layout coords)) 1 0))) 43 | 0 44 | (neighbours x y max-x max-y)))) 45 | 46 | (defn generation 47 | #_([layout] 48 | (generation layout max-x max-y)) 49 | ([layout max-x max-y] 50 | (mapv (fn [x] 51 | (mapv (fn [y] 52 | (case (getxy layout x y) 53 | _ '_ 54 | L (if (= 0 (pos-score layout x y max-x max-y)) 'O 'L) 55 | O (if (<= 4 (pos-score layout x y max-x max-y)) 'L 'O))) 56 | (range (inc max-y)))) 57 | (range (inc max-x))))) 58 | 59 | (defn compute-max-x [layout] 60 | (dec (count layout))) 61 | 62 | (defn compute-max-y [layout] 63 | (dec (count (first layout)))) 64 | 65 | (defn find-fix-point 66 | ([layout] 67 | (find-fix-point layout generation)) 68 | ([layout generation] 69 | (let [max-x (compute-max-x layout) 70 | max-y (compute-max-y layout)] 71 | (loop [layout layout 72 | layout' (generation layout max-x max-y)] 73 | (if (= layout' layout) 74 | layout 75 | (recur layout' (generation layout' max-x max-y))))))) 76 | 77 | (comment 78 | (pos-score (generation layout) 9 2) 79 | (generation (generation layout))) 80 | 81 | (defn result1 82 | ([layout] 83 | (result1 layout generation)) 84 | ([layout generation] 85 | (transduce (comp cat (map '{_ 0, L 0, O 1})) + (find-fix-point layout generation)))) 86 | 87 | (comment 88 | (generation demo-layout max-x max-y) 89 | 90 | (result1 demo-layout) 91 | (time (result1 real-layout))) 92 | ;; => 2552 93 | 94 | (defn layout-size [l] 95 | [(count l) 96 | (count (first l))]) 97 | 98 | (defn spit-layout [f l] 99 | (spit f (str/join "\n" (map #(apply str (map '{_ \. L \L O \#} %)) l)))) 100 | 101 | (comment 102 | (spit-layout "/tmp/layout.txt" real-layout #_(generation real-layout 103 | (compute-max-x real-layout) 104 | (compute-max-y real-layout))) 105 | 106 | (layout-size (generation real-layout 107 | (compute-max-x real-layout) 108 | (compute-max-y real-layout)))) 109 | 110 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 111 | ;; Part 2 112 | 113 | (def directions (for [x (range -1 2) 114 | y (range -1 2) 115 | :when (not= [x y] [0 0])] 116 | [x y])) 117 | 118 | (defn seat-in-direction [layout x y max-x max-y [dx dy]] 119 | (loop [x (+ x dx) 120 | y (+ y dy)] 121 | (if (or (< x 0) (< y 0) (< max-x x) (< max-y y)) 122 | 0 123 | (let [seat (getxy layout x y)] 124 | (case seat 125 | L 0 126 | O 1 127 | _ (recur (+ x dx) 128 | (+ y dy))))))) 129 | 130 | (defn compute-seat [layout x y max-x max-y] 131 | (reduce 132 | (fn [acc dir] 133 | (let [acc (+ acc (seat-in-direction layout x y max-x max-y dir))] 134 | (if (= acc 5) 135 | (reduced 5) 136 | acc))) 137 | 0 138 | directions)) 139 | 140 | (defn generation2 141 | #_([layout] 142 | (generation layout max-x max-y)) 143 | ([layout max-x max-y] 144 | (mapv (fn [x] 145 | (mapv (fn [y] 146 | (let [sym (getxy layout x y)] 147 | (if (= '_ sym) 148 | '_ 149 | (case (compute-seat layout x y max-x max-y) 150 | 5 'L 151 | 0 'O 152 | sym)))) 153 | (range (inc max-y)))) 154 | (range (inc max-x))))) 155 | 156 | (comment 157 | (time (result1 real-layout generation2)) 158 | ;; => 2197 159 | (generation2 demo-layout 9 9) 160 | 161 | 162 | ) 163 | -------------------------------------------------------------------------------- /src/lambdaisland/aoc_2020/puzzle11_alt.clj: -------------------------------------------------------------------------------- 1 | (ns lambdaisland.aoc-2020.puzzle11-alt 2 | (:require [clojure.java.io :as io] 3 | [clojure.string :as str])) 4 | 5 | (set! *unchecked-math* :warn-on-boxed) 6 | (set! *warn-on-reflection* true) 7 | 8 | (def demo-input "L.LL.LL.LL 9 | LLLLLLL.LL 10 | L.L.L..L.. 11 | LLLL.LL.LL 12 | L.LL.LL.LL 13 | L.LLLLL.LL 14 | ..L.L..... 15 | LLLLLLLLLL 16 | L.LLLLLL.L 17 | L.LLLLL.LL") 18 | 19 | (defn parse-input [input] 20 | (mapv #(mapv '{\. _ \L L} %) (str/split-lines input))) 21 | 22 | (def demo-layout (parse-input demo-input)) 23 | (def real-layout (parse-input (slurp (io/resource "puzzle_input_11.txt")))) 24 | 25 | 26 | ;; The 8 cardinal directions, as [dx dy] pairs 27 | (def directions (for [x (range -1 2) 28 | y (range -1 2) 29 | :when (not= [x y] [0 0])] 30 | [x y])) 31 | 32 | (defn empty-grid [dimx dimy] 33 | (vec (repeat dimx (vec (repeat dimy '_))))) 34 | 35 | ;; Optimized (?) lookup in nested vector 36 | (defn getxy ^long [grid x y] 37 | (.nth ^clojure.lang.PersistentVector (.nth ^clojure.lang.PersistentVector grid x) y)) 38 | 39 | (defn agetxy [^"[[J" arr ^long x ^long y] 40 | (java.lang.reflect.Array/get (java.lang.reflect.Array/get arr x) y)) 41 | 42 | (defn setxy [grid x y v] 43 | (assoc-in grid [x y] v)) 44 | 45 | (defn asetxy [^"[[J" arr ^long x ^long y ^long v] 46 | (aset-long (java.lang.reflect.Array/get arr x) y v)) 47 | 48 | (defn cart* [rx ry] 49 | (for [x rx y ry] [x y])) 50 | 51 | (def starting-positions 52 | (memoize 53 | (fn [^long dx ^long dy ^long dimx ^long dimy] 54 | (concat 55 | (case dx 56 | -1 (cart* [(dec dimx)] (range dimy)) 57 | 0 nil 58 | 1 (cart* [0] (range dimy))) 59 | (case dy 60 | -1 (cart* (range dimx) [(dec dimy)]) 61 | 0 nil 62 | 1 (cart* (range dimx) [0])))))) 63 | 64 | (defn array-grid ^"[[J" [^long dimx ^long dimy] 65 | (into-array (repeatedly dimx #(long-array dimy 0)))) 66 | 67 | (defn precompute [grid [^long dx ^long dy] ^long dimx ^long dimy] 68 | (let [result (array-grid dimx dimy)] 69 | (doseq [[^long x ^long y] (starting-positions dx dy dimx dimy)] 70 | (loop [last-seen 0 71 | x x 72 | y y] 73 | (when (and (< -1 x dimx) (< -1 y dimy)) 74 | (asetxy result x y last-seen) 75 | (case (getxy grid x y) 76 | -1 (recur last-seen (+ x dx) (+ y dy)) 77 | 0 (recur 0 (+ x dx) (+ y dy)) 78 | 1 (recur 1 (+ x dx) (+ y dy)))))) 79 | (mapv vec result))) 80 | 81 | (defn dimx [grid] 82 | (count grid)) 83 | 84 | (defn dimy [grid] 85 | (count (first grid))) 86 | 87 | #_(defn neighbours [x y dimx dimy] 88 | (for [x' (range (max 0 (dec x)) (min (inc dimx) (+ x 2))) 89 | y' (range (max 0 (dec y)) (min (inc dimy) (+ y 2))) 90 | :when (not (and (= x x') (= y y')))] 91 | [x' y'])) 92 | 93 | (defn score ^long [layers x y] 94 | (transduce 95 | (map #(getxy % x y)) 96 | + 97 | layers)) 98 | 99 | (defn syms->nums [grid] 100 | (mapv #(mapv '{_ -1 L 0 O 1} %) grid)) 101 | 102 | (defn nums->syms [grid] 103 | (mapv #(mapv '{-1 _ 0 L 1 O} %) grid)) 104 | 105 | (defn generation [dimx dimy idxs grid] 106 | (let [layers (map #(precompute grid % dimx dimy) directions)] 107 | (mapv (fn [x] 108 | (mapv (fn [y] 109 | (case (getxy grid x y) 110 | -1 -1 111 | 0 (if (= 0 (score layers x y)) 1 0) 112 | 1 (if (<= 5 (score layers x y)) 0 1))) 113 | (range dimy))) 114 | (range dimx)))) 115 | 116 | (defn occupied-count [grid] 117 | (transduce (comp cat (map {-1 0 0 0 1 1})) + grid)) 118 | 119 | 120 | ;; Part 2 121 | 122 | (time 123 | (let [grid (syms->nums real-layout) 124 | dimx (dimx grid) 125 | dimy (dimy grid) 126 | idxs (cart* (range dimx) (range dimy)) 127 | gen (partial generation dimx dimy idxs)] 128 | (loop [grid1 grid 129 | grid2 (gen grid)] 130 | (if (= grid1 grid2) 131 | (occupied-count grid1) 132 | (recur grid2 (gen grid2)))))) 133 | ;; => 2197 134 | ;; "Elapsed time: 1503.329406 msecs" 135 | 136 | 137 | (comment 138 | (precompute (mapv #(mapv '{_ -1 L 0 O 1} %) 139 | '[[_ _ _ _ _ _ _ _ _ _] 140 | [_ _ O _ _ _ _ _ _ _] 141 | [_ _ _ _ _ _ _ _ _ _] 142 | [_ _ _ _ L _ _ _ _ _] 143 | [_ _ _ _ _ _ _ _ _ _] 144 | [_ _ _ _ O _ _ _ _ _] 145 | [_ _ O _ _ _ _ _ _ _] 146 | [_ _ _ _ _ _ _ _ _ _] 147 | [_ _ L _ _ _ _ _ _ _] 148 | [_ _ _ _ L _ _ _ _ _]]) 149 | [1 0] 150 | 10 10 151 | ) 152 | 153 | (let [dim 1000 154 | arr (array-grid dim dim)] 155 | (time 156 | (doseq [x (range dim) 157 | y (range dim)] 158 | (agetxy arr x y)))) 159 | ;; This takes ~150ms 160 | 161 | (let [dim 1000 162 | arr (mapv vec (array-grid dim dim))] 163 | (time 164 | (doseq [x (range dim) 165 | y (range dim)] 166 | (getxy arr x y))))) 167 | ;; This only take ~75ms 168 | -------------------------------------------------------------------------------- /resources/puzzle_input_12.txt: -------------------------------------------------------------------------------- 1 | R180 2 | S4 3 | L90 4 | S2 5 | R90 6 | W3 7 | F30 8 | R90 9 | W3 10 | L90 11 | F68 12 | L90 13 | E5 14 | F88 15 | S1 16 | L90 17 | F46 18 | W5 19 | F51 20 | S2 21 | L90 22 | F53 23 | S5 24 | F19 25 | W2 26 | L90 27 | F91 28 | E2 29 | S3 30 | F83 31 | N5 32 | F79 33 | W1 34 | S3 35 | F11 36 | E4 37 | F53 38 | W4 39 | S5 40 | R90 41 | E1 42 | F76 43 | R90 44 | F47 45 | E5 46 | R90 47 | W3 48 | R90 49 | S5 50 | L180 51 | W5 52 | N4 53 | F10 54 | S2 55 | R90 56 | S4 57 | W4 58 | F29 59 | S5 60 | F34 61 | E2 62 | S4 63 | R90 64 | F73 65 | N2 66 | F43 67 | W1 68 | N4 69 | R90 70 | S3 71 | F26 72 | S5 73 | W1 74 | N5 75 | R90 76 | W3 77 | F29 78 | R90 79 | W4 80 | F81 81 | R90 82 | E5 83 | S4 84 | W1 85 | F73 86 | N2 87 | E1 88 | F66 89 | L90 90 | E4 91 | S4 92 | E3 93 | N2 94 | F34 95 | L90 96 | W1 97 | F13 98 | S4 99 | E2 100 | F21 101 | N5 102 | E5 103 | N2 104 | F65 105 | L90 106 | N3 107 | R270 108 | F49 109 | E5 110 | L90 111 | E5 112 | R90 113 | F20 114 | S4 115 | F99 116 | W3 117 | N2 118 | E5 119 | L90 120 | F94 121 | R90 122 | S2 123 | R90 124 | S3 125 | F47 126 | S3 127 | R90 128 | F71 129 | W1 130 | R90 131 | N4 132 | E5 133 | S1 134 | F72 135 | L90 136 | F18 137 | E5 138 | F94 139 | L270 140 | F80 141 | W5 142 | R180 143 | N1 144 | F40 145 | R180 146 | N1 147 | E3 148 | N5 149 | F29 150 | R90 151 | E1 152 | R90 153 | E3 154 | L180 155 | E3 156 | R90 157 | S2 158 | L90 159 | E3 160 | L180 161 | F80 162 | E2 163 | S5 164 | E1 165 | N2 166 | L180 167 | F25 168 | N2 169 | L90 170 | F66 171 | R90 172 | F48 173 | N3 174 | L180 175 | N3 176 | R90 177 | E5 178 | R90 179 | F52 180 | R180 181 | S5 182 | L270 183 | S4 184 | L90 185 | F53 186 | S4 187 | W3 188 | W4 189 | F36 190 | W2 191 | N2 192 | N4 193 | L90 194 | W1 195 | R90 196 | E4 197 | F30 198 | N5 199 | W1 200 | S2 201 | W5 202 | F98 203 | W1 204 | N1 205 | F92 206 | L180 207 | N2 208 | R90 209 | S4 210 | L90 211 | F66 212 | N3 213 | L90 214 | F33 215 | W2 216 | S2 217 | E4 218 | F8 219 | W2 220 | L180 221 | F15 222 | S1 223 | E1 224 | F14 225 | S1 226 | W2 227 | L270 228 | F86 229 | E1 230 | R180 231 | W5 232 | R90 233 | N3 234 | L90 235 | N5 236 | E1 237 | F78 238 | N1 239 | L90 240 | F1 241 | F73 242 | R90 243 | F68 244 | W4 245 | F79 246 | F34 247 | N5 248 | R180 249 | E5 250 | L180 251 | S3 252 | W5 253 | F27 254 | R180 255 | F70 256 | R90 257 | S4 258 | F62 259 | L180 260 | N3 261 | R90 262 | S5 263 | F4 264 | R90 265 | S5 266 | W2 267 | N5 268 | R90 269 | F81 270 | L90 271 | N1 272 | F32 273 | E2 274 | N1 275 | W2 276 | L180 277 | E5 278 | R180 279 | S3 280 | E3 281 | R90 282 | S3 283 | F1 284 | N5 285 | E3 286 | F60 287 | W2 288 | F58 289 | L180 290 | S2 291 | E3 292 | L90 293 | F36 294 | L90 295 | E4 296 | E1 297 | F29 298 | W2 299 | R90 300 | R180 301 | N3 302 | L90 303 | R180 304 | S5 305 | W1 306 | F13 307 | R90 308 | W5 309 | S2 310 | R180 311 | F16 312 | W4 313 | L90 314 | W2 315 | S5 316 | F25 317 | R90 318 | F40 319 | L90 320 | L90 321 | F76 322 | S2 323 | R180 324 | N2 325 | R180 326 | W4 327 | S5 328 | F61 329 | N4 330 | E1 331 | F57 332 | E5 333 | F72 334 | W4 335 | F61 336 | R90 337 | S4 338 | F52 339 | W2 340 | N1 341 | F30 342 | L90 343 | F59 344 | N1 345 | L90 346 | W2 347 | N2 348 | F51 349 | E5 350 | F16 351 | S1 352 | W3 353 | L90 354 | F92 355 | E3 356 | N2 357 | F22 358 | L180 359 | N3 360 | F10 361 | E4 362 | N2 363 | F43 364 | R90 365 | F99 366 | S3 367 | R180 368 | E1 369 | S1 370 | W2 371 | L180 372 | F56 373 | N3 374 | F6 375 | N4 376 | F21 377 | L90 378 | N4 379 | L180 380 | N4 381 | F15 382 | E5 383 | S3 384 | W1 385 | F57 386 | E3 387 | S4 388 | W3 389 | L90 390 | S3 391 | L90 392 | F41 393 | E1 394 | S5 395 | L90 396 | F63 397 | N4 398 | F89 399 | F57 400 | S1 401 | L90 402 | S4 403 | L180 404 | F96 405 | L180 406 | N5 407 | E4 408 | L90 409 | E1 410 | S1 411 | F77 412 | S3 413 | L90 414 | E4 415 | L90 416 | E5 417 | L90 418 | N3 419 | L180 420 | S1 421 | N2 422 | L90 423 | N3 424 | R90 425 | F45 426 | R180 427 | F57 428 | N3 429 | R90 430 | E4 431 | L180 432 | F37 433 | L90 434 | W2 435 | R90 436 | S1 437 | R90 438 | N3 439 | F77 440 | W5 441 | F80 442 | S1 443 | S5 444 | R90 445 | N5 446 | E5 447 | S3 448 | L270 449 | F15 450 | L180 451 | W5 452 | F48 453 | E1 454 | L180 455 | S4 456 | E1 457 | S4 458 | W5 459 | F76 460 | S1 461 | E1 462 | S1 463 | F55 464 | L90 465 | F70 466 | R180 467 | R90 468 | E4 469 | R90 470 | S3 471 | E2 472 | S3 473 | F84 474 | S4 475 | W3 476 | F100 477 | R90 478 | S1 479 | L90 480 | F37 481 | W4 482 | F3 483 | R180 484 | N3 485 | R90 486 | L90 487 | W2 488 | F28 489 | R270 490 | N5 491 | R180 492 | S2 493 | E4 494 | F54 495 | L90 496 | W5 497 | R90 498 | F79 499 | N3 500 | R90 501 | F34 502 | W1 503 | N3 504 | F76 505 | W3 506 | F2 507 | W1 508 | L90 509 | R90 510 | F72 511 | N1 512 | E3 513 | F79 514 | W1 515 | L90 516 | F8 517 | E4 518 | F87 519 | E2 520 | F4 521 | S3 522 | L90 523 | F100 524 | F94 525 | E4 526 | R270 527 | S1 528 | E2 529 | F70 530 | E4 531 | L90 532 | S2 533 | W5 534 | L90 535 | S5 536 | W2 537 | S2 538 | W5 539 | F19 540 | E2 541 | E1 542 | F62 543 | L90 544 | F55 545 | E3 546 | R180 547 | F74 548 | S3 549 | W2 550 | F66 551 | L180 552 | F32 553 | W5 554 | F66 555 | W1 556 | F48 557 | S3 558 | R90 559 | N5 560 | W2 561 | N2 562 | F18 563 | E3 564 | F41 565 | L90 566 | N4 567 | F56 568 | L90 569 | R90 570 | F42 571 | R90 572 | S3 573 | L90 574 | E2 575 | S2 576 | F7 577 | W3 578 | N5 579 | L180 580 | L90 581 | L90 582 | N5 583 | L90 584 | W4 585 | F82 586 | W2 587 | F68 588 | S1 589 | E3 590 | S2 591 | F87 592 | L90 593 | F93 594 | L90 595 | F16 596 | L90 597 | S4 598 | L90 599 | N3 600 | E2 601 | R90 602 | S2 603 | R180 604 | F94 605 | W1 606 | S3 607 | F68 608 | S2 609 | F70 610 | S3 611 | W4 612 | F29 613 | E5 614 | R180 615 | S2 616 | F63 617 | L180 618 | F65 619 | R90 620 | W1 621 | F64 622 | E1 623 | L180 624 | L90 625 | S5 626 | F65 627 | L90 628 | N3 629 | N4 630 | L270 631 | S1 632 | E2 633 | S3 634 | W3 635 | N1 636 | E5 637 | F16 638 | E2 639 | L90 640 | N1 641 | L90 642 | E1 643 | S4 644 | W2 645 | R180 646 | F27 647 | N1 648 | R180 649 | E2 650 | L90 651 | F20 652 | N1 653 | W3 654 | N1 655 | R90 656 | W5 657 | R90 658 | E3 659 | S2 660 | F48 661 | N1 662 | R180 663 | N3 664 | W1 665 | S4 666 | F92 667 | S3 668 | R90 669 | S5 670 | E1 671 | W5 672 | R90 673 | S2 674 | W1 675 | L90 676 | R180 677 | E3 678 | N3 679 | E1 680 | R180 681 | E4 682 | L90 683 | E5 684 | L90 685 | W3 686 | L270 687 | E1 688 | S5 689 | W5 690 | L180 691 | W3 692 | S2 693 | F16 694 | W5 695 | S4 696 | R90 697 | N3 698 | L90 699 | N4 700 | F43 701 | N2 702 | F83 703 | S2 704 | W5 705 | F58 706 | W4 707 | N5 708 | R180 709 | E3 710 | F81 711 | L90 712 | F61 713 | L90 714 | W4 715 | F41 716 | E3 717 | N2 718 | F74 719 | R90 720 | F6 721 | R90 722 | W1 723 | F18 724 | R90 725 | R90 726 | N2 727 | F87 728 | S4 729 | F16 730 | S3 731 | E3 732 | F67 733 | R90 734 | E2 735 | L90 736 | S4 737 | R90 738 | F5 739 | W1 740 | R90 741 | W4 742 | F54 743 | S1 744 | W1 745 | F100 746 | S5 747 | E2 748 | L90 749 | W3 750 | F61 751 | L180 752 | W2 753 | S3 754 | F68 755 | F35 756 | N3 757 | R180 758 | E4 759 | R270 760 | S5 761 | E4 762 | L180 763 | S3 764 | R90 765 | N5 766 | E4 767 | F60 768 | W4 769 | S1 770 | L90 771 | L180 772 | N5 773 | L180 774 | W3 775 | S1 776 | E3 777 | S1 778 | N2 779 | E4 780 | R180 781 | N4 782 | F7 783 | N3 784 | W4 785 | F89 786 | N4 787 | E3 788 | L90 789 | F97 790 | -------------------------------------------------------------------------------- /resources/puzzle_input_08.txt: -------------------------------------------------------------------------------- 1 | jmp +583 2 | acc +9 3 | jmp +525 4 | jmp +302 5 | jmp +287 6 | jmp +412 7 | acc -16 8 | acc -19 9 | acc -19 10 | jmp +423 11 | acc -4 12 | nop +13 13 | acc -8 14 | jmp +37 15 | acc +0 16 | acc -5 17 | acc +48 18 | acc +0 19 | jmp +232 20 | acc +39 21 | acc +5 22 | jmp +69 23 | acc +31 24 | jmp +425 25 | acc +31 26 | jmp +93 27 | nop +166 28 | acc -7 29 | jmp +192 30 | acc +1 31 | jmp +391 32 | acc +11 33 | acc +20 34 | jmp +1 35 | acc +24 36 | acc +7 37 | acc +27 38 | jmp +162 39 | jmp +580 40 | acc +9 41 | acc +39 42 | acc -18 43 | jmp +283 44 | acc +28 45 | acc -14 46 | nop +464 47 | acc -12 48 | jmp +358 49 | jmp +523 50 | jmp +212 51 | acc +16 52 | acc -13 53 | acc +10 54 | acc +46 55 | jmp +207 56 | jmp +266 57 | jmp +1 58 | acc +36 59 | jmp -19 60 | jmp -3 61 | acc -16 62 | acc +3 63 | jmp +229 64 | acc +44 65 | acc +0 66 | acc -17 67 | acc -14 68 | jmp +132 69 | acc +38 70 | nop -30 71 | acc -12 72 | jmp +506 73 | jmp +511 74 | acc -15 75 | acc +4 76 | acc +29 77 | jmp +129 78 | jmp +419 79 | jmp +1 80 | jmp +45 81 | acc +14 82 | acc +20 83 | acc +11 84 | jmp +153 85 | jmp +78 86 | acc +32 87 | nop +212 88 | acc -7 89 | acc +42 90 | jmp -65 91 | acc -17 92 | jmp +458 93 | acc +10 94 | acc +18 95 | acc -11 96 | acc +8 97 | jmp +215 98 | acc +33 99 | acc +25 100 | jmp -21 101 | nop +92 102 | acc +0 103 | nop +353 104 | jmp +188 105 | acc +43 106 | jmp +82 107 | jmp +399 108 | acc +33 109 | acc +16 110 | acc -3 111 | jmp +174 112 | acc -12 113 | acc -3 114 | nop +171 115 | jmp +73 116 | nop +362 117 | jmp -48 118 | jmp +218 119 | acc +5 120 | jmp +486 121 | acc +43 122 | acc -1 123 | acc +0 124 | jmp +476 125 | acc +21 126 | jmp +44 127 | acc +7 128 | acc -6 129 | jmp +1 130 | acc +3 131 | jmp +95 132 | acc +12 133 | acc +38 134 | jmp +202 135 | acc +17 136 | acc -12 137 | jmp +114 138 | jmp -33 139 | jmp +367 140 | acc +45 141 | acc +40 142 | jmp -81 143 | acc -5 144 | acc +27 145 | acc +6 146 | jmp +374 147 | acc -6 148 | acc +10 149 | acc +19 150 | jmp +1 151 | jmp +171 152 | acc +8 153 | acc +46 154 | acc +12 155 | jmp +234 156 | acc +45 157 | acc +28 158 | jmp +337 159 | acc +8 160 | nop +10 161 | acc +17 162 | jmp +368 163 | acc +2 164 | acc -3 165 | acc +29 166 | jmp -160 167 | acc -7 168 | acc +11 169 | jmp +174 170 | acc +48 171 | acc -3 172 | acc +33 173 | jmp +6 174 | acc +3 175 | acc -10 176 | acc +9 177 | acc -13 178 | jmp +428 179 | acc -13 180 | acc +35 181 | nop -112 182 | jmp -147 183 | acc +13 184 | acc -4 185 | acc +50 186 | acc +46 187 | jmp -118 188 | acc +38 189 | acc +36 190 | jmp +375 191 | nop -3 192 | jmp +93 193 | acc +10 194 | acc -1 195 | jmp +211 196 | acc +6 197 | acc +38 198 | acc -12 199 | jmp -6 200 | jmp +1 201 | acc +41 202 | jmp -117 203 | acc -17 204 | acc -15 205 | jmp -120 206 | acc +17 207 | acc +48 208 | acc +37 209 | acc +0 210 | jmp +139 211 | acc +7 212 | acc -12 213 | acc +0 214 | jmp +98 215 | acc +47 216 | acc +3 217 | acc -18 218 | acc +26 219 | jmp +141 220 | jmp +236 221 | acc +18 222 | jmp +275 223 | acc -10 224 | acc -11 225 | jmp +12 226 | acc -19 227 | acc +17 228 | jmp +300 229 | acc +32 230 | nop +145 231 | jmp +84 232 | jmp +34 233 | acc -17 234 | acc +12 235 | acc +37 236 | jmp +182 237 | acc -7 238 | jmp +154 239 | nop +375 240 | acc -1 241 | jmp +108 242 | jmp +1 243 | acc +16 244 | acc +49 245 | jmp +355 246 | acc -16 247 | acc -19 248 | acc +47 249 | acc +26 250 | jmp -171 251 | jmp +285 252 | jmp +84 253 | acc +28 254 | acc -11 255 | acc +6 256 | jmp -252 257 | nop +228 258 | acc +10 259 | acc -17 260 | acc +42 261 | jmp -221 262 | acc +34 263 | acc +8 264 | jmp +201 265 | jmp -225 266 | acc +45 267 | nop +125 268 | acc +25 269 | acc -7 270 | jmp +318 271 | nop +348 272 | nop +40 273 | acc +42 274 | jmp +284 275 | acc -1 276 | acc +46 277 | jmp +1 278 | acc +41 279 | jmp +231 280 | acc +30 281 | acc +45 282 | acc +10 283 | acc +45 284 | jmp -227 285 | acc +25 286 | acc +13 287 | jmp +219 288 | acc -10 289 | acc +27 290 | acc +45 291 | jmp -186 292 | acc -18 293 | acc +50 294 | acc +31 295 | acc +19 296 | jmp +89 297 | nop -240 298 | jmp +173 299 | nop +65 300 | acc -8 301 | jmp +1 302 | nop -146 303 | jmp -156 304 | acc +27 305 | jmp +106 306 | acc +4 307 | acc +45 308 | jmp +35 309 | acc +44 310 | acc +47 311 | jmp -254 312 | jmp +57 313 | acc +1 314 | jmp -274 315 | acc +32 316 | acc +6 317 | acc +1 318 | nop +179 319 | jmp +122 320 | jmp +1 321 | jmp -310 322 | jmp -273 323 | acc +46 324 | acc +9 325 | jmp -187 326 | acc +36 327 | acc +0 328 | nop +47 329 | acc +17 330 | jmp -137 331 | nop -116 332 | acc -17 333 | acc -6 334 | acc -8 335 | jmp +106 336 | acc +36 337 | acc +50 338 | acc +3 339 | acc +22 340 | jmp +190 341 | acc +48 342 | jmp -336 343 | jmp -164 344 | jmp -32 345 | acc +44 346 | nop +242 347 | jmp -215 348 | jmp +7 349 | acc +36 350 | acc +3 351 | acc +27 352 | acc +24 353 | jmp -8 354 | jmp +156 355 | acc -5 356 | acc +42 357 | nop +37 358 | jmp +107 359 | jmp +247 360 | acc +12 361 | acc +30 362 | jmp +44 363 | jmp -306 364 | acc +36 365 | jmp -354 366 | nop +192 367 | nop +153 368 | jmp -106 369 | jmp -284 370 | jmp +1 371 | acc +33 372 | acc +18 373 | acc +13 374 | jmp +232 375 | acc -4 376 | nop -64 377 | acc +38 378 | acc +29 379 | jmp -349 380 | acc -7 381 | acc +44 382 | acc +4 383 | acc +48 384 | jmp -35 385 | acc +13 386 | jmp -144 387 | acc -7 388 | jmp +196 389 | acc -8 390 | jmp -316 391 | jmp -138 392 | jmp -381 393 | jmp -156 394 | acc +21 395 | jmp +189 396 | acc +30 397 | nop -85 398 | acc +34 399 | acc -13 400 | jmp -326 401 | jmp -7 402 | jmp +1 403 | acc +2 404 | acc +24 405 | jmp -56 406 | jmp +152 407 | acc +42 408 | acc +25 409 | acc -6 410 | jmp +174 411 | jmp -96 412 | jmp -86 413 | jmp +20 414 | acc +23 415 | nop -93 416 | acc +3 417 | jmp -42 418 | acc +0 419 | acc +6 420 | jmp +100 421 | jmp +20 422 | jmp -147 423 | acc +19 424 | nop -367 425 | jmp -80 426 | nop -318 427 | nop -289 428 | acc +45 429 | jmp -321 430 | nop -4 431 | acc +13 432 | jmp +74 433 | acc +0 434 | acc +15 435 | jmp +153 436 | acc -5 437 | acc +24 438 | acc +21 439 | jmp +1 440 | jmp -48 441 | jmp -262 442 | nop -317 443 | jmp +93 444 | acc +20 445 | jmp -32 446 | acc +44 447 | acc +50 448 | jmp -350 449 | acc -19 450 | acc +46 451 | jmp -431 452 | acc -11 453 | nop -227 454 | acc +48 455 | jmp +103 456 | acc +44 457 | acc +31 458 | acc -15 459 | jmp -15 460 | acc +0 461 | acc +34 462 | acc -3 463 | acc +38 464 | jmp +108 465 | acc +28 466 | nop -60 467 | acc +28 468 | acc +26 469 | jmp -20 470 | jmp -440 471 | acc +48 472 | jmp -257 473 | acc +11 474 | acc +8 475 | acc +14 476 | acc +30 477 | jmp +8 478 | acc +47 479 | jmp -323 480 | acc +15 481 | acc +10 482 | acc -15 483 | acc +13 484 | jmp -169 485 | acc -11 486 | acc -12 487 | acc +24 488 | acc +5 489 | jmp +125 490 | acc +34 491 | acc -17 492 | acc +2 493 | acc +32 494 | jmp -83 495 | jmp -120 496 | jmp -11 497 | acc +25 498 | nop -54 499 | jmp +1 500 | jmp -29 501 | acc +13 502 | acc +17 503 | acc +6 504 | acc +31 505 | jmp -420 506 | acc +25 507 | acc +13 508 | jmp +117 509 | jmp -3 510 | nop +68 511 | acc +32 512 | acc -11 513 | acc +31 514 | jmp -374 515 | acc -4 516 | acc +34 517 | acc +38 518 | acc +23 519 | jmp -113 520 | acc -19 521 | acc +50 522 | nop -216 523 | jmp -134 524 | nop -331 525 | acc -7 526 | acc +28 527 | jmp -357 528 | jmp -216 529 | jmp -128 530 | acc +34 531 | acc +16 532 | jmp -54 533 | acc -16 534 | acc +0 535 | jmp -64 536 | acc +7 537 | nop -322 538 | jmp -306 539 | nop -414 540 | acc +38 541 | acc +15 542 | jmp +77 543 | acc +18 544 | jmp +1 545 | acc +0 546 | acc -8 547 | jmp -248 548 | acc +26 549 | jmp -6 550 | acc +17 551 | acc +21 552 | acc +30 553 | jmp -142 554 | acc -13 555 | acc -18 556 | nop -330 557 | jmp +27 558 | acc -14 559 | jmp +60 560 | acc +31 561 | acc -6 562 | acc +49 563 | acc +16 564 | jmp -289 565 | acc +11 566 | acc +0 567 | nop -141 568 | acc +19 569 | jmp -143 570 | acc +44 571 | jmp -286 572 | acc +42 573 | jmp -209 574 | acc +34 575 | acc +10 576 | acc +3 577 | jmp -461 578 | acc +2 579 | jmp -358 580 | acc +42 581 | acc +0 582 | acc +26 583 | jmp -191 584 | acc +16 585 | jmp -230 586 | acc +31 587 | jmp -244 588 | nop -456 589 | acc +16 590 | nop -196 591 | jmp -475 592 | acc +24 593 | jmp -553 594 | acc +42 595 | acc +24 596 | acc +3 597 | jmp -572 598 | acc +31 599 | jmp +7 600 | jmp -144 601 | acc +20 602 | acc +23 603 | acc -14 604 | nop -506 605 | jmp -17 606 | acc +19 607 | nop -428 608 | jmp -286 609 | acc +2 610 | acc +6 611 | acc +28 612 | acc -13 613 | jmp -291 614 | jmp -377 615 | acc -3 616 | acc +32 617 | jmp +1 618 | jmp -205 619 | acc +18 620 | acc +32 621 | nop -523 622 | jmp -79 623 | acc +32 624 | jmp -30 625 | acc +40 626 | acc -17 627 | jmp +1 628 | acc +28 629 | jmp +1 630 | -------------------------------------------------------------------------------- /resources/puzzle_input_11.txt: -------------------------------------------------------------------------------- 1 | LLLLL.LLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLL.LLLLLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLL 2 | LLLLLLLLLL.LLL.LLLLL.LLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL..LLLLL.LLLLLLLLLLLLLLLL 3 | LL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLL.LLLLLL 4 | LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLL.LLLLLLLLLLL.LLLLLLLL..LLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 5 | LLLLL.LLLLLLLLLLLLLL.LLL.LL.LLLL.LLL.LLLLLL.LLLLL.LLLLLLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLLLL.LLLLLL 6 | LLLLL.LLLL..LLLLLLLL.LLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLL.LL.LLLL.LLLLLL.LLLLLL.LLLLLLLLL.LLLLLL 7 | .......L...L.L...L......L..LLL..L.............L..L....L.LL.......LL......L..LL..L..L.L.LL..L.L.... 8 | LLLLL..LLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLL..LLLLLLLL.LLLLLLLL.LLLL.LLLLLL.LLLLLL.LLLLLLLLLLLL.LLL 9 | LLLLLLLLLL.LLLLLLLLL.LLLLLL..LLLLLL.LLLLLLL.LLL..LL.LLLLLLLLLL.LLLL.LLLLLLLLLLLLL.LL.LLLLLL.LLLLLL 10 | L.LLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLL..LLLLLLL.LLLLLLLL..LLLLLLLL.LLLL.LLL.LL.LLLLLL.L.LLLLL.L.LLLLLL 11 | LLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLL.LLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLL 12 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.LLL.LLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLL 13 | LLLLL.LLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLL.L.LLLLLLL.L.LLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLL 14 | .....LL..L....LL.L....L....L.....L.L...L......LLL..L.L....L..LLL...L.L..L.L..LL...L..L.L.....L.L.L 15 | LLLLL.LLL..LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLL.LLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLL 16 | LLLLL.LLLL.LLLL.LL.L.LLLLLL.LLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLL.LLLLLL.LLLLLLLLL.LLLLLL 17 | LLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLL.LLLLL.LLLLLLL.LLLLLL.LLL.LL.LLLLLLLLLLLLLLLL 18 | LLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LL.LLLL.LLLLLL.LL.LLLLLLLL.LLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLL 19 | .LLLL.LLLL.LLLLLLLLL.L.LLL..LLLLLLL.LLLLLLLLLLLLL.LLL.LLLLLLLLLLLLL.LLLL.LLL.LLLL.LLLLLLLLL.LLLLLL 20 | LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLL...LLLLLL.LL.LLLLLL.LLL.LLLL.LLLLLLLLLLL.LLLLLL.LLLLLLLLL.LLLLLL 21 | .......L.L...L..L..L.LL.LL.L....L.L..LL..L.L.L.LL...LLL...LLLL..LLLL.......L...L....LL.....L.LL... 22 | LLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLL 23 | LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLL.LLLLLL.LLLLLLLLLLLLLLLL 24 | LLLLLLLLLL.LLLLLLLLL.LL.LLL.LLLLL.L.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLLLLLLL.LLL.LLLLLLLLL.LLLLLL 25 | LLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLL.LLLLLLLLL.LLLLLLLL.LL.LLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLL 26 | LLLLL..LLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLL.LLLLLL.LL.LLLLLLLLLLLLL.LLLLLL.LLLLLL.LLLLLLLLL.LLLLLL 27 | L...LL.LL.L....LL..L.L..L..L.L.LL.L.....L..LL.......L..LLL..L...LL......LL..LL..L.L.LL..LL.L...... 28 | LLLLL.LLLL.LLLLLLLLLLLLLLLL.LLL.LLL.LLLLLLL.LLLLLLLLL.LLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLL 29 | LLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL..LLLLL.LLLLLLLLL.LLLLLL 30 | LLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLL.LLLLLL.LLLLLLLLL.LLLLLL 31 | LLLLL.LLLLLLLLLLLLLL.LLLL.L.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLL..LLLLLL 32 | .LLLL..L...L..LL...L...L.L.L..LLL.L....L..L..L.....L.L..............LL.L....L..L......LL..LL..L... 33 | LLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLL.LL.LLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLLL.LLLLLLLLL.LLLLLL 34 | LLLLL.LLLLLLLLLLL.LL..LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL 35 | LLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLL 36 | LLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLL 37 | LLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLL.LLLLL.LLL.LLLLLLLL.LLLL.L.LLLLLLLLLLL.LLLLLLLLLLLLLLLL 38 | LLLLL.L.LLLLLLLLLLLLLLL.LLL.LLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLLLLL.LLLLL 39 | LLLLL.LLLL.LL.LLLLLL.LLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL..LLLLLLLLL.L.LLLLLLLLLLLLLLL.LLLLLLL 40 | L.LLL.LL.L.L...L.L....L.....L.....LL..........LL...L..L.L....L..L.L....L.L.LL.L.......LL.....L.L.. 41 | LLLLL.LLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLL.L.LLLLLLL.LLLLLLLL.LLLL.LLLLLL..LLLLL.LLLLLLLLL.LLLLLL 42 | LLLLL.LLLL.LLLLLLLLLLLLLLLLLLL.LLLL.LLLLL.L.LLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLL.LL.LLLLLL 43 | LLLL..LLLL.LLLLLLLLL.LLLLLL.LLL.LLL.LLLLLL..LLLLLLLLL.LLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLLLL.LLLLLL 44 | LLLLLLLLLLLLLLLLL.LL.LLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLL.LL.LLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL 45 | LLLLL.LLLL.LLLLLLLLL.LLLLLL.L.LLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLL.LLLL.LLLLLLL.LLLLL.LLLLLLLLL.LLLLLL 46 | ...L.......LL....L......L...L..L.L..L...L.L.....LLLL.L...L.....L...L.....LL...........L..L...L...L 47 | LLLLLLLLLLLL.LLLLLLL.LLLLLL.LLL.LLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLL.LLL 48 | LLLLL.LLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL.LLLLLLLL.LLLLLLLLL.LLLLLL 49 | LLLLL.LLLLLLLLLLLLLL.LLLLLL.L.LLLLL.LLLLLLLLLLLLLL.LL.LLLLLLLL.LLLL.LLLLLL.LLLLLL.LLLLLLL.LLLLLLLL 50 | LLLLL.LLLL.LLL.LLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLL 51 | LLLL...LLL.LLLLLLLLL.LLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLL 52 | LLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLL.L.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLL 53 | .LLLL.LLLL.LLLLLLLLL.LLLLLL.LLLLL.L.LLLLLLLLLLLLLLLLL..LLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLL.L.LLLLLL 54 | ........L.L..LL.....L..L.L...L..LL.LL..L.L..L...........L.L...LLLL.L..L..........L..L....L..LL...L 55 | LLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLL.LLLLLLLLL.LLLLLL 56 | LLLLL.LLLLLLLLLLLLLL.LLLLLL.LLLLL.L.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLLL.LL.LLL.LLLLLL.LLLLLLLLL.LLLLLL 57 | LLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL.LLLLLL.LLLLLL.LLLLLLLLL.LLL.LL 58 | LLLLL.LLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LL.LLLL.LLLL...LLLLLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLL.L 59 | LLLLL.LLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLLLL.LLLLLL.LLLLLLLLL.LLLLLL 60 | LLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLL.LL.LL.LLLLLLLLLL.LLLLLLLLLLLLLLLL 61 | .L.....LL......LLLLLL....L..LL...L.L..LLL.L..............L..LLL.L..L.L........LLLL....L..L..L..... 62 | LLLLL.LLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL.LL.LLL.LLLLLL.LLLLLLLLLLLLLLLL 63 | LLLLL.LLLLLLLLLLLLLL.LLL.LL.LLLLLLL.LLLLLLL..LLLLLLLLLLLL.LLLL.LLLLLLLLLLL.LLLLLL.LLLLLLLLL.LLLLLL 64 | LLLLL.LLLL.LLLLL.LLL.LLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL.LLLLLL.LLLLLL.LLLLLLLLL.LLLLLL 65 | LLLLL.LLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL.L.LLLL.LLLLLL.LLLLLLLLL.LLLL.L 66 | LLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLL..LLLLLL.L.LLLLLLLLLLLLLLLL.LLLL.LL.LLLLLLLLLL.LLLLLLLLL.LLLLLL 67 | LLLLL.LLLL.LLLLLLLLL.LLLLLL.L.LLLLLLLLLLLL..LLLLLLLLL.LLLLLLLLLLLLL.LLLLLL.LLLLLL.LLLLLLLLL.LLLLLL 68 | ...L.LLLL....LL....LL.L...LLLL.LL......L....L.L.L.L........LLLL.LL....L.L..L.L....LL..L....L...... 69 | LLLLL.LLLL.LLLLLLLL..LLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLL.LLLLLL.LLLLLLLLL.LLLLLL 70 | LLLLLLLLLL.LLL.LLLLL.LLL.LLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLL.LLLL.LLLLLL.LLLLLL.LLLLLLLLLLLLLLLL 71 | LLLLL.LLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLL..LLLL.LL.LLLLLLLLLL.LLLLLLLLL.LLLLLL 72 | LLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLL.LLLLLL 73 | ....LLL...LL.........L.....LL...L.L...LL......L...LL..L.L.....L..L....L.L.....L.L...L..LL...L.L... 74 | LLLLLLLL.L.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLL.LLL.LLLLL.LLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLL.LL..LLLLL 75 | LLLLL.LLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL.LL.LLL.LLLLL.LLLLLLLLLLLLLLLLL 76 | LLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLL.LLLL.LLLLLLLLLL.LL.LLLLLLLLL.LLLLLL 77 | LLLL..LLLL.L.LLLLL.L.L.LLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLL.LLLLLLLLL.LLLLLL 78 | LLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLL.L.LLLLLLLL.L.LLLLLLLLLLL.LLLLLL.LLLLLL.LLLLLLLLLLLLLL.L 79 | LLLLLLLLL.LLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLL.L.LLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL..LLLLL 80 | ...LL...LL.L.....L.L.LL......L..L.L...L.L..L..L..........L...L.....L...L......L..LLL...L.L..LLL... 81 | LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLL.LLLL.LLLLLL.LLLLLL.LLLLLLLLL.LLLLLL 82 | LLLLL..LLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLL.LLLLLLLL..LLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLL..LLLLL 83 | LLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLL.L.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLL.LLL.LLLLLLLLL.LLLLLL 84 | LLLLL.LLLL.LLLLLLL..LLLLLLL.LLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL 85 | LLLLLLLLLLLLLLLLLLLL.LLLLL..LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL.LL.LLLLLLLLLL.LLLLLLLLL.LLLLLL 86 | ....L....L.....LLLLL...L.L...LL...L.LL.........L.L.L..L..LL.....L..LLL..L.L......LL.L.LLLL..L..LLL 87 | LLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLLLL.LLLLLLLL.L.L.LLLLLLLLL.LLLLLLLLL.LLLLLL 88 | LLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLL.LLLLLLLLL.LL.LLLLLLLLLLLLL.LLLLLLLL..LLLLLL 89 | LLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLL 90 | LLLLL.LL.LLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLL.LLLLL.LLLLL.LLLLLL..LLLLLLLLLLLLLLLL..LLLLLL 91 | LLLLL.L.LL.LLLL.LLLL.LLLLLL..LLLLLL.LLLLLLLLLLL.LLLLLLLLLLL.LLLLLLL.LLLLLL.LLLLLL.LLLLLLLLLLLLLLLL 92 | LLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL..LLLLLLLL.LLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL 93 | LLLLL.LLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL..LLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLL 94 | LLLLL.LLLL.LLLLLLLLLLLLL.LLL.LLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLL 95 | LLLLL.LLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.L.LLLLLLL.LL.LLLLLLL.LL.LLLLLL.LLLLLL.LLLLLLLLL..LLLLL 96 | LLL.L.LLLL.LLLLLLLLL.LLLLLL..LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLL.LLLL.LLLLLLL.LLLLL.LLLLLLLLL.LLLLLL 97 | L.LLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLL.LLLL..LLLLLLLLLLLLLLLLLL.LLL.LLLLLL 98 | -------------------------------------------------------------------------------- /resources/puzzle_input_03.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 | -------------------------------------------------------------------------------- /resources/puzzle_input_05.txt: -------------------------------------------------------------------------------- 1 | BBFBBBBRRL 2 | FBFFFFBLRL 3 | FBFBBFFRLR 4 | FBFFFBFRLR 5 | FFBBFFFLRR 6 | FFBBBFFRRR 7 | BFBBFBFLRL 8 | BFFFBFFLRR 9 | FBBBFFBLLR 10 | BBFFBBFRRL 11 | BFBBBBBRLR 12 | FBBBBFFLLR 13 | FFBFFFBLLR 14 | FFBBFBFRRR 15 | BBFBFFFRRR 16 | FFBFFBBLLR 17 | FBBFFBBLRL 18 | FFBBBFBLLL 19 | FFBFFBBLRR 20 | FBFFBFBLLR 21 | FFFBBBFLLL 22 | BFBBFBFRLR 23 | BBFBBBFLLL 24 | FBBBFBBRLL 25 | FFBBBBFRRL 26 | BFBBBBFLRR 27 | BBFBBFBLRL 28 | FFBFFFBLRL 29 | BFBBBBBRRR 30 | FFFBFBFLLR 31 | BFBFBBBLLR 32 | FFBFBBBLRL 33 | FFFBFBBLRR 34 | BFFBFFFLLL 35 | BFFFBFBLRL 36 | BFBFFFBRLL 37 | BBFFFFBRLR 38 | FBBFFFBLRR 39 | BFFFFBFLLL 40 | BBBFFFFLLL 41 | BFBFFBBRLL 42 | BBFBFFFRRL 43 | BFBBFFFRLR 44 | BBFBFBFRRL 45 | FBBFFBFRRL 46 | BFBFBFFRRL 47 | FFBFFFFLLR 48 | FBBBFBBLLR 49 | BBFFBFBRLL 50 | BFFBFBBRLL 51 | FBBFFFFRRR 52 | BFFFBBBLRL 53 | FFBBFFBLLL 54 | FFFBBFFRRL 55 | FBFBBBBLRR 56 | FFBBBFFLLL 57 | FBFBFFBRRR 58 | FBBFFBBLLR 59 | FBFFBFFRLL 60 | BFBBBFFRLR 61 | FBFFBBBLRR 62 | FBFFFFBRLR 63 | BBFFBBFLRL 64 | FBFFBBFLRL 65 | FBFBBFFRRR 66 | BFBBBFBLRL 67 | FBFBFFFLLR 68 | FFFFBBBLLR 69 | BFBFFBBLLR 70 | BFFBBBFRLR 71 | BFBBBFFLRR 72 | BBFFFBBLLR 73 | BFFFBBFLRL 74 | FBFFBFBLRL 75 | FBBBFFFRRL 76 | FBFFFFBLLL 77 | BFBFFBBRLR 78 | BFBFBBBLRL 79 | BFFBFBBRLR 80 | FBBFBBBLLR 81 | FFBFBFFRLL 82 | FFFBBBBLRR 83 | BFBFFFFLLL 84 | BBFBFBBLLR 85 | BFFFBBBRLR 86 | FFBFFBFRLR 87 | FBBFBBBLRL 88 | BBFFFBBLLL 89 | FFBFFBBRRR 90 | FBBBBFBLLR 91 | BBFBBFFRLL 92 | BFBBBBFRLR 93 | BBFBFFBRLR 94 | FFBFFFFLLL 95 | BBFBFBFRLL 96 | FFBFFBBRLL 97 | FBBFFFFRLR 98 | FFBBBBBRRR 99 | BBFFBBBLRL 100 | BFFBBFBRLL 101 | BFFFBBFRLL 102 | BFFBFBFLRL 103 | FBFFFFFRRR 104 | BFFBFBBRRL 105 | FBFBBBFLLR 106 | FBFBFBBRLL 107 | BBBFFFFRRR 108 | BFBFBFFLRL 109 | FFFFBFBRLL 110 | FFBBFFBLRL 111 | BBFFBFBLLL 112 | BFFBBBBRLL 113 | BFFBBBBRRR 114 | BFBBBBFRRL 115 | BBBFFFBLRL 116 | FFBBFFFRRR 117 | BFFFFFBRLR 118 | FFFBBFBLLL 119 | BFBFBBFRLR 120 | FBBBFBFLRL 121 | BFBFBFFRLR 122 | BBFBBFFLRL 123 | BFFFBFBLLL 124 | BFFFFBBRLL 125 | FFBFFFFRRL 126 | BFFBFBBLLR 127 | FFFFBBBLLL 128 | FBBFFBBRRL 129 | BFBFFFFLLR 130 | FBFBFBFRLL 131 | FBBBBBBLRR 132 | BBFFFFBLRR 133 | FFFFBFBRRR 134 | FBBBBFBRLL 135 | BBFBFBBLRR 136 | FFBBFBFLLL 137 | BFBBFFBLRL 138 | FFFBBBBRRR 139 | BFBBFFFRLL 140 | BFBBBFBRRR 141 | FFFFBBFRLR 142 | FFBBFBFLRR 143 | FFFFFBBLLR 144 | BBFBBFBRLL 145 | FBFBBBBRLR 146 | BBFFFFBLRL 147 | FBBFFFBLLR 148 | FFBFFBBLLL 149 | FFFBBBFLLR 150 | FFFBBBFRRR 151 | FFBBBFBRRR 152 | FFFBBFFRRR 153 | FFBBFFBLLR 154 | BFBFFBFRRR 155 | FFBFBBFLLR 156 | BFFFFFFRRR 157 | FFBFFBFLRL 158 | BFFBFBBRRR 159 | FBFBFFFRLL 160 | BBBFFFBLLL 161 | BFBBFBFRRL 162 | BFFFFFBLRR 163 | FBBBBBFRRR 164 | FFBBBBFLRR 165 | BBFBBBBLRR 166 | BBFBFBFLLR 167 | FFFFBBFRRR 168 | FFBBBBBLLR 169 | BFFFBFBRLR 170 | FBBBFFBLLL 171 | FFFFFFFRRR 172 | FFFBFBFRRL 173 | BFBBFBBLRR 174 | FBBBBFBLRL 175 | FBBBBFBRRR 176 | BFFFFBFRRR 177 | BFFBBFFLLL 178 | FBBFBFBLRL 179 | BFBBFFFRRL 180 | FBFBFFBRLR 181 | FBFFBFFLRR 182 | BFFFBFBLLR 183 | BFBBFFBRRR 184 | BBFBBFBLLL 185 | BFFBFFFLRR 186 | FFFBBFFRLL 187 | BFBBFFFLLL 188 | BFFFBBBRLL 189 | FBFFBBFRRR 190 | FFBFBFBLLR 191 | FBFFFFBLRR 192 | FFBBFFFLLL 193 | FFFBBBBRRL 194 | BBFBFFFLLL 195 | BBFFBBFLLR 196 | BFBFBBBRRR 197 | FBBBBFBRRL 198 | FBFFFBFLLR 199 | FBFBBBFRRR 200 | BFFFBFBRRL 201 | FBFBBBFLRL 202 | BBFFBFFLRL 203 | BBFBBFFLLR 204 | FFFFBFFRLL 205 | FFFBBBBLRL 206 | FBBBFBFRLL 207 | BBFFFBBLRL 208 | FFFBFFBLRR 209 | BBFBFBBRRL 210 | FFFFBBBRRR 211 | FFBBBBBLRL 212 | FFFFFFBLLL 213 | FBFFFFFRRL 214 | FFFFFBBLRR 215 | BFFFBBBRRL 216 | FBBFFFFLRL 217 | FFFFFBBRLR 218 | FFBFFBFRLL 219 | FFFBBBFRRL 220 | BFBBBFFLRL 221 | FFFFFBFLRR 222 | BFBFBBBRLR 223 | FBFBBBFLLL 224 | BFBFFBFLRL 225 | FFBFBFFRRR 226 | FFBBFFFRLL 227 | BFBFBFFLLL 228 | FBFBFBBRLR 229 | BFFBBBFRRL 230 | FBFFBBBRRR 231 | FBFBFBBLRR 232 | BFBBBBFLLR 233 | FFFBFFFRLR 234 | BFBBFFBRRL 235 | BFFFBFFLRL 236 | BFBFBBFRRR 237 | FBBFFBFLLL 238 | FFFFFFBLRR 239 | FBFFBFBLRR 240 | FFBBBFFLRR 241 | FBBBFFBRLL 242 | BFFFBBBRRR 243 | FFBFFFFRLL 244 | BBFFFBFRRR 245 | BFFBFBBLLL 246 | BFBBFFBRLR 247 | FFBFBBBLRR 248 | FFFBFBBLLL 249 | FFFBBFFLLL 250 | FBBBBBBLRL 251 | BFBFBBBLLL 252 | BFBFFFFRRL 253 | FFBFBBFRRR 254 | FFBFBFBRRL 255 | FFFBBBBRLL 256 | BFFBFFBRLL 257 | BBFFFFBRRL 258 | FFBFBFBLLL 259 | FFBFBFBRLL 260 | FBFBBBFRRL 261 | FBFFBBFRLR 262 | BBBFFFFLRL 263 | FBFBFFFRRL 264 | FFFBFBFRLR 265 | FBFBFBBRRL 266 | BFBBFBBLLL 267 | FFBBBBBRLL 268 | BBFFBFBRRL 269 | FFFBFFFRRR 270 | FBBFBFBLLL 271 | BFFFBFFRLR 272 | FBFBFFBRLL 273 | BBFBBFFLLL 274 | FBBBBFFLRR 275 | FFBBBFFLRL 276 | FBBBFFBRRR 277 | FFBBFBBRLR 278 | FBFBBFFLLR 279 | BFBBBFFLLR 280 | FFFBBFFLRR 281 | FBFFBFFLRL 282 | BFBFBFFLRR 283 | BBFBFFFLLR 284 | FFFBBBBLLR 285 | FFBBFFBRLL 286 | BBBFFFBRLL 287 | FBFFBFBRRL 288 | BFBFFFFRLL 289 | FBFBFBFRLR 290 | BBFFFFFLLL 291 | FFBFBBBLLR 292 | FFBFBFFLRR 293 | FBBBBFBRLR 294 | FFBFBBBRLR 295 | BFFBBBBLRL 296 | FFBBBBBRLR 297 | BFBBBFFRRR 298 | FBFBBFBRLL 299 | FFBFFFBRRL 300 | BBFBFBFLLL 301 | BFBBBFBRLR 302 | BFBBFBFLLR 303 | FBBFBFFRLL 304 | FFBFBBFLRR 305 | BFFBFBFRLL 306 | FFBBFBBLRL 307 | FBFBFBBLRL 308 | BBFFFBFLLR 309 | BFBFBBBLRR 310 | BBFFBBBLLR 311 | BBFFFFBRRR 312 | BFFFFFBLRL 313 | FBBBFBBRRR 314 | BFBFFFBLLL 315 | FFFBBFFLLR 316 | BFFBBFFLLR 317 | BBFBBBBLRL 318 | FBBFBFFLRR 319 | FBFBFFBLLR 320 | BFFFFFFLLL 321 | BFFBBFFRLL 322 | BBFFFFFLLR 323 | FBFFBBFRRL 324 | FBBFFFFLLR 325 | BFBFFBBRRL 326 | FFBFFFBLLL 327 | BFFFFFBLLR 328 | FFBBBFBRRL 329 | FFBBBBFLLR 330 | BFBFFFBLLR 331 | FFFFBFFRLR 332 | BFBBFFBRLL 333 | FFBBBBBLLL 334 | FBBFBFFRRR 335 | BFFFFFFLLR 336 | FFBBBBBLRR 337 | FFFFFBFRRR 338 | BFFFBBBLLL 339 | BFFFBFFRRR 340 | FFBBBFBRLR 341 | BFFBBBBLRR 342 | BFBBBFFRRL 343 | BFBFBFFRRR 344 | BFBBFBBRLR 345 | BFBBBBFRLL 346 | FFBBBBFLLL 347 | FFFBBFBLRR 348 | FBBFBBFRLR 349 | BBFBBFFLRR 350 | FBBFBBBRRL 351 | BFFBFFFRRL 352 | BFFFFBFLRR 353 | FFBFBBFLLL 354 | FFBFBBBLLL 355 | FBFFBFBRRR 356 | FFFBFFBRLL 357 | BFFFFBFLRL 358 | FFFFBFFLLR 359 | BBFBBBBRLL 360 | FBFBBFBRRR 361 | BFFFBBBLRR 362 | FBFFFBFRLL 363 | FFBBBFBLRL 364 | FBFFFBBLRR 365 | FFBBFBFRLR 366 | FBBBBBFLRL 367 | FFFFBFBLRR 368 | BFBFBFBLRR 369 | FFBBFFFLRL 370 | BFFBBBFLLR 371 | FFFFFFBRLR 372 | FFBBBFBLRR 373 | FBFBBFFRLL 374 | BBFBFBFRLR 375 | FBBFFFFLLL 376 | BFBBFBFRRR 377 | BFFBBBFRRR 378 | FBFFFBFLRR 379 | FBBFFBFLRL 380 | BFBBFFFLRR 381 | FFBFFFFLRL 382 | BFFBFFBLLL 383 | FFFBFBBRRR 384 | BBFFBFFLRR 385 | BBBFFFFRRL 386 | FBBBFFBLRL 387 | FBBFFBBLRR 388 | FFBFBFFLLR 389 | FFFBBFFRLR 390 | FBBBFBBRLR 391 | FFFFBBBLRR 392 | BBFFBFBRRR 393 | FBFBBFFLRL 394 | FBBBBFFLLL 395 | FFBFFBBRLR 396 | BBFFFFFLRR 397 | FFBFBFBRLR 398 | FFBFBFBLRL 399 | FBBBFBBLRL 400 | FFFBFBBLRL 401 | FBFBFFFRRR 402 | BFFBFFFRLR 403 | BFBBFFBLLR 404 | BFBFFBFRLL 405 | FBFBFBFRRR 406 | FBFFFFBRLL 407 | FFFFFBBRRR 408 | FBBBFFFLRL 409 | FFFBFFBRLR 410 | BFBFFBFLRR 411 | FBBFBBFRRL 412 | BFBBBBFRRR 413 | BFFFFBBLRR 414 | FBFFFFFLLL 415 | BFBFFFBRRL 416 | FFFBFFBLRL 417 | FFBFFFBLRR 418 | FBBFFBFRLL 419 | BBFBFFBLLL 420 | BBFFBBFLLL 421 | FFBBBFFRLL 422 | BFBBFFFLRL 423 | FBBFBFFLLR 424 | FBFBFFBLLL 425 | FFBBBFFLLR 426 | FBBFFBFLRR 427 | FBBFBBFRRR 428 | BFFFFBBLLL 429 | FFFBFFBLLR 430 | FBFBFFFRLR 431 | FBFBFBBRRR 432 | FBFBBFBRRL 433 | BBFBBFBRRR 434 | FFFFBBBRLL 435 | FBFFBBBLRL 436 | BBBFFFFRLL 437 | FBFFFBFLRL 438 | BFFFFBFLLR 439 | FBFBBFFRRL 440 | BFFBFBBLRR 441 | FBFBBBBRRL 442 | FBFBFBBLLR 443 | FBFFBBFLRR 444 | FFFFBFFLLL 445 | BFBFFFFRRR 446 | BBFFBBBLRR 447 | FBFFFFFLLR 448 | BBFBFFFRLR 449 | BFFFFBBRLR 450 | FBFFFFFLRL 451 | FBBBFBBLRR 452 | BFFBBFBLLL 453 | BFFBFBBLRL 454 | BFFBBBFRLL 455 | FFBFFBFRRR 456 | BFBFBFBRLL 457 | BBFBBFBLLR 458 | FBFBBFBLRL 459 | FBFFFBBRLR 460 | BBFBFFBRLL 461 | BBFFFBFRLR 462 | FBBFFFBLLL 463 | BBFBBBBLLL 464 | BFFFFFFLRR 465 | FBBBBBFRLL 466 | BFFFBFBRRR 467 | BFFFFFFLRL 468 | FBBBBFBLRR 469 | FBFFBBBRLR 470 | FFBBFBFRRL 471 | FFBBFBBRRL 472 | FFFBFBFRRR 473 | FFBBBBFLRL 474 | BFBBFFFRRR 475 | FBFBBBBRLL 476 | FBFFBBFRLL 477 | FFBFFFFRRR 478 | BFFFFBBLLR 479 | FBFBBFBLLR 480 | BBFFBBBRRR 481 | FBBFBBBRLR 482 | BFBFBFFRLL 483 | BFFBBFBLRL 484 | BFFBFFFRRR 485 | FFBBBFBRLL 486 | FBFFBFFRRL 487 | FBBBBFFRRR 488 | FFFBBBFRLL 489 | BBFFFBBRLL 490 | BBFFFBBRLR 491 | FFBBFFFRRL 492 | BBFFBFBLRR 493 | BBFBFFBRRR 494 | BFBBBBBLRR 495 | BFFBBFFLRL 496 | BBFFFFBLLL 497 | FFFFBFBRRL 498 | FBBFFBBRRR 499 | FBBBFFFLRR 500 | FBBFBBFLRR 501 | FBBBFBBLLL 502 | FFFFBBFLRL 503 | FFFFFBBLLL 504 | BFBBBBBLLR 505 | BFBFFFFLRR 506 | FBFFFFBLLR 507 | BBFFBBBRLL 508 | FBFFBFFRRR 509 | FFBBFBFLLR 510 | BBFBBBFLRR 511 | FBBBBBBRLL 512 | FFFFFFBLLR 513 | FFFFFBFRLR 514 | FBFFBFBRLL 515 | BBFFBFFRRR 516 | BFFBFFFLLR 517 | FFBBFBBLRR 518 | BBFFBBBRLR 519 | FFBBFFBRRL 520 | FBBBBFFRRL 521 | BFBFFFFRLR 522 | BFBBBFBLLL 523 | BFBFFFBRRR 524 | FBBBFFFRLR 525 | BFBBFFBLRR 526 | BBFBBFFRLR 527 | BBFFFBBRRR 528 | FFFFBBBRRL 529 | FFBFBBFRLL 530 | FBFFFFBRRL 531 | FBBBFFBRLR 532 | FFBFFFBRRR 533 | FBBBBBBLLL 534 | BFFBFFBLRL 535 | FBFFBBBRLL 536 | BBFBBBFRLR 537 | BFBFBFBRLR 538 | BBFFFFBRLL 539 | FFBBFBBLLR 540 | FFBBFFBRLR 541 | BBFBBBBRLR 542 | BFBBBFBLLR 543 | FFFFBFFRRR 544 | BBFFFBFRRL 545 | FBBFBBBLLL 546 | FFFBFFFLRL 547 | BFFFFBBRRR 548 | FFFBFBFLRL 549 | BBFFBBFRRR 550 | FBBFFFFLRR 551 | FFFBBBFLRL 552 | BFFBBBFLLL 553 | BFBBFFBLLL 554 | FFFFFFBLRL 555 | FBFFBFFLLL 556 | FBBBBBBRRR 557 | FBBFFBBRLR 558 | BFFFBBBLLR 559 | BBFBBBBRRR 560 | BFBFBFFLLR 561 | BFBFFBFRLR 562 | FBBBFFFRRR 563 | FFBFBBFRLR 564 | FFFFFBFRLL 565 | FFBFBBBRRR 566 | BFBFFBBLLL 567 | FBBBBBFRLR 568 | FFBBFBBLLL 569 | BFBFFBBLRL 570 | FBBFBFBRRL 571 | BFFBBBBRRL 572 | FBBFFFBLRL 573 | FBBFBFBLLR 574 | FBBFBBBLRR 575 | BFBBBFBRRL 576 | FBBBFBFLLL 577 | BFFFBFFLLR 578 | FBBBFBFLRR 579 | FFBFFBBLRL 580 | BBFBBBBLLR 581 | BFFFBFFLLL 582 | FBFFFFFLRR 583 | BBFBFBBLRL 584 | BFBFBBFRRL 585 | FBFBFFBLRR 586 | BFFFFFFRRL 587 | BFFFFBFRLR 588 | BFBBFBBRLL 589 | BBFFFFFRLL 590 | FFBBFFFLLR 591 | FFFBFFFLRR 592 | FFFBFFBRRR 593 | BBFBFFBLLR 594 | BFFBFFFRLL 595 | FBFBFFBRRL 596 | BFBBBFFLLL 597 | BBFFBFBLRL 598 | FBFBBFFLRR 599 | FBBFBBBRRR 600 | FFFBBFBRLL 601 | FBBFBFBRRR 602 | BFFFBBFLLL 603 | FBBBFFBLRR 604 | BFBFFBBRRR 605 | FFFFFFBRLL 606 | BBFFFBFLRL 607 | BFBFBFBRRR 608 | BFFFBBFRLR 609 | BFBFFFBLRR 610 | FFFBFFBRRL 611 | BBFFFBBRRL 612 | BFBBBFBRLL 613 | BFBFFFBLRL 614 | FFFBFFFLLR 615 | BFFBFFFLRL 616 | BBFBBFBLRR 617 | FBBBFBBRRL 618 | FBBFBFFRLR 619 | FBFFFFFRLR 620 | FBBBBFFRLR 621 | BFBFBBFRLL 622 | BBFBFBFRRR 623 | BFBFBFBRRL 624 | FBBBBBBRLR 625 | BFBFBBFLLR 626 | BFFFBBFRRL 627 | BBBFFFFRLR 628 | BBBFFFBLLR 629 | FBFBBBFLRR 630 | FBFFFBBLRL 631 | FBFFBBBLLR 632 | BFBFBBFLRR 633 | BFBBFBBLRL 634 | BFFFFFBRRL 635 | FFBBFFFRLR 636 | BFFBBFFRLR 637 | BFBFBFBLRL 638 | BFFBFBFRLR 639 | FFBBFFBRRR 640 | BFBBBBBLLL 641 | BBFFFFFRRL 642 | BBFFFFFLRL 643 | FFFBBFFLRL 644 | BFBBFBFRLL 645 | FFFBBBBLLL 646 | FFFFFBFLRL 647 | FFFFBBFLRR 648 | FBFFFBFRRR 649 | BFFBBBBLLL 650 | BBFBBFFRRL 651 | BFFFBBFLLR 652 | FBBBFFFLLL 653 | FFBFFBBRRL 654 | BFBBBFBLRR 655 | BFFBBBFLRL 656 | BFBBBBBRLL 657 | FFFBBBFRLR 658 | FFFFBFFRRL 659 | FFBFBFFLLL 660 | BBFBFFFLRL 661 | BFFFBBFLRR 662 | FFFBFBFRLL 663 | BFBFFBBLRR 664 | FFFBFBBLLR 665 | BBFFFFFRLR 666 | FFBFBFFRRL 667 | FFFFFBBLRL 668 | FBBBFBFRRL 669 | FBBBBFBLLL 670 | FFFFBBBRLR 671 | FBBBBFFLRL 672 | BFBBBBBRRL 673 | BBFFBFBLLR 674 | FBFBFFFLRL 675 | FBFFFBFRRL 676 | FFFBBFBLRL 677 | BFFFFFBLLL 678 | BFFBFBFLLL 679 | FFFFBBFRRL 680 | FFFBFBBRLR 681 | FBFBBBBRRR 682 | FBFFBBBLLL 683 | FFBBBBFRRR 684 | BFFFFBFRLL 685 | BBFBFBBRLR 686 | BFFBBBFLRR 687 | FBBFBFFRRL 688 | FFFFFBFLLL 689 | BBFBFBFLRR 690 | FFBFBBFLRL 691 | BFFBBFBRLR 692 | FFBBBFFRLR 693 | FFFBBFBRLR 694 | FBFBBBBLLR 695 | BFFBBBBLLR 696 | BBFBFBFLRL 697 | BBFFFFFRRR 698 | FFFBFFFRRL 699 | FBBFFBFRRR 700 | BBFFBFFRLL 701 | FFBBFBFRLL 702 | FFFFBFBLLR 703 | BBFFBBFRLL 704 | BFBBBBFLRL 705 | FBFFBFFRLR 706 | BFBFBBFLLL 707 | FFFFBBFLLL 708 | BFBBBBBLRL 709 | FFBFBFBLRR 710 | BFFFFFBRRR 711 | FBFBBBBLRL 712 | FBBFBBFLLR 713 | FBBFFFFRRL 714 | FBFFFBFLLL 715 | FBFFBBBRRL 716 | FFBFFFFRLR 717 | FBBFBBBRLL 718 | FFFFBFBRLR 719 | FFBFBBBRRL 720 | BFFBFBFRRL 721 | FFBFFBFLLL 722 | BFFBFBFLRR 723 | BBFBFFBLRL 724 | BBFFBFFLLR 725 | BFBBBBFLLL 726 | BBFBBFFRRR 727 | BBFFFBBLRR 728 | BFBFFBFRRL 729 | FBBFBFBLRR 730 | BBFBBBFRRR 731 | FFFBBFBLLR 732 | FFFBFFFLLL 733 | FBBBFBFLLR 734 | BFBBFBFLLL 735 | BFBFBFBLLL 736 | BBFFBBFLRR 737 | FFFBFBFLRR 738 | BFFFFFFRLR 739 | BBFBFBBRRR 740 | BBFFFBFRLL 741 | FFFFBBFRLL 742 | FBBFBBFRLL 743 | FBFFFFBRRR 744 | FBFFBBFLLR 745 | BFFBFFBLLR 746 | FFBFFBFLRR 747 | FBFFBFBRLR 748 | FBFBBFFLLL 749 | FBBFFFBRRL 750 | FBFBFBFRRL 751 | FFBFBFBRRR 752 | FBFBFBFLRL 753 | FFFBFBBRLL 754 | FBBBFFFLLR 755 | FFBBBBFRLL 756 | FBFFFBBRLL 757 | BFFBFFBLRR 758 | FBBFBBFLRL 759 | FBFFFBBRRR 760 | FBFFFBBLLR 761 | BFFBFFBRRR 762 | FBBBFBFRRR 763 | FBFFFFFRLL 764 | BBFBBBFRLL 765 | FFFBFFBLLL 766 | FFBFFFFLRR 767 | FBFFFBBRRL 768 | BBFFBFFRLR 769 | FBFBFBBLLL 770 | FBBBBBBLLR 771 | FBFBBFBLLL 772 | BBFBFFFLRR 773 | BFFFFBBRRL 774 | BBFFFBFLRR 775 | FFBFFFBRLL 776 | FFFFBBBLRL 777 | BFBBBFFRLL 778 | BBFBFFFRLL 779 | FBFBBBBLLL 780 | BBFBBFBRLR 781 | BBFFBFBRLR 782 | BFBFFFFLRL 783 | FBBBFBFRLR 784 | FFBFFFBRLR 785 | FBBBBBFLLR 786 | FFBBBFBLLR 787 | BFFBBFBRRL 788 | BBFFBFFRRL 789 | FFFFFFBRRR 790 | FFBBFBBRRR 791 | FBBBBBBRRL 792 | BFFBBFFRRL 793 | FBBFBFBRLR 794 | FBBFFFFRLL 795 | FBBBBBFLLL 796 | FBBFFFBRRR 797 | BFFFFBBLRL 798 | FFFFBFBLLL 799 | FBFBFFFLLL 800 | FBFBBFBLRR 801 | FFFFBFFLRR 802 | FFFBBBFLRR 803 | FBFFBFFLLR 804 | BBFFBFFLLL 805 | FFBFFBFRRL 806 | BFBBFBBRRR 807 | BBFFFBFLLL 808 | FBFFBFBLLL 809 | BFFBFFBRRL 810 | BBFBFFBLRR 811 | FBFBFFFLRR 812 | BFBBFBBLLR 813 | BFFBBFFRRR 814 | FFFFFFBRRL 815 | BBBFFFFLLR 816 | BFBFFBFLLL 817 | FBBBBBFRRL 818 | BFFBBBBRLR 819 | FFBBFBFLRL 820 | FBFBFFBLRL 821 | FFBBBBFRLR 822 | BBFBBFBRRL 823 | FFFFFBFLLR 824 | FBFBFBFLLL 825 | BFBFBFBLLR 826 | FFFBFFFRLL 827 | BFFBBFBLLR 828 | FFBBFBBRLL 829 | FFFBBFBRRL 830 | FBBFFBBLLL 831 | FFFBBBBRLR 832 | FFFBBFBRRR 833 | BBFFBBBRRL 834 | FBBFBFFLRL 835 | FBBBBBFLRR 836 | BBFBFFBRRL 837 | FFFBFBFLLL 838 | FBBBFFFRLL 839 | BFFBFBFLLR 840 | FFBBBBBRRL 841 | BFFBBFFLRR 842 | FBBFBFBRLL 843 | BFFFBFFRRL 844 | BBFFFFBLLR 845 | BBFFBBFRLR 846 | BFFFBBFRRR 847 | FBFBBFBRLR 848 | FFFFFBBRLL 849 | FBBFFFBRLL 850 | BFFFFFBRLL 851 | BFFFBFBLRR 852 | BFFBFFBRLR 853 | FFFFBFBLRL 854 | FFBFFBFLLR 855 | FBBFBFFLLL 856 | BFFBFBFRRR 857 | BBFBBBFLRL 858 | BBBFFFFLRR 859 | BFBBFFFLLR 860 | FBBFFFBRLR 861 | FFFFFBFRRL 862 | FFFBFBBRRL 863 | BBBFFFBLRR 864 | FFBFBBFRRL 865 | FFBBFFBLRR 866 | BBFFBBBLLL 867 | BFBFBBBRRL 868 | BFFFBFBRLL 869 | FFBFBBBRLL 870 | FBFBFBFLRR 871 | FBFFFBBLLL 872 | FBBFFBFLLR 873 | BFFFFBFRRL 874 | FFBBBFFRRL 875 | FFBFBFFLRL 876 | BBFBBBFLLR 877 | FBBFFBFRLR 878 | FBBFFBBRLL 879 | BFBFFFBRLR 880 | BFFFBFFRLL 881 | BBFBFBBRLL 882 | BFFFFFFRLL 883 | FBFBBBFRLL 884 | BFBBFBFLRR 885 | BFBFBBBRLL 886 | BBFBBBFRRL 887 | BFFBBFBRRR 888 | BFBFFBFLLR 889 | FBFBFBFLLR 890 | FFFFFBBRRL 891 | FBFBBBFRLR 892 | FBFFBBFLLL 893 | FFBFBFFRLR 894 | BBFBFBBLLL 895 | FFFFBFFLRL 896 | FBBFBBFLLL 897 | BFBFBBFLRL 898 | FFFFBBFLLR 899 | BFBBFBBRRL 900 | FBBBFFBRRL 901 | FBBBBFFRLL 902 | -------------------------------------------------------------------------------- /resources/puzzle_input_09.txt: -------------------------------------------------------------------------------- 1 | 48 2 | 1 3 | 4 4 | 32 5 | 17 6 | 19 7 | 35 8 | 6 9 | 8 10 | 49 11 | 29 12 | 33 13 | 50 14 | 5 15 | 38 16 | 41 17 | 36 18 | 28 19 | 23 20 | 31 21 | 44 22 | 20 23 | 45 24 | 21 25 | 9 26 | 10 27 | 7 28 | 11 29 | 39 30 | 15 31 | 17 32 | 40 33 | 47 34 | 12 35 | 14 36 | 16 37 | 64 38 | 26 39 | 19 40 | 27 41 | 71 42 | 18 43 | 111 44 | 22 45 | 23 46 | 24 47 | 25 48 | 125 49 | 20 50 | 62 51 | 58 52 | 54 53 | 28 54 | 29 55 | 30 56 | 173 57 | 31 58 | 32 59 | 45 60 | 55 61 | 51 62 | 42 63 | 38 64 | 74 65 | 44 66 | 43 67 | 40 68 | 49 69 | 47 70 | 48 71 | 57 72 | 65 73 | 50 74 | 52 75 | 105 76 | 82 77 | 58 78 | 68 79 | 61 80 | 84 81 | 101 82 | 116 83 | 70 84 | 125 85 | 78 86 | 81 87 | 199 88 | 83 89 | 100 90 | 87 91 | 88 92 | 170 93 | 169 94 | 108 95 | 140 96 | 107 97 | 193 98 | 139 99 | 168 100 | 229 101 | 161 102 | 119 103 | 178 104 | 131 105 | 157 106 | 248 107 | 148 108 | 188 109 | 165 110 | 159 111 | 181 112 | 171 113 | 175 114 | 187 115 | 294 116 | 196 117 | 267 118 | 226 119 | 300 120 | 238 121 | 246 122 | 309 123 | 250 124 | 279 125 | 403 126 | 288 127 | 306 128 | 290 129 | 296 130 | 305 131 | 307 132 | 313 133 | 324 134 | 330 135 | 493 136 | 682 137 | 346 138 | 362 139 | 383 140 | 422 141 | 434 142 | 464 143 | 551 144 | 484 145 | 553 146 | 601 147 | 529 148 | 538 149 | 578 150 | 1004 151 | 1311 152 | 643 153 | 707 154 | 603 155 | 612 156 | 747 157 | 735 158 | 654 159 | 846 160 | 708 161 | 796 162 | 768 163 | 847 164 | 805 165 | 856 166 | 898 167 | 948 168 | 1013 169 | 1062 170 | 1207 171 | 2158 172 | 1325 173 | 1380 174 | 1552 175 | 1602 176 | 1503 177 | 1745 178 | 1215 179 | 1257 180 | 1510 181 | 1642 182 | 1582 183 | 2835 184 | 1794 185 | 1476 186 | 1564 187 | 2538 188 | 2438 189 | 1661 190 | 1754 191 | 2328 192 | 2228 193 | 2075 194 | 2464 195 | 2422 196 | 2907 197 | 2472 198 | 2595 199 | 2691 200 | 2817 201 | 2718 202 | 2725 203 | 2839 204 | 3303 205 | 3318 206 | 5045 207 | 3040 208 | 4002 209 | 5782 210 | 9085 211 | 4960 212 | 3415 213 | 3829 214 | 3736 215 | 3982 216 | 4403 217 | 4766 218 | 11803 219 | 4886 220 | 5746 221 | 5067 222 | 5163 223 | 7777 224 | 6461 225 | 9161 226 | 6547 227 | 6043 228 | 5879 229 | 6343 230 | 6358 231 | 6455 232 | 6776 233 | 7151 234 | 7244 235 | 7397 236 | 9049 237 | 7565 238 | 8803 239 | 7718 240 | 8385 241 | 9169 242 | 10645 243 | 13791 244 | 11522 245 | 10230 246 | 15808 247 | 11939 248 | 11922 249 | 12222 250 | 12813 251 | 22567 252 | 13606 253 | 17474 254 | 12701 255 | 19033 256 | 17434 257 | 13927 258 | 16320 259 | 22452 260 | 14962 261 | 19030 262 | 41600 263 | 25859 264 | 22169 265 | 22152 266 | 25489 267 | 20875 268 | 21752 269 | 24735 270 | 22931 271 | 24623 272 | 41199 273 | 30175 274 | 25514 275 | 26307 276 | 26628 277 | 27663 278 | 35350 279 | 28889 280 | 31282 281 | 35679 282 | 30247 283 | 33992 284 | 35837 285 | 57519 286 | 61209 287 | 47658 288 | 42627 289 | 43027 290 | 47666 291 | 48420 292 | 45610 293 | 44683 294 | 47554 295 | 65854 296 | 50137 297 | 66012 298 | 51821 299 | 64726 300 | 69671 301 | 54291 302 | 56552 303 | 59136 304 | 91047 305 | 61529 306 | 110537 307 | 88283 308 | 96086 309 | 78464 310 | 142574 311 | 85654 312 | 87310 313 | 87710 314 | 110336 315 | 90293 316 | 187133 317 | 92237 318 | 94820 319 | 97691 320 | 116547 321 | 178576 322 | 106112 323 | 108373 324 | 131200 325 | 110843 326 | 162664 327 | 205357 328 | 120665 329 | 148839 330 | 177603 331 | 273507 332 | 164118 333 | 422346 334 | 168757 335 | 182130 336 | 288912 337 | 193822 338 | 185113 339 | 356486 340 | 182530 341 | 187057 342 | 205663 343 | 208534 344 | 387793 345 | 216955 346 | 259682 347 | 305778 348 | 219216 349 | 339881 350 | 274961 351 | 269504 352 | 409577 353 | 326328 354 | 312957 355 | 332875 356 | 351287 357 | 471042 358 | 350887 359 | 353870 360 | 457091 361 | 367643 362 | 369587 363 | 427750 364 | 388193 365 | 422618 366 | 578121 367 | 723457 368 | 425489 369 | 529912 370 | 436171 371 | 478898 372 | 757780 373 | 628793 374 | 737230 375 | 544465 376 | 595832 377 | 645832 378 | 639285 379 | 663844 380 | 683762 381 | 935989 382 | 781620 383 | 704757 384 | 918105 385 | 755836 386 | 790261 387 | 792205 388 | 813682 389 | 1032003 390 | 848107 391 | 1089333 392 | 1267922 393 | 1881538 394 | 915069 395 | 980636 396 | 1023363 397 | 1420992 398 | 1140297 399 | 1569518 400 | 1786129 401 | 1235117 402 | 1563937 403 | 1419680 404 | 1347606 405 | 1388519 406 | 1460593 407 | 2213197 408 | 1640312 409 | 1546097 410 | 1736472 411 | 1903015 412 | 1661789 413 | 1763176 414 | 1828743 415 | 3521850 416 | 1895705 417 | 2291285 418 | 2809492 419 | 3184168 420 | 2003999 421 | 2258480 422 | 3043312 423 | 2654797 424 | 3030111 425 | 3874986 426 | 2582723 427 | 3724448 428 | 3673790 429 | 3374840 430 | 3971242 431 | 3197065 432 | 5638162 433 | 4154185 434 | 3207886 435 | 5703729 436 | 5079873 437 | 4872055 438 | 4549765 439 | 4550502 440 | 3899704 441 | 4186990 442 | 4262479 443 | 5779788 444 | 5862683 445 | 7986927 446 | 6929815 447 | 7001353 448 | 5790609 449 | 5612834 450 | 7346082 451 | 6307171 452 | 10188664 453 | 7757651 454 | 6404951 455 | 7096769 456 | 8069120 457 | 7107590 458 | 10125162 459 | 7758388 460 | 8086694 461 | 8162183 462 | 8449469 463 | 8450206 464 | 8737492 465 | 9512538 466 | 9799824 467 | 11403443 468 | 11392622 469 | 11475517 470 | 11920005 471 | 15451559 472 | 12195560 473 | 14528101 474 | 12709603 475 | 12712122 476 | 17782688 477 | 14567134 478 | 19151010 479 | 14474071 480 | 14204359 481 | 22614795 482 | 14865978 483 | 16612389 484 | 15845082 485 | 16248877 486 | 16611652 487 | 16899675 488 | 17187698 489 | 20915981 490 | 19312362 491 | 24113046 492 | 23671077 493 | 22868139 494 | 25679876 495 | 24629608 496 | 25421725 497 | 24905163 498 | 26913962 499 | 28554685 500 | 26916481 501 | 35763399 502 | 43780618 503 | 29340049 504 | 49350953 505 | 33224041 506 | 30711060 507 | 39771141 508 | 32093959 509 | 26796446 510 | 40055837 511 | 67857358 512 | 34087373 513 | 40228343 514 | 43425408 515 | 43941970 516 | 46539216 517 | 48289864 518 | 49534771 519 | 50051333 520 | 58716981 521 | 59265745 522 | 74956496 523 | 70766897 524 | 56256530 525 | 93476741 526 | 56136495 527 | 58890405 528 | 129657302 529 | 62805019 530 | 60020487 531 | 79999484 532 | 60883819 533 | 73335662 534 | 66852283 535 | 74143210 536 | 92977778 537 | 89763114 538 | 94829080 539 | 119874878 540 | 90481186 541 | 96073987 542 | 97824635 543 | 112339790 544 | 118156150 545 | 149613236 546 | 127736102 547 | 115026900 548 | 117020314 549 | 174828564 550 | 119774224 551 | 116156982 552 | 118910892 553 | 153335146 554 | 120904306 555 | 175047387 556 | 183872597 557 | 237067042 558 | 140187945 559 | 191163524 560 | 189170110 561 | 180244300 562 | 184592194 563 | 202820976 564 | 206638168 565 | 186555173 566 | 193898622 567 | 235067874 568 | 227366690 569 | 238685116 570 | 329857536 571 | 232047214 572 | 434868190 573 | 235931206 574 | 428966496 575 | 377868363 576 | 256344927 577 | 376119151 578 | 366210911 579 | 412291514 580 | 320432245 581 | 324060542 582 | 561904750 583 | 324780139 584 | 383068732 585 | 463297896 586 | 364836494 587 | 391230362 588 | 380453795 589 | 523756158 590 | 559848013 591 | 421265312 592 | 462434564 593 | 600767700 594 | 467978420 595 | 556363451 596 | 856133502 597 | 576777172 598 | 492276133 599 | 580405469 600 | 581125066 601 | 622555838 602 | 644492787 603 | 648840681 604 | 1054180883 605 | 645212384 606 | 704514337 607 | 792758559 608 | 689616633 609 | 745290289 610 | 756066856 611 | 1315914869 612 | 771684157 613 | 801719107 614 | 883699876 615 | 1052124146 616 | 889243732 617 | 954710697 618 | 1157131151 619 | 960254553 620 | 1690962839 621 | 1069053305 622 | 1441599240 623 | 1582810391 624 | 1226337450 625 | 1337191922 626 | 1389783076 627 | 1450559788 628 | 1294053065 629 | 1334829017 630 | 1849498285 631 | 1394130970 632 | 1644327330 633 | 1434906922 634 | 2339803520 635 | 2621182442 636 | 1573403264 637 | 3958374364 638 | 1685418983 639 | 2640129680 640 | 1843954429 641 | 3143551350 642 | 2181048147 643 | 2226184456 644 | 2616120526 645 | 2295390755 646 | 2363106370 647 | 3529373412 648 | 4847366898 649 | 3745950543 650 | 2628882082 651 | 2824689998 652 | 3023963052 653 | 2688184035 654 | 2728959987 655 | 5269011762 656 | 4265509772 657 | 4991988452 658 | 4855066538 659 | 3258822247 660 | 6367132985 661 | 3417357693 662 | 3866467130 663 | 3911603439 664 | 4544154517 665 | 4025002576 666 | 5972134999 667 | 4407232603 668 | 4521575211 669 | 7471187064 670 | 6849692574 671 | 5051290405 672 | 7125289377 673 | 5317066117 674 | 5417144022 675 | 9076292981 676 | 5512874033 677 | 10124078300 678 | 7780397458 679 | 6595427117 680 | 8928807814 681 | 6676179940 682 | 8721533668 683 | 11256925177 684 | 7170425686 685 | 7283824823 686 | 7442360269 687 | 7778070569 688 | 11805400034 689 | 8432235179 690 | 8546577787 691 | 10034449244 692 | 11691057426 693 | 9572865616 694 | 13197541480 695 | 10368356522 696 | 10468434427 697 | 10734210139 698 | 15981308460 699 | 10930018055 700 | 12108301150 701 | 12683299719 702 | 18708088624 703 | 13271607057 704 | 30399146050 705 | 14118540209 706 | 13846605626 707 | 17204874930 708 | 14454250509 709 | 14726185092 710 | 20481366303 711 | 21624676195 712 | 16210305748 713 | 16978812966 714 | 19362253234 715 | 20836790949 716 | 19941222138 717 | 21298374577 718 | 20041300043 719 | 21102566661 720 | 23639963579 721 | 26801839928 722 | 24201625112 723 | 27118212683 724 | 23038319205 725 | 30825418592 726 | 32554694250 727 | 27390147266 728 | 27725857566 729 | 35207551395 730 | 27965145835 731 | 37312872409 732 | 29180435601 733 | 30664556257 734 | 44742530240 735 | 33189118714 736 | 53853068827 737 | 35572558982 738 | 36341066200 739 | 56870933559 740 | 39982522181 741 | 44140885866 742 | 43681263622 743 | 50705856300 744 | 61735129851 745 | 46678282784 746 | 58245870600 747 | 47239944317 748 | 50156531888 749 | 87822149488 750 | 55355293101 751 | 55116004832 752 | 63853674971 753 | 99061226366 754 | 110531957755 755 | 57145581436 756 | 59844991858 757 | 90359546406 758 | 70647078438 759 | 68761677696 760 | 80481952066 761 | 104385525753 762 | 71913625182 763 | 126002371539 764 | 131187808366 765 | 83663785803 766 | 90819168650 767 | 132615352667 768 | 105511824989 769 | 127160234850 770 | 119208968072 771 | 108402402488 772 | 115200284959 773 | 110471297933 774 | 120999256407 775 | 112261586268 776 | 123698666829 777 | 134500753409 778 | 237000878420 779 | 171301120716 780 | 116990573294 781 | 130492070296 782 | 201481208473 783 | 161466247088 784 | 140675302878 785 | 252187064773 786 | 155577410985 787 | 162732793832 788 | 174482954453 789 | 189175610792 790 | 198864070762 791 | 196330993639 792 | 213914227477 793 | 215983122922 794 | 218873700421 795 | 220663988756 796 | 222732884201 797 | 357058619458 798 | 227461871227 799 | 395195064401 800 | 286744540721 801 | 398762991943 802 | 247482643590 803 | 334033914548 804 | 257665876172 805 | 271167373174 806 | 293224864128 807 | 302141549966 808 | 354589530355 809 | 354441481747 810 | 344753021777 811 | 570424604669 812 | 337215748285 813 | 363658565245 814 | 470031443936 815 | 410245221116 816 | 415204694060 817 | 434578216233 818 | 509477424922 819 | 439537689177 820 | 626224863170 821 | 450194755428 822 | 485127747399 823 | 474944514817 824 | 518650016764 825 | 505148519762 826 | 528833249346 827 | 549624193556 828 | 550890740300 829 | 559807426138 830 | 564392237302 831 | 656883429373 832 | 639357298251 833 | 1131373382932 834 | 904065675303 835 | 1069540757064 836 | 773903786361 837 | 778863259305 838 | 798236781478 839 | 825449915176 840 | 849782910293 841 | 854742383237 842 | 1629348183202 843 | 984421939739 844 | 889732444605 845 | 955343275190 846 | 925139270245 847 | 1003777764163 848 | 980093034579 849 | 1023798536526 850 | 1054772713318 851 | 1078457442902 852 | 1100514933856 853 | 1110698166438 854 | 1874154384344 855 | 1296240727624 856 | 1413261084612 857 | 2396755661480 858 | 1552767045666 859 | 1572140567839 860 | 1577100040783 861 | 1933199826139 862 | 1810085658427 863 | 1715182359781 864 | 1675232825469 865 | 1704525293530 866 | 1744474827842 867 | 1814871714850 868 | 1845075719795 869 | 1869825479184 870 | 1880482545435 871 | 1928917034408 872 | 2913292860718 873 | 2034865747897 874 | 3803071418752 875 | 3585007838965 876 | 2178972376758 877 | 2974669318200 878 | 2406938894062 879 | 2709501812236 880 | 2868381295463 881 | 2966028130278 882 | 3124907613505 883 | 3252332866252 884 | 3459657187623 885 | 3714901198979 886 | 3879941467692 887 | 3379758118999 888 | 3390415185250 889 | 3419707653311 890 | 3559346542692 891 | 3963782782305 892 | 3725558265230 893 | 4585911270820 894 | 3750308024619 895 | 3809399579843 896 | 5594212290589 897 | 7773184667347 898 | 4213838124655 899 | 4888474188994 900 | 5153641694958 901 | 5047353672221 902 | 5116440706298 903 | 7115973450480 904 | 6345786249277 905 | 5993288908968 906 | 6934307193348 907 | 6504665732504 908 | 6632090985251 909 | 6799465772310 910 | 8606700214913 911 | 6810122838561 912 | 6770173304249 913 | 8903949719577 914 | 11822781382342 915 | 7284904807922 916 | 7475866289849 917 | 7559707604462 918 | 8963041274801 919 | 11523492691966 920 | 12332258480143 921 | 9102312313649 922 | 9261191796876 923 | 9330278830953 924 | 10042115883952 925 | 11040642581189 926 | 15606978046153 927 | 11109729615266 928 | 12339075158245 929 | 12497954641472 930 | 18622247154652 931 | 13136756717755 932 | 13274839036753 933 | 13431556757561 934 | 16247946082723 935 | 14095027646483 936 | 13580296142810 937 | 20991264362023 938 | 14760771097771 939 | 22891882854075 940 | 14844612412384 941 | 15035573894311 942 | 22397948514631 943 | 28341067240581 944 | 24837029799717 945 | 18363504110525 946 | 28192327855332 947 | 20370921412142 948 | 19372394714905 949 | 21082758465141 950 | 30367749143924 951 | 23448804773511 952 | 23607684256738 953 | 25475831876000 954 | 25772793678225 955 | 29130601540794 956 | 28424908555194 957 | 26706395794314 958 | 27011852900371 959 | 27675323789293 960 | 28615870037121 961 | 29605383510155 962 | 29796344992082 963 | 29880186306695 964 | 33208116522909 965 | 47988264752026 966 | 35406495306453 967 | 37735898825430 968 | 38734425522667 969 | 58980910201134 970 | 39446262575666 971 | 40455153180046 972 | 39743316127047 973 | 42821199488416 974 | 57040778592315 975 | 47056489030249 976 | 88111511741928 977 | 51283008046031 978 | 51248625554225 979 | 64022365343574 980 | 80557098313846 981 | 64442294619744 982 | 53718248694685 983 | 54687176689664 984 | 56291193826414 985 | 67616085132125 986 | 63088302829604 987 | 59676531298777 988 | 68614611829362 989 | 70944015348339 990 | 77182161401096 991 | 73142394131883 992 | 134222939993411 993 | 78180688098333 994 | 79189578702713 995 | 79901415755712 996 | 96746347006460 997 | 82564515615463 998 | 89877688518665 999 | 98305114584474 1000 | 103347682856663 1001 | -------------------------------------------------------------------------------- /resources/puzzle_input_14.txt: -------------------------------------------------------------------------------- 1 | mask = 011011X11X11100101XX0XX0100100000X0X 2 | mem[48514] = 171994 3 | mem[14856] = 472531 4 | mem[57899] = 15860 5 | mem[41284] = 37917047 6 | mem[8885] = 893069967 7 | mem[28070] = 861473 8 | mask = X1X0111010X011100101001XX1XX111X0X01 9 | mem[6533] = 1380 10 | mem[24785] = 232003103 11 | mem[39561] = 1813 12 | mem[56060] = 528844 13 | mem[12033] = 500106 14 | mem[42461] = 942 15 | mask = 011011X1110110X10100X0110100101X0111 16 | mem[46150] = 77769198 17 | mem[60284] = 46877 18 | mem[4481] = 183608702 19 | mask = 0110XX1X1011100001011011101101X00X10 20 | mem[47778] = 1178 21 | mem[42379] = 172491 22 | mem[15511] = 1222721 23 | mem[4075] = 217763 24 | mem[32558] = 19885622 25 | mem[25250] = 115297285 26 | mem[27860] = 60067719 27 | mask = 1000111110010X010110X00011XX100X101X 28 | mem[28879] = 189 29 | mem[3771] = 24901 30 | mask = 0100X1X01000X010010X1100X0000XX10000 31 | mem[23632] = 214093440 32 | mem[47233] = 687338 33 | mem[32851] = 231174 34 | mem[46003] = 880 35 | mem[7602] = 1426802 36 | mem[3972] = 3699 37 | mem[47289] = 505 38 | mask = 1010X11X0X1111X0010X011110001X0001X1 39 | mem[16569] = 890 40 | mem[25825] = 1428 41 | mem[27069] = 13487330 42 | mem[33550] = 107116 43 | mem[12019] = 3555561 44 | mem[21184] = 11990176 45 | mask = 0X01111XX00010110X1000001000011X0X10 46 | mem[49300] = 12900 47 | mem[53132] = 123292 48 | mem[63244] = 582487 49 | mem[52057] = 929 50 | mem[42271] = 98646760 51 | mask = 10XXX1100011111X010XX01X001011X0X100 52 | mem[43262] = 390101067 53 | mem[28758] = 32028424 54 | mem[22541] = 96680068 55 | mem[30470] = 233464 56 | mem[18764] = 17922474 57 | mem[19462] = 296723 58 | mem[34195] = 851682798 59 | mask = 0110111111X1X101XX0XX1010100X0111X00 60 | mem[8788] = 521182008 61 | mem[25073] = 7981 62 | mem[8110] = 308146 63 | mask = 001XXX1111X11X01010X10X0101000X100X1 64 | mem[7308] = 37647646 65 | mem[43917] = 584 66 | mem[49039] = 3001 67 | mask = 011011111X11100100010XX0111010X11XX1 68 | mem[46367] = 3760 69 | mem[5838] = 34060 70 | mem[2562] = 42993 71 | mem[19515] = 399422 72 | mask = 110X11XX10X0111001010X10X10100100X0X 73 | mem[7824] = 4935 74 | mem[6652] = 17582 75 | mem[49318] = 493060 76 | mem[40284] = 2911890 77 | mem[1253] = 686855900 78 | mask = 0110111X10X0X010X1010110000001000101 79 | mem[26944] = 10068 80 | mem[29880] = 247865605 81 | mem[344] = 156732 82 | mask = X1011XX110XX1011011X0000100X00X00X01 83 | mem[50829] = 6328666 84 | mem[20580] = 8003627 85 | mask = 0110X111101X10010001X11X111X1XX0011X 86 | mem[48514] = 8724 87 | mem[33478] = 110880653 88 | mem[54663] = 25789957 89 | mem[53612] = 71101282 90 | mem[46367] = 126912123 91 | mask = 01001110X010XXX0010X110X1X011X011100 92 | mem[5838] = 12870 93 | mem[18000] = 343015514 94 | mem[30685] = 55589406 95 | mem[44228] = 713306 96 | mem[1129] = 2762 97 | mem[34841] = 6885536 98 | mask = 01XX11111X11100X0101011100110110X1X1 99 | mem[35325] = 2451588 100 | mem[31617] = 67673 101 | mask = 101XX1100011X1X1X10101000010100XX1XX 102 | mem[33227] = 662 103 | mem[60653] = 521655 104 | mem[55844] = 46270031 105 | mem[37599] = 32726936 106 | mem[63520] = 18164611 107 | mem[3689] = 452537 108 | mem[44086] = 24181515 109 | mask = 0X10111111111XX1000100110001X0011011 110 | mem[25207] = 1213525 111 | mem[14189] = 1233337 112 | mem[59908] = 87089062 113 | mask = 0100X11000000XXXX101100100001111010X 114 | mem[16846] = 61505 115 | mem[7712] = 27563 116 | mem[41284] = 13329774 117 | mem[30856] = 1484896 118 | mask = 01101111X01110010X00000010X0100101XX 119 | mem[38419] = 321893614 120 | mem[14991] = 51456983 121 | mem[12381] = 57826 122 | mem[6559] = 114401 123 | mem[2864] = 80801276 124 | mem[16086] = 174346439 125 | mask = 011X11111X11100XX11XX10XX000X0000100 126 | mem[37599] = 95947 127 | mem[49472] = 150514 128 | mem[19408] = 341051 129 | mask = 0X0XX1100X100XX0010110110X011X010000 130 | mem[23977] = 16579 131 | mem[59997] = 941864 132 | mem[46934] = 32577 133 | mem[29822] = 1906 134 | mask = 0110XX1111X10101X000110101X1XX1010X0 135 | mem[8825] = 2107 136 | mem[53484] = 26041 137 | mem[57401] = 28913 138 | mem[50959] = 330871 139 | mem[22159] = 1625 140 | mask = 011011X110101001010X11X11X0011001100 141 | mem[48514] = 3042292 142 | mem[18415] = 876307 143 | mem[7194] = 232258902 144 | mem[4581] = 56114 145 | mem[11877] = 445 146 | mem[1227] = 436429769 147 | mem[28519] = 2502 148 | mask = 110011X01010111001011100110111X0X00X 149 | mem[13525] = 640526 150 | mem[58369] = 3878 151 | mem[3123] = 109762 152 | mem[57150] = 883 153 | mask = XX101X11X0111X100101110X000X1X000100 154 | mem[48545] = 10028639 155 | mem[4397] = 654562946 156 | mem[36544] = 7101042 157 | mem[27462] = 120407321 158 | mem[35972] = 86486570 159 | mem[23334] = 225173647 160 | mem[17107] = 4359965 161 | mask = 1010X11X0011111XX1010XX0000110XX0111 162 | mem[33553] = 344335201 163 | mem[41851] = 113543 164 | mem[16654] = 7332484 165 | mem[18000] = 1915 166 | mem[31418] = 20761 167 | mem[1980] = 580610 168 | mask = 01101111101X10XX0101X1X01X01010001XX 169 | mem[43269] = 388009 170 | mem[65494] = 36864500 171 | mem[63660] = 216949 172 | mem[55979] = 901 173 | mem[37686] = 3393 174 | mem[16832] = 3665984 175 | mask = 011010X01011100101010001X10110101XX0 176 | mem[19693] = 2734 177 | mem[15050] = 29935891 178 | mem[59843] = 3476 179 | mem[34594] = 1337 180 | mem[60135] = 158299 181 | mask = 10010X10001111110XX00000000011010X10 182 | mem[39033] = 1485856 183 | mem[57990] = 120301614 184 | mem[29466] = 347 185 | mem[2562] = 1116746 186 | mem[31269] = 679154748 187 | mem[10752] = 835 188 | mask = 01X011111011X0010110010X00001X000100 189 | mem[38175] = 760 190 | mem[34594] = 7691201 191 | mem[38984] = 227760084 192 | mem[3650] = 6498 193 | mem[260] = 112361 194 | mem[5040] = 979847 195 | mask = 01X0111X10X01X1001011XXX01110101X100 196 | mem[5390] = 63658321 197 | mem[52420] = 557 198 | mem[9939] = 92796 199 | mask = 01100X1111XX0101X00011X00X01X0X1000X 200 | mem[60205] = 1488 201 | mem[10924] = 18281380 202 | mem[13336] = 200 203 | mask = 0X1X11111011XX10X1X1011X100101000000 204 | mem[19718] = 521 205 | mem[4798] = 300476366 206 | mask = 1111XX11X00X1010101101110XX01001XX1X 207 | mem[28625] = 8177051 208 | mem[35213] = 914 209 | mem[65242] = 332764 210 | mem[35563] = 130774262 211 | mem[4034] = 363737 212 | mask = 0110X111X111100101X001000XX10100X1X1 213 | mem[7824] = 539173 214 | mem[36011] = 163100 215 | mem[52206] = 110594 216 | mem[983] = 237912225 217 | mem[26994] = 784662 218 | mem[34816] = 93802160 219 | mask = X1X0111X110X11X100X111XX01011000X001 220 | mem[29172] = 66977843 221 | mem[55868] = 1897 222 | mem[19060] = 474919751 223 | mem[23999] = 57559255 224 | mask = 01X01X110011101001010XX0110011100001 225 | mem[31459] = 4058 226 | mem[34825] = 1531 227 | mem[43468] = 101677177 228 | mask = XX1011111111100101010X011011000X0101 229 | mem[28830] = 26727442 230 | mem[56639] = 306662 231 | mem[22541] = 366 232 | mem[9939] = 114136 233 | mem[45799] = 6016189 234 | mask = 01101X1X1X111X0101X101110001111X1001 235 | mem[62665] = 3741 236 | mem[26248] = 832 237 | mem[59941] = 7106115 238 | mem[48514] = 5410501 239 | mask = 1110101110XX10100101001010X1XX00X000 240 | mem[50118] = 28281728 241 | mem[43269] = 2006 242 | mem[44016] = 62408018 243 | mem[46266] = 3679968 244 | mem[31427] = 22292 245 | mem[21873] = 271500992 246 | mask = 011011101X10XX1X010X0010000010110001 247 | mem[1227] = 16678198 248 | mem[14471] = 240 249 | mem[9440] = 9500918 250 | mask = 01001X1111X111X100X111X011001001X001 251 | mem[39839] = 7609 252 | mem[57408] = 21285280 253 | mem[40010] = 611 254 | mem[17107] = 1663 255 | mem[949] = 1225188 256 | mask = X10X11111X0XX01001011100001101011X10 257 | mem[44502] = 27008174 258 | mem[42344] = 210356 259 | mem[51532] = 39439 260 | mem[60265] = 744132593 261 | mem[54292] = 1045108 262 | mask = 011011111010100100X101111111XX0001XX 263 | mem[14524] = 86376702 264 | mem[27033] = 4342 265 | mem[18605] = 195606087 266 | mem[54269] = 235274317 267 | mem[7148] = 6140886 268 | mem[63870] = 32336035 269 | mask = 01101111X1X111010X01XX0X000101111001 270 | mem[9939] = 23277 271 | mem[50943] = 1670 272 | mem[62142] = 54464407 273 | mem[29816] = 428438 274 | mask = 011X11111X011001XX000010010011010001 275 | mem[1137] = 135929485 276 | mem[48709] = 3800 277 | mem[47630] = 6819 278 | mem[6593] = 1283542 279 | mask = 01X11111101X10X10110010X100X0XX00000 280 | mem[24287] = 10041254 281 | mem[39892] = 1155 282 | mem[45799] = 1030972709 283 | mem[22629] = 3655 284 | mem[63738] = 443 285 | mask = 000X110X1X111XX1011000001110100111X1 286 | mem[28473] = 419093797 287 | mem[7685] = 24946 288 | mem[52504] = 251318243 289 | mem[17060] = 57555896 290 | mem[28696] = 12341170 291 | mem[49318] = 949958 292 | mem[39190] = 231228961 293 | mask = 01101111101X10X10X01011110110X10XX00 294 | mem[19317] = 468 295 | mem[3496] = 1317107 296 | mem[51159] = 896267 297 | mem[63660] = 1269 298 | mem[50574] = 2996 299 | mem[8788] = 393527 300 | mask = X10X111X11011XX101001X1000010100010X 301 | mem[57600] = 224172 302 | mem[14189] = 10083658 303 | mem[6284] = 1317 304 | mask = 11101110XX011101X011110001011111110X 305 | mem[12189] = 6616 306 | mem[24162] = 709192388 307 | mem[31228] = 6509 308 | mask = 011011111X0X110X11011X01000001X10100 309 | mem[33478] = 1127 310 | mem[63196] = 6450 311 | mem[16436] = 627 312 | mask = 010X111XX01X10000X0X01100X111XX10100 313 | mem[46367] = 189488269 314 | mem[1301] = 1017 315 | mem[43933] = 162592 316 | mask = 01101X10100011XX01011X1001011101XXX0 317 | mem[58253] = 800107 318 | mem[14189] = 72287 319 | mem[36544] = 809 320 | mem[43371] = 3936 321 | mask = 01111X11X000X1101101011X1010XX11XX1X 322 | mem[47353] = 8616152 323 | mem[9948] = 31037 324 | mem[27614] = 17552 325 | mem[62591] = 501508 326 | mem[15050] = 53941715 327 | mem[18894] = 924503418 328 | mask = 011011111X10100001010XX11000010X0010 329 | mem[32492] = 603917 330 | mem[65494] = 688410 331 | mem[41842] = 751 332 | mem[21438] = 213904 333 | mem[23428] = 1774 334 | mem[48864] = 3249982 335 | mask = 111011111100110X0011X11X0X01X00100X1 336 | mem[24518] = 1481 337 | mem[63545] = 7584 338 | mem[25370] = 25652 339 | mem[11303] = 122010 340 | mem[59025] = 12111122 341 | mem[58468] = 55369 342 | mask = 0010X111X1X110010XX00X1X1000100X0001 343 | mem[38078] = 73471887 344 | mem[20036] = 13474 345 | mem[14857] = 285672 346 | mem[45702] = 83750236 347 | mem[1227] = 1667 348 | mem[5530] = 917 349 | mask = 10X111X00011X101X10011000X00X100001X 350 | mem[7387] = 37192874 351 | mem[8320] = 3746 352 | mem[18075] = 49816 353 | mask = 0X10111111X11X01010XXX0011XX10111001 354 | mem[21446] = 18734 355 | mem[10252] = 59995 356 | mem[11187] = 160281117 357 | mem[13384] = 3291126 358 | mem[29879] = 1456911 359 | mem[29103] = 2899 360 | mask = 01111111111110X11XX01000X01101X10100 361 | mem[18752] = 3410 362 | mem[14785] = 4622 363 | mem[42271] = 290433558 364 | mask = 011X1111101X10011X1101X0100100000000 365 | mem[28307] = 1304 366 | mem[6468] = 59195584 367 | mem[29675] = 843812846 368 | mem[54269] = 2583 369 | mem[26994] = 1628 370 | mem[63967] = 457554 371 | mask = 011X1X1110X01X10X1X11101101XX1X10001 372 | mem[983] = 63290 373 | mem[27054] = 470821 374 | mem[46855] = 321029 375 | mem[16757] = 51448998 376 | mem[48854] = 209794474 377 | mask = 010011X000111000000111101011X011XXXX 378 | mem[47321] = 334676 379 | mem[16953] = 49237 380 | mem[52408] = 73 381 | mem[2885] = 53921929 382 | mask = 01111X1X1X0001XX11011111X1000X1X011X 383 | mem[37442] = 6724028 384 | mem[16975] = 403 385 | mem[3700] = 793989 386 | mem[62141] = 57881 387 | mem[38753] = 1399769 388 | mem[949] = 522895309 389 | mem[64657] = 3690509 390 | mask = X1111011X0X01010XX1101X11001110X0000 391 | mem[39879] = 34462 392 | mem[46129] = 408625 393 | mem[6098] = 236645 394 | mask = 01X01111X01X10X001011000110X1X0000X0 395 | mem[36011] = 66143371 396 | mem[62665] = 77144 397 | mem[20333] = 4345806 398 | mem[51268] = 14906433 399 | mem[8788] = 8 400 | mask = 0110111110X011101X1101111001XX00X110 401 | mem[47837] = 3707561 402 | mem[2788] = 237644109 403 | mem[44500] = 834978160 404 | mask = 0110111X1X111X1X01X11X01101110010110 405 | mem[43269] = 81785 406 | mem[22314] = 4809080 407 | mem[6736] = 6765125 408 | mask = 1X011111X010111X01010X10010101101100 409 | mem[31228] = 8833343 410 | mem[9980] = 117513832 411 | mem[6652] = 280384 412 | mask = 11111XX1000110X0101111100001X001X111 413 | mem[23632] = 12270 414 | mem[25370] = 268837775 415 | mem[6278] = 4462961 416 | mem[14856] = 44289 417 | mem[21140] = 881796 418 | mem[1280] = 16313542 419 | mem[22832] = 1511 420 | mask = X110X1111011X01001010X111X010010X110 421 | mem[28830] = 95 422 | mem[30956] = 26544 423 | mem[49153] = 101432511 424 | mem[13036] = 127079018 425 | mem[43764] = 190124 426 | mask = X11X111X110110010100X01XX1X010100X01 427 | mem[9939] = 237658 428 | mem[13574] = 2240080 429 | mem[47770] = 17036832 430 | mem[5418] = 746097653 431 | mem[34417] = 1691 432 | mem[49852] = 29846635 433 | mask = 0X00X1111111XX11X011101011010X01010X 434 | mem[64569] = 67751 435 | mem[29583] = 24119861 436 | mask = 01X011111011X00X010X000010X0011X1011 437 | mem[36008] = 216989 438 | mem[6736] = 11120 439 | mem[49610] = 2479 440 | mask = 1001X11X001X11XX01001110X0X01100XX00 441 | mem[56033] = 3647 442 | mem[41238] = 11425073 443 | mem[704] = 991541 444 | mem[36204] = 22532968 445 | mem[58054] = 854 446 | mem[27990] = 416 447 | mask = 01100111XXX01X010001111101001X000110 448 | mem[60684] = 5272670 449 | mem[53027] = 30100333 450 | mem[33047] = 134 451 | mem[38314] = 2074034 452 | mask = 011X11111000XX1011X11X11X0100X010X0X 453 | mem[38054] = 576322 454 | mem[62599] = 11414165 455 | mem[31269] = 757988507 456 | mem[19306] = 1429134 457 | mem[44015] = 164 458 | mem[9279] = 206541 459 | mask = 1X10011XX011111X01X111000001XXX01011 460 | mem[22609] = 2871 461 | mem[5458] = 49407 462 | mem[45715] = 11337 463 | mem[6714] = 12943268 464 | mem[31617] = 112522 465 | mem[24016] = 310061 466 | mem[50116] = 161156 467 | mask = 01XX1011001110100101X000X011XX01011X 468 | mem[22798] = 7712 469 | mem[425] = 117467551 470 | mem[38131] = 443 471 | mem[49300] = 3427 472 | mem[3496] = 12457 473 | mem[56313] = 210192073 474 | mem[11388] = 470 475 | mask = 01X0111111X1100X01001010000XX10001XX 476 | mem[15511] = 12882991 477 | mem[13729] = 27587073 478 | mem[16832] = 95887 479 | mem[11935] = 434 480 | mem[37599] = 9230014 481 | mem[51456] = 940113 482 | mask = X1X0110110X11001010X0001000100X00000 483 | mem[42530] = 23849383 484 | mem[4481] = 39576414 485 | mem[27033] = 66999062 486 | mem[2568] = 521 487 | mask = 01XX11X1X11101011100101X01X001011001 488 | mem[25207] = 26029326 489 | mem[47702] = 181844 490 | mem[61804] = 195905 491 | mem[58661] = 573094 492 | mask = XX0X11X110X1XX0101100X00100010111X01 493 | mem[30539] = 937 494 | mem[18075] = 961 495 | mem[43468] = 2995 496 | mask = X100111X10111000010X1XXX000X1110X010 497 | mem[43917] = 380864177 498 | mem[14524] = 1586 499 | mem[18609] = 147093 500 | mask = X111101110001010111X01010X0X0X010XX1 501 | mem[65331] = 2368204 502 | mem[7895] = 17051968 503 | mem[37863] = 9960 504 | mask = 1001X110001X110XX1000X100X00X0010010 505 | mem[8885] = 266546087 506 | mem[7636] = 1177692 507 | mem[60223] = 15113918 508 | mem[33234] = 313534611 509 | mem[22029] = 5497253 510 | mem[43203] = 38725 511 | mem[27550] = 50640114 512 | mask = X10111111X1010110X10X00X100X0X100001 513 | mem[18725] = 175877 514 | mem[21665] = 155179105 515 | mem[20295] = 37333258 516 | mem[2568] = 6498 517 | mem[33326] = 1301 518 | mem[49356] = 53132 519 | mem[40627] = 2578 520 | mask = 01X00X1X00X00100X10111X1X0010X00X100 521 | mem[53488] = 7265 522 | mem[45490] = 139 523 | mem[41507] = 160588518 524 | mask = X10X1X1110X010X10110X1001111X011111X 525 | mem[57240] = 4916897 526 | mem[19839] = 125142155 527 | mem[23281] = 977 528 | mem[3004] = 881788 529 | mem[36506] = 76747405 530 | mem[35213] = 5540318 531 | mask = X1XX0X11X01X1110011110000011X100X011 532 | mem[16620] = 245874 533 | mem[14856] = 21357 534 | mem[12475] = 810123 535 | mask = 111XX111001XX0X0010110001101000X0100 536 | mem[63199] = 305 537 | mem[39892] = 377 538 | mem[12295] = 175 539 | mem[17536] = 3891 540 | mask = 01101111101110XXX10X011X1X0X11100100 541 | mem[19462] = 38858221 542 | mem[62522] = 80896 543 | mem[13993] = 111858 544 | mem[12566] = 2009960 545 | mem[13325] = 274 546 | mask = 011011110XX11101X101010X01010X01001X 547 | mem[26616] = 31949 548 | mem[33740] = 62868747 549 | mask = XX0111110000101101101100111XX10X101X 550 | mem[20305] = 411809 551 | mem[3779] = 12833168 552 | mem[48058] = 826623362 553 | mem[34532] = 2498 554 | mem[36708] = 33436 555 | mem[47233] = 86458 556 | mem[64839] = 30673114 557 | mask = 01111X11X11X10001111000X0X10110X00X0 558 | mem[31360] = 89307 559 | mem[21087] = 202229 560 | mem[63039] = 29854290 561 | mem[28519] = 48618785 562 | mask = 01X01111101010010X01101X0110101111X0 563 | mem[32447] = 16207 564 | mem[18490] = 4246 565 | mem[2972] = 74930276 566 | -------------------------------------------------------------------------------- /resources/puzzle_input_04.txt: -------------------------------------------------------------------------------- 1 | pid:827837505 byr:1976 2 | hgt:187cm 3 | iyr:2016 4 | hcl:#fffffd 5 | eyr:2024 6 | 7 | hgt:189cm byr:1987 pid:572028668 iyr:2014 hcl:#623a2f 8 | eyr:2028 ecl:amb 9 | 10 | pid:#e9bf38 hcl:z iyr:2029 byr:2028 ecl:#18f71a hgt:174in eyr:2036 11 | 12 | hcl:#cfa07d byr:1982 pid:573165334 ecl:gry eyr:2022 iyr:2012 hgt:180cm 13 | 14 | cid:151 hcl:#c0946f 15 | ecl:brn hgt:66cm iyr:2013 pid:694421369 16 | byr:1980 eyr:2029 17 | 18 | ecl:brn 19 | pid:9337568136 eyr:2026 20 | hcl:#6b5442 21 | hgt:69cm iyr:2019 byr:2025 22 | 23 | cid:66 hcl:#efcc98 pid:791118269 iyr:2013 24 | eyr:2020 ecl:grn hgt:183cm byr:1993 25 | 26 | eyr:2022 27 | hgt:160cm iyr:2016 byr:1969 pid:767606888 ecl:gry hcl:#6b5442 28 | 29 | hgt:157cm eyr:2026 ecl:oth hcl:#efcc98 byr:1938 iyr:2014 30 | 31 | byr:1931 iyr:2015 32 | ecl:gry 33 | hgt:76in 34 | cid:227 hcl:#09592c eyr:2024 pid:276365391 35 | 36 | ecl:gry hgt:170cm iyr:2014 cid:285 pid:870052514 37 | hcl:#866857 byr:1925 eyr:2025 38 | 39 | eyr:2021 40 | byr:1960 pid:569950896 41 | iyr:2010 hgt:179cm hcl:#888785 cid:167 42 | 43 | hgt:154in cid:194 44 | pid:8142023665 byr:2010 hcl:7d22ff ecl:utc iyr:2026 eyr:1976 45 | 46 | ecl:blu eyr:2030 hgt:192cm 47 | pid:363860866 iyr:2019 hcl:#ceb3a1 byr:1963 48 | 49 | byr:1947 hgt:167cm hcl:#7d3b0c ecl:amb 50 | cid:70 eyr:2022 iyr:2019 pid:756932371 51 | 52 | hgt:185cm pid:871945454 53 | iyr:2020 54 | hcl:#866857 ecl:amb 55 | byr:1989 cid:184 eyr:2030 56 | 57 | byr:1935 pid:322117407 58 | hgt:153cm iyr:2011 59 | cid:244 eyr:2022 hcl:#efcc98 ecl:hzl 60 | 61 | ecl:blu hcl:#5e6c12 62 | eyr:2029 iyr:2011 hgt:191cm byr:1992 63 | 64 | hcl:#7d3b0c eyr:2029 65 | hgt:163cm 66 | pid:625292172 byr:1932 ecl:brn 67 | iyr:2020 68 | 69 | hgt:158cm 70 | eyr:2030 iyr:2016 byr:1969 71 | cid:173 pid:092921211 hcl:#602927 ecl:grn 72 | 73 | hcl:#733820 74 | iyr:2016 eyr:2029 75 | ecl:hzl hgt:180cm pid:292904469 byr:1984 76 | 77 | ecl:amb pid:901224456 hgt:190cm 78 | iyr:2013 79 | hcl:#733820 80 | byr:1922 81 | 82 | pid:262285164 iyr:2010 83 | byr:2018 eyr:2026 hcl:#602927 hgt:179cm ecl:gmt cid:349 84 | 85 | byr:1956 eyr:2027 pid:351551997 hgt:71in cid:277 hcl:#cfa07d iyr:2010 ecl:grn 86 | 87 | eyr:2027 hcl:#602927 hgt:157cm ecl:gry 88 | cid:128 byr:1953 89 | pid:231551549 iyr:2012 90 | 91 | iyr:2011 pid:771266976 92 | cid:264 byr:1955 hcl:#b6652a 93 | hgt:189cm ecl:blu 94 | eyr:2030 95 | 96 | eyr:2026 pid:698455242 97 | byr:1949 ecl:gry hgt:190cm 98 | iyr:2013 hcl:#efcc98 cid:139 99 | 100 | ecl:blu hgt:181cm byr:1977 iyr:2011 eyr:2022 101 | pid:454163967 hcl:#b6652a 102 | 103 | pid:534506872 hgt:155cm iyr:2012 104 | byr:1968 105 | cid:333 eyr:2024 hcl:#623a2f 106 | ecl:amb 107 | 108 | hgt:162cm 109 | iyr:2020 110 | hcl:#733820 eyr:2027 byr:1995 ecl:gry pid:084994685 111 | 112 | iyr:2016 byr:1990 113 | ecl:amb pid:185689022 eyr:2025 114 | hgt:184cm hcl:#866857 115 | 116 | byr:2016 hcl:z iyr:2022 hgt:166in 117 | eyr:2040 118 | 119 | byr:1943 hgt:152cm hcl:#cfa07d ecl:hzl iyr:2016 cid:300 pid:376088014 120 | 121 | iyr:2020 eyr:2026 hcl:#602927 ecl:gry byr:1962 pid:453907789 hgt:172cm 122 | 123 | eyr:2023 hgt:185cm 124 | hcl:#623a2f pid:963767258 byr:1977 125 | iyr:2019 ecl:oth 126 | 127 | hgt:159cm byr:1965 cid:349 ecl:blu pid:962908167 128 | iyr:2013 eyr:2024 129 | hcl:#fffffd 130 | 131 | eyr:2026 132 | pid:912822238 hgt:66in byr:1985 iyr:2018 hcl:#c0946f ecl:hzl 133 | 134 | hgt:167cm hcl:#ceb3a1 135 | byr:1990 eyr:2027 ecl:grn 136 | iyr:2011 pid:642877667 137 | 138 | hcl:#7d3b0c byr:1921 pid:976412756 hgt:192cm 139 | iyr:2013 ecl:gry 140 | 141 | iyr:2030 pid:283599139 142 | eyr:2039 cid:203 143 | hcl:f943cb 144 | hgt:111 145 | 146 | hgt:190cm 147 | iyr:2027 ecl:blu hcl:z 148 | byr:2004 eyr:2039 149 | pid:734570034 150 | 151 | hcl:#6b5442 hgt:191cm 152 | ecl:oth byr:1989 pid:669414669 cid:196 iyr:2016 eyr:2023 153 | 154 | ecl:brn eyr:2028 byr:1965 pid:630674502 hcl:#602927 iyr:2020 hgt:61in 155 | 156 | iyr:2016 eyr:2022 cid:225 157 | hcl:#733820 ecl:hzl hgt:166cm 158 | byr:1934 159 | pid:232742206 160 | 161 | ecl:amb hcl:#602927 eyr:2029 162 | pid:897535300 163 | hgt:189cm byr:1952 164 | iyr:2017 165 | 166 | pid:853604345 167 | hgt:161cm cid:269 168 | hcl:#fffffd eyr:2030 iyr:2011 ecl:grn byr:1966 169 | 170 | hgt:151cm hcl:#18171d eyr:2026 ecl:grn iyr:2016 pid:176cm 171 | byr:2000 172 | 173 | hcl:#341e13 174 | eyr:2022 175 | pid:536989527 cid:73 byr:1971 176 | ecl:hzl 177 | 178 | pid:739005658 hcl:#b6652a 179 | eyr:2026 hgt:154cm ecl:hzl 180 | iyr:2019 byr:1935 181 | 182 | pid:373465835 ecl:oth byr:1932 cid:333 hgt:165cm 183 | hcl:#b6652a eyr:2021 iyr:2014 184 | 185 | byr:1967 pid:486658617 hcl:#18171d hgt:174cm 186 | eyr:2021 iyr:2015 ecl:gry cid:53 187 | 188 | eyr:2024 189 | cid:124 iyr:2017 hgt:152cm pid:095649305 hcl:#341e13 190 | byr:1920 ecl:oth 191 | 192 | hcl:#623a2f 193 | byr:1951 pid:993284548 194 | cid:106 195 | hgt:186cm 196 | ecl:amb iyr:2017 eyr:2029 197 | 198 | cid:308 pid:080673934 199 | hgt:193cm 200 | byr:1967 hcl:#623a2f iyr:2016 ecl:hzl 201 | eyr:2021 202 | 203 | iyr:2010 eyr:2024 byr:1946 hgt:156cm 204 | cid:199 205 | ecl:blu hcl:#866857 206 | 207 | ecl:blu byr:1955 eyr:2022 cid:95 pid:139391569 208 | iyr:2019 hgt:180cm 209 | hcl:#efcc98 210 | 211 | ecl:brn pid:579889368 212 | eyr:2023 hgt:158cm byr:1935 213 | iyr:2018 hcl:#cfa07d 214 | 215 | byr:1920 pid:90919899 hcl:#18171d 216 | hgt:152cm 217 | eyr:2029 ecl:oth iyr:2014 218 | 219 | byr:1961 eyr:2024 220 | ecl:#d401e3 iyr:2011 hgt:172cm pid:919145070 221 | cid:100 222 | hcl:#efcc98 223 | 224 | ecl:gry 225 | hgt:168cm 226 | hcl:#888785 byr:1942 pid:731032830 iyr:2014 227 | eyr:2028 228 | 229 | hcl:#6b5442 pid:265747619 hgt:191cm 230 | cid:217 231 | eyr:2028 232 | iyr:2019 ecl:amb 233 | byr:1948 234 | 235 | iyr:2011 ecl:brn 236 | hgt:183cm hcl:#fffffd cid:258 byr:1983 237 | pid:835909246 238 | 239 | byr:2030 240 | iyr:2024 ecl:#f66808 241 | hcl:fd548d cid:183 242 | pid:#fced33 243 | hgt:160in 244 | 245 | ecl:utc hgt:183in hcl:a92c31 pid:0394222041 246 | iyr:2008 247 | eyr:1976 byr:2020 248 | 249 | pid:126195650 iyr:2019 hcl:#341e13 250 | ecl:blu 251 | hgt:150cm 252 | eyr:2025 253 | byr:1964 254 | 255 | cid:71 iyr:2016 hgt:157 ecl:grt 256 | hcl:#18171d pid:#1ab5ea eyr:2027 257 | 258 | eyr:2026 hcl:#b5266f 259 | byr:1971 260 | cid:269 hgt:192cm iyr:2012 261 | pid:736578840 ecl:amb 262 | 263 | pid:152109472 hcl:#ceb3a1 ecl:grn hgt:188cm eyr:2027 264 | byr:1923 265 | 266 | hcl:#341e13 pid:535175953 hgt:63in eyr:2028 iyr:2015 byr:1999 ecl:gry 267 | 268 | hgt:183cm pid:611738968 byr:2001 269 | eyr:2020 hcl:#a97842 iyr:2014 270 | ecl:gry 271 | 272 | eyr:2038 ecl:gmt pid:113210210 iyr:2012 byr:2011 273 | hcl:z 274 | hgt:157cm 275 | 276 | hgt:157cm 277 | pid:699449127 278 | iyr:2014 ecl:gry byr:1980 hcl:#fffffd eyr:2029 279 | 280 | iyr:2028 hcl:z pid:152cm 281 | eyr:2039 282 | ecl:#4760fb hgt:177in 283 | byr:2017 284 | 285 | eyr:2026 hcl:#efcc98 286 | iyr:2020 hgt:180cm ecl:hzl pid:747449965 byr:2016 287 | 288 | byr:1974 iyr:2019 289 | cid:89 eyr:2023 pid:421418405 290 | hcl:#fffffd hgt:192cm 291 | ecl:gry 292 | 293 | hcl:26c2ef eyr:2029 cid:309 byr:1931 ecl:grn pid:#4eb099 iyr:2024 294 | hgt:174cm 295 | 296 | ecl:gry 297 | hgt:183cm 298 | cid:281 299 | eyr:2022 pid:050492569 300 | byr:1968 hcl:c88145 301 | iyr:2015 302 | 303 | eyr:2028 304 | iyr:2014 pid:712984515 hgt:187cm cid:206 hcl:#866857 byr:1927 305 | ecl:brn 306 | 307 | byr:1936 hgt:61in ecl:oth iyr:2012 pid:447813841 308 | hcl:#c0946f 309 | cid:126 eyr:2021 310 | 311 | ecl:gry pid:791970272 312 | eyr:2020 313 | byr:1932 hcl:#623a2f hgt:161cm 314 | iyr:2015 315 | 316 | hcl:#c0946f 317 | byr:1935 pid:721144576 eyr:2025 hgt:162cm 318 | iyr:2017 ecl:oth 319 | 320 | byr:1959 321 | pid:551109135 322 | ecl:hzl hgt:68in 323 | eyr:1977 hcl:#888785 324 | iyr:1955 cid:100 325 | 326 | hgt:190in eyr:1993 pid:8358180772 iyr:1975 327 | ecl:oth 328 | byr:2024 329 | hcl:3de172 330 | 331 | eyr:2030 hgt:190cm hcl:#a40ef3 byr:1935 pid:484932501 332 | ecl:amb iyr:2016 333 | 334 | iyr:2015 335 | byr:1964 336 | hgt:176cm 337 | pid:819552732 hcl:#c0946f ecl:amb cid:263 338 | eyr:2024 339 | 340 | hgt:65cm cid:59 eyr:2027 pid:074880819 ecl:utc iyr:2023 341 | byr:1954 hcl:#623a2f 342 | 343 | byr:1954 hgt:167cm iyr:2020 344 | eyr:2023 hcl:#602927 345 | pid:280295309 346 | ecl:hzl cid:168 347 | 348 | hgt:168cm pid:311043701 iyr:2017 byr:1965 349 | ecl:hzl 350 | eyr:2026 hcl:#fffffd 351 | 352 | hcl:#fffffd ecl:grn pid:672987232 iyr:2012 eyr:2022 hgt:66in 353 | 354 | iyr:2012 ecl:#6f4f9f 355 | hgt:133 byr:1937 356 | eyr:1953 pid:7177768428 hcl:#602927 357 | 358 | iyr:2010 359 | byr:1922 hcl:#c0946f 360 | eyr:2029 ecl:gry 361 | hgt:165cm 362 | pid:893045052 363 | 364 | iyr:2013 eyr:2028 hcl:#866857 pid:137143403 365 | ecl:brn hgt:170cm byr:1940 cid:194 366 | 367 | hgt:161cm 368 | eyr:2027 pid:3966920279 ecl:gry iyr:2015 byr:1997 hcl:#cfa07d 369 | 370 | ecl:amb 371 | hgt:157cm byr:1971 372 | pid:562746894 cid:305 hcl:#0b0e1a eyr:2021 iyr:2016 373 | 374 | hcl:8b821d hgt:157cm pid:187cm cid:298 eyr:1926 iyr:2019 375 | ecl:amb 376 | byr:2030 377 | 378 | hgt:155cm hcl:#341e13 byr:1924 pid:779847670 379 | ecl:hzl iyr:2015 380 | eyr:2024 381 | 382 | pid:768590475 hcl:#a97842 iyr:2014 cid:128 eyr:2029 383 | ecl:oth hgt:164cm byr:1990 384 | 385 | iyr:2019 hgt:181cm cid:342 386 | eyr:2020 ecl:gry byr:2001 387 | hcl:#623a2f 388 | pid:473165431 389 | 390 | byr:1928 eyr:2026 hcl:#42a9cb iyr:2010 391 | ecl:grn hgt:157cm pid:638074984 392 | 393 | eyr:2028 394 | byr:1951 395 | pid:239781647 iyr:2020 hgt:156cm 396 | ecl:hzl cid:215 hcl:#efcc98 397 | 398 | pid:636605355 ecl:hzl 399 | iyr:2017 cid:323 eyr:2025 400 | byr:1995 401 | hcl:#18171d hgt:187cm 402 | 403 | byr:1933 hcl:#866857 hgt:152cm ecl:oth iyr:2014 pid:900790914 eyr:2030 cid:267 404 | 405 | ecl:brn byr:1999 eyr:2027 hcl:#623a2f iyr:2017 406 | pid:853165955 407 | hgt:152cm 408 | 409 | eyr:2030 pid:316704688 hcl:#c0946f ecl:brn iyr:2014 hgt:193cm 410 | 411 | iyr:2012 byr:1928 412 | hgt:154cm pid:570535769 hcl:#623a2f eyr:2026 ecl:hzl 413 | 414 | iyr:2016 cid:252 eyr:2030 hcl:#888785 415 | hgt:177cm ecl:grn byr:2002 pid:568715162 416 | 417 | pid:570999226 iyr:2012 hgt:150cm 418 | byr:2024 419 | ecl:brn hcl:z eyr:2029 420 | 421 | pid:174002299 iyr:2019 hcl:#cfa07d ecl:brn byr:1927 422 | cid:77 hgt:159cm eyr:2027 423 | 424 | ecl:#d16191 eyr:2022 pid:166cm hgt:165cm hcl:#18171d iyr:2015 425 | 426 | pid:112585759 427 | hcl:#341e13 eyr:2025 byr:1962 hgt:164cm ecl:hzl iyr:2018 428 | 429 | pid:478415905 eyr:2025 cid:315 430 | ecl:amb hgt:91 431 | iyr:2014 hcl:#cc9d80 432 | byr:1985 433 | 434 | pid:561885837 hcl:#7d3b0c 435 | hgt:169cm 436 | byr:1921 iyr:2014 cid:178 437 | eyr:2022 ecl:gry 438 | 439 | ecl:#c87497 hcl:5321a2 eyr:2020 hgt:74in 440 | pid:#7a62c6 iyr:1976 441 | 442 | eyr:2037 443 | pid:858202391 hgt:162cm 444 | ecl:grn byr:2003 445 | cid:278 446 | iyr:2010 hcl:cbf662 447 | 448 | ecl:blu iyr:2012 hgt:183cm hcl:#623a2f pid:848200472 byr:1997 eyr:2027 449 | 450 | byr:1942 451 | hgt:164cm 452 | pid:464257339 453 | iyr:2016 454 | hcl:#7d3b0c ecl:gry 455 | 456 | iyr:2012 hcl:#ceb3a1 457 | hgt:193cm ecl:amb 458 | pid:667987561 eyr:2024 byr:1960 459 | 460 | hgt:187cm 461 | pid:222340640 462 | iyr:2018 eyr:2022 463 | ecl:oth 464 | byr:1957 465 | hcl:#336667 cid:83 466 | 467 | eyr:2025 iyr:2015 hcl:#733820 468 | ecl:brn 469 | pid:131195653 470 | 471 | hgt:185cm eyr:2026 472 | ecl:amb byr:1998 pid:938587659 hcl:#733820 473 | iyr:2016 474 | 475 | ecl:oth pid:300949722 476 | eyr:2028 iyr:2016 477 | byr:1933 478 | hgt:179cm 479 | hcl:#cfa07d 480 | 481 | byr:1974 iyr:2019 482 | ecl:hzl hcl:#c0946f eyr:2024 pid:484547079 483 | cid:112 484 | hgt:185cm 485 | 486 | eyr:2022 iyr:2018 hcl:#fffffd pid:118568279 487 | hgt:153cm ecl:gry byr:1941 cid:341 488 | 489 | iyr:2018 490 | eyr:2027 hcl:#888785 491 | byr:1970 hgt:165cm pid:773715893 492 | ecl:amb 493 | 494 | hcl:#623a2f hgt:156cm byr:1938 iyr:2012 pid:745046822 495 | ecl:amb 496 | eyr:2030 497 | 498 | iyr:2012 499 | pid:097961857 500 | eyr:2023 hgt:66in hcl:#fffffd byr:1962 ecl:utc 501 | 502 | byr:1943 hgt:150cm 503 | iyr:2012 504 | pid:740693353 eyr:2023 505 | hcl:#18171d cid:101 ecl:blu 506 | 507 | iyr:2018 pid:183728523 byr:1924 hgt:154cm eyr:2030 508 | cid:167 ecl:blu hcl:#ceb3a1 509 | 510 | hgt:69cm 511 | eyr:2025 hcl:z ecl:brn byr:1982 pid:250782159 512 | iyr:2011 513 | 514 | byr:1998 iyr:2018 hcl:#341e13 eyr:2022 hgt:157cm pid:497100444 cid:266 ecl:gry 515 | 516 | eyr:2027 iyr:2011 hcl:#6b5442 hgt:156cm pid:494073085 517 | byr:1998 518 | ecl:hzl 519 | 520 | byr:1947 hcl:#b6652a 521 | iyr:2011 pid:228986686 eyr:2030 hgt:175cm cid:70 ecl:brn 522 | 523 | eyr:2026 hgt:159cm 524 | byr:1946 pid:534291476 525 | iyr:2018 ecl:gry cid:225 526 | hcl:#18171d 527 | 528 | pid:439665905 529 | cid:311 ecl:amb iyr:2018 530 | eyr:2030 531 | hgt:186cm byr:1950 532 | hcl:#cfa07d 533 | 534 | pid:250175056 hcl:#efcc98 535 | byr:1981 cid:262 hgt:154cm ecl:gry iyr:2020 eyr:2027 536 | 537 | pid:461335515 iyr:2014 hcl:#f1cf00 hgt:180cm ecl:amb eyr:2027 538 | byr:1956 539 | 540 | iyr:2014 eyr:2030 cid:194 541 | pid:234623720 hcl:#733820 542 | hgt:164cm byr:1929 543 | ecl:blu 544 | 545 | byr:1992 546 | eyr:2024 hcl:#ef8161 cid:216 547 | ecl:brn hgt:177cm iyr:2018 548 | pid:101726770 549 | 550 | hcl:#341e13 hgt:178cm iyr:2016 eyr:2029 byr:1945 pid:045325957 ecl:grn cid:99 551 | 552 | ecl:gry 553 | iyr:2012 554 | cid:52 hgt:168cm byr:1943 555 | hcl:#cfa07d 556 | pid:899608935 eyr:2030 557 | 558 | cid:241 559 | byr:1934 hgt:161cm eyr:2027 iyr:2011 hcl:#c0946f ecl:amb pid:346857644 560 | 561 | iyr:2019 hgt:178cm 562 | hcl:#c0946f byr:1957 563 | eyr:2026 564 | ecl:brn pid:222885240 565 | 566 | ecl:blu 567 | eyr:2021 cid:312 hcl:#733820 hgt:186cm iyr:2012 byr:1969 568 | pid:821704316 569 | 570 | hcl:#6b5442 cid:159 571 | hgt:180cm 572 | iyr:2018 573 | eyr:2028 574 | ecl:hzl byr:1966 575 | pid:#e0238e 576 | 577 | pid:622400994 eyr:2022 hcl:#5b6635 iyr:2012 byr:1980 578 | hgt:190cm ecl:oth 579 | 580 | byr:1976 ecl:gry eyr:2020 iyr:2020 hgt:171cm pid:219878671 hcl:#6b5442 581 | 582 | hgt:163cm byr:1968 583 | pid:003521394 ecl:oth 584 | iyr:2010 585 | cid:61 hcl:#888785 586 | 587 | cid:115 pid:810722029 hgt:166cm byr:1955 588 | ecl:blu eyr:2030 iyr:2018 589 | 590 | hgt:176cm 591 | eyr:2025 592 | pid:617393532 hcl:#733820 byr:1975 iyr:2018 ecl:grn 593 | 594 | hcl:#733820 byr:1979 pid:838168666 595 | hgt:190cm ecl:oth cid:330 596 | eyr:2029 iyr:2018 597 | 598 | eyr:1940 hgt:67cm iyr:2009 ecl:gry pid:#e76a62 byr:2020 hcl:z 599 | 600 | hgt:190cm ecl:brn pid:396113351 601 | byr:1956 iyr:2010 602 | hcl:#6b5442 eyr:2024 603 | cid:256 604 | 605 | hcl:#efcc98 606 | hgt:178cm byr:1984 iyr:2013 pid:752620212 eyr:2021 ecl:gry 607 | 608 | iyr:2014 hcl:#a97842 609 | hgt:166cm ecl:blu eyr:2024 610 | byr:1935 611 | pid:836748873 612 | 613 | cid:236 ecl:amb hgt:168cm iyr:2010 hcl:#602927 byr:1950 eyr:2026 pid:404810674 614 | 615 | eyr:2030 ecl:grn 616 | byr:1975 pid:064596263 hgt:193cm 617 | iyr:2019 cid:71 hcl:#a97842 618 | 619 | iyr:2014 620 | pid:298386733 hcl:#c0946f 621 | hgt:180cm ecl:hzl cid:115 byr:1940 eyr:2023 622 | 623 | iyr:1960 hgt:139 ecl:#9db7b8 byr:1980 pid:#ef597b cid:54 eyr:2028 hcl:fdcda3 624 | 625 | iyr:2015 byr:1954 ecl:blu hgt:62in hcl:#ceb3a1 pid:253593755 eyr:2028 626 | 627 | eyr:2025 ecl:blu pid:216388098 iyr:2017 byr:1968 hgt:151cm hcl:#602927 628 | 629 | eyr:2022 hcl:#a97842 630 | pid:606979543 iyr:2013 ecl:grn cid:63 631 | hgt:186cm byr:1992 632 | 633 | ecl:gry 634 | hgt:168cm hcl:#18171d iyr:2017 pid:670898814 byr:1983 635 | eyr:2022 636 | 637 | hgt:155cm ecl:grn iyr:2012 pid:837979074 eyr:2024 hcl:#888785 byr:1972 638 | 639 | iyr:2015 pid:970743533 hcl:#866857 eyr:2027 640 | byr:1921 ecl:brn 641 | 642 | eyr:2022 643 | hgt:160cm 644 | byr:1964 hcl:#efcc98 iyr:2019 ecl:oth pid:141923637 645 | 646 | byr:2029 pid:3313111652 ecl:brn eyr:2034 647 | iyr:2013 hgt:193cm hcl:z 648 | 649 | pid:853890227 eyr:2029 650 | hcl:#efcc98 iyr:2021 byr:2003 ecl:#037c39 hgt:160cm 651 | 652 | iyr:1927 653 | byr:1992 654 | eyr:2030 655 | hcl:#efcc98 656 | ecl:amb hgt:152cm pid:436765906 657 | 658 | iyr:2014 659 | hcl:#c0946f pid:207052381 660 | eyr:2024 ecl:hzl 661 | hgt:177cm 662 | byr:1923 663 | 664 | ecl:blu 665 | iyr:2014 666 | eyr:2025 hgt:165cm 667 | hcl:#733820 pid:343011857 byr:1967 668 | 669 | ecl:xry 670 | eyr:2028 671 | iyr:2011 hgt:166in hcl:#c0946f 672 | pid:805297331 673 | cid:167 byr:1926 674 | 675 | byr:1947 676 | pid:468012954 eyr:2026 ecl:oth iyr:2018 hgt:170cm hcl:#b6652a 677 | 678 | hcl:#6b5442 ecl:brn 679 | hgt:180cm cid:233 680 | pid:029789713 681 | byr:1920 iyr:2010 eyr:2024 682 | 683 | iyr:2010 eyr:2027 684 | hgt:156cm 685 | hcl:#c0946f 686 | byr:1960 pid:312723130 ecl:hzl 687 | 688 | eyr:2023 byr:1959 iyr:2010 hgt:186cm pid:066768932 ecl:grn hcl:#602927 cid:310 689 | 690 | eyr:2030 pid:460535178 hgt:171cm ecl:gry iyr:2020 byr:1934 hcl:#888785 691 | 692 | hgt:64cm eyr:2021 byr:1995 cid:336 693 | ecl:gmt pid:926714223 iyr:2017 hcl:#18171d 694 | 695 | eyr:2022 iyr:2010 696 | ecl:grn pid:285994301 cid:215 697 | hgt:186cm byr:1978 698 | 699 | hgt:63in hcl:#866857 700 | pid:386128445 iyr:2020 byr:1971 eyr:2021 ecl:gry 701 | 702 | hgt:183cm hcl:#733820 iyr:2015 703 | ecl:blu pid:216205626 eyr:2022 byr:1941 704 | 705 | cid:150 ecl:amb pid:872515243 byr:1926 706 | eyr:1996 707 | hcl:#dedc39 hgt:67in iyr:2020 708 | 709 | byr:1927 ecl:brn cid:153 iyr:2011 710 | pid:165190810 hcl:#fffffd 711 | eyr:2028 hgt:64in 712 | 713 | pid:502603734 714 | byr:1966 iyr:2015 hgt:176cm cid:205 ecl:brn hcl:#fffffd eyr:2021 715 | 716 | hcl:#18171d hgt:158cm byr:1943 iyr:2019 717 | pid:058840094 718 | eyr:2023 719 | 720 | byr:1962 hcl:#b6652a ecl:grn 721 | cid:297 722 | iyr:2010 pid:990422650 723 | hgt:154cm eyr:2020 724 | 725 | eyr:1934 iyr:2011 726 | ecl:gry 727 | hcl:z byr:2004 hgt:63cm pid:6173356201 728 | 729 | pid:329432364 eyr:2029 730 | ecl:grn hcl:#18171d iyr:2013 731 | hgt:158cm byr:1960 732 | 733 | hcl:#efcc98 iyr:2016 hgt:186cm cid:215 734 | pid:852781253 eyr:2027 ecl:blu byr:1937 735 | 736 | hcl:#623a2f ecl:gry iyr:2020 byr:1972 hgt:182cm pid:073426952 eyr:2027 737 | 738 | hcl:#3317b9 byr:1950 pid:304511418 hgt:177cm cid:124 eyr:2020 ecl:hzl iyr:2014 739 | 740 | eyr:2029 741 | pid:034754507 byr:1936 742 | cid:265 ecl:#b50997 hgt:183cm 743 | hcl:#623a2f iyr:1924 744 | 745 | eyr:2024 byr:1927 cid:243 ecl:gry hcl:#6b5442 pid:714355627 hgt:160cm 746 | iyr:2016 747 | 748 | hgt:152cm 749 | ecl:gry hcl:#a97842 750 | eyr:2029 byr:1952 751 | pid:555308923 iyr:2010 752 | 753 | byr:2008 754 | pid:19681314 hgt:180in iyr:2030 ecl:gry cid:272 755 | eyr:2023 756 | hcl:#b6652a 757 | 758 | cid:234 759 | iyr:2014 byr:1940 ecl:hzl pid:042231105 hcl:#3bf69c hgt:172cm eyr:2029 760 | 761 | hcl:#efcc98 pid:831567586 hgt:190cm iyr:2017 762 | byr:1966 eyr:2024 ecl:blu 763 | 764 | hcl:#341e13 ecl:blu 765 | eyr:2022 cid:161 pid:197839646 iyr:2014 766 | 767 | hcl:#cfa07d 768 | byr:1957 769 | iyr:2019 hgt:181cm 770 | pid:543775141 ecl:oth eyr:2021 771 | 772 | hcl:z 773 | pid:#596c41 eyr:2035 774 | byr:2008 iyr:1975 775 | ecl:#c66ee6 776 | hgt:150in 777 | 778 | ecl:grn 779 | hcl:#7d3b0c iyr:2016 780 | pid:804255369 eyr:2028 byr:1983 hgt:69in cid:82 781 | 782 | eyr:2022 783 | iyr:2013 hgt:191cm ecl:gry 784 | hcl:#a97842 pid:186827268 byr:1969 785 | 786 | pid:871672398 eyr:2026 byr:1946 ecl:oth 787 | iyr:2015 788 | hcl:#866857 hgt:185cm 789 | 790 | byr:1973 791 | hgt:150cm 792 | pid:905076707 793 | iyr:2017 794 | hcl:#2edf01 ecl:oth cid:221 eyr:2026 795 | 796 | eyr:2024 ecl:grn pid:955444191 hcl:z iyr:2015 byr:2008 hgt:151cm 797 | 798 | byr:1958 hcl:#fffffd pid:218986541 cid:203 ecl:brn hgt:154cm 799 | iyr:2014 800 | eyr:2026 801 | 802 | hcl:#623a2f byr:1964 ecl:oth iyr:2010 pid:525843363 hgt:164cm eyr:2025 803 | 804 | ecl:blu iyr:2013 hgt:193cm byr:1990 pid:612387132 hcl:#18171d cid:280 eyr:2028 805 | 806 | ecl:oth eyr:2022 807 | pid:110447037 hgt:187cm byr:1967 hcl:#efcc98 808 | 809 | byr:1930 810 | eyr:2026 hgt:159cm 811 | iyr:2011 812 | ecl:hzl hcl:#6b5442 pid:923471212 813 | 814 | cid:350 815 | eyr:2029 pid:823592758 iyr:2018 816 | ecl:grn byr:1972 hgt:167cm hcl:#18171d 817 | 818 | cid:76 eyr:2027 hcl:#6b5442 pid:099579798 byr:1930 819 | iyr:2020 820 | ecl:gry hgt:153cm 821 | 822 | byr:1957 ecl:brn 823 | hcl:z iyr:2016 pid:352677969 hgt:189cm 824 | eyr:2029 825 | 826 | cid:143 eyr:2035 pid:602952079 827 | ecl:#9b73f0 hcl:#602927 828 | iyr:2022 byr:1975 829 | hgt:174cm 830 | 831 | byr:1971 pid:741305897 hgt:192cm 832 | ecl:amb hcl:#888785 eyr:2028 iyr:2011 833 | 834 | ecl:oth iyr:2016 835 | byr:1942 hgt:189cm hcl:#888785 eyr:2024 pid:054290182 836 | 837 | hcl:#a97842 838 | byr:1945 839 | ecl:amb pid:370849304 840 | eyr:2028 841 | iyr:2016 hgt:168cm 842 | 843 | hgt:154cm iyr:2015 eyr:2030 byr:1952 ecl:hzl hcl:#341e13 pid:996518075 844 | 845 | byr:1941 ecl:amb iyr:2014 846 | hcl:#fffffd pid:560990286 eyr:2022 hgt:173cm 847 | 848 | ecl:blu byr:1974 849 | hgt:150cm hcl:#ceb3a1 eyr:2020 iyr:2013 850 | pid:827415351 851 | 852 | hcl:#623a2f eyr:2027 iyr:2011 pid:913199234 ecl:oth 853 | byr:1990 hgt:178cm 854 | 855 | ecl:blu byr:1989 hcl:#b6652a 856 | eyr:2026 pid:724881482 hgt:185cm iyr:2014 857 | 858 | cid:115 pid:255002731 eyr:2025 ecl:amb 859 | byr:1934 iyr:2020 hcl:#7d3b0c 860 | 861 | hgt:150cm byr:1969 ecl:blu iyr:2023 862 | hcl:#866857 pid:754288625 eyr:2029 863 | 864 | iyr:2011 hcl:#7d3b0c ecl:hzl 865 | byr:1930 866 | hgt:188cm 867 | eyr:2023 868 | pid:256556076 cid:136 869 | 870 | iyr:2025 byr:1978 871 | ecl:#fe30a9 hcl:#efcc98 eyr:2029 872 | pid:392032459 hgt:178cm 873 | 874 | eyr:2027 iyr:2017 hgt:160in 875 | byr:1990 pid:131099122 hcl:#623a2f ecl:amb 876 | 877 | ecl:grn 878 | byr:1978 879 | eyr:2029 hcl:#18171d 880 | hgt:165cm pid:172369888 881 | cid:93 882 | iyr:2011 883 | 884 | ecl:hzl 885 | hcl:#733820 iyr:2010 eyr:2029 pid:127253449 886 | hgt:156cm 887 | byr:1963 888 | 889 | hcl:#6c8530 890 | iyr:2020 891 | byr:1929 eyr:2021 hgt:177cm ecl:oth pid:347925482 892 | 893 | eyr:2037 iyr:2026 894 | pid:163cm 895 | hgt:174in byr:2007 hcl:c1305f cid:134 896 | ecl:#0cf85c 897 | 898 | iyr:2011 pid:033811215 899 | hcl:#a97842 byr:2002 eyr:2021 hgt:186cm 900 | ecl:brn 901 | 902 | hcl:#a97842 903 | iyr:2020 eyr:2029 byr:1972 pid:535511110 hgt:160cm ecl:oth 904 | 905 | ecl:grn cid:89 hgt:193cm pid:73793987 iyr:2021 eyr:2027 byr:1939 hcl:z 906 | 907 | hcl:#623a2f 908 | hgt:182cm cid:154 909 | pid:873863966 iyr:2018 byr:1999 ecl:brn eyr:2031 910 | 911 | iyr:2014 eyr:2029 912 | cid:71 hcl:#fffffd byr:1924 hgt:63in 913 | ecl:gry pid:897972798 914 | 915 | hgt:76cm 916 | hcl:z eyr:1955 917 | iyr:2012 byr:2001 pid:9425090 ecl:hzl 918 | 919 | eyr:2021 920 | pid:501861442 921 | ecl:grn hcl:#d71ae9 922 | byr:1977 923 | hgt:167cm iyr:2015 924 | 925 | iyr:2014 926 | hgt:170cm ecl:gry byr:1928 cid:314 hcl:#602927 eyr:2029 927 | pid:836710987 928 | 929 | eyr:2027 hcl:#efcc98 ecl:amb iyr:2016 byr:1995 pid:603705616 hgt:179cm 930 | 931 | eyr:2030 hcl:#602927 cid:105 byr:1943 ecl:hzl 932 | pid:381601507 933 | hgt:188cm iyr:2020 934 | 935 | iyr:2011 936 | byr:1993 hcl:#c0946f pid:292649640 hgt:139 ecl:hzl cid:268 937 | eyr:1999 938 | 939 | cid:339 byr:1928 940 | ecl:brn eyr:2022 hcl:#733820 hgt:191cm pid:282733347 iyr:2019 941 | 942 | hgt:176cm 943 | byr:1935 ecl:brn cid:252 eyr:2023 pid:105060622 iyr:2020 hcl:#18171d 944 | 945 | ecl:hzl eyr:2029 946 | hgt:193cm pid:770254253 947 | hcl:#efcc98 iyr:2020 byr:1926 948 | 949 | pid:977785261 eyr:2022 iyr:2015 byr:1978 950 | hcl:#733820 hgt:172cm 951 | ecl:brn 952 | 953 | byr:2021 954 | hgt:160in 955 | ecl:gmt 956 | eyr:2032 cid:345 pid:179cm 957 | hcl:8f5c13 iyr:2029 958 | 959 | iyr:2018 hgt:182cm ecl:gry 960 | pid:897076789 eyr:2023 hcl:#866857 961 | byr:1980 962 | 963 | hgt:88 eyr:2039 cid:99 byr:2007 hcl:a1bb42 ecl:#a2f6bb 964 | pid:2264966188 965 | iyr:2022 966 | 967 | iyr:2012 cid:59 ecl:gry eyr:2021 968 | byr:1931 969 | hgt:172cm hcl:#7d3b0c pid:862416147 970 | 971 | byr:1962 eyr:2025 972 | ecl:grn 973 | hcl:#866857 hgt:180cm iyr:2014 pid:313647071 974 | 975 | eyr:2030 hgt:157cm byr:1985 976 | iyr:2020 977 | hcl:#7d3b0c pid:911544768 978 | ecl:grn 979 | 980 | hgt:175cm 981 | byr:1938 982 | iyr:2020 ecl:amb hcl:#602927 eyr:2026 pid:144411560 983 | 984 | iyr:2019 ecl:amb hcl:#888785 eyr:2025 hgt:187cm 985 | pid:942054361 byr:1939 986 | 987 | cid:168 pid:722146139 byr:1952 ecl:grn 988 | iyr:2014 hgt:97 989 | hcl:z 990 | eyr:2023 991 | 992 | eyr:2024 pid:567528498 ecl:gry iyr:2012 byr:1990 993 | hcl:#733820 hgt:193cm 994 | cid:293 995 | 996 | hcl:#bc352c pid:321838059 byr:1930 hgt:178cm cid:213 eyr:2023 ecl:amb 997 | iyr:2017 998 | 999 | hgt:173cm byr:1925 pid:070222017 iyr:2013 hcl:#ceb3a1 ecl:gry eyr:2024 1000 | -------------------------------------------------------------------------------- /resources/puzzle_input_02.txt: -------------------------------------------------------------------------------- 1 | 13-14 f: ffffffffnfffvv 2 | 10-12 w: kwtzpnzspwwwdz 3 | 2-3 n: nnjn 4 | 2-3 h: hhhh 5 | 2-11 c: crccccccccsccc 6 | 1-6 b: lcpcbcr 7 | 16-20 q: qsqqqqqqqjqqqvqqqqqh 8 | 4-5 m: mmfmm 9 | 10-13 h: hhhhhhchhkhhphh 10 | 10-14 x: xxvxxxxxxvxxxwx 11 | 2-7 v: tvvgvrvvv 12 | 8-11 j: jjjjrjwljjzjkmc 13 | 2-5 t: xtpftb 14 | 4-6 m: mmmlmpm 15 | 9-14 h: hhhhhhhhhhhhhchh 16 | 10-11 x: xxxxxxxxxxx 17 | 14-15 z: zzzzzzpzzzzzzzkz 18 | 5-6 m: mwjmmw 19 | 2-4 r: rrrr 20 | 7-11 v: vvkwlmvkvkmbwvvvv 21 | 16-17 j: jjjjjjjjjjjjjjjhj 22 | 6-12 v: vjvvddtdpvvvldvqvdhv 23 | 3-16 z: rktsvbkctznjkjzz 24 | 5-6 r: hrrrrr 25 | 1-3 d: ddxddd 26 | 19-20 s: sssssjssssssssssssss 27 | 17-20 b: bbbbbbbbbbbbbbbbbbbb 28 | 2-4 m: mslm 29 | 2-5 b: bbbbbl 30 | 3-4 j: ljjj 31 | 2-4 h: nlhbh 32 | 4-5 z: zsmwfz 33 | 4-5 j: jjzqj 34 | 9-10 r: rrrrrrrrrj 35 | 7-18 l: lljlgpmlltlzjltplln 36 | 1-6 l: zbmljsljdszwl 37 | 3-6 h: hhfhhqhhh 38 | 10-14 d: vmddcdhsdzkxdddddddd 39 | 6-7 s: psssssms 40 | 1-10 j: cndjjjjjjjjjjj 41 | 4-14 x: xxxdxxxxxxxxxxc 42 | 6-7 f: fwfffsff 43 | 2-11 v: dmmvlvsvvbbr 44 | 7-8 l: dlcllllllll 45 | 4-5 m: mmmmc 46 | 4-10 m: zmmmlmnmrj 47 | 5-6 s: ssshdsvbsk 48 | 1-3 p: pppfps 49 | 5-6 t: tttttt 50 | 6-15 z: zzzzzzzzzzzzzzzzz 51 | 7-12 m: bgshdmmkmmmmmfnmmm 52 | 10-11 l: gclgllsllll 53 | 3-4 d: dpdd 54 | 2-9 n: kgngnrcxd 55 | 8-10 n: knnsqnnnnrn 56 | 8-18 f: qhwqbwnfppkffwhjjxf 57 | 2-4 j: zwksc 58 | 3-11 s: nkszjxwhcms 59 | 8-11 b: tbbbbbbwbmbjk 60 | 7-8 z: kvxfrzzzz 61 | 2-5 g: hhwgv 62 | 1-5 s: lmkxjbbsmnq 63 | 2-7 p: spgxbpp 64 | 2-8 z: xqzpztbvk 65 | 4-7 r: wrtcfqrqcrlr 66 | 2-4 g: gzgggg 67 | 13-15 q: qqqqnrqqqbgqnqt 68 | 7-12 h: dhxhbcqhhhhd 69 | 7-8 l: llllflll 70 | 5-6 d: ddbdfddwmndc 71 | 3-10 j: jjjjjjcjjjj 72 | 16-17 x: jhmqjpbpxsttjpcxrz 73 | 7-14 j: jqjjjgjhjjmjjfjj 74 | 5-7 l: zllllll 75 | 9-13 d: dddddddxrdcsjdngbtd 76 | 13-14 k: kdwkhqkkkkkknkk 77 | 5-12 c: zcxwcbwfclccm 78 | 14-16 x: xxfxxxhxxxxmdxxxxx 79 | 10-11 x: xxxvxxxxxqxxxxxhx 80 | 6-11 d: ddddddddddtddd 81 | 1-3 j: bjbcj 82 | 8-10 p: pppptppzpp 83 | 3-7 z: zwldzgvztmbwwqwb 84 | 4-5 h: hhhrm 85 | 4-7 v: vvrvjvsz 86 | 2-4 w: prsdkgxw 87 | 1-4 q: fqqvqqqnm 88 | 5-6 k: kzjbpkkkzzktkc 89 | 12-15 s: ssvssssnsssdssgss 90 | 3-10 w: wwfcwcwwwrjww 91 | 6-7 t: thftndnvtztztb 92 | 1-6 w: qgzppbcdjbpwmsj 93 | 3-16 c: nccccfccrrcqhwcjck 94 | 7-10 b: bfscxbdbnb 95 | 4-14 x: xxrxsgxxwxptxxxdxdx 96 | 1-4 c: jccb 97 | 16-17 p: ppkppppppppppppwk 98 | 2-10 z: wqtzzbhzkv 99 | 9-10 b: bcbbqwcbbdvbzbfbsj 100 | 6-11 s: ssssswsssssg 101 | 3-7 c: wdcxzgtcrswqj 102 | 4-10 c: xszcrmcsxccbwccxwv 103 | 6-9 f: pffffffff 104 | 7-8 k: wkhkhdkkkkkkrbkk 105 | 3-4 q: cqqbqpg 106 | 3-15 s: sswvssssswssssh 107 | 19-20 k: kkkkkkkkkkkkkkdkkkkx 108 | 11-14 d: dddddddddddddnd 109 | 3-4 l: llll 110 | 3-4 t: bvtvtrr 111 | 13-16 b: bbbbbbbbbbbbbbbb 112 | 16-20 b: bbbbbbbbbbbbbbbkbbbw 113 | 10-11 v: vhvvvvvvvnvv 114 | 1-6 v: xsvmvvxvkvv 115 | 4-7 t: vttltqg 116 | 16-20 b: bbbbgsjbxkbbbbbbrbqb 117 | 15-17 c: ccccccchcccccxphcc 118 | 1-3 w: cmwbtnzwwlhr 119 | 2-16 j: njmqdfdsmrsptrjz 120 | 12-13 r: rrrrcrrrrrrdhr 121 | 11-14 j: jgjjjjjjjjtpjh 122 | 4-5 w: wwstw 123 | 5-6 w: mwrgwwmdwhzk 124 | 4-7 b: bbdlbbbbc 125 | 1-16 b: xbbhfbhbbbdbbdbbbbb 126 | 11-14 h: hhjhjhhhhhhzhh 127 | 2-3 t: jrtrt 128 | 5-6 w: pdwwww 129 | 5-16 m: mmhrmsvmxmvjdltm 130 | 15-17 b: rbdbbbbtbfbbxbbbbbbb 131 | 4-6 t: lzjtttqdpthkzrt 132 | 3-4 x: xcxxxxxxxxxx 133 | 15-16 z: zzzzzzzzzzzkzrcljz 134 | 15-20 b: bbbbbpbbmbbbbbbbbbbb 135 | 15-17 z: zzzzzzzzzzzzzcqnzzr 136 | 3-13 t: tntttttttttttt 137 | 6-10 s: jssmqsslsssddtg 138 | 9-10 p: ppppppppjp 139 | 9-14 d: sdxnfmpzlgvdcs 140 | 5-6 c: cccscvcc 141 | 2-4 r: rrrr 142 | 11-14 v: vvcvvmvvvpvvvjv 143 | 2-6 h: znfjphzqzdczp 144 | 5-12 j: msdjjbjbgjjjbl 145 | 4-7 h: hhhthkhhh 146 | 5-6 q: qqqqqc 147 | 18-20 q: pttqsnjcfchtfnqbjlqf 148 | 11-12 x: xxxxxxxxxxxq 149 | 5-6 j: xqbwjjcxjjljgj 150 | 7-14 g: pdkdbzgzjvdvwggpnnt 151 | 2-17 j: zhklmfrwspkgqbxjjdp 152 | 5-17 b: bbbnbkbbbgbbxvzxhb 153 | 6-8 b: bwhbbbbb 154 | 6-16 q: lgxlqsqqwwmqrqqfgp 155 | 16-20 j: jjjkjjjjjvjjjjjjwjjb 156 | 1-2 g: vggg 157 | 3-7 v: fvsvvxfvvv 158 | 5-8 q: vdqqqqqqcrqqxq 159 | 11-16 w: wwwwwwwwwwbwwwwnwww 160 | 5-7 s: swwzsss 161 | 3-6 d: hqwqcvdnqvh 162 | 2-7 h: hsqhthghhhh 163 | 4-9 d: dddtddddddd 164 | 8-9 d: ddddddddd 165 | 2-4 q: qqqsq 166 | 4-6 t: ttnlqt 167 | 4-6 s: sssszscs 168 | 2-7 l: ssfllslplqll 169 | 1-3 m: vmmlm 170 | 6-13 q: qtqqqrqqqqqqqqqq 171 | 2-10 d: zbldzlzssd 172 | 4-5 n: nnndq 173 | 8-18 b: wbbdgkvgscbdgqvxdj 174 | 5-6 r: srrtrrrrr 175 | 6-8 m: mmmmwbpm 176 | 11-14 h: hhhhhhhthhhhhm 177 | 2-4 p: pvpxpp 178 | 5-6 g: ggvgng 179 | 4-5 x: xxxtp 180 | 3-10 v: vbvvzvhvvvvmvbcvvwrv 181 | 11-13 d: ddddddddddxdldd 182 | 4-5 g: gggggggggggngfggg 183 | 7-8 j: jpjjjjhw 184 | 2-6 m: jmfrmmhhsgbmmm 185 | 6-10 v: vrvvvbvvvsv 186 | 8-15 c: cctrcccpccccgcc 187 | 14-16 d: ddddxdsdzwdddwdsddh 188 | 5-6 m: mmnmmb 189 | 2-6 d: dtwlswdnlkn 190 | 12-13 x: vldxvmxcnndzx 191 | 4-6 k: kkkxkm 192 | 1-4 p: pppp 193 | 11-16 b: bbbbbbbbbhdbxpbbbpb 194 | 1-5 j: jjjjjj 195 | 6-8 q: zqwdqszvqwqbrmhfqqm 196 | 2-5 q: nqqczhb 197 | 12-17 v: vvvvvvvvvvvtvvvvpv 198 | 1-3 w: wwlww 199 | 9-11 n: nbndcjnzntnvjnk 200 | 3-4 q: qqcr 201 | 15-17 p: plppppppppbppppplpp 202 | 1-2 c: cvdlsccrccldccvfcc 203 | 4-5 p: bpppcp 204 | 19-20 d: dddddddddsdddddddddd 205 | 2-4 t: bwbtmjbgkdlpjkrxt 206 | 2-5 l: llxdblrcvnpclt 207 | 11-13 b: bpbbbbbmbbbpbtcbbbzm 208 | 6-7 p: ppppppp 209 | 5-18 m: mqmmqpmmmmmwmpmzchms 210 | 3-6 g: ggggmggkgg 211 | 11-18 z: wjwlzzptzzzwbmzzgz 212 | 5-7 b: bbcxbfbwbbcn 213 | 4-5 p: szppp 214 | 2-12 b: bbbbbbbbbbbmbb 215 | 6-10 m: jmmmmwmtmfcwwxm 216 | 4-5 m: mrqzmmmptfkmch 217 | 13-15 q: qqqqqqlqqqqqqqqd 218 | 1-5 b: kbbbnb 219 | 4-5 t: qdtttszwwppbtllp 220 | 12-14 c: cccccccccccccm 221 | 4-5 g: gggdhg 222 | 1-4 b: wbtbb 223 | 3-6 d: ddrdgbdvdv 224 | 14-15 x: xxxxxxxgxxxxxvdx 225 | 13-18 l: lllllllllllllllllll 226 | 5-7 p: zjsxppv 227 | 4-13 v: vvvpvvvvvvvvf 228 | 17-19 q: qqqqqpcqpqqgqqqqqqmq 229 | 1-5 r: rlmrrr 230 | 8-9 j: jjjjjjjjw 231 | 2-4 q: dswq 232 | 16-17 z: zzzzzzzzzzzzzzzzzz 233 | 4-7 h: hhhzhhw 234 | 11-12 l: lllllhhpllllqlllln 235 | 11-12 h: hhhhdhhhhhrhh 236 | 3-4 j: pkthmjsjqx 237 | 15-18 b: bbbbbgbbbbbbbbbbbh 238 | 4-5 j: lsxklmdwmhj 239 | 1-2 p: pptp 240 | 8-10 g: fgggzrnggg 241 | 3-7 k: njkdhpkpqtqxhqwkp 242 | 10-11 l: llllllllllz 243 | 12-14 q: qjqhkqmqqwqgqcg 244 | 1-3 m: mmmm 245 | 8-19 c: dwzvhvbcpdbhcnrlcncx 246 | 3-7 x: xtxjljw 247 | 6-18 t: pttgnchttttttttqtt 248 | 3-4 p: pppxpp 249 | 15-16 k: kkkkkkkkkkkkkkvr 250 | 2-3 x: dxxmx 251 | 12-20 m: mmmmmjmmcmdmmmmmcmmm 252 | 6-13 h: sthvjhlhfhxlhb 253 | 4-5 t: pbrlttgmmwztxtrt 254 | 3-7 p: dpptmppp 255 | 7-9 p: hpppppppp 256 | 3-4 q: qdgqqq 257 | 1-4 c: cffcrkpdczhbj 258 | 1-8 d: cqdwddlrddd 259 | 9-10 n: gnkmnxnzmn 260 | 3-4 k: kkxx 261 | 1-7 d: vnddddn 262 | 8-12 l: jllnlcllllllllvllb 263 | 1-4 n: nnnnnhnnnn 264 | 9-12 s: tssssszsssssbt 265 | 8-13 h: nhnhdtkjbsfvbsh 266 | 2-4 v: qmvs 267 | 3-6 c: chcxccch 268 | 1-5 d: ddddd 269 | 11-15 l: pklllvllwlmlcklllll 270 | 1-3 v: dvkbwsgjzqzzjmznd 271 | 5-6 j: zjjjjjs 272 | 1-4 f: vbffrwfr 273 | 3-5 x: xxxxxrfdxmnbkrjbdzcx 274 | 16-19 s: spsssbmrpbwrhqssgft 275 | 13-15 v: vvvrvvvvbvvvvvv 276 | 6-9 q: lqfqgcwtdqzgrqqp 277 | 3-5 w: fwpwx 278 | 7-8 h: hnhschhfphjzphwh 279 | 2-6 r: rrrrrrr 280 | 8-10 h: hhrhzhhttm 281 | 9-16 w: wwwwwwwwfwwwwwwh 282 | 2-3 n: zbnfnlpcnjqftpv 283 | 14-17 k: rqwlkzqczczrlktcl 284 | 6-7 f: ffffffff 285 | 3-6 k: nndkjtpjzpmkkr 286 | 12-17 p: gpppbpmjpptpfnzpb 287 | 16-17 n: nnnpnnlnnnnnnmnnnnnn 288 | 4-6 r: rrsrwr 289 | 4-7 x: cnljrzcj 290 | 7-8 s: srgtqlmc 291 | 8-10 n: nnnnnnnvnn 292 | 2-5 g: ggqggb 293 | 7-8 h: hhqhgpxb 294 | 4-12 b: bxbchbbbbbbbb 295 | 2-4 z: qfzng 296 | 6-13 m: pcmmwdkmzlstn 297 | 3-4 v: qvdc 298 | 2-10 t: tktttttttmt 299 | 9-15 t: tttttttttttpttw 300 | 8-13 p: pppjpppkppdlv 301 | 6-9 g: gggggngqg 302 | 2-9 k: lzvkqkkkkk 303 | 8-12 h: ldpnjvchhshx 304 | 5-14 c: cccccvrccccdbccchjc 305 | 14-19 k: kkjksgrrkklhkkkkkkt 306 | 5-15 r: hrrrrrwmrlrgrlz 307 | 7-17 g: hbjtgsxbgrgggcjlk 308 | 4-6 q: lqcbqvzqrqzqxqnqd 309 | 5-8 x: xkdxsxxf 310 | 12-16 m: vxlfjgzgqhxmlvmmqmm 311 | 2-13 c: vccvjvqrgrsrqv 312 | 4-6 l: ltlrlpvnl 313 | 12-16 p: ppptdppppppcfppzpgsm 314 | 18-19 q: qfqpvwpwjqvlnrmvsqq 315 | 5-6 m: mmmmmh 316 | 6-7 m: mmmmsls 317 | 3-4 p: pvcg 318 | 6-7 h: hhhhhhj 319 | 1-4 g: gkggc 320 | 3-10 n: sqsndtgnjbnljnn 321 | 5-11 h: tcmlhlnbfnhgt 322 | 9-10 t: ttttttttxl 323 | 6-8 x: mxvxxxxhxxccbx 324 | 9-16 g: rgggthgxggdggjgg 325 | 7-20 w: wwnwwhvmtwnvwwpzdxvt 326 | 13-14 t: tttmttlttgttlptt 327 | 5-6 f: ffffpg 328 | 5-7 z: qzzzzzqzz 329 | 1-3 b: bfbfdhkwdzttcldtr 330 | 5-8 n: nnnnrnnqnnnn 331 | 7-18 m: hgnrbdmvmzqmhnhhpww 332 | 2-6 h: rjghpwxhn 333 | 5-10 m: bjqjmmnbvmlxpvvdds 334 | 3-4 v: hvjttv 335 | 4-8 n: nnpnnnnnn 336 | 1-10 g: gzxghcgkggggtxg 337 | 4-6 b: pbgblbbb 338 | 4-7 c: ccccccmc 339 | 2-4 g: ggwgtzvxqhjqphfg 340 | 3-5 t: htdtt 341 | 8-9 t: tttttptttttt 342 | 4-5 v: dvvvd 343 | 6-12 p: skzhnpblmpppcptfpll 344 | 15-16 l: llllllllllllllvp 345 | 6-11 b: mbbbbjxbbmbbf 346 | 2-4 t: mtqwtnt 347 | 2-4 h: wfhkh 348 | 5-6 w: wwwlwwwkw 349 | 7-8 k: kskkkktz 350 | 5-6 g: rggqcv 351 | 2-4 z: krmw 352 | 2-4 q: qqwqlrqcbxlxbpqg 353 | 14-18 m: mmzmmmmnmmmmmtmmmm 354 | 1-5 p: pqwfpnp 355 | 3-7 w: dwwxdwgwwksm 356 | 8-11 g: bkmcfcddjvw 357 | 7-9 s: srsszspss 358 | 3-4 r: rjrsz 359 | 12-14 k: kkkkkkkkkkkgkl 360 | 13-14 f: fffffffffffffh 361 | 7-9 r: qgxpglrlr 362 | 4-6 l: xflkll 363 | 2-9 d: gdddddddrqdddd 364 | 2-3 k: zskkzq 365 | 3-4 z: jzrtwgmtl 366 | 3-4 b: bnnbbx 367 | 1-9 r: rhmrwwrfmsb 368 | 7-10 b: btbbbbbbjbbb 369 | 7-8 t: lmttpttq 370 | 1-4 s: rcls 371 | 11-12 k: kkkkklkkkskq 372 | 14-15 p: ppppppppppppppp 373 | 3-7 l: dcslvkjgjcdk 374 | 1-6 l: hllhllpl 375 | 6-9 z: zdlqztzzkzz 376 | 10-11 r: rrfrrrrrrrqjpkkrmrrh 377 | 4-5 v: bvpqvvkvrxnvzmghbhmx 378 | 10-11 v: vvvvvjvvfcvvcvpj 379 | 10-11 j: jjjsfhdmjtcvbzj 380 | 4-5 z: zzzzzz 381 | 14-15 l: lllllllllzlllkcnl 382 | 3-8 c: dchcjjrccvm 383 | 12-14 b: vrwbfbqbbbbkbhgqjjh 384 | 8-9 g: stggqgctgpgggctt 385 | 15-17 p: pppppppppppkppqpp 386 | 7-8 q: qqqjvqhmqq 387 | 3-4 x: xxxxx 388 | 7-8 g: ffbgglgzpjgqvnglpsgh 389 | 14-16 r: rrdrrrrrrrrrrgrrrd 390 | 10-13 l: lllllllllllll 391 | 6-14 q: qfqzqnqqmhqqsp 392 | 2-3 q: qqqqq 393 | 17-18 f: ffffffqfffffffffftf 394 | 11-13 h: hhhhhhhhhhmhz 395 | 3-10 c: cccmcccccfzc 396 | 8-12 v: vvvvvvvvvvvvrfwrvv 397 | 3-4 v: vrnx 398 | 1-12 v: gfvsvkvvvzvcvsv 399 | 9-10 b: lbtgbbpcfbgb 400 | 6-8 f: fgnffkfshhfbfc 401 | 8-10 w: wwwwwwwwgpltzwzk 402 | 7-12 b: btbbjbhbbpbbqsbbbvp 403 | 11-12 r: vfcvrrrzrhvc 404 | 19-20 g: gggggggggggggbggggjh 405 | 11-14 s: sfsvsfsswsssscxssm 406 | 4-6 c: lcclcc 407 | 7-8 g: gggggggr 408 | 10-14 g: gdcpmgxlgggggtgbgg 409 | 2-3 b: bktb 410 | 9-13 k: krkkkgkkkkvkkk 411 | 2-12 f: bwtgngzflzcfchx 412 | 2-4 m: mmmmmmm 413 | 10-12 b: bbbbbbbxbbblcbpb 414 | 3-4 c: ccct 415 | 6-8 r: kgqvrrrjn 416 | 10-12 f: ffffffwfffff 417 | 6-7 c: ckcjcjccc 418 | 10-12 l: lllltllllllxll 419 | 3-6 q: qqgqqlxqqq 420 | 4-5 b: nbbbbb 421 | 7-11 r: rrrrrrrrrrrrrrr 422 | 10-11 s: sssssssssss 423 | 1-6 w: wwwwwwwlww 424 | 5-7 l: lrlmlll 425 | 8-12 c: fbcmjxccqcwc 426 | 9-10 b: ljmbxwbbbbbhbbb 427 | 2-4 h: shwgvlw 428 | 15-17 t: ttptttttktttkttttt 429 | 2-5 d: dddgdd 430 | 2-14 x: xbbtnzdvbszrlxl 431 | 8-10 c: cccccccbcx 432 | 10-12 k: kkkkkkkkmkkc 433 | 7-17 r: rzbcshqhmrzrktzdr 434 | 5-16 k: kvkkdkkkkkkkkkklk 435 | 1-7 p: hkplfbjdhsh 436 | 1-6 z: pnzzzz 437 | 12-18 m: mmmjmxmmmmmmmmmmcd 438 | 5-7 k: kskkdbsk 439 | 9-10 b: bbbbgbbbbw 440 | 4-6 c: cccccjs 441 | 19-20 w: wwwwwwwwwwwwwwwwwwwf 442 | 7-11 j: drzjhxkjjjkwr 443 | 10-15 c: cccfckccccdccxc 444 | 1-3 d: ddddc 445 | 13-14 j: jbjjknjjjjjjjjjjjzzc 446 | 1-4 m: mzmftx 447 | 1-4 t: rttt 448 | 12-17 t: tltqttzttttjwcttrwtt 449 | 6-10 m: rmfmrnmmmdmqp 450 | 6-15 p: jpfpppwppppppznpppp 451 | 4-8 p: mppxctpb 452 | 2-4 z: gwzzrn 453 | 3-4 p: ppfpp 454 | 3-4 b: bbbh 455 | 11-17 l: llllllllllllllllhll 456 | 4-6 m: mmmmmmm 457 | 4-6 c: ccccjx 458 | 11-14 g: gggggggggggggg 459 | 3-4 l: llflq 460 | 9-13 p: pspvvcpkpcpzpfpk 461 | 1-4 n: nhwn 462 | 6-10 j: jjjjjjjjmjj 463 | 9-12 p: ppgpwxpplgppzpppwpp 464 | 10-14 h: hhhhhhfhhhhhmxh 465 | 8-10 l: llllllmcwfl 466 | 7-8 h: hhjhhhps 467 | 8-11 v: grvvvgbvxvvlhvvbdvr 468 | 5-6 m: fmjjbmp 469 | 1-2 x: xxhd 470 | 11-15 n: nnnnnnnnnncnnnm 471 | 1-8 g: jgggbggd 472 | 13-15 l: lshllllllllllll 473 | 5-12 r: crrsrrrrprtrr 474 | 10-16 k: hkkkkkkjkgtkkkkkq 475 | 5-16 j: prxjxjjdxzjjvjjwfj 476 | 7-8 k: pdkkkkkzkzw 477 | 3-4 s: sstg 478 | 1-5 x: vxxxb 479 | 10-16 s: tqmzsfksjzfmlqzsdb 480 | 2-5 r: rcrxjr 481 | 10-15 v: jcbvvvhvvvkwrgvvvvv 482 | 4-6 n: nnxnnpnn 483 | 13-18 l: llllllllllllbllllgl 484 | 9-11 g: vwqgnrzlclgqtp 485 | 2-3 f: fpms 486 | 3-5 l: llllllll 487 | 7-12 x: xcvxzxxhxxxxxxxxqxxv 488 | 6-10 b: fcfpwbmbhbpbbqkkbxb 489 | 8-11 z: nrnzzqzzzzck 490 | 8-9 g: nggdfgdgggfggg 491 | 2-6 d: sdztkkfvpkddggdxd 492 | 10-14 g: nhdstmlfxcggcs 493 | 10-11 g: ggzfglgggmcxgjh 494 | 3-13 x: cxjxxxxxxgxvj 495 | 9-10 h: smlxphtmkhf 496 | 7-8 v: rhdvgcvrdvvvvvxwvssh 497 | 7-14 n: nnnnnnncnnnvnn 498 | 3-6 z: zzzgznzz 499 | 6-10 l: llwmgllljllll 500 | 4-5 v: vwvvpvw 501 | 7-8 m: mmmmqvmqmv 502 | 13-14 z: zzzzzzzzzzhzrcz 503 | 3-8 h: bdmhcxpgbpjvwfmh 504 | 3-5 h: nhhjk 505 | 11-19 b: zrrmrqbfvwbnmvkvbzbv 506 | 3-8 c: ztwqhccmwzvcbxjjrc 507 | 4-9 h: hhhhhhhhh 508 | 2-15 d: lddzlxhkscrmfbd 509 | 3-9 s: kpscwnwzj 510 | 10-11 w: zwwlwxwwwwwwww 511 | 4-5 v: dpvjr 512 | 1-3 d: ddtd 513 | 3-6 x: xxdfxxxrbdh 514 | 3-6 g: dghwgxg 515 | 8-10 z: zzzzzzzpzz 516 | 13-15 p: pjpxpppppdcpphlppjp 517 | 6-16 j: jjjjjljnjjjjjqjjjwx 518 | 11-17 f: fffffffffflfpfffxff 519 | 8-10 j: jjjjjjlwjkjrdjjjj 520 | 8-9 w: wwwwfwwdkww 521 | 4-9 x: qpxbhxwxxkx 522 | 5-7 w: wwwwbwl 523 | 1-6 m: mmfrmmmm 524 | 8-9 l: lllllvlsl 525 | 3-4 d: dddd 526 | 6-8 c: cqcptcfcgcrzbjcccp 527 | 10-11 k: dccpkmkkgkkdzkkkkkk 528 | 3-4 j: jjjr 529 | 3-9 h: hzhwhchzhjg 530 | 7-8 g: bxgnvvzfsbggdgg 531 | 2-17 f: ffffffffffffffffffff 532 | 7-13 g: ljggdgztggvgtggg 533 | 9-13 x: rxlxrxxnwqxpcdxq 534 | 10-11 j: jjctjjjjjfjj 535 | 8-16 k: zpzskgkkkvsbxhsk 536 | 4-5 l: llljl 537 | 2-6 b: bbbbbb 538 | 1-3 w: swww 539 | 6-8 r: rrrrrbrbrr 540 | 8-9 t: tttttttth 541 | 3-5 s: sssss 542 | 3-14 q: qqxqqqqbblqqcqmqsq 543 | 7-8 v: dmfvccvvvbvmwjvvvqfv 544 | 5-7 v: qvvvvvvvv 545 | 4-9 c: cgcgvncctwrtv 546 | 3-5 p: ppnpppp 547 | 13-15 h: hhhhhhhhhhhhhhhhnhhh 548 | 5-8 r: rrrvpgrdbhrc 549 | 2-9 q: szlqwzwhqxbxkr 550 | 5-6 c: cwrmhxcpxchzccb 551 | 4-6 z: zzjczz 552 | 12-14 p: pwqkbphzplxhnpm 553 | 8-13 t: tkkzjttrstbtwttd 554 | 15-16 m: mmpqmxbxdzmqmmmb 555 | 4-6 c: ctcpczdd 556 | 2-3 j: fdjjj 557 | 15-19 k: kkkkkkkkkkkkkkpkkkwk 558 | 2-3 c: cccc 559 | 1-2 w: wwfqwwgpmv 560 | 2-3 h: wfzmhm 561 | 3-10 s: wbsbvhfxjgxfqstwqn 562 | 15-16 r: sxrzvkqpqmgzgtrr 563 | 3-5 m: fmmtmqjxzss 564 | 12-13 k: ddsnpkfvknhwq 565 | 5-11 z: lzwvzhtzzzz 566 | 12-13 t: tttttttttbdgtft 567 | 14-19 g: gggggggggggggggglgnv 568 | 3-4 r: rrrr 569 | 3-7 h: xchhnhh 570 | 10-11 n: ndnjnnhnnnk 571 | 5-7 l: llllhll 572 | 3-5 p: ppppb 573 | 11-12 s: rrsjzvswsdtxssv 574 | 2-10 z: ztxzzzzzztzp 575 | 16-17 m: mmmpmmmmmmmmmmmmmmq 576 | 1-6 b: wkbfntzw 577 | 10-14 n: nnnngrnnnnnnnnnn 578 | 1-3 b: pbdfsbbp 579 | 6-13 n: brnwnhnnsnnrwncnmz 580 | 2-11 f: mlhpdjflklzmhxt 581 | 1-2 f: shzsffl 582 | 8-16 k: kkkkkfkxfwnslkkm 583 | 13-14 b: bbbbbbbbbbkbqbb 584 | 2-7 x: zdxxxxxx 585 | 6-10 h: hhthmpvhnlk 586 | 6-7 p: tppfpqpcppppxpmpcpp 587 | 3-5 m: grmkm 588 | 5-11 w: vcwbwwwbwwswnrdwfwx 589 | 1-6 s: sssrssssx 590 | 13-14 j: jjjjjjjjjjjjgj 591 | 14-19 q: sbqqzqnqnlzdrlqqqtkl 592 | 3-4 t: btdttvzrvnjst 593 | 1-7 s: ssbsssmhssssdsc 594 | 3-4 z: vcdzj 595 | 6-13 v: vvvvvvvvvvvvvv 596 | 2-7 t: ttttgpthqhmth 597 | 5-9 z: zzzzwzzzl 598 | 10-15 w: wwwwckbzwwwwkwwlrwb 599 | 2-7 r: wjrbdzrjxrstrc 600 | 1-8 z: dpzzzvcsx 601 | 4-6 c: nccxccvcccczcccdc 602 | 1-10 c: cccccccccc 603 | 3-7 d: zdmdpdntdpzncdbff 604 | 5-9 x: xvlvxldrxxmbdcdxxxz 605 | 6-7 p: ppplppjcwcpp 606 | 2-7 d: pwnhpdd 607 | 2-3 q: hqqsdqxs 608 | 6-9 t: smttzjmktq 609 | 7-9 t: ttttttttp 610 | 4-19 w: wwwrwwwwwwwkwwwwwwnw 611 | 17-20 s: cssvssssssssssssssss 612 | 10-11 s: srssssssssss 613 | 5-6 f: ffcfjt 614 | 3-4 d: ddgdddddddd 615 | 2-15 s: sssssssssssstsssssss 616 | 2-4 c: kmccnnt 617 | 2-3 f: ffff 618 | 10-14 s: vspjssnsssssshvsq 619 | 9-10 k: skkkkkkfxkkwk 620 | 3-5 g: mgnggjpgspcf 621 | 4-15 z: zzzdzzzzzzzzzzzz 622 | 3-4 c: cgcc 623 | 6-7 s: sssssjs 624 | 2-4 z: ztzz 625 | 17-18 w: wbqwwnwwwmwvwwhgdnl 626 | 13-15 d: dwddddddddddwdddd 627 | 4-7 g: gzghgcnq 628 | 3-9 n: snnnnnmll 629 | 2-7 j: sjhtsxj 630 | 2-6 h: khvzdhhr 631 | 2-10 t: tttttttttttttttt 632 | 4-6 x: xxglxwjrx 633 | 3-4 r: rjrc 634 | 5-13 b: bbbbbbbdbbbbbb 635 | 3-4 q: qqrhqq 636 | 8-12 g: ggggkggdgggbg 637 | 3-12 j: jjjjjjjjjjjjjj 638 | 1-5 c: cbcch 639 | 10-11 r: rrnrvrrrrzn 640 | 4-16 j: jjjpjjjjhjjjjjrjjjv 641 | 8-9 f: fffffzdsvfccfr 642 | 14-16 f: ffzfjfftfffffffffff 643 | 2-8 n: ngnnnnntnnnnr 644 | 6-11 n: nchnnvnnnndn 645 | 4-5 w: sfwvm 646 | 6-14 s: ssssssvsspssqhsss 647 | 3-4 m: sjjb 648 | 2-4 d: dnkjd 649 | 3-9 s: twsgkmqstq 650 | 6-14 f: ffffffffffhfff 651 | 10-15 w: wmwlwwwwfgwwjrzwwwww 652 | 3-11 f: fffffkxfffffmfff 653 | 1-2 l: jlrpl 654 | 3-14 p: pbnpkbppxhppmpp 655 | 1-14 v: bvvvtvvvvbvvvh 656 | 3-4 s: zssvs 657 | 3-4 l: llljrlk 658 | 8-12 f: ffcfffczlffff 659 | 3-13 m: xsmgpvzsrrwmxtbktsrj 660 | 5-7 j: qxvjjlqjjjjj 661 | 3-4 r: rbdwg 662 | 13-14 d: dddddddddddddg 663 | 10-12 f: lqvhjnkfrfffv 664 | 6-7 n: njnnnhz 665 | 11-13 v: vvvvvvvvvvvvs 666 | 12-13 v: nvvsfvvvvvnvdvjxvvv 667 | 2-19 s: slsssssbsskspssssts 668 | 9-11 n: nnnnnnnnnnm 669 | 4-5 j: mhngjjrhjcjkjw 670 | 12-18 p: pnfwppppprsqrppltppp 671 | 9-13 s: wsssfsjsssfssss 672 | 6-8 b: bbbbbzbj 673 | 9-12 c: lcccccrccctv 674 | 7-11 w: wbdwwqwwkbwws 675 | 6-19 c: cccrmldccfhtvclcccc 676 | 9-14 h: bhhhhdhjkhhhhm 677 | 7-15 g: gkgggggvcgggghgggz 678 | 4-8 k: kknklwkkkg 679 | 10-13 c: ccccccxcccccccc 680 | 10-14 c: ccbcfcccptcczbcc 681 | 8-9 s: scsssssss 682 | 1-7 v: bvvvvvvvk 683 | 4-8 s: dspsskkstklsz 684 | 9-10 b: blbkkzbvvpbhbbbb 685 | 1-2 m: qgntnbccqm 686 | 7-14 w: wwwwlftgspwmwr 687 | 4-13 n: tnxmnnwwnnlnnnnz 688 | 3-5 c: cwzbs 689 | 3-6 d: dddddl 690 | 6-8 s: qsfssrnsst 691 | 1-2 l: llxcx 692 | 9-11 g: zhzkcbglvgw 693 | 5-11 f: lfzgtbcmzzw 694 | 6-19 m: gcbgjbqrdkswqhmxjct 695 | 1-3 z: dzzz 696 | 9-13 t: wttftcddttmtttgttnvt 697 | 14-15 z: zzzzgtzzwzzzzzzzzz 698 | 1-11 q: qqqqqqqqqqqq 699 | 4-5 j: rxjjjxjwjjj 700 | 3-5 v: gqjhjvlvlbmkgssd 701 | 16-17 q: qgcbftwncjhdzwqmw 702 | 1-3 g: tjftgp 703 | 11-16 l: rlllllllllgglllm 704 | 4-6 z: zprzvrfbpblf 705 | 7-11 j: jjjjjjjjhpjmjj 706 | 3-4 l: ltlrblllwljljlc 707 | 8-11 k: kkvkkkkkbqkskrkkd 708 | 5-10 r: hjrcrrrdvtrkrvrxrr 709 | 5-6 x: xxxxpx 710 | 13-16 g: gmggggggcggpwgghgt 711 | 3-4 h: hzzp 712 | 13-15 h: hhwhhghhhhhhhhh 713 | 3-5 t: mlftttt 714 | 8-13 c: cccccvcdccccfcccccc 715 | 1-6 k: kczzpq 716 | 8-14 t: rtcttttgtttttgtttz 717 | 6-7 l: lhsvlll 718 | 1-2 x: cxlr 719 | 8-10 t: rtbtttttsblttttb 720 | 11-14 z: zzzzzzzzzzdzzzz 721 | 2-3 t: ltttbthjdxwbxrv 722 | 5-6 x: xxxxxxxkx 723 | 8-12 f: fffffpffwfng 724 | 5-6 x: xxxxflxxxxx 725 | 5-7 d: ddddvvk 726 | 4-8 j: ttjjjjhj 727 | 2-5 p: rtrmpksjdvpplmrkl 728 | 9-11 s: ssshsskssssssr 729 | 5-8 j: wjnjjvjjfjjhf 730 | 4-6 q: qlpcjqqqq 731 | 13-14 m: zctdnmkjstxbmmfqtns 732 | 4-11 n: nqntnngnvmnknrnwnnl 733 | 3-5 d: ddfvdnkd 734 | 9-14 j: wsznlrpljmjwjjjkmtk 735 | 2-6 w: wlwwwww 736 | 9-12 j: jjzjxjjjjhjp 737 | 10-13 v: zvvvvvvvvfvwlvvvv 738 | 3-18 x: dzxcqgwxpwxvpmcxxdxx 739 | 2-3 w: wsgwwd 740 | 3-20 n: nrnfxnnnnlnnnnnfnrhp 741 | 3-8 f: fmvjwsffvxjfnlw 742 | 5-6 l: llllcs 743 | 3-5 b: bbbbbbc 744 | 2-7 l: rlwkflnsm 745 | 4-18 m: dqskhdqgmrpbgtmdnp 746 | 4-6 r: grpxzr 747 | 5-7 m: mmmmmmjmm 748 | 7-8 b: bbkkbbkbb 749 | 1-4 r: rwrtr 750 | 5-6 g: gggcggg 751 | 4-6 l: qlcbwrsf 752 | 16-18 t: tttmtttltvtttttxtrtt 753 | 3-4 z: zzzz 754 | 6-10 g: gggggtgggg 755 | 12-15 f: tffffffffqrffvvftffh 756 | 10-16 w: wwgwwpwhqdwhwpbw 757 | 5-7 m: mpmmmmm 758 | 3-5 b: bbxtbbb 759 | 5-10 x: xxxxbxxxkjkx 760 | 10-12 b: bjbldbbbwbxg 761 | 3-4 g: gnggqgg 762 | 2-4 s: sstst 763 | 6-10 j: jjjjfvjjjj 764 | 16-20 r: rrrrrrrrrrrrrrrrrrrr 765 | 4-12 b: bbbxbbbbbbbbbbbbb 766 | 3-4 k: kkpk 767 | 4-7 s: ssssqsh 768 | 10-13 b: vbzbbbbnblbbb 769 | 12-14 f: rgqffrfsvftwff 770 | 2-4 x: bfxvhmsxnqxz 771 | 10-12 c: ccccccccccbcc 772 | 1-4 l: llxbmjpll 773 | 9-14 f: ffhfmpfffffzfgcg 774 | 3-4 n: ndfm 775 | 1-6 k: lkmdzgfbkfktkkvkw 776 | 12-13 q: qtkqqgqbqtqgvqqqzq 777 | 7-9 d: ddddddhddsd 778 | 4-11 j: kdqjjjjjjxg 779 | 4-6 k: kkkgkm 780 | 6-12 n: nnnnndtnnnnnnv 781 | 2-6 c: dccccdc 782 | 10-11 v: vvvlvvvvvvb 783 | 7-10 w: wwwwwcwtzwkpvjqwsb 784 | 1-5 x: xxxxxxx 785 | 5-8 g: dhggzggsggggglgggg 786 | 8-9 t: dttttttdtfnt 787 | 11-17 g: cqgglgtwgggcbwjvwg 788 | 1-2 t: ttttt 789 | 16-17 j: jjjjjjjjjjjjjjjjjj 790 | 4-7 k: lkdkhkkkfk 791 | 15-17 z: zzzzszzzzzzzzzwzlz 792 | 3-13 w: wwswwwwwwwwwfwww 793 | 5-12 h: mstzhsghhhhnzmdrh 794 | 10-12 h: hhhhhhfhhphhbhhk 795 | 3-4 j: jjsd 796 | 11-12 k: kkkkkkmkkmfd 797 | 19-20 d: ddddhdddddddddddddxj 798 | 7-8 g: gggjggrg 799 | 4-5 m: mdzmv 800 | 3-4 w: wwww 801 | 7-8 b: bdbwbbbbb 802 | 2-12 q: dxqqqqqjqqqlqq 803 | 3-6 w: wwwwxwh 804 | 9-11 s: smhnkssssssstxj 805 | 5-6 n: nnpnkj 806 | 7-8 s: qsgdxkjs 807 | 9-14 m: mmmmmmmmsmmmmv 808 | 1-3 v: vvcvv 809 | 2-5 x: kzxgjttwxspclfx 810 | 5-8 c: ccctpcckz 811 | 5-6 h: hhhchthqxchh 812 | 3-7 t: hnrcqdtttmtxtnmhcf 813 | 2-4 v: vvlz 814 | 4-5 k: kbgkl 815 | 9-12 x: mhzpjqtxqnfrcnwhk 816 | 7-11 z: slztclzvxbzmz 817 | 13-14 l: ldllllllllllkcl 818 | 1-2 l: fslcthfv 819 | 12-16 b: bxbkbbbbbbbbbbbb 820 | 1-4 r: rrmr 821 | 8-11 d: dddfdpdddtdd 822 | 17-20 n: nnnsngnbnnnnnnnncnnn 823 | 1-16 x: xxxxxxxxxxxxxxxxx 824 | 2-4 z: zqzv 825 | 1-4 m: fnwm 826 | 2-3 j: jqvd 827 | 10-12 h: ghhhhhjhhchg 828 | 14-15 v: vvtvvvvvvvvvvvv 829 | 4-6 f: ffffff 830 | 8-20 g: tgghjfglrzggggcxhcgg 831 | 9-11 p: pvpmzppppkpk 832 | 5-18 x: xxxxnxxxxxxxxxxxwlzx 833 | 10-11 m: mgdmrfchqwmfmrlnq 834 | 7-8 g: gggggzxs 835 | 4-6 n: vjnchzknzbvnvn 836 | 17-18 p: pppppppppppkppppjp 837 | 6-8 d: dddddfddld 838 | 1-4 r: brrr 839 | 2-10 m: mzmmhqmmmmkmmwm 840 | 8-15 f: cfjwxkgmfkxdmwxf 841 | 3-8 c: djskjzcmwjcz 842 | 2-3 k: hkckkjbztrggrffvxwm 843 | 11-13 d: krddnddddrddgdddd 844 | 4-5 f: zjsndf 845 | 4-5 r: rrrgl 846 | 1-2 z: tsbn 847 | 1-11 s: sssdwtjssssskkszms 848 | 6-16 x: xfxxtxxxxxxdxzxmxx 849 | 5-13 m: mmmmmmmmmmmmmvm 850 | 2-4 z: zdzj 851 | 3-4 d: dddd 852 | 3-4 n: nnmnkv 853 | 14-16 d: dfddddddddddtddddqdd 854 | 5-7 n: jnnnnnnj 855 | 8-16 q: qqltjqqqqqqqsqqfq 856 | 10-14 s: sssxsmsssvqjssss 857 | 6-7 w: wwwwjwwxwd 858 | 2-5 m: mzqcndqmnmmgwmsspm 859 | 9-10 k: tkkkkrkkkhkk 860 | 3-5 r: rxrrrrr 861 | 7-11 c: glfcdqrcnfhc 862 | 8-9 r: rrrrrrrjd 863 | 7-8 d: ddddddlk 864 | 2-7 j: pjsmjjr 865 | 2-4 x: txxx 866 | 13-15 f: ddkhqfnbcmtwvbf 867 | 7-11 n: nnnnnnnnnnvn 868 | 7-9 m: jmmmlgmmthlrm 869 | 8-13 w: wwwwkwwgwwwwfrwww 870 | 2-6 d: drdrhn 871 | 8-10 k: lnkfrvgkzkchq 872 | 4-7 z: lxjzzzzhzprrzzzpcwj 873 | 1-2 s: lssc 874 | 2-3 n: jmkcngpn 875 | 3-9 x: xxmzxnxxxx 876 | 3-12 v: nqwshwqgfnwvwvnf 877 | 5-8 m: zmmmmmmmqlkprv 878 | 1-5 q: qpqrqwqsvpjqf 879 | 14-18 q: qqqqqqqtqqqcqqqqqq 880 | 13-16 v: vvvvhvvvvvvvrvxdv 881 | 2-6 r: rrlrrrk 882 | 6-8 r: hmsrxsrkprdrrrl 883 | 14-16 s: sssssslssgswssssss 884 | 3-11 t: ctttvsnfcstzktktb 885 | 1-11 c: gwfbddphwnqcmf 886 | 3-18 h: hhhhhhwhhhhhhhhhhs 887 | 7-9 c: cjjcrtpvctccfcc 888 | 6-14 f: fffffgfffffffff 889 | 8-15 z: zzzzzzzzzzzzzzdz 890 | 9-16 d: ddddbdddhddddqpd 891 | 1-2 q: qffc 892 | 3-5 l: grcsjln 893 | 12-13 q: qqqqqqqqqqqqq 894 | 4-5 q: qqqlk 895 | 1-3 w: wwwx 896 | 3-4 w: kwwf 897 | 5-15 m: pkwmgmmxspzxhmmrmp 898 | 5-18 t: ttfthsbwntpcnttmwtc 899 | 14-15 p: pjpjwppkpxpqkpf 900 | 1-3 n: nnnn 901 | 8-9 j: jjjjjjjbxj 902 | 4-6 w: gfhwfwwmfx 903 | 8-11 k: kkckkkknkkkk 904 | 13-14 m: mmmmmmmmmmmmsqmmm 905 | 2-4 s: tsrz 906 | 9-13 j: tjvjqpnjjjlkwjjljrj 907 | 3-4 f: xwfgf 908 | 2-7 h: rhxshbh 909 | 10-18 j: jjjjjjgbjjjjjjjjjjj 910 | 5-14 n: fnwnnnsnnnncnpnn 911 | 9-13 h: qhhlnhhhqhhhm 912 | 3-17 h: hhfgzkhhjhrbhwdcpbnh 913 | 2-4 c: qccrblqtcd 914 | 13-16 s: ssjssqssssqsxssw 915 | 10-15 n: nnnnnnnnnqnnnnf 916 | 2-3 m: nmtl 917 | 2-4 w: wqwdt 918 | 4-7 v: vvvvvvvvvvv 919 | 5-6 w: wbctwwwgj 920 | 4-6 q: qqqttqzzwsxp 921 | 2-7 r: rcrrrrrr 922 | 10-12 d: sdmddcfdddzvdddddq 923 | 1-15 f: ffffffffffffffffff 924 | 3-7 r: rrwddcjgr 925 | 2-11 t: tttttgttttttt 926 | 3-6 n: nhxgnqnnfs 927 | 1-3 t: pqtwt 928 | 8-17 r: rrrrrrrrrrrrrrrrrrrr 929 | 3-16 t: tktnpjtcthrhtqltq 930 | 5-6 h: kcmkkqdrbhhxm 931 | 3-4 l: llll 932 | 1-14 g: gggdgrvjtqfgpk 933 | 5-8 p: ppppplwcpp 934 | 4-7 d: ddddtdmdd 935 | 1-7 q: qqvxrqq 936 | 8-10 v: pvvvgkqrvvgnvlvv 937 | 17-19 g: sdgghgnggggggfbmggp 938 | 6-8 x: rvjknxlx 939 | 13-14 r: rrrrrrrrrrrrrb 940 | 3-10 b: zbkmbbbbbb 941 | 4-6 d: kdtbdmkd 942 | 8-12 m: mmzmmmmmcxmmh 943 | 7-8 n: gspnbfnp 944 | 13-14 l: llllllllllllnf 945 | 4-5 b: rzbbbxblvbwbrbbbx 946 | 3-5 x: bxgrcxxrk 947 | 2-4 j: jjjh 948 | 11-13 r: rrrrrrrrrfrrrrrrr 949 | 4-7 q: mwqqfqqqnwqwq 950 | 2-3 g: sghvhggvv 951 | 4-5 k: kkkkk 952 | 11-12 s: ssssssskssgss 953 | 16-17 g: dcgqnwtptvvlfkdgg 954 | 4-5 v: vvvqc 955 | 2-6 s: xsksrmrrd 956 | 7-8 w: swwwwwfnww 957 | 5-6 m: hmgchm 958 | 6-8 m: mmmglzmmmhfnfqk 959 | 2-5 c: bnjknt 960 | 2-3 x: lxxj 961 | 1-4 g: gqgpzgtj 962 | 3-12 c: cngsrcvcjccxgcc 963 | 2-11 z: zpzzzzzzzzzzz 964 | 6-7 s: ctsxgslsjbstspgsl 965 | 1-2 v: vnqs 966 | 4-5 n: rnnwcnfl 967 | 14-17 v: kvvvvvvvkvvvvbnvw 968 | 5-6 h: hhhchhh 969 | 1-7 d: vmcdddj 970 | 14-16 n: snnnnnnnnnnmnnnhn 971 | 11-16 h: hhhhhhvhdhrhhghn 972 | 3-5 k: lckkknk 973 | 1-12 t: tcttbpgtdwdxwddrxv 974 | 1-13 x: jxxxxxxxxxxxfx 975 | 11-12 l: llllflllllll 976 | 11-14 p: qpphckzdppkjxz 977 | 3-16 d: nfngxfjxwdpjvjcds 978 | 4-5 b: xkbmb 979 | 11-12 s: sssssssssshs 980 | 15-17 t: tttttttttttwttttt 981 | 14-15 x: xxxxxxxxxxxcxxgm 982 | 3-5 t: wxlttc 983 | 10-11 x: xxxxxxxxxtk 984 | 9-12 h: hhhhhhhhdhhhh 985 | 5-20 d: smdvdkdbqbnsdssfhdnd 986 | 16-17 d: ddddddddddddddsvtddl 987 | 6-11 v: kvvvvvvmvvdv 988 | 2-5 r: nrrgr 989 | 1-4 b: bbbc 990 | 8-10 p: ppppptjpspkpppp 991 | 7-10 w: pjhswvhdjqx 992 | 11-13 c: cfcfccbcctgnccccvcc 993 | 8-14 t: tttttttttgtttttts 994 | 1-4 c: fcccc 995 | 4-6 v: tvfvvvqvlkrpxkvvhztr 996 | 3-6 v: vvdvvbv 997 | 13-15 p: pwppppppppppppp 998 | 1-2 v: pwbr 999 | 15-18 r: xrrrbrrrgrpbrprrqrqr 1000 | 2-4 g: zgggp 1001 | -------------------------------------------------------------------------------- /resources/puzzle_input_06.txt: -------------------------------------------------------------------------------- 1 | bapocnysdr 2 | lpandcmb 3 | bplndca 4 | 5 | rgi 6 | ci 7 | i 8 | iv 9 | 10 | xdgwtsc 11 | gtcxswd 12 | sdcxtwg 13 | 14 | g 15 | j 16 | k 17 | 18 | drcmwzh 19 | aostudi 20 | 21 | qziunh 22 | hgkaslmyz 23 | 24 | fovlpdhurzqsway 25 | zvciokytxbaf 26 | 27 | y 28 | y 29 | yp 30 | y 31 | y 32 | 33 | gqouslwfihtxvke 34 | bapdmyncjzr 35 | 36 | ywirnpmozqle 37 | jhapfdzuvgc 38 | 39 | ce 40 | evn 41 | yzsem 42 | 43 | phdcuxgtosjier 44 | jfixnurtyopdh 45 | 46 | mxjs 47 | mxkjis 48 | jxsm 49 | xvmbsj 50 | sxjcmh 51 | 52 | sgrbtmqxpwkacnzd 53 | brncqxtskawgpzdm 54 | mxqjtcpzbswgrnka 55 | 56 | fxijprlkbhte 57 | herpxfbikmtlj 58 | 59 | ltuyidqkcrevanw 60 | whbqavirludxtye 61 | vfirqwmsaopyzld 62 | 63 | q 64 | q 65 | q 66 | 67 | faxhswigtprou 68 | xhlusnijytkrwza 69 | xaqsburiftwh 70 | rtahxwcsiu 71 | 72 | cuplrimdtxke 73 | letpjuimzrvkcyx 74 | cpleiuxdktmar 75 | wrfgkubeoqxsihpntmc 76 | 77 | zpbjimulvrdwxsog 78 | hfmspnuokbxe 79 | 80 | ctm 81 | ctm 82 | mct 83 | 84 | tvkocqebls 85 | qcnbktsveo 86 | fnvkbscqyeot 87 | mbcsoevkthqj 88 | 89 | tyjgd 90 | tydjg 91 | tgdyj 92 | dtgyj 93 | 94 | xgiybeuhtkfdonq 95 | diuqvfycrokhgxbt 96 | igfdbhpqklxuyntjo 97 | zxqkymfohstuiwdgb 98 | kgoutiyhfxqcbd 99 | 100 | wzfiaexksp 101 | fizxyskw 102 | 103 | azsqntcghjmio 104 | mgksdwpcitvxqjr 105 | 106 | ctwzu 107 | jwctuzes 108 | 109 | bpymqfisrvtuheljwadx 110 | iejsubvxhdmwpqgfrltya 111 | jbxmfshuvyegwqlpridta 112 | vpxbwlqumetdrijhfnays 113 | 114 | w 115 | i 116 | i 117 | i 118 | i 119 | 120 | fctbvjmnroypuxhlakzw 121 | cbpnmyzrtjuavfohkxlw 122 | znoptxwakjfucmhrlvy 123 | nkmlrhygxcazowtpquvjf 124 | 125 | ibanduczjfmpt 126 | gqimbtadcuoszjfprl 127 | mtaizxcdjpbfu 128 | mjfaiubcdzpt 129 | 130 | kdxav 131 | maxvudr 132 | adxv 133 | qxavdi 134 | 135 | uajvepgoxhwsqkym 136 | hwesxqvpuzgb 137 | 138 | lp 139 | pl 140 | pl 141 | lp 142 | 143 | tawk 144 | suwtc 145 | stw 146 | ixltp 147 | wto 148 | 149 | phrawmes 150 | bscrhki 151 | 152 | xhwurk 153 | hwea 154 | bhwe 155 | 156 | tuhvebm 157 | bemtuhv 158 | 159 | prziuqhcye 160 | qipyrhezcu 161 | ueqzyprhci 162 | yurseihcqpz 163 | 164 | mnfotvpzdxbaglye 165 | nbjlomxzacfqgey 166 | glxhuwoskyrabi 167 | 168 | tohbrluismcagnypqdv 169 | duqbhylatcvosnprimg 170 | qtpbduycrlosngivhma 171 | nvgucpayidlhsomrbqt 172 | 173 | grslqxjdytzficnuo 174 | klarqjpxfscgyouzi 175 | 176 | qozstka 177 | pjnruvic 178 | fchup 179 | 180 | yjautz 181 | ajue 182 | vlufjx 183 | ujy 184 | 185 | inythxv 186 | bhxvytin 187 | htlnxviy 188 | 189 | mhcqvt 190 | sqtvchm 191 | htqmvc 192 | 193 | vswymdnahrq 194 | hrnqvysawmd 195 | ndsmqvwyrah 196 | mraywhsvndq 197 | 198 | jtxayp 199 | atjxp 200 | jpraxgt 201 | jatpx 202 | adbwpjltx 203 | 204 | vbni 205 | ivgfn 206 | avyqtmsikn 207 | nhwivrf 208 | 209 | fkygvtsbpazdjwxrmqoi 210 | btyfwsvpdiarjqoxmg 211 | wvqyiaprsmftgxdojb 212 | 213 | a 214 | a 215 | an 216 | 217 | pynvsfcbherzqiwumjaod 218 | dsivqjmurcfnzebyhopaw 219 | mqsvnueoihczyrfdwpbja 220 | gjqsaiwdczpvublmnokfryeh 221 | 222 | drawsthnfvzylebo 223 | jmkzqhbgicxsu 224 | 225 | pg 226 | hdob 227 | nq 228 | 229 | gdbxpwmtvhoaely 230 | omvdgatwbxlpyeh 231 | gtbyxrvwmhladpeo 232 | 233 | ugowlqebtcpdxz 234 | wzobutlqgdxep 235 | tulbvxwfadjpogqze 236 | qubdxgztpknolwe 237 | epztwlbxqgodu 238 | 239 | rsvebtycq 240 | becltsrnvw 241 | 242 | tgsljhz 243 | zhltjs 244 | hsjltxz 245 | 246 | daguc 247 | fbpudxyg 248 | glidjuo 249 | goadus 250 | udjgaz 251 | 252 | qkpwetasjfbdvh 253 | glixc 254 | 255 | pufekjh 256 | xegpq 257 | poewviyn 258 | enlbvp 259 | tpesm 260 | 261 | zqfiwx 262 | zqfriw 263 | wfzxil 264 | zwxu 265 | dznwktpb 266 | 267 | kcaomdbszyi 268 | ildpzaqsbx 269 | xsdqirazb 270 | 271 | mqebolfk 272 | peqmgf 273 | deqfmw 274 | 275 | grcqpi 276 | dvpmqte 277 | ohlwfujxkanbsyz 278 | 279 | txnhgzuwaicrfl 280 | qtnwizslxuahocgr 281 | mcxhglnibardwtkuz 282 | 283 | cvjbyrewa 284 | wczb 285 | zbwc 286 | wcb 287 | 288 | psvotmiaqyuhdnrekw 289 | aovnrqwsiyjmdutpehx 290 | gaephqunbrwdsmyiltov 291 | rmftshdpcznwiyuoaveq 292 | pyatoimwhxeusnvrqd 293 | 294 | wsjvydieaurhqxofzlgpmbk 295 | kemhzfusnpajxirywlo 296 | 297 | ypiz 298 | ipz 299 | jwiz 300 | iz 301 | 302 | pxoedfk 303 | pxogkd 304 | tkjsdocpex 305 | 306 | lsoz 307 | zxc 308 | z 309 | wkz 310 | zpw 311 | 312 | frmcndwyeix 313 | qritwfuymc 314 | mzrwyfixc 315 | mfczprywi 316 | 317 | ygvtslukaeoinhwd 318 | vnepzqmcwyjlufrdobk 319 | 320 | bi 321 | itb 322 | bi 323 | 324 | wy 325 | qomwberkixc 326 | gw 327 | hswg 328 | lpw 329 | 330 | krifxwcusnjmle 331 | cnijrwxkmspf 332 | cnrfiegmqswkxjh 333 | skiyrmwxcdzjnf 334 | 335 | ifwqlzhrudsmn 336 | fzblomnwspjvk 337 | 338 | vnjsxdiobeuhcgfw 339 | dhwienfjsobgcvux 340 | wsinxchtegujbdvof 341 | cioehdxvnjgwbusf 342 | gdcsfeobjrunhxwviy 343 | 344 | lpzntyhsxruiqjckwv 345 | ixyprghzqfvjsuotlw 346 | ayltehsxubqpmwrdjivz 347 | 348 | r 349 | lmb 350 | 351 | n 352 | n 353 | n 354 | k 355 | 356 | lfsxwgkeioztnuydmqbc 357 | wkosmqcxtdnluebigyfz 358 | olekfdcyxgqtsbumzwin 359 | kwqzfedxblcitgmnuoys 360 | ibdetugcmfzoknwlxsyq 361 | 362 | c 363 | c 364 | c 365 | c 366 | 367 | nmrohgpcwsjadkyqzl 368 | mgjhdwcpoknsqyazr 369 | chnajzmwopkgdyrqs 370 | bdcnhgamkjqysropfzw 371 | 372 | yqtid 373 | ujgkz 374 | rmas 375 | jk 376 | og 377 | 378 | f 379 | crj 380 | cyo 381 | neqhmb 382 | f 383 | 384 | uwxc 385 | wpcu 386 | 387 | bkhpcqyeljvftxnz 388 | kpvxqcjin 389 | 390 | eqjzkctynvo 391 | qyovecnjgkt 392 | xjckqenybvhpto 393 | jnkmezvyctqo 394 | 395 | lon 396 | w 397 | vwh 398 | h 399 | 400 | zrosv 401 | oblzfats 402 | cuozbmak 403 | dpyegwhnjz 404 | oztiqx 405 | 406 | bvlwgjrixaskqpuzyonth 407 | hatusdrovjgwcyipeqkmzln 408 | 409 | vhneajldr 410 | apnvjderl 411 | lynrjcae 412 | 413 | qodczyfijam 414 | fkdxpgrcnmio 415 | 416 | oai 417 | iao 418 | oia 419 | oai 420 | ioa 421 | 422 | nhgewpbozmjascrk 423 | vsocxumhryfnbqwkaj 424 | 425 | jxrls 426 | sycjpwr 427 | bdcrqenuhtsz 428 | sravkif 429 | 430 | bymwecxqrloj 431 | lhofkz 432 | vzldo 433 | klof 434 | oulk 435 | 436 | lfxobdwcji 437 | odbpnilxjcw 438 | 439 | pbcr 440 | rcpb 441 | 442 | msp 443 | esm 444 | sm 445 | psm 446 | dcsm 447 | 448 | clkiabts 449 | hskec 450 | sckgf 451 | kfncs 452 | sekc 453 | 454 | dyckmholpqbtaunf 455 | lacdqknfhuymtopb 456 | kntfqadpjlbcyhumo 457 | qoflmbpdhauykctn 458 | dphmolaynqcfbtku 459 | 460 | whkzitxfqem 461 | ftixzqmrwek 462 | mitabqyxkzjwfpne 463 | qzwekxtmfi 464 | iztmkfwxeqd 465 | 466 | wxktrn 467 | txr 468 | 469 | tapvryqbecdklwsjzxug 470 | mwjgatucpvydsnqbklxr 471 | 472 | tw 473 | wt 474 | wt 475 | 476 | irsehx 477 | ehsxri 478 | rhxise 479 | 480 | ekwyuzsvpfjg 481 | lcspakbhnmiod 482 | 483 | qifdbzapc 484 | rwpvkbd 485 | 486 | f 487 | f 488 | f 489 | f 490 | f 491 | 492 | yskpcdmber 493 | bnpdelmcryksu 494 | eqcbzdpkgyrmsixj 495 | 496 | ibt 497 | iez 498 | cz 499 | b 500 | xvls 501 | 502 | d 503 | d 504 | d 505 | d 506 | dq 507 | 508 | ubfpqyrkhceo 509 | yfhqckubre 510 | 511 | zyhnmseuivlbxgfk 512 | nviufhobsyelxzkm 513 | 514 | agbdzfsqetclpw 515 | wctbfaqeszpgdl 516 | csbtraldqepvgzfiw 517 | 518 | dmatzvowqcklbgirf 519 | ldiczavboqgwmfktr 520 | gkaditvmclqrwfboz 521 | dvrfntlcijagmzobuqkw 522 | iwzrtblvdoamqkfcg 523 | 524 | xhjydaekowcgsmruftbpqvln 525 | wzryxjmfdloqvskubanh 526 | 527 | skglcvahyx 528 | xyp 529 | yx 530 | 531 | tvsguaxobzkd 532 | txoguzsmkbv 533 | soegkitjbxyuzv 534 | kvobgsztux 535 | gtxvcspoukqfhznb 536 | 537 | osca 538 | osai 539 | 540 | sjv 541 | sjv 542 | vusofja 543 | vjs 544 | sjv 545 | 546 | ipwxnmkbzhscarlejtdoufqyg 547 | ujlxyqzkgtpfrdnihwaomscbe 548 | dyslimrkjqxnftcpbewzuohga 549 | gyphacbxnqdriweumloszjktf 550 | czbroamputiwjdnqhleyksgxf 551 | 552 | dygktjflepbcqm 553 | zfwsneviuo 554 | 555 | usz 556 | usez 557 | usz 558 | zscu 559 | 560 | jkbies 561 | ejikm 562 | ejphkoi 563 | kmjseiz 564 | jike 565 | 566 | qwjvbzmypcif 567 | hveligmbpatow 568 | 569 | aumeftxligdy 570 | tylfgicdx 571 | wlditgfyx 572 | tcxdgrilfsy 573 | 574 | wi 575 | iw 576 | iw 577 | iw 578 | wi 579 | 580 | zsd 581 | cbmoz 582 | ouwbaq 583 | ghexrpyf 584 | asmz 585 | 586 | ax 587 | w 588 | wrd 589 | vqclmnjfob 590 | 591 | sy 592 | aumz 593 | azs 594 | hvoecbdfgq 595 | 596 | p 597 | p 598 | p 599 | po 600 | p 601 | 602 | sydzgpwourlbqfcj 603 | mnzcjkeubaprofg 604 | 605 | kiatxsph 606 | iphktsa 607 | waplhikjt 608 | thapik 609 | 610 | cpv 611 | pcve 612 | vpc 613 | lmtcv 614 | 615 | eyghlrunfctbqzos 616 | nsryfzuqtmecol 617 | 618 | zayxpivkctudsmgrhqfl 619 | ynfsuctxhakdpjglmovq 620 | fdvgeskyaublpmhctrwqx 621 | 622 | egymspiuwoarnlj 623 | poidtzjyglwume 624 | 625 | tmlv 626 | motv 627 | mvthn 628 | 629 | vh 630 | vh 631 | vh 632 | vh 633 | vh 634 | 635 | vthobzjux 636 | ojutxvhbz 637 | vxhojbzut 638 | zhtvbxouj 639 | 640 | k 641 | k 642 | e 643 | k 644 | 645 | bkwvlpt 646 | xormzn 647 | 648 | aforqletdymv 649 | eyorqmflvdta 650 | ytvaqoejmdlrf 651 | 652 | rqakhn 653 | khrqusmaj 654 | rkhqa 655 | 656 | bmyztkxldgiosnw 657 | tsoyzwixdmlbnkg 658 | btimzdlywknsgxo 659 | 660 | mqifeszchaoxjygvdrklubwn 661 | zjdhxnboagfrc 662 | cgarozjxdnbfph 663 | xbnrhcjzfgaod 664 | fzdhrxtancjobg 665 | 666 | gzdvh 667 | gztvmch 668 | zgdhv 669 | ghzv 670 | 671 | yjldgioabsr 672 | musahntecwl 673 | 674 | fujnlstvgcbwio 675 | clgkwmijsupqzbo 676 | 677 | cqi 678 | iqga 679 | qza 680 | elgyxq 681 | dujqtkprvf 682 | 683 | dzrawsxvhgtflnjeikoubqypm 684 | pryqevnbkiusghjlofadztxw 685 | eawipgrutyohqvsbcknjzfxld 686 | bavdzsphqugykftnjeorilxw 687 | 688 | q 689 | vxoln 690 | feq 691 | 692 | y 693 | s 694 | s 695 | l 696 | 697 | gfdp 698 | pgd 699 | aep 700 | pdfsb 701 | 702 | watcn 703 | tawn 704 | 705 | l 706 | nly 707 | loy 708 | gwsvl 709 | l 710 | 711 | ehfqltbkvizcmpaxn 712 | vzqkecthbmnfxliap 713 | 714 | l 715 | lrx 716 | l 717 | el 718 | 719 | mznoqpxfvedutclhar 720 | gsibywkj 721 | 722 | gft 723 | dqs 724 | rm 725 | rbe 726 | dnsrh 727 | 728 | dgwncrbfo 729 | uboewdjnagxcr 730 | ogrcdbnyw 731 | bwgrdnoc 732 | orwbcgnd 733 | 734 | xlnyqidbvfuopwsmetkaz 735 | axsnipqkotbydfvuzle 736 | zsyaohudvqweikfpljxnbt 737 | aezfhxqipvkdtbnoyuwsl 738 | qsneybxfzidcagokulptv 739 | 740 | phnrogdiuwlqtmfvjcb 741 | sdmufyklricxpg 742 | ifdxpmkruealgzc 743 | 744 | xdiushclzbkvnfw 745 | bjmzunysickrfvxd 746 | xciutvyksbldfzn 747 | xfqpzabiuecnogsvkd 748 | 749 | olv 750 | ovl 751 | lov 752 | ovl 753 | 754 | jirywmg 755 | jnxmg 756 | jfbgm 757 | mjhg 758 | 759 | sjfvbhimpyauqctgx 760 | xasifmnuqtyvgwojclp 761 | jxyqabfuismptgcv 762 | 763 | spgmtcvwlxyfaq 764 | gpnqlctymxw 765 | 766 | xthqemkfpyls 767 | pqhtsymrgzoef 768 | yskhmtfpqe 769 | 770 | xcsqaokhpt 771 | hcopsqtxak 772 | pqoaxstchk 773 | 774 | oqexlariumftkcg 775 | xceqoumklaiwnhtf 776 | xekitmlufoqcag 777 | 778 | zkjmutfxryowbnv 779 | euomntlvzxiqydrgwspa 780 | whcyrmvozxktun 781 | 782 | hxqncgbjrsl 783 | bnlxcjrqhs 784 | cjqngsblxhr 785 | ihpsnrblcxqj 786 | 787 | rjtlufdmxiqkn 788 | afmrkuindxljt 789 | uktrmjilxnfd 790 | 791 | ypxqris 792 | hpgk 793 | budwp 794 | 795 | oqulm 796 | u 797 | u 798 | iu 799 | 800 | kahocwxnueyri 801 | rzesvkxyltmbpqg 802 | 803 | pkxjboidfvymngzrts 804 | rsizgmydxkpfvbtnjo 805 | bopgismxvrzntydfjk 806 | ovgfdztnspyxibkrmj 807 | oecxdvmgrfkzbnypijts 808 | 809 | ruvmcpojzsqtayw 810 | rqotdwzmpjcuys 811 | ptnscirkowujyzqfm 812 | ocszmjwrtyqpu 813 | 814 | nzxqdbwvpkioaj 815 | bqijkzpxwonadv 816 | kivqoujwxdzpntab 817 | inxabjvzpqdkow 818 | 819 | ochlv 820 | covl 821 | covyl 822 | 823 | qsoypnvewrhjkdgtb 824 | jpgwdknqeytbhsovr 825 | bdpwyrjuhoqgevtsnk 826 | rkoeypwbvgjnhsqdt 827 | qgtnyodrepsvkbwjh 828 | 829 | u 830 | i 831 | o 832 | o 833 | rx 834 | 835 | ecikgqxbyjhupozvdnrstawfm 836 | cnuiyopkzwmsbtadgeqrfxvj 837 | omkbnwrszvaetclqdpxfiygju 838 | wimrdtexbnjspgokuvzaqcyf 839 | veacgjpzmnioqksfwybxurdt 840 | 841 | egfkhxi 842 | gkshf 843 | 844 | shiayxrwutmzf 845 | isyatmhuzf 846 | 847 | tfgmicrqnpxz 848 | jeurkptlyh 849 | kvtphwr 850 | 851 | tyqrx 852 | hotsrdyqz 853 | yptqr 854 | tyqr 855 | ryxtq 856 | 857 | lxtdzqwcakvm 858 | xdkqrlzv 859 | 860 | ipujabzkmldhfrwg 861 | bjmpkavhlgqrwfdiz 862 | ofhizbrtdcagljwmp 863 | bfgvdaesjpwrlzumhi 864 | 865 | s 866 | s 867 | s 868 | s 869 | hs 870 | 871 | nobqduvlcjtw 872 | dyrbtpzwng 873 | 874 | iohlwxgfs 875 | zokfn 876 | 877 | uawlqejvnfkzhor 878 | rqhkanfvexlwzoju 879 | avqekulojnfrzwh 880 | kljwrhonqfzauev 881 | 882 | ln 883 | nl 884 | nl 885 | ln 886 | ln 887 | 888 | qyxi 889 | fmxbo 890 | qxo 891 | pkvnutje 892 | 893 | tjsz 894 | zjr 895 | gydfxcjliq 896 | 897 | ufa 898 | dohwy 899 | f 900 | kau 901 | 902 | ezjqncv 903 | jqvzenc 904 | 905 | pnhlasjrztw 906 | rlswpatnjz 907 | hpntrjslazw 908 | zjnrwtlapcs 909 | 910 | i 911 | i 912 | i 913 | i 914 | i 915 | 916 | aovitgfucj 917 | bowihz 918 | iol 919 | iweoz 920 | iyo 921 | 922 | bdgmouhjvyxr 923 | inpshdz 924 | nhdfia 925 | htdl 926 | 927 | pnzawmosg 928 | zganost 929 | 930 | emrakn 931 | glveamkr 932 | rkgames 933 | akfqmper 934 | imudroeak 935 | 936 | tibgokrjpxmy 937 | iydtpmjkx 938 | dkcjpxseiymt 939 | 940 | imfnqegj 941 | mcp 942 | nwgkhmbrpjac 943 | szovdtxl 944 | 945 | qnosfwmzpiubkxdhctg 946 | msutibqnakhgczfopxw 947 | xtnowmgicfqsuzbhkp 948 | pwbkcqiutxfshzngmo 949 | 950 | jgaqubtpokrn 951 | jpqgotluzna 952 | 953 | siblotrefupcmyajdwxhvn 954 | tdxpnfrbuivjchlsawoeym 955 | 956 | gvbfkphuqwsrdoejlt 957 | ixpkoqzldfncbahwt 958 | 959 | rdlfmyaejnswgopv 960 | ysjfvmazeilonurbpwx 961 | jayvlrwcmpefnos 962 | yowvefjknltqamscprh 963 | 964 | r 965 | d 966 | d 967 | d 968 | d 969 | 970 | iry 971 | gi 972 | lri 973 | 974 | kzopchbqgf 975 | phcifmsbgz 976 | canbyhlvdfpg 977 | 978 | ljmtd 979 | stlxdvmkjqy 980 | otcljbfehmd 981 | 982 | zgkiqsjrm 983 | rmqosfenz 984 | zqdmrsig 985 | 986 | jaegcxl 987 | delcpxa 988 | lktzbxcea 989 | pdclajxe 990 | 991 | gdrfnb 992 | dngbqriyh 993 | ojnbgrzd 994 | fdnrbg 995 | 996 | ixnhlufgkqojyrcdwms 997 | uvfmspygeizlkhxcawrbdotq 998 | 999 | cfzy 1000 | zfcy 1001 | czfy 1002 | 1003 | kfbqdvgacxnluszhejiowmytr 1004 | durgtzlkjpwnechqibxfamvoys 1005 | 1006 | njcgoslbyutihpqxwe 1007 | wrbgpdquiykhnofvecztl 1008 | 1009 | cozxyqbvugrmkdwlh 1010 | rxcdwuylztbvgmqhk 1011 | urmhkcdlxvgyqzbw 1012 | 1013 | okzsvutdehimnc 1014 | mednkuhxgqwvizots 1015 | 1016 | sogfalbukwvchqmjdtypzix 1017 | pyfazktchbmvsqguojwxild 1018 | imsgakcotjpdhuwbfyzxlqv 1019 | 1020 | yzpafqijdchrvosxkt 1021 | tqvsdrxzojhipfkyc 1022 | tsfqokvphixzdcryj 1023 | pjfqzhtxocrdkvyis 1024 | 1025 | ysmndq 1026 | qdsnm 1027 | rskilmn 1028 | 1029 | q 1030 | q 1031 | q 1032 | q 1033 | 1034 | fygruq 1035 | fxckylwohur 1036 | fspaznjvbmdt 1037 | 1038 | ztqa 1039 | a 1040 | nma 1041 | a 1042 | a 1043 | 1044 | erml 1045 | ejrm 1046 | rem 1047 | emr 1048 | 1049 | qkmpeuatxdbrcghnjlo 1050 | xnlmcohutkdbeaqvpfrj 1051 | rboxcdpaujeqhknmtl 1052 | 1053 | bpmiwjrs 1054 | 1055 | tyr 1056 | ry 1057 | 1058 | jkyolgr 1059 | dv 1060 | anwid 1061 | idzv 1062 | 1063 | z 1064 | xzpnb 1065 | z 1066 | z 1067 | hz 1068 | 1069 | mwxibru 1070 | dxrwzobi 1071 | wixqvrb 1072 | sbrxwi 1073 | baixrw 1074 | 1075 | yzcdlgujxrpmbs 1076 | iadjzpcnyrm 1077 | 1078 | nq 1079 | qn 1080 | 1081 | sbwtamevgyicuhxrlfz 1082 | uzxkpmitwvlfqhcgjn 1083 | 1084 | xvhbkanc 1085 | bozyjftqrl 1086 | 1087 | vpcougdijwlxtsmznarqfy 1088 | qyroagjdmsicwlftvxunpz 1089 | nylpitxuqdwrszamfgjcvo 1090 | amogspxyvrdniztqfuwlcj 1091 | fuoiwmpvtlxdszqncrjayg 1092 | 1093 | ocmqey 1094 | yqoce 1095 | 1096 | mvulfyk 1097 | fxyuivlmk 1098 | afvulokym 1099 | xufvjmykl 1100 | 1101 | wjz 1102 | owpfqnsrgt 1103 | ewycah 1104 | webhjid 1105 | bwi 1106 | 1107 | ucxqaszovj 1108 | xacvqjskizuo 1109 | 1110 | auxsjhkiq 1111 | zcymv 1112 | 1113 | qyljukpbitdx 1114 | pxqjlduitkyb 1115 | utbpqxjyklid 1116 | yjkdqxptbluir 1117 | puliqbtkdjxy 1118 | 1119 | ljurghymqktvpenzsbofwdxc 1120 | ofyrjptgnczlwebdxvqmkuhs 1121 | blopcvezhdsjnxgyktqfmrwu 1122 | dwmqkuhtjsofnzgbrvelxcpy 1123 | 1124 | zn 1125 | ndz 1126 | tzn 1127 | nkdz 1128 | nzvk 1129 | 1130 | vmyrlzxcwkjp 1131 | mkqlvyrcp 1132 | 1133 | xduvzyfarpkewscjqlmh 1134 | fzcyvxkmhwqreapds 1135 | 1136 | nt 1137 | cs 1138 | c 1139 | 1140 | jxraviqybmgutesdwkfohlp 1141 | hnkfweosqvbijpymuxdtalrg 1142 | 1143 | fcjz 1144 | mnwvo 1145 | 1146 | mfqnkiaj 1147 | nakqfimj 1148 | arikjubnmqf 1149 | zfqikanjxm 1150 | 1151 | pjetdfwsxohlz 1152 | wpkzntbfsdcai 1153 | 1154 | zoifjgyxkluhbrtq 1155 | yjolrgquihbnxktfz 1156 | zoibyqghrjxtkufl 1157 | iuklgxbyrtmjfqhovz 1158 | 1159 | r 1160 | r 1161 | r 1162 | 1163 | ytqzlvcwseb 1164 | bcvqntlswyez 1165 | cvqbtewyszl 1166 | 1167 | hfyj 1168 | jsbrzyhiwknfg 1169 | vfyajhd 1170 | djfhlym 1171 | fohyjux 1172 | 1173 | dzcjlgutfoipaexkmn 1174 | koetcadiuznpmljf 1175 | ctnilkamodfpzjue 1176 | cofuezanjlpktdim 1177 | 1178 | nvtjmurwhfzex 1179 | thxnrwmvuejaz 1180 | jexztumwrhnv 1181 | 1182 | r 1183 | r 1184 | r 1185 | a 1186 | 1187 | enoclavqmypruwkb 1188 | tzspyhlawuimvrq 1189 | 1190 | yxcbvjpsgt 1191 | crxgvitlzjbop 1192 | gukcdbjtwvexp 1193 | bgjcmqspztoxv 1194 | 1195 | w 1196 | w 1197 | w 1198 | w 1199 | w 1200 | 1201 | qmocdhri 1202 | qpwioderm 1203 | dvmocjruiq 1204 | 1205 | nvghcjxd 1206 | nbcvdp 1207 | nvhcd 1208 | djcvn 1209 | 1210 | yfzukw 1211 | kuywf 1212 | kwsyu 1213 | 1214 | adjzmqebokxhtuspwgiynf 1215 | fmshwkpoguljtyrziabqn 1216 | anyofkgzsbvpuiqthwmj 1217 | qfbhkytzgnwoicjsapmu 1218 | 1219 | tlmn 1220 | nlti 1221 | tyehjn 1222 | 1223 | s 1224 | r 1225 | s 1226 | s 1227 | s 1228 | 1229 | n 1230 | u 1231 | u 1232 | 1233 | tie 1234 | jet 1235 | et 1236 | 1237 | achjyurqb 1238 | jpcbrhutqy 1239 | rbjyuhcqp 1240 | ybfucqjhrw 1241 | qujrhbcy 1242 | 1243 | o 1244 | o 1245 | i 1246 | 1247 | migypa 1248 | pyimag 1249 | pmgiya 1250 | agypim 1251 | yaimgp 1252 | 1253 | kdzafylcnst 1254 | aznrtshxgylcb 1255 | cstzyaln 1256 | anetplcsyzq 1257 | 1258 | hilubmsyznrtvqxpjo 1259 | yqbirxnpzslojvtumh 1260 | tyxlnibhzmsovrjqup 1261 | 1262 | zloiuyekfpx 1263 | aqtxzmig 1264 | wsgxinqbzj 1265 | bavthrdxsiz 1266 | 1267 | acwdny 1268 | ghrxysndq 1269 | ovdncy 1270 | 1271 | p 1272 | glxy 1273 | 1274 | ksnzbjyxgwtvm 1275 | nbwzvtkjysgxemro 1276 | bvnykztsxjwcmg 1277 | qyzbmxjhtakgnwfdvs 1278 | xzjmbsevgwytnklo 1279 | 1280 | uolyhfmwcpnk 1281 | ykuchfolpnwm 1282 | lnckhofpyumw 1283 | ylnfuowmrcphk 1284 | 1285 | oumqj 1286 | ulzybvfsp 1287 | um 1288 | u 1289 | 1290 | zh 1291 | gh 1292 | zh 1293 | hns 1294 | hg 1295 | 1296 | xlvaqwncsizrbopukyegdmh 1297 | lxmsgzqyothupikvrbn 1298 | 1299 | lhqdviu 1300 | qafnemdvlzbrpk 1301 | qlvyxdw 1302 | sdluoqygv 1303 | 1304 | v 1305 | v 1306 | v 1307 | v 1308 | v 1309 | 1310 | blqcsyup 1311 | clmpubs 1312 | 1313 | noumlji 1314 | nouji 1315 | 1316 | wkvj 1317 | d 1318 | ghy 1319 | x 1320 | k 1321 | 1322 | ohbjykuena 1323 | jbyahkpez 1324 | jyafhevbk 1325 | yeajhkb 1326 | 1327 | auqjksywpcthxf 1328 | zchkqmanpd 1329 | kvaephqcn 1330 | 1331 | ygrvwtleidhapqcoxjzkbm 1332 | uvmtjkcxphybegzqrawiold 1333 | dpckejybntqgvhzaomwixlr 1334 | 1335 | wuvknho 1336 | wunhkv 1337 | awhuixnkv 1338 | 1339 | xtsglwhpkozumein 1340 | tiwzoklpxheumsgn 1341 | 1342 | kdicmfpsejygzlraqh 1343 | rgpqkamdfecyiljzs 1344 | fgjrczaedymqliksp 1345 | adlgcpfieqrmsyjzk 1346 | mfwincakdjelorbygqszp 1347 | 1348 | jhtufzbolnrpgiv 1349 | rymwi 1350 | 1351 | bcdfkrgujzqwheptivls 1352 | wlzfyvtimksqcdujngorb 1353 | 1354 | eruyigjwb 1355 | wojeybiulrg 1356 | ygujbwvzei 1357 | 1358 | fizsg 1359 | jnue 1360 | 1361 | yalxikzg 1362 | iagxkz 1363 | xizkga 1364 | zikaxg 1365 | ikxzag 1366 | 1367 | pjzlhqwixksnovbtygr 1368 | ljnvgzykoswbtrhm 1369 | rjtnogykswczhlbv 1370 | ychwztvrgsonebaljk 1371 | 1372 | wcmyzldhtfrposgnj 1373 | fcrmtyphngjlzs 1374 | gpalbicyvfnmjxekrz 1375 | 1376 | ysmpe 1377 | yemps 1378 | stype 1379 | 1380 | meruv 1381 | mbrse 1382 | ryvmsei 1383 | laremdjq 1384 | bremck 1385 | 1386 | jaeutopnmdhvfklscirqgx 1387 | selpyhdginkxfouq 1388 | difgepshqlukonx 1389 | 1390 | oyz 1391 | yoz 1392 | yoz 1393 | yoz 1394 | 1395 | kohdfzpsj 1396 | rjkphfdzog 1397 | jopfsukhbdz 1398 | 1399 | cpvr 1400 | cvy 1401 | 1402 | xavdpsto 1403 | bweoysidhp 1404 | rndplvsukoca 1405 | odgusp 1406 | 1407 | ofzgbwqdnkjp 1408 | vcbnlqwofisg 1409 | enbrymdqpogjwf 1410 | 1411 | ukrdtiphflv 1412 | fvdlnuirtkh 1413 | 1414 | s 1415 | s 1416 | s 1417 | ms 1418 | s 1419 | 1420 | smodvglcpenzbtw 1421 | vgwcmfdnlobi 1422 | dobmzclwvng 1423 | convbglwdim 1424 | wrcojghvdblnmx 1425 | 1426 | euy 1427 | iey 1428 | hrkyowpesz 1429 | qeuyn 1430 | ylfe 1431 | 1432 | jd 1433 | ygd 1434 | d 1435 | d 1436 | 1437 | ifxlcevjr 1438 | muqybvdntl 1439 | 1440 | hpjdqw 1441 | wjcmqdp 1442 | pkojqud 1443 | djpqm 1444 | 1445 | fz 1446 | z 1447 | z 1448 | auzlgh 1449 | zf 1450 | 1451 | oadfixtrspzymgkjvhc 1452 | kureodwxjzvqcagmflt 1453 | 1454 | umdbplaejicognthw 1455 | mldwpqitgubajnecho 1456 | gdrhabsmketcwpolunij 1457 | 1458 | utpjbioagl 1459 | pujgaobsti 1460 | 1461 | wzqkmfigsenp 1462 | btdpmnrhaix 1463 | 1464 | g 1465 | h 1466 | fmy 1467 | 1468 | qfdshywubmn 1469 | asnjyumvhfepqwbd 1470 | 1471 | tko 1472 | k 1473 | ki 1474 | k 1475 | kvj 1476 | 1477 | ajrftpclemziyx 1478 | tyfcpmzxjrael 1479 | rlymxejactzpf 1480 | xpfzalrmjteyc 1481 | 1482 | lngatvoimxerfs 1483 | xvsyefntoli 1484 | ixvdqstzlonbefk 1485 | 1486 | dytmarichvj 1487 | tvhdurymj 1488 | mefohydrtjpvx 1489 | yajumrtvhd 1490 | mjrvthdy 1491 | 1492 | mdizkcbhuqxfpew 1493 | lciqkhpdzwumfxbe 1494 | dmwbhzqpojuexikcf 1495 | 1496 | av 1497 | a 1498 | a 1499 | a 1500 | a 1501 | 1502 | buwiq 1503 | wbqi 1504 | bqviw 1505 | wbjifuq 1506 | 1507 | szyogteivkjmubnl 1508 | gnmeioyhdjzkutvwqb 1509 | 1510 | vetwlrjnzuxfamsydoqbhpcigk 1511 | lhagxseotdcqbyrwnpfkizmjvu 1512 | 1513 | ikt 1514 | sxuik 1515 | rigbk 1516 | 1517 | ixzofbapunser 1518 | umbfxasovni 1519 | oansfubxi 1520 | xsoauibnfk 1521 | 1522 | ebzhanm 1523 | rsywcgfuaoqxjvz 1524 | 1525 | dygrvauxpemhosqkwtfji 1526 | pxafqktysdjvgriwuehom 1527 | ikurtagpdqswmfjvhyxeo 1528 | mhqlyugsravkxoptdwzfjei 1529 | wejrsutgikxqpfvydhaom 1530 | 1531 | ynam 1532 | ny 1533 | nys 1534 | 1535 | exwzkcjqnvp 1536 | ekpzvqxjwacn 1537 | wqnjveazxpkc 1538 | zjvbqkwcrnepx 1539 | ecnvywqzjsxkp 1540 | 1541 | qmfe 1542 | qmep 1543 | 1544 | dlwymbrsvgxefi 1545 | gxeyfiqmr 1546 | 1547 | mjgkdnbqzcrtfvue 1548 | ujgvnrtedqkzfobmc 1549 | nerkmbcuztivgfdpjqy 1550 | bktnacmqvjredfuzg 1551 | jgdecrktqnbvmufz 1552 | 1553 | desyfjcwkgpabomrxluq 1554 | uecwxsrgybalkpqofjm 1555 | gmlaojpwqxsebufrcyk 1556 | sxfoakcyjlmrghqepwub 1557 | gmwouepvzjsirxaylfqbkc 1558 | 1559 | lugbrcezj 1560 | ekzuhpxtl 1561 | 1562 | bzurvkdm 1563 | gkzbdvmuwq 1564 | 1565 | vihtwalesoqmgzrfub 1566 | dqogrhlvueimaszbtw 1567 | lmbiwygzaenursotvhq 1568 | 1569 | fagwlnujrsv 1570 | ujhnvmcrpsqwl 1571 | 1572 | dsoq 1573 | odzqs 1574 | oxehvgqunspa 1575 | smoqd 1576 | dsroq 1577 | 1578 | lw 1579 | qnlwbze 1580 | 1581 | zcs 1582 | dpalw 1583 | oqevmritxf 1584 | 1585 | hw 1586 | wh 1587 | mhz 1588 | h 1589 | 1590 | xwpkgiureobdvamtlcs 1591 | sumvltgxoerdpwbacki 1592 | faozilpxetcbvwnsrkugdm 1593 | dioulrkpawstcbxgevm 1594 | 1595 | cfziqrvtghejx 1596 | zahecstbvjrqy 1597 | gcqrzvjnteolfhd 1598 | 1599 | jronwks 1600 | kjwrso 1601 | 1602 | xtfp 1603 | aqwzv 1604 | 1605 | gjvrecbxaqns 1606 | koficxqpjsvnalzb 1607 | vcjbqxtunsa 1608 | bvjxnqcas 1609 | 1610 | n 1611 | n 1612 | k 1613 | if 1614 | 1615 | hnzquyjxadotim 1616 | ctrmnlvfugjkoziqy 1617 | ubnfoyqctmzpij 1618 | gyqzvjwimunot 1619 | nzmoluqikjywt 1620 | 1621 | wykxduqrzl 1622 | drklx 1623 | 1624 | xdr 1625 | xrd 1626 | 1627 | sdrbokn 1628 | rsnbdkio 1629 | 1630 | qespuyziargjdlwnkbv 1631 | iaorexbukcmtnwhf 1632 | 1633 | gti 1634 | dit 1635 | itb 1636 | 1637 | tzmwbguraxjcieodnf 1638 | gmitqzdsnekjoxaf 1639 | 1640 | kdeziwsnf 1641 | lgzkiwen 1642 | 1643 | fbvikdpshltegu 1644 | kpfvidlguehtsb 1645 | gdysepktuihlvfb 1646 | 1647 | jzegrfyducaospkltvwq 1648 | crzgkleptvuwsfyoqjda 1649 | rogqtajuweylsdfkzcpv 1650 | zwacrlsptgqfoveydukj 1651 | ufokdrzglqjcewtaypvs 1652 | 1653 | hsqnofzvt 1654 | ahvpn 1655 | 1656 | umaznoshrwf 1657 | hzosundfr 1658 | ushfnzor 1659 | 1660 | w 1661 | ie 1662 | 1663 | byandqklvw 1664 | wadvyxbqikn 1665 | 1666 | xspcwfvnkuoydagthjmzbq 1667 | ahnprtxeojdmgfqvwzuikscyb 1668 | 1669 | txpwbvjacrzifgshyluo 1670 | hgytapvojfsbrxwilcuz 1671 | wpvxzshcrabfjtygliou 1672 | bvourjgzfytpiwchlaxs 1673 | 1674 | ufesbdavpn 1675 | siunvefpdab 1676 | nspafhdvbue 1677 | vednpusafb 1678 | sufvpbande 1679 | 1680 | lnzxudorwykfqs 1681 | vckufbqxhwjmtga 1682 | 1683 | twz 1684 | twz 1685 | twz 1686 | tzw 1687 | zwt 1688 | 1689 | nuaeqphyvo 1690 | ovaqetnphu 1691 | wvhulnpsxroqi 1692 | ntvqephou 1693 | hyvuqpon 1694 | 1695 | szky 1696 | kz 1697 | kz 1698 | kz 1699 | kz 1700 | 1701 | uekpcxjqrbzy 1702 | ewiyrkobtl 1703 | 1704 | rghuyp 1705 | ntyzexi 1706 | yjnq 1707 | sy 1708 | eysao 1709 | 1710 | yohactxlqbvsfe 1711 | yacfqtxlsvbeho 1712 | qxtaesbfhlovyc 1713 | ybotxfqschvela 1714 | tsxbqlcyvfohea 1715 | 1716 | crvkbef 1717 | efbvkc 1718 | erfvbkc 1719 | fvbikec 1720 | ecvfkb 1721 | 1722 | eziafud 1723 | odfeiz 1724 | feizd 1725 | rmeflzidc 1726 | zeifdo 1727 | 1728 | uh 1729 | u 1730 | u 1731 | u 1732 | 1733 | slzwuvhqnbpogia 1734 | bhviznawou 1735 | ufazbvinhwo 1736 | ariwbuvzhon 1737 | vawnobztduhif 1738 | 1739 | lyi 1740 | syi 1741 | imy 1742 | 1743 | igx 1744 | qfz 1745 | 1746 | yugfqtepvxwdocijlzmhka 1747 | ymdleizpjgxcvtfhoakuwq 1748 | utenhymdcgjqzlorxfvakiwp 1749 | zwlvymtgfxeqcopuahjkdi 1750 | auzpqtcifejhomdklyvwgx 1751 | 1752 | xfvdiwqpktjlaborgez 1753 | mlcubagjpwzynxekqfiotd 1754 | fadoezjwqxtpgbkli 1755 | osldxpzbqeifajtkgw 1756 | 1757 | mfxjtn 1758 | pqesvmxf 1759 | xmbojhft 1760 | xbmafc 1761 | acbfxhm 1762 | 1763 | bsua 1764 | uasb 1765 | 1766 | dtmpiwjkuahzryfvqgx 1767 | iavzqyhgmrxwtdukjp 1768 | thzkaxwjpydqmviurg 1769 | 1770 | uabgmyoidlekzcqnfvxsrw 1771 | kcybroagdmufqxiseznvl 1772 | eroscxuqvglanbikzyfdm 1773 | gfmdeibnkvuaqryzloxcs 1774 | 1775 | wtmds 1776 | cxm 1777 | wqdrmz 1778 | voahgpkfml 1779 | 1780 | qmougypvzh 1781 | yoqsgdpnmhuz 1782 | gauxyzpkoqmjbwfl 1783 | qguzoivyrdmpt 1784 | 1785 | uyerotgj 1786 | wqszinpyv 1787 | 1788 | rosx 1789 | ors 1790 | ors 1791 | osr 1792 | 1793 | dtcuiwlse 1794 | bgaosqntxuwfpvrc 1795 | uymskctjwz 1796 | 1797 | cshbnzoduxlpfrayj 1798 | hcasypofnrxblduj 1799 | pjyuoxrfbsaldhnc 1800 | uharfpoxcdysbnlj 1801 | 1802 | bsklgcdmpxio 1803 | ojbpdlcmtugskx 1804 | exdkmpboclgy 1805 | aipogmwxdkrclb 1806 | dilmqcpkxnwbgo 1807 | 1808 | xsajoug 1809 | pxujgatso 1810 | guxojsa 1811 | mbxuwzjosga 1812 | pxjsugoa 1813 | 1814 | tgfw 1815 | xemdgvyfu 1816 | jfga 1817 | lfg 1818 | 1819 | khvg 1820 | kghv 1821 | vghk 1822 | ghkv 1823 | vgkh 1824 | 1825 | xfogcwnvkey 1826 | kvxwomyfeqc 1827 | woxycvafkbe 1828 | yovafwxcke 1829 | ekvfyxnwco 1830 | 1831 | ezpfkoxycuwgimqvabdtjnsrh 1832 | nmpoxgwdyruecazsfjbhqktiv 1833 | qtjzmaycsgnibdxeuwrfkhvop 1834 | yfaqredhbxinsvucogwtkmpzjl 1835 | 1836 | mhlnsrfadjpekczwquvo 1837 | vsdneluworhbqjfztamcp 1838 | smthfdwjznvqpclogaure 1839 | cevkfuzqxjmwrlasphnod 1840 | ijrnwqpvudzalfoesmch 1841 | 1842 | icmdtnrpq 1843 | tmdqnirp 1844 | mdintrqp 1845 | rtpmniqd 1846 | 1847 | clspvk 1848 | xclpsw 1849 | 1850 | rmdoajtxvc 1851 | vurmjotdsa 1852 | mdrovatj 1853 | nadvmrjlot 1854 | drjotavm 1855 | 1856 | kl 1857 | hfjkblv 1858 | cklr 1859 | lrsk 1860 | glk 1861 | 1862 | xpoawenkc 1863 | yrkpnzjocxue 1864 | pskncodex 1865 | 1866 | b 1867 | b 1868 | bq 1869 | bh 1870 | b 1871 | 1872 | kngbuqcyijvxeh 1873 | kbcmngjshaxiyve 1874 | enybjkvqtucgixh 1875 | zhrevfodplyxnwikjgbc 1876 | 1877 | vizojfmup 1878 | mfzhjqpuoiv 1879 | uvtmfzipjgol 1880 | 1881 | ysobmzkthjdw 1882 | qlncxwamrtujevfpzgbhkdo 1883 | 1884 | gz 1885 | gd 1886 | ickxr 1887 | 1888 | brenfplc 1889 | rzpvwumik 1890 | rjctp 1891 | 1892 | hfwcruyoa 1893 | ihyduxfw 1894 | 1895 | zlumthynfkjixo 1896 | kgxnbhztfyojmli 1897 | kifzxhtlymngoj 1898 | 1899 | rqpdbzgjsowakvt 1900 | gdzoyhjetcfbqkl 1901 | nbjgqftozkud 1902 | zxbogjqktd 1903 | 1904 | writbe 1905 | etri 1906 | dtfkern 1907 | 1908 | ctwyqdi 1909 | j 1910 | me 1911 | nkgzau 1912 | sxkare 1913 | 1914 | qlwakzuxsnfjc 1915 | ufzkhmwax 1916 | 1917 | njuysxmhdzivfgqb 1918 | uamlqxdhnyvgjibfz 1919 | 1920 | eigl 1921 | lige 1922 | elig 1923 | geli 1924 | legi 1925 | 1926 | vrmhebiqupxoclfatdkg 1927 | ytaoiknwcgrsdzevxj 1928 | 1929 | rhac 1930 | dcajbr 1931 | oxizsuykfvlwn 1932 | 1933 | a 1934 | na 1935 | a 1936 | nka 1937 | zdua 1938 | 1939 | zedtlhmj 1940 | yqoxn 1941 | 1942 | wyqhegrp 1943 | wypqhegdr 1944 | unrypgwqhez 1945 | hypqrgbwe 1946 | yrgpeqhw 1947 | 1948 | mxjkhbqgwuniftedzvcl 1949 | jciqfnbeumlkhgtvzxwd 1950 | njwquxidvbhctzmklefg 1951 | hqfwtcmkuxvbjdelgzni 1952 | 1953 | lsigyrmjndapwtehux 1954 | mtwpirehgfxuasdjnoly 1955 | hpdlgjnimeusbtyawxr 1956 | agywjlsmktzihxuceprdn 1957 | njwhigapyexmdlutvrsb 1958 | 1959 | wiaejbsdzncytol 1960 | cjelwafyindtbzos 1961 | zalobneisywctdj 1962 | 1963 | jbsipuwdcyth 1964 | thbauysdcgpiw 1965 | 1966 | bw 1967 | b 1968 | o 1969 | lr 1970 | 1971 | ojkmnthfzlvg 1972 | vhpzmgtonw 1973 | yjovmnfwthz 1974 | fnzhtmoav 1975 | zcosivnmhdetx 1976 | 1977 | hdkofir 1978 | kanxoflugziyd 1979 | kodfcrwi 1980 | 1981 | qxpmckuelwtarij 1982 | spxmvqwjrileckuat 1983 | tuiqrajpwlmekxc 1984 | taeupwljxricqmk 1985 | 1986 | dn 1987 | dn 1988 | nd 1989 | pnd 1990 | 1991 | fvyxadu 1992 | fwxmny 1993 | 1994 | vsxgc 1995 | vscxg 1996 | scgvx 1997 | 1998 | wovudbian 1999 | dyeosauvinbw 2000 | auvdwinbyo 2001 | uaxoqnwirbvzc 2002 | 2003 | aosvcdn 2004 | osna 2005 | sano 2006 | 2007 | shqt 2008 | sqth 2009 | 2010 | ktlracvqpeju 2011 | tukcwearql 2012 | trealcukq 2013 | 2014 | rsezcvdbal 2015 | zebvamcdrp 2016 | cbedrvafxzn 2017 | vxnibedzrac 2018 | dbirvczae 2019 | 2020 | gbpzy 2021 | ubglkzp 2022 | pbgz 2023 | 2024 | jtxhnfge 2025 | xgfhevjtwn 2026 | tjhngfxe 2027 | 2028 | pvodec 2029 | goedfvamlx 2030 | eyovd 2031 | evdorpn 2032 | vedot 2033 | 2034 | lsyqpjuviohbz 2035 | luzjybidopvx 2036 | yiplobzvj 2037 | zobwtpjlvnyi 2038 | bzoilvpjyu 2039 | 2040 | cevybwgdmuahsqzp 2041 | ucpnimw 2042 | owunkcpm 2043 | pmwoucf 2044 | 2045 | uqchtxvoaze 2046 | ehocxtvza 2047 | cetazvhxo 2048 | ztvxcaeoh 2049 | 2050 | cgsonqxtdfwhzymv 2051 | qbkncfmuxapdwl 2052 | mfxjztcwryqdne 2053 | 2054 | zbkyrc 2055 | ckrzb 2056 | crkzb 2057 | zkbrc 2058 | 2059 | mca 2060 | cam 2061 | mca 2062 | cafm 2063 | 2064 | z 2065 | z 2066 | z 2067 | z 2068 | 2069 | zytoupbkxdhmgcsflweai 2070 | smpikvyzcxlawobhefudgjnt 2071 | dolpihwzxqckmaufytgbse 2072 | 2073 | ktsr 2074 | ktfs 2075 | itsxvkb 2076 | 2077 | n 2078 | i 2079 | aklsuty 2080 | 2081 | wkgtem 2082 | mewgtk 2083 | gkemwt 2084 | emwgtokb 2085 | 2086 | mbuxkiycz 2087 | fhronqjexplgwa 2088 | 2089 | hu 2090 | emlw 2091 | 2092 | vkuwrqnj 2093 | hys 2094 | mzet 2095 | 2096 | fmclnjvsaexpkg 2097 | zjwpxevkmacsglf 2098 | xsamjlvkcenfgp 2099 | vapjkcmglxefs 2100 | 2101 | legmbjuqsdkihtv 2102 | dlsqkegihbcjtvm 2103 | hqgdmvljsrktebi 2104 | ehlbvgidqtjkms 2105 | btmshvdikljgqe 2106 | 2107 | k 2108 | kr 2109 | lfi 2110 | 2111 | obmup 2112 | ubm 2113 | 2114 | azqdrvjimbfnoyp 2115 | zbejcqxfkotplndv 2116 | pbojdfsnzvuwq 2117 | gjpounhvqdfsbrz 2118 | 2119 | minxopwrsbvqegyuajcdth 2120 | oahnukmgepbtdriscxwvyj 2121 | xmbtcwgrasnozhdjiupeyv 2122 | 2123 | jitgzlokacv 2124 | vzkushynclojtxgep 2125 | 2126 | ntj 2127 | ntj 2128 | tjn 2129 | jtn 2130 | jnt 2131 | 2132 | gdzxykoialsqurtj 2133 | kigupewoxqjaztcdy 2134 | zugyaqksiojtxd 2135 | hyjqxgzdauktio 2136 | kygqutaszdbxjoi 2137 | 2138 | orsfkumexiq 2139 | rsbjepxmi 2140 | smrxqgeik 2141 | arnsetyiomxv 2142 | mwighaxsdrce 2143 | 2144 | mcuzkqvsdpltxe 2145 | pklvsuexmgqwizd 2146 | zdqxseckmtyvlwgrp 2147 | dvslkezanoqxmpb 2148 | 2149 | tcbqprkjgnihzs 2150 | ivgmxyzaernhwcqdjlt 2151 | otqhfjgcunsrzpi 2152 | 2153 | omqbwvktlsxjcfzaphyeid 2154 | zijtkyxhqvowpulmbgenrdca 2155 | 2156 | igrz 2157 | irzg 2158 | rzgi 2159 | 2160 | kefw 2161 | kewa 2162 | akew 2163 | xtekw 2164 | ewkf 2165 | 2166 | lvxahjydcer 2167 | sobnzgkp 2168 | musqfg 2169 | 2170 | orijnpvwm 2171 | obqzv 2172 | ulvo 2173 | ozuvt 2174 | zcbolkqv 2175 | 2176 | ouzpgsxejbmqkat 2177 | btiuxyojspgzqalrek 2178 | ekbqupzaxfotjgvs 2179 | 2180 | t 2181 | tb 2182 | t 2183 | 2184 | ksyegbpm 2185 | slmpgdetzbk 2186 | gbseumpyxk 2187 | ekvphnbcjgms 2188 | wgqrmispobkefa 2189 | 2190 | gwexf 2191 | wfxeg 2192 | xwfeg 2193 | gfewhxb 2194 | 2195 | oephijmkngbxw 2196 | kxobwjhiegpm 2197 | wehixbgkjmop 2198 | 2199 | rmvtujdxhki 2200 | lkunxhme 2201 | mafxsbhuogkypw 2202 | 2203 | rpimb 2204 | prbi 2205 | ipbr 2206 | brpi 2207 | ribp 2208 | 2209 | hvjdeyw 2210 | jhecqpbyvsdw 2211 | wvhdjye 2212 | wvjedhy 2213 | 2214 | uodmbcpvr 2215 | wvhk 2216 | 2217 | j 2218 | j 2219 | j 2220 | j 2221 | 2222 | crzngwqm 2223 | zqgrwnc 2224 | rcgnwqz 2225 | 2226 | xstoyzgvaefqclbuhi 2227 | ywbmiguzthefkvqo 2228 | pcuezdviyoqfbjght 2229 | ubigqfztyohve 2230 | zovpgfueibjtqsyh 2231 | 2232 | qatefihbypn 2233 | xwvskd 2234 | --------------------------------------------------------------------------------