From 48e35ad3b0b0c62f936784e4aca70b17c3b0e3f9 Mon Sep 17 00:00:00 2001 From: Hunky Jimpjorps Date: Fri, 2 Feb 2024 17:05:12 -0500 Subject: renaming --- aoc2023/src/.gitignore | 1 - aoc2023/src/aoc2023.gleam | 12 -- aoc2023/src/day1/.gitignore | 1 - aoc2023/src/day1/solve.gleam | 64 --------- aoc2023/src/day10/.gitignore | 1 - aoc2023/src/day10/solve.gleam | 177 ----------------------- aoc2023/src/day11/.gitignore | 1 - aoc2023/src/day11/solve.gleam | 84 ----------- aoc2023/src/day12/.gitignore | 1 - aoc2023/src/day12/solve.gleam | 91 ------------ aoc2023/src/day13/.gitignore | 1 - aoc2023/src/day13/solve.gleam | 86 ------------ aoc2023/src/day14/.gitignore | 1 - aoc2023/src/day14/solve.gleam | 93 ------------- aoc2023/src/day15/.gitignore | 1 - aoc2023/src/day15/solve.gleam | 104 -------------- aoc2023/src/day16/.gitignore | 1 - aoc2023/src/day16/solve.gleam | 119 ---------------- aoc2023/src/day17/.gitignore | 1 - aoc2023/src/day17/solve.gleam | 143 ------------------- aoc2023/src/day18/.gitignore | 1 - aoc2023/src/day18/solve.gleam | 113 --------------- aoc2023/src/day19/.gitignore | 1 - aoc2023/src/day19/solve.gleam | 255 ---------------------------------- aoc2023/src/day2/.gitignore | 1 - aoc2023/src/day2/solve.gleam | 67 --------- aoc2023/src/day20/.gitignore | 1 - aoc2023/src/day20/solve.gleam | 251 --------------------------------- aoc2023/src/day21/.gitignore | 1 - aoc2023/src/day21/solve.gleam | 25 ---- aoc2023/src/day22/.gitignore | 1 - aoc2023/src/day22/solve.gleam | 199 -------------------------- aoc2023/src/day23/.gitignore | 1 - aoc2023/src/day23/solve.gleam | 194 -------------------------- aoc2023/src/day3/.gitignore | 1 - aoc2023/src/day3/solve.gleam | 180 ------------------------ aoc2023/src/day4/.gitignore | 1 - aoc2023/src/day4/solve.gleam | 98 ------------- aoc2023/src/day5/.gitignore | 1 - aoc2023/src/day5/solve.gleam | 167 ---------------------- aoc2023/src/day6/.gitignore | 1 - aoc2023/src/day6/solve.gleam | 85 ------------ aoc2023/src/day7/.gitignore | 1 - aoc2023/src/day7/solve.gleam | 140 ------------------- aoc2023/src/day8/.gitignore | 1 - aoc2023/src/day8/solve.gleam | 91 ------------ aoc2023/src/day9/.gitignore | 1 - aoc2023/src/day9/solve.gleam | 70 ---------- aoc2023/src/utilities/array2d.gleam | 74 ---------- aoc2023/src/utilities/memo.gleam | 57 -------- aoc2023/src/utilities/prioqueue.gleam | 62 --------- 51 files changed, 3125 deletions(-) delete mode 100644 aoc2023/src/.gitignore delete mode 100644 aoc2023/src/aoc2023.gleam delete mode 100644 aoc2023/src/day1/.gitignore delete mode 100644 aoc2023/src/day1/solve.gleam delete mode 100644 aoc2023/src/day10/.gitignore delete mode 100644 aoc2023/src/day10/solve.gleam delete mode 100644 aoc2023/src/day11/.gitignore delete mode 100644 aoc2023/src/day11/solve.gleam delete mode 100644 aoc2023/src/day12/.gitignore delete mode 100644 aoc2023/src/day12/solve.gleam delete mode 100644 aoc2023/src/day13/.gitignore delete mode 100644 aoc2023/src/day13/solve.gleam delete mode 100644 aoc2023/src/day14/.gitignore delete mode 100644 aoc2023/src/day14/solve.gleam delete mode 100644 aoc2023/src/day15/.gitignore delete mode 100644 aoc2023/src/day15/solve.gleam delete mode 100644 aoc2023/src/day16/.gitignore delete mode 100644 aoc2023/src/day16/solve.gleam delete mode 100644 aoc2023/src/day17/.gitignore delete mode 100644 aoc2023/src/day17/solve.gleam delete mode 100644 aoc2023/src/day18/.gitignore delete mode 100644 aoc2023/src/day18/solve.gleam delete mode 100644 aoc2023/src/day19/.gitignore delete mode 100644 aoc2023/src/day19/solve.gleam delete mode 100644 aoc2023/src/day2/.gitignore delete mode 100644 aoc2023/src/day2/solve.gleam delete mode 100644 aoc2023/src/day20/.gitignore delete mode 100644 aoc2023/src/day20/solve.gleam delete mode 100644 aoc2023/src/day21/.gitignore delete mode 100644 aoc2023/src/day21/solve.gleam delete mode 100644 aoc2023/src/day22/.gitignore delete mode 100644 aoc2023/src/day22/solve.gleam delete mode 100644 aoc2023/src/day23/.gitignore delete mode 100644 aoc2023/src/day23/solve.gleam delete mode 100644 aoc2023/src/day3/.gitignore delete mode 100644 aoc2023/src/day3/solve.gleam delete mode 100644 aoc2023/src/day4/.gitignore delete mode 100644 aoc2023/src/day4/solve.gleam delete mode 100644 aoc2023/src/day5/.gitignore delete mode 100644 aoc2023/src/day5/solve.gleam delete mode 100644 aoc2023/src/day6/.gitignore delete mode 100644 aoc2023/src/day6/solve.gleam delete mode 100644 aoc2023/src/day7/.gitignore delete mode 100644 aoc2023/src/day7/solve.gleam delete mode 100644 aoc2023/src/day8/.gitignore delete mode 100644 aoc2023/src/day8/solve.gleam delete mode 100644 aoc2023/src/day9/.gitignore delete mode 100644 aoc2023/src/day9/solve.gleam delete mode 100644 aoc2023/src/utilities/array2d.gleam delete mode 100644 aoc2023/src/utilities/memo.gleam delete mode 100644 aoc2023/src/utilities/prioqueue.gleam (limited to 'aoc2023/src') diff --git a/aoc2023/src/.gitignore b/aoc2023/src/.gitignore deleted file mode 100644 index bc13a69..0000000 --- a/aoc2023/src/.gitignore +++ /dev/null @@ -1 +0,0 @@ -aoc2023.gleam \ No newline at end of file diff --git a/aoc2023/src/aoc2023.gleam b/aoc2023/src/aoc2023.gleam deleted file mode 100644 index aab904d..0000000 --- a/aoc2023/src/aoc2023.gleam +++ /dev/null @@ -1,12 +0,0 @@ -import gleam/io -import gleam/bit_array - -const str = "abcdefgh -abcdefgh" - -pub fn main() { - let trim = 8 - let assert <<_:bytes-size(trim), "\n":utf8, rest:bytes>> = - bit_array.from_string(str) - io.debug(rest) -} diff --git a/aoc2023/src/day1/.gitignore b/aoc2023/src/day1/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day1/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day1/solve.gleam b/aoc2023/src/day1/solve.gleam deleted file mode 100644 index ed14bde..0000000 --- a/aoc2023/src/day1/solve.gleam +++ /dev/null @@ -1,64 +0,0 @@ -import adglent.{First, Second} -import gleam/io -import gleam/list -import gleam/string -import gleam/regex.{type Match, Match} -import gleam/int - -pub fn part1(input: String) { - let assert Ok(re) = regex.from_string("[1-9]") - - input - |> string.split("\n") - |> list.fold( - 0, - fn(acc, s) { - let matches = regex.scan(s, with: re) - - let assert Ok(Match(content: first, ..)) = list.first(matches) - let assert Ok(Match(content: last, ..)) = list.last(matches) - let assert Ok(i) = int.parse(first <> last) - acc + i - }, - ) - |> string.inspect -} - -const substitutions = [ - #("one", "o1e"), - #("two", "t2o"), - #("three", "t3e"), - #("four", "4"), - #("five", "5e"), - #("six", "6"), - #("seven", "7n"), - #("eight", "e8t"), - #("nine", "n9e"), -] - -pub fn part2(input: String) { - list.fold( - over: substitutions, - from: input, - with: fn(acc, sub) { - let #(from, to) = sub - string.replace(in: acc, each: from, with: to) - }, - ) - |> part1 -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("1") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day10/.gitignore b/aoc2023/src/day10/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day10/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day10/solve.gleam b/aoc2023/src/day10/solve.gleam deleted file mode 100644 index c33634d..0000000 --- a/aoc2023/src/day10/solve.gleam +++ /dev/null @@ -1,177 +0,0 @@ -import adglent.{First, Second} -import gleam/bool -import gleam/dict.{type Dict} -import gleam/list -import gleam/int -import gleam/io -import gleam/set.{type Set} -import gleam/string - -type Posn { - Posn(row: Int, col: Int) -} - -fn add_posns(p1: Posn, p2: Posn) -> Posn { - Posn(p1.row + p2.row, p1.col + p2.col) -} - -type PipeGrid = - Dict(Posn, String) - -const north = Posn(-1, 0) - -const south = Posn(1, 0) - -const east = Posn(0, 1) - -const west = Posn(0, -1) - -const initial_directions = [ - #(north, ["|", "7", "F"]), - #(south, ["|", "J", "L"]), - #(east, ["-", "J", "7"]), - #(west, ["-", "F", "L"]), -] - -fn pipe_neighbors(pipe: String) -> List(Posn) { - case pipe { - "|" -> [north, south] - "-" -> [east, west] - "L" -> [north, east] - "F" -> [south, east] - "7" -> [south, west] - "J" -> [north, west] - _ -> panic as "bad pipe" - } -} - -fn make_grid(input: String) -> PipeGrid { - { - use r, row <- list.index_map(string.split(input, "\n")) - use c, col <- list.index_map(string.to_graphemes(row)) - #(Posn(r, c), col) - } - |> list.flatten - |> dict.from_list -} - -fn valid_start_direction(grid: PipeGrid, s: Posn) { - let assert [dir, ..] = { - use d <- list.filter_map(initial_directions) - let #(delta, valids) = d - let neighbor = add_posns(s, delta) - case dict.get(grid, neighbor) { - Ok(pipe) -> - case list.contains(valids, pipe) { - True -> Ok(neighbor) - False -> Error(Nil) - } - Error(_) -> Error(Nil) - } - } - dir -} - -fn to_next_pipe(current: Posn, grid: PipeGrid, acc: List(Posn)) { - let assert [prev, ..] = acc - let assert Ok(pipe) = dict.get(grid, current) - use <- bool.guard(pipe == "S", [current, ..acc]) - let assert [next] = { - pipe - |> pipe_neighbors - |> list.filter_map(fn(p) { - case add_posns(p, current) { - neighbor if neighbor == prev -> Error(Nil) - neighbor -> Ok(neighbor) - } - }) - } - to_next_pipe(next, grid, [current, ..acc]) -} - -pub fn part1(input: String) { - let grid = - input - |> make_grid - - let assert Ok(s) = - grid - |> dict.filter(fn(_, v) { v == "S" }) - |> dict.keys - |> list.first - - grid - |> valid_start_direction(s) - |> to_next_pipe(grid, [s]) - |> list.length - |> fn(i) { { { i - 1 } / 2 } } - |> string.inspect -} - -fn trace_ray(p: Posn, loop: Set(Posn), grid: PipeGrid) -> Bool { - use <- bool.guard(set.contains(loop, p), False) - int.is_odd(count_crossings(p, loop, grid, 0, "")) -} - -fn count_crossings( - p: Posn, - loop: Set(Posn), - grid: PipeGrid, - acc: Int, - corner: String, -) { - let maybe_cell = dict.get(grid, p) - use <- bool.guard(maybe_cell == Error(Nil), acc) - let assert Ok(cell) = maybe_cell - let next = add_posns(p, east) - case set.contains(loop, p) { - False -> count_crossings(next, loop, grid, acc, corner) - True -> - case corner, cell { - _, "|" -> count_crossings(next, loop, grid, acc + 1, corner) - _, "F" | _, "L" -> count_crossings(next, loop, grid, acc, cell) - "F", "J" | "L", "7" -> count_crossings(next, loop, grid, acc + 1, "") - "F", "7" | "L", "J" -> count_crossings(next, loop, grid, acc, "") - _, _ -> count_crossings(next, loop, grid, acc, corner) - } - } -} - -pub fn part2(input: String) { - let grid = - input - |> make_grid - - let assert Ok(s) = - grid - |> dict.filter(fn(_, v) { v == "S" }) - |> dict.keys - |> list.first - - let loop_pipes = - grid - |> valid_start_direction(s) - |> to_next_pipe(grid, [s]) - |> set.from_list - - grid - |> dict.keys - |> list.filter(trace_ray(_, loop_pipes, grid)) - |> list.length() - |> string.inspect -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("10") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day11/.gitignore b/aoc2023/src/day11/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day11/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day11/solve.gleam b/aoc2023/src/day11/solve.gleam deleted file mode 100644 index 35464a1..0000000 --- a/aoc2023/src/day11/solve.gleam +++ /dev/null @@ -1,84 +0,0 @@ -import adglent.{First, Second} -import gleam/io -import gleam/int -import gleam/string -import gleam/list - -type Posn { - Posn(x: Int, y: Int) -} - -fn find_empty(grid: List(List(String))) { - use acc, row, r <- list.index_fold(grid, []) - case list.unique(row) { - ["."] -> [r, ..acc] - _ -> acc - } -} - -fn count_prior_empty_ranks(rank: Int, empty_ranks: List(Int)) -> Int { - empty_ranks - |> list.drop_while(fn(r_empty) { r_empty > rank }) - |> list.length -} - -fn parse_with_expansion(input: String, expansion: Int) -> List(Posn) { - let add = expansion - 1 - let grid = - input - |> string.split("\n") - |> list.map(string.to_graphemes) - - let empty_row_list = find_empty(grid) - let empty_col_list = find_empty(list.transpose(grid)) - - { - use r, row <- list.index_map(grid) - use acc, cell, c <- list.index_fold(over: row, from: []) - - let p = Posn(r, c) - let empty_r = count_prior_empty_ranks(r, empty_row_list) - let empty_c = count_prior_empty_ranks(c, empty_col_list) - case cell { - "#" -> [Posn(p.x + empty_r * add, p.y + empty_c * add), ..acc] - _empty -> acc - } - } - |> list.flatten() -} - -fn all_distances(stars: List(Posn)) -> Int { - use acc, pair <- list.fold(list.combination_pairs(stars), 0) - let #(s1, s2) = pair - acc + int.absolute_value(s1.x - s2.x) + int.absolute_value(s1.y - s2.y) -} - -fn find_distances(input: String, expand_by: Int) -> String { - input - |> parse_with_expansion(expand_by) - |> all_distances - |> string.inspect -} - -pub fn part1(input: String) { - find_distances(input, 2) -} - -pub fn part2(input: String) { - find_distances(input, 1_000_000) -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("11") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day12/.gitignore b/aoc2023/src/day12/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day12/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day12/solve.gleam b/aoc2023/src/day12/solve.gleam deleted file mode 100644 index 06c7098..0000000 --- a/aoc2023/src/day12/solve.gleam +++ /dev/null @@ -1,91 +0,0 @@ -import adglent.{First, Second} -import gleam/io -import gleam/string -import gleam/list -import gleam/int -import gleam/result -import utilities/memo.{type Cache} - -type ParserState = - #(String, List(Int), Int, Bool) - -fn parse_folds(input: String, folds: Int) { - let records = string.split(input, "\n") - use record <- list.map(records) - let assert Ok(#(template, sets_str)) = string.split_once(record, " ") - - let template = - template - |> list.repeat(folds) - |> list.intersperse("?") - |> string.concat - let sets = - sets_str - |> string.split(",") - |> list.map(int.parse) - |> result.values - |> list.repeat(folds) - |> list.flatten() - - #(template, sets) -} - -fn do_count( - template: String, - groups: List(Int), - left: Int, - gap: Bool, - cache: Cache(ParserState, Int), -) -> Int { - use <- memo.memoize(cache, #(template, groups, left, gap)) - case template, groups, left, gap { - "", [], 0, _ -> 1 - "?" <> t_rest, [g, ..g_rest], 0, False -> - do_count(t_rest, g_rest, g - 1, g == 1, cache) + { - do_count(t_rest, groups, 0, False, cache) - } - "?" <> t_rest, [], 0, False - | "?" <> t_rest, _, 0, True - | "." <> t_rest, _, 0, _ -> do_count(t_rest, groups, 0, False, cache) - "#" <> t_rest, [g, ..g_rest], 0, False -> - do_count(t_rest, g_rest, g - 1, g == 1, cache) - "?" <> t_rest, gs, l, False | "#" <> t_rest, gs, l, False -> - do_count(t_rest, gs, l - 1, l == 1, cache) - _, _, _, _ -> 0 - } -} - -fn count_solutions(acc: Int, condition: #(String, List(Int))) -> Int { - use cache: Cache(ParserState, Int) <- memo.create() - let #(template, groups) = condition - acc + do_count(template, groups, 0, False, cache) -} - -pub fn part1(input: String) { - input - |> parse_folds(1) - |> list.fold(0, count_solutions) - |> string.inspect -} - -pub fn part2(input: String) { - input - |> parse_folds(5) - |> list.fold(0, count_solutions) - |> string.inspect -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("12") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day13/.gitignore b/aoc2023/src/day13/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day13/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day13/solve.gleam b/aoc2023/src/day13/solve.gleam deleted file mode 100644 index 2b3fca2..0000000 --- a/aoc2023/src/day13/solve.gleam +++ /dev/null @@ -1,86 +0,0 @@ -import adglent.{First, Second} -import gleam/io -import gleam/list -import gleam/string -import gleam/bool - -type SymmetryType { - Horizontal(Int) - Vertical(Int) -} - -fn is_symmetric(xss: List(List(a)), errs: Int) { - let assert [left, ..right] = xss - do_is_symmetric([left], right, errs) -} - -fn do_is_symmetric( - left: List(List(a)), - right: List(List(a)), - errors: Int, -) -> Result(Int, Nil) { - use <- bool.guard(list.is_empty(right), Error(Nil)) - let assert [h, ..t] = right - let found_errors = - list.zip(list.flatten(left), list.flatten(right)) - |> list.filter(fn(tup) { tup.1 != tup.0 }) - |> list.length - case found_errors == errors { - True -> Ok(list.length(left)) - False -> do_is_symmetric([h, ..left], t, errors) - } -} - -fn get_symmetry_type(xss: List(List(String)), errors: Int) { - case is_symmetric(xss, errors) { - Ok(n) -> Horizontal(n) - _ -> { - let assert Ok(n) = is_symmetric(list.transpose(xss), errors) - Vertical(n) - } - } -} - -fn summarize_notes(symmetries: List(SymmetryType)) { - use acc, note <- list.fold(symmetries, 0) - case note { - Horizontal(n) -> 100 * n - Vertical(n) -> n - } + acc -} - -fn solve(input: String, errors: Int) { - input - |> string.split("\n\n") - |> list.map(fn(strs) { - strs - |> string.split("\n") - |> list.map(string.to_graphemes) - |> get_symmetry_type(errors) - }) - |> summarize_notes - |> string.inspect -} - -pub fn part1(input: String) { - solve(input, 0) -} - -pub fn part2(input: String) { - solve(input, 1) -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("13") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day14/.gitignore b/aoc2023/src/day14/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day14/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day14/solve.gleam b/aoc2023/src/day14/solve.gleam deleted file mode 100644 index 1ad1a18..0000000 --- a/aoc2023/src/day14/solve.gleam +++ /dev/null @@ -1,93 +0,0 @@ -import adglent.{First, Second} -import gleam/dict -import gleam/int -import gleam/io -import gleam/list -import gleam/order -import gleam/string - -fn parse(input) { - input - |> string.split("\n") - |> list.map(string.to_graphemes) - |> list.transpose() -} - -fn roll_boulders(strs: List(String)) { - { - use chunks <- list.map(list.chunk(strs, fn(c) { c == "O" || c == "." })) - list.sort(chunks, order.reverse(string.compare)) - } - |> list.flatten -} - -fn score(matrix) { - use acc, col <- list.fold(matrix, 0) - acc + { - use col_acc, char, n <- list.index_fold(list.reverse(col), 0) - case char { - "O" -> col_acc + n + 1 - _ -> col_acc - } - } -} - -pub fn part1(input: String) { - input - |> parse - |> list.map(roll_boulders) - |> score() - |> string.inspect -} - -fn rotate(matrix) { - matrix - |> list.map(list.reverse) - |> list.transpose -} - -fn spin(matrix) { - use acc, _ <- list.fold(list.range(1, 4), matrix) - acc - |> list.map(roll_boulders) - |> rotate -} - -fn spin_cycle(matrix) { - let cache = dict.new() - check_if_seen(matrix, cache, 1_000_000_000) -} - -fn check_if_seen(matrix, cache, count) { - case dict.get(cache, matrix) { - Error(Nil) -> - check_if_seen(spin(matrix), dict.insert(cache, matrix, count), count - 1) - Ok(n) -> { - let assert Ok(extra) = int.modulo(count, n - count) - list.fold(list.range(1, extra), matrix, fn(acc, _) { spin(acc) }) - |> score - } - } -} - -pub fn part2(input: String) { - input - |> parse - |> spin_cycle - |> string.inspect -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("14") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day15/.gitignore b/aoc2023/src/day15/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day15/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day15/solve.gleam b/aoc2023/src/day15/solve.gleam deleted file mode 100644 index a7d250c..0000000 --- a/aoc2023/src/day15/solve.gleam +++ /dev/null @@ -1,104 +0,0 @@ -import adglent.{First, Second} -import gleam/io -import gleam/string -import gleam/list -import gleam/int -import gleam/dict.{type Dict} -import gleam/option.{None, Some} - -fn split(input: String) -> List(String) { - input - |> string.split(",") -} - -fn hash_algorithm(str: String) -> Int { - let codepoints = - str - |> string.to_utf_codepoints() - |> list.map(string.utf_codepoint_to_int) - use acc, c <- list.fold(codepoints, 0) - let assert Ok(acc) = int.modulo({ acc + c } * 17, 256) - acc -} - -pub fn part1(input: String) -> String { - input - |> split - |> list.fold(0, fn(acc, str) { acc + hash_algorithm(str) }) - |> string.inspect -} - -type Instruction { - Remove(label: String) - Insert(label: String, focal: Int) -} - -fn read_instruction(str: String) -> Instruction { - case string.split(str, "=") { - [label, focal_str] -> { - let assert Ok(focal) = int.parse(focal_str) - Insert(label, focal) - } - _ -> Remove(string.drop_right(str, 1)) - } -} - -fn parse_instructions(insts: List(String)) -> Dict(Int, List(#(String, Int))) { - use acc, inst <- list.fold(insts, dict.new()) - case read_instruction(inst) { - Remove(label) -> remove_lens(acc, label) - Insert(label, focal) -> insert_lens(acc, label, focal) - } -} - -fn remove_lens(boxes, label) { - use v <- dict.update(boxes, hash_algorithm(label)) - case v { - Some(lenses) -> - case list.key_pop(lenses, label) { - Ok(#(_, updated)) -> updated - Error(Nil) -> lenses - } - None -> [] - } -} - -fn insert_lens(boxes, label, focal) { - use v <- dict.update(boxes, hash_algorithm(label)) - case v { - Some(lenses) -> list.key_set(lenses, label, focal) - None -> [#(label, focal)] - } -} - -fn focusing_power(boxes: Dict(Int, List(#(String, Int)))) -> Int { - use acc, k, v <- dict.fold(boxes, 0) - let box_acc = { - use acc, lens, i <- list.index_fold(v, 0) - acc + lens.1 * { i + 1 } - } - acc + { k + 1 } * box_acc -} - -pub fn part2(input: String) -> String { - input - |> split - |> parse_instructions - |> focusing_power - |> string.inspect -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("15") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day16/.gitignore b/aoc2023/src/day16/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day16/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day16/solve.gleam b/aoc2023/src/day16/solve.gleam deleted file mode 100644 index 65ce36b..0000000 --- a/aoc2023/src/day16/solve.gleam +++ /dev/null @@ -1,119 +0,0 @@ -import adglent.{First, Second} -import gleam/bool -import gleam/dict.{type Dict} -import gleam/io -import gleam/list -import gleam/result -import gleam/set.{type Set} -import utilities/array2d.{type Posn, Posn} - -type Direction { - Up - Right - Down - Left -} - -type Light { - Light(posn: Posn, dir: Direction) -} - -fn move(l: Light) -> Light { - let Light(p, dir) = l - case dir { - Up -> Light(..l, posn: Posn(..p, r: p.r - 1)) - Down -> Light(..l, posn: Posn(..p, r: p.r + 1)) - Left -> Light(..l, posn: Posn(..p, c: p.c - 1)) - Right -> Light(..l, posn: Posn(..p, c: p.c + 1)) - } -} - -fn transform(l: Light, cell: Result(String, Nil)) -> List(Light) { - use <- bool.guard(result.is_error(cell), []) - let assert Ok(c) = cell - let Light(p, dir) = l - case dir, c { - // no change - _, "." | Up, "|" | Down, "|" | Left, "-" | Right, "-" -> [l] - // diagonal mirrors - Left, "/" -> [Light(p, Down)] - Down, "/" -> [Light(p, Left)] - Right, "/" -> [Light(p, Up)] - Up, "/" -> [Light(p, Right)] - Left, "\\" -> [Light(p, Up)] - Up, "\\" -> [Light(p, Left)] - Right, "\\" -> [Light(p, Down)] - Down, "\\" -> [Light(p, Right)] - // splitters - Left, "|" | Right, "|" -> [Light(p, Up), Light(p, Down)] - Up, "-" | Down, "-" -> [Light(p, Left), Light(p, Right)] - _, _ -> panic as "unrecognized cell type" - } -} - -fn energize(lights: List(Light), visited: Set(Light), grid: Dict(Posn, String)) { - let next_positions = - lights - |> list.flat_map(fn(l) { - let next = move(l) - transform(next, dict.get(grid, next.posn)) - }) - |> list.filter(fn(l) { !set.contains(visited, l) }) - let all_visited = set.union(set.from_list(next_positions), visited) - case visited == all_visited { - True -> - set.fold(visited, set.new(), fn(acc, l) { set.insert(acc, l.posn) }) - |> set.to_list - |> list.length - False -> energize(next_positions, all_visited, grid) - } -} - -pub fn part1(input: String) { - let grid = array2d.parse_grid(input) - - [Light(Posn(0, -1), Right)] - |> energize(set.new(), grid) -} - -pub fn part2(input: String) { - let grid = array2d.parse_grid(input) - - let Posn(rows, cols) = { - use acc, p <- list.fold(dict.keys(grid), Posn(0, 0)) - case acc.r + acc.c > p.r + p.c { - True -> acc - False -> p - } - } - - let all_starts = - list.concat([ - list.map(list.range(0, rows), fn(r) { Light(Posn(r, -1), Right) }), - list.map(list.range(0, rows), fn(r) { Light(Posn(r, cols + 1), Left) }), - list.map(list.range(0, cols), fn(c) { Light(Posn(-1, c), Down) }), - list.map(list.range(0, cols), fn(c) { Light(Posn(rows + 1, c), Up) }), - ]) - - use acc, p <- list.fold(all_starts, 0) - let energized = energize([p], set.new(), grid) - case acc > energized { - True -> acc - False -> energized - } -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("16") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day17/.gitignore b/aoc2023/src/day17/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day17/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day17/solve.gleam b/aoc2023/src/day17/solve.gleam deleted file mode 100644 index 7a01c4d..0000000 --- a/aoc2023/src/day17/solve.gleam +++ /dev/null @@ -1,143 +0,0 @@ -import adglent.{First, Second} -import gleam/bool -import gleam/dict.{type Dict} -import gleam/io -import gleam/list -import gleam/result -import gleam/string -import gleam/set.{type Set} -import utilities/array2d.{type Posn, Posn} -import utilities/prioqueue.{type PriorityQueue} - -type State { - State(posn: Posn, heatloss: Int, previous: Posn, history: List(Posn)) -} - -const deltas = [Posn(-1, 0), Posn(1, 0), Posn(0, -1), Posn(0, 1)] - -fn make_key(s: State) { - #(s.posn, same_dir(s)) -} - -fn same_dir(s: State) { - case s.history { - [] -> [] - [first, ..] as deltas -> - list.take_while(deltas, fn(d) { d == first }) - |> list.take(10) - } -} - -fn is_goal(s: State, min_run: Int, goal: Posn) { - goal == s.posn && list.length(same_dir(s)) >= min_run -} - -fn find_good_neighbors(max: Int, min: Int, s: State, grid) { - deltas - |> list.filter(eliminate_bad_neighbors(_, s, max, min, grid)) - |> list.map(make_state(_, s, grid)) -} - -fn eliminate_bad_neighbors(d: Posn, s: State, max, min, grid) { - let neighbor = array2d.add_posns(d, s.posn) - - use <- bool.guard( - neighbor == s.previous || !dict.has_key(grid, neighbor), - False, - ) - case same_dir(s), list.length(same_dir(s)) { - [prev, ..], l if l == max -> d != prev - _, 0 -> True - [prev, ..], l if l < min -> d == prev - _, _ -> True - } -} - -fn make_state(d: Posn, s: State, grid) { - let neighbor = array2d.add_posns(d, s.posn) - let assert Ok(heat_lost) = dict.get(grid, neighbor) - State( - posn: neighbor, - heatloss: s.heatloss + heat_lost, - previous: s.posn, - history: [d, ..s.history], - ) -} - -fn find_path( - grid: Dict(Posn, Int), - queue: PriorityQueue(State), - seen: Set(#(Posn, List(Posn))), - get_neighbors: fn(State) -> List(State), - is_goal: fn(State) -> Bool, -) { - let assert Ok(#(state, rest)) = prioqueue.pop(queue) - let key = - make_key( - state - |> io.debug, - ) - case set.contains(seen, key) { - True -> find_path(grid, rest, seen, get_neighbors, is_goal) - False -> { - let now_seen = set.insert(seen, key) - let neighbors = get_neighbors(state) - case list.find(neighbors, is_goal) { - Ok(final) -> final.heatloss - _err -> { - let now_queue = - list.fold(neighbors, rest, fn(acc, n) { - prioqueue.insert(acc, n, n.heatloss) - }) - find_path(grid, now_queue, now_seen, get_neighbors, is_goal) - } - } - } - } -} - -pub fn part1(input: String) { - let raw_grid = - input - |> array2d.to_list_of_lists - - let grid = array2d.to_2d_intarray(raw_grid) - - let rmax = list.length(raw_grid) - let assert Ok(cmax) = - raw_grid - |> list.first - |> result.map(list.length) - - let start = State(Posn(0, 0), 0, Posn(0, 0), []) - let goal = Posn(rmax, cmax) - - find_path( - grid, - prioqueue.insert(prioqueue.new(), start, 0), - set.new(), - find_good_neighbors(0, 3, _, grid), - is_goal(_, 1, goal), - ) - |> string.inspect -} - -pub fn part2(input: String) { - input - |> string.inspect -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("17") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day18/.gitignore b/aoc2023/src/day18/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day18/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day18/solve.gleam b/aoc2023/src/day18/solve.gleam deleted file mode 100644 index 2c000f9..0000000 --- a/aoc2023/src/day18/solve.gleam +++ /dev/null @@ -1,113 +0,0 @@ -import adglent.{First, Second} -import gleam/io -import gleam/int -import gleam/list -import gleam/option.{Some} -import gleam/regex.{type Match, Match} -import gleam/string - -type Coord { - Coord(x: Int, y: Int) -} - -type Direction { - Up - Right - Down - Left -} - -type Dig { - Dig(dir: Direction, dist: Int) -} - -fn to_direction(c: String) { - case c { - "R" | "0" -> Right - "D" | "1" -> Down - "L" | "2" -> Left - "U" | "3" -> Up - _ -> panic - } -} - -fn parse_front(line: String) { - let assert Ok(re) = regex.from_string("(.) (.*) \\(.*\\)") - let assert [Match(submatches: [Some(dir), Some(dist)], ..)] = - regex.scan(with: re, content: line) - let assert Ok(n) = int.parse(dist) - Dig(to_direction(dir), n) -} - -fn parse_hex(line: String) { - let assert Ok(re) = regex.from_string("\\(#(.....)(.)\\)") - let assert [Match(submatches: [Some(dist), Some(dir)], ..)] = - regex.scan(with: re, content: line) - let assert Ok(n) = int.base_parse(dist, 16) - Dig(to_direction(dir), n) -} - -fn go(current: Coord, dig: Dig) { - case dig { - Dig(Up, n) -> Coord(current.x, current.y + n) - Dig(Right, n) -> Coord(current.x + n, current.y) - Dig(Down, n) -> Coord(current.x, current.y - n) - Dig(Left, n) -> Coord(current.x - n, current.y) - } -} - -fn double_triangle(c1: Coord, c2: Coord) { - { c1.x * c2.y } - { c2.x * c1.y } -} - -fn start_dig(digs: List(Dig)) { - do_next_dig(digs, Coord(0, 0), 0, 0) -} - -fn do_next_dig( - digs: List(Dig), - current: Coord, - area: Int, - perimeter: Int, -) -> Int { - case digs { - [] -> int.absolute_value(area) / 2 + { perimeter / 2 } + 1 - [dig, ..rest] -> { - let next = go(current, dig) - let area = area + double_triangle(current, next) - let perimeter = perimeter + dig.dist - do_next_dig(rest, next, area, perimeter) - } - } -} - -fn solve_with(input, f) { - input - |> string.split("\n") - |> list.map(f) - |> start_dig - |> string.inspect -} - -pub fn part1(input: String) { - solve_with(input, parse_front) -} - -pub fn part2(input: String) { - solve_with(input, parse_hex) -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("18") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day19/.gitignore b/aoc2023/src/day19/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day19/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day19/solve.gleam b/aoc2023/src/day19/solve.gleam deleted file mode 100644 index 186e783..0000000 --- a/aoc2023/src/day19/solve.gleam +++ /dev/null @@ -1,255 +0,0 @@ -import adglent.{First, Second} -import gleam/io -import gleam/string -import gleam/dict.{type Dict} -import gleam/order.{type Order, Gt, Lt} -import gleam/regex.{type Match, Match} -import gleam/list -import gleam/option.{Some} -import gleam/int - -type Rating { - XtremelyCool - Musical - Aerodynamic - Shiny -} - -type Part { - Part(x: Int, m: Int, a: Int, s: Int) -} - -type Action { - Accept - Reject - SendTo(String) -} - -type Rule { - If(rating: Rating, comparison: Order, threshold: Int, do: Action) - Just(do: Action) -} - -type Workflow = - Dict(String, List(Rule)) - -type Interval { - Interval(min: Int, max: Int) -} - -type PartRange { - PartRange(x: Interval, m: Interval, a: Interval, s: Interval) -} - -fn parse_workflow(input: String) -> Workflow { - let assert Ok(re) = regex.from_string("(.*){(.*)}") - - use acc, line <- list.fold(string.split(input, "\n"), dict.new()) - let assert [Match(submatches: [Some(name), Some(all_rules)], ..)] = - regex.scan(re, line) - let rules = - string.split(all_rules, ",") - |> parse_rules - dict.insert(acc, name, rules) -} - -fn parse_rules(rules: List(String)) -> List(Rule) { - let assert Ok(re_rule) = regex.from_string("(.*)(>|<)(.*):(.*)") - use rule <- list.map(rules) - case regex.scan(re_rule, rule) { - [Match(submatches: [Some(r), Some(c), Some(t), Some(i)], ..)] -> - If(to_rating(r), to_comp(c), to_val(t), to_instruction(i)) - _nomatch -> Just(to_instruction(rule)) - } -} - -fn to_instruction(rule: String) { - case rule { - "A" -> Accept - "R" -> Reject - name -> SendTo(name) - } -} - -fn to_rating(rating: String) { - case rating { - "x" -> XtremelyCool - "m" -> Musical - "a" -> Aerodynamic - _s -> Shiny - } -} - -fn get_rating(part: Part, rating: Rating) -> Int { - case rating { - XtremelyCool -> part.x - Musical -> part.m - Aerodynamic -> part.a - Shiny -> part.s - } -} - -fn to_comp(comp: String) { - case comp { - "<" -> Lt - _gt -> Gt - } -} - -fn to_val(val: String) { - let assert Ok(n) = int.parse(val) - n -} - -fn parse_parts(input: String) -> List(Part) { - let assert Ok(re) = regex.from_string("{x=(.*),m=(.*),a=(.*),s=(.*)}") - - use part <- list.map(string.split(input, "\n")) - let assert [Match(submatches: [Some(x), Some(m), Some(a), Some(s)], ..)] = - regex.scan(re, part) - Part(to_val(x), to_val(m), to_val(a), to_val(s)) -} - -fn start_evaluating_workflow(part: Part, workflow: Workflow) -> Int { - evaluate_workflow(part, "in", workflow) -} - -fn evaluate_workflow(part: Part, name: String, workflow: Workflow) -> Int { - let assert Ok(rules) = dict.get(workflow, name) - case evaluate_rules(part, rules) { - Accept -> part.x + part.m + part.a + part.s - Reject -> 0 - SendTo(name) -> evaluate_workflow(part, name, workflow) - } -} - -fn evaluate_rules(part: Part, rules: List(Rule)) -> Action { - case rules { - [] -> panic - [Just(do), ..] -> do - [If(rating, comparison, threshold, do), ..rest] -> - case int.compare(get_rating(part, rating), threshold) == comparison { - True -> do - False -> evaluate_rules(part, rest) - } - } -} - -pub fn part1(input: String) { - let assert Ok(#(workflows_str, parts_str)) = string.split_once(input, "\n\n") - - let workflows = parse_workflow(workflows_str) - let parts = parse_parts(parts_str) - - list.map(parts, start_evaluating_workflow(_, workflows)) - |> int.sum - |> string.inspect -} - -fn size(interval: Interval) { - interval.max - interval.min + 1 -} - -fn all_in_range(pr: PartRange) { - size(pr.x) * size(pr.m) * size(pr.a) * size(pr.s) -} - -fn get_partrange(pr: PartRange, rating: Rating) -> Interval { - case rating { - XtremelyCool -> pr.x - Musical -> pr.m - Aerodynamic -> pr.a - Shiny -> pr.s - } -} - -fn update_partrange(pr: PartRange, rating: Rating, i: Interval) -> PartRange { - case rating { - XtremelyCool -> PartRange(..pr, x: i) - Musical -> PartRange(..pr, m: i) - Aerodynamic -> PartRange(..pr, a: i) - Shiny -> PartRange(..pr, s: i) - } -} - -pub fn part2(input: String) { - let assert Ok(#(workflows_str, _)) = string.split_once(input, "\n\n") - - let workflow = parse_workflow(workflows_str) - let start = Interval(1, 4000) - - PartRange(start, start, start, start) - |> evaluate_workflow_on_range("in", workflow) - |> string.inspect -} - -fn evaluate_workflow_on_range( - pr: PartRange, - name: String, - workflow: Workflow, -) -> Int { - let assert Ok(rules) = dict.get(workflow, name) - evaluate_rules_on_range(pr, rules, workflow) -} - -fn evaluate_rules_on_range( - pr: PartRange, - rules: List(Rule), - workflow: Workflow, -) -> Int { - case rules { - [Just(Accept), ..] -> all_in_range(pr) - [Just(Reject), ..] -> 0 - [Just(SendTo(name)), ..] -> evaluate_workflow_on_range(pr, name, workflow) - [If(rating, comparison, t, action), ..rest] -> { - let mod_i = get_partrange(pr, rating) - case comparison { - Lt -> - split_range( - keep: update_partrange(pr, rating, Interval(mod_i.min, t - 1)), - and_do: action, - pass: update_partrange(pr, rating, Interval(t, mod_i.max)), - and_eval: rest, - with: workflow, - ) - _gt -> - split_range( - keep: update_partrange(pr, rating, Interval(t + 1, mod_i.max)), - and_do: action, - pass: update_partrange(pr, rating, Interval(mod_i.min, t)), - and_eval: rest, - with: workflow, - ) - } - } - [] -> panic - } -} - -fn split_range( - keep keep: PartRange, - and_do action: Action, - pass pass: PartRange, - and_eval rest: List(Rule), - with workflow: Workflow, -) -> Int { - int.add( - evaluate_rules_on_range(keep, [Just(action)], workflow), - evaluate_rules_on_range(pass, rest, workflow), - ) -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("19") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day2/.gitignore b/aoc2023/src/day2/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day2/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day2/solve.gleam b/aoc2023/src/day2/solve.gleam deleted file mode 100644 index 38e62d7..0000000 --- a/aoc2023/src/day2/solve.gleam +++ /dev/null @@ -1,67 +0,0 @@ -import adglent.{First, Second} -import gleam/io -import gleam/int -import gleam/string -import gleam/list - -pub type Game { - Game(red: Int, blue: Int, green: Int) -} - -fn parse(input: String) -> List(List(Game)) { - use line <- list.map(string.split(input, "\n")) - let assert [_, rounds] = string.split(line, on: ": ") - use match <- list.map(string.split(rounds, on: "; ")) - use acc, draw <- list.fold( - over: string.split(match, on: ", "), - from: Game(0, 0, 0), - ) - let assert Ok(#(n_str, color)) = string.split_once(draw, " ") - let assert Ok(n) = int.parse(n_str) - case color { - "red" -> Game(..acc, red: n) - "blue" -> Game(..acc, blue: n) - "green" -> Game(..acc, green: n) - _ -> panic as "unrecognized color" - } -} - -pub fn part1(input: String) { - use acc, game, i <- list.index_fold(parse(input), 0) - case list.any(game, fn(m) { m.red > 12 || m.green > 13 || m.blue > 14 }) { - False -> acc + i + 1 - True -> acc - } -} - -pub fn part2(input: String) { - { - use game <- list.map(parse(input)) - use acc, match <- list.fold(game, Game(0, 0, 0)) - let Game(red: red, green: green, blue: blue) = match - Game( - red: int.max(red, acc.red), - blue: int.max(blue, acc.blue), - green: int.max(green, acc.green), - ) - } - |> list.fold( - from: 0, - with: fn(acc, g: Game) { acc + g.red * g.blue * g.green }, - ) -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("2") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day20/.gitignore b/aoc2023/src/day20/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day20/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day20/solve.gleam b/aoc2023/src/day20/solve.gleam deleted file mode 100644 index 9192dac..0000000 --- a/aoc2023/src/day20/solve.gleam +++ /dev/null @@ -1,251 +0,0 @@ -import adglent.{First, Second} -import gleam/bool -import gleam/dict.{type Dict} -import gleam/io -import gleam/iterator.{type Iterator, type Step, Next} -import gleam/list -import gleam/queue.{type Queue} -import gleam/set -import gleam/string - -type Node { - Broadcaster(children: List(String)) - Flipflop(children: List(String), state: Power) - Conjunction(children: List(String), state: Dict(String, TonePitch)) - Ground -} - -type Tone { - Tone(from: String, to: String, pitch: TonePitch) -} - -type Power { - On - Off -} - -type TonePitch { - Low - High -} - -type State { - State( - nodes: Dict(String, Node), - low: Int, - high: Int, - cycle: Int, - sentry_nodes: Dict(String, Int), - ) -} - -fn flip_power(p: Power) -> Power { - case p { - On -> Off - Off -> On - } -} - -fn flip_flop_pitch(p: Power) -> TonePitch { - case p { - Off -> High - On -> Low - } -} - -fn combinator_pitch(state) { - case list.unique(dict.values(state)) { - [High] -> Low - _ -> High - } -} - -fn get_children(node) { - case node { - Flipflop(children: cs, ..) -> cs - Conjunction(children: cs, ..) -> cs - Broadcaster(children: cs) -> cs - Ground -> [] - } -} - -fn parse_node(input: String) -> #(String, Node) { - let assert [full_name, children_str] = string.split(input, on: " -> ") - let children = string.split(children_str, on: ", ") - - case full_name { - "%" <> name -> #(name, Flipflop(children: children, state: Off)) - "&" <> name -> #(name, Conjunction(children: children, state: dict.new())) - "broadcaster" -> #("broadcaster", Broadcaster(children: children)) - name -> #(name, Ground) - } -} - -fn to_initial_state(nodes: List(#(String, Node))) -> Dict(String, Node) { - let node_dict = dict.from_list(nodes) - let node_names = dict.keys(node_dict) - - let node_dict = - node_dict - |> dict.values - |> list.map(get_children) - |> list.concat - |> set.from_list - |> set.drop(dict.keys(node_dict)) - |> set.to_list - |> list.fold(node_dict, fn(acc, n) { dict.insert(acc, n, Ground) }) - - use name, node <- dict.map_values(node_dict) - case node { - Conjunction(state: _, children: chs) -> - node_names - |> list.filter(fn(n) { - let assert Ok(node) = dict.get(node_dict, n) - list.contains(get_children(node), any: name) - }) - |> list.map(fn(n) { #(n, Low) }) - |> dict.from_list() - |> fn(dict) { Conjunction(state: dict, children: chs) } - other -> other - } -} - -fn add_to_queue(from, children, pitch, queue) { - use acc, c <- list.fold(children, queue) - queue.push_back(acc, Tone(from: from, to: c, pitch: pitch)) -} - -fn add_tones(state: State, nodes, pitch, n) { - case pitch { - Low -> - State(..state, nodes: nodes, low: state.low + n, cycle: state.cycle + 1) - High -> - State(..state, nodes: nodes, high: state.high + n, cycle: state.cycle + 1) - } -} - -fn press_button_once(initial: State, queue: Queue(Tone)) { - let State(nodes: nodes, ..) = initial - - use <- bool.guard(queue.is_empty(queue), initial) - let assert Ok(#(Tone(from_name, to_name, pitch), rest)) = - queue.pop_front(queue) - - let assert Ok(to_node) = dict.get(nodes, to_name) - case to_node { - Broadcaster(children) -> { - let new_state = - add_tones(initial, nodes, pitch, list.length(children) + 1) - - let new_queue = add_to_queue(to_name, children, pitch, rest) - press_button_once(new_state, new_queue) - } - - Conjunction(state: state, children: children) -> { - let new_state = - state - |> dict.insert(from_name, pitch) - - let updated_nodes = - Conjunction(state: new_state, children: children) - |> dict.insert(nodes, to_name, _) - - let pitch_out = combinator_pitch(new_state) - - let new_state = - add_tones(initial, updated_nodes, pitch_out, list.length(children)) - |> check_for_interesting_node(from_name, pitch_out) - - add_to_queue(to_name, children, pitch_out, rest) - |> press_button_once(new_state, _) - } - - Flipflop(..) if pitch == High -> - press_button_once(State(..initial, cycle: initial.cycle + 1), rest) - - Flipflop(state: state, children: children) -> { - let updated_nodes = - Flipflop(state: flip_power(state), children: children) - |> dict.insert(nodes, to_name, _) - - let pitch_out = flip_flop_pitch(state) - let new_state = - add_tones(initial, updated_nodes, pitch_out, list.length(children)) - - add_to_queue(to_name, children, flip_flop_pitch(state), rest) - |> press_button_once(new_state, _) - } - - Ground(..) -> - press_button_once(State(..initial, cycle: initial.cycle + 1), rest) - } -} - -pub fn part1(input: String) { - let initial_state = - input - |> string.split(on: "\n") - |> list.map(parse_node) - |> to_initial_state() - - iterator.iterate( - from: State(initial_state, 0, 0, 1, dict.new()), - with: press_button_once(_, queue.from_list([ - Tone("button", "broadcaster", Low), - ])), - ) - |> iterator.at(1000) - |> fn(s) { - let assert Ok(State(high: high, low: low, ..)) = s - high * low - } - |> string.inspect -} - -fn check_for_interesting_node(state, name, pitch_out) { - case name, pitch_out { - "rk", High | "cd", High | "zf", High | "qx", High -> - State( - ..state, - sentry_nodes: dict.insert(state.sentry_nodes, name, state.cycle), - ) - _, _ -> state - } -} - -pub fn part2(input: String) { - let initial_state = - input - |> string.split(on: "\n") - |> list.map(parse_node) - |> to_initial_state() - - iterator.iterate( - from: State(initial_state, 0, 0, 1, dict.new()), - with: press_button_once(_, queue.from_list([ - Tone("button", "broadcaster", Low), - ])), - ) - |> iterator.drop_while(fn(s) { dict.size(s.sentry_nodes) < 4 }) - |> iterator.step - |> fn(s: Step(State, Iterator(State))) { - let assert Next(goal, _rest) = s - goal.sentry_nodes - } - |> string.inspect -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("20") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day21/.gitignore b/aoc2023/src/day21/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day21/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day21/solve.gleam b/aoc2023/src/day21/solve.gleam deleted file mode 100644 index 4d5c246..0000000 --- a/aoc2023/src/day21/solve.gleam +++ /dev/null @@ -1,25 +0,0 @@ -import adglent.{First, Second} -import gleam/io - -pub fn part1(input: String) { - todo as "Implement solution to part 1" -} - -pub fn part2(input: String) { - todo as "Implement solution to part 2" -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("21") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day22/.gitignore b/aoc2023/src/day22/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day22/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day22/solve.gleam b/aoc2023/src/day22/solve.gleam deleted file mode 100644 index 7bf2fb4..0000000 --- a/aoc2023/src/day22/solve.gleam +++ /dev/null @@ -1,199 +0,0 @@ -import adglent.{First, Second} -import gleam/bool -import gleam/dict.{type Dict} -import gleam/int -import gleam/io -import gleam/list -import gleam/option.{None, Some} -import gleam/regex -import gleam/result -import gleam/set.{type Set} -import gleam/string - -type Point { - Point(x: Int, y: Int, z: Int) -} - -fn down_one(p: Point) -> Point { - Point(..p, z: p.z - 1) -} - -type Block { - Block(index: Int, from: Point, to: Point) -} - -fn compare_blocks(b1: Block, b2: Block) { - int.compare(b1.to.z, b2.to.z) -} - -type Space = - Dict(Point, Block) - -type AllBlocks = - Dict(Block, List(Point)) - -type BlockTree = - Dict(Int, Set(Int)) - -fn parse_block(index: Int, input: String) -> Block { - let assert Ok(re) = regex.from_string("(.*),(.*),(.*)~(.*),(.*),(.*)") - - let assert [scan] = regex.scan(with: re, content: input) - - let assert [x1, y1, z1, x2, y2, z2] = - scan.submatches - |> option.all - |> option.unwrap([]) - |> list.map(int.parse) - |> result.values - Block(index: index, from: Point(x1, y1, z1), to: Point(x2, y2, z2)) -} - -fn cross_section_at_level(b: Block, z: Int) -> List(Point) { - use x <- list.flat_map(list.range(b.from.x, b.to.x)) - use y <- list.map(list.range(b.from.y, b.to.y)) - Point(x, y, z) -} - -fn place_block(space: Space, b: Block, z: Int) -> Space { - let now_occupied = { - use x <- list.flat_map(list.range(b.from.x, b.to.x)) - use y <- list.flat_map(list.range(b.from.y, b.to.y)) - use z <- list.map(list.range(z, z + b.to.z - b.from.z)) - #(Point(x, y, z), b) - } - - dict.merge(space, dict.from_list(now_occupied)) -} - -fn find_lowest_level(space: Space, b: Block) -> Space { - do_find_lowest(space, b, b.from.z) -} - -fn do_find_lowest(space: Space, b: Block, z: Int) -> Space { - let is_intersecting = - list.any(cross_section_at_level(b, z), dict.has_key(space, _)) - - case z, is_intersecting { - 0, _ -> place_block(space, b, 1) - _, True -> place_block(space, b, z + 1) - _, False -> do_find_lowest(space, b, z - 1) - } -} - -fn to_block_positions(space: Space) -> AllBlocks { - use acc, point, index <- dict.fold(space, dict.new()) - use points <- dict.update(acc, index) - case points { - Some(ps) -> [point, ..ps] - None -> [point] - } -} - -fn above_blocks(blocks: AllBlocks) -> BlockTree { - use acc, block, points <- dict.fold(blocks, dict.new()) - use _ <- dict.update(acc, block.index) - { - use above_block, above_points <- dict.filter(blocks) - above_block.index != block.index - && list.any(above_points, fn(p) { list.contains(points, down_one(p)) }) - } - |> dict.keys - |> list.map(fn(b) { b.index }) - |> set.from_list -} - -fn below_blocks(blocktree: BlockTree) -> BlockTree { - use acc, block, _ <- dict.fold(blocktree, dict.new()) - use _ <- dict.update(acc, block) - { - use _, aboves <- dict.filter(blocktree) - set.contains(aboves, block) - } - |> dict.keys - |> set.from_list -} - -fn vulnerable_blocks(below_tree: BlockTree) -> List(Int) { - use block <- list.filter(dict.keys(below_tree)) - use bs <- list.any(dict.values(below_tree)) - !{ set.size(bs) == 0 } && { set.size(set.delete(bs, block)) == 0 } -} - -pub fn part1(input: String) { - let settled_blocks = - input - |> string.split("\n") - |> list.index_map(parse_block) - |> list.sort(compare_blocks) - |> list.fold(dict.new(), find_lowest_level) - - let block_positions = to_block_positions(settled_blocks) - let above_blocks = above_blocks(block_positions) - let below_blocks = below_blocks(above_blocks) - - let vulnerable_blocks = vulnerable_blocks(below_blocks) - - list.length(dict.keys(block_positions)) - list.length(vulnerable_blocks) -} - -fn all_falling_blocks(n: Int, above: BlockTree, below: BlockTree) { - let starting_set = set.insert(set.new(), n) - do_falling_blocks(starting_set, starting_set, above, below) -} - -fn do_falling_blocks( - fallen: Set(Int), - blocks: Set(Int), - above: BlockTree, - below: BlockTree, -) -> Int { - use <- bool.guard(set.size(blocks) == 0, set.size(fallen) - 1) - - let blocks_above = - { - use block <- list.flat_map(set.to_list(blocks)) - let assert Ok(supports) = dict.get(above, block) - use support <- list.filter(set.to_list(supports)) - let assert Ok(supportings) = dict.get(below, support) - use supporting <- list.all(set.to_list(supportings)) - set.contains(fallen, supporting) - } - |> set.from_list() - - set.union(fallen, blocks_above) - |> do_falling_blocks(blocks_above, above, below) -} - -pub fn part2(input: String) { - let settled_blocks = - input - |> string.split("\n") - |> list.index_map(parse_block) - |> list.sort(compare_blocks) - |> list.fold(dict.new(), find_lowest_level) - - let block_positions = to_block_positions(settled_blocks) - let above_blocks = above_blocks(block_positions) - let below_blocks = below_blocks(above_blocks) - - let vulnerable_blocks = vulnerable_blocks(below_blocks) - - use acc, b <- list.fold(vulnerable_blocks, 0) - acc + all_falling_blocks(b, above_blocks, below_blocks) -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("22") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day23/.gitignore b/aoc2023/src/day23/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day23/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day23/solve.gleam b/aoc2023/src/day23/solve.gleam deleted file mode 100644 index e1fe638..0000000 --- a/aoc2023/src/day23/solve.gleam +++ /dev/null @@ -1,194 +0,0 @@ -import adglent.{First, Second} -import gleam/int -import gleam/io -import gleam/dict.{type Dict} -import gleam/list -import gleam/option.{type Option, None, Some} -import gleam/string -import gleam/set.{type Set} -import gleam/bool -import utilities/array2d.{type Array2D, type Posn, Posn} - -type Path { - Unknown - Straight - Junction -} - -type Route { - Route(to: Posn, distance: Int) -} - -fn append_to_key(v: Option(List(a)), new: a) -> List(a) { - case v { - None -> [new] - Some(xs) -> [new, ..xs] - } -} - -fn first_parse_path(c: String) -> Result(Path, Nil) { - case c { - "#" -> Error(Nil) - _ -> Ok(Unknown) - } -} - -fn junction_neighbors(p: Posn) -> List(Posn) { - [Posn(..p, r: p.r + 1), Posn(..p, c: p.c + 1)] -} - -fn mark_junctions(trails: Array2D(Path)) -> Array2D(Path) { - use trail, _ <- dict.map_values(trails) - - let valid_neighbors = - trail - |> array2d.ortho_neighbors - |> list.filter(dict.has_key(trails, _)) - - case list.length(valid_neighbors) { - 2 -> Straight - _ -> Junction - } -} - -fn start_walking_to_next_junction( - start: Posn, - next: Posn, - trails: Array2D(Path), -) { - let seen = - set.new() - |> set.insert(start) - |> set.insert(next) - walk_to_next_junction(start, next, 1, seen, trails) -} - -fn walk_to_next_junction( - start: Posn, - current: Posn, - length: Int, - seen: Set(Posn), - trails: Array2D(Path), -) -> #(Posn, Route) { - let assert [next] = - current - |> array2d.ortho_neighbors - |> list.filter(fn(n) { dict.has_key(trails, n) && !set.contains(seen, n) }) - - case dict.get(trails, next) { - Ok(Junction) -> #(start, Route(to: next, distance: length + 1)) - _ -> { - let seen = set.insert(seen, current) - walk_to_next_junction(start, next, { length + 1 }, seen, trails) - } - } -} - -fn find_routes(junctions, trails) { - use junction <- list.flat_map(junctions) - use neighbor <- list.filter_map(junction_neighbors(junction)) - case dict.has_key(trails, neighbor) { - True -> Ok(start_walking_to_next_junction(junction, neighbor, trails)) - False -> Error(Nil) - } -} - -fn generate_routes( - junctions: List(Posn), - trails: Array2D(Path), -) -> Dict(Posn, List(Route)) { - use acc, #(from, route) <- list.fold( - find_routes(junctions, trails), - dict.new(), - ) - dict.update(acc, from, append_to_key(_, route)) -} - -fn generate_2way_routes( - junctions: List(Posn), - trails: Array2D(Path), -) -> Dict(Posn, List(Route)) { - use acc, #(from, route) <- list.fold( - find_routes(junctions, trails), - dict.new(), - ) - acc - |> dict.update(from, append_to_key(_, route)) - |> dict.update(route.to, append_to_key(_, Route(from, route.distance))) -} - -fn dfs(routes, from, to) { - let seen = set.insert(set.new(), from) - do_dfs(routes, from, to, 0, seen) -} - -fn do_dfs( - routes: Dict(Posn, List(Route)), - from: Posn, - to: Posn, - acc: Int, - seen: Set(Posn), -) -> Int { - use <- bool.guard(to == from, acc) - - let assert Ok(all_routes) = dict.get(routes, from) - let neighbors = list.filter(all_routes, fn(r) { !set.contains(seen, r.to) }) - - case neighbors { - [] -> 0 - neighbors -> - list.fold(neighbors, acc, fn(inner_acc, n) { - let score = - do_dfs(routes, n.to, to, acc + n.distance, set.insert(seen, n.to)) - int.max(score, inner_acc) - }) - } -} - -fn solve_using( - input: String, - using: fn(List(Posn), Dict(Posn, Path)) -> Dict(Posn, List(Route)), -) -> Int { - let min_row = 0 - let max_row = list.length(string.split(input, "\n")) - 1 - - let trails = - input - |> array2d.parse_grid_using(first_parse_path) - |> mark_junctions - - let junctions = - trails - |> dict.filter(fn(_, v) { v == Junction }) - |> dict.keys - - let assert Ok(start) = list.find(junctions, fn(j) { j.r == min_row }) - let assert Ok(end) = list.find(junctions, fn(j) { j.r == max_row }) - - let routes = using(junctions, trails) - - dfs(routes, start, end) -} - -pub fn part1(input: String) { - solve_using(input, generate_routes) -} - -pub fn part2(input: String) { - solve_using(input, generate_2way_routes) -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("23") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day3/.gitignore b/aoc2023/src/day3/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day3/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day3/solve.gleam b/aoc2023/src/day3/solve.gleam deleted file mode 100644 index ad975aa..0000000 --- a/aoc2023/src/day3/solve.gleam +++ /dev/null @@ -1,180 +0,0 @@ -import adglent.{First, Second} -import gleam/io -import gleam/dict.{type Dict} -import gleam/string -import gleam/list -import gleam/int -import gleam/order.{type Order, Eq} - -type Coord { - Coord(x: Int, y: Int) -} - -type SymbolKind { - Gear - SomethingElse -} - -type Symbol { - Number(Int) - Symbol(SymbolKind) - Empty -} - -type Board = - Dict(Coord, Symbol) - -type Cell { - Cell(coord: Coord, symbol: Symbol) -} - -type Part { - Part(coords: List(Coord), part_number: Int) -} - -fn to_symbol(c: String) -> Symbol { - case int.parse(c), c { - Ok(n), _ -> Number(n) - _, "." -> Empty - _, "*" -> Symbol(Gear) - _, _ -> Symbol(SomethingElse) - } -} - -fn to_board(input: String) -> Board { - { - use y, r <- list.index_map(string.split(input, "\n")) - use x, c <- list.index_map(string.to_graphemes(r)) - #(Coord(x, y), to_symbol(c)) - } - |> list.flatten() - |> dict.from_list() -} - -fn cell_compare(a: Cell, b: Cell) -> Order { - case int.compare(a.coord.y, b.coord.y) { - Eq -> int.compare(a.coord.x, b.coord.x) - other -> other - } -} - -fn find_all_part_digits(b: Board) -> List(Cell) { - b - |> dict.filter(fn(_, v) { - case v { - Number(_) -> True - _ -> False - } - }) - |> dict.to_list() - |> list.map(fn(tup) { Cell(tup.0, tup.1) }) - |> list.sort(cell_compare) -} - -fn to_parts(cells: List(Cell)) -> List(Part) { - do_parts(cells, []) -} - -fn do_parts(cells: List(Cell), parts: List(Part)) -> List(Part) { - case cells { - [] -> parts - [Cell(next, Number(n)), ..t] -> { - case parts { - [] -> do_parts(t, [Part([next], n), ..parts]) - [Part([prev, ..] as coords, n0), ..rest_parts] -> - case { next.x - prev.x }, { next.y - prev.y } { - 1, 0 -> - do_parts(t, [Part([next, ..coords], n0 * 10 + n), ..rest_parts]) - _, _ -> do_parts(t, [Part([next], n), ..parts]) - } - _ -> panic - } - } - _ -> panic - } -} - -fn all_neighbors(c: Coord) -> List(Coord) { - use dx <- list.flat_map([-1, 0, 1]) - use dy <- list.filter_map([-1, 0, 1]) - case dx, dy { - 0, 0 -> Error(Nil) - _, _ -> Ok(Coord(c.x + dx, c.y + dy)) - } -} - -fn sum_valid_parts(acc: Int, part: Part, board: Board) -> Int { - let neighbors = - part.coords - |> list.flat_map(all_neighbors) - |> list.unique() - - let sym = [Ok(Symbol(Gear)), Ok(Symbol(SomethingElse))] - case list.any(neighbors, fn(c) { list.contains(sym, dict.get(board, c)) }) { - True -> acc + part.part_number - False -> acc - } -} - -pub fn part1(input: String) -> Int { - let board = to_board(input) - - board - |> find_all_part_digits - |> to_parts - |> list.fold(0, fn(acc, p) { sum_valid_parts(acc, p, board) }) -} - -fn to_part_with_neighbors(part: Part) -> Part { - part.coords - |> list.flat_map(all_neighbors) - |> list.unique - |> Part(part.part_number) -} - -fn find_part_numbers_near_gear(gear: Coord, parts: List(Part)) -> List(Int) { - use part <- list.filter_map(parts) - case list.contains(part.coords, gear) { - True -> Ok(part.part_number) - False -> Error(Nil) - } -} - -fn to_sum_of_gear_ratios(adjacent_parts: List(List(Int))) -> Int { - use acc, ps <- list.fold(adjacent_parts, 0) - case ps { - [p1, p2] -> acc + p1 * p2 - _ -> acc - } -} - -pub fn part2(input: String) -> Int { - let board = to_board(input) - - let parts = - board - |> find_all_part_digits - |> to_parts - |> list.map(to_part_with_neighbors) - - board - |> dict.filter(fn(_, v) { v == Symbol(Gear) }) - |> dict.keys - |> list.map(find_part_numbers_near_gear(_, parts)) - |> to_sum_of_gear_ratios -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("3") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day4/.gitignore b/aoc2023/src/day4/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day4/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day4/solve.gleam b/aoc2023/src/day4/solve.gleam deleted file mode 100644 index 34d6098..0000000 --- a/aoc2023/src/day4/solve.gleam +++ /dev/null @@ -1,98 +0,0 @@ -import adglent.{First, Second} -import gleam/bool -import gleam/dict.{type Dict} -import gleam/int -import gleam/io -import gleam/list -import gleam/option.{None, Some} -import gleam/result -import gleam/set.{type Set} -import gleam/string - -type Card { - Card(number: Int, winners: Int) -} - -fn numbers_to_set(str: String) -> Set(Int) { - str - |> string.split(" ") - |> list.map(int.parse) - |> result.values() - |> set.from_list() -} - -fn parse_card(card: String) -> Card { - let assert Ok(#("Card" <> n_str, rest)) = string.split_once(card, ": ") - let assert Ok(#(winning_str, has_str)) = string.split_once(rest, " | ") - let assert Ok(n) = int.parse(string.trim(n_str)) - - let winning = numbers_to_set(winning_str) - let has = numbers_to_set(has_str) - let winners = set.size(set.intersection(winning, has)) - - Card(number: n, winners: winners) -} - -fn win_points(n: Int) { - bool.guard(n < 2, n, fn() { 2 * win_points(n - 1) }) -} - -pub fn part1(input: String) { - use acc, c <- list.fold(string.split(input, "\n"), 0) - c - |> parse_card - |> fn(c: Card) { win_points(c.winners) } - |> int.add(acc) -} - -fn win_more_cards(cards: List(String), count: Dict(Int, Int)) { - case cards { - [] -> - count - |> dict.values - |> int.sum - [raw_card, ..rest] -> { - let card = parse_card(raw_card) - case card.winners { - 0 -> win_more_cards(rest, count) - n -> win_more_cards(rest, update_counts(n, card, count)) - } - } - } -} - -fn update_counts(n: Int, card: Card, count: Dict(Int, Int)) -> Dict(Int, Int) { - let assert Ok(bonus) = dict.get(count, card.number) - use acc, n <- list.fold(list.range(card.number + 1, card.number + n), count) - use c <- dict.update(acc, n) - case c { - Some(i) -> i + bonus - None -> panic as "won a card that doesn't exist in the card pile" - } -} - -pub fn part2(input: String) { - let cards = string.split(input, "\n") - - let count = - list.range(1, list.length(cards)) - |> list.map(fn(n) { #(n, 1) }) - |> dict.from_list() - - win_more_cards(cards, count) -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("4") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day5/.gitignore b/aoc2023/src/day5/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day5/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day5/solve.gleam b/aoc2023/src/day5/solve.gleam deleted file mode 100644 index 58e2ae0..0000000 --- a/aoc2023/src/day5/solve.gleam +++ /dev/null @@ -1,167 +0,0 @@ -import adglent.{First, Second} -import gleam/io -import gleam/string -import gleam/result -import gleam/list.{Continue, Stop} -import gleam/int -import gleam/function - -// Types ------------------------------------------------------------------------------------------- - -pub type Almanac { - Almanac(seeds: List(Int), mappers: List(Mapper)) -} - -pub type MappingRange { - MRange(start: Int, end: Int, offset: Int) -} - -pub type SeedRange { - SRange(start: Int, end: Int) -} - -type Mapper = - List(MappingRange) - -// Parsing ----------------------------------------------------------------------------------------- - -fn parse_input(input: String) { - let assert ["seeds: " <> raw_seeds, ..raw_mappers] = - string.split(input, on: "\n\n") - - let seeds = string_to_int_list(raw_seeds) - let mappers = - list.map( - raw_mappers, - function.compose(string.split(_, on: "\n"), parse_mapper), - ) - Almanac(seeds, mappers) -} - -fn string_to_int_list(str: String) { - str - |> string.split(on: " ") - |> list.map(int.parse) - |> result.values -} - -fn parse_mapper(strs: List(String)) -> Mapper { - let assert [_, ..raw_ranges] = strs - list.map(raw_ranges, parse_mrange) - |> list.sort(fn(a, b) { int.compare(a.start, b.start) }) -} - -fn parse_mrange(str: String) -> MappingRange { - let assert [destination, source, range_width] = string_to_int_list(str) - MRange(source, source + range_width - 1, destination - source) -} - -// Part 1 ------------------------------------------------------------------------------------------ - -pub fn part1(input: String) { - let Almanac(seeds, mappers) = parse_input(input) - - list.map(seeds, list.fold(over: mappers, from: _, with: correspond)) - |> list.reduce(int.min) - |> result.unwrap(0) - |> string.inspect -} - -fn correspond(n: Int, mapper: Mapper) { - use acc, mrange <- list.fold_until(over: mapper, from: n) - case mrange.start <= acc && acc <= mrange.end { - True -> Stop(acc + mrange.offset) - False -> Continue(acc) - } -} - -// Part 2 ------------------------------------------------------------------------------------------ - -pub fn part2(input: String) { - let Almanac(seeds, mappers) = parse_input(input) - - let assert [SRange(answer, _), ..] = - seeds - |> list.sized_chunk(into: 2) - |> list.map(fn(chunk) { - let assert [start, length] = chunk - [SRange(start, start + length - 1)] - |> remap_all_seed_ranges(mappers) - }) - |> list.flatten() - |> list.sort(fn(a, b) { int.compare(a.start, b.start) }) - - string.inspect(answer) -} - -fn remap_all_seed_ranges(srs: List(SeedRange), mappers: List(Mapper)) { - case mappers { - [] -> srs - [mapper, ..rest] -> - list.flat_map(srs, remap_range(_, mapper)) - |> remap_all_seed_ranges(rest) - } -} - -fn remap_range(r: SeedRange, mapper: Mapper) -> List(SeedRange) { - do_remap_range(r, mapper, []) -} - -fn transform_range(r: SeedRange, mapper: MappingRange) -> SeedRange { - SRange(r.start + mapper.offset, r.end + mapper.offset) -} - -fn do_remap_range(r: SeedRange, mapper: Mapper, acc: List(SeedRange)) { - case mapper { - // no more mappings -> no mapping covers this range - [] -> [r, ..acc] - // range is to the left of current mapping -> no mapping covers this range - [m, ..] if r.end < m.start -> [r, ..acc] - // range is to the right of current mapping -> move to next mapping - [m, ..ms] if r.start > m.end -> do_remap_range(r, ms, acc) - // range is fully inside mapping -> range is transformed - [m, ..] if r.start >= m.start && r.end <= m.end -> [ - transform_range(r, m), - ..acc - ] - // range overlaps start but not end -> left side not transformed, right side transformed - [m, ..] if r.start < m.start && r.end <= m.end -> [ - SRange(r.start, m.start - 1), - transform_range(SRange(m.start, r.end), m), - ..acc - ] - // range overlaps end but not start -> left side transformed, right side moves to next mapping - [m, ..ms] if r.start >= m.start && r.end > m.end -> - do_remap_range( - SRange(m.end + 1, r.end), - ms, - [transform_range(SRange(r.start, m.end), m), ..acc], - ) - // mapping is fully inside range -> left not transformed, middle transformed, right to next - [m, ..ms] -> - do_remap_range( - SRange(m.end + 1, r.end), - ms, - [ - SRange(r.start, m.start - 1), - transform_range(SRange(m.start, m.end), m), - ..acc - ], - ) - } -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("5") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day6/.gitignore b/aoc2023/src/day6/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day6/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day6/solve.gleam b/aoc2023/src/day6/solve.gleam deleted file mode 100644 index 88044c4..0000000 --- a/aoc2023/src/day6/solve.gleam +++ /dev/null @@ -1,85 +0,0 @@ -import adglent.{First, Second} -import gleam/io -import gleam/string -import gleam/int -import gleam/list -import gleam/result - -type Race { - Race(time: Int, distance: Int) -} - -fn parse_with_bad_kerning(input: String) { - input - |> string.split("\n") - |> list.map(fn(str) { - str - |> string.split(" ") - |> list.map(int.parse) - |> result.values - }) - |> list.transpose - |> list.map(fn(ns) { - let assert [t, d] = ns - Race(t, d) - }) -} - -fn find_bound(race: Race, button_time: Int, step: Int) { - let travel_time = race.time - button_time - case button_time * travel_time > race.distance { - True -> button_time - False -> find_bound(race, button_time + step, step) - } -} - -fn lower_bound(race: Race) { - find_bound(race, 1, 1) -} - -fn upper_bound(race: Race) { - find_bound(race, race.time, -1) -} - -pub fn part1(input: String) { - { - use acc, race <- list.fold(parse_with_bad_kerning(input), 1) - acc * { upper_bound(race) - lower_bound(race) + 1 } - } - |> string.inspect -} - -fn parse_properly(input: String) { - input - |> string.replace(" ", "") - |> string.split("\n") - |> list.flat_map(string.split(_, ":")) - |> list.map(int.parse) - |> result.values -} - -pub fn part2(input: String) { - let assert [time, distance] = - input - |> parse_properly - - let race = Race(time, distance) - - upper_bound(race) - lower_bound(race) + 1 - |> string.inspect -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("6") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day7/.gitignore b/aoc2023/src/day7/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day7/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day7/solve.gleam b/aoc2023/src/day7/solve.gleam deleted file mode 100644 index 4454883..0000000 --- a/aoc2023/src/day7/solve.gleam +++ /dev/null @@ -1,140 +0,0 @@ -import adglent.{First, Second} -import gleam/bool -import gleam/function -import gleam/int -import gleam/io -import gleam/list -import gleam/order.{type Order, Eq, Lt} -import gleam/string - -// Types ------------------------------------------------------------------------------------------- - -type Hand { - Hand(cards: List(Int), wager: Int) -} - -// Common functions -------------------------------------------------------------------------------- - -fn parse_hand(str: String) -> Hand { - let assert [cards, wager] = string.split(str, " ") - let cards = - string.to_graphemes(cards) - |> list.map(card_rank) - let assert Ok(wager) = int.parse(wager) - - Hand(cards, wager) -} - -fn classify_hand(hand: Hand) -> Int { - case list.length(list.unique(hand.cards)), card_counts(hand) { - 1, _ -> 8 - 2, [1, 4] -> 7 - 2, [2, 3] -> 6 - 3, [1, 1, 3] -> 5 - 3, [1, 2, 2] -> 4 - 4, _ -> 3 - 5, _ -> 2 - _, _ -> 1 - } -} - -fn card_counts(hand: Hand) { - hand.cards - |> list.sort(int.compare) - |> list.chunk(function.identity) - |> list.map(list.length) - |> list.sort(int.compare) -} - -fn card_rank(card: String) -> Int { - case int.parse(card), card { - Ok(n), _ -> n - _, "A" -> 14 - _, "K" -> 13 - _, "Q" -> 12 - _, "J" -> 11 - _, "T" -> 10 - _, _ -> 1 - } -} - -fn compare_hands(hand1: Hand, hand2: Hand, using: fn(Hand) -> Int) -> Order { - case int.compare(using(hand1), using(hand2)) { - Eq -> compare_top_card(hand1.cards, hand2.cards) - other -> other - } -} - -fn compare_top_card(cards1: List(Int), cards2: List(Int)) -> Order { - use <- bool.guard(cards1 == [] || cards2 == [], Eq) - let assert [c1, ..rest1] = cards1 - let assert [c2, ..rest2] = cards2 - case int.compare(c1, c2) { - Eq -> compare_top_card(rest1, rest2) - other -> other - } -} - -fn part(input: String, comparator: fn(Hand, Hand) -> Order) { - input - |> string.split("\n") - |> list.map(parse_hand) - |> list.sort(comparator) - |> list.index_map(fn(i, h) { { i + 1 } * h.wager }) - |> int.sum - |> string.inspect -} - -// Part 1 ------------------------------------------------------------------------------------------ - -pub fn part1(input: String) { - part(input, compare_without_wilds) -} - -fn compare_without_wilds(hand1: Hand, hand2: Hand) { - compare_hands(hand1, hand2, classify_hand) -} - -// Part 2 ------------------------------------------------------------------------------------------ - -pub fn part2(input: String) { - part(string.replace(input, "J", "*"), compare_hands_considering_jokers) -} - -fn find_best_joker_substitution(hand: Hand) { - use acc, card <- list.fold(list.range(2, 14), Hand([], 0)) - let subbed_cards = { - use c <- list.map(hand.cards) - case c { - 1 -> card - other -> other - } - } - let subbed_hand = Hand(..hand, cards: subbed_cards) - case compare_hands(acc, subbed_hand, classify_hand) { - Lt -> subbed_hand - _ -> acc - } -} - -fn compare_hands_considering_jokers(hand1: Hand, hand2: Hand) -> Order { - use hand <- compare_hands(hand1, hand2) - hand - |> find_best_joker_substitution - |> classify_hand -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("7") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day8/.gitignore b/aoc2023/src/day8/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day8/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day8/solve.gleam b/aoc2023/src/day8/solve.gleam deleted file mode 100644 index 6b36e2d..0000000 --- a/aoc2023/src/day8/solve.gleam +++ /dev/null @@ -1,91 +0,0 @@ -import adglent.{First, Second} -import gleam/bool -import gleam/dict.{type Dict} -import gleam/io -import gleam/iterator.{type Iterator, Next} -import gleam/list -import gleam/option.{Some} -import gleam/string -import gleam/regex.{type Match, Match} -import gleam_community/maths/arithmetics - -type Paths { - Paths(to_left: String, to_right: String) -} - -type Maze = - Dict(String, Paths) - -fn parse(input: String) -> #(Iterator(String), Dict(String, Paths)) { - let assert [directions_str, maze_str] = string.split(input, "\n\n") - - let directions = - directions_str - |> string.to_graphemes() - |> iterator.from_list - |> iterator.cycle - - let assert Ok(re) = regex.from_string("(...) = \\((...), (...)\\)") - let maze = - maze_str - |> string.split("\n") - |> list.map(fn(str) { - let assert [Match(submatches: [Some(name), Some(left), Some(right)], ..)] = - regex.scan(re, str) - #(name, Paths(left, right)) - }) - |> dict.from_list - - #(directions, maze) -} - -fn to_next_step( - current: String, - stop_at: String, - count: Int, - directions: Iterator(String), - maze: Maze, -) -> Int { - use <- bool.guard(string.ends_with(current, stop_at), count) - let assert Next(next_direction, rest_directions) = iterator.step(directions) - let assert Ok(paths) = dict.get(maze, current) - case next_direction { - "L" -> paths.to_left - "R" -> paths.to_right - _ -> panic as "bad direction" - } - |> to_next_step(stop_at, count + 1, rest_directions, maze) -} - -pub fn part1(input: String) -> Int { - let #(directions, maze) = parse(input) - - to_next_step("AAA", "ZZZ", 0, directions, maze) -} - -pub fn part2(input: String) -> Int { - let #(directions, maze) = parse(input) - - use acc, name <- list.fold(dict.keys(maze), 1) - case string.ends_with(name, "A") { - False -> acc - True -> - to_next_step(name, "Z", 0, directions, maze) - |> arithmetics.lcm(acc) - } -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("8") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/day9/.gitignore b/aoc2023/src/day9/.gitignore deleted file mode 100644 index ae40cea..0000000 --- a/aoc2023/src/day9/.gitignore +++ /dev/null @@ -1 +0,0 @@ -input.txt \ No newline at end of file diff --git a/aoc2023/src/day9/solve.gleam b/aoc2023/src/day9/solve.gleam deleted file mode 100644 index a2cc7ae..0000000 --- a/aoc2023/src/day9/solve.gleam +++ /dev/null @@ -1,70 +0,0 @@ -import adglent.{First, Second} -import gleam/io -import gleam/list -import gleam/string -import gleam/int - -fn parse(input: String, backwards backwards: Bool) -> List(List(Int)) { - use line <- list.map(string.split(input, "\n")) - use n_str <- list.map(maybe_backwards(string.split(line, " "), backwards)) - let assert Ok(n) = int.parse(n_str) - n -} - -fn maybe_backwards(xs: List(a), backwards: Bool) -> List(a) { - case backwards { - False -> list.reverse(xs) - True -> xs - } -} - -fn is_constant(ns: List(Int)) -> Bool { - case list.unique(ns) { - [_] -> True - _ -> False - } -} - -fn take_derivative(ns: List(Int)) -> List(Int) { - ns - |> list.window_by_2 - |> list.map(fn(tup) { tup.0 - tup.1 }) -} - -fn extrapolate(ns: List(Int)) { - case is_constant(ns), ns { - True, [n, ..] -> n - False, [n, ..] -> n + extrapolate(take_derivative(ns)) - _, _ -> panic as "list empty when it shouldn't be" - } -} - -fn part(input: String, backwards backwards: Bool) { - input - |> parse(backwards: backwards) - |> list.fold(0, fn(acc, ns) { extrapolate(ns) + acc }) - |> string.inspect -} - -pub fn part1(input: String) { - part(input, backwards: False) -} - -pub fn part2(input: String) { - part(input, backwards: True) -} - -pub fn main() { - let assert Ok(part) = adglent.get_part() - let assert Ok(input) = adglent.get_input("9") - case part { - First -> - part1(input) - |> adglent.inspect - |> io.println - Second -> - part2(input) - |> adglent.inspect - |> io.println - } -} diff --git a/aoc2023/src/utilities/array2d.gleam b/aoc2023/src/utilities/array2d.gleam deleted file mode 100644 index 8538129..0000000 --- a/aoc2023/src/utilities/array2d.gleam +++ /dev/null @@ -1,74 +0,0 @@ -import gleam/list -import gleam/dict.{type Dict} -import gleam/string -import gleam/int -import gleam/result - -pub type Posn { - Posn(r: Int, c: Int) -} - -pub type Array2D(a) = - Dict(Posn, a) - -pub fn add_posns(p1: Posn, p2: Posn) -> Posn { - case p1, p2 { - Posn(r1, c1), Posn(r2, c2) -> Posn(r1 + r2, c1 + c2) - } -} - -pub fn ortho_neighbors(p: Posn) -> List(Posn) { - let Posn(r, c) = p - [Posn(r + 1, c), Posn(r - 1, c), Posn(r, c + 1), Posn(r, c - 1)] -} - -pub fn to_2d_array(xss: List(List(a))) -> Array2D(a) { - to_2d_array_using(xss, fn(x) { Ok(x) }) -} - -pub fn to_2d_array_using( - xss: List(List(a)), - f: fn(a) -> Result(b, Nil), -) -> Array2D(b) { - { - use r, row <- list.index_map(xss) - use c, cell <- list.index_map(row) - case f(cell) { - Ok(contents) -> Ok(#(Posn(r, c), contents)) - Error(Nil) -> Error(Nil) - } - } - |> list.flatten - |> result.values - |> dict.from_list -} - -pub fn to_2d_intarray(xss: List(List(String))) -> Array2D(Int) { - { - use r, row <- list.index_map(xss) - use c, cell <- list.index_map(row) - let assert Ok(n) = int.parse(cell) - #(Posn(r, c), n) - } - |> list.flatten - |> dict.from_list -} - -pub fn to_list_of_lists(str: String) -> List(List(String)) { - str - |> string.split("\n") - |> list.map(string.to_graphemes) -} - -pub fn parse_grid(str: String) -> Array2D(String) { - parse_grid_using(str, fn(x) { Ok(x) }) -} - -pub fn parse_grid_using( - str: String, - f: fn(String) -> Result(a, Nil), -) -> Array2D(a) { - str - |> to_list_of_lists - |> to_2d_array_using(f) -} diff --git a/aoc2023/src/utilities/memo.gleam b/aoc2023/src/utilities/memo.gleam deleted file mode 100644 index b06d8fd..0000000 --- a/aoc2023/src/utilities/memo.gleam +++ /dev/null @@ -1,57 +0,0 @@ -import gleam/dict.{type Dict} -import gleam/otp/actor.{type Next, Continue, Stop} -import gleam/erlang/process.{type Subject, Normal} -import gleam/option.{None} - -const timeout = 1000 - -type Message(k, v) { - Shutdown - Get(key: k, client: Subject(Result(v, Nil))) - Set(key: k, value: v) -} - -type Server(k, v) = - Subject(Message(k, v)) - -pub opaque type Cache(k, v) { - Cache(server: Server(k, v)) -} - -fn handle_message( - message: Message(k, v), - dict: Dict(k, v), -) -> Next(Message(k, v), Dict(k, v)) { - case message { - Shutdown -> Stop(Normal) - Get(key, client) -> { - process.send(client, dict.get(dict, key)) - Continue(dict, None) - } - Set(key, value) -> Continue(dict.insert(dict, key, value), None) - } -} - -pub fn create(apply fun: fn(Cache(k, v)) -> t) -> t { - let assert Ok(server) = actor.start(dict.new(), handle_message) - let result = fun(Cache(server)) - process.send(server, Shutdown) - result -} - -pub fn set(in cache: Cache(k, v), for key: k, insert value: v) -> Nil { - process.send(cache.server, Set(key, value)) -} - -pub fn get(from cache: Cache(k, v), fetch key: k) -> Result(v, Nil) { - process.call(cache.server, fn(c) { Get(key, c) }, timeout) -} - -pub fn memoize(with cache: Cache(k, v), this key: k, apply fun: fn() -> v) -> v { - let result = case get(from: cache, fetch: key) { - Ok(value) -> value - Error(Nil) -> fun() - } - set(in: cache, for: key, insert: result) - result -} diff --git a/aoc2023/src/utilities/prioqueue.gleam b/aoc2023/src/utilities/prioqueue.gleam deleted file mode 100644 index 640748b..0000000 --- a/aoc2023/src/utilities/prioqueue.gleam +++ /dev/null @@ -1,62 +0,0 @@ -//adapted from https://github.com/byronanderson/adventofcode2021/blob/main/gleam_advent/src/priority_queue.gleam - -import gleam/dict.{type Dict} - -type Ref - -@external(erlang, "erlang", "make_ref") -fn make_ref() -> Ref - -type PQueue(a) - -pub opaque type PriorityQueue(a) { - PriorityQueue(queue: PQueue(#(a, Ref)), refs: Dict(a, Ref)) -} - -type OutResult(a) { - Empty - Value(a, Int) -} - -@external(erlang, "pqueue2", "new") -fn new_() -> PQueue(a) - -@external(erlang, "pqueue2", "in") -fn insert_(item: a, prio: Int, queue: PQueue(a)) -> PQueue(a) - -@external(erlang, "pqueue2", "pout") -fn pop_(queue: PQueue(a)) -> #(OutResult(a), PQueue(a)) - -pub fn new() -> PriorityQueue(a) { - PriorityQueue(queue: new_(), refs: dict.new()) -} - -pub fn insert( - queue: PriorityQueue(a), - value: a, - priority: Int, -) -> PriorityQueue(a) { - let ref = make_ref() - - let refs = - queue.refs - |> dict.insert(value, ref) - - PriorityQueue(refs: refs, queue: insert_(#(value, ref), priority, queue.queue), - ) -} - -pub fn pop(queue: PriorityQueue(a)) -> Result(#(a, PriorityQueue(a)), Nil) { - case pop_(queue.queue) { - #(Value(#(value, ref), _priority), pqueue) -> { - let assert Ok(recently_enqueued_ref) = dict.get(queue.refs, value) - case recently_enqueued_ref == ref { - True -> Ok(#(value, PriorityQueue(refs: queue.refs, queue: pqueue))) - False -> pop(PriorityQueue(refs: queue.refs, queue: pqueue)) - } - } - #(Empty, _pqueue) -> { - Error(Nil) - } - } -} -- cgit v1.2.3 From 96a3c5c179d8d3fff24eb2953e45f8dd15e2714c Mon Sep 17 00:00:00 2001 From: HJ Date: Sat, 3 Feb 2024 15:09:54 -0500 Subject: cleanup --- aoc2023/src/day1/input.txt | 1000 +++++++++++++++++++++++++++++++ aoc2023/src/day10/input.txt | 140 +++++ aoc2023/src/day11/input.txt | 140 +++++ aoc2023/src/day13/input.txt | 1379 +++++++++++++++++++++++++++++++++++++++++++ aoc2023/src/day15/input.txt | 1 + aoc2023/src/day16/input.txt | 110 ++++ aoc2023/src/day17/input.txt | 141 +++++ aoc2023/src/day18/input.txt | 676 +++++++++++++++++++++ aoc2023/src/day19/input.txt | 766 ++++++++++++++++++++++++ aoc2023/src/day2/input.txt | 100 ++++ aoc2023/src/day20/input.txt | 58 ++ aoc2023/src/day3/input.txt | 140 +++++ aoc2023/src/day4/input.txt | 203 +++++++ aoc2023/src/day6/input.txt | 2 + aoc2023/src/day7/input.txt | 1000 +++++++++++++++++++++++++++++++ aoc2023/src/day8/input.txt | 740 +++++++++++++++++++++++ aoc2023/src/day9/input.txt | 200 +++++++ 17 files changed, 6796 insertions(+) create mode 100644 aoc2023/src/day1/input.txt create mode 100644 aoc2023/src/day10/input.txt create mode 100644 aoc2023/src/day11/input.txt create mode 100644 aoc2023/src/day13/input.txt create mode 100644 aoc2023/src/day15/input.txt create mode 100644 aoc2023/src/day16/input.txt create mode 100644 aoc2023/src/day17/input.txt create mode 100644 aoc2023/src/day18/input.txt create mode 100644 aoc2023/src/day19/input.txt create mode 100644 aoc2023/src/day2/input.txt create mode 100644 aoc2023/src/day20/input.txt create mode 100644 aoc2023/src/day3/input.txt create mode 100644 aoc2023/src/day4/input.txt create mode 100644 aoc2023/src/day6/input.txt create mode 100644 aoc2023/src/day7/input.txt create mode 100644 aoc2023/src/day8/input.txt create mode 100644 aoc2023/src/day9/input.txt (limited to 'aoc2023/src') diff --git a/aoc2023/src/day1/input.txt b/aoc2023/src/day1/input.txt new file mode 100644 index 0000000..6efe96c --- /dev/null +++ b/aoc2023/src/day1/input.txt @@ -0,0 +1,1000 @@ +9dlvndqbddghpxc +rtkrbtthree8sixfoureight6 +fdxrqmfxdkstpmcj7lmphgsmqqnmjrtwo3tcbc +onetjcsmgk57nvmkvcvkdtqtsksgpchsfsjzkkmb +six8threepvlxttc85two +8five9ttqst2one2vz +hbrmhsnjeight64dgdnvdbspk7ninetzbvjczqrj +fourtwofivesix5 +3gksfourqf48 +7one1tnqxfvhmjvjzfive +sevenmcjs3lmlmxmcgptwobjggfive6four +seven8five3 +5sfknxsn5sevenfour446 +bxc5two67seven2 +jcsfivefive89seven85 +nine296 +seven5twoeight +1eighttwo8jfnhmfivefivezdsxqxqsjkone +foureight48sbkkvc17zbksgvcbb +lnzgspccsn4cxqqdbkj +qlxrxkpeight48xbgqnlkpkoneseven +z7onetwonec +7cns +pnpfninefive79twoone7 +2hrqpjjjbn +4gmlttgdzrhxbxnnine +4sixfiveone76jctmjsxdh5jrkv +3kvjmhpmglrdgmdnine +four63sevensevenone +jmz1eight4threej1 +four21zxksf9jxdvjmtn337 +msnronenine43three1threefrv +rjfhd6eight4 +78blgveightfiveone7bnsfnrmxsmtwonemrb +sixseven6four6 +mdjphcm9 +xsjmgdgqtwolg1nine45eight +five2six85npdqxgrshdjs4 +jbbnine2ttrktc2hxpxfdxgf +fngvqsgmjfmfslrmone2vtpsstpkhr2jmmxk +f683glvfsdvnsghvrzcdmxnx81 +lqblzgj322kqfsjrbxgcgsct +threeldfnrbstbxqdpxpkbztbp84eight +sevensevenmthprqg9six +qldknljthdjthreeklttd6six +7eightcdqxcftbgbfbnvqfive +gxjzhvkbcjhscdxhjdqxnhsevenxrdrjbcl5fvlvlxjjvb +9sixqnine9jk9six +zjtdbzr6njdgflrmpshxn +rktpknvmjknb7threefourhdxhcdtgtkvone +276lzxhone3two2 +82fivelppqzjq +lchslxtwohslsztgps5pdssctclhdkqtwo +2five8three9dnine8 +68jpnqldjgfnpcmvbxnszhz2252 +q32 +2sixtwo87 +hlmdvlrqlrjdshone3five +fivetwo7 +xsdcktrone29 +eightfour9eighttwoxvhdth9lndg4 +two8jgddjhcj67eight +8nrkrcrqhr21stqtvqn +tvbonepzrrklninexmpxrlkcpgg9qgrkcjt +6two5qjmoneclfhzhkxbntmvmdrc +prhmt4xvlg +3mghfgrhzkj5 +lq2lnrcj1pnlh +sixqhfqrmf8fivenkkcqpgf85lone +tlrlcbhdvd5 +three8seven +thfns325threefpvlntfvrf +twoblkldr2mmrsxpqxcms39seven6 +2mpcvttntg31mkznplfkbcgccsix +2sbs +828jnvjnbgrs1 +fhcglnxzss23bxfnpczvthree2 +7fhghprqvrbx1nxml2one32 +5fivethree7qrsixmcdveight6 +five4seven +1cfcfdzfjphsevenmdvnzh +qhmnleightbhbcntwojjfxpvlxt2spponenine +fivelskzvzsix5xtqkfl1 +2jfgpmdncvpjmqcgvnzpqlstzgfdvfxrlscjkzczsf +rzzplmzsfivetxbhcqnzdq4 +mvrvfour9eightseventhree +7smrdqkrh8qlzc +mpf2fivefivefivepgm +1sixpkrdjlszgdnccnllfsevenksdkvqbxbpbblthqpzqf +six91dxxdhrxcbmqpqm +sevenfour8nine7 +one2hnfvh +55jmqkqgvsgqcrzvmzqhone8twopsrtgmqrj +xnfjxqlrsjmgk68kvpptczxhkxcvrpgctddjklrmhzjgtcjh +seveng6two +1threexrzqcrknhc3 +58qtpqqz58888cmhs +pxvbhmczrvpnjnsrcdrnrjvzzpjnbgbxdseven6 +34two565 +four4six +sqtxsjsix54 +four3xrxmrkn4nrcsmljqrninethreeone +3six4bqddfivejnfrhnqqsgqhj +gtbtrtzp8seveneight3seven4xzdnfrvzgn +vggfdfvlrgvqqvjhkmxfsfbdpqfivexs16 +onegkvdhrfninerndk46nine +5fiveeighthnrlzln +threeqctjkpxjx39six89two2 +99ninecbzck +nxqlhpgnine6pvrrpfjpssix6seven +1dbrzjkckthm5sixsix +fivefmfqcsj19nhnzg +five91eightninecn +7ljnl71eight7mzhzfht +84sevenzrqvkxszdhg66 +jskktpm5mphd1 +boneightfournq6ndnqpdbm97five +5twonine +scqpkxrjtwo8foureight11 +3eight7brgqfivezpgclhfj +zkfrsdgbmczlrzchvfql78ftsdqk8vmqccbn +oneseven3kgdkjzkmq94 +sgtwo59kdmhbndzd +threeone37 +mqxvrhmrpqnltvt9lrpplmttkhdvtln9 +onecxqvr48six2 +pjnx2eight7five +two189one6gbqvllzb35 +psvxjhscstjfkbpxhbbb4zvdjbcdxqrqzqlzp +n18hmhzrqjrpcxztwo +6two46zblgrbmjcqbnxqcnbf +7kxsjdqcmxrvmdtscvxgrnhrmrfour +onedzeight8qfive2 +seven9bkjone2sixqnztq21 +fiveninesixfkzlsn8fivembfjnx4threetwonexb +5zmxtcmzqqdthreetczccnxhkxrbntmfoursixjhhrsdxthree +1four2xpkfgcn +88trnvjtqsmseight8 +pbbpbfgsrst5five +jvgvdseven2two +962sixoneonectfgpknl8nine +rkbnzz1l42eightflb4 +twoxfll2fourbjfjgxfbtk +35fourtwo +lq56ninefour1three +77ztlmqxcxrj745 +nnvqrthreedt2eight6hvrlnpbts +6five6225sixfnzzbh +nine1three +8xgdsdfgcfourlhn +2three3ninelckpddbmdrfournine +89zmvxnlrj7658kjdjchq +pfhbgpb66twogpn7twobpvrbmmrvp +8hgqmztnmhkcr6xrxrbhj +6fivemnfcvvx8 +3mxpvgzq9ninebmlktwo +thzhbsl49seventhree1bdxcrgjq +rlcfour3ffkxxrhb +rkj2eightfive +xqncfnhkcqxqjgbsjhnrgm6 +ninefour52ninefourtworhsix +lpzcmxt97mlkjhlcone +two4qkmqgrpltkrdsctpnsqmbtptklprx6ncfpseven +61shxgxdqqqzngnnzeightkhmgrxprb2sixjx +9eightfour3one6seven +eight4sixqjxdjnzmkfflpfmkf +3bfc71 +14sevenfivezzmt8cpptl +1sgrzdqdndsevenninembzvfive +lxftrbfcqfoneeightrsdxlnp1x2jsgn2 +vlfcjfourmtxbcngpjvkcctvbgkgpvvqpsg1 +116five132seven +eightpvfsfbfzjcdcvh8kbrcz357 +99two +four6six +fzzklmnxvfrhd62xmftbrhgsslrlqv +5six55zbdlgc +62nineone8qcglr1 +sddddseven55fourlpqzbgzfive5 +eighteight17 +nine98 +three9qqxgfpjfkeight81nine2 +twotwosevenvkzzhrpgninecqvf9 +lkhf5onexsrtwo +8hfzvnzrd +9threeninethreeseven +onedpgjzsixxs4cg5jlvzcsbd +fgmfive97 +4fivefourckthree +nine1fivefour +7qlchtvd +tmtmtnxdpsvfour4621four6 +5qfvzh7seven +fourfivebqnpzbg8three +34kd9four5seven8three +kcqcxzmnkdt5twojdggp +4lvbfdpzjsdthreeldvkcbqrspktwo +2nine93foursixnine5 +8tbpjgmxltwojlpbnsvqhsjfcjcfvcrjqppdb5seven +8twodcpglrxcq23sixfour +3sixvczzqsfive +1three45jh54tbdvkj +pdrzqxdtcnbrnine8zvffmrtwo11 +3eight54sksqfxhzcdfour +7hsllsjtxtwo9jhjlhthreekdfssninetcjjrm +9sgmnine1kjmhjthree +nineseven9five +ggdcphlstwoonethreeffgmrseven2xsbsf2 +75ssbccflrrf4lpmptcqjcmfbpklqc +5six2threedvvlxdxsixvxxghpddn8pbnr +tlbjnlxfxvnine4grhj71hnf6 +964eighteight4eight6t +5qbmnsone1fourseventwo +oneseven1five9two +5fdpl37vklxpth672 +4czvrnxtlfiveseven74 +qdgqbsd5fourfive +ddrqjnkbq87six2fourmtghdtvtl7 +zdldjnfxms692rbdfgvtsevenxzfjpnsf +nsqtkbbfhn8threesix3fivefoursix6 +sfxjzhpqqslfourmpph44threetwo +onefive3seven21 +9eight1sevenfive7nine +7twonrthgr73vzb +18onefourhxxm +3xvboneightlb +3ftqct9 +8five55 +4eightmzrlfjqqddffgmfl +74mhzvktwolgpvrvnphc +sixnine694ninetwo +bzpnktvcqleight2 +5oneeight1five2dszthreedncqzmhc +eightfrbmcblrghgmpkrdnh7fournzbvtrzvhchsix +threethreeoneone6kbghfst +4fiveonexfchmclqhqfive +1t3nine +57jclthreefourbtdgsggzh +qpc9fhddthreefive +9eightnine7cgpbbnine8 +88twoxbzjp6fmqlznzgpgdqmmnpmkvctm +threelb9four168qpchgnfn +4onekrlmslkd7five +4jfxtsseven +zsthvnxpf7 +656three +453seven +zxmr55hgnvtjbbqhfsxssjxzshcbkvsbzg1 +pbkffqzrbvxvqjfgkpmp5 +ninesix677lpqpgmc +sixgmb67fzdhnnfk7 +jlgjbltbtwotwoeight9sixninevlngvvj +xdxqdhps9sevenzmzdlnvsix3oneightj +ninetwokpzvvqlgtcfx2 +dqmjchlbj7sevenfive +61eight9kjmxclvdrdmvnthree +8nine6three +3ndpknone +seven4one +8dxljzpk8twoxfmhbqnmqeightdhxvpgxcnine5 +6five3seven +rzgfivenxhpr6gxqflrskhjhvoneonegzbclk +jrvjhkfv7sqnsz86five5skvvmspvjd3 +sevensix3c6llkmsmmssf3 +sevendf73eight74 +7bqbbvmq2krkbhlsh +3dqq55eightcptwo +2bjgfrgrtgnfour +44xznjjvlhzclsix +seven6rtzponeseven +6ghvvkhrzvjzpxlbkonejlmrhq +zgsxthree6 +3crzdvbnhtsgldjvbpsixbjmlxsv3vrzjtv +xcpnbsevengpffknsv84sixsixseven +four898xkqnhspbqmtcs +5twonine +six2ltwosix +cnine22sixeightwost +6lx63two +fbqoneight3five +rbtwone2eight8 +9fivezrsdfkdlqone1nthjvdlmxhqvj +pmmfp8seven +1qmttlsjpxjbsrzmbtlxqzfzvrs968 +fgdonexgvvnine5jsm +rbgmbtwo9fsntcthreesix76 +fbrsxxshseven3gtv +mkxfour66one9n +eightnine1fivecsixlqds2 +lhxnxhfnmlmhxkcxndmnine1kfpb5eight +6eight13rseven6 +hxcfone64ninesevenbgsnrqppqmnnineeightwof +threebjpbtpzgx5mnthreensixoneightz +bpdvfqlzthree2vvcmvzllqfbgjgp +two926sixeightdsvdmnxthreetnqvktdbn +bhntwonefourninejjcmlfphzpseven95 +prqoneightseven1nbcxnqjfourfivecmj2 +stwone1oneninevcrfzpfourfivetwo +ztkknhjr9six8 +twomlvrzm934seveneight +ntnn1bqgbxf13rqdqtcrbpeighttwo +seven58ninemdqonecrkbdblone +foursixthree1oneeightone62 +8385dhgcqjtrsixtwo8 +blpzxstwosevenqbdhkb8sfggkbdhx5rzftqsf +mqbeightwoninefourlgcj9 +njvpkpvjpmvmbsrdgdvx7frrgvnfrmmrfrhqdtwothree8 +rtwonesxxone8tnine +2xqgrqmone73five +5ggzdxvptwonineeightdj +svqhzhzbsmhljxeight7hljd +one81kmnmpmfkseven +9ninefourbvbpljb3nineqxnkgzgj +sixfour7nvdfhnd +24twoseven52 +425vqnhmrpxthreenine3bkjpvs +8fzqqspdp6 +427five9zhbxpbr +1qjnxxkgqhp +eightxzthreelrbgfbvmrpmtgvrfgqmjlshbqv5 +onetwo4 +three194bfivevknbqxv +1mjhplcvheightlnvn7two +rmptjk5seventhreeonesevenkdxfkvdz +threesix8kpmrvgkpsix +fjfbx6eight3fourninesp +six3nhonebtdzppnxkr +xgtltdtwoninesix62szphpcmtv6 +fiveeight9seventhreesevengndgdfv +ninetwosmcbfkvf5hvksvfbr3ssbntlk2 +qjrdlmone7tqrzlvfourvfbvtkjxfpkffdpjnine +sevenfqnsnqt89five5 +16sevenxtdrtmdzrxhneightwot +8ttreight4eight +three9nine3832four +fivesncggngss8qzfvj +twotwo7sgtcgrmdnr545 +6xk7threejmgnqnsevenmczscqxqxfour +twosix4eight +kxm15two844eight +twoeight5sevenfour +five56three +threekdjgcdd6one +clchjoneeightrqgk8bdsdmzm +twog546two6x +5nine4bmhbtbksxreightoneightkg +gjfkbsr1gvtvlnbzqrlfour +one48vpone +eightbcklnvtgvthreeninefivetmgtbjrqnn3 +nkclzcvbbq8nineznbtkntgndnine1xrg +lqpfhmrlmg32xtddcfffdbxbjckvlzghpldfgvhfhdhr +fourpkcppxtmqz5 +dvb6sixvhdrzzjk +btwokhl99nine +73rkgbsqgz7koneonemlhrbtxc +eighthlqqt4onenine +eight61oneightx +ninebbtcjjlqkthreenfvbcc4three946 +ninepqtlffxvclgn7fqdhqbpmkkseveneighttwo +bqzpfxntnkhhfkv98fhrqslfs9four +4ktprrljbthreethreethree3blmddptfour +5fourone +9zhvgleightseven5nbcmscqms2two +6czngsp895 +2threekrxmtfrr2ppfrzqkqgfoureightlf +six8eight6seventxgl +1one9 +3qpmrtzsvgkjxsevengzdkjkbbdltlrjkznbbkmpb +sclxoneeightfoursfbfm4rbxssmgngfxrvcv +fhctmnpxdrfivemndlr3sdp +twoseven9sixlp +962 +tsnsndjtrp27cbtsjdlkrqmtctxvxvnx +5mnine +7fgt6 +three1ninertghhbhbcnjdsknine +two8ninefxcqmxdhtnmcmjvtds6fivebnm +7phdp +2hnszbksg +4ninedcnjbcxnrmoneeight1 +hnsszlsx7414two4 +gmkrn9gcgmffrvbfivethreefive2seven +2bknqdqmrxpfftptwo2vmqffgmzr +dsvf3nv14zklptjnhv +54nchsnpknkx +oneone15 +onefvmxnzp575sixpxnpndqf +6vqrzsbbxg3735 +twojbldk2hfqqzgone5 +onesixlzznvc8nineseven359 +6vjbr7 +nineone32nmkszsthreefpscxcqtwofour +fv1zpqrxvdlzqmeighthhbbbzt +cskvllzszxzk9 +7ninebrlggdzqk7ninelvddrtt1 +2fpttpbq6b7ninefour3five +bsslmmmhfxc6 +lfjkdzdm9eightkbdhrkpcnzcftlggh +rnineninelmbhfour88onevfzhcmneightwofp +one59ktxrdrhc8six9 +86nxnfzzsixgmxxglvfivezmkdvmhjfzone +9threefourfourrbxqpqbtbzxstwo +3pvgtcxrfvthree39bjfivenxvbjone +sixkmngfour3bfive +6threehntsjhjpmqhl345 +fourjcnd49fivexqfbj +ksmszhfive7rrphsxxhgm +zqtdztkhveightninepnctbcgqsb6 +ninemlvzfcljfkeight1tppxrqtdzp2 +twotwoeightnine5frzk3 +lfvqtzbsix3 +four3bsgft28 +sixgksnkrmsix2rbjmfmnfzfiveeight +vrtffvbtcmszfdc2sevenhvpfour8 +twopvgzmthree3 +xqffprzsrjqkcbsevenczlbc5 +4ninefournmvninetwommnrctqjhg +27four +fheightwod4 +38zkgvdpgjzqfivenlr7mdxd +ninexxvninesevenfivedpzfgpbv5 +xjzgznvfsevensixthree3rgfqhkxbfp5vfrjcdncfkjk +2kcbprjfhns68 +bndqgcmnine4qbzfgxmlffive +ffctnxgtwobldqhsix8djfmdnpgmt +fourseven91ninesevenpksgt3 +rninesznvtbq5zqmthzrcntskdthree7 +8eight7 +1hnlnp79 +1three3 +414ninevqrccrf6lmzqmsjc6 +15mpeightxmhxlxjmn +ktdblrmqqxmktvqfour87 +1four121three56 +ldfdgfqkr22nxtsrsntlsevenxxrcclrhtl6five +eightfourthree8pvlkkbmbrfnfr6 +8sixninefiveqcmjhpx +2seveneight85lskjhn7 +31c3 +hpgmpmjmnk4twothree +cqsxgbj23six11 +threesxzmgtvhhheight99xsix +6jlpt6rnsprllqhgbvhtqtjvft217 +22onesevenfour4sevenseven +sbnjszzkdleight6three +3twofourdmrsqqtnzgng1two +ldcvxqbsfqpgql9ngsbhfrmszhgvznnnjhnm5 +1oneseven28seven +nsvhqtfivemjgcdqpbtwo1nine2 +six8dj +zdoneight67fivesevencqlr +xlzrkgjrhmszmkzlkkmrxjdnzrtlzssfpcxkbxvp6jghldhvr9 +8sevenbzbnnx +vzrmcfvc9shkxfblfkf +9twoshzmktntwo5nqp +3fourvpdfs3eightword +three24onesixgdzgkspgsjprjgn7eight +4tz2sixsixqbqfsr4twonine +twoq2eight +rccxnvtqnhdlgzqfzcnrmqtjqonesix732 +seightwo8ninekndqrdtbfp +cgnmrkcjvbgfmpbpjckhfrzrtnine2sevenfivesxhqk +fourxsncktrjtpnine6ccbgpl +1sixone5vkzxnhgdlbsevendtwo +9jbnineppf7 +5foursixlrn5vdgdbvnfhg +fivecrtwo8zbqrvjgpfivenine2 +ktvdhgvone6dbrvj5sqbr5 +bljtwonesixthree7dzdfrgqrkstwo4xvfmtsbpqjgxsgqcpc +sixgg5 +vmrbqdqdrqtwo2onez +onehlgrgndk9ninefsntwo1rnclttm +4tqzjbhdhkm1 +nine1kffxzcrn189 +sbrxr9ninemqb8 +six528mslnf +sdvthree7dfivenine918 +3kvzqqkonepmghblzvljnineone47twonesdf +four9sevenfourjhmjjslqgd8 +3fkfmgqf6fourbldjfvbhr +eighttxpddhsnzrkplzqc1ninezpvqgnhxzftwo +56lsxmkfpghsqptvhmmmzhcmfdeightsix +one72kdfdrtwothree8 +7kpgjhpnthree7 +37j2mtwo +seven4mjponefivesdgncqm2gkklsqvthfeight +mgckktt9six4eightwol +4grzfdm499ninetbt +tzmbtv84b +xvzltd75dhpjckmpdrkgglskqrhd5 +cgnbhmdlj24 +7fivetpbtmone +fivelpmbxvhktzkkonexsxktlzthgbgqkgcj94 +5sixhggcbrft +43five7122tqlkhssczsr +eight1seven3 +fourtwo134fourmzpxspr9 +snxjqnf8ctcnvjknghxpkpbrt2 +4qj2xtwoghknine +1zjfivegtwotqgndnineg +fjmmznxkrml7fiveninelfvkqtrg6 +8xjlqgqj395nineninefive +dx47sixtwothdphj +fivesevenxgsfb235cvgmspdgg6 +fivettfzvfg78dmzzdzcrt +fpnvxp1 +seven24 +1three8oneeight +7xglzsqrtb8fhgthmgdcdtwo +seven8gdtfgd4fivepdq +twosix1qtttvvstmqbrhh +ptwomnjhlzjjkztwo4kdkgxv +89zkvrhmrhdbmfourzdpss +bfdsvnxflgqxgpzkmrptlvmvlkchjxrt67 +9mmhxsevennvvdngznine17twofive +lszmqdmxz87mqbv51 +546sevenninencccndnr4 +nineeightsqgrpkrqlmzrlxm6hxchcjspnx +8twoccdnbfive +1ks98 +twothree6 +twoxsixtqdpp6dcclzgfvkv1 +16one7scvsgvmcdsixjtzszzrxdzzgv +bjxzdsixkvqgjfzbbjnrtn212jplvrj4 +zb2three5cngqfczc1 +5fnine99zxvfourjgmn +one634rteightfoureight1 +76gvcdfourgtbzdlltzsjnxqg +ltmdrkqqnfour9eightpckdvbhlkvxlpdtp +6two5kgncpnzkdsgnpspb +three8vjninekbbnnfrdstprcmklrgpkfpmbs +ckvvqjqzbpfhf52fivefivefour +7ngxpdqptksix +ftp2eight +8lnmpbqldqstwo +threetwo153644 +914 +plxjdxghsix17 +sevenonesevennine4three2seven +7bvdgpghzhpeight512vxbnfqjctb +xqptzkfive4xqbjzpqfkfspqv5kgqbdtfive +bmltkhjsckhrc7two8nzdpkjjpnfive +nnhppfvlhcmnmrjxhrbtzdflseventwojfprxmfn7 +fournfdtjtsbthree54fpzsq +ninenineone5two +8694twomgxxzfxr6 +sixeight75seventhreerpchfour8 +llv5 +skxcbfffgc6sixone +3lhjbzbsg4lsfgpkmcz7vjxzbrshbseven +4onecjlkpqdljd3five5 +eighttwo2mvdtvqpnonetvphxsk8 +15195one +kdx9nine6qrnqrjxq59 +twolhjmbh4fivetwo6pdzbnzt +pbvfour7 +tgxrsbk2 +hfournineone58sixthree9 +hmftwonesix5dhthkcnzqseventhreenineeightnine +9jmmjclsnsdhhj +hljjvctthreefourxsdlvsgtqj1335seven +172 +2gbfpjff +five5sevengvddnphnine +sixeightfourssptsqlhzxonetfg2hkmrcpfzcz +94csjjgl42three +4bkxxv6 +pgdgoneqmhxfpnfqkrbkjeightbmjjlrnsc5 +nineninetwo55fvsxspzt +32jqffghbqvfmjtjone78 +93eightfour6eight9eight1 +768jrdmfxgxpntx8nhpljjdx +eight33zpvpggklseven4lcqsixthree +fourgrmone4 +bcknine9qsevenrjhjeight +5onevqm +578mmqhhljtwo39mfnpmfqthree +fivecmts43eightfdphfivejsx +8vkqvl +8oneone27fourseventwo +jfsixfivethree3cmjtvkzhqkcksmljxxzbjd +three6sixpdvtrnrtffltrs +threeltvvfkcdqjtwo89two8j +5sixeightfivesixjjmknrgd1qpsbpjrffjl +eightrmgfkckxxxsvfclhtgcjthree3 +rnfbp8eightjv35eight +2rrssqrfkvmq +dcmghdmg6threetzsdx +qzhfivefivejvbtncm2 +gcspvjnsevenqhmkngfivesix15jtpk +bkmlmh5six1sixone2hgtlsix +8rmjshdhm681vc +sixtx32 +7fourtwo6 +xgrcxeightsevenzgmcllfjqn7 +553fivethreefour8nine +one4mxbmct +three6ninetwofour +1bbbxqhhlmj651eightkfdqdgvh9three +4414 +mnxsixone92 +61six8 +eight8mrcpfive1 +crsvmfivezbkzkqsix7mxjdgtsqbfvdbnlqtfiveoneightgj +4dmzznftdbqj +seven25 +fhlhpvphqvh8one1ffkq +mboneighteightonefive1ninenineninetwonine +82fiveonexc5 +97qbhvbqnmxtlpczsx +nhgzzjkx5 +hgxlrk9 +8twonine9fivetdxmjqppxr +onethree99sevenfourkzvd2 +sdqjfvbndzcthree1ftoneightkm +5rcllqcxt +threejdntvhsixsckfpndjzkeightsix3nlgpsvsfhk +94fctwoxmczbkz +4eight35tbqjxglldsevenxmthmmlhsix +three125 +3njtlmxtbr4541ninedz7 +9ptzpzqrjmxlrmbfbpn9ss4sqcprfmcqg +8dpmkdtvjxzjbddn7pvkxzskddrhcsjvthree7 +xxshbfcmf3cfdkeight +six9ninefour472 +fourrvxfmjzd4five +1fivesix +twonine3six9 +nine8onethreethree +foureighttwotwo7onethree +9prtlnjptoneninefiveninefive +cljqxpthqzdxpmmbvpjljjxhlhsql8kztpthreesevenoneights +9sixtwonetfh +kscmxpcqlthrmthcdhplpnqlq2 +fiveqjfvkmnineeightninefourtwo1 +one5sixeightfxkshmninethreeeight +4nine4 +27 +ggtz73sixkgsjrtcxkb1 +qvxsgvrpbxqcgpb2fzmcvknkr99seven +6eight8ksgdlxj638fivetcgb +mmvc3fourrvbztjchbmqtxtgfrrqphninefive1 +3qzbzxsevenfivegrvtbckqcj +eighttwokzpgl2hrvqlhkthreenine4 +8twoeighteightxtsbrseven +nine5mghp7vpnvtpx2c +hkxkmx5qnpjhtdfjfsix2xqqplvm5gmvjm +69cgvzhvgjvl8 +threeblzj6three +3bxpmnfbtpk5hcgqkbkqblznxgsdvklmtmqjxsxdcgqvmsprxrrnfchfbnd +1fbrrcjgzzllmcbdrgmrcfsevenh +58onezbp +1bqfkmkk46cctvmstvhvrtwoone +mmeightwo9sbjvleightdsevenseven +9gdsqgflkvonetwo +3lgpmxdgjtzx3two5foursixeightwomb +dbkbeightfive9eighthxngnrbmp +2cpkxggtrdsrh +zsgcdcrlhlqdpone9eight17sixbbtzpmdf +5rskkplgsbl9qqzfrzh67four4 +nine856threezgbhrzjcfour +kqnnine87lflxddvtfb9lfjdknvgl8 +fsgtwo8zxvnfour7xxfnmqpzhzone4 +ddd9sixnsrpqmvvjh2xghxhm +836 +nxglt36ljcbvgc16hxcbtqjz +nine19fourhnvh7fgqklf11 +jkvsphrpmhbnfl2nhcflhsbks4 +7nine2dsgkmrzlrzptfpk672 +6vtmztrjdrbk +4vgsshzzsrtwo +ninexfjcxdcnxs7seventhree2 +hsvvqcqp97twommjjlclbtdjbxkveightwos +threedlcvvseven3 +366xqfbhzfmqknine7 +jzrqqfouronehhrmkg4one5 +8xcbccrp141kmcsrdlgcdzpcb1nine +59rdrphcgk +fivetwoqmlk22eightfive +qnsphtvfourtwojljxnvgrkk3slv6four +13dfbnfnpsevennqtjthreethree6 +4dtncvsix34oneeighthpfouroneightv +xdhqninefive88nine +6hnnl8nineonehm7four +sevenfournine8five2six +vnczlzjqdtmdgsgxch94one3knlxjvqtrjlsx2 +twoeight14kkzrsqmgkhjb +jhqrzxrhskngj9ninenjcnbdtjhjtdh +2grrlxnlvthreernfghspmc +two8hjbsevenfive5threenpgtnkftp +d8sixfive1five7 +sixthree9 +sixspqf2gptcsrvlln9 +seven8nine +nqeightwo7svvjqs75qgp3hpvn +qrsixxffsdvvrf74five3 +5threeskqgcgprrjmcxksixtwo969 +bdbtlvlseven13fh +2two1eightfour7jqdd +three8ninefournffzbnbhkpjqh32 +sixqzmhnjttdnine41sevenpcxqkvr +fivenine2fourseven2 +sixjjhrjbmvvngqd3three7ninekpneight +11lttrkpcljbbrmponeightbb +frxgkvgrjtsix84 +76eightonesix8fivenlfhkfgp +fourpqlrklpnfljvpfkdklkgrjp1ninevfour +1six75tr1 +cjdvxhmjvstninejccxrqhb1qkpmnzx8xfpp +8sixfourone6pzlnczvlsmmp +eightrkl37jqlvjjsbrtqsix6 +onesmrjvmrtlppm69857seven +4rgsktnbone8sjxjzbrplnmfvkknpxqv +tfteightwonsdffone8sixxdpeightseven +639one2two +smk55 +6cjbckhbtmkcgrvmp3 +rdnf9 +1jjkdspeighthteight37 +1gh3dcmhx4sixnphphhbpninevbqhs +vpstbqtdmbvk9jstvtgzrdl +91seventwo +7sdpflkxfzfivethreenine +gvgcrpphhbzghtbcv6 +vvnine5ddgzroneone +5four6684one +dmspptjjtwocr2one +sixftzx6fdsfv +5six8twotccbsdnpxg32tsix +mfkdbdfournktdmgqnt4vqkzbzonekdqhbcmfgfiveone +nine2476 +8rxd2eightninefourmd +eight1hqfcqs4cpvpsqjfhptwo6six +5z +bqcj948nine6xmgnxmxnn +two1lzdv65bhllvrc +sevenvjkl3ninespltvdszvnfvzpcvrctphvp49 +4mzjxftf5eight +fivehbrxcbgjhhxpzfn5lllsknk7six +6n5ttwo166 +fqdfhc3 +6cph +lzqqvnlkjv3sevenbdssvckmdm +bbdpgpfsevenvzsix87 +754sznxkfb4npmjbv4one +twothree984dsxsninefour +kmpjgh71jhfrjgrpbd2d7 +27tgptfvcjnk2 +onefive497cdcktxcjfivezdrdhczbp +79176threeseven1 +csseven1rmlbcpct +1lzlz4tsngmgh +zvxshddzg2eightpxkzfnvdfzeightseven +ninesixnine93seven8 +1twofiveeightmfour +six3cmbbbxbqr74flchvgjbr45 +7nine31two9dvsghkrjj +five5four +seveneightthreefourseventrgxdqclq2 +5dfgddsevenldmzckmvxjmk92fourdcpfgcrpd +ninekbhrflzmgp3lqgxgszmzvndr47zcllcfg +sqsixonefivekfvbfh66p +bssrkdrrgsftlqjdz19 +bqcbhfive6 +jt3fivemdrnrvngsb1seven5 +svdninesbj11eight +2phltdc +1469sevenvksvlthqskfkx9 +7fcfivefourdbbvtnjbrc +6seven4 +lrmfqtjkzfive69eight8 +zmngmr9ninenineninesh +qrxvdxgtfour7one6 +eightmjpkgdtrp52shpcrtb +54k7fournine +7fdbshl6874 +jfjvrhccqrc1fourcrg96 +1sevenncqhkgtzmtncmxhflmfsxfsmsmqh +79fourjmxfdbqnrsr +sjthree6tcbp3x +qvrzmdzfnpkkdcvone2lttcbzhhddbnlnhxgsblhtlvdcpnzjvvqszrthree +ninedfxcz63two515 +48sevenvgznbsxzhfgzq19 +dxjbtzvtfn3five3 +five1gxfcfppffg74 +78ncrnhmv766nine +two7qmgeightjhddgnineone +jhttksbpbhzmgglfour7 +bloneight3ckvpkxtwozzxr1onethree +mhmppdtvfonecrjzlktlnkpzdbqtvtwo4 +179tjchxninethreesix +dpcfnsftnjbhlpcjrc8pbnnhtlrjzmmjk +ninebn16one2crfour +mfivesix8nine1zgpqpr +eight44fourfivegfive +2qhsltnzsfivervftmdm1hthcml +sjoneightvrxctb9sixhkhmfivejm +7threehdctsfqflggzkhpn +seightfourkhpkprrcl6six +fourkdff7 +57seven3four1r1gcjtckvn +gmfdzgv7fivesix4nvlq3 +thp7 +xd5plhtvtgxmgkmhlr5nine +7fourdf +pnkjgdctpm2221four8pvnhxdtrvs +hngtq27nineninesixeight +2fivejpfbsqtx1fourseven +19jpjsbljgz +ninethree5twoeighttwoqponefive +gklmbcj5mstwo8 +phbeightwo31jjzltcqzhklm26 +jtslpzsxh43 +drk7 +5dxcsvgqkmz +jnrgv9 +nsttntwo6 +6qbfrlcfmmnqpmbbtqgdsjqndqfive +2mgdjlpdsixfive6 +sevenfivesix6 +3nrfvb13onebsrclqnflppzchtp21 +dmpgdvfive7 +lpvqjzhvjoneghqxnvsixjxflzqj4 +onegqzxvnnfnlcffour2 +nsglbskbzd2drjzqhnq +nine8seven +rfspthhjbh92rseven1 +nine2ctjnb +gzkgvtxjt8twoonefour +tplxnlr8bfjklthree +jqrxrtdvmj8fournmj +6gxvglbcqkdsdcsl +pzjk9ccbmkzmtsf +qdzpknfhbsixczkrqbpfour76sevensbvltnjccjllng +six1zrhqxzfivetwo +xjhmfkvjgxtbgszmpd54jbsscgrninethree +cndbtlq22 +fouronesevenzrrv7mhsvjtwokqbfvvrs5 +twoonefive59phkxdbndgch5seven +8twoninethreeckdkd5 +9four6jfxnfgjvcrszrpsrkhh +993psn4qdldmfnqsix4 +42tzxknj +vvzpl8six +8vpchdjxczsvjjqljnmpdeightone2seven +fivenine51sixcdb +dfkkvsone5kjzvqqc +8seven8pxtrdrkqcqhdklgsixzxtjmtblzzcc +ddvzsqnxd9xscsix4rvpsix +75nsvxf9one88 +38ninetmmqx2 +sxjqgrdthree2vhpgrcdtqeight +63kthndjc +qgbdkfm56two6fourthree5 +five79 +jpb2seven7one7 +four5sbgbpzkjjkjhsvgksgjvfrsbpbdzgd2 +xlxpsixninextzlpbn6 +jzbvzlflf8twoeight +4vjtr6eightninenjtvt +3twonine3vmrgkjzkpfoursixtbcktpn +six1fourbfhxlntrqfxxztmj4 +jrbhfourfour6jspsxkn2eight5four +pcvjmdlnf15cfghpszt9 +4lxktgpvvq1sevenone9 +twosixhllhbxkbd2three +veightwo3eightvrhseven89onelxvhqxkhm +2sixfkdpcjcgcbgfzlbgblj +457jtmdfdjcnine +three64 +pqgjfseven4sevenoneslgeight +91vcptwo1twonineone +seven63fourzjpdmk1 +8fivetwofrbtm6f9five +sevenchrtbctkgpnine65fourbhpqnchhlz6 +rkdqrbtdbj9bt41hklvlrbrcpx +1three1gmdeighteightqbgsevenhljbpzbdtt +srkbbkfcznine6nine6 +8kmzbjzsxtgr9drtbdl +24six412smjfxscst +9cktpshfdr5djvrngchrh176 +2mjknvteightmvsdgt8seventhree3mzfk +vhldtk27two +6three2ninepqnine +2fourzbtqnclrtpsix2six94 +six6five +one2eightppzmczmgsixnine +15qljk7vchkfcfhkhmbjlkcfour +99four +dhrgkkbrnczkdt3n +89211sevenhnbjbrxtk +663rrbpnrknine911nine +2ntffsix9 +4mdpcrvqfoursixqeight +jbjjqkfive3jqnqhvkmtbddrdqxseven +2gvrgdsxptwovfkpgdlmlhz34 +rqfrx82 +tworzlxeight66eight1five +md1jgknfftttjbjz +tctqctkone37cmpbslgpzh3 +3sixsixfpxg +seven6bld42brzxr +6two4seven9zpgb5 +nine13 +d68 +3lxvsgksbbtwo52eight3three8 +bpltlnlzc8 +seven2five1threedmkg +hpkvhlkhknhjpq9tgpmnndgtlqjx1vkdkvtqhtwodrbr +fourfivesxgpxhdvts7four5 +7frgrjkkrb1 +2threettvptwobjhmxvpsvmljtvnpkpsvr +9fivelxtcbbn9xgtwohmmhnfhcknc +fourqztfvd6gkhxnstjjxnbl69hzkghsjrd +pspgqcjfcqdgq6xsgxrls +threesix6lrfkmvjdfivetwo9 +kdjgpj54 +oneeightsevenfive1 +one4onefournine64 +45hhcpntsthreezl9hjdnnine +17ninenineninegczplbj81 +31threetwosevencphdv +5eightvsrzjmdbtqhhqtjfjrhllhbgzgzjzvdhddstxpp4 +pgghlbtsevenqxxjbnd14onetwo +3ljgmcxnqgxcrfourfourtworjtwo +eightseventhree59 +3nhsccljtzszftnqtfour5 +threefourthreeone3five +3pzgzjv7tz +qxgntksdr45tvnxfcjdnn +5seven9threejdzrzdfcpgbnhrrmfkkskg2two +38bjnlcjbeightfivefourqvtbvjsb9nine +nmxqtzlpfngzlsnl9 +9eight8five3two1gsknxznbf9 +518jkqmprjlqcpdthreefive16 +6lzjznblrj3three +f7blbxznlvgk +37jtlrvlzhzronehn +kpckhlcsbeight6 +8dfptmfourtwoeightfoursixonefive +ninecdrxlgdkm7nineseventwotbbcgninekbxssd +rrhkgmnsbxbhb2ccnncrbstjfbmnlbxsxbkr +cflrvjtdsevenfivefive3sevensixeightseven +41ninenrznrcpdqhxfglb +gffivesixtqbbmzllvbnjnk2fivesix +eight311seven +52mpqbgktxhs359btkzqdfzvtrzmltxt +onegxnk2rvnmdcmqvqvgkml34 +gfzeightwoeightrbvknvpt7 +1ct2 +zctqtxtgseven66zhslvvdninetwo +54sixbfn8mxfkthf5 +9974seven9dclxbmfive +onefour6mjtssrxjjsleight2foureight +818sixsmmzsvbpl9two +rjqnpzlp83qxlj +sxqztv22 +8tsvhfszvj +one5mninefour68 +three7threeone +sevencnq2jdjvmlh5mqnnnrsqgppkfxjfjsevendrq +8zmxbvgschsqxbk5lltxpseventhreevrhsvdkk +seven2ngbqlxkjl27eighttjprz +ccfskxtnqpqninevczrltkg18hmgjmqt +npgtv4nine5lnqvglvdrxvqmc +kvg4zrtpxnknbone +threeeight1tsdcthree5zxrshttlsmseven9 +35448284 +6fiveqplkfftsj +pldmrjhzhfiverlgntcckbqzjgth4gfddcrz +6fivesix2 +eightksz6m6pneightnvpvvx +1fourbqxtmbvzsfnrxqmvlbfzvdthree +two43sixthree5one +cqf2 +twoltseven8three64 +6fourprlhcc +fgqoneightsevenqthreebksixgdqt93dm +xjczd3sixseven5 +kfzgshnxqnptrckbrt2 +fourrrdcl624 +kvhfqspcpsxndjqlonesixthree24kdmqvone +8eightfivetwo +onesevenseven5fourlrkkqtfkrmdlsmd +jffvtzkbjnkdtvfsfthree431lrpgmtv +bbvsptrzbone4tfnpgrfourvsix +4seventhreekmxsz335eight +eightbrcv5 +two2eightbppsplzgcfournine5seven +fourthree5kcdhqzeighteightkbzszgv8nine +rgxrddnnbv7rkt +8ffmvpcsvfoureightqpnzzjksgchnine9jlgjqb +two9tfvjqsgqsixnine +bzn4two +sqlfeighteight6hjddxzcone2 +3fivekmfnqlctddfivelcthnine +twodn8 +one5six913lbrcc +foureightmppchbgz8lqbzqbjztwo7cksqxns +zvhzgfpkhkone93nine \ No newline at end of file diff --git a/aoc2023/src/day10/input.txt b/aoc2023/src/day10/input.txt new file mode 100644 index 0000000..230e945 --- /dev/null +++ b/aoc2023/src/day10/input.txt @@ -0,0 +1,140 @@ +.F-7F-..|-F-|F---7J7FLF-7F|FJ-LJ.7--F7-|77.|7J.FFLF7-FJ7.J-7-|.J.7.F7L7..FF.|F--F--|J-FFJFL7F7-LJFF-.7F|7.FF|7FF7FL7L--F--77-7F7.7.-F-J.JFLF +FF-.F|-FLJJ.77F|F|-J77|---.7JLJLFJF-|7.F-7-F7.FFJLJ|.LF7-.|L7.J7LJ.L7FLFF7J|.F|.LJ-|.|.L7F.LFJ.||||FF|FLL--|L-J7--J|J7L||FJ-JLJL-JJ.L7J-L|7J +.|.FF7-LJ|.FJF-77|FJ|||-L|-L-FJ7F-|-LF-L7|FJL7J-F7FFF7FJ.J-.LJ.F|J7.LJ.|L.||L7JF|.7J7.7.|L-FJ7LL-JJ7FJ7.LL7J7LFJFLF--F|JF|-|.-JJJ7L7-||7F--- +FF-F7JF|FFF..L-|-|JF-JF7LJ7.F7--JLJ..LFFJ||F-J|F777L|-7J-7|7|7.FJ-77..LL--7|7F7F|-J|77.FL-7FL-JJ|7JL-L-|7F|7JJLF77L|-7|.FJ-L7|J.LL-FF7F-77|J +F|...FFJLLJFFLJ|JJJ|.LL77-L7LJJ.|L|-|-FL7LJL7JF7JL|.|7||.LF|-|FJJF|F7FJ.FJ|LF||F7.-FFJ-LJ|FJ.L---J.|L.L77-JJ|7|||--L7|J-.F7|.F7F7|FJ|F|J-F.. +--F-L|J..L.F77.L7--JL.L|L7F|J..FJFF-J7|FL-7FJF77JF7J..JJ-FJL-JF|.FFJLJLFF-F-F||||7L|LFFJF-7.7FL|.LL7|FFJL7JFF7F|L|-JJJ|.FL-L777L-.7L7FF7.|7| +F7J.|.L|7.J7|FL.|.|.L|7|J--7-7-L.F|J|F77|FJL-JL7-||L77LLF-J-|-F..FL7.F-LJ7FF7||||F77JLJLL.J7.L-JFF.LJL7-|L|FL-FJF77|.FF-LJ.||J.FF7|FLLJL7.FJ +FJ|F|FFLJ7L-L77L|-FF.|LJF7-L-77.7-|-FJL7FJF7F-7L7||7L|...|-LLL|7FF.LFFF.LF7|LJLJLJ|-7|.|7..J----F77.JF-JL--7JLFJFLJF-7J.L77FF.L-J|LJJ.F|JFJ| +J.L--77|.|7|L|7|J7|.FF|7||7-|||7|-J|L-7LJFJLJFL-J|L-7|-F-7.F7JFFF-7--7-F-J|L-7F7F-JFJL-FJ--J7FJ.J||J|F|7LFJ||-L--7-7JJ.F-7-7.FJ.L|J|||J.F7J7 +|F.F|.7-|JLF7|.J7-77JF7F777.LJ|7L..F|FL-7L7F7F7.FJF-J-7|J|-||J.FJFJ7F7JL-7L77||LJF-7..F|J.|.F.F7FFF.-F77.7F-F77-F77L|77..L-7-.L-7L-LLLJLLJL7 +F7FL77|FLFL|LF7|J-|FFJLJL---77LF7LF7F7F-JFJ|LJL7L7L7JJFJ-JFF--7L7|FFJ|7-LL7|FJL7FJFJ7-F7..F7F-J|F7J7J||J--7L|L7FJL77F-|F7|FF-7-|J|L|7|-JJ|FL +F-JJL--|7|.L7-J|LLF7L--7F---J-||F||LJ||F-JFJF--JFJFJ77F77F7L7FJFJL7L7|F7F7||L7FJL7L7F7||J7||L7FJ|L7F7||77||-L7|L-7L-7JLJL7JJJ.|J||||FJ7--FF7 +F7..7JLL7FL.|-JJJL|L77|||77||7F-7FJF7LJL-7|FJF7FJFJJF7LF-JL-J|FJF-JFJLJ||LJ|J||F7|FJ|LJ|.L|L-J|L|FJ|||L7LFF-7||F7|F-J77LF7JJL|7.|JJ-.F-.|.FJ +7---F7|.FJJF7777.|L7L7FJ|F7-F7|FJL-JL-7F-J||L||L7L--J|7L----7||FJ|FJF--JL-7L-JLJ|||7L-7L7.|F--JFJ|FJ||FJ-FL7||LJLJL-7L7L||JFFF77|JJ.LJ7FL-|J +|F-7F--7FF7|J|FL.F|L7|L7||L7|||L7F7F7FJL7L||FJL7|F7F7|F----7||||F-JFJF-7F7L--7F-J|L7F7L7|FJL7F7|FJL7LJL77LFJLJF7F7F-JF77||7F7||7LL.-LJFFJF7| +J7F-J7.F|J7JFJLJ7LF7||FJ||FJ||L7||||||F7|FJLJF-J||LJLJL---7LJLJ|L7FJJL7||L---JL-7L7||L-JLJF7||LJL7FJF--J77|F--JLJ|||FJL7||FJ||L7.FFJ.-J--L-7 +.L|JF77LJF-.JF-JLFJ|||L7|||FJ|FJ||LJ|||LJL7F-JF7|L7-FJ|F77|F7F-JFJL-7FJ|L-----7FJFJLJF7F-7|LJ|F--JL7L-7F7FJL---7|LJFJF7||||FJ|FJ.|7FL..|7|L| +--L-F.J|.--J-J7F7L7LJL-JLJ||FJL7|L-7LJL7F7||LFJ|L7|F7|FJL7|||L7||F--JL7L-7F7F-JL7L-7FJLJFJ|F-JL-7F-JF-J||L7F--7L--7L7||LJLJL-J|F--777F-7-FFJ +||L7-7JF7L-JF|F7F-JF7F-7F7LJL7||L7|L--7||LJ|FJFJJ|||L7L7FJLJ|FJFJL7JF7|F-J||L7F7L--J|F7|L-JL-7F-JL-7|FFJL-JL-7L---JFLJL7F-----J|F-J7--FLJLL7 +.LJL.LJL|-L-F7||L7FJLJF||L--7L7|FJF7F7|LJF-J|FJ|FJ|L7L7|L7F7||FJF-JFJLJL-7|L7LJL---7LJL--77F-JL7J.FJL7L--7F7FJ-F-7F7F7FJ|F7F7F-JL7L|-7J.--LL +7JFJ77FF|-JL|||L7LJF7F7||F--JFJ||F||||L-7L7FJ|F7L7|L|FJ|FJ|||LJFJ|FJF----JL7L7F-7F7|F----JFJF--JJFJF-JF7FJ|LJF7|FJ||||L7||LJ||F--J7L-.||.F-J +|LJ-L-J7JJJ.||L7L--JLJ|||L--7|FJ|FJ|||F7|FJL7||L7|L7|L7||FJ|L-7|F7L7|F-7F7FJFJL7LJLJL----7L7L7F7FJFJF7||L7L7L||||FJ||L7|LJF-J|L-7F-7|FFJLJ|| +|F-FLL7|...FJ|7L---7F-JLJF--J||FJL7LJ||LJ|F7|||FJL7||FJ|LJFJF7|LJL7|||FJ||L7L-7L7F7F7F---JL|FJ|||FJFJ|||JL7L7||||L7LJFJ|F-JF7|F-J|FJ----.F-- +7JFL77J.-F-L7|F7F7FJ|F-77L--7LJ|F-JF-JL-7||||LJ|F-J||L7L-7L-J|L-7FJ|LJL7||FJF7L7LJLJ||JF7F7|L7|LJL7|FJ||F-JFJ|||L7|F7L-JL--JLJL--J|JJ|7J.J|| +F-|F|F-7L|-FJLJLJLJFJ|FJF7F7|F-JL-7|JF77|||||F-JL-7||FJF7|F--JJFJL7L7F-J|||FJ|FJJF--JL-JLJ|L7|L-7FJ|L7||L-7L7|||FJLJL7F--7F7F7F---J77L-.--7J +|--J-J7LFF-L------7|7|L7||||||F7LFJL7||FJLJ||L-7F7||||J|||L7F--JF-JFJ|F-J|||FLJF7L7F--7F--JFJ|F-JL7|FJ||F7L7||LJL7LF7|L-7||LJ|L----777L7LFJ. +.FLJLLF-F-7F---7F7|L7L7||||||LJL7L-7|||L--7||F-J|LJLJ|FJ||FJL--7|F7|FJL7FJ|L-7L||7LJF-JL-7FJFJ|F7FJ|L-JLJ|FJLJF7FJFJLJF-JLJF-JF7F--J-|JF-L-J +|-J.-7.LL7|L--7LJ||FJ.|LJLJ|L--7L--JLJL7F7|LJL7FL---7||FJ|L-7F-JLJLJL7FJ|L|F-JFJ|F-7|F7F-JL7|.||LJFL--7F7|L7F7|LJJL-7FJ7F7FL--J|L---7JF|FJLJ +F7---F-F7||F7FJF7LJL-7L---7|FF7L----7F7LJLJF7FJF7LF-JLJ|7|F-JL-7F----JL7L-J|F7L7|L7|LJ|L-7FJL7||F-7F7J|||L-J|LJF7.F-JL--JL7F--7|F7F-J-JL-.L| +L7.|.|.|LJLJ|L-J|F7F7L---7||FJ|F-7F7LJL7F-7|||FJL7L-7F-JFJL-7F7||F7|F7FJF--J||FJ|FJ|F-JF-J|F-J||L7LJL7LJL7F7L-7|L7L-7F7F7FJ|F-JLJLJLL|7L7|F7 +LJ7L-7FL7F-7|F--J|LJ|F--7LJ|L7|L7||L7LFJL7LJLJL-7|F-JL7LL7F-J|LJLJL7|LJFJ.F7||L7|L7|L-7L-7||F7||FJF--J|F7LJ|F-J|FJF7||LJLJ.||F7F7F7-F-7-L-JJ +--77L-F-J|FJLJF7FJF-J|F-JF7L7||FJLJFJFJF7L7F7F-7||L-7FJF7||FFJF7F--J|F7L7FJ|||FJ|FJ|F7|F-J|||LJ|L7|F7F7||F7|L7FJ|FJ||L-7F-7|LJLJ|||.|FJF|FJ| +J|.F--|F7|L--7|LJFL--JL--JL7|||L7F7L7L7|L-J||L7|||F7||FJ|||FJFJLJF7-LJ|FJL7|||L7|L7||||L-7||L-7L7||||||||||L7||FJL7||F-J|FJ|F--7LJL-JL-77..F +LF-.LFLJ||F-7LJLF7JF7F7F---JLJL7LJ|FJFJL7F7||FJ||LJ|||L7|||L7|F7FJ|F7FJ|F7|LJL7|L7|||||F-J||F7|FJ|||LJ||LJL-J|||F7||||F7|L-JL7-|F-7F7F-JJ-FJ +.F-7-7.LLJL7|||FJL-JLJ|L------7|7FJL7L-7|||||L7||F-J||J||||-|||||FJ|||FJ||L--7||FJ||||||F7|||||||||L-7|L-7F-7LJLJLJLJLJLJF7F7L7|L7||||-J..77 +FLF|7LFJ-|F|L7FJF7F7F7|7F7F7JFJL7L-7L-7||||||FJLJ|F7|L7|||L-J|||||FJ|||FJL7F7|LJ|FJ|||||||||||||FJL7FJ|F-JL7L7F-7F--7F7F7|LJL-J|FJLJLJ.L77JF +F7FL|.||.LFJFJL-JLJLJ|L-JLJL7L-7L-7L-7||||LJ|L7F-J|LJFJ||L-7FJ||||L7|||L-7LJ||FFJ|7LJ|||||||||||L7J|L7LJF--JF||FJ|F7LJLJ||F7F7FJL-7.J.L.|L77 +LF.LJ-|-F-L7|F7F7JF7J|F7F-7FJF7L7FJF-JLJ||-FJFJ|F7|F-JFJ|F7|L7||||FJ|||F-JF-JL7L7|F7-||||||||LJ|FJFJFJF7L---7||L7LJL--7FJLJ|||L---JJ-JLFF|L- +FF7.F.|.F7J||||||FJL-J|LJFJL-JL-JL7L---7LJFJFJFLJ||L7FJFJ|||FJ||||L7|||L-7|F7FJFJLJL7||||LJ|L-7|L7L7L7|L----JLJJL-----JL7F7LJL7F-7JL-J.FJJ-J +FL|-JJ7F||FJLJLJ|L-7F7L7FJF----7F7L----JF-JFJF7F-J|L|L7L7|LJL7|LJL7||||F7|LJ|L7|F-7FJ||||F-JF-J|FJ||FJ|F---------------7|||F-7LJFJF-J|.F|FF| +FJLFJ|F-JLJF---7|F-J|L7|L7|F7F7LJL-----7|F7|FJ|L-7L7|FJ|||F--JL-7FJ|||||LJF-JFJ||F|L7||||L7FJF-J|F-JL7||F--------------JLJLJF|F7L77F-7JJ|-LF +L.L|F-L7F-7|F--JLJF-JLLJLLJ|LJL--7JF---JLJLJL7L--JFJ|L-7||L-7F7FJL7|||LJF-JF7L7|L7|FJLJ||F|L7L-7|L7F-JLJL--------------7F-7F-J||FJJL-J|7|7F| +.F--|LFLJ-||L-7F-7|F7F7FF--JF7F-7L-JF7LF7JF-7L---7|FJF7|||F-J|||JFJ||L-7L-7||FJ|FJLJF-7||FJFJF-JL7LJ7F7|FF7F7F-7F7F----J|FJL--JLJ|LJ7.7FLJ-7 +LLL-J7L7L-LJF-J|FJ||LJL7|F--JLJFJF--JL7|L7|FJF---J|L-JLJLJ|F7||L7L7|L7FJF-J|||7|L---JFJ||L7L7|F-7|F--JL7FJLJ|L7LJ|L-----JL7-|77F-7-JFF-7-F7- +|L|-JL|7|L|.L--JL7|L7F7|LJF---7L7L7F--J|FJ|L7L---7|F7F---7LJ||L7L7|L7|||L-7|||FJF---7|.LJ-|FJ|L7||L---7|L--7L-JF7L-------7L-7F7L7L7JLL-J--JJ +7|F7|FJ77-F------J|LLJ|L--JF-7|J|FJL---JL-JFJFF7FJLJLJF7FJLFJ|F|FJL7||L7F-J|||L7L--7LJF7F-JL7L-JLJF---JL--7L---JL-------7L--J|||L7L7FLL|7LFJ +7-FJLJ.F77L7F7F-7FJF--JF--7|FJL-J|F--7F---7L--J||F7F7FJ|L-7|FJFJL7FJ|L7|L7FJLJJL7F7L--J|L-7FJF7F7FJF--7F-7L---7F7F-7F-7FJF7F7||7FJFJ-.F-L7|7 +L|||.|-LL-|LJ||FJ|FL---JF-J||F7F7|L-7|L--7|F7F7|||||LJ-L7FJLJ-L7FJL7|FJ||||LF7F-J||F7F7|F-JL7|||LJFJFFJL7L-7F7LJ|L7||JLJFJLJLJL-JFJF|-L|FJJJ +77|7-J-|FFL7FJ|L7L7|F---JF7|LJ||||F-J|F-7|||LJLJ|||L7JF7||F----J|F7LJL7|FJL7|LJF7|||||||L---J||L-7|F7L7FJF-J||F7L-JLJF7FJF-7F7F--JLJ|FFF-L|J +LF7|F-7F-JFFL-JJ|FJFJF7F7|LJF-J|LJL-7|L7|||L---7||L7L7||LJL-7F-7LJL7F-J|L7FJ|F7|||||||||JF7LFJL7FLJ|L7LJFJF7|LJ|F7F7FJLJFJ.LJLJF77JL-7-F7.|. +.LL-JJ.FJ7LLL-|LLJ-L-JLJ||F7L-7|F---JL-JLJ|F7F7||L7L7LJL--7FJ|-L7F-JL-7L7LJ7||LJ||||||||FJL7|F-JF-7L7|F7L-JLJF-J|LJLJF--JF7F7F7|L7.||JLL7-L7 +JF|J.L7|.7-LLF-7F7FF7F--J||L-7LJL--7LF7F7JLJLJLJL-J-|F----JL7|F-JL---7L7L--7||F-J|||LJLJL-7|||F7L7|FJ||L--7F-JF-JF---JF7FJ||||||FJ7|JFF7-J.7 +.LJJFLLL---|-L7LJ|FJ|L--7||F7L-----JFJLJL------7F7F7LJF---7FJ||F7F7F7L7L7F7||||F7|LJF-----JLJLJL-J|L7|L--7LJF7L7FJF-7-|||FJ|||||L7F7-|--J-F- +|J.F|-JJJLF77FL-7|L7|F--J|LJL-7F7F-7|F--7F7F7F7LJLJL--JF--J|FJ|||||||FJF||LJ||||||F-JF----7F--7F-7L-JL7F7L--JL-JL7|FJFJLJL-JLJLJFJ||FL.|.-7L +|7FJLF7L|F.L|7F7|L7|||F--JF---J||L7LJL77LJLJLJL7F-7F---JF7FJ|FJ||||||L7FJL7FJ|||LJL7FJF--7||F-J|LL---7||L---7F7F7LJL7L7F7F---7F7L-JL7J7FF7|J +JJ-LF|-77.FF7FJ|L7LJ|LJF-7L-7F7|L-JF-7L-------7|L7||F7F7||L-JL7|||LJ|FJL7FJ|FJLJJF-J|FJF7LJ|L-7|F----JLJF--7LJLJ|F--JFJ|LJF7-LJL----J7L-FJ7J +|-L-J.L|LJF||L7L7L-7L7FJFJF7LJ||F--JLL--------JL-J|LJLJLJL-7|L|||L77||JFJL7LJF---JF-JL7|L7FJF-J||F-7F7F-JF7L---7|L-7FJFJFFJ|F------7|F.|JLJ7 +L.LL7J-JFFFJ|-L7|F7L7|L7|FJL-7LJL--7L|F7F7JF--7F7FL7F-7F--7L-7LJL7L7||7L7FJ|-L7F-7L7F-J|FJL7L-7|LJ-LJ||F-JL----JL-7LJFJ-FJFJ|F--7F7|-J7F--J- +|-F-||7F--JFJF-JLJL7||F||L--7L7F7F7L7FJ||L7|F-J||F7LJJLJF7L--JF7||FJ||7FJL-7.LLJJL7|L--J|F-JF-J|F7F7FJ|L-7F------7|F7L-7|FJFJL7J||LJ|7FJ|.LJ +.JJ7LFLL7F7|JL--7F7LJL-JL-7-L7LJLJL-J|FJ|FJ|L--JLJL7F7F-JL----J|FJL7LJ-L7F-J7.LL-JLJF---JL7.L--J|LJ|L-JF7||F7F---JLJL7FJ||||F7L7|L7LL-J.JF|J +|--7|.L.LJ|L-7F7LJL---7F7FJF7L-------JL-JL-JF------J||L7F------JL-7|J|LL|L-7-|F--FF-JF--7FJF---7L-7|F7FJLJ||LJF7F---7LJFJL-J||FJL7|||||F.FFF +F.||-|7.F7L-7LJL7F7F7|LJ||-|L---7F7F7F7F---7L7F7F7LFJL-JL-----7J|.||L|7L|F7|-JJJ.LL--JF7LJLL--7L-7|||||F--JL7FJLJF--JF-JF-7FJLJJFJ|J77-7FL7J +LJ-FFJJ.||F7L--7LJ|||F--JL7L7F-7LJLJ|||L-7LL-J|LJL7|F--7F-----J-L7LJ7-|JLJ||.LJ|F|LFF7||F77F-7L-7||LJLJ|F--7LJF-7L---JF7L7|L--7-L7|-FL---L-J +7F-J|7.FJLJL-7FJF7LJLJF7F7L7LJFJF7F7LJ|F7L----JF-7LJL-7|L------7LFJ|.-JJLLLJ7L-7-F--JLJLJL-JFJF7|LJF--7|L-7|F7L7L-----J|FJL7F7L7.LJ7-7J|F|.L +.|L|F-7L----7|L-JL7F7FJLJL7L7FL7|LJL-7|||F7F-7FJFJF-7FJL--7F---JFL7-7.F--|-JJFL.LL--7F-----7L-JLJF-JFFJ|F-JLJ|FJ|F-7F7-LJF7LJL7L77J|J7-77|.| +L.|J|FJFF---J|F--7LJ|L7LF7L7|F7LJF7F7||||||L7|L7L7L7|L---7LJF--7F7J7FFJ7F7|J.|.|JLF7LJ7F7F7L7F7F7|F-7L-JL---7LJF7L7LJL--7|L--7|FJ-.F-JJFJF-J +|.7|L7JFJF7F7LJF7L--JFJFJL-J|||F-JLJLJ||||L7||FJFJFJ|F7F-JF7L-7LJ|J7FF-J7|L--L77F-JL---JLJL-J|LJLJL7L7F-----JJFJL-JF-7F7LJF--JLJL|7|.FF--J-| +J.LLJF7L-JLJL-7|L7F7FJFJF--7LJLJF--7F7LJLJ7LJ|L7L-J.LJ|L-7|L7FJF-J-7LJ-JL|L--77FL7F7F---7F7F7|F-7F7L7|L-----7FJF7F7|7LJL-7L---77F7LL-F7J7.F7 +L.|L-|L7F7JF--J|FJ||L7L7|F-JF7F-JF7LJL77F77F7L-JF--7F7L--JL7LJFJ||-L-J7.F-.|--7FFJ||L7F-J|||||L7LJL-J||F----J|FJLJLJF---7L----JF-7JLJLJ.FFLJ +JF|FLL7|||FJF-7|L7||FJLLJ|F7|||F-JL---JFJL-JL7F-JF7|||F77JF|F7L-77-F7L-FF.FF7.--|FJL-JL7FJ||||FL--7F7L-JF7F7||L----7|F--JF--7-F7-L-.7--7J7JJ +LL|FF7||||L7|FJL7|||L7F7FLJ||||L7F---7.|F----JL7FJ|||LJL7FFJ|L--J7-|J7LL-.LJ--..LJF----J|F||||F---J|L--7|LJL-JF----J|L---JF-JFJL77LFJ-||J|J7 +|LLFJLJLJL-J|L7FJ||L7||L---J||L7||F--JFJL----7FJL7LJL7F7L7L7L7F7F7J.FFFJL-JJ|LJ-L|L-7F7FJFJ|LJL----J-F7LJF----JF--7||F----J.FJF7L-7J.FF|-L-J +|7.L-7F--7F-JFJL7LJ-LJL-7F--J|FJLJL---JF7F7F-J|F-JF-7||L-J-L7||LJ|J-FJ|7F|..F7JJLLF-J|LJ7L-JF----7F7FJL--JF----JF7L-JL---7-FJFJ|F-J|LJ7LJJ.L +.FLLL||F-JL-7L-7L-7F-7F7LJF--J|F7F-----JLJLJF-JL-7L7|||LF7F-JLJF-JFF7JLL7|F-7J|||LL--JF-7F7.L-7F7LJLJF-7F-JF--7FJ|F7F7F-7L-JFJJLJ.|7|||.F-7| +F-.L.LJL7F7FJF-JF7|L7LJL7FJF--J|||F------7F7|F--7L-JLJL7|LJF7F-J|7L||F7JL77.LLF--J|LFLL7|||F-7LJL----JLLJF-JF7LJFJ|LJLJ|L-7FJ7.F7FF-F7|F-F|J +L|.|7|FFJ|||JL7FJ||-L--7|L-J.F7||LJF7F7F-J|||L-7L7F7F-7LJF7||L--77J|LJ|-F7F-FFLJ|-F-7F-JLJLJFJF7F7F---7F-JF-J|F7L-JF7F---7|L-7FJ|FF7|L7-7FJ7 +.|.-7-F|FJ|L77LJJ||F---JL----JLJL--JLJLJF7|||F-J.LJLJ7|F-JLJ|F-7L77L-7|.LLJF-77JFFL7|L-7F7F7L-JLJ|L--7|L--JF-J|L-7.|LJF7FJL--JL7L-JLJFJF7.J7 +L7.|-F-J|FJFJJ-LLLJL7F7F7F---------7F-7FJLJLJL---7F7F7LJF--7||FJFJF--JL7L|7|FJF7FF-JL-7LJLJL----7|LF7||F---JF7|F-JFJF-JLJF7|F7||F----JF|JF7| +.J-.L|F7||FJJ|7-|.J|LJLJLJF-----7F-JL7||F7F7F7F-7LJLJL--JF-J||L7|7L-7F-J-FFJ|FJL7L---7|7F7F77F--JL-JLJLJF7F7||||F7L7|F7LFJL7|L7||F-----77LL| +-J.JJLJLJLJ7.|FFJ7-F------JF---7|L---JLJ|LJLJ|L7|F-----7FJF7LJLLJ-LFJL7J-FL7LJF-JF---JL-JLJ|FJF7F-7F----JLJLJLJLJ|FJLJL7L7FJ|FJ|||F-7F-J7.JJ +LFL7L||JL|.FJJ7J.7.L-------JF--JL------7L---7L7||L----7LJFJL7F7-|LFJF7L7F7FJF7|F-JF-------7|L-JLJFJ|F-----7F-7F--J|F--7L-JL-JL-JLJL7LJ|L--|. +F-L7.LJ7LJL|JL7FFJ7LLF7LF---JF7F7F----7L----JJLJL7F7F7L--JF-J||F-7L-J|FJ|||FJLJL--JF------JL----7L-JL----7LJFJL--7|L-7|F7F7F7F7F--7L7L7-LFL- +|.||.FF7.F-L-F7F7F-F-J|FJF--7|LJLJF--7L---7F-7LF7LJ||L7F--JF-J||FJF7FJL7|||L---7F7LL7F-7F7F---7FJFF-7F7F7L-7L7F-7LJF-J|||||||||L-7L-J.L7J.|7 +FJF|JF|JFL-J-|||L7-L-7LJFJF7LJF7F7L-7L----J|FJFJL7F|L7|L--7|F7||L-JLJF7LJLJF7F-J||7LLJFJ|||F-7||F7L7||LJL--JFJL7L--JF7LJLJLJ||L7FJF7J7||FF.- +|L-||-J7JL7LL|LJFJF77L7FJFJL--JLJL--JF7F---JL-JF7L7|FJL7F7|LJ||L-----JL7F--JLJ|FJL7J.FJFJLJL7LJLJL-JLJF7F--7|F7L----JL7F7F7JLJFJ|F||-J|-7J-J +FFLJ77.77-JJJ|F7L7||F7||FJF7F--------JLJF------JL-JLJF7LJ|L7FJ|F7F7F7F7||F---7FJF-JF7L-JF--7L7F7F7F-7FJLJF7||||F---7F7LJ||L--7L-JFJL7.|.J||| +L-77L-7|-J..-LJL7|||||LJL-JLJF----7F7F7FJF----77F--7L|L-7|FJL7||||LJ||LJLJF7FJL7|FL|L--7L-7|FJ|||||LLJFF-JLJLJ|L7F7|||F7LJF--JF--JF-J.|..FL7 +|L---|J.L.77-FF7|||LJ|FF7F-7FL7F-7LJ|||L-JF--7L7|F7|FJF-J||F7|||LJF-JL-7F-JLJF-JL7-L--7L--JLJFJLJLJF7F7L---7F7L-J||LJ|||F7L---JF-7L7F7--7.L| +F-J--JJ-L|L|-FJLJ|L-7|FJ||FJF7LJFJF7LJL-7FJF-JFJ||LJL7|F7LJ||||L7FJFF--JL-7F7L7F-JF-7-L7F---7|F7F7FJLJL77F-J|L7F-JL-7LJ||L7F7F-J|L-J||JL-7.| +J|.FJJL.LJ-J.L--7L--J|L7|||FJL77L-JL---7LJ7|F7L-JL7LFJLJL-7||||FJ|F7L-7F--J||FJL-7L7|F7LJF7FJ||LJLJF7F7L-JF7L7||F---JF7||7LJ|L------J|77L|-- +LF7FF7-7FF7L-J.LL7F-7L7|||||F7L-------7L--7LJL-7F-JFJF7F--J||||L7LJ|F7|L7F7|||F--JFJLJL7FJ|L-JL7F-7|||L7F-JL-JLJL---7||LJF7|L7F------JJ-F--7 +.L-7L7-L-||7|F7F-J|7L7LJLJ|LJL-7F7F7F7L7F7L77F-JL7FJFJLJF7FJ||L-JF-J|||FJ|||||L--7L---7|L7|F7F7LJFJ|LJ7LJF--7F------J||F-JL-7|L----7F|J-JFF| +FFLJJ|L|-F-7-||L7FJF7L---7L7F7LLJLJLJL7LJL7L7L-7FJL7L7F7|LJFJL-7FJ7FJLJ|||||||F-7|LF7FJL7|||||L7|L-JF----JF7|L-------JLJF-7FJ|F-7F7L-777L-FJ +F--J-L-F-JFJ-|L7|L7|L----JFJ||F7.F7F-7L--7L-JF7||F-JFJ|||F-JF-7|L-7L--7L7|LJ||L7LJFJ|L7FJ||||L7|F7F7L-----J|L7F7F-7F-7F7L7|L7|L7LJL7FJ.L-L-F +|-L|||F|F7L7.L7|L-JL-7F7F7L-JLJL-JLJL|F--JF7L||LJL7FJJ|LJ|F7|FJ|F-JF7-L7|L7FJL7L7FJFJ-||FJLJ||||||||F7FF---J-LJLJF|L7||L7||FJL7L-7L||LJ7F7J| +|.|L-7FLJ|FJF-J|F7LF7LJLJL---7F7F---7LJF7FJ|FJL7F-J|F7L-7||||L7|L-7|L-7|L7||FFJFJL7||FJLJF--JFJLJ||||L-JF--------7L-JLJ7|||L-7|F-J.LJ--F||LL +|-FJLF---JL-JF-J||FJ||F7F---7LJLJ7F-JF7||L7|L7FJL-7LJL-7|LJLJFJ|F-J|F-JL7||L7L7L7FJL7L7F-JF77L7F-J||L---JF-------JF-7F-7LJL--JLJJ.FJ-F-JLF-J +|-L.FL-7F-7F7L7L||L7|FJ|L7F7||F7F7L-7|LJL-JL7|L7F7L7F7FJ|F---JF|L7J||F7FJ||FJ-L7|L7FJFJL-7|L7FJL7FJ|F----JF7F7F7F7L7LJFJFF7F7F7|F----7JJLLJ. +|7|FF-L||JLJL7|FJ|FJ||FJFJ||L-JLJL7FJ|F-----J|FJ||FJ|LJFJL7F7F-JFJFJ||||FJ||F7FJ|FJL-JF--J|FJL7FJL7|L-----JLJ||LJL-JF7L--JLJLJL-7JJ-F|...JLF +J-7-|JFLJF7F7||L7|L7||L7L-JL-----7|L-J|F---7FJL7|LJFJF7|F-J||L-7L-JFJ|||L7||||L7||F--7L-7FJL--J|F7||F-7F7F7F-J|F----JL----7F----J-|.J-|..||. +J.L-LJ-LFJLJLJL7||FJ||FJF7F7F-7F7|L-7FJ|F--JL-7|L-7|-|||L7FJL7||F--JFJLJFJ|LJ|FJ|LJF7|F-JL--7F7|||||L7LJLJLJF7|L-77F77F7F7LJ-F7-F77FL7J-LJ-- +LF.|LJ|LL-----7|||L7|||FJLJ|L7LJLJF7LJ-|L-7F--JL-7|L-JLJFJL-7L-JL7F7|F--JF|F-JL7|F7|||L--7F7|||||LJ|7L7F-77FJLJF7L-JL-JLJL---JL7||JFJ|-|-|.J +F|--.JJLLF----JLJL-JLJ|L--7|-L7F-7|L7F7L7FJL--7F7LJF----JF-7L--7FJ|||L-77FJL-77||||||L7F-J||LJ|LJF-JF7LJFJFJF7FJ|F7F----7F7F7F7||L7LF7F||F-| +LJFL-|L7.L--7F-7F7F7F7|F7FJ|F7LJ-LJFJ|L7|L7F--J|L--JF---7L7|F7FJL7|LJF-JFJF--JFJ||||L7|L7FJ|F7L-7|F7|L7FL-JFJLJLLJLJJF-7LJLJLJ|LJFJ-.J7LL7L- +|.|J-7-J-F--J|FJ|LJLJ||||L7LJL-7F7FJ7L7||FJL--7|F7F7|F--J-||||L7FJL7FJF7L7|JF7L7||||FJ|FJL7|||F7|||||FJF7F7L7F--7F7F7|FJFF---7L-7||L-FL--|7J +LFJ.||..FL---JL7|F---JLJ||L---7||LJF7FJ||L-7F7|LJ||||L7F7FJ||L7|L7FJL7|L7|L7|L7||||||FJ|F7||||||||||||FJ||L7LJF-J|||LJL--JF--J-LLJJ7FFJ-FF-7 +FJFFF-F77LF---7LJL----7FJF7F--JLJF-JLJ-|L-7|||L7FJ|LJFJ|||FJL7||FJ|F-JL7|L7|L7LJ||LJ||F||||||LJ|||||||L7LJFJF7L--J||F-----J.F77F7|LF7F-7LJ|| +LF|7-L|L-7L--7L7F7F---JL-JLJF-7F7L-7F--JF-J|||FJL7L7FJFJ|||F-J||L7|L7F-J|FJ|FJF7||F-JL7LJ|||L7FJ|||||L7L-7L7||S7F7LJL-------JL-J|FFF-JFJ|-7| +LJJ|J|L7FJ-F7L7||||F7F7F---7|FJ||F7|L7F7L-7|||L7||FJL-J-LJ|L-7||FJ|FJ|F-JL7|L-J|||L7F-J|FJ|L7|L7|||||.L7FJFJ||||||F7F-7F--------JF7L7FJJ||LL +F|L|LF-JL--J|7||||LJLJLJF--J||FJ|||L7||L7FJ|||FJFJL----7F-JF-JLJL7||FJL-7FJ|F7FJ|L7||JF-JFJFJL7|||||L7.|L7L7|||||LJ|L7|L---------JL-J|--.||| +-|JJFJF--7F7L-JLJL------JF7FJ||FJ||FJ||||L7|||L7L-7F7F7|L-7L--7F7LJ|L7F7LJFJ||L7L7||L7L7FJ7|F7|||||L7L7L7L7|||||L7FJFJL----------7F7FJFF7J77 +LJ.LL-JF-J||F7F-7F------7|LJFJ|L7|||||L7|FJ|||FJF-J|LJ||F7|F-7LJ|F-JFJ||F7|FJ|FJFJ|L7L7|L-7LJ|||||L7L7|FJFJ|||||FJL7L-----------7LJ|L--7J.77 +FF|7LF7L7FJLJ||FJ|F-----JL77L7|FJ|||FJFJ|L7||||FJF7L-7LJ|LJL7|F7||F7L-JLJ||L7|L7L-JFL7||F7L-7|||||FJFJ|L7|FJ|||LJF-JF-------7F-7L-7|F--JL|L- +FL|JFJL7LJ-F-J|L-JL7F7F7F7|F-J|L-J|||FJF|FJLJ||L7||F7|F7L-7FJLJ||LJL7F7F-JL-JL7L7FF--J|LJL7FJ||||||FL7L7||L7|||F7L-7L------7|L7L-7|LJ7-J7|.| +LFL7L-7L---JF7|F7F-J|||||LJL-7|F--J||L-7||F--J|FJ|LJLJ|L--JL--7|L7F-J|||F--7F7|FJFJF7FJLF7||FJ|||||F-JFJLJ-|||LJ|F-JF7F----JL7L7-LJJ.F-J|JF- +FJ|L|LL7F7F7||||LJF7|||||F---J|L--7|L7FJ|||F-7|L7L-7F-JF7F7F7FJ|FJL7FJ|LJF7LJ|LJ7|FJ|L-7||||L7|LJ|||F7L-7F-J||F-J|F7||L-----7L-J-JJ|-7|J|J|J +J7|LFJFJ|LJLJ||L7FJLJ||LJL-7F7L--7|L7|L7||||-|L7L7FJL-7|||||LJFJ|-FJL7L7FJ|F7L--7LJFJF7LJ||L7||F-J|LJL7FJL-7|LJF-J|||L7F7F-7L---7J.L7||7|-77 +FJJF77L7|F---J|FJL7F7||F---J||F7FJ|FJ|FJLJLJFJFJFJL7FFJ||||L-7L7L7|F7|FJL7|||F--JF7|FJL7FJ|FJLJL-7L-7FJL-7FJL-7L-7|||FJ||L7L----J77-J7|L|J.7 +F-FJL|-||L7F-7|L--J|LJ||F7F7|LJLJ-||JLJF7FF7|FJ||F7L7L7|||L7FJFJFJ||||L7FJLJ|L-7FJLJL-7|L7|L7F---JF-J|F7FJ|F7FJ|FJ||||FJL7L--7F77J|FFFJ7|7.| +L7JL|L-LJ7||FJ|F---JF7||||||L--7F7|L--7|L-JLJL-7LJ|FJFJ|LJL|L7L7L7||||FJL--7|F-JL-7F7FJL-J|FJL-7F7L-7LJLJFJ||L7FJFJ||LJ|-L7F7LJL7-F|--LJJLF- +-|||.LLL7F||L-JL--7FJ||LJLJL7F7LJ||F7FJL7F-7F-7L-7LJFJFJJF-JFJ|L-JLJ|||F-7FJ|L7FF-J||L---7||LF-J||F7L7F7-|FJL-JL7L7|L--7F-J|L7F-J-|LJ.LJ7.|| +LL7L-J|-7-LJ|-F---J|FJL--7F-J||F7||||L7FJ|.||FJF-JF-JFJF-JF7L----7F-J||L7|L7L7L7L7FJL7F7FJLJFJF7|||L7LJL7|L--7F-JFJL-7FJL-7|FJ|JJ.L-7|J.7-F| +.|LFL7JF-JL|7FL----JL7F--JL7FJLJ||LJ|FJL7|FJ||FJF-JF7L7L-7||F7F7FJL-7|L-J|FJFJFJFJ|F-J|||F7J|FJ|||L7L7F-JL7F7|L-7|F7L||J7FLJ|FJ--|7LFJ.J|FJJ +FF77-J7FJFL7-L.F-----J|F7F-JL7F7|L7FJ|7FJ|L7||L7L7FJL7|F-J|||||||F--J|-F7LJFJFJJ|FJ|F7||LJL7LJFJ|L7|FJL-7FJ||L7FJLJL7||FL|.LLJJ-J|F7L|FJ7JL7 +|JFJ-F7JFFF7.LLL--7F-7|||L7F7LJ||FJL7L7L7|FJ|L7|FJ|F-J||F7|||LJ||L7F7L7|L-7L7L-7||FJ||||F-7L-7|FJLLJ|F--JL7||FJ|F7F7|||JJL7|L-|-77L77|7-F7.| +7-L7.FFJL-|L-FLLJ|||-LJ|L-J|L7FJLJFLL7|LLJL7|FJ|L7||F7||||||L-7||FJ|L7LJF7L7|F7||||FJ||LJ7|F-JLJ-LF-JL777||||L7||||LJLJJ7-LLJF7LJL|J7LF-|7.7 +|.JJF|J.L-JJF-7..FLJ77FJF7FJL|L--777.|L7JL-LJL7L7LJLJ||LJ|||F-J||L7||L7FJ|FJ||||LJ||FJL7-FJL-7.L--L7F-JJ-FJ|L7|||LJJL|.LF7.F|J|7J.J7|JL-F-JJ +|7|F7J-F--7-JL|--|JJF-JFJ||F-JF--J||-|FJ.J7J.FL-JF-7FJL-7|||L-7||FLJF-JL7|||||||F7||L7FJFJF-7L7-7LL||LF|||FJ-LJ|L7JFF7J.LJ-|7-F-.7J7..F7LF77 +LJ|.LJF-7.J7.|||F|-FL-7L7||L-7L-7JFLFLJJ7F|7F|FF7L7LJF7FJLJ|F7|LJF--JF7FJLJFJ||LJ|||-||FJFJ-|FJ.|77LJ7-F-LJL-.LL-JFJ.|JL.|7LJ.JL-LJ|F.F7JL7J +L7|7.FL.F7LF-LJJJ|..L-L-J|L7FJF-JF77.L|JFJ.FF--J|FJF7||L--7LJ|L7LL-7FJ|L--7L7||F-JLJJLJL7||L||7.LF-JFLLF7.LLJ-7L7LJ-L7-7F-77|FJ.LJ7|.7||F-F. +F7J|-LLJF-7L-||7F7-7F-JFLL-JL7L--J|7|-|LFLJ-L--7LJFJ||L--7L-7|FJF--J|FJF7FJJ|||L77-LFL-LLJJ-LJJ77.FL|.F77F||LL7LJ7J|F|JL--J-F7--7FJ.L|F-7FJ7 +FL7|L|.F7JF-.LFL|LJFL|-FJJ|LLL7F-7L-7|LF77||LL-|F7|FJL7F7|F-J||F|F-7||FJ||JL||L7L7J7|L.L|7.L||LFFJ7-777||LJF7|LJF--7---F|7L7LJ7|LJ-F.LL7J7L| +L.F|-L--F-|JFF7F|--7.L--..J.LFJL7L-7|7FJJL|-7J.LJ||L7FJ|LJ|F-JL7LJFJ|||FJ|JFLJJ|FJ-J7FF---|F77.FJFL.LF-LJ-LFJL-7-7FF7J7|L-.LJLF--|.-.|JL7F7L +.-J|||FFJ-JFFJ.LJLL-JFL|LFJ7J|F7L7LLJFJJJ-|.7.-7FJ|FJ|-L7FJL7F7L-7|FJ|||FJ.7||LLJJJJ|L7LLJL-JJ.JFJ7J.L|7J.FL|.7J.F7LJ.JL777.|F.LFLJJF-7F|LLJ +7F-L|-7L|JLF|7JF|.F|.L7FJJ.FFLJ|FJFJ.LJ.7|F-J-JFL7|L7L7L||F-J|L7FJ||-||LJJ..77|-J-.-FLJ7F-7F|7||7-L.FJLJF7J.J.LJ|L|7J-|F.F-FLJ||.|J.7.F-L.|| +||7JL-JJL7.F.-.FLF-|-7L7J||-|J-LJ-L-F.|FJ-|-|LLJ.LJJL-J-LJ|F-JFJ|F|||LJ-LJ--JLF-FF7L|J|7|F|LFJL7|F|-|-F-JJ..|.|..FL-.L-.FF--7L|-F7.L|.-J7LL7 +7.77.FL-JJFFJ7.77JLL.F7L7FF7-7.LJ.FF77F-J||.||.F|J7F||JFJLLJ-LL7L7LJ-L.FJ77.|.JLLL-JJF--|F|-L-FF7LJ.|||LLF-77-L7--7LFF-7.|L7|-----7.J-FF7|-| +.LLLF|F77F-JLF7-J-|LF.F-F|J|L7-JJ-J-J-7-7-7|JJ-|7-J-LF7L|-J|7|FL-JLJJ|7FJF7LJ.L-7.L7-L|FJJJ-|7|L|-J-J-77LL.F-7-|7LF.7JL-F7|-|LJ..F|7-F7LF7FF +FJ|L7JLJ-L...L|J..J7L7|FJL7--7|..||||FL--7L7.L-||.JJFJJ|F-LJ7|JJ||LF7L7JJ|L|.|.LFJLL7.-|JJ|FF-|||FL-JFJ|F7-|-J--|7LFJ77F|JL7L7LF-|FJ7J|.|FJ- +J.FJ|LLJLL-|-.LL-L-|LJ-LL-L-JLL-.-JJL7-7J|LJJ7.-|JJ--L-J.FLJ-|L7--.-J-L--JLLFJL-FJ.|J.LJJLLLJ-J-L7-LL7JL-|JLJ-LLLJ-LJ|JFF7J..-7J-LJ..7.FFJJJ \ No newline at end of file diff --git a/aoc2023/src/day11/input.txt b/aoc2023/src/day11/input.txt new file mode 100644 index 0000000..c86cc92 --- /dev/null +++ b/aoc2023/src/day11/input.txt @@ -0,0 +1,140 @@ +..............#..........................#.....................#.....#...................#..................................#............... +.............................#.........................................................................................#..........#......... +#......................#.................................................#.....................#...........#................................ +......#..............................#........................................#............................................................. +................................#...........#.........#.............................................................#.....#..........#...... +..................#...................................................#...................#................................................. +............................#............................................................................................................... +........#.....#...............................................................................#...............#............................. +#...................................#.....#.........................................#.....................................................#. +..........................................................................#........................#..............#........#........#....... +.....#.....#.............#.......................#.......................................................................................... +..............................#.............................#....................#......#................................................... +............................................................................................................................................ +.......................................#....................................#........................................#...................... +.......#................................................#..............#............................#....................................... +................#.................................................#.........................................#............................... +.....................#.........................#.....................................#...................................................... +...............................................................................................#..................................#......... +.#......................................................................................................................#................... +........#................................................................................................................................... +...............................#...........#.............#...............................#...........#...................................#.. +.............#.....#.............................................#.....#......................................#............................. +............................................................................................................................................ +.......................#...........#.................#..............................#....................................#.................. +...............................................................................#.....................................................#...... +..#......#.............................#............................#..................................#........................#........... +.............................#..........................#......#...........#................................................................ +....................#.........................#..................................................#.......................................... +......#............................................................................................................#........................ +...........................................................................................................#................#............... +#..............#...................#.............................................#........................................................#. +.........................................#.........................................................#........................................ +.....................#............................................#.....................#................................................... +.................................................#......#................................................................................... +.........................................................................................................#..............#.......#........... +...............................#..................................................................................#...................#..... +..........................#.........................#...........#..............#..........#..................#.............................. +..........................................#.............................#................................................................... +............#......#................................................................................#....................................... +................................................................................................................#.....#....................# +...#.........................#................#...............................................................................#............. +......................#..................................#.............................#...................#................................ +.......................................................................#.....#.................#............................................ +.......#..................#.........................#....................................................................................#.. +..........................................................................................#....................#............................ +........................................#........................#.....................................................#.................... +...................#.....................................................#.......#.............................................#............ +..............................#.................#........................................................................................... +..#..................................................#......#................#.............................................#.........#.....# +...........#..................................................................................#.....................#....................... +.....................................................................................................#...........................#.......... +................#......................#........................................................................#........................... +............................................................................................................................................ +.......#..............#............#............................#......#................#.....................................#............. +............................................#........#.........................................#............................................ +..............................#..............................................................................#.......................#...... +............................................................................................................................................ +....................#............................................................#..............................................#........... +......................................#..............................................................#...................................#.. +..........#.....................#.......................................#..............#.................................................... +............................................................................................................................................ +....#.....................#..................#......#.......#.................#...........................................#................. +....................................#.........................................................#....................#.............#.......... +....................................................................................................#....................................... +.................................................................#........................................#................................. +..................#...................................................................................................#..................... +.........................................................................#......................#........................................... +#......................................................#...........................#............................#.........#................. +...........................#............#..........................................................................................#........ +..................................................................#......................#.................................................. +................#................................#...........................#.............................................................. +........#.....................................................................................................................#............. +...................................#........................................................................................................ +.......................#.....#................................................................................#............................. +.#...........#...........................................#.................#....................#........................................... +..........................................................................................#............#................#................... +..........................#..........#...................................................................................................... +.....#...............................................................................#.....................#.....................#.......... +............................................................................................................................................ +..........#............#................................#.....................#..................................#.......................... +...............#...................#.........................#....................................#..................................#...... +............................................................................................................................................ +...........................................................................................................................................# +...#.....................................................................................................#.................................. +......................#.............................#..........................#..............................#............................. +..........................................#...................#..........#..........................#...............#....................... +..............................#.....................................................................................................#....... +.........................................................#................................#................................................. +...............................................#............................................................................................ +..........#...........................#..............#..........................#.........................#...................#............. +#.....................................................................................#..................................................... +.....#............................................................#..........................#.................#............................ +...........................#.......#..............#.................................................................#....................... +.......................................................................................................#.................................... +........#..........#.....................#..................#......................#......................................#...............#. +.............#.........................................................#.................................................................... +................................................................#........................................................................... +.....#.................#.................................................................#......................#.....#..........#.......... +................................#......#.............#.........................................#.....#...................................... +...........................................................................#.........................................................#...... +..........#................#................................................................................................................ +.................................................#..............................#..........................................#................ +.....................................................................................#.................#.........#.......................... +.......................................................................#....................................#............................#.. +...............#......#....................................#................................................................................ +.........#...............................#..........#..........................................................................#............ +...............................................................#.................#.........#.....#......................#................... +............................#.....#......................................................................................................... +......#..........................................#.......#...........................................................................#...... +..............#...................................................#........................................#......#......................... +.............................................................................#.............................................................. +.....................................#................................#................................................#.................... +..........#..................#..............................#.............................#................................................. +....#.....................................................................#......#............................................#............. +......................#.................................#..............................................#.................................... +.............#.............................................................................................................................. +..........................................#......#...............................................#..........#............................... +.........................#......#.......................................................#...............................................#... +...........................................................#.................................#...................#.......................... +...#...............#..................#..............#....................#...........................................#..................... +.....................................................................#...........#..........................................#......#........ +..............................#...............#.................................................#......#.................................... +........#.....#............................................................................................................................. +#........................................................#.............................#.......................................#.......#.... +....................#..................................................#.................................................................... +..........................................#......................#.......................................................................... +.........................#...........................#.............................................#............#.........#................. +.....................................................................................................................#..............#....... +..........#...................................#............................................................#..................#............. +.....#..........#...................#........................................#.............................................................. +.....................................................................#.........................#.......#.................................... +......................#......#.............................................................................................................. +.#......#................................................................................................................................... +.................................#....................................................#...........#......................#...............#.. +.................#..................................#.........#.........#...........................................................#....... +..............................................#..................................#.......................................................... +...........................#..........................................................................#.........#........................... +..........................................#................................................................................................. +.....................................#...........#..................#.........................................................#............. +..................#....................................#.............................#...........#........#.............#................... \ No newline at end of file diff --git a/aoc2023/src/day13/input.txt b/aoc2023/src/day13/input.txt new file mode 100644 index 0000000..3113249 --- /dev/null +++ b/aoc2023/src/day13/input.txt @@ -0,0 +1,1379 @@ +##..#..#......# +.........#..#.. +.####.#.######. +#....#.###..### +..##..#.#.##.#. +######...#..#.. +#.##.#.#.#..#.# +#....#..######. +.#..#...#.##.#. +#....#....##... +.#..#.#..####.. +......#.######. +##..##.#.####.# + +.#...##.. +..##.#.## +.#.###... +###..#.## +##.#.#### +..#.#..## +.###...## +.#...#.## +#####.#.. +...#..### +###.##.## +####...## +####..### +###.##.## +...#..### + +#####...####.#. +##..###..#..#.# +...#.###.....#. +...#.###.....#. +##..###..#..#.# +#####...####.#. +##....####..... +#..##.....#..#. +#..##.....#..#. +##....####..... +#####...######. +##..###..#..#.# +...#.###.....#. + +#..##...# +#..#..### +#..#..### +#..##...# +.##..#.#. +.....###. +#..#.##.# +...#..### +.##.#..## +.##.#.#.# +#####.#.. + +######.#.#.#... +.#..#.#.##...#. +...#....#.#.#.. +#.##.#.#.....#. +.......##.#.### +#######.##.#..# +......##...##.. +#.##.#....#.#.. +#.##.#....#.#.. + +#...#..##.. +.##..###### +....###..## +.#..#..##.. +.####.####. +###.##....# +.#..##...## +###.#..##.. +#.#.#...... +.####...... +....#.####. +..##..#..#. +..#.#.####. +..#.#.####. +..##..#..#. + +#...#.#.##.#.#... +###.#..#..#..#.## +#...##.####.##... +#.....#.##.#..... +...#####..#####.. +##..#.######.#..# +###.##.#..#.##.## +...#..#.##.#..#.. +....#........#... +#..##.#.##.#.##.. +#................ + +...##.###.# +...##.###.# +##..#....#. +##.....#.## +#.##..#.#.# +..##...#.#. +...#####..# + +.##.##.#.##.. +#..#.#.#..... +####.###..#.# +####.####.### +#..#.#####.## +#..#.#....### +#..#.#....### +#..#.#####.## +####.####.### +####..##..#.# +#..#.#.#..... +.##.##.#.##.. +.....##.#.#.. +####..#.#.##. +#####.#...### +#####.#...#.. +#..#...####.# + +#..#.#...#...##.. +...#...#..#..##.. +#..####.#.#.####. +..#####..#.##..## +..#...####.##...# +.#.#########....# +.#.#########....# + +#..#...#.#.#...#. +#.####...###.#.#. +#.....##...##.#.# +##.##....#....#.. +#.....##....#.... +..##.##.#...#..#. +..##.##.#...#..#. +#.....##....#.... +##.##....#....#.. +#.....##...##.#.# +#.####...###.#.#. +#..#...#.###...#. +......#.#..##.... +......#.#..##.... +#..#...#.###...#. +#.####...###.#.#. +#.....##...##.#.# + +....#.. +#.##... +#.###.. +#...##. +.##..## +.##..## +#...##. +#.###.. +#.##... + +##.##.#.. +..#..#..# +...#####. +..#....## +##.##.##. +##.##.##. +..#...### +...#####. +..#..#..# + +...####.....##### +.#......#.####..# +.#########.##.... +####..#####.##### +..######..#...##. +#.##..##.#....##. +....##....##..... +#........#.#..... +....##.....#..... +...#..#.......##. +#.######.##...... +.##....##.###.##. +...####...#..#..# + +.#...###..###...# +##..##.#....##..# +.#.#.########.#.# +.######.##.###### +.##.#...##...#.## +.#...########...# +.#.#...#..#...#.# +#..#....##....#.. +#..####.##.####.. +#.##..##..##..##. +..#...#.##.#...#. +#..#..........#.. +#..#..........#.. + +....#..###....# +#..#..#..#....# +#..##.....####. +.##..#..#..##.. +####.###..####. +###.#.##.#.##.# +.##..#..##....# +#####.###..##.. +####..#...#..#. +#..#....#..##.. +#..####..##..## +......#.##.##.# +.##...######### +.........#.##.# +.##..######..## +#..####..#....# +.##.####..#..#. + +#..#.##...#.##. +###.##.##.#...# +##.########.#.# +.#.#.##.#...### +.#.#....####... +.#.#....####... +.#.#.##.#...### +##.########.#.# +###.#..##.#...# +#..#.##...#.##. +#..#.##...#.##. + +.##..####..##.. +####..##..##### +.#.#.####.#.#.. +..##..##..##... +#....#####...## +####.#..#.##### +##..........### +#.#.#....#.#.## +#...##..##...## +.##.##..##.##.. +..##..##..##... +....#.##.#..... +###.######.#### + +########..#.##.#. +######..######.## +#.##.#.#.###.###. +#....#.#.####.### +#....##..#..###.. +......##.##..###. +..##..#..#.###..# +..##..#.#.##...#. +##..######..##..# +##..######...#..# +..##..#.#.##...#. +..##..#..#.###..# +......##.##..###. +#....##..#..###.. +#....#.#.####.### +#.##.#.#.###.###. +######..######.## + +#.####..##..# +#.#.#........ +.#.###...#..# +#...#..##.... +...#.#.###..# +#..####.#.... +#####.#..#..# +.##..####.... +.....#...#..# +##.#...#.#### +.....###..... +###..##.#.... +.#..##.#.#### +#...#..#..##. +##...#....... +.#...#....... +#...#..#..##. + +...#..##. +..#.#.#.# +######.## +#####.### +..####... +######..# +######..# +..####... +#####.### +######.## +..#.#.#.# +...#..##. +#..###.## +####..##. +...#.#..# +...###.#. +..##.##.# + +.####.....#.# +........#.### +##..##...##.# +..##...####.. +..##...####.. +##..##...##.# +........#.### +.####.....#.# +######.##.#.. +.#..#.####.#. +##..####.##.# +#.##.##..#... +##..########. +##..##.##.#.# +.####....#.#. +.....#.#.#.#. +.#..#....#.## + +#..########..## +#............## +#.##########.## +.#.#.####.#.#.. +##.#......#.### +.#.###..#.#.#.. +###.######.#### +#.##.####.##.## +##.##....##.### +#.#.#.##.#.#.## +#.##......##.## + +.#......#..####.# +#.#.#####.#.###.. +##..##.#..#...##. +.##.#..###...#..# +.##.#..###...#..# +##..##.#..#...##. +#.#.#####.#.###.. +.#......#..####.# +#..##.#.##..#.#.. +#..##.#.##..#.#.. +.#.....##..####.# +#.#.#####.#.###.. +##..##.#..#...##. + +.#....#......#. +..#.##.######.# +...#.#..#..#..# +##..#.###..#.#. +##............. +##..#.########. +..#.##..####..# +..#.##..####..# +##..#.########. +##............. +##..#.###..#.#. + +####.## +###..## +#.##### +##..#.. +#...... +####.## +#.#.... +..###.. +..##### +#.#.... +####.## +#...... +##..#.. +#.##### +###..## +####.## +#####.. + +###.##..... +##.##..#..# +##.##.....# +###.##..... +#####...#.. +..######### +########.## +##.###...## +..#..#..#.# +..##...##.. +...####.#.# + +#.##...#....# +##....##....# +##..##..#..#. +##..##..#..#. +##.....#....# +#.##...#....# +.##.....####. +#####..#.##.# +#.####.#.##.# +.#.##.#.#..#. +#...#.#..##.. +###..##.####. +.#####....... + +#..##.# +#.###.. +#.###.. +#..##.# +.##.##. +...#... +#..###. +#..##.. +#..#..# +#..#..# +#..##.. +#..###. +.#.#... + +.###.## +.##.### +##..... +##..#.. +.##.### +.###.## +#...### + +..##..#.##. +.#..#.....# +.#..#.##.#. +######.#### +..##....... +..##....... +######.#### +.#..#.##.#. +.#..#.....# +..##..#.##. +#........#. +########..# +##..##..##. + +..######.....#... +...........##.##. +.#.####.#....#### +.#..##..#.####..# +####..#####...... +###########.#.##. +.#..##..#..###..# +###.##.###...#### +#..####..##.##### + +###.#####..##.. +...........##.. +.#.##...#..##.. +.#...##.##....# +.....#.###.##.# +..#####..#....# +##..###..##..## +####.##...#..#. +.#.##..##.#..#. +.####...##.##.# +...#.##..###### +..#..##..###### +..#..###..####. +..#..###..####. +..#..##..###### +.#.#.##..###### +.####...##.##.# + +..##.##..#..... +..##.##..#..... +.##...##.##...# +.....##..##.##. +#####.####..##. +.#......#.##..# +....##..###.##. + +#..#### +##.##.. +..#.#.. +..#.#.# +..#...# +.....#. +.#.#... +.#.#... +.....#. +..#...# +..#.#.# + +#.###.# +#####.# +.##..#. +.##..#. +#####.# +#.###.# +...#### +.#.##.# +......# + +#.##..##.####.# +..######..##..# +###....###..### +...####...##... +#........####.. +###.######..### +##.####.##..##. +##..##..######. +.#......#.##.#. +#.#....#.####.# +##......######. +..#....#..##..# +###.##.######## +.#......#.##.#. +.#......#....#. + +.##........#. +...#.##.##..# +.#..###..#### +...#.....#### +.#....##..### +#..#...#.#... +#.#...#.##.#. +#.#...#.##.#. +#..#...#.#... +##....##..### +...#.....#### +.#..###..#### +...#.##.##..# +.##........#. +.##........#. +...#.##.##..# +.#..###..#### + +....##....### +.########.... +##.#..#..#### +#...##...##.. +#........#.## +###.##.####.. +..##..##..### +..#....#..... +#..####..#### +##.####.##.## +##..##..##.## + +########.#.#.##.# +###..####.##....# +##....##...##..## +#......#.######## +#.####.##.##.##.# +#......##.#.#.... +#......##....##.. +.######.##....... +##....####.#.##.# +#..##..#.###....# +...##...#....##.. +.######....###### +##.##.##.#...##.. +#..##..#.#.##..## +.#....#.##...##.. + +###.#...####...#. +#..#.##..##..##.# +.##...##....##... +#####......#...## +#####......#...## +.##...##....##... +#..#.##..##..##.# + +####..#.##.#. +.#..##.####.# +#..#.#.####.# +#..#.#.####.# +.#..##.####.# +####..#.##.#. +.###.#.####.# +##....#...... +####.#..##..# +##..#...##... +...##.#....#. +##.########## +###.####..### + +#..######..#... +.###....###..## +.#.####.#.#..## +.###.##.###..## +..###..###..### +.#...##...#..## +###.#..#.###... +#.#.#..#.#.##.. +#..######..##.. +...#.##.#...### +..#......#..... + +......##.#. +##.#..#.... +##.#..#.... +......##.#. +#.#.#.##.#. +..#.#.###.# +#####..##.. +##.###.#..# +..#.##...#. + +##......###.### +##......###.### +#.##..##.##..#. +.##....##.###.# +..........#.#.# +..######...#..# +##.####.##...#. +..#....#..##..# +.###..###..##.# +.#......#.##.#. +.#......#.##..# +.#.####.#..#..# +###.##.######.. +##..##..#.#.... +.##.##.##...##. + +.#....#.#..#. +...##....##.. +##.##.##....# +#.#..#.#.##.# +.######..##.. +###..####..## +##.##.###..## +..#..#..#..#. +.#.####.#..#. +.#....#...... +#..##..##..## +.#....#..##.. +###..###....# + +##.##.##.###....# +.######.####....# +#......##.##.#..# +..#..#..##.##..## +.#....#..#.#.##.# +#..##..#..####### +..#..#...##.#..#. +...##.....####### +#.####.#.#.##..## +##....#######..## +.######..##.#..#. +.##..##..#..#..#. +###..####...#..#. +.#.##.#..#.#....# +.######.#.###..## +.........####..## +##.##.##......... + +....##.##.#.#..## +####.##.###.####. +#..##..#.####..## +.##....##.#.##.## +#..#...#.#.##.... +.##......##..#.## +#..#.##...#.#.#.. + +....##.## +....##.## +....#.... +..###.#.. +##.#.#### +....#.#.. +..#...... +###....#. +#...#.#.# + +.....##...###.#.# +.##.#.##.....#... +.##.#.##.....#... +.....##...###.#.# +#.######...###... +..#.#....#.##.#.# +##########.#..#.# +..#..#....###..#. +...##.#.##..###.. +#####.#.......##. +..#..#.#.#...##.# +..#..#.#.#...##.# +#####.#...#...##. +...##.#.##..###.. +..#..#....###..#. + +.#.##.#.....#.... +#.#..#.#.#.##.#.# +###..####......## +#.####.#..#..#..# +..#..#..###..###. +..####.....##.... +##....####....### + +##..#.##......# +..#.##.#.##.### +#..#......#.### +.##.##.#.....#. +#.#..##.##.##.# +#.#..##.##.##.# +.##.##.#.....#. +#..#......#.### +#.#.##.#.##.### +##..#.##......# +#....###.##.#.. +#....###.##.#.. +##..#.##......# +#.#.##.#.##.### +#..#......#.### + +..##.#...#.## +.#.##.#..#... +#..##..##..## +#......###... +...........## +.#.##.#.###.. +#.#..#.###... +.#.##.#.##.## +##....##.#### +.#.##.#....## +##.##.##..#.. +#.####.#.#### +#.####.#.#.## +.#....#.##.## +..#..#..##.## +#..##..##.... +#......#.#.## + +..#..###..... +.##.#.#...#.# +..######.#.#. +...#####.#.#. +.##.#.#...#.# +..#..###..... +#..#######... +.#..#.#...... +..####.#..#.. +...#..##.#### +.####.......# +#...#.##..#.# +...####.##.## +...####.##.## +#...#.##..#.# + +...###. +.#..### +.#..### +...###. +..#.#.. +.###..# +..#.#.# +.#.#.#. +.###..# +.###..# +.#.#.#. +#.#.#.# +.###..# +..#.#.. +...###. + +..######..... +##########..# +...####...... +#.######.#..# +#..#..#..#..# +#.##.###.#..# +##..##..##..# +##.####.##..# +##.####.##### +#.#.##.#.#..# +.#..##..#.##. +#...##...#### +..######..... +##.####.##..# +..........##. + +##.##.###.#...... +#..##..#.#..####. +#......###.#....# +#########.##....# +...##.....####### +#..##..#..#...... +#......####.#..#. +#..##..#..#...... +.##..##.#..#.##.# +..#..#...#.##..## +...##....#####.## +##########.#....# +##.##.#####..##.. +#.####.######..## +###..#######.##.# +#......#..#.#..#. +..#..#......####. + +.#..##.##..###. +.#.###.##..###. +#...#...#####.. +...##.####...## +....#.#####.#.# +##.#..#.###.#.. +.#.##.####..##. +##.#...##.##.#. +....######.#### +....#.#.##..### +..##...#......# +#####...####.## +#####...####.## +..##...#......# +....#.#.##..### +....######.#### +##.#...##.##.#. + +#..##.### +.##.....# +.##.##..# +###..#### +#####.#.# +......#.# +#..##.#.. +#..##.#.. +......#.# +#####.#.# +###..#### +.##.##..# +.##.....# +#..##.### +#..###### + +..#.#.#..#.#. +..#.#.#..#.#. +#...#.#..#.#. +.###.#..#..#. +.#.#..#.#.#.. +#.....#...### +##.##.#####.. +##.##.#####.. +#.....#...### +.#.##.#.#.#.. +.###.#..#..#. + +####...#.#. +####...#.#. +#..#..#..## +.....#..### +#..#.#..### +.........#. +.....###.## +######.#... +#..##.###.# +.........#. +..#..#.#.#. +#######.##. +####.#..#.# + +#..###. +#..###. +.....## +##.#... +#.#.#.. +.###.#. +#.##.## +##..##. +..###.# +...###. +.#.###. + +############...## +##..####..##.#... +##..####..##.##.. +.####..####..#.## +..##....##..##.#. +.####..####.#..#. +..............##. +#..........#.##.# +##############.#. +.#..#..#..#.#.#.# +............#.#.# +..##....##..###.. +#....##....#.###. +##############.## +.#..#..#..#.#...# + +.##......#.#### +....###..###.## +.....######.... +....#..##.##... +######....#.### +#..###.##....#. +########.#.###. +#..#####.#..### +.##..#...####.. +.##....##..#### +#...##.##.###.. +.##...#..###### +#..#.#.#.#.#... +.##...#..#....# +.##...#..#....# + +##.#.##.#.### +.#.##..##.#.# +#.#..##..#.#. +###.#..#####. +#.#.#..#.#.#. +##.######.### +#.##....##.#. +#.##....##.#. +##.######.### + +###..#####.## +###..#####.## +.....###..### +...##..###... +##.#.##.##.## +..##.....#.## +#.###........ +#...##...##.# +#.####.##.#.. +#.#..###.#### +.#.#.#####... +#.##.##.##... +####...####.. +#####....#### +.#.##.##.#... +.##.##..##... +.#.#...##.#.. + +.###..### +.#.#....# +.#..##..# +.#......# +...#..#.. +##..##..# +####..### +##.#..#.# +#.##..##. +#.##..##. +##.#..#.# +####..### +##..##..# + +###...#.... +...##.#.#.# +..######### +..##....#.# +..#######.# +..#....##.. +..#....###. +..#######.# +..##....#.# + +####......#...### +#.#..#..##..#..#. +##.##..####..##.# +..###...##...###. +.######....###### +..#####....#####. +#.###...##...###. +.#......##......# +...#..######..#.. +...#..######..#.. +.#......##......# + +...#..#.### +##.####.... +...##..#### +###...#.... +..#..#...## +##..#.##... +...##...##. +.......#### +####..###.# +.....#.#..# +##....#.... +#######.### +##.####.### + +#.#..#... +..##..#.. +..##..#.. +#.#..#... +.####.... +##..#.### +...##.... +...#...## +..#..#### +.#.##...# +....#.... + +..#####.....##. +#.##..#....##.. +........####..# +......#.###..## +....###....##.# +....###....##.# +......#.###..## +........####..# +#.##..#....##.. +..#####.....##. +.##.#..#.#.#.## +.##.#....#.#.## +..#####.....##. + +.#.#.#.## +.#.###.## +.##...#.. +##.##.##. +##.#..#.. +..#..#.#. +##.#.#.## +##.#.#.## +..#..#.#. + +..#.##### +##...#..# +##.###..# +######..# +##...#..# +..#.##### +.#.#..... +#.....##. +...#.#### +####.#### +##....... +#..#.#..# +...##.##. +#.#.##..# +###...... +....##### +..##..##. + +...##...# +...###### +...##.... +###..#.## +##.#.#.## +.#...#.#. +..#.#.### +.....##.. +###.#.... +##.#.#.#. +##.#.#.#. + +....#.....#.. +#..##.#....#. +##........... +..##.##...##. +.###..#..###. +##.########.# +##..###....## +###.##..#.##. +###.##..#.##. +##..###....## +##.########.# +.###.....###. +..##.##...##. +##........... +#..##.#....#. +....#.....#.. +....#.....#.. + +..##.#.#. +#####.#.. +#...####. +##.###... +##....#.# +##.#.#... +...#####. +##..#...# +.....###. +###..##.# +###.#.### +###.#.### +###..##.# + +..#.### +.....#. +..#...# +..#..## +####.## +###.#.# +###.#.. +####.## +..#..## +..#...# +.....#. + +.###.#.#.##.#.. +#.####..##..#.# +#.####..##..#.# +.###.#.#.#..#.. +....#...#..##.# +..####.##.#...# +##..#.#..#..##. +###..#...#..... +###..#...#..... + +#...#.....##. +#.###.#..#### +..###.######. +.#..####..##. +.#..####..##. +..###.######. +#.###.#..#### +#.........##. +.##.##.###... +#.##..#####.. +##..######..# +###.#...#.... +.#.#.######## +###......###. +....######.#. +.###.##.##.#. +.###.##.##.#. + +#..#..#....#..# +..###.#.##.#.## +##.###......### +##...########.. +.....#......... +#...###....###. +#...###....###. + +.#..#....#..#.. +#....#..#####.. +.####.###..##.. +#....#####.##.. +..##.......#.## +.......#.##..## +##..###..###... +.###....#.#.#.. +.#..#...##..... +#....#..##.#### +##..###.####.## +..##..#...#.#.. +.........#..### + +.####.. +#...#.# +..##..# +#..###. +#..###. +#.##..# +#...#.# +.####.. +..##.## +..##... +#....#. +#.#..#. +#.#..#. + +#####...#..## +#.###...#..## +.#####.#.#... +.##.##..##### +....##.###... +..#.#.###.### +.##....##..## +##..#.###.### +##...###.#... +.#.##.#.#..## +.#.#...#.#### +#....#...#... +...##..##..## + +.....#.#..... +....##....... +#..#.#.##.... +#####.##..... +#....####.##. +#..####...##. +#..###.#..##. +....##..##### +#####.###.... +....#.###.... +####.#...#..# +#######...... +....#.##.#### +.##....#.#..# +....###.##..# + +##.####......##.# +....#.###.#...##. +....#.###.#...##. +##.####......##.# +.##..#.##...#.### +.#.#.#...#...#... +#.##.#..##.#.#.#. +#.##.#.###.#.#.#. +.#.#.#...#...#... + +#####..####..#### +...###..##..###.. +..##..........##. +##.#..##..##..#.# +##....#.##.#....# +##.#.#..###.#.#.# +..#.###....###.#. +..##..........##. +..###...##...###. +....#.##..##.#... +.....#......#.... + +.####..#..#..## +..##...#..#.... +......###...### +......##.##..#. +#....#.#.#.#... +######.###...## +.####.#.#..##.# +.......#.#..#.. +.......#.#..#.. +.####.#.#..##.# +######.###...## +#....#.#.#.#... +......##.##.##. + +#.#..##.#.#.. +.#..##..#..## +.#..##..#..## +#.#..##.#.#.. +..#..#...#.#. +.#...#.#.###. +#.#####.#.##. +#...#...#.#.. +#...#...#.#.. +#.#####.#.##. +.#...#.#.###. +..#..#...#.#. +#.#..##.#.##. + +#..##......##..#. +#..##......##..#. +.#.#.#.##.#.#.#.# +#..#.######.#..## +.#..##.##.##..#.# +#...#..##..#...#. +#.############.#. +#..##.#..#.##..## +#..###....###..## +##.#...##..##.### +.##.##....##.##.. + +..###.#.##.#.###. +.##.##..##..##.## +.##.##..##..##.## +..###.#.##.#.###. +.##..#.####.#..## +###.##..##..##.## +###.#.#.##.#.#.## +.#..............# +#...###.##.###.#. +###...#....#...## +.##..#..##..#..## +..#..##....##..#. +..#.#.######.#.#. +###..##.##.##..## +..#..#.#..#.#..#. + +###.##.## +##..##..# +#.######. +#.######. +##..##..# +###.##.## +.###..### +#.#....#. +..#.##.## + +....#.##..# +......#.##. +#.####.#..# +#.####.#..# +......#.##. +....#.##..# +.#.##.#..#. +.##..##.... +#....##.##. + +.##...##.#. +.#.##...##. +#..#####.## +#..#####.## +.#.##...##. +.##...##.#. +.#..###...# +###.##.##.# +#...##.#.## +#...##.#.## +.##.##.##.# +.#..###...# +.##...##.#. + +.##...##. +.##...##. +##..###.# +##.#.#..# +.....#... +#..#.##.# +........# +..##.###. +..##.###. +........# +#..#.##.# +.#...#... +##.#.#..# +##..###.# +.##...##. + +####..#..##.##.## +....#.##......... +....#...#.######. +.....##..##....## +.....####........ +####..#...##..##. +....###.##.#..#.# +#####.....##..##. +.##.....#...##... +.##.##.#..######. +#..#####..#.##.#. +#..######.##..##. +..#.#.#.#.######. +.##...#..##.##.## +####..####.####.# + +#...#.# +#..#.## +##..### +##..##. +#..#.## +#...#.# +.#....# +#..##.# +...#.#. +###...# +##..### +.#####. +.#####. +##..### +###...# + +##.##..##.##.#..# +.##..##..#..##..# +#############...# +....#..#........# +#..##..##..#.##.. +#..#....#..###### +#....##....###.## +###.####.#####..# +.#..####..#.#.### +##..#..#..###..#. +..##.##.##...##.# +.##..##..##.....# +...............#. +...............#. +.##..##..##.....# +..##.##.##...##.# +##..#..#..###..#. + +#.####### +##.#...## +#..##..## +#..#.##.. +##.##..## +###.##### +###.##### +##.##..## +#..#.##.. +#..##..## +##.#...## +#.####### +..#.#.#.. +#...#.##. +.#.#..#.. +.#.##..## +#.#..#### + +.......#.#...#### +....#..#....#.##. +..##...#...###### +##.#....#.##.#### +##..##...#####..# +.##...#####.##### +.####..##.#...##. +#..#..#####..#..# +#..#..#####..#..# +.####..##.#...##. +.##...#####.##### +##..###..#####..# +##.#....#.##.#### +..##...#...###### +....#..#....#.##. \ No newline at end of file diff --git a/aoc2023/src/day15/input.txt b/aoc2023/src/day15/input.txt new file mode 100644 index 0000000..86b345f --- /dev/null +++ b/aoc2023/src/day15/input.txt @@ -0,0 +1 @@ +fnln-,bkxf-,spfc=9,ds-,trzx-,dtck-,xs-,bg=4,fgmpc=5,xmxf=1,cl=9,md-,ct=2,ftz=5,xhd-,vkqx-,hxd=6,mlcn=6,ctdbt=6,txpsv-,nkx=3,jfz-,fzm=3,rvcd=4,nfgp=3,jjd=7,nzq=6,zv=5,lh-,nfgp-,gcbtgm=7,zj=6,sxlh=3,vsj=8,cjb-,tslfp=5,vc-,kpn=7,qpm=5,jgmnxd-,xp-,kmm-,xb=4,tv-,bmnlf=7,cb-,vbmk=5,dvz-,ssd=6,sb-,mldgtn-,mtx-,kz-,nzq-,dnkf-,sn-,js-,bpq-,vc-,fzm=9,xqv-,gqsr=2,jzxp=5,bc-,lxg=5,sv-,gflrmd=9,ncjb-,fm=9,lln=1,ql=9,tj=2,pbmldc-,fkzq=7,vkh=3,tn=4,fdl-,frgf=1,vf-,fpg=4,xzt-,jf-,pjfk=5,rvcd-,rv=6,zrs-,qnd=1,vqzhc-,xrb=8,lvx-,dfz-,xstdx=6,sf=4,hsb=3,sqjgc-,xtl=7,zthrd=8,mldgtn-,rc-,kpz-,tpnmp=6,bzj=7,gmrrx-,bszd-,mjz-,bzj=8,ztk=9,dtv-,qgm=4,ssd=3,xc=8,hvglb-,xf-,qhvz-,vqc-,ktj=1,ppq-,zxt-,rnsbt-,qpx-,nj-,vhl-,rknz-,zngsp-,vhl-,fjh-,vrzjf=7,gkn=6,tfd=4,bgg=1,fgmpc=9,lpd-,pbmldc=4,jm=2,vlv=4,shn-,vps=8,ljsvc-,rfdrk=3,vkqx=7,gftx=9,nzq-,cq=1,ckb=6,zsx-,qpf-,cggz-,bzj=9,lfg=6,tfd-,xdfz=8,ghbr-,dsdm=8,nj=4,jf-,fnln=7,fzm=7,fkzq=7,xcq=8,fkzq-,dm-,bfz=2,lqf=4,sfp-,kpqvtc=2,fkzq-,vth-,zn-,xhs-,vsj-,psfnx=4,xbx=1,xgk=9,snpgsm-,psg=3,shn=6,qxkrd-,pxvxlh-,xbx-,gt-,ksn-,dzn=7,gp=7,mp=8,jtz=3,ph=2,jxj=8,pg=5,txkh=6,drls=6,zthrd=9,gqsr-,dtv-,mktlhp=9,bszd=5,snpgsm=5,qz=6,sh=6,lqt-,mktlhp-,mgt-,mvmqfm=5,bc-,lpd=6,zn=3,nhsvv=3,vdf-,znjg-,phsl=7,tnb=4,qlf=9,txpsv-,pxvxlh=6,lqfv=7,lffv=5,djmlb=7,pxn-,hdxvhr=8,vbz=1,vqc=1,xrb-,bj=1,bzpv=5,tdl-,xc=2,cnr-,ss=6,mf=2,sv=2,mp-,zpc-,rqg-,xtsd-,hlg=6,xdfz=9,nl-,kfp-,cr-,qxkrd-,vpxv=9,mtx=1,drls=9,jzxp-,xqfrg-,js=3,ql=8,xp-,kpz=8,zj=9,jxj-,gf-,gcbtgm-,cmpc=4,tr=4,px=6,pvv=9,tpnmp-,jhhqj=5,mmn=3,qpf=5,vnk=9,cnn-,xgr-,mmsz=4,lvs-,cv=3,cq-,bfz=8,ct=7,kr=6,gk-,zdtz=1,vqzhc=3,xzt-,vqt=4,dphx-,kmr-,fkzq-,lk=8,dvz=6,ghbr=6,hm=6,zm-,sn-,jgmnxd-,vkz-,ps-,vpxv-,gpg=4,bmnlf=9,pjfk=3,ndmt=7,zk-,zthrd=5,fgmpc=8,rgh=7,bx-,ctp=2,nl=7,rtj=6,grlkl=9,zf=8,lg=4,zngsp-,rsn=5,drls=9,lxmkfx=7,sbt-,bx-,lln-,dm=6,fnv-,qpf-,tq-,qv=9,cfnbp-,pxvxlh-,tr-,nh-,clg-,xjpbxm-,zs-,trzx=8,bgh-,cmbv=1,vq=6,lcr=9,scbjp-,sjb=2,gmrrx=6,mg=5,znjg=4,zn=9,grlkl=7,xmxf-,smtd-,vkh-,spsx=9,qpf-,bgg-,smtd-,ntg=6,qpf-,vtp-,nlcrm=8,cvc-,frgf=8,blfx-,vbz-,tcs-,bqpp-,fjh=5,rtj=5,vr=6,kjrc=1,nzq-,qpf-,vqc-,kmr-,hj=8,fnh-,scbpb-,gxg=9,kf=6,xhs-,zdl=9,sscn=9,dzt-,rl=9,gr=6,tv-,jmthd=9,gn-,bzj=4,pv=9,pcnzf-,jxj-,sxlh-,lxg=3,rpn-,vr=9,rl-,tslfp=5,pgd=2,xmxf-,mjz=9,drls-,hrbj=7,rr-,lxg-,grlkl=3,jsv=1,sr=6,dv-,scbjp=1,pkg-,mgt=9,hsb=3,ccs-,xdfz-,cqq-,nbtq=2,ljsvc-,rpn=8,msbfzl=5,kz=7,cnr=4,hz-,ctf-,tgqp=9,tfd-,sqd=7,rb-,qf-,srp-,fkzq-,pfjml=6,rnsbt-,dmp-,zngsp-,cfnbp-,kpqvtc-,gftx-,lvs-,zpc-,kpz=2,pxvxlh-,spm-,rt-,ftz-,lvs=2,zsx=2,sjb=4,lxmkfx=7,bqpp-,hb=7,xzl-,ckb=7,hsb-,cvc-,ksn=7,mktlhp=5,jhl=6,snpgsm-,mm-,xstdx=2,rm-,rqx-,ld=4,zv=6,fx-,sbx=2,blfx=8,fmkjj-,km-,cmbv=8,vz=9,lg=4,fpg=4,kpfr-,dmp=4,xxj-,jhl=2,km-,vx-,sh=8,xqv=3,kfp=3,zdm=3,tdl-,ddxn-,gzrz=9,xqv=8,kqh=2,rlrlql-,lpd=1,vr=1,ggm-,dkz=3,jx=2,trzx-,sjb-,rh=8,dbsf=4,jhhqj=8,jzxp-,bkxf-,thnmq=7,mktlhp-,jtz=7,sh-,plt-,rfdrk-,hj=4,dk-,zjvd=9,jsv-,vkn-,jc-,zk-,mmsz-,lcr-,dkz-,px-,pcnzf-,jtz-,pzd-,kqh-,ts-,znb-,dzn-,qgm-,drls=9,bmnlf=3,thnmq-,bpq-,zxt=9,lg=6,rknz=8,bzj-,vsh-,lq-,rm-,ql-,cs=1,dzt-,hfrdk=4,kmm=9,lhks=9,jsv=5,zxt=9,kc=4,rm=8,hvglb-,bzpv-,drs=1,tgqp-,trg=4,dp-,zmlr-,pvv-,lfg=2,rqg-,nh=5,mkj=5,cct=1,lxmkfx-,txpx=2,vps=5,dzn=3,dph-,kv=1,vth=6,gftx-,lztd=3,hb=8,qpx=2,fjg-,plp-,vnhfc=3,zv-,xt=1,bgkjq-,pbk=9,hj-,sv-,kpz=5,fnh-,zpc=3,zj=8,pxvxlh-,qgm=6,gct=5,tdl=5,xtl=2,lg=7,trzx=9,hvglb=3,ss=6,vpxv-,gh-,js=1,jf=1,rqx-,pg-,nqcj-,zzx-,mf-,zlcmgc=3,lxg=8,rpgj-,vhl=6,phsl=8,dtck-,rxv=2,qpf=7,nh-,ccs-,mf=3,xrm=4,pljg=1,rnsbt=5,nnn=2,snpgsm=5,qxkrd=5,xgk-,trg-,phsl-,bzj=5,ckb=4,cqbvs=5,xgk=8,ck=7,dbffb-,tj=2,dm-,fjg-,zdm=8,jc=9,rqg=3,qhvz-,cmpc-,dzn=4,xrb=2,kfp=2,vbz-,xhs-,dnkf=3,chpn-,sl-,kftx=5,rsn=5,ps=9,jm-,pbk-,vq-,qpf=4,rfdrk-,rsn=9,nqcj=7,vsh=7,npm=7,qxkrd-,hpl=1,rnsbt-,pxn-,zsx-,lpd=5,fgmpc-,vkqx-,vth-,pm-,mgt=5,cct=3,bb-,hzlzn=2,gkn-,mjz-,kx=8,qcnnzx-,kmr=7,lfl-,jhhqj-,lqfv-,gkn=5,pfjml-,lhks=4,bzj-,tnp-,nj=1,xhs-,rtj=9,rlrlql-,qcm=3,mph-,fx-,jm-,xtl-,xdfz-,msbfzl-,ckb=7,hj-,cqr=5,scbpb=2,tslfp=1,kmm-,cv=4,zpc-,qfb-,rlrlql-,trzx-,sf-,ccs-,fsz=2,dv=8,thncf=4,bmnlf-,qgm=8,plvd-,dm-,pjfk=4,gr=6,qv=7,khx=3,vs=7,dtck=9,xbx-,xstdx=8,km=6,hgp-,kf-,xf=1,vnhfc=6,xgr=1,pbk-,sl=2,jmthd=8,sbt=6,mkj=8,vnk=3,bgkjq=8,bg=2,xbx=6,mmsz-,rnxt=1,shn-,ss=3,kpqvtc-,dfz-,qxj=9,mktlhp=4,jzxp=1,hm-,vx-,bzj=1,vnhfc-,vrc=7,bgkjq=8,gp-,vq-,lh-,tnfx=4,ntg-,dd=5,znb-,vtp=4,vgln-,hz=1,lk=1,mktlhp-,vz=3,vpk-,bbsk=4,qlf=1,hgp=5,xjpbxm-,qcm=8,tz=4,lqf=2,bz=3,jfjbj=9,lfl=6,cqq=8,xzt=4,xb-,rlrlql=9,cqbvs=8,dzt-,blfx=9,rqx=5,xfn=6,px=3,chpn=7,js-,lg-,ctf=1,qcnnzx-,hsb-,xnmq=1,hpl=1,pg-,gr-,fkzq=2,rfdrk=7,tnp-,gbsp-,nq=4,vttk=1,lrpx=5,xrm=3,crb-,nglvx=5,md=2,px=6,pljg-,sjb=3,kpjqgm=9,xrm=6,slzd=6,xc-,sxlh=6,mtx-,xc-,nbtq-,plvd=2,hb-,znfd=7,ghbr=1,gkn=3,gct-,cqq-,znb=5,jsv-,txpsv=6,dk-,dbh=7,lmlx=6,lcr-,bfz=4,xhs-,cjb-,tkpb-,dkms=4,sh-,fkzq=3,kqh=8,dv=9,lrpx-,vnhfc-,bqpp-,pcnzf-,km=1,ssmflk-,pnp-,rsn-,cqbvs=5,fr-,kfp-,npm-,vbz-,jm=9,pgd-,trzx=6,hsb=6,qrn=3,lln=8,zl=6,qpf=8,djmlb=6,zj-,qhvz=1,kz-,bzpv-,bq=8,frgf=7,blfx-,tnp=9,lqf=3,zrs=5,lc=2,scb=6,dzfqlb=3,kmqjt=1,trg=1,fzm-,bgg-,gzrz-,sv-,qz-,zlcmgc=4,qcm=1,xhd=7,zmlr-,fnv-,xdfz=9,fx-,xfn=7,zdm-,fr=7,tfd=1,njvd=4,vnk=2,xbx=8,xp=3,zbgdxg-,lxmkfx-,pbmldc-,znfd-,znb-,xh=5,ccf-,lxmkfx-,tgqp=6,ng=6,kz=9,hlg=2,mmsz=9,vdf=1,vkh=9,cvc-,sfp=7,ckb=6,gxg=9,cggz=2,clg=8,zn=6,ctf=6,zdtz=1,ddxn=6,nhsvv-,plvd-,sbx-,ncjb-,lc-,pvv-,vpxv=3,mhh-,qgm=6,vbmk=8,rb-,gxx=7,pt-,qpx-,gcbtgm-,xf=4,xfn=1,tv-,mmn-,zrs=6,zm=7,pxvxlh=5,xc-,dbsf-,scbpb=3,smtd-,fsz-,znjg=3,rfdrk-,ccs=9,mgt=5,mjjk-,vsh-,sv=8,cgp-,gf=1,pg=5,mph-,ctp=3,vblpd=7,gbsp-,gf=3,nbtq-,vjsg-,jsv-,lqfv-,np=4,xh-,tq-,xs-,vk-,hb-,mmn-,vbz-,kpjqgm=5,dkz-,rzjkqp-,tvm=3,dz-,kftx-,khn-,nj=2,cnn=3,cl-,sf-,vc-,zmlr=3,lxmkfx=3,blfx=9,vbmk=6,tpnmp-,sqjgc=5,rz=2,bszd=6,kkc=9,dnkf-,lmlx=7,ddxn-,bhfh-,gflrmd-,xb-,mmn=2,jfjbj=1,zm-,sqd=4,kl-,dfz=4,ktj=5,lxmkfx=2,qxkrd-,dp=6,hl-,lqfv-,kx-,vbz=5,qf-,sv-,kpqvtc-,vhx-,ps=1,fr-,vbmk-,bnhz-,tj-,rlrlql=2,np=4,vs-,vbmk-,pmz=3,pbk-,zxt-,ck-,xf=2,jtsdd=7,ng=1,gn-,qfb=5,mf=4,xb-,rc=7,jjd-,xv=6,gzrz-,cqq=5,dzt-,scb-,plvd-,vqbp-,mvmqfm=3,pr=1,nj-,pvv=8,xtsd-,gbsp-,hnf-,fdfc=3,zzd-,kftx-,pbk=3,lrpx-,hbmt=4,mktlhp=2,ld=4,sf=4,rxv=1,kkcd=9,dph=7,ssmflk-,vnhfc=1,hrbj-,ljsvc=6,rt-,xf=5,tq-,npm=1,kkcd-,spm=7,ljsvc=4,lpd-,nh-,cnr-,xmxf-,cxq=6,mjz-,hpl-,lh-,grlkl=7,pv=9,pqf=1,zsx=7,vbz-,vgln-,dvz-,zl=6,js-,rqx=8,hdxvhr-,pkg-,tzjln=1,nhsvv=7,ggm=5,zz-,kmm-,zngsp=5,gqsr-,cnn=8,vrc=3,zxt-,txpx-,jmthd=9,gbsp-,gn-,zrq-,ss=5,xjpbxm-,ssmflk-,sr-,kl-,gp=9,mhh=7,bpqv-,mvmqfm=6,vr-,kmqjt=4,xnmq-,hvglb=5,qpf-,xb=5,jgmnxd-,sfp-,sscn=8,pcnzf=4,rr=7,gqsr=4,xs-,ql-,pxn=6,jf-,ckb=6,ps=7,bzpv-,qcm=5,gf-,vk=8,hlg-,kjrc=4,dnkf-,kjrc-,qgm=7,pt-,mmn-,dphx-,dsg=8,brp=5,lq=6,kpqvtc=8,xhs=1,tz=1,rm-,qht-,jhl=3,mr=1,tj=4,pnp-,zngsp-,lcr=5,fr=9,vgln-,bz=1,nfgp-,xzt=1,xzbz-,cqzt-,vblpd=9,mg=6,dd-,xtl-,mf=7,qln-,qxj-,mgpp=7,cb=7,zf-,pkbv=2,fgmpc=4,lc-,dmp-,zxt=1,db-,hrbj-,vnk-,smtd=1,cjb-,dtt-,zlcmgc=1,kkcd=9,xh=3,sqjgc-,td=9,npm-,cqbvs-,hj-,sf=2,zf-,mph=7,zcjvl=4,dkms-,rgh=6,zzx=4,hm=4,tz-,vr-,vf-,cqq-,bgh=1,sn-,vbz-,sxlh=3,xtl-,lqt-,kd-,mg-,vf-,lg=5,fnh-,gbsp-,ksn-,mlcn-,vqzhc=8,gzrz=6,lcr=3,qxj=1,hpl-,dphx=5,js-,fm=5,vgslz-,vf=5,ns=2,qcm-,ds-,pr-,vqfz-,hl-,mnphn-,ctp-,qht-,dv-,kd=1,lrpx=9,bpq=1,qgm=9,ckb=6,zf-,vps=5,gbkt=3,zk=4,lztd-,tpnmp=9,rr=9,rpgj=5,dbffb-,mvmqfm-,fzm=8,bpq=9,lxmkfx-,sf-,br-,jxj=1,snpgsm=2,bj-,fsz-,vjsg-,gxx=4,hbmt=1,gflrmd-,rtj-,zl-,snpgsm=7,ppq-,vrzjf-,dv-,njvd-,sxlh=1,xgr-,tv=8,kmqjt=2,cfnbp-,xxj=1,zngsp=5,cqr=1,jc=9,gr-,qxkrd-,xzbz=9,xnmq=1,zcjvl=1,vjsg=4,fx=2,srp=2,kpfr-,bbsk-,xqfrg-,tvm=1,pqf-,fdl-,ss=5,bnlpjk=6,dphx=6,vbz=4,grlkl=7,gxx=1,lrpx=3,drls-,dph=8,vs=4,sbt=3,jpc=5,pbmldc=8,ddxn-,br=3,qln-,rvcd-,dmp=5,dhh=5,fjh-,sn=6,txpx=2,ctdbt=1,rzjkqp=7,bzpv-,gt=6,sb=8,qht=9,kpz=2,hvglb=8,mr=3,fq=5,jm=5,rzjkqp-,ndmt=6,bzj-,lg-,ks=1,npm-,vqbp=4,lcr-,km=9,tv=6,thncf=6,bxx-,vq-,rpn=6,dz=2,tcs-,mr-,kd-,spfc=8,npm=7,hrbj=1,cggz-,jjd=7,drs=6,vr-,rfdrk=4,kc-,pkbv-,zmlr=1,lqt-,hsb=1,xb=5,pljg=5,bq-,gxx=5,vrzjf=9,xhs-,xk-,vdf-,lg=6,xrb-,vc-,pbmldc=5,js=5,ld=4,sbt=4,gftx-,kpz-,khx=1,mr=9,lztd=7,xqv=8,cb-,sbx=6,qpf-,vgln-,xcq=9,jf=4,zs=2,cv-,vqc-,vgln=3,bmnlf-,nsxz-,vttk-,jx=1,tnfx=9,zv-,fdfc-,rc-,lhks=4,zlcmgc-,grfxxs-,hrbj=4,vqt=8,ts=5,hd-,tq=8,bg-,mf-,pcnzf-,sh-,trzx-,xb=4,rc=8,bzj-,pkg=8,hlg=5,qcnnzx-,ck-,mjz-,vth-,mgt-,cct=1,bkxf=8,rpn=1,mg-,fjg=3,vlv-,zngsp=8,ksn-,hnf-,dbh=7,pxn=5,hsb=8,mq-,jsv=7,ccf=1,ts=8,kz-,xgr=5,xbx=5,sqd-,fpg=8,lvs=5,smtd-,zs=3,dsdm-,nrc-,jtz=8,jxj=3,sv=3,mlcn=9,psfnx-,kpqvtc=9,rsn=4,zdl-,lztd=4,vnk=2,dmp-,sscn-,zj-,dd-,zdl-,smtd-,tj=3,ggm=6,ff=2,zzd-,pfjml=7,chpn-,mjjk=4,spm=7,sfp=6,xbx-,dbffb-,sh=9,hnf-,pmz-,rzjkqp-,hb=8,bj-,hgp-,txkh-,znjg=2,vqfz-,vgln=2,zzd-,crb-,vqt=3,ssmflk-,bqpp=4,xt-,dbffb-,bhfh-,hsb-,rvcd-,sbt-,txpx-,jtz-,cb-,dp-,mvmqfm=3,ddxn-,msbfzl-,xgk-,jpc=5,phsl-,dbffb-,zcjvl=4,tvm-,pv=2,sfp-,nnn-,jmthd=2,qcnnzx=3,xnmq-,tgqp-,fzm=3,jpc=2,cnn-,jhhqj-,mvmqfm-,rtj-,km-,lk=6,slzd-,chpn-,xb-,tpnmp=9,vkz-,lqt-,vf-,gbsp-,cmpc-,xc-,pkg=5,tz-,dzt-,mvmqfm-,dvz-,lhks-,npd=6,lfg=7,bgh-,vqbp=5,grlkl-,lvx=4,mgpp=1,znb=6,zf=4,lfl-,cr=2,dbffb=3,jzxp=2,mhh=2,gftx=7,lfg-,gkn-,xb=5,djmlb-,qln=8,zmlr-,dkz=6,grlkl-,rt-,zcjvl-,vblpd-,lztd-,lfg=2,gxg=6,bj=8,zs=9,ssd-,lcr-,tqx-,ncjb-,kmr-,trg=4,kmm-,cjk-,tq=7,qqp-,scbpb=1,rc-,xzt=1,ftz-,sjb=2,rknz=4,gbsp=4,qrn=3,dhh-,mph=1,pjfk-,grfxxs-,xfn=3,bq=6,kd=3,vjzt-,vgln-,rv-,lcr-,blfx=4,gzrz-,kmm-,hj=8,pvv-,khn-,jfz-,gr-,gr-,dhh=9,ps=3,vblpd=9,sqd=3,hz=7,mp-,lxg=1,bnlpjk=3,jjd-,txpx=7,fx=9,nkx-,bg-,rvcd=4,sr=6,qz=3,vdf=9,ld-,nsxz=1,zdtz-,dzn-,hb-,vjzt-,nfgp-,cmbv=6,pljg-,sqd=1,ssd-,fzm-,qv=8,tn-,cct=8,cnn=2,vkh-,zl=8,xcq-,ppq-,scb=5,pbk=6,jmrz-,xgr-,kpjqgm-,nglvx=5,qht-,fnln-,cl-,kkc=9,kpfr-,xtl=9,dsg-,xrb-,zdm-,mmn=5,tz-,gh-,vkn-,vkqx-,gkn-,qxkrd=7,rt=7,rh=3,bc-,nzq-,mtx=8,jc-,kfp-,dkms-,thnmq-,jhhqj=6,vhx=2,lqfv-,kc-,vqzhc-,bzj-,fmkjj=5,ql-,fdfc-,kftx-,ktj-,bgh=2,cqzt-,rtj=2,vkh=2,dfz=6,xstdx=9,npd-,hf=8,jhhqj=1,snpgsm-,xrb-,hm=5,bx=1,ql=2,djmlb=7,xcq=6,xbx=4,kl=9,dk-,sh=7,ctf-,sqjgc-,thnmq=7,lhks=9,xdfz-,tk-,pt-,vgslz=7,dtv=5,sbt=9,kv=1,drs=3,db=8,lqf=6,xhd-,qln-,ckb=2,kpn-,qvlzn-,fb-,xcq=3,vqc=2,ct=4,dtck=5,vgslz=9,shn-,rv-,cr=3,tpnmp=1,cct-,zj=8,bnhz=4,psfnx-,nnn=8,kl=8,ps=5,ng=6,cnr-,snpgsm-,dnkf=9,znb-,bgkjq=1,pjfk-,pl=9,dtt-,sqd-,hgp=7,gs-,qrn=8,dvz=4,kftx=7,ggqq-,cl-,cr=9,jsv-,vjzt-,pxvxlh-,kqh=1,tqx-,lvx=9,mf-,rpn=2,bpq=4,km=4,vnk=6,cqzt=9,bxx=8,tn-,pgd=8,dp=7,thncf=8,zdtz-,vgslz=5,cnr=7,nkx-,hdxvhr=6,tj=6,xnmq-,qf=4,lq-,vnk=7,rpn=4,zd=8,rxv-,lln-,sbt=6,mhh-,rz=5,dtt=9,gxx=7,pnp=2,lqt-,xdfz=7,lhks-,gflrmd=8,kpqvtc=3,tj-,pvv-,xcq-,xfn-,kpjqgm-,kc=6,zngsp=1,vpxv-,xfn=1,qqp-,tj=2,xrb-,zsx=4,lfl-,vqc-,nq=9,lrpx=7,rpn-,phsl=7,chpn-,vq=6,dd-,ff=1,lztd-,lq-,vx-,lg=3,jmthd=7,vnhfc-,jgmnxd=6,fpg=3,xs-,ggqq-,msbfzl=7,znjg-,xt=8,xzt=9,ff=3,mmn-,dmp=7,hrbj-,vth-,dkz-,nsxz-,bnhz-,bq=2,hm-,dm=7,trzx-,xmxf=1,npm=7,qqp-,fnv-,bzpv-,hnf-,ztk=4,hz-,bx-,srp=4,sqd-,zk=5,gbsp-,fsz-,vlv=6,hpl=5,jgmnxd-,rtj=9,lh-,qhvz-,vkn-,blfx=6,sc-,rqx-,tslfp=6,zdm-,fsz-,mm=5,lc=5,ghm=6,ktj-,kl=6,dph=6,ztk-,cb=2,kz-,psfnx-,mq=4,vqc-,dph=9,zj-,js-,znb-,vqbp=9,dx=2,dtck-,gt-,br=6,zrq-,bqpp=5,ckb=6,ng=9,zdm-,jc-,lvs-,ql=9,zf-,sc=2,dph=9,bz-,vbz-,khn=6,kmr-,drs=7,kx-,vlv-,pljg=6,vpxv=6,fsz=5,vqbp-,tcs=5,qz=9,xp=2,xp=7,kx-,ssd-,bz-,vs=5,mgpp=8,rnsbt=1,hdxvhr=4,rz=9,nq-,ktj-,pv-,cmpc=5,psfnx-,pqf=9,tv=4,jpc-,jfjbj-,vps=6,bszd-,jx-,xhs=2,cfnbp-,cb=6,nfgp=8,mg-,fjh-,mtx-,vrc-,cr-,njvd-,lffv-,qqp=4,cr-,js-,jx-,pgd=9,qg-,vsj-,bnhz-,sjb=1,nglvx-,fkzq=9,qhvz-,nlcrm-,kmm=2,jzxp=2,zrs-,mtx=9,hnf-,lk=5,nq=2,rpgj=1,tkpb=7,zzx=7,pnp-,rgh=1,qhvz-,zpc=1,pmz-,nhsvv=5,zqr=6,cggz-,lhks=3,bpq-,tfd=7,jm=4,kpjqgm=9,qxj=8,pv=8,pmz=2,jf=2,gxx-,jf-,mktlhp=1,lrpx=2,lqf-,scbjp=3,fdl=7,khn-,ddxn=7,dzn=6,chpn=5,vpxv-,kl=8,sqd-,vnk=9,vbz-,cqzt=9,lc=4,nhsvv=7,ph-,bz-,xzt=7,cqr=8,spfc=3,vsh=9,bbsk-,khn=1,bl-,lffv=3,pl=8,zdl=7,qg=2,vkz-,qht=9,xhd-,blfx=5,vbmk=5,npd-,zv-,bpqv=2,tvm=6,xqv-,zv=8,dbffb-,trg-,cqbvs=2,vqbp=4,kpfr-,ql-,cggz-,kpfr-,sbt-,plp=2,fsz=3,ct=1,zcjvl=6,rpgj-,nfgp-,zqr=4,zn-,mq-,ps=8,rtj=4,kpqvtc-,ndmt=3,plvd-,xv-,rt-,fb-,psg=8,sxlh-,nhsvv=4,pkbv-,vrzjf=7,dzn=7,mmn-,jfjbj-,vnkmzj=6,dp-,rh-,cv-,dzn-,lg-,rpgj=1,dph-,ctdbt=3,cfnbp-,gxx=8,hj=3,xnmq=4,lc=5,bb=9,zdl-,zzd=9,hzlzn=9,dz=9,rz=9,bzj-,xb=4,lrpx-,vlv-,dph=1,cqbvs-,ghm-,pcnzf=2,vr-,cct-,mph=2,nsxz-,ssd=2,hfrdk-,psfnx=9,rc-,pbk-,znb-,zmlr=1,dk-,dkz=3,rqg=3,mv-,zv=9,sscn-,bszd=1,xhs-,dzt-,mgpp=3,dnkf=6,tnfx=9,drs-,spfc=3,dbsf-,sr-,lfg-,bg=2,gbkt=7,jxj-,tv-,fjh=9,fdfc=5,gs-,vbz=1,dbsf=9,zdtz=6,fgmpc=2,njvd-,hfrdk-,sh=8,scbjp-,zn-,msbfzl-,px-,spfc=6,vdf=2,vc-,vlv=2,cqq-,vhx=1,hl=3,vkqx-,fx=7,gct-,vrc-,hpl=8,zm=1,ktj-,xmxf-,rqg=7,zm=8,cqq-,zlcmgc-,kkcd-,dtt-,jmrz-,gf-,xzl-,pcnzf-,tslfp-,pxn=2,ccs=5,lmlx-,cct-,vgln=4,xt=3,gxg-,vq-,dz-,vqc-,bgh=6,zbgdxg-,ctdbt-,mg=6,fb=1,xbx=1,xv=2,lvs-,kd=9,slzd=2,xb=3,mvmqfm-,kv-,jfz-,jc=8,mgpp-,shn-,kpn-,scb=9,txpx=5,zf-,vhx-,rnxt-,pxn-,mg-,gftx=6,fsz-,xnmq-,bz=4,nfgp-,gkn=7,bnhz-,qpm=1,vhl=5,pm=1,spm-,xfn=8,xf=9,vqbp-,trg=1,pkg-,lrpx=4,mf=7,rpn=7,vqbp-,vdf=8,zz=5,tslfp-,dz=1,fjg-,cb-,zqr=3,clg-,js=2,xjpbxm-,fnln=4,pgd=7,hzlzn=6,qrn=4,khn-,psfnx=7,grfxxs=8,lvx=4,spm-,zl=6,grfxxs-,trg=1,lmlx=2,rsn-,rb-,cnn-,zdl=1,mmn=8,rr-,scbjp-,zk=2,xrm-,lc-,pkbv-,ss-,qhvz-,fq-,bnlpjk-,kkc=8,fpg=7,tgqp-,jzxp=8,rm=2,plvd-,lfg=5,jmrz=9,vk=7,spsx=2,spfc=5,plp-,cfnbp=6,jzxp-,fjh=3,xjpbxm=4,br-,nrc-,sn=3,rc-,lfl-,plt-,np=5,bgg-,xf=4,vlv-,vrc=5,cct=5,vps-,xzl=9,nnn-,pvv=9,dmp-,sf-,hm-,vtp=7,cqr=7,kv-,rnsbt-,qcm-,dvz=1,dbffb-,dbh=4,bzj=9,ctdbt-,tnp-,ksn-,dmp-,qz-,lxg=6,dtck=9,lvx-,bfz=6,xgk=7,qpm-,ggqq=2,grfxxs=3,msbfzl=1,xqfrg-,nlcrm=5,hzlzn-,rfdrk-,xhs=8,xnmq-,pbk=9,jsv=9,zk=8,dtck-,jtz=2,nhsvv=6,ddxn-,ks-,tcs=1,jsv-,xb=1,ff=1,scbjp-,mjz=7,pbmldc-,tcs-,xhs-,plt=8,zs-,xbx=6,bxx-,qcnnzx-,dkz-,dvz=2,rh=4,mhh=7,djmlb=7,bnlpjk=8,jgmnxd=9,pzd-,lffv=2,xqfrg-,cb-,tzjln-,bfz=1,fnh=8,xf-,cqbvs-,lqfv-,ld-,jtz-,nj=8,cjk-,dsdm=9,thnmq=2,ck=8,bpqv=4,rgh-,mf-,sqjgc=8,rzjkqp-,dvmm=8,zthrd=2,mtx-,cqzt=6,gct-,spfc=7,trzx-,hlg-,rqx-,lffv=5,vf-,bqpp-,nhsvv=8,kpfr=2,dfz-,cnn-,gkn-,hb=2,vnk-,px=2,hxd-,zthrd-,xv-,jzxp-,vkn=7,cxq-,ccf-,xfn-,lxmkfx=5,pljg-,lqfv=5,rfdrk=9,khn=5,cnr-,vr=9,kd-,ssd=5,mmsz=7,fnh-,mf=8,lvs=3,vgslz-,pfjml=7,dtck=8,dph-,gk=4,ntg-,lpd=2,fnv=1,mnphn-,xzbz=1,zd=8,gf=1,tr-,lpd=9,vjzt-,ss=7,qnd-,db=2,vz-,lxg-,khn=3,vkqx-,fjg-,zrs-,tnp-,rc=9,fdfc=4,tqx=1,scbjp-,nbtq=6,kmqjt-,jc=9,txpx-,pr-,vps-,zv-,vnhfc-,jmthd-,blfx=1,vqt=4,spfc-,tzjln-,cfnbp-,zf-,ndmt=4,xqfrg=2,cmbv=4,mtx-,ktj=5,nh=1,mm=6,xv=5,ng-,bfz=2,zj-,pt=6,njvd-,qcnnzx-,qgm=8,fjh-,zqr=9,tn-,zz-,mvmqfm=9,gt=3,vgslz=4,px-,fnh=7,njvd=8,jtsdd=2,rzjkqp-,np-,ph=5,zqr=6,cb=6,sxlh-,pfjml=2,dmp-,lxmkfx=2,kpqvtc=4,mvmqfm=1,rknz=8,zcjvl-,tq=1,nnn-,vc-,zdl-,ndmt-,dtt-,mf=4,qcnnzx-,zzx-,pkg=6,xfn-,rnsbt=8,rgh-,vp=2,vpk=1,zz=2,mkj-,mr-,lln-,dm-,cfnbp-,sbx=9,dsdm=1,kpqvtc-,zzx-,bqpp=9,lqf-,cqr-,mlcn-,spm=1,dhh=6,js=4,pg=1,vbmk=3,vqc-,ftz=4,zxt-,zz-,xtl=6,pr=9,cnr=8,rqx=4,bszd=3,rl=6,phl=4,dvmm=2,drs-,bnhz=4,cggz=7,nhsvv-,cnr-,bgg=4,tr=1,pjfk=8,fq-,kmm=2,jjd=9,dbsf-,sxlh-,xzt-,mjjk-,pfjml=8,lmlx-,xtsd-,ftz-,nq-,kd=3,tk=2,vth-,nrc=4,vqbp-,grfxxs=1,ssmflk-,mmsz=6,lh-,td=2,vc-,qht=1,ccs=3,fpg-,ff-,ppq=2,cl-,ff=9,gk=1,zzd-,mv-,pqf-,vq-,vtp=1,thncf-,gt=7,ksn-,bnhz=8,xmxf-,ktj-,cnr-,ctdbt-,cggz-,vps=8,ff=1,jhhqj-,hd-,dphx=3,zk-,bg-,pkg-,gh-,nl=4,dtv=1,ph=5,xk=4,sbt-,sjb=4,tslfp-,kftx-,gxg-,mjz=9,bzpv-,dvmm-,zlcmgc-,mvmqfm-,jmrz-,sf=3,zz=4,vsh-,kfp=9,cggz=4,pm=4,nlcrm-,pg=9,xhd-,spsx=9,xmxf=8,bbsk-,pr-,qhvz-,vqfz=7,dp=5,ndmt-,nlcrm-,mgt=8,gflrmd-,vkn-,jsv-,qrn=7,gk-,rc=9,qvlzn=2,xtsd-,xzl=8,vdf-,fb-,mr-,vrc=2,qpx-,bmnlf-,scbjp-,vpk=5,vjsg=3,rvcd=7,tk=2,xstdx=9,tcs-,zqr-,kpfr-,rz-,vgln-,dvmm-,lqfv=8,bszd=3,nglvx=9,lq=5,dnkf-,sfp=3,pxn-,blfx=6,zzd-,sbx-,dfz-,fq=2,qqp-,rtj-,sb-,nbtq=2,bb-,zpc=6,tfd-,zl-,scb=4,nfgp-,kftx-,zn=8,rh=3,fzm-,qvlzn=3,ctp-,qrn-,ztk-,pmz-,rh-,vpxv-,lvx-,cq-,jmrz=8,sqd=2,kftx-,ppq=7,dvz=3,vblpd-,jgmnxd-,gxx=6,vnk=5,ntg-,sjb=3,dkms=3,bgh-,zsx-,xrm=8,pkbv=7,vttk=7,lxg=5,jm=9,vqbp-,kfp-,hzlzn=5,hl=4,trg=9,lq=7,ksn-,mmsz=5,px=2,lcr=4,td-,hfrdk-,rnsbt-,qln=3,dvmm=6,gftx=6,ppq-,xbx=8,pvv=8,xcq-,tzjln-,tdl=8,vf=9,sxlh=9,bgh=5,bqpp-,zxt-,xs=5,kmm-,ps=5,ctdbt-,hd=4,md=7,xzl=5,jfz-,tzjln=9,gpg=5,lmlx=2,phsl=2,jx=3,lfl=4,kpfr-,db=9,fdl-,rm=3,bqpp=7,mp-,xv-,bpq-,pg=1,nlcrm-,xk-,mq-,lk=7,hrbj=1,hj=1,ss=8,hnf-,xqfrg-,tnfx=9,znb=8,kl-,lqf-,dsdm-,khn-,cct=4,bzj-,spsx-,lc=6,jfz=4,plp-,fb=1,bgkjq=2,pvv-,br-,cfnbp=5,sqjgc-,sv=5,mmsz-,dd-,lrpx=5,mgt-,hdxvhr=1,dsg=6,zz-,gkn-,fjg=7,px=4,lfg=7,jfjbj-,ghbr=4,ftz=1,lffv-,pjfk-,spfc-,mlcn-,vth-,qxkrd-,ctdbt-,qpx=5,gqsr-,sscn=7,ghbr-,vqbp=8,bgg-,zf=2,qxj=8,bpqv=6,hlg-,tn-,lfl-,bzj-,tk=4,ql-,gxx=6,gqsr-,mtx=1,rqg=7,zzx-,lcr-,bx=7,nl-,msbfzl-,bhfh-,sxlh=7,nsxz=8,bgg-,pfjml=4,pv-,qv-,kx=4,dp=5,gxg-,qpx=9,mjz=5,zxt-,tv=4,kx-,xtsd=7,txpx=4,hdxvhr=7,pzd=2,vqc=4,xjpbxm=3,dm-,rvcd-,ps-,hbmt=9,nsxz=5,cct-,xhs=3,cqr-,fm=3,pzd=5,qxkrd-,rz=8,pgd-,txpx-,xk-,hnf=7,hlg-,lcr-,nqcj=9,pgd-,spm=3,zk=5,jxj=9,vth-,srp-,sbx-,cs=1,vpk-,srp=7,sqjgc=7,ks=1,dvmm-,zqr=6,gbkt=5,rl=1,phl-,mg=9,rm=2,dsdm-,rz=2,pgd-,gf-,bxx-,nq=3,vtp=6,sbt=9,kpqvtc-,qcm-,td-,bnhz=3,rknz=6,mjjk=6,qf=9,thncf=5,bb-,vjsg-,cnn=6,jxj=6,vkn-,gbsp=3,kpfr=1,lqfv=6,kv-,gt=1,fq=4,kl=4,rtj-,vth-,pfjml-,hbmt-,vr=1,xmxf-,sc=1,cgp-,jx=1,chpn-,xcq-,vttk-,vpk=1,mnphn-,mtx-,gxx=1,cgp=2,qvlzn=4,sr-,ct-,rh=3,rzjkqp=2,ld=9,pljg=6,vlv-,rgh-,spfc-,jm=8,fkzq=4,xmxf-,gp-,chpn=8,xtl-,cggz-,xnmq=3,rnxt=1,znb-,nfgp-,ts-,bqpp-,fnln=3,pljg=5,hz-,kfp=4,cq-,bgkjq=9,vs-,zngsp=7,jsv=3,dbsf-,kx=4,ph-,xb-,dsg=6,sn-,jmrz=4,dzt=7,mnphn-,vk-,kkc-,kpn-,vblpd=6,vqbp-,dmp=6,hsb=1,zlcmgc-,vbmk-,dp-,tk=3,drs=8,pl=4,sbx-,jhl=9,rknz=5,qcm-,mp=8,vqfz=9,ctdbt-,qp=2,vsh=8,nkx=8,qxkrd=6,bpqv=9,cxq=3,nbtq=1,sxlh=4,fnv=5,vnkmzj-,gpg-,nh=8,zd=1,rzjkqp=6,qpx-,bzj=2,fkzq-,lxg-,bb-,lffv-,xs=3,rzjkqp-,bpqv-,bz=3,zn=5,br-,zthrd=5,kc=2,ss=2,kf-,bb-,bz=6,hb-,dtck=4,sxlh=9,mmsz-,znb-,mhh=3,nhsvv-,ntg=1,bqpp=2,thncf-,tnfx=8,nglvx=1,bzj=3,gcbtgm-,cmbv-,ctp-,pg-,zpc-,rpn=1,gn-,ncjb=8,kmr=3,tz-,bnhz-,dvz=2,mvmqfm=5,jc-,plt=6,cl=8,vc-,qgm=2,ss=5,jc-,cggz=4,chpn-,qln-,nh=8,pljg-,km-,pgd=7,tqx-,xhd=2,gmrrx=3,bhfh=6,bx=3,msbfzl=2,rm=6,qcnnzx=9,xgk=6,gct=4,kpjqgm-,jx-,tgqp=4,sv=2,xf-,ks=9,pzd=6,zrs=3,md-,thnmq-,zzd-,xnmq=3,rc=2,kmm=9,rz-,jc-,rsn-,dphx-,bqpp=7,vs=2,kkc-,sqd-,tdl=9,zbgdxg-,qgm-,gmrrx=7,cb=4,bx-,lvx=8,slzd=1,fzm=5,cs-,xs=5,xxj-,xhd-,qcm=2,xxj=6,vz=8,cqzt=2,fdfc-,vx=6,rpn-,gxx-,nhsvv=6,mktlhp-,vjzt=4,lztd=7,zs=7,mv=2,nlcrm-,tkpb=9,sxlh-,pv-,qxj-,xcq=8,xgk-,scbpb=3,dk=9,mjjk=3,lztd-,njvd=8,znjg=5,lxmkfx=5,snpgsm-,ph-,pr=1,rpgj=4,nzq=2,kc=2,rsn-,dzfqlb=6,gf-,qcm=1,tcs-,mm=2,fjh=6,vp=6,sl-,kfp=4,tslfp=9,hl=1,fzm-,lmlx=2,bnhz-,sfp-,pcnzf-,gct-,jc-,xk-,zpc=2,jxj=6,tzjln-,bqpp=5,pjfk-,cct=5,qgm=8,sxlh=7,lhks-,mmn-,rpn-,vp-,qnd=9,mjz=2,td-,gct=6,sfp-,cb-,tnb-,zf-,chpn-,pkg-,gs-,mmn=2,mnphn=9,pxvxlh-,fm-,vdf=2,vnhfc-,njvd=1,npd-,cl-,vhx-,kz-,hl=8,bpqv=7,ks-,pl=6,txkh-,mjz-,bl=1,cqzt-,bbsk=7,ghm=3,tpj=4,tv=2,qf=7,tpj=7,ztk-,mq=2,jtz-,vkn=4,cs-,xdfz-,ccf-,lxg=9,ctdbt=1,trzx-,bnhz=6,gf-,kjrc-,vr=1,msbfzl=2,vblpd=6,qxj=7,cjk-,nj=4,cjk-,sjb-,ng=4,rnsbt=4,rtj-,frgf-,tqx-,sbx=9,kmqjt=8,rfdrk=8,ctdbt=5,mldgtn=8,rfdrk=7,pnp-,phsl=3,vc-,hz-,rzjkqp=9,njvd-,qqp=7,pjfk=1,sscn=2,pkbv-,lfl-,vp=5,kr=4,ccf-,plp=8,lpd=5,mph-,rh=6,zl-,lc=2,jhhqj=5,xf=6,snpgsm-,lq-,sxlh=6,vsj-,trg=1,cl=1,vjsg-,gp-,tn-,mlcn=8,gmrrx=5,qfb-,fx-,tzjln-,tfd=2,bg-,bkxf-,qpm=3,npd-,ssmflk-,fpg-,rknz-,zngsp=1,nlcrm=4,pt-,vkz-,mq=7,mldgtn=2,gr=7,fr-,xzt-,mkj-,jmrz=5,lxmkfx-,pxvxlh=3,vbz-,nq-,sbt=8,rtj=8,ktj=3,bpq-,mq-,lqf=9,vp=7,vz=1,bb-,ndmt=4,vdf=7,mr-,fnh-,rzjkqp=7,sxlh-,bszd=1,vgslz=5,zd=2,tpnmp=6,fr=2,bgg-,lk=1,qpf-,bpq-,xt-,ps=7,pxvxlh=1,fkzq=7,mgpp-,cqzt=6,bbsk-,clg=7,ztk-,bl-,vjzt=4,tk-,plvd-,jsv-,zd=7,dm-,gxg=8,lxg=2,bgkjq-,np=4,frgf-,lh-,ssmflk-,bc-,vjsg=9,rfdrk-,jx-,pbk=7,npm=5,kjrc-,jfz=8,bz-,bfz=3,ld=6,hj=4,msbfzl=4,clg=2,vhx-,vq=1,hb=4,mmsz-,sbx-,xnmq-,cqbvs=8,hgp=5,qlf-,nfgp-,ztk=8,vnkmzj-,cmbv=9,jjd-,rz-,bl-,jfjbj=7,hxd-,tfd=6,sh-,frgf-,ctp-,sjb=7,vsh=6,br=7,vz=9,px-,lrpx-,fzm=3,tslfp=9,znfd=5,bpqv=2,mktlhp=2,hm=9,znfd-,xgk-,xdfz=7,gxx=8,vpxv=3,qfb-,qnd=1,gpg=1,txpx=4,zmlr=4,zk-,plt=5,dx-,qfb-,vqbp=2,hzlzn=3,bfz-,mgpp-,xf=1,fgmpc-,rl=9,fjg-,qpf-,tslfp-,qvlzn=3,gbsp-,scbjp=1,mktlhp-,jhl-,fdl-,jmrz=1,rc=8,dmp-,clg=2,xtl-,cqbvs-,qfb=9,lpd-,kmr=3,xh-,lh=4,spfc-,cnr=1,lqfv-,scb=7,kd-,rqx-,tpnmp=5,pjfk-,qz-,gf=7,tz=9,kjrc=5,td-,bl=3,dmp-,ccs=9,rzjkqp=5,npm-,kpn-,pljg=6,dsg-,bg-,mhh-,mvmqfm=4,xzl-,plp=7,tk=6,zn=7,njvd=6,lqfv=7,rzjkqp-,kmqjt=5,cv-,mf=7,gxx=3,pxvxlh=4,nbtq-,vqzhc=7,bpqv=2,sl=6,ccf=5,slzd-,ssmflk-,sf=3,vhx=8,mmsz-,chpn-,fzm=2,xtsd-,tvm=1,zk=9,hm=2,cv=1,lq=2,dzfqlb-,kmm-,rxv=5,txpsv-,nrc=7,ps-,gflrmd-,tv=6,gs=6,znfd-,kc=3,zzx=8,vc-,tvm-,rtj-,kqh-,dsg=9,fx=3,hm-,rsn-,lpd=1,zjvd-,nq=6,hgp=3,vqbp=5,jzxp=5,pxn-,js=4,zthrd=3,nj=3,znb-,ncjb-,kc-,kmr=6,lcr-,vs-,kpfr=3,jgmnxd=9,bhfh-,rv=4,ks=3,hf=9,bgg=4,fsz-,hf-,np-,zzd=8,pgd=6,kmqjt-,znb-,fb-,qlf-,zj=1,pvv-,nzq-,ng-,lmlx-,zdm=4,hvglb=9,nhsvv-,kjrc=4,hvglb=1,ctp-,qlf-,lfg-,jhhqj-,txpsv-,bxx=3,ppq=2,vhx=7,scb-,lq-,sscn=9,pljg-,gxg=2,cv=7,zm=6,hdxvhr=4,hpl-,mkj=5,zl=7,zcjvl-,xp=3,bszd-,lxmkfx=5,rgh=7,lztd-,xv=1,cjb-,rqx-,gflrmd=5,lqfv=1,fdfc=4,vblpd=6,tslfp=5,rnsbt-,tpnmp-,cmbv=6,cq=5,gk=2,zdtz=8,lhks=2,gr=2,cxq-,xzbz=7,bpqv-,cmbv=3,cqq-,bgg=2,znb=3,vkn=7,gxx-,pv-,vf=7,gbsp-,qp=6,grfxxs=2,vqc=6,lh-,msbfzl-,dfz-,fgmpc-,kmqjt=3,qrn-,pfjml-,pm-,qpf-,qg=8,vlv=4,cq=6,lq=1,tnfx=2,cgp-,lq-,vgln=7,bgh=3,ggm-,jtsdd=1,xk=2,rqx=5,zv-,mhh=2,bpq=6,fdfc=6,lmlx=7,hdxvhr=5,jgmnxd-,lvx-,vrzjf-,dtck=5,ph-,rqg=5,gf=9,nqcj-,vqzhc-,bj-,fjg-,qln-,jpc-,vnk=1,sbt-,qf=8,qrn=8,gpg-,nglvx-,dbsf-,hz=1,jfjbj-,hbmt=1,sqd=1,cl=7,bzj-,jtz-,vblpd=7,znfd=1,gpg-,drs=3,gn=7,mvmqfm-,cr=3,tpj-,ck=3,qp-,zrs-,tpj-,gcbtgm-,zv=8,lfg=8,jxj-,ftz-,zz-,fdfc-,plvd=9,spm-,fkzq-,xcq-,sqd=4,dph-,rsn=9,vjzt-,xt-,dsdm=4,qlf=3,qht=2,js-,sv-,slzd=9,spsx-,zk=1,rv-,jxj-,scb-,db-,ff=2,cq=9,nh-,fzm=1,cs-,rzjkqp=4,vx-,qp-,spm=9,tnb-,bgg-,phsl=2,lg=5,gmrrx=3,pfjml=1,psfnx-,dbsf=3,jmrz-,lztd-,vrzjf-,vkqx=8,mv-,sqd-,hrbj=8,tgqp-,sbt=6,lhks=2,vp-,mv=6,snpgsm=9,xf=3,tnb-,hl=5,vqbp=7,zd=1,fm-,hbmt=7,scb=1,txpsv=3,jf=6,rc=3,vs=7,qpx=1,sf=3,zbgdxg-,xv=7,xv-,hgp=3,nfgp-,qht=8,vblpd-,ql=9,kmr-,rtj=2,lpd-,rfdrk-,rxv=5,sbx-,rfdrk-,pgd=8,kpjqgm-,vjsg-,cgp-,fnln-,dvz=3,pbk-,mvmqfm-,lmlx-,ndmt=2,trzx=7,tnfx-,xgr-,zlcmgc=5,plvd=8,gs=5,sv=2,dk=9,vnkmzj-,vkn=3,xbx=9,kl-,psfnx=8,ppq-,vq=3,xzl-,mldgtn-,plvd=7,gcbtgm=1,sscn-,drs-,bnhz=2,lhks-,sf-,pbk-,sxlh=3,vkn=2,vqfz=9,gct=1,cmbv-,qgm=5,lg=6,tnp=6,jsv=7,mmn-,xnmq=3,vx-,fkzq=1,vqbp-,gbsp-,txpx=9,jtz-,hdxvhr=8,xk=4,xxj=3,vrc-,fjh-,pxn-,gbsp=8,hl=5,jm-,zn-,chpn-,nbtq=7,kqh-,chpn-,nnn-,hfrdk-,mp-,bgh-,ns-,vsj=3,fgmpc=1,kd-,dtck-,nh=4,frgf=3,cq-,pt-,vttk-,px-,smtd=7,ctf=8,zn=4,kl-,jjd=4,bzj=7,cnn-,mtx-,pzd=1,ssmflk=4,jgmnxd-,ccf=4,jmthd-,vnhfc=7,srp-,qxj=7,chpn-,nh=2,kkcd-,dm-,mmsz=4,fnln-,lq=6,kkc=1,bq-,nl=3,mmn-,jfz-,zf=4,sl=3,sqd=7,dtt=3,ql-,jmthd-,ndmt-,vqc=2,jjd=2,jpc=4,vrc=9,kpn-,gs-,mjz-,ftz=7,bq=5,cv-,xv=2,mktlhp=9,cmbv-,mtx=6,ggqq=7,fq-,rknz=3,xxj-,zngsp=3,rsn=5,xrb=3,vrc-,fb-,phsl-,plp-,pl=9,cr-,vpxv-,lk=4,khx-,rpgj=2,kd=7,md-,dvz-,rl-,dkz=9,fsz=8,vq-,pm-,xf=7,tv-,tk-,dz-,qqp-,bg=7,xb-,nfgp=9,ng=7,kfp=2,mp-,vbz-,lxg=5,xqv=1,npd-,pvv-,xzl-,slzd-,dmp-,jzxp-,dphx-,txpsv=7,mldgtn-,ql=2,xgk-,mv=7,rl=7,kjrc=6,rl-,jfz-,ctdbt-,tdl-,fq=6,lcr=6,hzlzn-,qpx-,nbtq-,td-,mr=8,zngsp=4,vps-,ssmflk-,djmlb=9,pxn=7,cqq-,nlcrm-,rt-,vgln=9,gn=2,nsxz-,cfnbp=2,xrb=8,ts-,bfz-,lh=1 \ No newline at end of file diff --git a/aoc2023/src/day16/input.txt b/aoc2023/src/day16/input.txt new file mode 100644 index 0000000..1778ec0 --- /dev/null +++ b/aoc2023/src/day16/input.txt @@ -0,0 +1,110 @@ +\..../.....-...|........\.|...........-..........-......|....././..........\..|............................... +.../..|.......-............\...........-\|...............\.....|......-...........................-./.......|. +......../.-.-....\...\-.......................................|..........-.......\.....-.........|......|..... +....\........./..............|.............-..|.|.\.|.-......\........./..................|..........\........ +...|/.|..........................-........................|............|-..|...../\................./.../..... +...|.|.......\...................|/..........\\....|....................-..................|.................. +..................\-|..........|.\......|........\.....\...........................-..............\.....\..... +........./.-./..............................-..........|......|................/.............-......./...|./.. +....-...\..........-......\...............-/.....................\.........-\.........|..........|.....|...... +./............\......./..-......................../.|.-.|........................./.|......|...\.......-.-.... +...........././.............|..........-....../..............-.....\.-......-.............................-..\ +......................\.|.\..................-./.....\....|......................|..\...|..................... +...|.-...|.............../..//....-\...-.-...........|......-....\.|-.............\....-.|.............\...... +......|.....\-....\.............|../..|......\....--................/....|..../|../.....-........../.......... +.............|.........-.../.|....................\........................................................... +....\...\.-..-.....|.|...........-........./..../..........-.-....|....-..............-....|........|....../.. +..........|..............\..|........../..........................|.....|\.-...........-......\....../........ +...../.......|..../........-........|./\..\..\.\././.\.............--.......-..................\./......-..... +....................//...-..........-.............|................/............./.\....../...........-....... +.\-...|-/.......-........-...-...............\../...........................\/.....\...........\........|..... +.............................\-......|......\../......-..........|...........|.........-.....\..|......-...... +./................/........-.......|..\..../|............................|...........|.-.|.................... +.\.....|...............-\............|.................|...././.-...\..........|...........-...|...-.....\.... +.......-..../.........\|.....................|....../..|/./|..........|.......|-.......\\./......-............ +.....................\|......../-.............\...|...........................\.....\.\....................... +...|\.././...................|..................-.../\.-............\.-.........../............../.....\...... +.......\..................\..|../...........................\....\....\..../...\..\\./.-....................|. +...............|./...\..........|...|....\........./......\...\.............\.\-......|......-...-........|..| +.........-...........................-...-............\...\.\.................................-....|./........ +.-.|............-.....................-.................\..../......\....\....\....................|.......-.. +.....\.|......|..../................|......|.....-...\|../................./...................//............. +.|.........\..../......-........-............--...................../........|.......\.....\..........-....... +../.....|.|............-.................|\.....|....||...-..-....|/......................|.|-..-..........||. +...-............|.-.............-.....................\.|.............\.\............\...|........|...../.\... +\...........................\.|................................................/.|......-.......\........../.. +...................|....|.......|.-.............-..-\...-...............................|..................../ +/...../.....\............../...........|..|./...-.../...............................\........../|.........\... +..-.......|.........../.......|......../.......\.............../..........-|.................................. +...\.\........\............|......................\........|...\.............................................. +../..........--........|....-..............\..\.............\...................-........./...../..-.......... +..................|.................../\..-..|..................\....././..|......-.................../....... +-...\.............\..-..-.................../...|.|.........|../|./............/...../............../......... +.|\............................-....................|......./..............................|..-|...|.\........ +-........../...-....-.......................|...\........|.......\................../......................... +........................................................././.|..|.........\................/|........\........ +-.....\.........................|...........|..||..|......................................\...\....../.......| +....\...|........\.........................//...........|........-.........\..........\-.....\................ +....|........|.........../........../....\........|......-../..............|...............|.........../...... +......\................-...........|.................\...../........|................-........................ +...............|......|...\............\............/.../.......-.-../............................\......|.... +............-........-..../.......................\..-./.....\...................................-\.....|..... +...|...../......\...........\......\...\......./...........-../..|......................../...|............... +...........................-...../....-.....//................../..........-.......|.................|..-..... +................-...\.............\.../.../.\../...|.........-.\...../.................\.............../\...\. +.....-..................../......................................-...-............/...........|...-..........| +.........-..........\.\................-..\............................|...................-........./........ +...............-....../.....\...|.........\.../\.......-......|............\-.................|...-..........\ +.....\/......../../|......\......|.....--............|....../........-.../....-...-........................... +..../....\....|.............../..|........./............-.........................................../......... +.........../.................|....-..........................................................................\ +...-.....-./....................\..../.\\.................-.....-....|..\.....-....|.......................... +.....-..\..........|....|...........|.|....................................\.......-.../.../-.-........-.../.. +............../......./...-.......-..|.......-|..........\..............-.-....|..............\............... +-........../.........|.......................\....-........../.........\.................../.............-.... +.......-....\.....\..................\..../-.//.....-\..........|........................../....|.....\....... +..-./............./|..|........|...\\.........\...|......|.....\.........../.\......................\........\ +...../|.......\............../....................|.............-...........|......|....../.........../....-.. +.............-...-...|..\-.........................................|.......-.........|.........\.............. +......|......|............/.........................|.............\.............../....................|..-... +../../|\......|..//....../......................................................./-...................../..... +.....-........-................-.............|.-./..............|...-...../......................../..../..... +...........\......|.............|....|.|.........../........|....................\.\......./..\.\..|.......... +.\................/....................-..............................|...........\....\.......-....../.../... +...............|................-.....................................-..................\...............\.... +..........|\..................../............................./...............-.....-....-..|................\ +.................\.\...........................................-../......\.....-...............|...\.......... +..|....\............................................./.........|...-\.........-...\..|..........\............. +..................................|...........-....-./-.\.-..................-............................./.. +....................................\-.....\\...../..................-............-........../........-....\.. +...........\......./...../|\..../-....|........|.|-.....-....|.....||.....|...........\..........\....|.-..... +...\..........\./..............-........................././..........\././...-...........-............-...../ +\........\.....-..............................\................../.............-........................\..\.. +.........../.\...............-.\...-.....\............\....\......--.....\...................................\ +............\...............\.........\\....\....|......\.......-.................|...|....\.....\...\........ +.....|.....-............../............-............../.............../...................-......\...........- +..........................-...|......\.....\.......\........-................./..........-......../.../...-/.. +../........|....\........|..../...........|...-..|..........\............\..../........-................|.\... +..........-............./........................................-.......\.|/......./.................\.../.-. +......................\.........................../.../...../../.......|...................|............|..... +..............\..........-/........|/................................\...........................-............ +........\....\....../.......|.-........\........-..\.................................|.....\-................. +........\......|.\.................-..-.../.............\..................|.../.-.............-/............. +.|/.............-.\.........................|...|./........-...........\../...............\./.......-......\.. +..................-....|.....................-........|/.................\.........../..-.............../..\.. +......-......-.........../......................-......./...../.../.|........\.../....../............\.....|.. +...|../..................-.................\.....................\............-...........|.....|.|.........-| +..............................-...........|..-/.................|................................../.......... +.../......../.............-./.............|...../......./...|...........\..............-..........-....|..-./. +/..\...|...........|...........................|/................../......./......................\.....\..... +..|.........-........|..|......-...................\.........|...........................-.................... +../...-.....-.............../...|\...\.......|.................|.\.........-...................-\.........-./. +../..............................|.......|..............\...\......................\..........|............... +............/....|../....../.............-............................./......./.................\............ +/.....\...../.........../.............../...-.../\.....|.....|............|....|..........\.....\..../........ +....\....-/.........................|............-...........\........\...\.....\\................\........-/. +.....................-..-\...............././...........................\....-./......|..............\..-..... +................./........|.......-.-....................\.-.||...-.......\./.|./.....|...-.../......./....... +........-..-...../.......\.........................\.....././.\.../..|...../.................................. +.............|...............--.........../.|\/.....\.........................|..|.....................-...... +..........-...|.......\/...................|....../.-...-...|....................\..../.-...../..../..-....... \ No newline at end of file diff --git a/aoc2023/src/day17/input.txt b/aoc2023/src/day17/input.txt new file mode 100644 index 0000000..04d0721 --- /dev/null +++ b/aoc2023/src/day17/input.txt @@ -0,0 +1,141 @@ +111143231245512453233532231135242346643223434366453543664553534426223663625563233556655232522464453223446255523366641115221525545241115541324 +431121345255453245532513346436354562424226665435625542452543534236556535432235356366222264336444256255334564563564226352335454152333342425531 +211555234333213145543413562433332533444634432342622623343343455746676435745474465524463464332524462636562533446346254251543254415111115352424 +341511535443122253134546264233423566232562433526456565542774357646735536654673474477533643232255236632236625425666662645545552141115242422515 +341111243411143233254353542425566625642433362644332467546476655667755374563574564666444577323426235362444224643634223545235541134121215423153 +531254335432123321511666236453536252626542365563233477476436375343677375447543535337476464737335222455333555262365434346341345121543421555545 +352535514521514111243342542545234362225656644366655563365373766737565463557476566764463743673533232534423432654354532444434614515232111523231 +534444213321253145553225546453244552566243427573456456543553566474735356663557433377547454546773337365265654362565366242546625513555231514252 +323313551435534512622225362562263434433225636635664736767633535463645434646666633445555455344676663776363645426625355443264235342154354541551 +313344353445542136265245463656643456254675743474744556363764667356336334435764645543447755363434777747562523535253545462232443334115422245343 +411545355323353632256366354543644422255357345374367446347554465766367637555443653555375756736537575763375343236242446526465226534224412555332 +533131433141412662643523326542423234474465776365555735754776645376734774677646654667473753373634447774446536352326333564334433362123135411531 +512414542555163643526524526245525623733466554345447435364657576457576376563367444354735757756765547755635545232536536433564236626315454145425 +222144425355524633235543562342566454344764575745367646565574575636547773457356646456657637437547666745757773472565443652346664466335313555551 +425225555322663532264234233335563664747574765576347743444637647676737567333767356736363333744734647436646746476523664454633653546545122514442 +433432345135556643645433433353363575647663645376464776466577573557373364773353335555374554433464633534445576673653325425446624523422432115313 +331554441535436542646663554246654555367643355653745635636355676647567487764456667645455574637564434547453345476356634245324255236624234322155 +412551332642256525656556644673435575337544534765547457535765745875846744677848864748453556456475334367766655534547433255523464263563352324545 +443534155643554356242335334673736746664536333346353556577644664845484655676855576588488476647745635435535753465654355645265546422335564424541 +325113645335432555665355233555675344354467477467666744857886746774544874557756677867665777554343734443655754353756656432453432656526442431243 +435351452355523445664565747636637443475667333666457866648755647865645478687666547687547448455776553463657435344656637472443446523245236631254 +412143553424345325232454645555356743366537373758877467577647678654487674848784877787468644447756553677573465574353736576542332442522366564144 +431363252452364445356544557475337767655336557686768756474568654665465464884556855744876886546758447344734334637754557774553226363256242242651 +554256445333463534225356746736736743336763377746888675584476754588545785578747858657577787754874858864355637365443444365474546636352256656323 +425454462356554263636434334444466455765534574648745458464655777887654744458644875776467657545757755464375636667554445537457232633344456335351 +322453463334656455234546433475533746373377467777858787845857478676767845586566768464584884875677444488543533447537536376643424666645653654426 +432326546526255522353556547373665657473456445577748547665675868677547547785865454645454554774845748574876563377757437467553465624365666252336 +553526552222562635473565556657553364657548886884887656456865855666787554686645654858555566768654648745854464677634735446546732553642463664265 +664326265443345443746744735336634755665574447844755544578487644586454874856778477455686458576478578547554484667445666574665353445232224622335 +236532234245355276756476464355554554458887564887776455877644448447886868476548867546888764476866776558545547574453545467364757744326636223642 +632462455662552665443463346747745775658756746854568758745668675885889865596789855788675844755468675857556885843566367733464537666322366344223 +266666434363243576375767356665666877464755765578746575486748669688797696588866786698768646566485868545858886667435664777734463342523665555235 +443556525665656734577633335664448556655454678484454777545656666779696855688567966656964658877444685858567566545447466467443774467266252546652 +624455255224344733376335533753476658646544876564465586875955788776686876776867985856986576866568765548476654745754674775433435367623356456444 +262555462622446474437456377453868684444668468464476655987967866795876695585957798678969855857886488747765845586764675544766563666356435634332 +665624325625734563547365736536784556858567746767459867695988595777767769865658796865788965789678867667866557578674565534645577447432435556524 +333523334637534573776476636576557488766777764446687995988678876956786678875775556987997957898658565656667557575548444354657655335367544525324 +456466363423657475573575435664578688587455448765669969578697785989658879886787878568857799889578874487556756544556443334633446546536443652664 +222244452574756367757776634686545577855644575756668896567598879867997957659885755779787658957586658876446588645487856454536434636745444545545 +232636356457556536556365668745444488466474574987976697975796699686796855588666956768955895958675868455454458767755755376733663633374544556332 +332332622576377345736534646747554866678866788995569677878555787567775875779596796566579977885676656586446765845854744577365444454343372523366 +555664262474645377674577674647867577478684688557896658796655557657577765775656667969779597586797679965585456677454664556665646757366673426233 +356255527734373436547644678865777848585857997655679875687575776559878678858588867877856678657789789868858554664844468646634734744447367636636 +552366365773455644547347758554786677468775568778877797978995878598699565857955898857969565997667878757554646688678786867367546447363537255433 +234653475644663446373734847876648467867886788586887579567587799999866977967976866766799575567556897979657666685654448547664746376435346465542 +252443375445565446367565867885578575654575966679888956889877897698678786876967769856955595897679599865976488848485865647735437666446344436434 +243525237374773653566366744564464668675869676798668978579668697966669789967787689668989669967785588576658588654658478886653675446657763525423 +562444777554463656777574486488654468576556956965987679867969676669986697889777667866868559769957958968686745774765777755575354754635335676536 +264352744565456657667484888447847467598998779789689696779679766996889786776689888878996777588978666887977978585445584446655336663435446574336 +463534645476375645554684778858555786676885996565697889699888899766678879678998899799887896956567777585869788585685647484757343657653773563665 +432465634665435774545666885858845649887698657968779889688769778768696698686869888977969768555995578977568967465456666555784577674443567347654 +242537757554573534676885677655767659695959757675998797988778888678799667799866896879686987675557878578887699478448447774787663353534367754553 +524667356567664767788788786864867869567798856688887886998887976986998886686668767699776989677585877675977659745685675557555653563563733554246 +532356647776353655754665854564646466686577777586598677698878676969777768866697689778788897669979897577868888984565784456765466355374543736764 +353546744764545745656756586777658658697565657989587766697669768667797768668968778798869989666758756995866965667844757477467833575363475573665 +442363475553366336665585574875754767958869656955766897687769989798869789778887686787686676968967586798766967684684745655757855634753733757752 +663437377653673574868444644474888676596699778559668686678686966786679878697997667998668668679678775566688577957447548475848855753337766577654 +245676667643445744476584585486889868856958677757876786686678679686978889886998888999768868796876597559998755655765588557465675655453656434644 +623664534334746636755767677464487956975558566697767697896988988986888777988897867888887969667768658555778858798767857588765444464637377577456 +524435763477353755875846887578787556979997766576796978767969777889977779899788987687978888689776897659786666856748548645756774746364367376634 +252436533765577358467857485675499965699779976868778779896779686779787987877779796678799678678799677596566778799678664684774444556767456547463 +425573537536465645667877564778768875796687778666777866678866888788777997889889889698977679979667875765578958585784474754466784455733343567735 +464333643643774675646874764777889966956967776676876886799688979878878778878789889986887997868689965998667998898957544586884784556635746634644 +467634766367575447675444786885857898689798675679979967666789787898898779879998789996988787997866879557586768558865648756677648655653544434374 +343746456733555668756758766647798687656987598967767769799669777877779899879877997887788976797777786786686766555655656558576555537543536634463 +263736676335556377774776475777798578965889979797877679967769989798889889987997789799998866789986877778878665966865757677884784553474773577764 +436645433455747776854766587748677575858967897999889678767678779989877889979988889997876876767987687678559995869785556756658784533445456534364 +457333367374443446568888867558968899899755558786887989669778779799789777789789877797786878778769899759866986568874778856465478635343345547556 +653357365735437544784775777648977566996787598779866797796688878798979898888979997778969666688778767767968675685577484857666844654735677553374 +454465553543537354546566487886759755777886869789896779676678877997997979878787978898769888779699678677788756997994554564684577435566665665735 +645535635654537444576458775888989557678676898899899898879778777789998888888977799999876678677779969957869757677687688584466575575557463464574 +633446673336665785786556488457569967799656676688968667697989989999998988788999877898996869789799978989768599766594875486774675764367566653437 +365763544374353687774557856867888579757898686969676796986689878797978997979877977999799987889766778769957988885866744454548487444537747767446 +333636755475457746774775664885768689998686877878978686686998999898899898989888977798768997778786769665986876885655876855777745646444453543776 +257347366566556755557468747484878859559855958778679799887889887788997889779777777788977698668899997569799999896694654866676457747663766657374 +554664657744433558785576687586858965859676988969678669886988889998798779998998788898786688897788767697957657558568566856664764845635356777743 +437633353637643445485457545565887558959759869766978967769977997997797798898879888977777798877668879696986885979575658888674584733534445447645 +336773576566535576644748576564988895569965579877899669988897888788798979797979977997979687769689677585858655985875545766888476856753753775643 +447375436754766447678756554674875656886886797769889788989967878998987877797878888989798769897678795698885689978868887845785867854575334643545 +533774774334356485744844667888778799675896759697877967979877898888989779897787899796896869887878898896679879895846474568577556875467653377434 +526636647656677568754477458676456866878885686668989676699978797889989979777797888789689887999898765668796877998956878884644777453766767665573 +345776437655574577556784475666467865969688769689967879888899898787979977987989787869968767788798958965676985977558887786764565334636477577473 +462757555367744435776477675765555899756777555889787899796876786789979777799889999696968778897788975596967795797586768684467474533464663474556 +345335634367663334474446748788558686895898855886668998998877799988977999887787778696789977998687999799569767555576845465465587544735477547753 +352747473367547538454567786546446657585759898569988897798777688798687998988998969877688876686969789765886558558776665847888845556554375745442 +525653575563555774887556547555749798556987599756797867867689696667867966889689666776786689697968958698665787755764558846666855575573747534345 +326455665753733645448778877747875897567979969887898786977796667699978788696867677769979676996787658598765877957588784457484655764635365737434 +532467433765464655746576865775654596585859789697688867896988996977778898788669689878989769996769668658678679877544854467444775477564333674625 +335554544454457654447885484444866987787685589987766897996999779767969767678887676699997786677685669976768778997556877487444743767346766557456 +266536345774333444487446686656585797768599588595599776878699669999678767879886989896988777767965756768698777544665754856565457554453756356643 +342464363736646775655856546787754867795697769679858888796987869768899868797687697688878796789895765557688688985446585777584467466735366644363 +523237467646754656468466848574555667758689797896579777988779889977689668778896667696797676667785685755986597446645664545687753465567453354335 +323327756536477335755748475656576547887995887876985968976869696887779786776968996997867687879755599699567657755468776866885345435457655334225 +465352366554666376467456666544455546795667757799755996999978667976979767898877678768888758985566989859967794845764466677657453363336553674426 +555533553546357444765675856588657557878975766698966577867797677999988677666767968786787775798789997676876774564485686564547464355336356456634 +653433475335664753473446858774765764677666859687678977599767969767797969796977878998788799568865956576659644565846455864883376645435553556424 +565624333374353367374378478655648748848595599966858998869589999997986786677787987969558898667876766679797576857877576788664777573454645755524 +243444333564746346366668646545674655784777777596558976769676598668789667999889879766877787867797657978894768877458688756477776644647454654652 +323463545665546577475645558786854468657757569879597766865559566996799678799877666898856695986577997898647684875678677855454775654547364424426 +444345546665673463753634768476874774848587769865579789687878579978877559996587865859858789976885557859466565567686888557474764574774566345235 +463425647566774574744333678886747686865457799567576858589676667856577976986668978996686799577977886677544648876855645547444577633464636553523 +525644666573444644576675468484675575784565795957567577578956797786787796869877557895769667588675596744747766568788564546563666667763666225253 +434232334334645346434743378448585848667846577675678568857556598869978967698795766555887989895656586784848574867846777433673543643643345636354 +536245546237555656364544635858554588856888685777969769765876857989857999778897756695765797865577585676877858667674464376646773636576723344236 +563432433237543453765335674454676568784657684785679757868567556875775895977656667977959855575979944776757767668868556665477773367647645655455 +345662256237647446335653655474847777777457855878575955988896666669879768598869889768857697696556455457585858777745474363376763373677455666452 +236454255236363665663365567376855855468585857577666775857999657659868999786755866568579898667756458558654648847578447446356744353365436332433 +236656544552467767567677567448876458465585754786588555756756796978557899579678886778787886777445766574578586476464377437556375345344545245426 +662325463226374566436333654547585676688868454444785599797776865969998677956976597586658865956686866776584577484553367473533563564746536336443 +645354345344537355546665737533754846786764888785557644675696956878965869566966978688779976776866567854756646786873676654337473445524622236626 +233264254235366666736346437575764477565768544667785545578799879958588586787879788669995878745846576785646778646655574347764645533625345535563 +432433242246235746473543477553563665775475774755874587665558965695658699586897695998868747444878848474546545784334377573356763473236426645266 +243532622522636755753437535657447776765475565645845684687588454765579856966696756574665577485786546848546585774336373636476643336442355233566 +424366665443243666567346434354557355888674468846456668847655454648844584447647747545884765768788475648857654773677576566637647654653266642645 +355566553355543667644766357475663334576684855756856557474768868686854785488845464657775755684775878866867574456477457355345767654443322524456 +252226355555353432774774553656764464764766745687577646548754448444648855656476668476765857676478568588685475446655746336375532535436262246655 +124465325536222534633336746764356663557877585584548488677874547445477547864878867577864565556567445544564676546443567455743324244266455364265 +444646453636346242245546654333667346776464746865665867844474866746647865554675844644775465548557754474556375345735665646364353323526625624235 +412366252635624522466346354375765373635554864778855885678875757885648677787758444554675487467557768856743453437365564667776246434655322223525 +155662534242554334526573346673376775437747347484686774778445745547688488858484846876546748684767564753677657367475756735363326425522532252354 +111522322233565252443476336555573575463347454766857665787786477486485455577564475876657687767758584655535533636353747434645522266562523335624 +542422536235454325532645676434563747567556555574458874646877684645545674855674568675844866465685676443356746355677555555666633655263646665442 +211224626424363426643222663657775566775366634363464577678645547647756688757557454788857466767766573445336567467663545634344363446256343542532 +524353365435226556556322567464746534674443466757337368478575456847447776487687768855745786663475737763753364433366577364223462546556234245115 +351231443465264363362336352643774674346454366777533445747664448478677857785488484766644654674764373357565474433475733244565424353322356533151 +554223355636366655362352555655373675564737667663367637476378475656775876558465484467733734736556746773634646373557532336625245362343245314352 +415315224565323443623244633253477545773643635677437734464354663476745457476448456747555563574755374344343366743744432254533234544233652442452 +155321252324634365262226535534446766435373535475553354733776334766573455373756333733573667436757467643766753335642442322554323423224452212311 +554231145244425252354633334356244765663464645674467736446536735636374435547767747353673645457676564473344375654424643234566252323463342424331 +145124531215355646265623243325355765435544464565637674665536435365374465373674364755336673456445565567547775765322264364462642335223541214445 +245544533254142563235523522653435334444477535443567574737475663654776577746444777346766467745333753447653577332363336365532325543231234334451 +251214311244114545554462446423624626676363375354453335776637374775465676343453547674544736356577777464764476336235452444566243644313151353524 +251353112524455635524245344436546325534376365643536356555677555675344355745373347466346575334347466467665642344265334364324562252124525455152 +454211332313421263343625436544345634543275377555633667545444553367537367674333374344744754673653556564665546434666555266442463652431455221541 +115242354251513424524244565345324542344352356476443353667354646467467637463545337377445445357757536673532523352342633456335464421222514545231 +234551552324343221533222663526446236435634463664377555475474346673535434445744753657775466665644563245222634266653436345463353354354144115325 +325412113545232114263462446356336532466543425623356673677337363765363633556375433575757664356773345344465345555625252465465324322523535532422 +533444522324551243515564322652262342524325235554667764445446656633535736363765574763563335776423624463325533625243355442245443123534323312511 +334123531454531311142443565534562563644542436563665634765457377675756443636777543663643633363324553544365344443234345365224343523341515544422 +425513541335541443232314324425223643632666545263242622235765443475754557635364446664563322663626426463256624543536634556155552222222255121512 +443141524454451431355221565364643463663664635262463364522342652467643777543675336434624463452333536354565653344664465611411152424331223125543 \ No newline at end of file diff --git a/aoc2023/src/day18/input.txt b/aoc2023/src/day18/input.txt new file mode 100644 index 0000000..0e3c331 --- /dev/null +++ b/aoc2023/src/day18/input.txt @@ -0,0 +1,676 @@ +L 7 (#1dc5f0) +U 6 (#4497e3) +L 3 (#3b21c0) +U 3 (#3d8523) +L 9 (#58e7b2) +U 8 (#35d213) +L 10 (#329390) +D 3 (#1302b3) +R 7 (#07f802) +D 8 (#38fbd3) +L 7 (#6d0e72) +D 6 (#2c2493) +L 5 (#38b7d0) +U 6 (#2ab7b3) +L 2 (#0ce560) +U 6 (#2ab7b1) +L 2 (#2f6940) +U 2 (#2a5a83) +L 3 (#477150) +D 11 (#0baea3) +L 4 (#3899c0) +D 3 (#34a803) +L 5 (#55c0d0) +U 9 (#328483) +L 2 (#460290) +U 5 (#48cfd3) +L 4 (#1e3150) +U 5 (#3b7ea3) +L 7 (#2c0a10) +U 11 (#51d803) +L 4 (#39fe80) +U 3 (#51d801) +R 10 (#2938e0) +U 2 (#1c17f3) +R 4 (#0df9a0) +U 3 (#579691) +L 8 (#354a50) +U 4 (#3d0131) +L 6 (#1029b0) +U 7 (#0c19b3) +L 3 (#5f48c0) +U 2 (#0c19b1) +L 4 (#15ff10) +D 9 (#0f08b1) +L 5 (#1c8160) +U 9 (#573b71) +L 6 (#2d58e0) +U 3 (#479121) +L 4 (#1c7bb0) +U 8 (#34d583) +L 10 (#416f10) +D 5 (#34d581) +L 7 (#59af90) +U 5 (#24a821) +L 9 (#196ca2) +U 6 (#1f89d3) +L 4 (#6b4812) +U 2 (#1f89d1) +L 6 (#32e5a2) +U 8 (#5eb4c1) +R 7 (#5bffe0) +U 10 (#3f8051) +R 8 (#29ac30) +U 4 (#495a21) +R 7 (#3b4e10) +U 2 (#52d3a1) +R 7 (#1e27d0) +U 4 (#09ad83) +R 8 (#385530) +U 4 (#218943) +R 3 (#0d8de0) +U 3 (#218941) +R 3 (#3ac220) +U 12 (#09ad81) +R 3 (#08aa80) +U 5 (#33c7b3) +R 2 (#37a350) +U 3 (#6808c3) +R 11 (#355310) +U 3 (#6808c1) +R 3 (#14fbe0) +U 6 (#47b293) +R 6 (#28ab80) +U 3 (#37d873) +R 4 (#607702) +U 2 (#3d77a3) +R 4 (#18a432) +U 3 (#26ee23) +R 10 (#0ba7e0) +U 3 (#0b2863) +R 7 (#604a60) +U 7 (#477053) +R 2 (#0a1210) +U 4 (#2f7e63) +R 9 (#0316e0) +D 5 (#1372d3) +R 10 (#382a30) +D 3 (#2da293) +R 3 (#100920) +D 7 (#5267e3) +R 2 (#66c240) +D 4 (#1c94a3) +L 5 (#2d7770) +U 5 (#2c0061) +L 7 (#4181c2) +D 5 (#1f97c1) +L 3 (#4181c0) +D 4 (#2b79b1) +R 9 (#1bcaf0) +D 4 (#04de93) +R 2 (#010a22) +D 4 (#599823) +R 3 (#010a20) +U 6 (#189b23) +R 4 (#38f770) +U 9 (#452e51) +R 3 (#2551f0) +U 6 (#333c81) +R 6 (#0554d0) +U 5 (#411e13) +L 4 (#487840) +U 10 (#411e11) +R 4 (#2c69e0) +U 7 (#13c311) +L 6 (#164330) +U 4 (#7449a1) +R 10 (#467570) +U 5 (#47fcc1) +R 2 (#13e090) +U 5 (#2e45a3) +R 4 (#0f97a0) +U 9 (#129b03) +R 3 (#46c520) +D 9 (#11dcf3) +R 4 (#0d0e42) +D 4 (#05ca31) +R 4 (#56d742) +D 2 (#05ca33) +R 6 (#1e5ae2) +D 3 (#56bbb3) +R 9 (#1ce6b2) +D 5 (#039d83) +R 2 (#3f1c90) +D 4 (#198063) +L 11 (#3cf8a0) +D 7 (#198061) +L 3 (#2311e0) +D 4 (#401ab3) +L 7 (#46c522) +D 5 (#2d4703) +R 6 (#0f97a2) +D 7 (#053643) +R 6 (#603110) +D 12 (#2ab333) +R 2 (#25d970) +D 3 (#1956d3) +R 5 (#528eb0) +D 2 (#3a55e3) +R 5 (#1aa8d0) +U 5 (#29e981) +L 5 (#133d80) +U 8 (#559581) +R 5 (#133d82) +U 4 (#298e61) +R 3 (#0ed762) +D 5 (#481221) +R 4 (#0ed760) +D 9 (#3a5a61) +R 4 (#265580) +D 3 (#241031) +R 3 (#2bacb0) +D 10 (#4e8481) +R 4 (#4f2bc0) +D 10 (#47fcc3) +L 3 (#15d6f0) +D 9 (#6a0e71) +L 5 (#3cc390) +D 4 (#2fa353) +L 4 (#272140) +U 5 (#029653) +L 3 (#428820) +U 8 (#23f923) +L 4 (#036c82) +D 4 (#3315f3) +L 7 (#663ce2) +D 2 (#09be53) +L 8 (#075c00) +D 5 (#552f63) +L 5 (#662630) +D 2 (#3e3fb1) +L 9 (#543310) +D 5 (#2b6db3) +R 8 (#06d960) +D 2 (#2b6db1) +R 3 (#570160) +D 6 (#441a91) +R 6 (#2f24e2) +D 11 (#2ca451) +R 7 (#5700c0) +D 5 (#36e6f1) +R 3 (#5700c2) +D 8 (#374141) +R 5 (#2b1072) +U 11 (#489e23) +R 5 (#456682) +D 4 (#522e63) +R 3 (#127202) +D 7 (#65dc21) +R 8 (#489d40) +D 3 (#686b21) +L 4 (#107ca2) +D 7 (#2271a3) +R 4 (#148da2) +D 3 (#34bf71) +R 2 (#70b522) +D 9 (#34bf73) +R 8 (#49a172) +D 6 (#2271a1) +R 3 (#138232) +U 4 (#3e4511) +R 4 (#0bb2b0) +U 8 (#2958d1) +R 5 (#1df330) +U 3 (#23af43) +L 5 (#4bbaa0) +U 7 (#23af41) +L 4 (#125270) +U 9 (#41ec91) +R 2 (#222ff0) +U 5 (#2936d1) +R 8 (#2e2310) +D 5 (#2e05a1) +R 3 (#0ae0c0) +D 11 (#074021) +R 7 (#52f6e0) +U 2 (#074023) +R 3 (#590720) +U 6 (#469f01) +R 3 (#34f792) +U 7 (#002dd1) +R 4 (#409522) +D 3 (#002dd3) +R 6 (#149f72) +D 5 (#1cc8f1) +R 5 (#095222) +D 7 (#3eab71) +R 3 (#236082) +D 11 (#3b3d71) +R 2 (#6e2530) +D 3 (#0887f1) +L 6 (#1795d0) +U 7 (#21f2d3) +L 6 (#194240) +D 7 (#2e0d03) +L 3 (#605a50) +D 4 (#257243) +L 8 (#0a5380) +D 7 (#2b70c3) +L 4 (#428fd0) +D 8 (#5b1513) +L 6 (#1bf3f0) +D 3 (#341241) +L 3 (#1f7ea0) +D 8 (#2eda01) +R 6 (#527980) +D 7 (#62ec43) +R 10 (#156e00) +D 5 (#53ce33) +R 4 (#3a5f20) +D 3 (#2f3bb3) +R 6 (#5dacd0) +U 4 (#47f0e1) +R 6 (#538c70) +U 4 (#32a283) +R 8 (#27c140) +D 9 (#198283) +R 6 (#1b5ba0) +U 9 (#15de53) +R 4 (#037d60) +U 7 (#373ac3) +R 7 (#282640) +U 7 (#33c993) +R 6 (#2f6bc0) +U 4 (#236a23) +R 5 (#4977b0) +D 4 (#076301) +R 6 (#56dc60) +U 3 (#30afb1) +R 2 (#720272) +U 8 (#2b0fc1) +R 7 (#19ac60) +U 7 (#07ff61) +R 3 (#585610) +U 2 (#4969b1) +R 7 (#56dc62) +U 5 (#029821) +R 9 (#60a4e0) +U 8 (#1688a3) +L 4 (#19a5b0) +U 3 (#20db03) +L 7 (#1a7950) +U 6 (#1ab903) +L 8 (#463660) +U 2 (#449963) +L 3 (#11ec80) +D 4 (#206da3) +L 8 (#1057b0) +D 6 (#17ffa1) +L 8 (#6cda70) +D 4 (#26df51) +L 3 (#001d70) +U 9 (#3e42f1) +L 5 (#55e962) +U 5 (#138341) +L 6 (#0c3e52) +U 9 (#4ae8f1) +R 8 (#0ad032) +U 7 (#14e3b1) +R 4 (#5a3b70) +D 7 (#1dad81) +R 11 (#3d8e92) +U 6 (#441b61) +L 6 (#20de92) +U 10 (#55efb1) +L 6 (#1d72c2) +U 10 (#1469a1) +L 6 (#21f4b0) +U 4 (#49b921) +L 2 (#560f10) +U 10 (#49b923) +L 3 (#03dc20) +D 6 (#249e01) +L 7 (#6859d0) +D 4 (#0947e1) +L 3 (#5d3fd2) +D 11 (#2c3801) +L 6 (#26cab2) +D 4 (#1f5b51) +R 13 (#0fcc92) +D 3 (#638131) +L 7 (#404362) +D 2 (#6cc863) +L 6 (#1d8d62) +D 4 (#161423) +L 6 (#595612) +U 7 (#09d071) +L 4 (#10a5d0) +U 4 (#633011) +L 8 (#3cddf0) +U 3 (#3a8471) +L 7 (#407050) +U 7 (#00b9a1) +L 3 (#2537e0) +U 2 (#00b9a3) +L 5 (#3a9220) +U 5 (#212a31) +L 7 (#572a62) +U 5 (#0b0ea3) +L 4 (#52f702) +U 6 (#0b0ea1) +R 6 (#077262) +U 9 (#116db1) +R 7 (#688352) +U 8 (#37c5e3) +R 7 (#23b522) +U 3 (#37c5e1) +R 6 (#4a4aa2) +U 9 (#57bf21) +R 4 (#60ae60) +U 3 (#06dc81) +R 3 (#47d900) +D 4 (#587561) +R 6 (#2940e0) +D 8 (#1268d1) +R 5 (#0ec482) +D 6 (#38b6c1) +R 6 (#59c532) +D 8 (#2e4421) +R 6 (#0b8022) +U 5 (#410a61) +R 2 (#7409d0) +U 6 (#28e351) +R 8 (#15d2e0) +D 4 (#12ab01) +R 5 (#100f80) +D 6 (#44c953) +R 4 (#33eef0) +U 6 (#23c7d3) +R 5 (#4696e0) +U 4 (#222123) +R 9 (#26d070) +U 9 (#4cec13) +R 2 (#560af2) +U 6 (#5099a3) +L 11 (#4b4b52) +U 4 (#10b4e3) +L 8 (#40e6b0) +U 6 (#1c6173) +L 5 (#2e31e0) +D 6 (#3d8c01) +L 7 (#1cc6f0) +U 9 (#083731) +L 4 (#463da0) +U 8 (#1cb711) +R 8 (#0b4110) +U 8 (#2252b3) +R 10 (#60b900) +U 7 (#2252b1) +R 8 (#0ce680) +U 5 (#467f81) +R 9 (#0ad0b2) +U 2 (#359203) +R 9 (#67bc02) +U 9 (#359201) +R 4 (#0653e2) +D 3 (#281ca1) +R 9 (#1b8ee0) +D 6 (#0b3861) +L 8 (#336f02) +D 3 (#3201f1) +L 4 (#4a85a2) +D 7 (#111eb1) +L 9 (#1c9c90) +D 7 (#145011) +L 11 (#083be0) +D 2 (#516321) +L 6 (#083be2) +D 9 (#20bb21) +R 5 (#3d8030) +D 6 (#404031) +R 8 (#642420) +U 4 (#56cf61) +R 7 (#55c610) +D 4 (#20d1e1) +R 9 (#1b5e10) +D 9 (#1e85d1) +R 9 (#361f10) +D 3 (#3d69f1) +R 9 (#16da12) +D 6 (#2d6471) +R 5 (#5d9642) +D 3 (#4656f1) +R 6 (#44b540) +D 8 (#2b6131) +R 7 (#2ce630) +D 7 (#2b6133) +R 3 (#61b2a0) +D 4 (#4c2661) +R 4 (#3b7372) +D 8 (#01ed73) +R 5 (#4c3962) +D 3 (#01ed71) +R 4 (#4ba142) +U 9 (#4377f1) +R 3 (#1deb32) +U 6 (#3f3323) +R 3 (#22b722) +U 7 (#37bc13) +R 3 (#1918d2) +U 4 (#13c8b3) +R 5 (#1918d0) +D 12 (#3e4d83) +R 3 (#22b720) +D 5 (#0cefe3) +R 5 (#2bf9f2) +D 9 (#3122d3) +R 8 (#41a3e2) +D 10 (#3122d1) +R 8 (#0b6e02) +U 7 (#266641) +L 4 (#5a1cc2) +U 5 (#060d11) +R 4 (#32ff32) +U 7 (#446c91) +R 5 (#319c82) +D 3 (#446c93) +R 7 (#1bf562) +D 2 (#44af13) +R 6 (#6f3132) +D 6 (#312433) +L 5 (#489da0) +D 5 (#53a343) +L 8 (#489da2) +D 3 (#5a6673) +R 7 (#0f0f92) +D 6 (#01b8b3) +L 3 (#3c6b12) +D 5 (#725613) +L 10 (#114b12) +D 4 (#14ace3) +L 8 (#30d292) +D 9 (#1ebac3) +L 6 (#3c4292) +D 7 (#39e2a3) +L 2 (#1f3882) +D 4 (#658381) +L 3 (#0b0252) +D 8 (#699e71) +L 10 (#2b4ae2) +D 2 (#1ac903) +L 5 (#60cef2) +D 4 (#515ea3) +L 5 (#4d3790) +D 6 (#354183) +L 4 (#398170) +U 3 (#7163a3) +L 10 (#398172) +U 7 (#0608f3) +L 8 (#4d3792) +D 4 (#06c7a3) +L 7 (#5819c2) +D 5 (#17c3f1) +L 3 (#0c8892) +D 5 (#67f951) +R 6 (#3ff470) +D 12 (#397601) +R 6 (#3ff472) +D 4 (#4f6451) +L 9 (#665a22) +D 2 (#1705c1) +L 3 (#14df92) +D 7 (#4b40a1) +L 4 (#1fa1f2) +D 5 (#3b7231) +L 10 (#063e12) +D 7 (#2a8fb1) +L 4 (#6b71e2) +U 4 (#218101) +L 4 (#2e2f52) +U 4 (#221411) +L 5 (#200732) +U 5 (#0ac7e1) +L 9 (#50af62) +D 9 (#4b7c81) +L 3 (#50af60) +D 4 (#2b9d31) +L 13 (#4766d2) +D 5 (#25ef21) +R 3 (#119862) +D 2 (#517a31) +R 4 (#3e6072) +D 10 (#21cfa1) +R 6 (#4437f2) +U 12 (#30f031) +R 4 (#036652) +D 7 (#453c91) +R 5 (#05ea22) +D 10 (#2da1e1) +R 2 (#4da5a2) +D 2 (#2da1e3) +R 6 (#2bffc2) +D 9 (#453c93) +R 9 (#4ed2d2) +D 3 (#141b71) +R 9 (#3ecad2) +D 5 (#234873) +L 11 (#3c4982) +D 3 (#2ed113) +L 7 (#3c4980) +D 7 (#4a6553) +L 8 (#49bf02) +D 8 (#337011) +L 9 (#2eb772) +D 3 (#690ec1) +L 2 (#25f0a2) +D 7 (#62eeb3) +L 6 (#1ae012) +D 7 (#34e643) +R 6 (#382a72) +D 7 (#281183) +L 11 (#271932) +D 4 (#470d23) +L 9 (#4ca812) +D 4 (#6f1ea1) +L 7 (#4702f2) +D 8 (#34e641) +L 4 (#155c42) +D 10 (#62eeb1) +L 7 (#3a2422) +D 4 (#3f7ca3) +L 9 (#39b860) +U 4 (#5cf1c3) +L 13 (#39b862) +U 4 (#4751f3) +L 4 (#322dd2) +U 4 (#539531) +L 5 (#4171a2) +U 5 (#539533) +R 9 (#075042) +D 5 (#1e57d3) +R 7 (#5cc952) +U 5 (#0ac0d3) +R 6 (#1af522) +U 9 (#374273) +L 4 (#2992f2) +U 2 (#299893) +L 4 (#267bc2) +U 10 (#47af63) +L 3 (#282402) +U 4 (#06a063) +L 5 (#5cce72) +U 9 (#47fba3) +L 3 (#1168e2) +U 10 (#3b1071) +L 4 (#178c22) +U 3 (#42b971) +L 5 (#178c20) +U 8 (#1dca41) +R 9 (#442912) +U 8 (#5b9241) +L 3 (#1da682) +U 7 (#31ff23) +L 10 (#3cd732) +U 5 (#33bab3) +L 5 (#159fb2) +U 4 (#2e5d93) +L 7 (#5f9702) +U 4 (#5566e3) +L 4 (#0ba292) +U 8 (#07f963) +L 3 (#410a02) +U 3 (#6ace93) +L 5 (#0913a2) +U 2 (#21a553) +L 10 (#3d71a2) +D 6 (#25ff63) +L 5 (#5285b2) +D 8 (#3cfc73) +L 3 (#13aba2) +D 7 (#24a793) +L 4 (#29e4c2) +D 12 (#1dc4b3) +L 5 (#3cb102) +D 8 (#5b8433) +L 5 (#3cb100) +D 7 (#22d9f3) +L 7 (#6db9c2) +D 6 (#4cd683) +L 6 (#083f42) +U 11 (#09bbc3) +L 5 (#609002) +D 7 (#12b603) +L 7 (#041be2) +D 8 (#4f3823) +L 5 (#5a3412) +U 7 (#14de13) +L 6 (#036ee2) +U 5 (#442823) +L 7 (#6c5502) +U 3 (#2edcc3) +L 9 (#3b6b72) +U 8 (#321e73) +R 7 (#48e5a2) +U 6 (#2fbec3) +L 12 (#44ed12) +U 6 (#0c1893) +R 12 (#61a8e0) +U 4 (#073043) +R 4 (#0d47c0) +D 6 (#469b63) +R 2 (#047ae0) +D 10 (#39b7d3) +R 3 (#2492d0) +U 8 (#2026f3) +R 3 (#73fb40) +U 2 (#201333) +R 3 (#372f72) +U 2 (#2c6143) +R 10 (#615ea2) +U 4 (#355653) +R 7 (#3876d2) +U 9 (#080463) +L 8 (#3af4b2) +U 10 (#6840e3) +L 3 (#5472d2) +U 9 (#005683) \ No newline at end of file diff --git a/aoc2023/src/day19/input.txt b/aoc2023/src/day19/input.txt new file mode 100644 index 0000000..8fb7e78 --- /dev/null +++ b/aoc2023/src/day19/input.txt @@ -0,0 +1,766 @@ +xhs{m>3771:A,a>2552:R,A} +smp{a<3732:R,m>1999:R,x<925:R,R} +zkk{m<2240:R,a>3345:R,R} +nqz{x<2056:R,a<3165:R,m>1748:A,vx} +mm{x>486:A,m>3523:R,A} +bg{s>3338:A,kgm} +qf{x>537:gqx,bqz} +lv{s<2341:sc,s>2505:rtm,xqj} +bv{a>2574:rvm,ncd} +ssz{a<729:A,m<3390:ld,m<3772:A,R} +gm{a>3900:A,m>2508:R,x>744:R,A} +ts{m<642:R,m<843:gmm,s<325:gf,A} +rtm{x<2920:A,m>3132:R,R} +qgz{x>2082:hvx,a<1490:A,s<3742:R,kks} +kpf{m<2390:cm,ft} +ghn{a>2066:A,s<3291:R,a>2028:A,R} +mkx{s<975:R,s<1112:A,m>756:A,R} +tg{x<3668:A,x<3835:A,ftz} +chj{x>733:R,a>3064:R,qs} +ndl{x>2773:R,x<2370:R,R} +dsq{s>838:A,s>496:A,m<2191:R,R} +jl{m>1219:A,R} +chh{x<973:R,A} +fxv{x<2543:R,m>3368:A,s<3567:R,R} +qvl{m>1648:A,R} +fpb{a>1367:R,x>2441:R,a<1220:A,R} +tph{a<2677:tss,R} +cnc{s>1274:A,a<3947:R,A} +cz{m>2865:R,a<3514:rm,s>687:xsr,A} +zzq{x>76:A,A} +vp{x<162:A,R} +bth{x<1859:zmq,a>2455:hq,mb} +rm{x<1253:A,R} +ndq{s<390:R,x<2982:A,m>3468:R,R} +vdh{x>2464:bx,m>3276:fj,ffs} +bjc{a>3069:R,R} +sqk{m>3029:R,s>130:R,sln} +xl{x<2157:A,R} +xrs{s>3440:qgz,a<1479:qsv,xt} +dnt{x<538:qc,m<1343:jqh,x>645:fm,jvb} +pms{a>2603:R,A} +lf{x>390:A,s>1617:A,A} +dvm{s>1052:R,R} +mnc{x>2703:R,A} +rxt{a<595:A,R} +pb{s<3737:ngp,x>3125:A,dbk} +zr{a<2605:R,x<422:R,A} +pd{s>1915:xhs,zpl} +vm{a>2377:R,R} +in{x<1629:dv,nfq} +xdt{s<1791:fpb,chl} +gg{s<393:fd,x<2091:dg,tz} +xsr{s>1167:R,m>2006:A,a<3531:A,R} +qs{x<719:R,x>726:R,s>2919:A,R} +kgm{m>2140:R,s<3253:R,m>1246:A,A} +gvv{s<3124:flg,m>3004:jxl,x>2411:vf,hfg} +nv{m<3088:A,a>1588:R,x>3499:A,R} +lx{s<3277:R,a>2880:R,A} +cls{m>3314:gt,kpv} +ct{a>3320:R,a>3189:A,s<2328:R,R} +bqz{m<1572:rjv,x<437:R,s>1572:mzn,td} +qm{a<1975:A,s>623:R,A} +zx{m<3520:R,s>1981:R,a<2633:A,R} +hbk{a<1441:A,x<2151:R,x>2450:A,A} +zp{a>2928:A,R} +njc{x>225:R,a>3543:A,a>3524:A,A} +dt{s<467:R,a>3868:R,x<1448:A,R} +qlj{a<1744:A,s>1375:A,R} +ln{x<546:dk,x<1088:jm,s>996:sdr,grf} +zxc{x>1220:R,a<1570:R,a<1721:R,A} +hqv{x<1168:A,a<3325:cs,zkk} +cfx{m<1777:R,A} +tb{a>3324:A,a<3310:R,R} +fx{a>2975:R,x>2219:R,A} +rnm{m<3699:A,a>1555:R,R} +zpl{a>2213:R,m<3703:A,R} +zvm{s<3648:R,x>2112:R,s>3879:A,A} +gkt{x>1247:A,m>2344:A,m<1950:R,R} +qfz{x<37:A,A} +dq{a<2482:A,A} +gpj{m>2417:A,m>1980:A,tq} +khx{s>3504:R,a>633:A,s<3211:R,A} +kh{m>629:A,A} +zg{a<2645:mg,s<259:sqk,x<2942:gg,md} +sxj{m<1304:xlx,lh} +lh{m<1742:bb,x<2813:rh,m>2090:qhd,bv} +jxg{a>3806:A,R} +sg{a<3432:nn,m<1550:pp,m<3113:ps,js} +pck{m<1755:dmv,s>3255:hb,s>2954:lfz,ns} +xqj{x>2860:A,A} +hm{a<3006:R,A} +bbv{a>3355:rf,s<1113:hqv,m>1976:qzk,zxk} +rpd{s<3371:R,A} +jzc{s>1320:A,s>1117:R,s>948:R,R} +mjp{m<3107:db,x<3329:lsq,x>3386:jgq,R} +chl{x>3157:A,m>2688:zq,tf} +ffq{x<2660:hbk,s<2231:cvs,A} +pv{x>662:bc,m>2737:fn,scz} +rf{x>1195:A,x<1012:R,hp} +mg{s<320:mnc,ndq} +md{s<368:ks,a<2900:A,a>2968:A,hxd} +rb{s<976:R,A} +cvv{s<1568:R,s>2041:A,a>2529:R,R} +hvx{s>3628:A,m>1706:R,m>1033:R,R} +fhg{m>3499:R,a>2802:nm,R} +cm{a>793:gnt,s<342:vg,dl} +mzt{m<1547:R,A} +cf{s>3282:A,R} +vr{m>1574:zzp,cfl} +vbd{x<446:R,m<2633:R,A} +mdz{a>2230:A,A} +dck{s<2674:R,m>1804:A,m>1642:A,A} +dk{x>356:A,R} +sxr{m>1197:vq,qzn} +sl{a>3532:R,A} +rhf{x<592:A,m<3490:A,A} +hp{a<3393:A,a<3436:R,x<1078:A,R} +sln{m>2771:A,R} +hq{m>3351:A,x>1966:A,m<2756:R,R} +bm{m<2254:R,hpt} +vt{m<3667:R,x<1031:A,A} +dv{a<2349:npz,a>3297:tck,x<703:gq,lm} +ddj{m<1813:mfd,A} +fln{s>2720:A,R} +xft{a<198:A,a<267:R,m>3094:A,A} +xdr{s<2440:R,m<1370:jcs,a<1346:rrl,R} +hxc{s>3518:A,a>1208:R,x>3051:R,R} +bc{a>3542:zb,s>1446:sr,a<3492:pjm,cz} +lfz{a>3921:A,m>2651:A,s>3077:qj,A} +qmk{m>2209:A,R} +bt{m>3699:R,x<2709:R,m>3441:A,A} +cfn{x<203:R,x<238:R,x>260:R,R} +hbb{m>3171:R,R} +xz{a<1217:A,m<3348:R,R} +tz{a<2930:A,A} +cvj{x>3663:A,R} +kb{x<812:A,x<882:R,m>1354:R,R} +fgc{a<3044:A,m<3797:A,a>3181:R,A} +gz{a>2501:R,x>662:R,A} +gs{m>2349:pbh,xc} +cxt{m<648:A,R} +qr{s>3439:A,s<3200:A,s>3359:R,R} +mvk{x<310:A,A} +rfx{a<3471:pb,jrp} +df{a>2425:R,a>2173:A,m<2169:A,A} +lkv{x<1956:R,m>2601:jvg,zvm} +fgv{a>3335:R,a>2798:hck,pqd} +tn{a>3644:R,m>3271:R,R} +vhl{m>3441:pd,lt} +lg{x>214:xjz,jmz} +dkl{m>979:R,x>271:R,a<2808:A,R} +pdp{s>2793:R,A} +jjf{a>3211:R,A} +tv{s<2116:sx,xsq} +gnt{m>1411:R,x<2631:A,x>3267:A,R} +lnj{a>2864:R,A} +jd{x<275:cfn,s>860:jzc,mvk} +zzd{x<1338:A,a<3957:R,A} +xlx{m<789:jqs,dpd} +hql{s<2258:cb,x>815:knq,x>758:vlq,chj} +qsv{m<2600:A,cg} +bb{a>2571:rth,m>1465:A,x<3017:R,cp} +dz{a>2559:gs,qf} +ps{s>3207:R,gkt} +mf{x<611:R,A} +gp{m>2489:zdd,x>227:R,gnc} +hv{a<3335:R,a<3515:A,R} +klr{x<295:A,m>520:R,m>218:A,A} +zq{x>2372:A,R} +zf{a>1674:R,cn} +lm{x<1313:hgj,txn} +npz{s>1686:rt,kt} +qdh{a<2898:R,x>2218:R,A} +pz{x<2285:A,A} +hdf{m<2720:A,A} +bmc{x>3617:rcl,hsb} +zh{s<1038:A,a>2811:R,R} +zfz{x>2711:R,A} +sgr{a>3615:R,m>1350:jjj,a<3585:A,A} +qvk{s>2967:R,m>3342:A,A} +pqd{s<99:A,s<208:A,x<2116:R,R} +tbd{x>3755:A,a>441:R,A} +nn{x>1301:fln,pdp} +hxd{m>3170:R,m<2811:R,x<3367:R,R} +fk{x>3114:nsg,dmq} +vzf{x>2720:ms,s>481:mhr,s<294:fgv,nqz} +lnn{s<2149:R,x>3515:tbd,a<342:xft,zcz} +tss{s>3258:A,A} +sh{a>1883:qm,m>3431:A,chx} +qj{a<3876:A,x>836:R,R} +vl{s<2783:R,m<1099:R,x<1473:A,A} +bkt{a>3162:A,s>3117:A,x>215:A,A} +jh{x>101:R,s<1379:A,s<1659:R,R} +zcp{s<611:ff,qkd} +cr{s>772:kr,m<1018:lxl,vzf} +ms{s>407:zt,x>3417:R,chq} +jm{s<1028:A,R} +bn{m<3021:vzz,m<3604:qvk,x<271:fgc,R} +ngl{s>3536:sbr,s>3350:qdh,A} +zsf{m>1545:A,x>1434:R,a<3918:R,A} +ggp{s>585:R,R} +kr{m<1070:vfc,zp} +kks{a>1629:R,a<1563:R,a<1592:A,R} +btt{a>801:A,R} +jsj{s>3393:A,x<3185:R,A} +zgx{m<855:xl,A} +gt{x<259:R,A} +gqx{x<621:A,a<2443:hx,gz} +gnk{a<2992:R,R} +vc{m>2396:xx,cl} +hhp{m>1027:sgr,ph} +chr{x<2230:R,x<2596:R,R} +qkd{x>797:A,x<297:A,s<793:R,A} +zsv{x>3189:A,s>3280:pz,x<2182:A,jxg} +bmz{x>286:A,R} +rcl{s<3551:R,a>1235:R,A} +sxl{a<1497:R,x>1555:A,R} +xmv{x<2697:shm,m<2582:bl,st} +fd{a<2818:R,R} +jgq{x<3411:R,R} +zj{a<2947:A,R} +mgb{x>2219:A,s>580:A,R} +jjs{m>2508:pj,smp} +mfd{s>3169:R,x>3872:R,R} +kpn{a<3544:R,a>3555:R,R} +lq{m>3447:A,A} +bfq{s>1868:A,qpt} +hlc{m>3423:rnm,a<1561:A,nv} +zn{x<915:A,m<570:A,a>3454:A,A} +zmq{a>2577:A,s<2162:R,a<2036:R,R} +sqz{s<1195:A,R} +jsd{m<1634:vs,R} +dmq{m<1655:A,A} +nhl{a<2744:A,A} +mkm{s<482:A,s>608:A,R} +rc{m>234:A,x>2208:R,m>97:R,A} +zz{a>3346:vlc,a<2753:qqc,s>276:fx,rc} +js{a>3452:R,m<3619:A,R} +tj{a>1494:R,m<658:R,R} +qhd{s<2443:mdz,znr} +shv{m<2846:A,x>2878:A,A} +ttn{a>3182:R,a>3140:R,x<475:R,R} +ngp{x>3141:A,A} +pcn{x<1006:R,s>520:A,A} +ngq{m<1256:R,s>1251:R,a>658:R,R} +fkd{a<3655:dd,a<3774:cfx,s>2066:qmk,fk} +qzk{a>3335:R,R} +dx{m<2588:zcp,a<2083:sh,x<601:rrd,fh} +qc{x<432:zh,s>956:R,A} +fm{s<642:R,m>2905:lq,dcp} +rr{s>2991:xmv,ths} +dcp{a>2785:A,s<1372:R,x>674:R,A} +bf{s<3336:A,a<1863:A,R} +glx{x>2156:R,nq} +rxv{s<984:A,R} +plp{s>2690:A,a>3040:R,x<1194:A,R} +zdd{x<411:A,s<2583:A,s<3374:R,R} +sbp{x>2442:R,m>802:A,a<1990:A,A} +rzc{m>1519:R,a>2789:A,R} +hgj{x>992:kbh,a>2782:hql,mdb} +gc{m>3015:A,a<3333:A,x<1181:R,A} +xh{a>3215:A,x<3863:qtm,lnj} +jdx{a>296:hz,s>2019:A,a<185:R,R} +ftz{a<2615:A,A} +sr{a>3503:A,m<3116:R,vt} +bz{m<1363:A,a<3918:R,x>347:A,A} +lxl{m>375:ts,x>2633:ssr,zz} +rpl{a<3086:zg,km} +rcc{a<3086:lx,x<186:A,x<206:jjf,bkt} +xjz{s>2664:dkl,m>1134:rzc,a<2824:klr,R} +kf{m>2364:jp,clb} +chs{s>2600:qd,R} +td{a>2469:A,a>2389:A,x>480:A,R} +st{m<3511:R,x<3456:R,s>3602:cvj,rpd} +hmq{a>2111:A,x>1851:R,A} +xc{x<505:zr,pl} +th{x<582:pm,lk} +sn{m<2549:R,s>2203:R,dlr} +chx{m>3054:A,a<1763:R,A} +kk{m>3497:A,a<1434:A,R} +xj{a>2832:lkb,s<3601:A,s>3811:rbp,rfg} +ncd{a<2175:R,R} +dmv{x>1035:A,m<796:R,x>598:jl,bz} +zdz{s>3645:R,x>2044:R,a<2560:R,xv} +bj{x>1208:R,x<1157:R,m>1150:A,R} +sbr{m<3368:R,R} +kx{x<3147:vdh,jvl} +kv{m>3555:bmz,x>265:sl,A} +qd{x>1553:A,a>2834:A,s<3385:A,R} +cxs{s>1563:cxt,x>2102:A,bs} +lt{s<1846:A,x<3520:R,x>3795:R,nkk} +sv{m>3685:R,a>2243:R,R} +ft{a<963:rxt,x>2779:A,x<2244:A,lzv} +rl{a<1094:rr,s>2736:bbb,s>1976:rhb,fr} +jn{x<583:ttn,s<1225:A,A} +jxl{a<2453:rxj,a>2766:ngl,zfp} +cvs{m>285:R,A} +jqh{a<2775:dvm,gbn} +dg{a<2815:A,R} +jvl{x>3689:xh,x<3456:mjp,znq} +gnc{x<140:R,x<171:A,R} +fkh{a<3335:R,A} +vrm{m>937:A,m<448:R,R} +scz{m<2202:qk,gp} +gvq{s<123:A,m<3059:A,a<3441:A,A} +mdb{m>1624:gpj,hf} +xsc{x<1257:bbn,x<1486:A,sxl} +dp{m<1786:A,a<3541:R,A} +sf{m>773:xdr,ffq} +dlr{x<2407:R,s>1899:R,x<2587:R,R} +rk{x>2534:A,A} +rn{s<2830:A,hbb} +jvg{s>3506:A,m>2651:A,m>2621:A,R} +hfg{m>2738:zdz,a>2232:lkv,fvs} +lzv{s<480:A,A} +tqf{m>2290:ssz,xb} +vmf{m<1433:qhx,m>2129:jcz,a<970:xk,dck} +gv{m>563:R,x>1087:bd,m<346:R,vz} +fvs{s>3483:A,a<1973:bf,x>1995:ghn,hmq} +tqk{m<963:R,a>2859:R,A} +rx{x<977:nnk,bqr} +rvm{x>3305:A,m<1917:R,R} +clb{x>1123:R,chh} +pm{s>967:A,vbd} +zcz{a<501:R,R} +fsz{a>2745:R,R} +nfq{s<1487:jbm,a>1745:jjb,rl} +hdh{m>3509:A,s<1411:R,m<3227:A,A} +dgv{m>2115:A,A} +ccf{x>582:sxr,s>2966:qr,s<2421:btt,vmf} +kbh{x<1100:hgk,m>2034:smc,bj} +dd{m<2080:ct,s>2201:rk,hv} +ff{s>381:R,x<841:R,R} +gtx{s<890:A,m<3503:A,x>2000:A,R} +bx{m<3245:R,m>3522:zfz,x<2768:tc,R} +cbz{s<800:kpf,vr} +hjj{a<1141:R,s<3290:R,A} +nnk{s<496:vls,a<1328:nt,m<2251:R,gtr} +mhr{m>1624:R,m<1228:R,m>1458:ggp,mgb} +grb{s>2354:A,s>824:R,s<393:R,A} +vzz{m>2291:R,m<1985:A,A} +dc{s<2446:A,s>2870:A,s>2640:A,R} +cb{s>956:kb,A} +bkv{s<917:bm,jn} +cmn{a<1575:A,s>2325:A,s<2132:pzh,A} +vq{x>1200:R,m<1709:A,A} +xx{s<2987:R,s>3641:A,m<3099:gnk,A} +skj{x<2732:pgx,x>2863:pqn,a>2109:R,A} +qk{x<433:R,x<540:grb,s>2612:dp,mf} +nb{a<3379:dgv,x>433:xqb,mzt} +skd{s>85:R,a>3825:R,s>57:bsr,vj} +bsr{a<3615:R,A} +bqr{m<2638:A,kk} +gmm{s<271:R,R} +ssr{m>170:mkm,A} +xr{x>1412:R,R} +dpd{s>2570:rz,a<2463:ndl,m<1077:tqk,fsz} +cg{x>2240:R,s>3092:A,s<2882:R,A} +zt{s>605:R,m<1978:R,x<3468:A,A} +gbn{a>2840:A,x>606:R,A} +sk{s>627:A,R} +xv{s<3310:A,x<1827:R,R} +jvb{m>2641:rhf,x<598:dsq,x>615:R,nr} +dbk{a<3270:R,s<3854:A,R} +ld{x>1033:A,s<1042:A,A} +hz{s>2156:A,R} +hgm{a>3479:zsv,a>3293:jsd,bg} +sd{s<1388:R,m<220:A,a<3336:A,R} +ks{x<3304:R,A} +cp{x<3510:A,s>2786:A,R} +mc{x<138:tx,m<1731:lg,nd} +grf{a<3910:dt,zzd} +tm{m>2653:A,R} +znm{x>3272:R,tj} +qtm{a<2683:A,m<3283:R,A} +cpj{x>523:A,m>2682:A,m<2527:R,A} +vx{x>2368:A,A} +kp{x>444:R,x<233:R,A} +vlq{a>3107:tm,s>3354:A,m<2037:R,R} +mzn{m>2863:R,A} +zb{s>1752:R,x>1070:zgf,sk} +pqn{m<2758:A,R} +lsq{m<3507:A,s<957:R,R} +krr{a<3740:R,R} +czn{a>3163:R,m<1999:R,a<3012:A,R} +nkk{s<2070:R,R} +nrt{s<1315:A,x<2219:R,A} +ds{a<1180:hjj,m<1480:hxc,pf} +xb{x<928:R,s<680:dpt,ngq} +mj{a<2118:R,R} +kpv{x>329:A,A} +dpt{x<1220:R,R} +vls{a<1332:A,a>1469:A,R} +cs{x>1439:R,s>709:A,R} +tl{a>1243:jsj,ds} +xbt{x>1513:A,fz} +hpt{m<2917:R,m<3336:R,R} +fr{m<1904:hdc,xdt} +dsl{x<891:R,a<3061:A,A} +ph{m>522:A,A} +tck{a>3652:zdg,a<3466:vvc,m<1552:gl,pv} +lk{x>628:A,x<605:R,x>614:R,A} +nj{s>2734:A,R} +khd{a>2723:hm,x<1375:lxg,a<2580:A,zx} +vvc{x<813:nb,s<1759:bbv,a<3401:kf,sg} +fh{m<3059:R,sv} +rt{m<2548:ccf,bqs} +dtv{s>2651:njc,kpn} +db{s>1037:R,s>793:A,x<3290:A,A} +rfg{x>2488:R,A} +rxj{a>2073:fxv,A} +zgf{a<3590:R,R} +lxg{a<2574:R,m>3113:A,a>2644:R,A} +pp{x<1117:zn,a<3445:A,R} +hk{a<3058:A,R} +cps{x>673:gv,a<3514:lf,dtv} +bl{m<1269:A,s>3432:A,s>3277:A,cml} +rhb{m<2194:sf,zjt} +rth{s<2408:R,m>1515:A,R} +vs{x>2539:A,A} +znq{m>3125:R,A} +hzc{m>1851:mv,x>716:qg,jx} +tzb{m>3238:tg,xxd} +jxd{a<2457:A,A} +cn{s<3324:A,A} +qqc{x<2085:R,m<164:A,m>259:A,R} +rbp{m>2847:A,m<2787:A,R} +jjj{x>876:A,a<3595:A,R} +smc{s<1533:R,a>2843:plp,x<1198:R,pms} +ckf{s>1717:A,s<1570:R,R} +kl{a<2275:A,A} +fl{s>2371:tzb,vhl} +rz{a<2450:R,s>3365:A,R} +rjv{s<1810:A,m>758:A,s>2893:R,R} +hx{x<671:A,a>2389:R,x>691:R,R} +jp{s<2734:gc,s>3506:A,R} +bnt{m>837:A,m>433:R,m>254:R,R} +hgk{a<2704:A,a>3062:A,nxg} +txn{m>2615:ktj,tv} +pgx{a>1994:R,x>2611:R,A} +xxd{m>2723:A,s<2919:zvg,m>2567:R,vm} +gtr{s>886:A,a<1457:R,R} +jcz{s>2754:R,a>1065:R,a<523:A,A} +chq{x<3072:A,x<3293:R,R} +clz{s<3150:fkd,s>3490:rfx,hgm} +hck{x>2194:R,s>122:A,A} +vd{m>1534:jjs,a>3770:kmt,cj} +qzn{x>1103:R,s<2513:A,A} +pj{m>3377:A,A} +tc{a>3418:R,R} +kt{a<1141:tqf,s>1093:hzc,a<1584:rx,dx} +gf{a<3431:A,A} +jx{s<1412:vrm,s>1565:A,dm} +vrl{x>386:xz,R} +mz{a<2492:A,A} +mkg{s>1805:vc,a>3085:bkv,a<2882:dnt,th} +ns{a>3913:R,bdr} +kq{s<2373:A,bt} +jcs{s>2567:R,s<2521:A,R} +jbm{a<2334:cbz,m<2533:cr,s<516:rpl,kx} +pjm{m<2956:A,pcn} +nt{a>1236:A,m<2027:A,R} +rbf{s<846:R,m>2754:hdh,x<73:qfz,jh} +hf{s<2598:cvv,A} +cl{s>3154:hk,a<2910:dc,m>1368:czn,ccj} +rh{s>2442:jxd,s<2047:ckf,s>2249:df,A} +vj{s<31:R,a<3675:R,a<3727:R,A} +qhx{a<1403:R,s<2780:A,R} +hsb{s<3410:R,a<1336:A,A} +vfc{x<2652:kh,s>1086:bjc,m>636:R,A} +cd{s<1248:R,a>2984:R,A} +nhf{a<3351:bk,gvq} +jmz{x>176:R,a>2694:bnt,a>2565:R,vp} +cfl{a>1330:sbp,s<1255:mkx,m<858:R,pqm} +lkb{a<2993:R,m<2845:R,A} +jjb{a>3094:clz,m<2393:sxj,x<3056:gvv,fl} +rrd{a<2231:A,m>3181:kl,x>325:R,dkj} +fj{m>3651:R,gtx} +hdc{x>2461:znm,s>1764:bfq,s>1606:zgx,cxs} +kmt{x<1020:xjj,s<2087:xr,A} +cj{m<730:txd,x>819:A,kp} +xqb{s<1587:rb,a<3436:R,vpg} +xq{a<3606:R,x<329:R,R} +tq{s<2112:A,s<3362:R,A} +zzp{x>2975:sqz,m<2520:R,R} +pqm{m<1122:A,s<1390:R,a>875:R,A} +jq{x<3451:R,cf} +xjj{s>2372:R,x<668:A,s>1023:R,R} +tfq{s>3172:R,m>1532:R,A} +bqs{x>919:xsc,vrl} +thp{a<2602:R,m<2928:R,x<247:A,A} +dkj{x>141:A,m<2971:R,A} +pzx{x>2642:A,a<3478:A,R} +ths{x<2809:sn,a>725:qvl,m<1362:jdx,lnn} +qg{a>1868:mj,m>836:A,zxc} +tx{s>1835:tph,m<2098:px,rbf} +vf{a<2428:skj,m<2736:pg,x>2633:shv,xj} +km{s>209:zqs,a>3504:skd,x<2757:glx,nhf} +kj{s<3287:nj,thp} +cml{m<1837:A,s<3096:R,a>494:A,R} +rlc{m>474:R,m>251:A,x>2484:A,A} +txd{s>2156:R,A} +gl{a>3563:hhp,cps} +ccj{m>569:A,s<2508:A,R} +pf{m>3126:A,x>3194:R,R} +pbh{m>3239:mm,cpj} +zjt{a>1394:cmn,lv} +drm{a>1592:A,R} +bdr{a<3869:R,m>2643:A,x>1082:A,A} +jqs{s>2614:rlc,dq} +mv{x<623:R,qlj} +nr{m<2107:R,R} +zdg{a<3847:vd,s>2594:pck,ln} +xk{s<2671:A,m>1780:R,A} +px{s<685:zzq,s<1444:A,a<2772:R,A} +znr{m>2244:R,a>2352:A,x<3509:A,R} +bk{s>79:R,x<3271:R,A} +ktj{x<1421:khd,m<3145:xbt,x>1493:chs,zj} +hb{s>3741:R,s>3440:A,gm} +ffs{s<1003:A,m>2845:cd,x>2032:nrt,hdf} +dl{x<3044:R,m>1590:A,m<588:A,A} +vg{m<1260:A,s<201:A,a>302:A,A} +zfp{s>3617:chr,R} +qpt{x<2038:R,s<1806:R,x>2275:R,R} +jrp{m<1617:krr,s<3809:A,A} +zqs{s>394:pzx,tn} +knq{x>908:R,x<872:R,dsl} +bbb{x<2800:xrs,a>1484:jpt,x>3526:vrp,tl} +fz{s<1941:R,R} +nm{a>2984:A,m>3291:A,A} +rrl{s>2543:A,a>1195:A,a>1143:R,R} +jpt{a>1614:zf,m<2537:jq,hlc} +mb{s>2480:A,a>2039:R,A} +flg{x<2119:bth,m<3180:mz,a>2238:fhg,kq} +qlg{a>3593:R,A} +nd{s<1985:jd,a<2754:kj,x<224:rcc,bn} +nsg{x>3601:R,R} +pg{a>2794:A,m>2531:A,tk} +vpg{a<3448:A,x>601:A,m>2200:A,R} +qq{a<3599:qlg,xq} +mjq{m>906:A,R} +tk{s<3534:R,A} +tf{x<2430:A,m<2307:A,x<2765:R,A} +bd{m>361:R,a>3529:A,R} +xsq{a>2809:vl,a<2624:tfq,m<1412:mjq,nhl} +bs{m<1209:R,x<1880:A,A} +fn{a<3588:kv,a<3614:qq,s<1821:cls,rn} +xt{m<2535:A,drm} +pzh{x>3042:R,x>2454:A,R} +sx{x<1429:bvs,rxv} +vz{x<933:R,A} +nq{m<3063:R,A} +dm{m>867:R,A} +sdr{s>1536:zsf,cnc} +bvs{x<1372:A,x<1409:R,m>1611:A,R} +zxk{m>1166:tb,m>571:fkh,sd} +nxg{x>1061:R,x<1037:R,x>1045:R,R} +gq{x<350:mc,a<2674:dz,mkg} +vrp{x<3760:bmc,ddj} +bbn{x>1096:A,m<3379:A,s>2981:R,A} +sc{s>2125:R,A} +vlc{s<330:R,x>2068:R,R} +pl{s>2521:R,x<590:R,R} +shm{m<1775:R,a<392:R,khx} +zvg{s>2600:A,R} + +{x=864,m=2222,a=195,s=384} +{x=901,m=448,a=737,s=1768} +{x=2926,m=108,a=66,s=710} +{x=447,m=2075,a=739,s=2} +{x=597,m=681,a=975,s=28} +{x=2159,m=1819,a=2019,s=618} +{x=384,m=15,a=1695,s=142} +{x=76,m=739,a=729,s=42} +{x=1070,m=3064,a=2917,s=2856} +{x=1584,m=1118,a=1134,s=1906} +{x=23,m=7,a=309,s=260} +{x=987,m=52,a=513,s=2353} +{x=2128,m=133,a=1707,s=2272} +{x=1721,m=9,a=10,s=2757} +{x=56,m=1928,a=2447,s=651} +{x=358,m=1514,a=208,s=2003} +{x=991,m=160,a=1850,s=29} +{x=135,m=900,a=257,s=1885} +{x=1594,m=1262,a=292,s=773} +{x=958,m=762,a=1835,s=129} +{x=204,m=851,a=781,s=51} +{x=393,m=77,a=65,s=1317} +{x=102,m=2858,a=694,s=133} +{x=1558,m=357,a=508,s=289} +{x=185,m=111,a=305,s=2389} +{x=877,m=2013,a=2980,s=2509} +{x=2494,m=1224,a=54,s=939} +{x=336,m=1421,a=2434,s=2183} +{x=375,m=713,a=2313,s=459} +{x=2899,m=54,a=334,s=1951} +{x=452,m=585,a=16,s=531} +{x=220,m=566,a=192,s=346} +{x=1556,m=1173,a=7,s=611} +{x=793,m=1179,a=549,s=16} +{x=2730,m=545,a=888,s=2861} +{x=8,m=136,a=1607,s=40} +{x=641,m=2099,a=2295,s=745} +{x=2342,m=100,a=1010,s=1306} +{x=3432,m=432,a=658,s=645} +{x=121,m=1563,a=1172,s=1807} +{x=60,m=1124,a=859,s=595} +{x=39,m=2653,a=1212,s=295} +{x=1810,m=2143,a=250,s=899} +{x=1049,m=1680,a=2472,s=66} +{x=1305,m=645,a=1311,s=18} +{x=32,m=1575,a=933,s=88} +{x=2066,m=2204,a=2147,s=48} +{x=806,m=263,a=862,s=406} +{x=1218,m=142,a=2380,s=2080} +{x=199,m=1608,a=815,s=504} +{x=1355,m=844,a=312,s=186} +{x=409,m=1271,a=2737,s=620} +{x=652,m=409,a=315,s=1051} +{x=2044,m=149,a=2045,s=3394} +{x=1787,m=496,a=142,s=313} +{x=70,m=78,a=953,s=872} +{x=1072,m=1733,a=541,s=115} +{x=254,m=302,a=1483,s=1537} +{x=239,m=1242,a=929,s=15} +{x=517,m=932,a=1899,s=844} +{x=2926,m=364,a=595,s=1294} +{x=1358,m=68,a=34,s=1728} +{x=2065,m=312,a=3623,s=181} +{x=414,m=451,a=876,s=80} +{x=1689,m=843,a=139,s=245} +{x=1136,m=289,a=2256,s=2537} +{x=99,m=1094,a=980,s=382} +{x=1610,m=751,a=456,s=143} +{x=717,m=113,a=530,s=502} +{x=2050,m=1025,a=431,s=48} +{x=3411,m=87,a=306,s=2865} +{x=1894,m=19,a=46,s=3399} +{x=574,m=1848,a=599,s=1924} +{x=3,m=1021,a=26,s=1166} +{x=776,m=1882,a=1946,s=453} +{x=1170,m=381,a=957,s=601} +{x=1703,m=200,a=298,s=1246} +{x=117,m=43,a=286,s=1131} +{x=2642,m=18,a=552,s=8} +{x=333,m=458,a=518,s=1260} +{x=2391,m=794,a=1032,s=1156} +{x=1439,m=629,a=1737,s=268} +{x=70,m=465,a=603,s=1399} +{x=312,m=648,a=875,s=785} +{x=3106,m=348,a=45,s=198} +{x=2991,m=18,a=1424,s=436} +{x=397,m=1490,a=520,s=53} +{x=553,m=232,a=2916,s=781} +{x=1404,m=738,a=925,s=513} +{x=757,m=619,a=442,s=43} +{x=1747,m=924,a=11,s=430} +{x=3644,m=201,a=693,s=33} +{x=336,m=141,a=1473,s=2008} +{x=1723,m=1595,a=91,s=282} +{x=768,m=426,a=895,s=573} +{x=312,m=604,a=12,s=361} +{x=2900,m=23,a=748,s=578} +{x=1100,m=116,a=2804,s=2407} +{x=121,m=94,a=937,s=514} +{x=61,m=2592,a=1518,s=855} +{x=356,m=64,a=1167,s=732} +{x=1538,m=702,a=444,s=524} +{x=1071,m=230,a=1273,s=954} +{x=1538,m=1389,a=963,s=681} +{x=3560,m=407,a=606,s=1015} +{x=276,m=534,a=14,s=2920} +{x=122,m=1529,a=3159,s=302} +{x=764,m=529,a=1535,s=1743} +{x=1015,m=491,a=1323,s=1241} +{x=831,m=1667,a=2553,s=146} +{x=841,m=203,a=2621,s=696} +{x=1586,m=403,a=1308,s=1892} +{x=2119,m=47,a=446,s=124} +{x=2321,m=2184,a=309,s=735} +{x=44,m=99,a=2037,s=1730} +{x=917,m=192,a=31,s=1104} +{x=1135,m=2330,a=2073,s=1651} +{x=1149,m=907,a=51,s=79} +{x=299,m=330,a=2588,s=1829} +{x=203,m=1847,a=205,s=696} +{x=418,m=498,a=1030,s=307} +{x=1560,m=1398,a=54,s=723} +{x=1232,m=39,a=216,s=648} +{x=1449,m=527,a=2553,s=39} +{x=2579,m=154,a=208,s=1099} +{x=213,m=1557,a=2636,s=202} +{x=1787,m=1475,a=1407,s=1761} +{x=1057,m=33,a=29,s=1488} +{x=46,m=2348,a=2573,s=1457} +{x=2080,m=352,a=247,s=97} +{x=166,m=10,a=938,s=1203} +{x=375,m=3545,a=21,s=2507} +{x=1525,m=1748,a=63,s=511} +{x=4,m=712,a=1182,s=2085} +{x=460,m=996,a=1,s=2354} +{x=538,m=1452,a=1066,s=2980} +{x=328,m=488,a=2291,s=1542} +{x=787,m=2124,a=649,s=281} +{x=890,m=17,a=1812,s=99} +{x=950,m=308,a=67,s=87} +{x=792,m=500,a=64,s=546} +{x=194,m=524,a=849,s=1060} +{x=24,m=492,a=1727,s=1628} +{x=3080,m=427,a=11,s=300} +{x=910,m=2320,a=2178,s=225} +{x=100,m=586,a=2247,s=1402} +{x=1277,m=400,a=1053,s=11} +{x=442,m=450,a=1063,s=1664} +{x=1360,m=658,a=1705,s=306} +{x=60,m=1215,a=1012,s=2971} +{x=37,m=973,a=1351,s=2900} +{x=755,m=1798,a=41,s=1999} +{x=456,m=565,a=13,s=18} +{x=1068,m=108,a=1261,s=216} +{x=179,m=559,a=1871,s=1357} +{x=760,m=1634,a=1753,s=502} +{x=33,m=466,a=1114,s=112} +{x=443,m=1297,a=280,s=1777} +{x=2608,m=1971,a=651,s=2930} +{x=244,m=1227,a=1578,s=15} +{x=1063,m=635,a=2276,s=331} +{x=321,m=1326,a=2474,s=359} +{x=1412,m=186,a=2378,s=750} +{x=1007,m=463,a=211,s=520} +{x=2193,m=158,a=1966,s=952} +{x=1047,m=348,a=37,s=88} +{x=3034,m=1692,a=248,s=1957} +{x=508,m=1601,a=213,s=712} +{x=640,m=386,a=1410,s=2062} +{x=683,m=855,a=503,s=3485} +{x=574,m=28,a=978,s=287} +{x=4,m=1189,a=20,s=330} +{x=1716,m=1734,a=166,s=547} +{x=903,m=1023,a=220,s=2002} +{x=2105,m=2151,a=753,s=216} +{x=357,m=1260,a=242,s=32} +{x=382,m=1261,a=3644,s=2198} +{x=451,m=1290,a=1901,s=446} +{x=510,m=391,a=1064,s=1313} +{x=1279,m=40,a=1825,s=946} +{x=21,m=1879,a=1728,s=429} +{x=50,m=183,a=1799,s=895} +{x=2200,m=2092,a=827,s=1450} +{x=230,m=1800,a=1178,s=1276} +{x=747,m=1987,a=838,s=1589} +{x=2113,m=613,a=727,s=26} +{x=34,m=305,a=1750,s=1402} +{x=394,m=3102,a=229,s=339} +{x=247,m=1734,a=102,s=847} +{x=819,m=1651,a=3293,s=1663} +{x=459,m=2156,a=175,s=296} +{x=1194,m=2195,a=324,s=297} +{x=510,m=47,a=9,s=1406} +{x=478,m=18,a=114,s=643} +{x=278,m=2041,a=185,s=237} +{x=2208,m=263,a=252,s=70} +{x=22,m=956,a=1030,s=240} +{x=164,m=466,a=3598,s=1158} +{x=2901,m=267,a=108,s=455} +{x=569,m=1421,a=1176,s=1237} \ No newline at end of file diff --git a/aoc2023/src/day2/input.txt b/aoc2023/src/day2/input.txt new file mode 100644 index 0000000..34a6672 --- /dev/null +++ b/aoc2023/src/day2/input.txt @@ -0,0 +1,100 @@ +Game 1: 1 green, 4 blue; 1 blue, 2 green, 1 red; 1 red, 1 green, 2 blue; 1 green, 1 red; 1 green; 1 green, 1 blue, 1 red +Game 2: 2 blue, 2 red, 6 green; 1 red, 6 green, 7 blue; 10 green, 8 blue, 1 red; 2 green, 18 blue, 2 red; 14 blue, 3 green, 1 red; 8 green, 1 red, 9 blue +Game 3: 6 green, 5 blue, 9 red; 4 blue, 1 green, 13 red; 9 green, 14 red, 1 blue +Game 4: 14 green, 3 blue, 16 red; 20 red; 4 green, 2 red, 1 blue; 10 blue, 11 green, 18 red; 3 red, 3 blue, 6 green; 2 green, 18 red, 9 blue +Game 5: 5 green, 4 blue; 1 red, 3 blue, 2 green; 4 green, 2 red, 15 blue; 11 blue, 8 green, 4 red; 4 red, 3 green; 4 red, 3 green, 7 blue +Game 6: 6 blue, 10 green; 2 red, 6 green, 2 blue; 4 red, 4 blue, 1 green; 2 blue, 7 green, 2 red +Game 7: 14 green, 3 red, 2 blue; 5 blue, 3 green, 2 red; 1 green, 3 blue +Game 8: 7 red; 3 blue, 9 red, 1 green; 5 green, 5 blue, 7 red; 1 red, 2 blue +Game 9: 3 green, 4 blue, 1 red; 3 blue, 12 green, 18 red; 7 green, 9 red, 8 blue; 2 blue, 10 red, 12 green; 4 blue, 1 red, 1 green; 4 blue, 6 green, 6 red +Game 10: 2 blue, 4 green, 2 red; 7 green, 4 red; 5 red, 8 green +Game 11: 1 blue, 10 green, 15 red; 1 blue, 2 green, 2 red; 5 green, 10 blue, 8 red; 13 red, 7 blue; 1 red, 9 green, 4 blue; 9 blue, 9 red, 8 green +Game 12: 1 green, 10 red, 3 blue; 14 red, 1 green, 4 blue; 6 red, 3 green, 12 blue; 13 blue, 1 green, 18 red; 4 green, 14 red, 7 blue +Game 13: 1 red, 3 green; 2 green, 1 red, 5 blue; 1 blue; 1 green, 7 blue, 1 red; 1 red, 2 green, 7 blue +Game 14: 7 blue, 9 red, 1 green; 8 red, 2 blue; 11 red, 18 blue, 4 green; 2 blue, 3 green, 1 red; 1 green, 8 red, 9 blue; 2 blue, 8 red, 1 green +Game 15: 8 blue, 3 green, 15 red; 13 red, 10 blue; 2 red +Game 16: 1 green, 1 red; 1 blue, 2 green, 2 red; 1 blue, 4 red, 1 green; 3 green; 2 blue, 3 green, 4 red +Game 17: 1 green, 3 red, 14 blue; 1 red, 2 blue, 2 green; 3 red +Game 18: 1 red, 2 green, 8 blue; 2 blue, 14 red; 4 blue, 2 red, 2 green; 6 red +Game 19: 2 red, 11 blue, 18 green; 3 red, 6 green, 3 blue; 7 green, 1 red, 10 blue +Game 20: 10 red, 1 blue, 4 green; 4 green, 3 blue; 10 green, 13 red, 4 blue; 2 red, 7 green; 4 red, 3 blue, 5 green; 13 red, 1 green, 4 blue +Game 21: 20 red, 4 green, 5 blue; 10 red, 11 green, 4 blue; 1 red, 8 blue, 14 green; 11 green, 8 blue, 15 red; 8 blue, 2 green, 13 red +Game 22: 2 red, 11 blue, 4 green; 1 blue, 3 red, 6 green; 6 green, 1 red, 1 blue; 4 green, 7 blue, 3 red; 11 blue, 6 green, 4 red +Game 23: 6 green, 3 red, 1 blue; 17 green, 11 red; 1 red, 2 blue, 13 green; 13 green, 19 red +Game 24: 1 blue; 12 red, 1 blue; 1 red; 12 red, 1 green, 1 blue; 11 red, 1 blue; 12 red, 1 green +Game 25: 12 blue, 6 red, 3 green; 8 green, 14 blue; 11 green, 5 blue, 6 red; 4 red, 12 blue, 8 green +Game 26: 15 red, 13 green, 9 blue; 9 blue, 8 green, 7 red; 2 green, 6 red, 3 blue; 1 blue, 7 red, 3 green; 13 blue, 4 green, 18 red +Game 27: 9 blue, 5 red; 15 red, 12 blue, 3 green; 12 red, 12 blue, 1 green +Game 28: 18 red, 4 green; 4 green, 6 red; 1 blue, 6 green, 19 red; 9 green, 17 red; 4 green, 5 blue, 18 red +Game 29: 7 green, 6 red, 6 blue; 6 blue, 19 red, 4 green; 4 green, 4 blue, 13 red; 5 blue, 15 red, 10 green; 2 green, 6 blue, 5 red; 8 red, 10 green, 6 blue +Game 30: 1 green, 13 red, 12 blue; 1 red, 2 blue; 11 blue, 1 red, 1 green +Game 31: 8 green, 18 blue, 17 red; 4 red, 8 green, 6 blue; 9 blue, 7 green; 3 green, 1 blue, 12 red; 5 red, 10 blue, 11 green +Game 32: 17 red, 17 green, 7 blue; 18 red, 16 green; 1 blue +Game 33: 16 blue, 3 red; 9 blue, 1 red, 2 green; 3 green, 7 blue; 1 green, 4 red; 3 green, 1 red, 8 blue; 5 blue +Game 34: 5 blue, 8 red, 1 green; 9 red, 10 blue, 7 green; 1 green, 14 blue; 8 blue, 4 red, 10 green; 15 blue, 8 green, 7 red; 2 red, 6 green, 3 blue +Game 35: 13 red, 9 blue; 7 blue, 16 red, 10 green; 4 red, 6 blue; 3 blue, 12 green, 7 red; 8 blue, 6 red; 10 blue, 3 green, 2 red +Game 36: 1 blue, 9 red, 2 green; 11 red, 3 blue, 2 green; 2 green, 6 red; 8 green, 11 red, 3 blue; 4 green, 7 blue, 11 red; 9 green, 8 red, 2 blue +Game 37: 8 green, 3 blue, 4 red; 14 blue, 10 green, 3 red; 19 green, 2 blue, 7 red +Game 38: 2 green, 3 red, 3 blue; 3 green, 9 red; 13 blue, 8 red; 6 red, 5 green, 13 blue +Game 39: 8 red, 5 blue; 4 green, 5 blue, 3 red; 18 red, 2 green, 6 blue; 2 green, 5 blue, 17 red; 1 green, 2 red; 5 green, 6 blue +Game 40: 12 red, 4 blue, 1 green; 11 green, 20 blue, 4 red; 10 blue, 4 red +Game 41: 2 green, 2 blue; 2 red, 2 green; 2 green, 2 blue, 10 red +Game 42: 6 green, 3 blue; 2 red, 2 green, 1 blue; 3 blue, 5 green, 6 red; 6 red; 1 blue, 6 green, 12 red +Game 43: 1 blue, 4 green; 1 blue; 2 blue, 8 red, 2 green; 2 blue, 1 red, 4 green; 1 blue, 4 red, 4 green; 4 green, 7 red +Game 44: 8 green, 9 red; 1 red, 2 blue, 13 green; 4 blue, 8 green, 17 red; 13 red, 13 green; 1 red, 9 green; 19 red, 3 green, 3 blue +Game 45: 10 blue, 2 red, 1 green; 6 green, 5 red, 8 blue; 3 blue, 1 red; 4 green, 10 blue, 4 red +Game 46: 3 red, 8 blue; 6 blue, 7 green, 6 red; 6 green, 1 blue, 7 red; 8 red, 1 green, 5 blue; 9 red, 12 blue, 10 green; 7 green, 5 red, 1 blue +Game 47: 5 red; 2 blue, 2 green, 5 red; 3 green, 7 red; 14 red, 3 green, 2 blue +Game 48: 7 blue, 12 green, 2 red; 11 green, 10 blue, 1 red; 1 red, 13 blue, 2 green; 14 green, 2 red, 9 blue; 2 red, 12 green, 3 blue; 2 red, 7 blue +Game 49: 4 green, 5 blue; 9 blue; 10 blue, 5 green, 2 red; 10 blue, 2 red, 2 green; 1 red, 1 green, 4 blue; 2 blue +Game 50: 2 red, 2 blue, 7 green; 7 red, 9 green, 3 blue; 5 red, 10 green +Game 51: 15 red, 9 blue, 4 green; 5 red, 2 blue, 15 green; 4 blue, 3 green, 20 red; 12 green, 1 red, 10 blue; 10 green, 5 blue, 13 red; 9 red, 10 green, 11 blue +Game 52: 3 blue, 12 green, 1 red; 6 green; 1 red, 8 green; 1 blue, 1 green, 1 red +Game 53: 10 green, 7 red, 12 blue; 9 blue, 6 green, 2 red; 8 green, 5 blue, 5 red; 7 blue, 16 green, 11 red; 6 red, 8 blue, 13 green +Game 54: 10 green, 6 blue, 3 red; 6 green, 2 red, 8 blue; 9 blue, 11 green, 2 red; 10 green, 1 blue, 3 red +Game 55: 4 blue, 1 red; 3 red, 7 blue; 12 red, 4 green, 8 blue; 3 green, 5 blue, 1 red; 13 blue, 12 red, 1 green +Game 56: 12 blue, 15 green; 1 green, 7 red, 11 blue; 5 green, 9 blue, 1 red; 8 red, 5 green, 6 blue +Game 57: 4 green, 11 blue, 18 red; 14 blue, 14 red, 16 green; 7 red, 15 green, 3 blue; 18 red, 20 green, 8 blue; 12 blue, 9 red, 16 green +Game 58: 10 blue, 9 green, 8 red; 13 green, 6 blue, 8 red; 8 green, 4 red; 4 blue, 1 red, 18 green; 7 red, 10 green, 10 blue; 15 blue, 10 green, 3 red +Game 59: 17 green, 2 blue, 2 red; 2 blue, 1 red, 8 green; 14 green, 1 red, 1 blue; 15 green, 3 blue, 2 red; 2 blue, 8 green, 1 red; 1 blue, 1 red, 8 green +Game 60: 1 green, 1 blue, 1 red; 4 blue, 3 red, 2 green; 13 green; 2 blue, 2 red, 8 green; 4 red, 12 green, 4 blue; 4 green, 4 blue, 4 red +Game 61: 3 blue, 7 red; 5 blue, 8 red, 1 green; 1 blue, 8 red; 10 blue, 2 red, 1 green; 1 green, 5 blue, 2 red +Game 62: 10 red, 2 green; 8 blue, 7 red, 2 green; 4 green, 2 blue, 10 red +Game 63: 1 green, 3 blue, 5 red; 6 green, 5 blue, 2 red; 3 blue, 7 red +Game 64: 6 red, 20 blue; 4 red, 3 blue, 2 green; 3 green, 19 blue, 6 red; 2 green, 6 blue, 3 red; 13 blue, 5 green, 5 red +Game 65: 6 red, 9 blue, 20 green; 6 red, 16 green, 4 blue; 12 red, 6 green, 5 blue +Game 66: 2 blue, 5 red, 4 green; 13 blue, 2 green; 1 green, 6 blue +Game 67: 4 green, 5 blue, 2 red; 1 red, 14 blue, 6 green; 1 green, 14 red, 5 blue; 18 red, 16 blue; 15 blue, 8 red, 18 green; 1 green, 18 red, 6 blue +Game 68: 1 blue, 9 red, 7 green; 7 red, 1 blue, 6 green; 5 green, 1 blue, 8 red +Game 69: 12 green, 3 blue, 4 red; 9 green, 8 red, 7 blue; 4 blue, 5 red, 10 green; 4 red, 5 green, 7 blue; 9 green, 4 red, 2 blue; 3 green, 13 blue, 1 red +Game 70: 9 red, 1 green, 8 blue; 11 green, 13 blue, 12 red; 3 blue, 5 green, 8 red; 1 red, 14 blue +Game 71: 10 blue; 2 green, 8 blue, 9 red; 5 red, 1 blue +Game 72: 3 green, 5 blue, 5 red; 1 blue, 1 red, 2 green; 4 red, 4 blue, 1 green; 5 blue, 4 red, 1 green; 6 blue, 3 green, 5 red; 5 blue, 1 red, 4 green +Game 73: 3 red, 1 green, 1 blue; 7 green, 2 red, 1 blue; 2 green, 1 blue, 3 red; 1 red, 4 green, 1 blue; 3 red, 5 green +Game 74: 5 blue, 1 red, 4 green; 3 red, 2 green; 4 red, 6 blue; 2 red, 2 blue; 1 green, 4 red, 8 blue; 5 blue, 4 red +Game 75: 3 red, 5 blue, 3 green; 9 green, 6 blue, 7 red; 2 green, 3 red, 12 blue; 14 green, 4 blue, 10 red +Game 76: 1 blue, 7 red, 1 green; 6 red, 1 blue, 2 green; 4 red, 2 green; 3 red, 1 blue; 16 red, 1 green +Game 77: 3 red, 10 blue, 1 green; 4 red, 7 blue, 3 green; 7 blue, 6 green, 7 red; 5 green, 15 blue, 7 red; 12 green, 5 red +Game 78: 6 red, 10 blue, 15 green; 6 green, 11 red, 4 blue; 6 blue, 8 red; 4 blue, 7 red, 2 green; 11 green, 7 red, 11 blue; 3 blue, 14 green, 6 red +Game 79: 14 red, 6 green, 4 blue; 13 red, 6 blue; 6 red, 13 green, 4 blue +Game 80: 8 red, 2 blue, 8 green; 6 red, 10 green, 4 blue; 3 red, 9 green; 2 green, 8 blue, 7 red; 7 blue, 3 red, 11 green; 1 red, 12 green, 8 blue +Game 81: 9 red, 4 blue, 11 green; 1 blue, 4 red, 2 green; 5 red; 3 blue, 2 red, 2 green; 14 red, 12 green +Game 82: 5 green; 2 blue; 2 red; 1 blue, 2 red, 11 green; 8 green, 2 red, 1 blue +Game 83: 3 green, 7 red, 6 blue; 7 red, 7 green, 11 blue; 7 blue, 13 green, 7 red; 12 blue, 10 red, 2 green; 1 green, 11 red, 7 blue; 12 blue, 9 red, 9 green +Game 84: 5 blue, 1 green; 16 green, 4 blue, 8 red; 7 red, 5 blue, 16 green +Game 85: 9 green, 20 blue, 7 red; 19 blue, 14 red, 2 green; 10 green, 2 red, 10 blue +Game 86: 1 green, 3 red, 5 blue; 9 red, 2 blue, 6 green; 8 green, 14 red, 3 blue; 18 green, 2 blue, 7 red; 2 blue, 10 red, 14 green; 17 green, 4 blue, 12 red +Game 87: 4 green, 8 red, 13 blue; 7 red, 13 blue, 4 green; 1 green, 8 blue +Game 88: 9 blue, 11 red; 5 green, 7 blue, 12 red; 10 red, 2 green, 1 blue; 2 blue, 5 red, 5 green; 7 red, 6 green, 9 blue; 1 green, 10 red, 5 blue +Game 89: 7 red, 2 green, 1 blue; 1 blue, 2 green; 6 red, 1 green; 7 red, 1 blue; 3 green, 3 red +Game 90: 8 blue, 2 red, 3 green; 9 green, 4 blue, 3 red; 7 green, 11 blue, 2 red; 13 green, 12 blue, 8 red; 10 blue, 2 green; 5 green, 1 red, 9 blue +Game 91: 2 red, 2 green, 4 blue; 5 blue, 2 red, 16 green; 11 green; 3 blue, 2 red, 8 green; 4 green, 3 blue +Game 92: 8 red, 12 blue, 3 green; 11 red, 10 blue, 6 green; 14 red, 8 green, 14 blue +Game 93: 3 green, 2 red, 3 blue; 3 green, 3 red, 1 blue; 2 blue, 16 red, 3 green; 2 green; 5 green, 2 blue, 2 red +Game 94: 5 red, 2 green; 9 red, 3 blue; 2 green, 2 blue, 5 red; 3 blue, 8 red, 2 green; 8 red, 1 blue, 1 green +Game 95: 3 blue, 4 green, 7 red; 7 red, 1 green, 15 blue; 6 blue, 2 green, 7 red +Game 96: 2 blue, 1 red, 6 green; 7 blue, 8 green; 1 red, 7 green; 2 green, 14 blue, 1 red; 3 blue, 1 red, 7 green; 4 blue, 11 green +Game 97: 2 red, 9 blue, 8 green; 3 green, 5 blue; 6 green, 1 red, 9 blue; 2 red, 13 green, 1 blue; 2 green, 2 red, 2 blue +Game 98: 2 blue, 1 green, 1 red; 4 blue, 5 red, 1 green; 4 blue, 3 red, 2 green +Game 99: 17 red, 2 blue, 4 green; 4 green, 8 red, 6 blue; 5 red +Game 100: 6 red, 4 green; 3 red, 2 blue, 9 green; 1 blue, 5 green, 14 red; 1 blue, 2 red, 2 green; 9 red, 1 blue, 14 green; 2 blue, 11 green, 8 red \ No newline at end of file diff --git a/aoc2023/src/day20/input.txt b/aoc2023/src/day20/input.txt new file mode 100644 index 0000000..6949a60 --- /dev/null +++ b/aoc2023/src/day20/input.txt @@ -0,0 +1,58 @@ +%hb -> mj +%mx -> mt, xz +%xh -> qc +%tg -> cq +%kp -> xz, nj +%mj -> jj, lv +%cq -> jm +%mt -> sj, xz +&jj -> hb, lz, rk, xv, vj, vh, lv +%rm -> bz, xq +%hx -> bz +%xv -> lz +%xx -> kp, xz +%pt -> vx +&xz -> bq, gr, sj, rv, zf +%vx -> gf, cv +%xb -> xz, bq +%xk -> gf, rd +%lv -> zk +&rk -> gh +%kn -> gf, tz +&gh -> rx +%sj -> vp +%jm -> vm, bz +%rr -> rv, xz +%tz -> rz +%gg -> kn +&cd -> gh +%qc -> kh, bz +%kb -> gf +%vp -> xz, xx +%fb -> bz, tg +%rd -> cp +%qn -> vh, jj +%xr -> jj +%tp -> rm, bz +%cp -> gg +&bz -> qx, cq, xh, fb, tg +%qq -> pt, gf +%xq -> bz, hx +%gx -> jj, qv +%bq -> rr +%cv -> gf, kb +%zk -> jj, xv +&zf -> gh +&qx -> gh +%vh -> gx +%qv -> xr, jj +%lz -> qn +broadcaster -> fb, xk, gr, vj +%nj -> xz +%gr -> xz, xb +%kh -> tp, bz +%vm -> bz, xh +%rz -> qq, gf +&gf -> tz, cd, rd, xk, pt, cp, gg +%rv -> mx +%vj -> hb, jj \ No newline at end of file diff --git a/aoc2023/src/day3/input.txt b/aoc2023/src/day3/input.txt new file mode 100644 index 0000000..1903642 --- /dev/null +++ b/aoc2023/src/day3/input.txt @@ -0,0 +1,140 @@ +............830..743.......59..955.......663..........................................367...........895....899...............826...220...... +.......284.....*............*.....$...+.....*...377..................*.......419.............488...*.......*...................*..-....939.. +....%.........976..679.461.7..........350..33.........$.380...$...151.897..........295..#......*....105.....418.............481........&.... +...992.....#......=...../........701................508...*..578........................259...331.................795..945........79........ +.........868........................*.............................17*..........348................441*852........*.....-...........@.....922 +....................*200............311..63................452.......323.#778.*....674....................680......696...372.....*.......... +.......266.......209......589.....=......*...365.........7.*...233.............755....*......644...272........697..*....*.....682..225...... +..836..........................949....607..........&....*..899...*....679.527.........331..........$....788../.....43....89................. +........367.....328.&......%...............680...69..717.......60.......*.*............................*..........................728...264. +........*.........*..119.253.......................................626....129...274............97...679.......752........*.......*....*.*... +........360......471........../.........573-.702.............866...@...........*......772....../........259....*.........430....136.742.543. +.........................../.852...............*...775...............643....455....../...........832....*.....41..535....................... +.............-..........340.................103....*..........$...51*..................74................438......%...776...+.23*..663...... +.15.......806...............990.....................427....924............530.........=..............................*....968.....=....480.. +......#..............@914...*..............*........................%......*................................/.....406.................*..... +....201.........79........592............70.894.....247..513+....367..$299.698......199................-.....223....../.........563....783.. +......................448........489................*.................................*....440...889...715..........351.....39.............. +.138....../766...........*.......................152.........................377....599.......*...*...........................@............. +....%.820.......10*43.670..$87....100*244..@706..........668..319#...........................831.736....@............./..693.....321%....... +......=...930#..................@...................493....*............152......569.................=.914....764.....9.-................... +378$...............&.....854..505.........%........&.....124......12........117.....*591..979..76..133..........+............/..........883. +...............602.141.....*...............770.....................*.........*................../.........874.@....../684....778............ +...........................954.....*397.........................394...........614..307*74..457..............+.514.......................327. +........335*25.....-....31..........................................$...719.................*........6..214................878.............. +...............86*.269....*...480........................*....140..947....*..&.......................*......972..............*..364*274..... +501-.......805..........285...*..................6....335.167...*........18...332.............741...127......+.............246.............. +......616.......752*276.....470.848..599.........*............779..=................539...961..$.........204.......-..201*.....%............ +.491.....*..521.........*94.......*.-.....&...163........285/......51..99*......474..*...-.......945.....&......839.......140...201.....$... +....$.795..*........539.........500.......662.............................421....*...459..../.......*407.............../................471. +...........110.......*...............252.............................%..........730......551..509.............824...230....569....48=....... +......150...................................+..70.565=.&320.........983....155................=.....54.......%............*....@......../... +...............972..146...........49.433..137..............................*....%..................@....................436.451..........328 +568-...@.552%....-.-................*.................957................93......74...........*........156.566../....#...........285........ +.....565..............693....443......................*....394.@58...362...................383.583.............542.38............./..890.... +...*.................*........*........&.223...........506.............=..................................300...............477........&.... +..612..459..........462....663......125....................720..............355.....253...............904......................*............ +........$................................622..............=................*...........*30.........#.$........................284........383 +............&.999....&.......................%........240....295*681.846....53.....806......793..646....626./76..737....479.........558.@... +.........892..#.......885.....804..587*....340.........*..............%............*.........*..........*................%............/..... +660..635...........-............./.....213........$....512.....551.............*....910........................@............................ +........*..........361..270*.....................328..............*.........853........................*.....985...965............232...948. +..501@......................213...412$.....375..................631..916.......................254...284.........#....*..252........*....... +...................695............................872*876..622..........-.........*..575...851*..................910.395..*....*717.248..... +.....91.........80....*..390...........497....496............*.......@.........297..*................&....873.............946.8.........647. +.......*.424.......108.....=.............*..................686....418.............131........600.96.327...=...561...321............343*.... +....731....*..............................938..........256..............909.......................................*......................... +.........811...=....................680...........167...*...601.....................892..#.......142*.......151..108............201......... +................653........879....@.*.........%...*...699..*..............726............695.870.....526.$................*8............234. +....54....311..............=...320..619.......495.375.......926....914.........654..............*........236...$.......444.....@613......... +...*........*......450*............................................*...786.625.......804.850.....674..........305........................... +..593.512....517.......155.....646*239....286......+...........96..264....*......471.*......*.........314*901..............879.............. +..........................................=.....419....820......&..................+.......163....148........................*....586....... +.....331.....................637....126.................*..147............650...............................................315....*........ +.......%......................$....../.................392....@...943..34...*......752.............................161..30.........970.521.. +.........984.412#.......-.569...@................464....................*.275..&.....#.126*506....................*.......=.168-............ +.724..................570....*.914.388.........%..$.........274.......263.......130..............102.....2....21+.268....................226 +..........776=...6........759.......*..283..309.....682......$..........................................%........................446........ +....%284.........-....#...........119....*......622...@....+............/.......929..178...........141/............../650...628.+........... +....................440........88.........335...*.......804............968..976*....+...................$.421..431..................*....... +.....880@.......871.....30......................249...........134....*................*...............95....-...*.....856...353...94.....963 +...............*....97..&.......989./.........*.....522+..$.....*.226.436.905......347.396.707...511..........342.....-.....*...........*... +........936*....299.........217.&...478....931.457........62.391............&...............*..../...884*....................370........483. +....965.....992.............*......................................371*771.............37..382...........990...391.......852................ +.......*........985.......753.&..........561.204.......................................*......................*...........@..........+935... +......677.....................164.883...............325........951.....847....%......433....*944.50...753..344.............................. +.829.......583........429............*34......243...*.........*.............329.%........421...........*..........803..746............675... +...*..................*....512............999.......102......398.................640................401....310.............164...452..*..... +269........9........705....*........782....%.......................615.734....-..............289...........*.....................=....661... +........37.#..............14.......*........../.......586.............*........623.......129........324.....601...%.....@................... +...165................#.........861............463.......*.......361*..............356........175.....*.........906.897..716....118..#...... +.....*.............728....417.........+...395#.........443...........829.....390-....................399...............*..........+..813.... +....176..253...846......$...........719..........132............897...............334......................20...........51.....%............ +..............*....*..278................958........*.......=.................183*.......427.......766.......*..914.282......674............ +....&......344...249.....................*.....445.770.....67.....301................295*.........*....715.390...*...../...............424.. +.....541......................160.580...........#................=...........*677..............394.......*........327....739...179.360..*... +..........=................%.....*................-954......%.............406......765..................930.....*.........../.....*.....370. +....%.....979.379..........415...............318..........284....440../............-....133.........157......579.550................747..... +.240..........*.....................@...........*642............*.....84.....%.331................2*...................582...=........*..... +......=.....246....167...............704.............763........999.......781...*.....-109............126..801............*.484....632..542. +....%..488.........@..........................$954....*../.....................779..........232................510.....149.................. +...27..........984.........*....485.....937........982..234..............225..................*..........122.............................16. +...........473.#..........558..*.............410-...........93............#..655....846....829.....760......=...................=....+...... +.....=390..*...................624........#.................+..473..............#......=...........+...577#......$...481.......651.869.806.. +747.......543.259.../717............&...346.......948..........$...........472.............230+......=.........206......*................... +................*........+.224/...798.........311...*..896*220...............&.+..................825....../............378...370........... +...............485.641.674.....................*......................618.......389........................565..&674...........*............ +..........475.................=.162............461.441...................*..........652......&....508..856...........364....464............. +...............154...452#...693....*................*.......391.........979....344..&.......814..............501.......=.................... +...............*................425....25#...........788............879...........*.....29....................&....................850...794 +393.............523...507*683..............174@..........-.............=...369....439....-.......*305.891..........952............*......... +..........+...............................................535..911.........................*....1.........441.....-.........88...906........ +..........997...17.............779..............960...................209........545......513................*...........98...........+608.. +.....................63.968...*.........340.......*...858..339...........%.-767...+...173........47.........906............*210............. +.............&..575..*....@.788.........*.........178.....*.......949.................+...........*.............-.....399.............@..... +..........571....%....984............414...............$.912.....*......302.............594.240..724....341..645.......*.......=..848.642... +....282@...........*......=......189.....138...227*.906.........70......*..................*.............=..........957...657.81../......... +..........*...$.813.179.901.592.....*....................................7....127.............$692...............$..........*.........*..... +.......207..91..............*.....784...872..756.........&..322..............*.........*19.........749.......548..624.694..858...512..598... +.................+.........352...........*.....*.934..126...*.....351..........40...616.......153.....*661............*...........*......... +...823........829...346...........821...826.304...%.......115.......*..........*...............*.............../...622...523.......606...... +...*...............*.............*...................186...........813....716@.372....16..300...489..108.....770.......................697.. +..........919...782.......912................@.........*.%485............................*..........*...............208.220....853.......... +...308......*............*......269.........539.......2.............853.......941.660.532........246.......980..357*....+.....*......./..... +..../......32.164.......15.479.=.............................=...............*....*......................#....*......+......-.855.....415... +.......305..../.....649....*......633...925...634............121............355....578.......14*....422..543.297....429..142................ +..960..+..............*.....536......*..@....-.......51..-.........592#..........+..............9..*........................................ +.....*......515......434............908..........189......430..................332...722..-.........450..#.........................139...... +..259......*.............................39..33.....$..................................*...159..443.....925.............743....414.&...=437. +......58..475...........227%.......217..../...*................../...............&....506..........................63..*.......*............ +.......=......-..............993....%.........166........605....293........977+..498......%.....834...455...........*.....%....981.991...... +...........636..728...*.......*.......494...............................................205........*.@...........528....226.........#....785 +664.9..............$..9...494.272...............725*....775...$....854..........226.243..........832....637*73................165........... +...*...340+.............@...*.......548.............405....*...768..*..............*.......81.........................10.787.$.......918.... +.......................145...265....+..........110........45.........90..299.....$........&.....696...475.-452..290....*...*..........@..... +......+....246.108.305...................894....=............121.588......*....69...................................236..97......348........ +.......709........*...........-...........-..........411...=...*.......135........................738..383.....634*..........429.@.......... +...........%........%217......119.....................@..47.........+.......923..............606...*.......960..............-............... +....835.....744...................546.......215.............512.....950.......%...444......&...$.833......./.........813.......400..%...48.. +........362.......898..#.......................*.732........*.............965....&.........584..................521..#...........-.995...... +....64.*.........*.....265........781..376...320.#........998...450.......%............................$...............................304.. +....-...966...875..981........742*.......*...........*276.........*...............541.....219.279..357..164...551..%717...............%..... +...................*...786.$..........*...163.....915...........960...%...509.135*...........*................-...........%.539............. +....666..699......179..+...612..=734..545...........................88.....&.......392...46..........483=..&.......548.135.....*.413.#620... +...$....*....948..........................530.656....%..484....*..................*......./...741..........444......*.......150...*......... +......................524...928..........=........858....=..562.571........117@.195..896......*......662.......148.388.............320...... +...166..48.../....-............#...159.......487.....................260...............#...713.........*.347................................ +......*.......657..837.....273.......%........*...155.................*........225..................228.....*370..../.......724.....764..... +......654.679.................@.........-....918...................681..461.............................776......737.................+...... +...........*....859......881#............625......$...........888.........+...57...............887.$.......*............................#911 +...46*....72...&...................................102.............651........*......*530.......-..667....850..829*.869%........298......... +......925..........892.352*........6.41....................+...160.$.....*.72..878..1.....................................738......*926..32. +...............279.........721......*..............694....799..&......878....*................219....+...482..368$...........*../........... +......604........*....................583*506........-...........740..........347............*....576......*................498..478.974.... +..486.-....................626..................320........&....../.................*979.=....863........497........111..............%...... +...................................538..78...*.....*......7...455.......223......939......673..........=......559-....*...834............58. +.......644....&.......#..669+.1.......*.....782.....865......*....779..#..............110...../....937..312...........489................... +.......*....571.....69........*.......169...................919....*.....808.................335...*.............................24*896..... +.......233................590.553..............198=..450.........661.......*.....................15...-....................-575............. +...........919*.....................................*.......234.........492..%...........300...........301........./866..........*.......... +...............470.....440.874...116....240........299......................27......409.......................................639.136....... \ No newline at end of file diff --git a/aoc2023/src/day4/input.txt b/aoc2023/src/day4/input.txt new file mode 100644 index 0000000..0391b6a --- /dev/null +++ b/aoc2023/src/day4/input.txt @@ -0,0 +1,203 @@ +Card 1: 8 86 59 90 68 52 55 24 37 69 | 10 55 8 86 6 62 69 68 59 37 91 90 24 22 78 61 58 89 52 96 95 94 13 36 81 +Card 2: 6 42 98 5 17 31 13 36 63 61 | 99 88 14 20 63 5 56 33 6 21 92 13 17 7 31 93 30 74 98 15 11 36 61 42 47 +Card 3: 16 58 72 77 1 67 33 82 68 7 | 16 37 15 75 78 1 49 82 22 45 83 58 77 79 50 88 98 67 33 72 42 29 35 7 68 +Card 4: 75 35 37 6 29 54 64 57 82 4 | 8 33 27 85 84 54 75 37 4 57 70 29 64 94 17 6 38 41 82 81 71 35 47 51 19 +Card 5: 23 85 52 77 81 50 28 59 87 82 | 70 65 12 35 9 41 62 31 47 66 58 15 76 46 68 67 55 86 17 38 18 1 75 79 13 +Card 6: 77 64 13 36 68 88 16 75 25 95 | 25 64 55 58 75 66 23 16 27 68 69 88 13 9 39 42 29 65 83 97 32 89 53 96 94 +Card 7: 31 12 76 29 48 96 41 49 21 37 | 94 81 65 82 15 33 53 91 88 37 46 29 3 80 95 67 11 27 31 30 49 89 78 41 90 +Card 8: 20 5 52 31 46 25 88 95 39 83 | 36 62 48 39 69 3 81 11 61 95 43 85 34 46 5 8 13 45 10 17 2 88 70 52 89 +Card 9: 8 85 89 55 77 9 40 5 57 37 | 56 84 62 42 49 50 51 35 75 25 13 74 68 1 99 48 41 94 45 66 17 69 23 29 67 +Card 10: 74 1 7 89 97 82 75 9 11 42 | 94 71 41 30 50 58 23 81 35 6 97 57 67 85 98 10 87 43 96 77 31 8 54 72 65 +Card 11: 38 29 6 5 4 84 34 1 94 23 | 89 48 51 84 49 33 50 65 79 53 12 8 5 1 35 69 83 57 11 42 67 26 9 6 55 +Card 12: 35 83 44 75 36 65 85 87 60 72 | 8 3 91 33 59 29 56 26 21 60 80 88 25 5 51 47 46 44 41 31 62 79 76 89 55 +Card 13: 8 56 97 66 32 70 25 76 18 20 | 15 50 91 65 3 67 98 81 9 44 18 92 13 64 96 47 87 46 7 33 66 71 82 88 90 +Card 14: 37 52 63 28 19 89 44 76 98 24 | 70 13 59 31 17 84 90 6 62 19 74 36 94 1 15 12 29 95 47 92 23 67 60 58 53 +Card 15: 71 70 25 51 95 86 66 37 27 53 | 14 20 30 17 59 96 11 68 46 13 75 44 40 62 32 7 81 91 73 64 93 83 35 80 49 +Card 16: 97 4 63 22 75 73 5 52 34 26 | 33 98 64 47 90 94 28 35 43 30 73 51 7 27 10 40 97 37 34 32 22 71 63 21 80 +Card 17: 15 18 29 55 14 25 69 4 59 75 | 66 4 82 23 94 22 26 16 55 69 75 20 76 25 29 59 15 18 70 2 28 39 95 14 40 +Card 18: 26 40 70 42 37 68 25 76 56 97 | 33 97 28 13 24 50 66 53 67 84 26 68 42 56 92 40 65 76 25 32 70 93 85 37 94 +Card 19: 56 61 7 53 48 88 77 73 27 79 | 50 81 29 15 46 19 33 89 54 85 58 73 68 34 84 2 40 27 44 94 88 62 14 1 56 +Card 20: 34 89 62 72 6 30 16 53 78 2 | 2 78 73 89 85 40 47 30 34 8 60 23 72 26 62 96 6 91 29 16 57 46 59 53 94 +Card 21: 65 18 22 53 8 31 32 84 39 9 | 75 16 70 3 14 61 34 9 38 71 8 49 53 52 81 18 45 82 41 44 32 63 65 51 69 +Card 22: 44 80 76 71 36 1 50 87 23 27 | 1 76 83 67 87 68 25 80 8 23 57 29 52 4 50 64 24 44 77 45 27 32 36 73 71 +Card 23: 68 90 10 43 73 63 85 47 11 96 | 9 29 53 84 4 6 25 82 11 21 73 83 20 95 66 27 80 26 70 33 85 47 17 74 98 +Card 24: 51 68 2 69 39 86 55 70 6 54 | 72 17 14 26 91 52 96 86 66 64 51 2 92 53 36 39 89 42 40 68 55 37 6 54 7 +Card 25: 74 92 43 35 29 93 39 53 10 54 | 86 35 10 18 92 43 56 25 44 53 93 39 29 54 11 12 55 61 83 41 21 69 81 4 74 +Card 26: 80 19 99 93 76 67 70 60 39 9 | 98 2 26 95 21 49 44 9 31 58 83 46 14 99 4 78 12 56 89 71 66 29 47 64 96 +Card 27: 92 52 5 46 49 62 74 72 44 87 | 37 93 24 29 5 88 72 81 62 50 69 33 52 19 23 8 84 1 70 87 95 96 61 63 49 +Card 28: 79 80 98 59 54 45 91 16 11 4 | 80 10 98 45 78 91 1 65 12 11 4 82 88 79 54 55 8 99 59 67 68 16 25 3 70 +Card 29: 52 30 9 13 44 71 48 63 65 27 | 90 31 17 80 44 39 85 93 58 65 8 63 16 35 40 1 73 68 52 6 97 99 13 10 61 +Card 30: 12 19 35 9 82 20 72 61 50 67 | 11 84 77 14 46 29 62 28 81 98 43 12 15 72 35 99 19 97 75 1 20 7 82 60 52 +Card 31: 21 58 93 11 50 25 88 77 64 29 | 42 1 31 30 99 69 54 32 88 24 95 15 55 56 14 45 19 33 87 34 7 93 79 23 74 +Card 32: 39 87 70 22 46 95 69 3 58 80 | 85 95 24 45 84 22 37 12 33 43 93 96 27 56 70 67 91 58 10 68 69 40 97 82 13 +Card 33: 91 42 78 76 77 27 22 98 94 70 | 80 17 63 21 37 52 46 44 2 7 73 86 49 40 23 4 92 60 43 76 29 22 24 69 42 +Card 34: 11 50 70 95 32 81 26 57 7 76 | 83 64 65 46 87 56 28 98 90 11 96 40 99 3 16 12 61 19 97 76 51 92 93 34 15 +Card 35: 80 28 55 51 98 5 92 54 73 78 | 78 66 10 38 36 51 1 83 94 33 42 17 62 56 59 21 86 25 46 48 63 12 45 31 65 +Card 36: 63 76 16 74 10 14 50 73 81 35 | 3 68 1 76 62 53 67 97 13 85 28 65 32 72 34 98 57 20 71 17 64 48 8 56 44 +Card 37: 37 1 38 62 56 27 17 8 21 98 | 78 31 14 23 18 62 4 2 97 88 59 34 57 46 81 16 36 58 86 35 72 61 7 80 28 +Card 38: 56 30 92 44 33 11 16 45 72 60 | 74 86 59 87 22 81 46 32 52 21 78 10 57 1 13 85 49 75 95 29 8 38 77 54 50 +Card 39: 66 83 99 18 79 70 57 25 86 55 | 8 41 50 87 77 7 78 84 53 35 43 26 13 29 30 69 91 65 32 59 31 45 56 15 48 +Card 40: 64 46 22 83 33 38 95 75 69 89 | 82 65 45 68 75 33 69 49 22 95 89 74 53 46 38 25 83 64 8 59 81 16 94 27 60 +Card 41: 90 26 49 5 76 98 92 64 19 32 | 47 35 49 45 13 67 73 55 4 64 79 63 89 57 5 75 85 91 25 88 74 70 28 68 86 +Card 42: 45 52 92 43 76 96 4 86 53 62 | 96 53 55 18 95 44 25 45 47 66 62 2 52 60 10 3 1 37 87 92 98 70 9 86 23 +Card 43: 9 64 57 76 21 30 38 98 85 1 | 11 22 92 81 58 59 48 75 2 32 15 84 27 56 86 99 98 66 54 96 20 37 67 12 29 +Card 44: 11 41 84 1 76 6 64 8 31 44 | 11 1 33 58 55 6 84 44 70 20 64 41 90 98 72 42 8 38 4 39 76 17 18 69 31 +Card 45: 88 12 95 1 24 71 70 49 79 8 | 86 57 43 12 90 78 70 76 24 95 39 8 1 13 47 71 49 75 15 32 2 77 58 79 21 +Card 46: 84 91 96 41 17 76 9 36 81 1 | 82 5 99 19 43 20 86 69 37 44 95 41 55 65 96 70 24 47 77 15 31 36 2 79 22 +Card 47: 48 80 18 4 40 11 90 17 27 68 | 33 40 15 99 48 12 25 27 44 17 50 94 68 63 11 29 80 4 18 42 32 90 19 2 91 +Card 48: 44 30 51 97 22 57 87 17 53 11 | 35 17 81 22 11 30 75 80 74 54 79 16 78 97 89 87 51 37 43 72 53 57 27 94 23 +Card 49: 31 2 7 13 9 33 95 41 57 34 | 25 90 77 13 1 95 18 17 34 92 10 33 80 2 82 66 91 73 70 86 21 7 42 47 19 +Card 50: 16 44 77 76 23 81 47 29 62 22 | 35 27 83 47 88 76 98 64 31 86 48 42 95 67 25 44 17 51 18 26 12 1 90 99 62 +Card 51: 55 68 41 17 28 83 64 62 22 13 | 24 6 23 22 64 7 83 74 44 34 28 68 13 32 26 50 62 17 12 41 97 55 16 1 9 +Card 52: 96 79 43 83 37 25 86 24 66 34 | 79 18 6 2 64 62 86 48 65 34 29 68 9 87 76 71 3 69 61 41 40 35 37 55 32 +Card 53: 46 1 10 43 47 17 62 52 58 75 | 58 14 52 71 31 75 55 50 8 99 63 23 4 13 10 62 16 17 82 43 56 46 76 83 65 +Card 54: 75 33 27 30 87 32 68 89 44 17 | 73 28 31 97 27 9 57 14 15 20 39 82 38 36 43 58 75 4 44 30 33 80 16 48 17 +Card 55: 70 11 9 44 14 32 83 10 99 71 | 65 48 21 75 83 71 92 2 34 22 11 14 39 31 63 25 88 15 80 76 96 90 52 70 99 +Card 56: 17 38 6 13 3 67 87 64 37 68 | 41 7 53 11 5 62 93 28 65 8 56 32 1 69 47 18 82 40 20 12 80 37 89 43 2 +Card 57: 64 29 46 22 61 56 32 20 97 72 | 31 14 29 44 74 22 1 56 4 52 58 45 50 78 67 11 97 72 16 20 27 57 61 83 85 +Card 58: 62 85 13 46 79 37 99 81 91 8 | 98 17 85 23 33 94 35 2 47 20 3 11 36 96 43 46 25 60 59 10 22 55 87 58 28 +Card 59: 58 36 55 31 69 91 21 51 56 10 | 19 49 73 6 34 27 40 65 11 55 44 67 37 97 14 85 84 89 72 29 64 15 70 68 94 +Card 60: 46 40 95 45 75 74 7 38 10 81 | 32 38 4 61 78 5 39 99 86 33 2 98 83 42 11 75 27 73 81 9 54 37 40 12 80 +Card 61: 40 29 73 56 91 44 24 77 1 5 | 87 52 80 45 70 48 47 44 69 17 16 6 82 66 37 42 39 3 10 15 97 13 40 99 62 +Card 62: 54 55 29 80 70 50 97 89 33 68 | 21 3 76 73 6 42 2 91 19 18 72 92 94 11 77 32 52 8 81 48 35 16 27 12 84 +Card 63: 19 45 77 86 6 33 83 91 52 36 | 18 68 60 58 84 29 9 67 21 99 24 80 69 96 25 85 46 50 95 27 61 4 90 63 88 +Card 64: 88 23 57 8 93 17 20 42 54 51 | 12 78 82 80 85 43 73 44 84 89 15 36 30 10 25 29 7 99 61 60 86 14 26 28 83 +Card 65: 92 13 3 54 4 95 28 72 8 15 | 15 60 66 33 82 95 94 69 71 59 54 99 40 31 83 17 13 80 28 72 4 92 45 87 46 +Card 66: 1 42 10 66 94 21 46 95 73 32 | 64 99 3 86 69 71 95 78 60 28 5 19 35 85 67 7 32 16 39 66 89 42 31 43 58 +Card 67: 87 50 23 52 5 22 88 82 59 72 | 26 59 48 90 82 55 50 37 87 35 2 52 72 11 40 23 54 88 19 33 5 97 86 22 30 +Card 68: 21 89 80 14 73 61 9 7 68 48 | 18 89 38 26 32 21 79 15 14 86 44 55 95 41 80 7 9 29 73 1 13 48 68 28 61 +Card 69: 9 82 65 50 57 40 96 36 83 60 | 96 17 88 60 40 74 33 19 41 23 82 89 92 72 50 83 4 7 56 34 9 36 52 57 65 +Card 70: 40 63 61 64 3 21 52 11 66 53 | 82 42 13 30 44 72 74 83 45 70 38 33 80 8 64 48 49 73 19 51 85 47 90 84 92 +Card 71: 92 24 98 94 89 41 1 93 28 32 | 28 61 92 13 53 89 43 23 32 66 81 93 94 38 90 36 24 68 1 91 98 41 29 67 64 +Card 72: 29 61 68 1 78 69 33 45 39 18 | 81 12 36 28 73 75 18 35 42 33 95 68 3 79 39 8 24 82 87 45 11 91 23 51 1 +Card 73: 15 33 51 46 80 95 67 71 97 16 | 23 7 93 94 55 33 5 84 28 32 15 59 98 6 46 17 86 43 39 81 36 42 63 71 82 +Card 74: 95 9 16 72 30 20 41 97 45 90 | 30 72 49 66 36 9 82 98 95 16 48 57 46 86 47 90 20 85 54 74 73 4 22 60 32 +Card 75: 82 55 49 44 75 57 19 59 38 4 | 21 78 35 6 93 75 28 41 83 72 55 22 64 89 70 47 23 29 20 99 48 53 27 65 13 +Card 76: 19 31 41 50 27 43 74 21 51 44 | 24 79 71 16 49 37 60 14 8 33 52 40 98 6 34 62 56 4 10 30 39 48 99 67 22 +Card 77: 39 23 28 96 98 50 40 34 79 74 | 85 68 79 33 48 23 56 10 89 38 50 71 17 28 6 74 53 4 98 26 8 22 39 31 66 +Card 78: 80 31 82 32 70 17 68 44 22 97 | 72 6 95 57 13 94 37 44 70 46 32 69 22 56 40 15 77 88 17 82 31 47 71 18 68 +Card 79: 37 53 75 59 72 43 65 74 81 26 | 37 23 11 48 45 86 74 2 59 58 92 12 65 78 16 97 57 76 67 26 18 41 43 54 49 +Card 80: 63 41 23 39 40 10 26 93 24 73 | 30 19 74 40 49 90 22 65 78 10 24 93 73 41 51 7 61 15 29 39 63 16 64 23 37 +Card 81: 88 68 74 9 97 46 11 87 39 10 | 40 3 14 85 64 43 42 97 90 9 39 13 29 72 47 10 48 4 68 96 99 25 98 65 57 +Card 82: 81 48 21 57 65 39 12 66 95 33 | 16 33 79 85 92 52 50 34 15 22 9 45 74 17 24 63 28 72 84 62 58 77 41 64 83 +Card 83: 45 33 86 43 63 96 25 88 53 15 | 73 93 79 18 2 26 21 65 28 57 52 88 1 80 33 38 76 3 56 35 6 23 34 24 13 +Card 84: 31 74 96 40 36 99 91 92 63 10 | 78 38 59 27 84 34 31 72 19 91 12 45 57 92 32 44 70 50 10 24 87 33 49 65 61 +Card 85: 24 20 39 42 78 57 12 64 40 44 | 68 34 77 20 21 12 35 23 97 3 50 65 42 18 84 41 43 69 94 37 76 57 31 45 79 +Card 86: 51 48 14 80 3 72 92 15 35 43 | 50 69 18 76 63 30 58 19 65 16 70 55 54 12 87 62 60 68 93 83 1 44 26 98 27 +Card 87: 11 4 31 73 5 81 2 32 29 51 | 3 47 9 18 16 19 66 36 23 70 91 64 69 87 51 84 43 65 35 42 63 72 82 54 93 +Card 88: 94 10 52 17 78 45 99 66 8 81 | 11 31 71 59 41 88 67 30 47 98 33 21 37 15 53 20 36 58 57 91 39 28 49 70 86 +Card 89: 28 68 50 39 98 57 78 71 11 48 | 95 67 79 86 53 17 66 60 77 6 44 54 19 31 74 80 63 99 47 12 91 21 70 8 10 +Card 90: 36 90 94 26 59 84 63 38 48 39 | 69 56 39 88 89 97 26 38 83 55 87 13 33 68 95 94 18 48 36 44 59 84 63 90 66 +Card 91: 89 3 61 68 53 85 66 81 11 78 | 29 10 81 58 22 47 19 3 36 98 61 85 89 78 39 17 50 53 11 66 68 24 4 86 25 +Card 92: 57 5 56 91 64 38 89 47 55 74 | 73 51 48 19 57 98 64 9 74 65 53 47 54 72 69 38 56 1 21 6 91 40 55 5 89 +Card 93: 6 86 18 53 9 82 70 81 89 26 | 21 69 75 10 8 86 89 70 47 23 78 96 98 53 6 9 2 81 31 56 39 55 18 1 42 +Card 94: 86 78 79 57 3 2 5 69 30 53 | 80 2 53 90 3 30 48 79 5 78 19 35 62 59 97 56 13 12 70 86 10 69 51 55 57 +Card 95: 64 51 15 84 25 94 88 80 20 33 | 1 90 50 47 32 15 20 51 84 65 64 55 39 94 19 66 40 25 88 43 80 34 29 3 92 +Card 96: 83 88 94 87 79 45 49 91 99 33 | 91 53 72 37 87 40 26 88 33 49 89 99 24 59 94 52 75 83 79 71 62 50 92 28 6 +Card 97: 51 91 36 6 68 9 97 78 39 80 | 18 97 68 34 91 61 78 3 23 84 8 16 36 96 65 99 59 80 58 90 14 32 1 41 74 +Card 98: 92 41 9 7 52 86 83 40 8 63 | 47 17 14 35 34 22 19 52 79 7 81 92 1 82 93 73 25 58 60 39 59 27 3 16 41 +Card 99: 72 47 22 4 62 58 31 91 34 50 | 49 65 94 71 82 25 24 9 64 62 50 60 14 84 16 93 1 46 8 19 47 44 21 10 11 +Card 100: 96 18 53 37 54 98 30 84 58 45 | 30 59 89 23 8 35 85 6 36 54 37 17 92 79 27 39 4 61 11 80 19 58 72 51 47 +Card 101: 67 26 23 99 78 60 55 82 83 11 | 60 22 91 21 18 29 67 62 34 93 56 59 49 52 38 79 28 11 17 77 76 20 2 99 92 +Card 102: 28 94 4 54 77 42 17 44 59 48 | 24 13 61 6 5 83 50 77 76 37 90 71 79 47 8 98 41 75 59 70 89 16 30 17 45 +Card 103: 65 69 32 77 64 99 24 71 73 90 | 20 26 72 17 16 46 86 2 28 13 88 45 5 70 95 55 33 65 49 68 50 58 85 83 22 +Card 104: 78 17 88 26 65 79 8 18 47 25 | 31 86 76 30 84 44 62 97 81 42 14 72 25 32 82 5 54 69 98 52 68 13 92 3 58 +Card 105: 72 63 74 24 23 67 34 26 50 73 | 11 70 76 89 84 92 79 33 82 44 71 48 35 8 59 14 93 15 29 18 55 3 38 77 28 +Card 106: 36 40 51 81 60 96 34 49 85 89 | 72 15 7 40 60 97 68 52 36 55 87 96 85 89 49 61 78 34 37 27 76 5 51 81 12 +Card 107: 56 6 20 66 35 45 14 19 62 52 | 15 27 93 17 77 19 35 43 80 72 47 88 8 70 71 92 83 82 10 97 25 90 44 69 87 +Card 108: 33 44 49 78 10 26 20 65 77 13 | 33 54 2 24 17 20 26 7 93 5 3 77 81 46 92 78 49 65 32 51 44 95 13 29 10 +Card 109: 51 25 49 60 83 75 46 43 50 41 | 96 12 53 50 78 92 60 15 76 6 5 34 41 23 25 70 20 75 86 73 30 39 32 48 95 +Card 110: 13 22 99 91 47 53 35 34 37 77 | 79 35 1 13 88 57 76 89 81 15 53 56 99 34 6 68 77 32 91 47 87 37 4 24 16 +Card 111: 17 21 92 30 95 1 52 5 27 46 | 86 24 6 51 99 68 16 34 19 76 31 10 56 63 58 97 87 26 40 73 8 54 69 18 90 +Card 112: 52 83 38 39 95 12 57 14 46 85 | 12 95 85 14 89 50 52 17 92 18 38 34 55 83 16 66 19 88 4 20 46 57 77 39 11 +Card 113: 6 25 93 3 52 46 2 13 70 7 | 67 46 40 2 3 77 35 50 57 52 55 75 53 72 97 89 34 84 15 31 23 7 58 25 21 +Card 114: 24 53 25 12 17 82 14 50 3 74 | 91 83 57 50 96 68 52 11 56 44 89 95 15 13 54 20 76 48 30 88 53 55 93 65 47 +Card 115: 95 81 49 37 80 70 7 60 75 99 | 29 74 98 94 49 59 60 86 75 93 72 56 87 82 76 32 33 4 46 70 27 83 1 35 2 +Card 116: 80 67 54 68 98 47 12 56 77 60 | 45 81 47 78 29 39 56 42 80 54 68 90 37 2 16 96 5 38 14 59 7 30 6 67 20 +Card 117: 6 59 84 35 1 53 28 77 94 24 | 97 62 40 54 93 44 90 63 26 64 91 75 6 4 22 82 80 2 69 12 77 21 53 49 10 +Card 118: 86 30 39 49 32 29 27 68 97 50 | 2 48 36 99 83 4 38 5 47 77 66 1 20 10 14 15 63 78 89 91 85 80 41 28 54 +Card 119: 87 78 77 15 85 99 2 35 45 11 | 58 51 62 42 63 90 37 22 8 83 34 31 67 35 72 17 91 7 88 49 13 39 59 4 18 +Card 120: 80 21 33 94 26 68 73 35 83 3 | 67 9 94 49 27 50 40 30 60 90 86 91 98 69 6 15 36 71 38 31 17 33 41 70 84 +Card 121: 81 17 27 59 99 69 49 14 83 91 | 20 77 55 73 87 36 25 56 54 58 45 68 80 18 3 15 65 31 96 40 75 30 92 42 23 +Card 122: 22 44 29 27 77 20 86 34 5 99 | 63 19 97 74 4 39 7 52 87 31 81 45 23 18 53 47 50 73 80 2 70 94 26 66 14 +Card 123: 39 40 61 53 56 60 96 5 68 25 | 97 98 6 79 81 32 51 26 59 13 10 2 3 77 88 80 63 90 52 12 87 29 49 18 76 +Card 124: 78 19 92 75 56 95 2 16 43 44 | 95 2 56 4 92 66 53 88 21 16 43 78 17 44 85 48 12 19 52 40 69 75 59 82 26 +Card 125: 14 43 38 9 8 62 17 28 12 11 | 80 19 38 43 11 34 29 9 32 12 62 28 77 72 17 69 33 96 94 78 67 8 93 90 4 +Card 126: 60 95 93 99 11 49 20 75 37 54 | 54 42 19 49 92 95 11 34 74 93 60 52 99 5 7 75 20 12 68 98 43 50 36 37 56 +Card 127: 73 24 71 80 58 62 17 41 61 43 | 68 43 79 58 87 67 6 62 20 41 93 71 27 88 23 17 24 42 52 13 61 80 81 84 73 +Card 128: 99 10 91 58 70 47 80 30 96 57 | 46 57 3 72 4 87 70 10 59 7 96 48 28 97 91 58 47 76 36 80 8 23 19 30 99 +Card 129: 50 3 78 8 80 11 57 52 94 47 | 63 60 38 92 50 65 91 88 53 17 96 42 66 28 1 25 75 76 73 87 90 36 82 24 68 +Card 130: 38 42 33 70 61 58 73 88 74 29 | 83 92 77 58 56 74 55 93 38 46 29 28 37 68 33 73 91 61 12 64 25 88 42 31 70 +Card 131: 92 46 42 96 12 14 95 84 57 78 | 11 6 82 41 73 55 8 93 76 98 99 86 31 21 78 29 32 70 62 23 95 15 9 77 52 +Card 132: 40 97 45 2 19 99 29 98 37 20 | 5 56 36 21 33 83 32 98 66 20 16 37 97 93 40 78 43 77 99 29 87 96 2 30 39 +Card 133: 97 81 10 23 75 6 53 27 35 47 | 37 93 8 92 68 65 15 85 25 67 61 56 5 42 88 18 76 87 60 46 59 94 86 57 91 +Card 134: 96 66 54 61 10 85 98 40 13 41 | 90 58 9 38 28 24 57 52 5 81 80 62 34 54 79 49 2 95 1 18 41 65 82 32 42 +Card 135: 54 79 66 83 45 35 10 27 41 94 | 67 42 4 89 51 95 1 63 90 40 65 23 98 7 86 9 97 3 11 61 92 69 77 80 2 +Card 136: 37 86 74 45 70 95 33 28 82 32 | 67 13 62 8 63 41 78 40 24 91 11 48 7 85 59 81 44 37 45 90 66 70 35 33 94 +Card 137: 75 89 5 18 91 57 37 63 85 40 | 27 34 9 51 76 41 69 86 95 81 36 82 1 38 10 99 7 47 21 77 8 30 19 71 60 +Card 138: 9 67 82 54 5 98 7 6 40 96 | 13 83 90 88 44 17 82 24 47 84 23 85 62 45 72 91 58 46 38 32 25 79 70 59 33 +Card 139: 1 6 65 80 35 91 63 22 60 50 | 79 84 81 92 75 36 88 90 86 16 53 17 44 43 15 94 73 51 14 42 33 98 74 57 4 +Card 140: 24 43 8 76 91 79 42 68 81 70 | 65 36 56 57 16 69 38 86 85 37 22 9 98 33 45 25 95 28 52 2 27 6 14 46 55 +Card 141: 62 32 78 2 21 45 75 48 91 85 | 38 42 3 20 21 56 48 75 86 45 40 91 33 73 25 85 16 78 2 24 72 26 32 61 62 +Card 142: 90 10 32 43 65 91 24 22 34 62 | 91 26 72 81 7 11 32 10 90 33 34 87 35 24 29 3 59 62 2 65 22 43 57 74 79 +Card 143: 16 52 66 56 50 57 77 71 73 40 | 71 43 80 59 36 39 77 40 11 4 64 16 85 52 49 73 56 57 10 9 86 46 66 6 50 +Card 144: 61 56 14 66 2 73 39 8 33 97 | 26 8 47 67 16 18 37 39 14 9 61 33 97 2 66 56 73 4 75 11 62 68 49 44 34 +Card 145: 75 65 92 85 73 18 70 95 49 22 | 25 8 49 2 16 13 97 33 93 66 75 85 73 71 65 18 22 53 92 38 44 50 62 70 95 +Card 146: 78 62 86 83 26 23 80 2 77 87 | 23 96 38 63 83 22 20 86 77 21 67 66 75 5 36 47 26 61 80 87 82 16 78 46 2 +Card 147: 84 36 18 42 50 12 64 61 99 91 | 18 75 61 76 74 12 1 41 28 91 64 24 55 36 27 3 84 99 42 50 95 83 31 7 22 +Card 148: 61 91 60 18 68 50 73 29 23 87 | 18 76 33 5 27 97 31 37 21 38 56 91 60 87 23 55 58 61 50 45 14 29 72 68 73 +Card 149: 46 97 81 18 85 95 91 43 72 87 | 32 23 1 49 66 96 24 16 42 22 81 51 72 8 20 37 44 71 45 25 90 88 5 94 74 +Card 150: 17 99 20 36 33 78 9 87 81 84 | 37 8 79 65 31 99 45 36 81 90 73 11 49 46 87 84 3 33 19 12 57 9 20 48 17 +Card 151: 35 46 49 80 66 75 99 77 8 53 | 75 24 5 67 4 53 49 61 19 23 26 97 93 77 46 66 35 40 99 39 30 80 76 25 8 +Card 152: 11 80 39 1 30 36 16 85 33 66 | 26 66 60 2 94 16 81 48 80 43 85 96 51 68 33 63 88 54 6 36 37 59 5 1 47 +Card 153: 49 86 25 83 96 8 93 88 24 57 | 66 60 51 33 57 95 49 79 63 2 93 58 65 70 55 76 87 27 1 46 11 52 80 84 54 +Card 154: 38 41 75 30 91 6 14 66 47 57 | 34 56 11 70 71 60 22 81 41 74 39 67 79 98 87 42 62 3 32 57 55 46 33 16 51 +Card 155: 25 31 45 21 68 57 73 20 71 32 | 20 18 98 53 60 7 38 10 12 19 77 64 79 74 17 33 83 88 28 16 32 21 89 69 65 +Card 156: 19 35 39 37 84 50 62 95 96 56 | 89 24 92 67 4 47 54 59 72 84 3 5 76 96 23 1 58 86 32 21 78 88 68 44 48 +Card 157: 24 68 39 72 23 93 81 51 45 25 | 96 33 76 99 5 70 93 18 24 68 6 64 49 92 45 80 15 77 4 57 25 13 44 28 2 +Card 158: 51 18 46 75 2 80 20 72 17 29 | 97 55 47 23 20 4 39 24 64 11 31 16 90 29 93 72 18 45 27 46 61 70 80 68 67 +Card 159: 34 10 70 56 51 9 99 32 15 74 | 13 31 44 56 63 20 99 81 40 78 84 90 50 52 85 19 41 10 45 71 22 28 26 8 14 +Card 160: 69 49 13 23 36 64 24 18 57 7 | 54 62 96 36 7 10 28 64 1 85 3 63 73 21 27 37 49 47 75 34 97 30 77 32 9 +Card 161: 35 16 44 25 42 62 95 77 89 34 | 29 26 11 78 97 23 28 36 10 96 54 81 17 22 80 27 77 44 41 34 20 51 76 24 75 +Card 162: 60 17 28 76 67 12 41 15 53 70 | 41 19 35 64 65 15 37 22 80 66 55 40 45 81 17 98 85 74 57 4 16 91 49 5 68 +Card 163: 57 3 82 45 28 70 50 17 85 48 | 68 87 47 62 58 31 88 92 98 90 46 29 5 85 93 24 95 99 39 75 55 33 65 49 14 +Card 164: 33 81 13 87 53 48 79 70 17 91 | 92 57 21 4 36 27 62 1 46 80 31 72 5 94 58 99 75 67 83 25 51 9 26 52 63 +Card 165: 55 70 45 36 72 59 81 16 69 98 | 60 7 43 54 66 78 83 23 25 94 48 67 26 56 53 58 2 4 27 31 34 39 49 85 74 +Card 166: 94 64 48 15 36 35 79 23 77 33 | 78 80 25 5 18 34 92 69 84 86 26 13 89 65 29 3 7 39 71 31 42 21 51 48 55 +Card 167: 13 34 54 2 20 16 89 79 88 9 | 47 75 25 82 72 76 51 37 95 22 71 55 54 74 9 33 97 83 27 2 79 28 17 91 24 +Card 168: 33 82 70 88 7 46 96 67 26 89 | 73 8 22 1 59 45 92 24 43 41 15 64 3 58 83 63 57 82 20 18 91 13 77 60 19 +Card 169: 91 4 32 45 55 98 80 52 9 33 | 20 45 37 28 69 61 60 81 12 33 51 74 15 97 50 86 72 99 2 41 70 58 19 40 39 +Card 170: 45 72 63 87 70 33 89 41 4 18 | 25 9 19 49 26 63 11 73 54 64 70 37 45 82 30 1 90 24 87 42 4 40 91 71 18 +Card 171: 74 99 84 26 66 10 95 8 75 68 | 34 62 37 97 57 65 75 74 6 67 68 96 4 1 95 55 52 82 13 47 63 48 94 26 77 +Card 172: 62 99 47 83 94 8 51 70 9 76 | 94 99 83 26 57 76 18 67 22 80 61 34 8 39 65 78 13 81 70 51 62 93 9 3 33 +Card 173: 42 99 9 18 48 61 36 83 13 84 | 7 69 44 61 35 54 27 3 60 55 99 84 32 48 18 19 72 42 89 65 4 92 79 75 13 +Card 174: 48 34 46 43 53 51 72 35 19 3 | 72 43 57 51 14 34 2 36 53 25 94 81 87 61 19 35 23 4 99 26 48 46 7 90 86 +Card 175: 46 59 27 28 82 13 99 35 18 6 | 36 90 70 87 64 31 42 71 50 27 76 45 99 32 21 20 9 88 23 93 17 46 80 85 59 +Card 176: 92 44 3 29 10 7 66 4 57 21 | 36 68 61 87 65 1 53 95 60 2 34 47 75 42 82 8 83 79 54 74 93 26 69 22 32 +Card 177: 89 23 17 80 22 65 98 11 94 3 | 91 28 37 99 63 60 42 87 23 98 71 39 82 93 57 68 62 13 75 77 22 26 53 48 90 +Card 178: 11 75 56 47 64 88 91 66 59 12 | 41 97 40 26 42 67 23 28 31 99 85 30 11 94 81 55 74 89 52 64 65 69 3 38 43 +Card 179: 31 97 46 27 96 57 45 30 64 82 | 36 42 81 54 85 31 1 29 8 84 28 50 64 76 10 67 77 39 21 4 75 78 99 47 12 +Card 180: 10 32 84 45 87 16 82 14 95 8 | 21 8 41 66 56 42 77 83 90 9 55 61 19 38 23 50 28 62 99 58 33 11 84 39 98 +Card 181: 90 54 11 49 95 88 15 75 18 2 | 30 5 68 41 71 52 56 10 50 60 81 51 27 94 42 55 6 87 78 66 72 96 36 12 62 +Card 182: 73 1 91 2 99 75 30 29 48 89 | 46 51 34 7 18 57 64 9 23 68 16 19 85 70 66 72 5 87 12 4 25 97 10 89 60 +Card 183: 16 20 31 39 75 36 78 33 88 69 | 57 17 8 70 79 37 6 48 51 85 30 45 98 26 3 83 29 58 87 54 61 35 74 43 66 +Card 184: 69 50 38 49 9 96 75 82 80 14 | 23 99 30 83 78 9 50 40 14 74 75 8 37 69 82 42 26 49 96 1 38 58 80 84 7 +Card 185: 44 66 49 89 36 28 30 85 32 68 | 44 28 66 72 33 65 31 67 36 30 99 89 12 25 32 76 68 85 48 90 78 92 13 49 82 +Card 186: 46 48 6 52 24 19 51 76 11 47 | 93 63 78 33 31 86 68 10 74 70 3 83 36 4 54 79 8 77 38 57 97 27 22 29 53 +Card 187: 49 12 70 83 40 68 15 78 88 95 | 72 31 40 69 37 65 71 35 9 44 49 95 89 68 50 41 20 58 16 60 90 22 28 96 10 +Card 188: 86 47 96 63 55 29 91 31 59 23 | 55 77 30 23 91 75 86 47 29 31 78 67 4 92 96 26 63 37 80 54 1 11 32 15 98 +Card 189: 40 97 46 63 66 58 54 35 33 59 | 75 17 57 71 55 62 43 96 85 98 83 37 40 23 65 94 93 25 72 78 46 47 28 33 56 +Card 190: 94 41 57 47 6 24 65 59 44 20 | 95 86 26 77 87 47 18 27 16 85 57 61 66 37 35 38 23 42 50 60 98 71 62 8 25 +Card 191: 57 32 39 19 48 77 27 96 10 61 | 68 82 86 70 75 35 11 24 69 56 45 95 67 44 25 36 90 47 74 39 27 55 66 87 12 +Card 192: 50 94 12 32 88 76 95 23 46 49 | 60 9 6 37 42 50 96 15 95 66 34 94 91 4 33 29 14 92 16 80 98 64 12 57 36 +Card 193: 32 25 53 7 71 31 80 42 92 63 | 84 78 28 90 27 24 5 67 63 75 81 12 31 55 46 60 89 98 37 16 86 23 72 43 22 +Card 194: 79 47 88 9 97 76 62 23 72 84 | 77 78 67 65 91 79 64 38 41 26 89 16 10 71 86 82 47 75 61 11 34 66 7 3 70 +Card 195: 22 47 95 56 66 98 44 73 50 30 | 92 33 28 65 16 60 8 45 56 2 47 84 25 55 58 17 35 88 38 95 81 63 43 57 98 +Card 196: 76 23 10 43 9 32 46 62 84 79 | 22 4 49 42 23 55 13 35 90 9 24 52 65 26 95 94 18 37 47 79 56 59 54 86 48 +Card 197: 65 44 24 84 49 62 6 54 42 20 | 25 72 90 58 77 60 59 73 11 39 91 19 21 28 62 8 41 66 87 56 64 52 80 82 24 +Card 198: 63 44 64 86 78 25 92 90 99 70 | 62 29 51 81 21 6 75 58 54 90 18 10 59 98 97 41 4 52 53 64 80 28 92 11 9 +Card 199: 7 15 47 28 44 22 74 76 40 56 | 78 24 95 38 25 36 77 46 89 45 18 42 3 75 62 90 52 81 83 85 80 26 4 23 71 +Card 200: 85 88 3 44 54 19 9 71 29 53 | 72 42 56 55 33 68 65 86 58 3 57 83 12 31 96 9 13 62 70 80 17 29 41 27 6 +Card 201: 10 51 69 82 56 40 94 9 90 78 | 57 92 89 1 99 87 5 73 80 28 2 6 67 70 33 18 17 78 16 95 69 44 38 24 55 +Card 202: 44 47 79 75 24 50 86 80 62 87 | 66 91 36 15 28 81 57 69 30 14 10 20 27 18 77 46 95 72 39 23 38 34 60 37 26 +Card 203: 59 31 79 81 4 21 24 54 48 62 | 37 90 25 51 70 77 18 17 97 52 40 75 43 3 91 50 87 67 42 15 14 63 6 13 5 \ No newline at end of file diff --git a/aoc2023/src/day6/input.txt b/aoc2023/src/day6/input.txt new file mode 100644 index 0000000..1026e3a --- /dev/null +++ b/aoc2023/src/day6/input.txt @@ -0,0 +1,2 @@ +Time: 41 66 72 66 +Distance: 244 1047 1228 1040 \ No newline at end of file diff --git a/aoc2023/src/day7/input.txt b/aoc2023/src/day7/input.txt new file mode 100644 index 0000000..b1d1932 --- /dev/null +++ b/aoc2023/src/day7/input.txt @@ -0,0 +1,1000 @@ +3Q373 470 +K53JT 351 +A9JK9 856 +2T333 515 +867T4 541 +58K22 253 +5JA6J 994 +K4A4K 865 +94377 519 +92J2Q 901 +J7676 389 +2KK36 938 +JQ2KK 987 +Q7A82 509 +TTTA5 243 +72J27 502 +AKKKA 387 +23222 674 +55335 161 +AA655 73 +QKKQA 686 +5J2T5 680 +666AT 385 +ATA3A 761 +TTT8J 364 +98A2T 282 +59A44 260 +6T9QJ 130 +T7TKQ 721 +9274T 656 +T9AJ4 182 +A2222 259 +TQKJ7 67 +4J844 560 +AAATA 636 +9J36J 546 +QJQQQ 119 +249TT 295 +877J7 221 +4KA23 116 +929Q2 929 +99JQQ 445 +Q9QJ8 432 +4Q7TJ 963 +4J2J8 783 +5J657 257 +88788 183 +KKK7K 909 +KK396 637 +J45AT 117 +84448 806 +A2698 820 +A9AA5 320 +A3934 19 +Q45Q5 392 +78686 254 +A55A5 701 +98A4K 655 +5AJ88 95 +AK3KK 55 +773KK 33 +J9J9J 356 +2KAKK 563 +655K5 287 +55T56 475 +54444 308 +5J5QA 811 +QKA76 792 +2K288 42 +JTKA2 694 +88668 889 +8TQ64 212 +23QQ2 261 +8K8K5 365 +JKKAA 234 +3J894 880 +667Q2 817 +888T4 599 +T5Q83 315 +3QK29 670 +JK4KK 322 +75T8T 144 +AAA7K 291 +7T333 495 +A49K4 448 +JJ3J3 251 +5999J 278 +38438 890 +6K3Q9 122 +TTT99 93 +94775 240 +K8QJ3 369 +59674 107 +267J4 355 +QTQTQ 187 +46J44 961 +Q7AK2 580 +69969 609 +876A5 474 +A3866 642 +Q3QQA 526 +JAA88 425 +35Q9K 986 +QQTQJ 550 +54535 357 +2J222 639 +QK5J7 743 +222Q2 191 +T4T44 855 +QTQQ2 338 +JA7A2 300 +AAAJ2 508 +4J455 23 +A77AA 339 +5KK25 899 +252J2 737 +7QJ76 888 +K46QK 795 +A4T3J 640 +8A8K8 176 +AA5AA 41 +J2Q24 958 +58855 632 +333J3 610 +74474 807 +K3AAA 78 +JJ222 765 +44224 688 +76733 361 +5845K 181 +TT4T2 974 +23J33 102 +QQJ6Q 34 +Q9AQQ 150 +22747 717 +KAA5A 121 +7AA7J 286 +J786T 780 +3K8TT 32 +A6KAA 25 +9A362 166 +A29Q2 499 +6688K 57 +KKQKA 947 +999JJ 975 +6A666 927 +TTT3K 658 +JQQ7T 467 +8A247 934 +7JK8J 712 +KK39K 612 +6666Q 17 +77Q37 868 +A66AJ 169 +KKKKJ 535 +7Q7JJ 591 +K9848 646 +46888 931 +A86A8 326 +743TA 527 +QKK67 977 +KKJ6K 471 +AAJ7A 571 +55292 330 +3A222 390 +6453J 109 +JKKKA 403 +4J9T5 21 +K7A5K 486 +6TT34 793 +3479Q 60 +44624 443 +6KK3K 164 +4447J 112 +QQ27Q 452 +JAK65 522 +Q5Q5Q 354 +J5Q6A 540 +68999 711 +3QJ4Q 155 +A6AAA 314 +222KK 767 +55T9A 373 +T5T57 913 +TTTTA 794 +8J258 190 +3Q87J 489 +AAQAQ 950 +Q4JJ4 588 +6T64T 9 +636K5 228 +AA222 248 +7KJ35 616 +26646 507 +44A4J 829 +23323 904 +TA265 135 +JJQT9 136 +KATJ8 644 +J2862 713 +4JQ28 152 +Q3K2T 56 +6Q232 812 +9A622 885 +KJKKJ 773 +3859T 374 +99333 101 +TKTTK 205 +3333A 35 +5A4AQ 548 +T4944 967 +43353 813 +423JK 869 +T99T7 219 +3AAAA 394 +T65Q6 740 +J9243 352 +6656J 496 +444K4 574 +Q8T6K 98 +AQ55K 917 +7QQJ7 605 +TJ5TT 615 +68JQ5 852 +7A3J2 745 +369AK 217 +57755 343 +A8844 61 +Q76QQ 698 +36333 774 +237Q7 12 +KT694 283 +88286 154 +4T552 990 +Q9J54 759 +K6697 350 +A3A33 937 +AA9AA 246 +QQ7KK 748 +TT4A6 380 +4J992 845 +A66AA 573 +5QQ2Q 28 +86J37 214 +2A443 362 +Q9QKK 654 +44434 964 +77773 74 +44355 235 +9QK75 863 +3AJ33 766 +T2TJT 53 +44494 860 +883A9 309 +QQ59Q 360 +A88A8 584 +A83A4 395 +7J9TA 299 +55955 833 +QJK35 188 +4656A 514 +8KTQ4 554 +56J47 985 +J272J 184 +9J999 671 +72295 31 +53555 264 +4A537 750 +7A4JJ 875 +QK834 463 +88KKA 570 +QQ9JK 906 +6Q646 858 +53336 359 +QJ8QJ 587 +424TJ 607 +KTKK6 285 +Q5AQQ 84 +899A8 542 +K8TKK 250 +4JA4A 705 +6J75J 896 +888K8 312 +5583J 660 +6T335 614 +Q757T 945 +3AKKA 629 +KK946 825 +3393Q 406 +7J288 367 +49999 907 +99729 837 +66265 384 +K47JQ 263 +2AJ4K 566 +TTKKA 186 +8J877 418 +56844 666 +JTTTT 531 +6TJ94 26 +JQ5J5 344 +7J772 85 +33747 510 +KJA2A 729 +333TQ 578 +JQAT4 955 +75766 834 +QQ6QQ 980 +32K33 306 +TTTJ6 231 +2QTTT 213 +999AQ 608 +33353 202 +Q8Q8Q 756 +KK555 490 +746K8 691 +98A75 853 +JQ858 816 +KK9KK 536 +9T999 933 +TA8A8 39 +8558J 919 +J8KQK 15 +73Q2K 503 +2K2KJ 585 +JK9K5 903 +TJ7T7 545 +J723T 453 +KT895 583 +TTTKT 123 +39535 393 +K4K88 893 +43KK6 821 +6AA8J 504 +972TA 597 +7J736 592 +536A8 63 +J23Q3 402 +83K9Q 405 +28337 396 +9T558 776 +7AA78 946 +QTT24 441 +26QT3 401 +AJQAQ 953 +6T6AJ 304 +JK5KK 162 +2JJ2J 484 +73773 6 +8J864 630 +78782 557 +6TJ52 424 +487JQ 830 +8J698 82 +AJAAA 866 +228J8 204 +622J4 823 +6J2QJ 79 +22K22 232 +A86A6 444 +83K8Q 965 +JK586 944 +JA848 465 +8888A 45 +2T28T 803 +73J73 450 +27272 857 +7A777 544 +A998J 679 +46466 458 +KJ233 192 +4453J 378 +TQQJT 451 +A3K5J 512 +888Q6 968 +6AA66 841 +QQ222 883 +3K5A3 233 +JA4AA 379 +62288 778 +44456 51 +4A644 862 +55647 981 +A77A7 327 +KQ3A3 687 +QQ7Q7 976 +T4A2T 293 +46226 628 +Q59Q5 348 +36AJ2 984 +54433 532 +JJQ24 831 +7455J 381 +78845 218 +72AQ5 276 +52T22 618 +99399 68 +36AA3 118 +69669 839 +33Q5J 785 +TJ766 626 +T28J4 556 +T883Q 142 +73928 932 +TJ884 494 +AJ36Q 485 +9Q999 324 +T725Q 267 +22622 88 +92364 685 +97792 789 +J673K 620 +99943 625 +77JJ7 921 +8828Q 572 +7777J 353 +TAAJT 926 +99T29 787 +AQ4J4 520 +9J559 5 +J3T94 706 +K9KK9 918 +KK252 439 +79925 97 +TT47T 497 +848T4 126 +6TTT6 426 +K8825 925 +888J8 62 +K5K85 972 +AAKKA 449 +J5555 663 +89J99 27 +4Q444 922 +A9A99 397 +5A555 163 +8J3K8 662 +29989 645 +95222 751 +Q4Q4Q 193 +555K5 982 +74AJ8 735 +KKQ6K 668 +7676Q 916 +A28T7 784 +K57KK 388 +A4J4J 115 +2K442 229 +33TT3 956 +TT6TA 741 +TT782 131 +TJ5JQ 238 +TQ7T7 415 +29KQQ 598 +A8AAT 676 +46A28 650 +6698K 696 +6J969 158 +6694A 271 +QTQ5T 498 +Q2QQQ 613 +2A7QJ 210 +6T466 683 +QJ575 799 +Q63Q3 822 +Q9J28 848 +TTTT7 7 +KA9AA 854 +K2JJT 859 +28228 179 +K29KJ 429 +JJ8JJ 222 +A99A5 457 +QQTTT 983 +43KK2 134 +984JJ 1 +97J97 892 +2AAA8 689 +9Q77J 819 +98TJK 517 +56KA5 71 +7J66J 294 +55855 335 +TTT8T 596 +33663 407 +7J774 911 +3JQ55 564 +QQQ7Q 329 +85668 120 +KK333 301 +Q3553 867 +7K557 988 +Q8488 400 +96J99 643 +29224 714 +T8ATA 346 +99J93 462 +K83J3 697 +3KQJ4 653 +5KJQ2 824 +4JJ3A 897 +56248 727 +JJ666 702 +355T5 245 +45KAK 553 +88AAA 236 +K55J5 581 +AJJ49 65 +A8Q3J 197 +AAAKQ 529 +55976 707 +77776 930 +A9995 227 +K7J7K 912 +29K99 244 +4Q464 80 +22972 195 +666JQ 189 +26278 241 +79288 601 +5454A 427 +JTAKQ 138 +88833 549 +84J54 215 +AATAK 114 +58959 145 +8ATTJ 431 +QJ26K 265 +A3JA3 81 +T8T4J 242 +4T3A3 37 +44777 871 +JQ542 561 +A97Q9 693 +A76T4 412 +28T4A 481 +T485A 861 +78286 303 +K6776 52 +T8TKQ 754 +KJ938 957 +Q444Q 840 +25A89 455 +58588 673 +K8858 634 +K8KJ8 170 +K6KKK 851 +53353 140 +2T2K6 593 +QQAQA 48 +TT6J6 305 +922J2 920 +AA22K 22 +J555Q 725 +TTAAT 781 +2244J 171 +A95K7 436 +2J299 651 +78AAA 321 +2KKK2 690 +2J565 649 +77J5K 77 +T999T 762 +J4445 879 +J888Q 873 +J884J 1000 +98898 413 +29299 442 +QKQ3Q 678 +A652A 993 +55272 898 +KA5K5 664 +8KJAQ 147 +Q56QJ 734 +K77J3 739 +J7677 661 +T5569 206 +2AA2J 757 +TJTJT 342 +T2TTT 682 +88J82 363 +9KK78 700 +AT4T4 730 +86968 736 +99995 207 +7A3J4 172 +8KK87 991 +TKKJJ 16 +J7532 165 +J9888 996 +9AJTA 92 +43T78 310 +93J77 317 +J4424 805 +43J86 703 +952TJ 127 +54363 146 +8T2J7 435 +88848 832 +TAAAQ 791 +8228T 256 +699QT 815 +KQQQK 30 +T82J3 49 +36222 4 +AK288 86 +6792A 194 +2Q22T 667 +J3545 270 +9QJK4 280 +QQ22Q 371 +K9247 446 +A422A 943 +765K3 469 +9J5A6 874 +4A4QA 775 +8Q8Q8 124 +T8Q62 850 +8Q8Q5 747 +6KT88 738 +82888 722 +3TQQQ 349 +2J3TT 539 +7TQ59 72 +8998T 733 +JQJT3 414 +82428 589 +92856 423 +89833 54 +79T4A 523 +95839 979 +TJJT5 936 +33839 29 +37433 511 +TKJ2T 681 +JT973 633 +Q8Q8J 971 +Q5555 440 +K8886 24 +Q75A4 43 +3AQ33 298 +T446T 719 +577J5 753 +KJTKT 167 +52528 8 +25222 641 +QJ2T8 621 +A8JQJ 316 +7T7A7 772 +KQQTQ 141 +83734 758 +6Q66Q 434 +QJ6Q2 638 +AAA7A 196 +57555 203 +4QJQ4 216 +82J5Q 763 +A73A3 940 +46AJQ 559 +T4936 103 +89Q29 262 +7872T 466 +A5J58 274 +AAAQA 290 +37399 844 +A759Q 328 +TJ9TT 273 +77887 268 +64A2J 978 +6T76Q 110 +QQ467 742 +9J7Q5 422 +4K6Q3 91 +336K3 826 +6K63Q 382 +23552 105 +243AA 505 +Q887J 764 +2J92A 749 +68A3Q 416 +7T8T8 199 +225J5 404 +24774 153 +T7T77 870 +3J393 347 +Q5Q8J 128 +7Q777 796 +QKKKK 617 +86686 108 +44KT4 75 +56858 622 +5AJK4 960 +3245Q 311 +36536 370 +6644Q 11 +JKAAA 104 +T2426 579 +J3399 83 +33933 602 +A299J 777 +26J22 224 +8666J 594 +J3J38 669 +3AJ84 239 +52Q8T 877 +QJQQK 779 +QJ6T8 797 +43339 399 +9AJ74 476 +T499Q 13 +2TAKA 928 +T3K78 809 +2923K 201 +J8858 798 +T8888 818 +98399 168 +8T266 555 +23A57 652 +3KKK3 113 +22T22 460 +AJJAA 106 +7QKA8 464 +QQ8TQ 368 +99A99 341 +62Q5A 223 +J9T47 568 +Q7388 894 +69662 744 +96J2T 323 +2A779 89 +Q2874 269 +77797 948 +5359A 864 +AJ9K4 482 +Q3Q44 567 +JT958 665 +A38J3 438 +J4666 296 +428J5 501 +38K8K 410 +6T979 709 +3533T 284 +2285A 910 +933T6 882 +K6666 786 +56Q32 992 +5J752 198 +AJJQJ 600 +KK5KK 3 +38T94 180 +67QTJ 69 +J6636 200 +229J8 493 +QJTQ3 247 +5KQ5K 149 +654AT 528 +T84T4 878 +Q23QQ 905 +QQQ74 325 +4JTQQ 408 +T4T78 340 +3T5T5 551 +3J3J3 391 +88844 631 +TTT9T 810 +57775 935 +A777J 604 +4555T 2 +A5J8T 942 +22AJJ 506 +22323 997 +A3323 624 +84442 516 +2T992 76 +J7T76 828 +J8552 995 +KTKK3 886 +33853 782 +53233 129 +44J4J 372 +KQQT2 480 +K5649 576 +3J63K 760 +2J666 827 +6JT68 318 +45Q64 849 +49884 801 +9KTTK 902 +66737 952 +5Q8J4 708 +57Q92 724 +627J7 331 +K22J6 473 +4T444 923 +J4444 552 +78J8J 491 +4K328 477 +4AA3A 808 +7A34Q 437 +AQ888 428 +8TA99 768 +AA9A9 143 +9K5AT 211 +77722 40 +TQTTT 941 +Q2A4K 492 +236T9 677 +J8686 746 +J585K 64 +TJKQT 582 +T3TTJ 157 +22266 38 +KT5TK 692 +QJQQJ 908 +4K623 279 +7JJJ7 173 +64A66 524 +J7AJ8 417 +K43Q3 769 +T662T 148 +54J2J 488 +K6485 44 +J6666 970 +J26J9 209 +8337Q 334 +A27A4 319 +A7T78 132 +K777A 842 +KKK4K 249 +99K9K 430 +8745K 151 +Q2QTJ 433 +QKQ76 525 +25Q2Q 533 +5QK6J 800 +77T77 558 +5K323 939 +33KK4 590 +K8A52 111 +ATQJ6 569 +ATK89 50 +4433A 836 +3KKKQ 891 +46TK4 538 +5249Q 447 +2462K 675 +8JT6T 336 +466J7 459 +7K7KK 838 +544Q4 959 +58773 483 +823J5 999 +2TKA5 752 +AKJ58 386 +7T833 99 +KQ88Q 659 +KJ3A4 790 +K9595 307 +3K3J4 534 +3838T 220 +32522 720 +366Q3 500 +J8868 989 +T7KTK 376 +JQQQA 14 +42555 409 +5T5T5 648 +4KK4Q 383 +K7777 884 +736A3 543 +343Q3 366 +TJ856 237 +JJ555 46 +K5QQQ 275 +QAQQ7 672 +8KTJQ 731 +QQQ3Q 47 +J257Q 575 +6Q3QQ 87 +QKK43 924 +TTATJ 998 +K44K5 771 +37895 881 +48823 521 +KKK74 456 +99J79 139 +J4542 635 +AJ96K 954 +K8937 411 +5J355 895 +96967 185 +333T3 562 +TAJ77 755 +J38A8 487 +AAT79 313 +A6Q73 398 +386JA 10 +J35Q8 623 +27758 969 +3K3KJ 966 +7928Q 627 +AAA4A 59 +2AA52 478 +848J8 133 +55225 843 +TTQT9 619 +3Q79K 255 +27AK8 58 +TKTKK 272 +KTTAT 333 +55666 802 +47748 454 +Q3T56 699 +63T3T 302 +8754Q 723 +4J86T 358 +8TTQ9 226 +5523J 125 +88588 606 +58AAA 208 +TK273 137 +4Q7KQ 160 +29292 577 +Q333Q 611 +22TT2 716 +A55AA 258 +64822 468 +22228 847 +2242T 788 +JA26Q 472 +8JAAA 174 +K5Q8A 175 +Q5AT4 732 +J4434 530 +76666 337 +9998Q 547 +9T2J9 100 +3Q982 90 +7727Q 281 +92944 973 +K2597 814 +K444K 36 +26KJ6 292 +34K38 962 +5A378 225 +636J9 375 +TTTT4 420 +A66TA 461 +69QK5 345 +76293 479 +66966 804 +A3383 297 +T82TT 657 +2QJJQ 156 +K2JK3 94 +K6K66 252 +K58QJ 876 +6J979 513 +92647 718 +QQ9Q9 586 +862Q5 20 +5465K 915 +KQ44Q 595 +T66T6 288 +TJT7T 710 +5JT8K 159 +KJTK3 603 +KKJTQ 949 +67776 914 +J4323 177 +22229 704 +96999 178 +8AJKA 70 +69T69 419 +65556 770 +87738 537 +547J4 835 +44766 421 +3355J 684 +2K266 647 +5TTT5 266 +3T3TT 332 +88JJ8 96 +QQ5K3 887 +K7JKK 377 +J8Q2Q 66 +2KKJ6 230 +TTKQT 277 +22Q92 18 +JTTTK 695 +J993Q 846 +88898 728 +88T87 715 +Q74J4 872 +4T999 951 +T997Q 289 +92QA9 726 +AJ394 900 +TT2T2 518 +JJJJJ 565 \ No newline at end of file diff --git a/aoc2023/src/day8/input.txt b/aoc2023/src/day8/input.txt new file mode 100644 index 0000000..e27fbc1 --- /dev/null +++ b/aoc2023/src/day8/input.txt @@ -0,0 +1,740 @@ +LRLRLLRLRLRRLRLRLRRLRLRLLRRLRRLRLRLRLLRRRLRRRLLRRLRLRLRRRLRRLRRRLRLRLRRLRLLRLRLRRLRRRLRLRRLRRRLLRLRLRRRLRRRLRLRRRLRLRRRLLRRLLLRRRLLRRRLRRRLRRRLRLRLRLLRLRRLRLRLLLRRLRRLRRLRLRRLRRLLRRLRLRRRLRLRLLRRRLRRRLRRRLLLRRRLRLRLRRLRRRLRRRLRLRRRLRRLRRRLRLRRLLRRRLRRRLLLRRLRLRLRRLRRRLRRLRRLRLRRRR + +GXT = (MQM, CHN) +MBK = (RCK, RCK) +HBS = (QHS, RXC) +SXK = (FDB, FKP) +NJB = (BSB, KJM) +SPD = (FNL, RSH) +FJF = (NFH, XJN) +GHV = (LSV, BTS) +QDT = (HXV, PDX) +MDH = (XDK, DKN) +AAA = (FKL, CFC) +GRB = (VDP, LMM) +CXK = (DVB, CRJ) +FDB = (FTD, CNK) +LQT = (BJV, SMQ) +TSK = (NQD, VSG) +VLF = (NDS, CTV) +PGP = (DKC, CKL) +PVJ = (FDB, FKP) +VSV = (NFP, QHX) +KXN = (XJN, NFH) +KMQ = (VBH, XXH) +QXR = (RMD, TLT) +DLN = (TPD, KBG) +BHK = (GRP, RXF) +TSX = (HQP, SHK) +PTV = (VSG, NQD) +QVN = (XBH, DHC) +DDM = (TCB, XRQ) +NKD = (CDR, BJM) +JNR = (FMC, SQN) +VPQ = (JGC, VCJ) +HPB = (STQ, DDM) +HRT = (JNR, BGH) +CNQ = (HQV, PJQ) +PMG = (LRB, XXP) +RKV = (XGN, VCG) +KVQ = (KHS, SLV) +MDM = (VDX, NSF) +VHT = (PGP, GJS) +BPD = (NBF, VNH) +JCQ = (JCB, XVR) +CFJ = (PQP, CBJ) +DSX = (BXN, VDS) +MGH = (PFV, NLQ) +MPK = (FND, BJX) +QFR = (HFC, CNG) +PHS = (VNH, NBF) +KTT = (MTG, SQM) +JBK = (CSR, VXV) +BKL = (DLB, SHQ) +GQH = (PCH, LDZ) +XVJ = (CQM, SLF) +VBN = (FFF, PDL) +KQH = (SLT, XLG) +SSN = (PQH, LFT) +MQM = (SBH, TTC) +SCR = (HGH, QGS) +XTZ = (XKM, JTJ) +ZZZ = (CFC, FKL) +PRA = (GRB, MDB) +VTV = (LXQ, HKP) +PPX = (SQM, MTG) +PVA = (MRJ, CVH) +BJH = (VTR, RKG) +KPH = (RFD, NJP) +HXG = (NVJ, HNG) +LRX = (DCX, MGH) +NFD = (PFR, FVQ) +TDG = (TDH, ZZZ) +XKM = (XDG, VHT) +CKT = (LDC, VPF) +QQR = (BFQ, FXC) +RGJ = (KTV, GFR) +XDK = (MVC, SPX) +TLT = (MBK, DGL) +CDR = (JBG, KPH) +LTH = (DFN, BHK) +PVV = (BFQ, FXC) +FCK = (FRJ, KVG) +FXB = (MDH, VSJ) +DHD = (LDJ, RNH) +HHR = (HSK, CJD) +LSV = (LNP, NMD) +JSX = (DPF, SNN) +SBH = (XKD, GTX) +BHJ = (JSX, TMN) +CQX = (XPG, RLB) +XRQ = (FJK, NCF) +GMF = (JBX, DRV) +KBD = (HCC, TND) +KGT = (NLK, FRX) +RKM = (RTM, FMQ) +GNM = (GML, NLB) +SXP = (RKG, VTR) +PMS = (XBH, DHC) +PQH = (PJD, CXK) +XXH = (BMB, JGJ) +RHL = (QHS, RXC) +DFS = (JVK, VBN) +QCS = (XGN, VCG) +MJJ = (DDM, STQ) +SPV = (PXX, RRT) +FRJ = (SNX, MPQ) +FKC = (CBF, RKM) +SRG = (QFH, LGP) +VVQ = (BJV, SMQ) +BQC = (DSP, TXQ) +SHQ = (NKR, RGJ) +KCS = (QGS, HGH) +MTV = (BXN, VDS) +CNC = (HPB, MJJ) +SNF = (XXP, LRB) +KTP = (QRX, KML) +GSC = (HSK, CJD) +QRX = (CRB, TXL) +MDB = (VDP, LMM) +PFV = (CLM, CTN) +RRB = (HHR, GSC) +DDQ = (PXX, RRT) +TJB = (LSX, XNR) +BSP = (TXC, LKB) +MMV = (DKK, NFD) +DCB = (XKP, TNJ) +QKV = (CTT, SFM) +XDG = (PGP, GJS) +JMJ = (JLK, NJB) +VBJ = (HJV, JFD) +QHM = (CLJ, QGP) +STR = (HXG, RFC) +DPF = (VNQ, DQQ) +RXF = (NHV, GBX) +FXC = (JLX, LBS) +XVR = (MVT, QHD) +KNM = (BJD, QCK) +GTX = (MSB, FNP) +XCS = (PTN, NRH) +CGS = (FRX, NLK) +RCK = (CQM, CQM) +CDS = (PRR, GCJ) +BXN = (KQC, MSV) +PTN = (VST, QHJ) +TPD = (HJF, TSS) +RNH = (TTK, DBN) +TSM = (TPD, KBG) +KTG = (GPT, BMD) +PJP = (XBR, TCM) +QPF = (KJF, NJX) +HKP = (PLS, PGK) +KBG = (HJF, TSS) +SQK = (LSD, KNM) +XKD = (MSB, FNP) +QQP = (LFB, LTK) +MDX = (KTJ, FXF) +JLK = (KJM, BSB) +FBR = (PMG, SNF) +GSJ = (TDH, TDH) +DQQ = (FKK, KRF) +CTV = (CQD, RQX) +MNT = (RLG, XXQ) +GFL = (FGJ, KMD) +BJK = (VQX, JCQ) +SPN = (NKS, CNQ) +LNL = (XLM, XLC) +HKF = (HKJ, NNC) +FTD = (CCX, MSS) +RPV = (MDQ, DGS) +DCX = (NLQ, PFV) +JGB = (DVT, DRH) +CGM = (CHN, MQM) +JNQ = (PPX, KTT) +BJM = (JBG, KPH) +NFP = (SPD, XCT) +TPL = (LSD, KNM) +XTV = (CTJ, HPX) +LKB = (PDF, SLK) +QVK = (KMQ, MGF) +QVP = (VCX, JNQ) +NSR = (TJB, NBB) +XLA = (DLB, SHQ) +QLP = (HBS, RHL) +BGH = (FMC, SQN) +BJX = (LRX, PNM) +MVC = (BPD, PHS) +DXQ = (TMN, JSX) +PBK = (QKV, CTH) +GBJ = (RNH, LDJ) +BMB = (HJS, TJT) +SHT = (MFQ, LCT) +HSK = (CGS, KGT) +DRH = (PKN, PBN) +PQF = (XKP, TNJ) +RPX = (HCT, HQT) +FPH = (VQL, NPJ) +GLC = (PMS, QVN) +VDP = (SXK, PVJ) +JFD = (QBD, DGT) +LQL = (NPT, GVS) +TPQ = (NHL, MTD) +KRF = (HVT, MPK) +JQG = (QDT, PCK) +PJQ = (KVH, LBV) +VBB = (XXQ, RLG) +PSH = (SQV, TLB) +VXH = (VCX, JNQ) +VQD = (NBB, TJB) +JVD = (GDJ, JGQ) +SDR = (FTF, NQL) +NQQ = (TFM, CMC) +FNL = (LTV, CSX) +FVS = (NSF, VDX) +VTJ = (VXH, QVP) +KQC = (LGG, LGG) +SCS = (MTV, DSX) +QPS = (HMV, QQP) +CQM = (JDD, JDD) +FJX = (VBB, MNT) +GBQ = (BXV, LFR) +HGH = (SQK, TPL) +SLT = (FXB, NGN) +PBD = (HDC, FCX) +CKL = (MQS, NND) +LSX = (MBF, SPN) +HNG = (JQG, GKD) +MFQ = (PSH, TGK) +SNX = (GCS, KSF) +FMQ = (DXT, DFS) +TXC = (SLK, PDF) +VST = (SSN, LSR) +BFB = (VSV, SVC) +VNX = (TMF, QFS) +VPK = (VBB, MNT) +NVR = (XPG, RLB) +FLS = (FSL, CKH) +FKP = (FTD, CNK) +MGF = (XXH, VBH) +LNM = (NFD, DKK) +FNP = (VTT, MVG) +HDC = (PXP, GVH) +KVL = (LCT, MFQ) +XGP = (RHG, RTK) +JCT = (NJB, JLK) +XSL = (SVC, VSV) +SRS = (HPD, XBL) +FSL = (JMG, TFD) +CXB = (KQV, QGK) +QRP = (CGF, CQF) +PRG = (MDX, KPL) +VLL = (MRB, MHN) +VNQ = (KRF, FKK) +NPJ = (VPK, FJX) +MHN = (SRG, TTL) +KFN = (DFN, BHK) +FVQ = (LJM, TJV) +GKD = (QDT, PCK) +GVS = (FCK, NGC) +MBF = (CNQ, NKS) +SMQ = (KSV, KMF) +CRJ = (GSJ, TDG) +LHT = (BTL, KMB) +KJM = (KJC, BGC) +TTC = (GTX, XKD) +QFT = (PRM, KXS) +SDS = (JMP, TSR) +BLX = (PQF, DCB) +PXX = (LJT, QFK) +SQV = (FCB, HXF) +RQX = (DBJ, VTV) +THV = (GJL, MND) +SLK = (XBP, CXB) +LVS = (CTJ, HPX) +TSS = (CGL, JST) +MTG = (RKT, GTJ) +FFF = (GBQ, VTM) +XMV = (KVL, SHT) +FDJ = (MLG, MLG) +HPD = (MQK, FLS) +TLB = (HXF, FCB) +BGC = (SCR, KCS) +FBM = (PBD, MFK) +TJP = (JSS, GHV) +TXL = (NQC, RXH) +TKM = (GLQ, TKP) +RNS = (BJK, PHJ) +RRT = (LJT, QFK) +DHC = (XVF, STR) +RXM = (KVL, SHT) +JBX = (GBJ, DHD) +TBR = (HJV, JFD) +MFK = (HDC, FCX) +TFD = (QXN, QSK) +HMV = (LFB, LTK) +RMD = (MBK, DGL) +RJP = (CTX, TPQ) +CBF = (FMQ, RTM) +XXG = (JDH, TJP) +PDX = (XGQ, BSP) +XBL = (MQK, FLS) +GMT = (PCB, GTK) +DGT = (GNH, KVQ) +CHN = (TTC, SBH) +NKS = (HQV, PJQ) +HJC = (DXQ, BHJ) +CSR = (TSX, HSM) +XTK = (BJM, CDR) +DRT = (MPB, PSV) +HQT = (CRM, XTZ) +HNM = (SXJ, GMF) +NLQ = (CLM, CTN) +LTK = (PGS, SCS) +DNR = (DRT, QLK) +QVR = (DLN, TSM) +VLD = (GSP, CKT) +LFT = (PJD, CXK) +KVG = (SNX, MPQ) +FBS = (JSN, KFT) +GTK = (XHH, LCL) +KJZ = (MDB, GRB) +QGK = (PKK, VFK) +VDS = (KQC, MSV) +KHS = (TRF, JVD) +BHH = (MLG, RPX) +JVL = (CQF, CGF) +RGQ = (CQJ, KTG) +VTM = (LFR, BXV) +GML = (VFF, VLD) +CTJ = (FKC, PDT) +BJV = (KSV, KSV) +SPX = (BPD, PHS) +CTX = (NHL, MTD) +LRB = (HHP, CDS) +XHH = (MKX, KQH) +FDL = (QFT, MNG) +CCX = (HKF, VPS) +GPT = (VHX, QPF) +VFK = (VJX, QPS) +QFH = (LHP, CKD) +KMD = (QFR, XVX) +MSB = (VTT, MVG) +TRF = (JGQ, GDJ) +PHJ = (VQX, JCQ) +DBN = (NRQ, GBN) +JPM = (PMG, SNF) +TND = (HQB, XXT) +FJK = (XHV, FBS) +PNM = (DCX, MGH) +QFK = (RKR, QVK) +VNV = (NRC, XXN) +QXN = (PSG, CFJ) +NND = (HJC, MPN) +DQM = (TJP, JDH) +PGK = (XQK, PRG) +HMK = (BJK, PHJ) +DLB = (RGJ, NKR) +PXP = (XTK, NKD) +LGG = (CNP, CNP) +HKJ = (VQD, NSR) +TMN = (SNN, DPF) +FRX = (FBR, JPM) +PTA = (JTJ, XKM) +NRH = (VST, QHJ) +BQD = (KTP, GFF) +VTT = (KFN, LTH) +GMV = (VCJ, JGC) +XLG = (FXB, NGN) +JDH = (GHV, JSS) +TJT = (JCT, JMJ) +HCT = (CRM, CRM) +BGR = (JMP, TSR) +CKH = (JMG, TFD) +DHX = (QGP, CLJ) +BQN = (TBN, BTQ) +RSH = (CSX, LTV) +SXJ = (DRV, JBX) +MRB = (SRG, TTL) +GTG = (SPV, DDQ) +VQL = (VPK, FJX) +RXC = (GXT, CGM) +MSV = (LGG, HLF) +PSV = (GBL, RRB) +LRV = (XTV, LVS) +MVR = (NQL, FTF) +JDD = (GRB, MDB) +TKG = (LHT, VLM) +NHL = (MMV, LNM) +XBR = (DHX, QHM) +DNK = (TXQ, DSP) +GBX = (SDS, BGR) +PDT = (CBF, RKM) +PGH = (FGJ, KMD) +GTR = (RPT, CXM) +GBP = (LNB, DNR) +DKC = (MQS, NND) +HSM = (SHK, HQP) +VVV = (GLQ, TKP) +TTJ = (DNK, BQC) +CJD = (CGS, KGT) +VSG = (RMJ, BQN) +XGQ = (TXC, LKB) +CNP = (PCH, PCH) +JPT = (NDS, CTV) +MVT = (GBP, RLR) +HJF = (CGL, JST) +KGB = (GML, NLB) +MPN = (DXQ, BHJ) +KFT = (DTS, DJP) +QCK = (RLF, QVR) +MJR = (MJD, RPS) +LBV = (FPH, RFH) +JMG = (QSK, QXN) +LDJ = (DBN, TTK) +XBP = (KQV, QGK) +RTM = (DFS, DXT) +VBH = (BMB, JGJ) +LHP = (MMH, BPV) +PMR = (MDQ, DGS) +NNR = (JDF, NVP) +GJL = (JDT, QLP) +JST = (SBL, LNL) +KML = (TXL, CRB) +FBA = (KQG, JSC) +KSF = (TLH, JBK) +VFF = (CKT, GSP) +PSG = (PQP, CBJ) +LDZ = (JSC, KQG) +DKN = (MVC, SPX) +DRV = (DHD, GBJ) +MJB = (HNM, LKH) +MNG = (KXS, PRM) +SNN = (VNQ, DQQ) +GNH = (KHS, SLV) +BJF = (HPD, XBL) +LGP = (LHP, CKD) +XVZ = (CVH, MRJ) +GRP = (NHV, GBX) +NGC = (FRJ, KVG) +BJD = (QVR, RLF) +FKL = (LRV, DSH) +KSV = (VHK, VHK) +XQK = (KPL, MDX) +NRC = (DMT, GLC) +VNH = (LQT, VVQ) +CGL = (SBL, SBL) +GVH = (NKD, XTK) +DBJ = (LXQ, HKP) +KVC = (PMX, XPR) +NJP = (VXG, TTJ) +VXG = (BQC, DNK) +CLJ = (JVL, QRP) +RFH = (VQL, NPJ) +GFR = (KGB, GNM) +KQV = (VFK, PKK) +SQM = (GTJ, RKT) +MQS = (MPN, HJC) +BXV = (RJP, CLN) +VSJ = (DKN, XDK) +SHK = (XMV, RXM) +GSP = (LDC, VPF) +MSS = (VPS, HKF) +SFM = (NVR, CQX) +FMC = (BJF, SRS) +DXS = (RMD, TLT) +QHS = (CGM, GXT) +DJP = (FDL, JHP) +MPT = (PQF, DCB) +LXQ = (PLS, PGK) +RFD = (TTJ, VXG) +JGJ = (HJS, TJT) +XGN = (KVT, LQL) +NBB = (LSX, XNR) +CKD = (MMH, BPV) +CTT = (CQX, NVR) +CBJ = (RRG, KBD) +CNG = (THV, QBK) +BMD = (QPF, VHX) +XLC = (BKL, SCZ) +KQG = (CPT, VLL) +KTJ = (KVC, VBM) +JBG = (NJP, RFD) +KVT = (NPT, GVS) +QGP = (JVL, QRP) +HFC = (THV, QBK) +JDT = (HBS, RHL) +MNF = (NRS, XVZ) +GKR = (GTK, PCB) +NVP = (NQQ, RRQ) +MPQ = (GCS, KSF) +PLS = (PRG, XQK) +JDF = (NQQ, RRQ) +CQD = (DBJ, VTV) +LNP = (TPK, SCP) +HQP = (XMV, RXM) +RJM = (MJD, RPS) +MQK = (FSL, CKH) +KXS = (HBJ, HMP) +CSX = (QCS, RKV) +VCG = (LQL, KVT) +NVJ = (JQG, GKD) +NLB = (VLD, VFF) +CQN = (NVP, JDF) +PDL = (VTM, GBQ) +SJM = (JNR, BGH) +VTR = (HMK, RNS) +QGS = (SQK, TPL) +NFH = (XRH, DKD) +TXQ = (GFL, PGH) +GCJ = (XSL, BFB) +RKT = (CQN, NNR) +BFQ = (LBS, JLX) +PKN = (FGD, TKG) +XKP = (FDJ, BHH) +QHX = (SPD, XCT) +NKR = (GFR, KTV) +GLQ = (FBM, KLD) +PRR = (XSL, BFB) +XLT = (HPB, MJJ) +HRD = (QVP, VXH) +SNL = (VSF, GTG) +TBN = (XCS, LJX) +RPS = (NFM, VNX) +MKX = (XLG, SLT) +NQC = (MPT, BLX) +DKK = (FVQ, PFR) +LCT = (TGK, PSH) +XHV = (JSN, KFT) +PRM = (HMP, HBJ) +NQL = (BQD, TTN) +HQV = (KVH, LBV) +RKG = (HMK, RNS) +LCL = (KQH, MKX) +LMM = (PVJ, SXK) +NCF = (XHV, FBS) +NRS = (MRJ, CVH) +RTK = (RJM, MJR) +RFC = (NVJ, HNG) +XXQ = (SXP, BJH) +RPT = (NMV, VNV) +QBR = (CTH, QKV) +FXF = (VBM, KVC) +CRB = (NQC, RXH) +NQD = (BQN, RMJ) +RKR = (KMQ, MGF) +DSP = (GFL, PGH) +DSH = (XTV, LVS) +DMT = (QVN, PMS) +VPS = (NNC, HKJ) +JSC = (CPT, VLL) +XKS = (DVT, DRH) +TTV = (LKH, HNM) +MJD = (VNX, NFM) +SCZ = (SHQ, DLB) +XVX = (CNG, HFC) +KTV = (KGB, GNM) +QHJ = (LSR, SSN) +CQJ = (GPT, BMD) +NMD = (TPK, SCP) +DVB = (GSJ, GSJ) +JMP = (MQP, RGQ) +BSB = (BGC, KJC) +CPT = (MRB, MHN) +PQP = (RRG, KBD) +RLG = (BJH, SXP) +VQX = (XVR, JCB) +XJN = (XRH, DKD) +JHP = (QFT, MNG) +KMB = (HRT, SJM) +QSK = (PSG, CFJ) +DKD = (VLF, JPT) +NHV = (BGR, SDS) +HXV = (XGQ, BSP) +XXN = (DMT, GLC) +VLM = (KMB, BTL) +RLR = (DNR, LNB) +PCH = (KQG, JSC) +XRH = (VLF, JPT) +SBL = (XLM, XLM) +CRM = (JTJ, XKM) +JSS = (BTS, LSV) +CXM = (NMV, VNV) +MLG = (HCT, HCT) +JXH = (MVR, SDR) +XBH = (XVF, STR) +DXT = (VBN, JVK) +JSN = (DTS, DJP) +KLD = (MFK, PBD) +KVH = (RFH, FPH) +NJX = (GMV, VPQ) +NRQ = (GKR, GMT) +HXF = (DXS, QXR) +DGS = (SNL, BVF) +LJT = (RKR, QVK) +JLX = (XGP, TKS) +FCX = (PXP, GVH) +VDX = (VBJ, TBR) +VSF = (SPV, DDQ) +VCX = (KTT, PPX) +MMH = (MDM, FVS) +MPB = (GBL, RRB) +RLF = (TSM, DLN) +RMJ = (BTQ, TBN) +VJX = (QQP, HMV) +XVF = (RFC, HXG) +CTN = (VVV, TKM) +QHD = (GBP, RLR) +JGC = (JXH, QCQ) +KPL = (FXF, KTJ) +NGN = (MDH, VSJ) +XPG = (MJB, TTV) +MQP = (KTG, CQJ) +JCB = (QHD, MVT) +MNM = (RPT, CXM) +RXH = (BLX, MPT) +HHP = (GCJ, PRR) +SLV = (JVD, TRF) +HVT = (BJX, FND) +MTD = (MMV, LNM) +TTL = (QFH, LGP) +LTV = (QCS, RKV) +VXV = (TSX, HSM) +TCM = (QHM, DHX) +NBF = (LQT, VVQ) +BTQ = (LJX, XCS) +TKP = (KLD, FBM) +LDC = (HSD, PJP) +VHK = (NRS, NRS) +NFM = (TMF, QFS) +GTJ = (NNR, CQN) +LSD = (QCK, BJD) +HJV = (QBD, DGT) +QBK = (MND, GJL) +XNR = (MBF, SPN) +HQB = (KXN, FJF) +TNJ = (FDJ, BHH) +TGK = (SQV, TLB) +KMF = (VHK, MNF) +JVK = (PDL, FFF) +NSF = (VBJ, TBR) +SCP = (QQR, PVV) +XXP = (HHP, CDS) +VHX = (NJX, KJF) +VCJ = (JXH, QCQ) +KJC = (KCS, SCR) +XXT = (FJF, KXN) +NNC = (VQD, NSR) +VBM = (XPR, PMX) +JTJ = (XDG, VHT) +CNK = (CCX, MSS) +FTF = (TTN, BQD) +LKH = (SXJ, GMF) +TLH = (CSR, VXV) +GFF = (KML, QRX) +LFR = (CLN, RJP) +DTS = (FDL, JHP) +TTN = (KTP, GFF) +BTL = (HRT, SJM) +HJS = (JCT, JMJ) +HBJ = (JVR, GSF) +SLF = (JDD, KJZ) +CVH = (CNC, XLT) +JGQ = (JGB, XKS) +FGJ = (QFR, XVX) +STQ = (XRQ, TCB) +GCS = (JBK, TLH) +FKK = (HVT, MPK) +LJM = (DQM, XXG) +BTS = (NMD, LNP) +SVC = (NFP, QHX) +VPF = (PJP, HSD) +NPT = (NGC, FCK) +TTK = (GBN, NRQ) +XCT = (FNL, RSH) +RRG = (TND, HCC) +HMP = (GSF, JVR) +TJV = (XXG, DQM) +CTH = (CTT, SFM) +TPK = (QQR, PVV) +LSR = (PQH, LFT) +XLM = (BKL, BKL) +FGD = (VLM, LHT) +GSF = (VTJ, HRD) +PBN = (FGD, TKG) +NMV = (NRC, XXN) +CLN = (TPQ, CTX) +TMF = (TSK, PTV) +HPX = (FKC, PDT) +GBN = (GMT, GKR) +PCK = (PDX, HXV) +TCB = (NCF, FJK) +LJX = (NRH, PTN) +QBD = (KVQ, GNH) +CMC = (QBR, PBK) +GBL = (HHR, GSC) +SQN = (BJF, SRS) +FCB = (QXR, DXS) +GDJ = (XKS, JGB) +PCB = (LCL, XHH) +BPV = (MDM, FVS) +PJD = (DVB, DVB) +RHG = (MJR, RJM) +DVT = (PKN, PBN) +TFM = (QBR, PBK) +HCC = (HQB, XXT) +PGS = (DSX, MTV) +TSR = (MQP, RGQ) +KJF = (GMV, VPQ) +GJS = (DKC, CKL) +LNB = (QLK, DRT) +PKK = (QPS, VJX) +TKS = (RHG, RTK) +QFS = (TSK, PTV) +DGL = (RCK, XVJ) +XPR = (MNM, GTR) +TDH = (FKL, CFC) +PDF = (XBP, CXB) +DFN = (RXF, GRP) +JVR = (HRD, VTJ) +LBS = (TKS, XGP) +QCQ = (MVR, SDR) +MND = (JDT, QLP) +PFR = (LJM, TJV) +QLK = (MPB, PSV) +CFC = (LRV, DSH) +PMX = (GTR, MNM) +CGF = (PMR, RPV) +MVG = (LTH, KFN) +NLK = (FBR, JPM) +LFB = (SCS, PGS) +BVF = (VSF, GTG) +MDQ = (BVF, SNL) +CQF = (PMR, RPV) +FND = (LRX, PNM) +MRJ = (CNC, XLT) +HSD = (XBR, TCM) +HLF = (CNP, GQH) +RRQ = (CMC, TFM) +CLM = (TKM, VVV) +RLB = (TTV, MJB) +NDS = (RQX, CQD) \ No newline at end of file diff --git a/aoc2023/src/day9/input.txt b/aoc2023/src/day9/input.txt new file mode 100644 index 0000000..6e0678f --- /dev/null +++ b/aoc2023/src/day9/input.txt @@ -0,0 +1,200 @@ +16 22 27 23 4 -16 23 267 1025 2943 7407 17445 39670 88339 193607 417868 887273 1851158 3792224 7628687 15083115 +12 27 53 97 184 369 757 1550 3165 6502 13489 28103 58181 118520 236055 458342 867210 1600341 2884757 5087813 8793398 +3 9 23 45 75 113 159 213 275 345 423 509 603 705 815 933 1059 1193 1335 1485 1643 +14 21 42 87 173 334 631 1162 2072 3563 5904 9441 14607 21932 32053 45724 63826 87377 117542 155643 203169 +6 13 20 27 34 41 48 55 62 69 76 83 90 97 104 111 118 125 132 139 146 +18 28 38 48 58 68 78 88 98 108 118 128 138 148 158 168 178 188 198 208 218 +21 33 40 47 73 158 375 850 1793 3543 6630 11857 20405 33964 54893 86412 132829 199805 294660 426723 607729 +5 11 28 62 114 176 227 229 123 -175 -778 -1832 -3520 -6066 -9739 -14857 -21791 -30969 -42880 -58078 -77186 +24 40 75 158 329 650 1234 2297 4245 7835 14509 27104 51294 98315 189749 365429 696074 1303683 2396426 4333544 7754453 +18 23 29 46 96 212 448 922 1929 4181 9250 20305 43249 88396 172934 324721 588708 1038939 1802431 3107544 5380614 +23 48 93 172 303 512 850 1439 2577 4950 10022 20709 42513 85461 167621 322006 611043 1157808 2213227 4297234 8485467 +-5 1 16 41 89 207 507 1216 2767 5970 12327 24602 47877 91653 174402 333999 651945 1308548 2704118 5713694 12198267 +6 29 72 158 337 698 1389 2653 4895 8818 15726 28221 51759 97922 190866 379323 758008 1504863 2945432 5665084 10707897 +9 12 14 16 18 23 61 248 912 2857 7918 20117 47998 109127 238298 501654 1019615 2002014 3798866 6969266 12368366 +17 22 22 7 -38 -133 -303 -578 -993 -1588 -2408 -3503 -4928 -6743 -9013 -11808 -15203 -19278 -24118 -29813 -36458 +-2 4 18 55 139 307 619 1172 2109 3609 5862 9109 14010 22956 43541 96348 230584 553042 1278506 2813195 5887325 +8 15 28 69 174 408 898 1887 3825 7548 14661 28355 55092 107964 213209 422581 836414 1645965 3210142 6193077 11808762 +16 42 93 189 363 674 1225 2187 3843 6689 11662 20608 37156 68227 126480 234080 428266 769300 1351491 2318111 3881153 +22 28 29 28 44 131 412 1147 2869 6647 14589 30812 63325 127656 253684 498111 966448 1850438 3489669 6469940 11775962 +10 22 64 147 279 478 797 1361 2416 4390 7966 14167 24453 40830 65971 103349 157382 233590 338764 481147 670627 +26 44 80 147 257 416 626 905 1352 2314 4756 10993 26015 59722 130486 270571 534070 1008160 1828632 3200823 5427261 +10 13 25 59 130 257 465 787 1266 1957 2929 4267 6074 8473 11609 15651 20794 27261 35305 45211 57298 +22 34 53 80 110 130 129 142 361 1361 4516 12738 31795 72709 156208 321132 640567 1253344 2426426 4679304 9031095 +-3 3 14 32 60 112 238 564 1347 3045 6402 12548 23114 40362 67330 107992 167433 252039 369702 530040 744632 +9 6 1 -6 -15 -26 -39 -54 -71 -90 -111 -134 -159 -186 -215 -246 -279 -314 -351 -390 -431 +8 19 30 41 52 63 74 85 96 107 118 129 140 151 162 173 184 195 206 217 228 +12 28 56 112 219 400 680 1122 1935 3705 7813 17117 36988 76803 152011 286901 518214 899754 1508166 2450062 3870689 +4 18 45 100 211 419 778 1355 2230 3496 5259 7638 10765 14785 19856 26149 33848 43150 54265 67416 82839 +14 27 62 122 200 276 326 367 589 1672 5468 16376 44007 108213 248366 540095 1124752 2259977 4404234 8354542 15465362 +10 22 40 63 103 210 507 1241 2865 6190 12701 25249 49587 97767 195548 398210 823495 1718635 3594121 7486884 15473014 +14 34 81 182 390 802 1584 3006 5499 9763 16982 29248 50393 87661 155200 281530 525422 1008672 1981041 3943806 7877282 +12 6 3 23 101 286 644 1284 2444 4698 9375 19317 40145 82250 163780 314954 584100 1045886 1812291 3046947 4983573 +13 21 32 52 86 138 211 307 427 571 738 926 1132 1352 1581 1813 2041 2257 2452 2616 2738 +17 35 58 79 89 86 96 217 705 2144 5802 14399 33741 76089 166928 358407 755996 1571412 3227213 6560698 13212768 +17 31 59 122 252 488 875 1475 2402 3896 6454 11039 19391 34467 61040 106490 181823 302957 492317 780784 1210046 +11 13 19 31 63 168 488 1351 3457 8223 18396 39097 79555 156016 296889 552619 1016132 1867206 3470206 6587672 12837496 +16 29 54 116 265 600 1300 2668 5219 9890 18523 34882 66641 129080 251748 490245 946750 1805263 3391104 6269484 11405501 +14 27 57 121 242 458 839 1513 2706 4807 8477 14831 25734 44266 75427 127171 211878 348395 564801 902077 1418890 +7 20 34 49 65 82 100 119 139 160 182 205 229 254 280 307 335 364 394 425 457 +1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 +11 27 54 101 191 376 755 1502 2915 5494 10051 17860 30889 52245 87140 144991 243747 418245 735396 1320359 2399651 +2 8 29 83 199 423 835 1581 2927 5359 9789 17981 33374 62532 117469 219074 401880 720802 1262037 2164843 3671777 +6 24 54 96 150 216 294 384 486 600 726 864 1014 1176 1350 1536 1734 1944 2166 2400 2646 +10 19 51 124 260 486 847 1434 2430 4183 7326 12972 22998 40360 69185 113940 176032 244249 271543 122978 -535002 +-2 -4 -14 -20 14 157 520 1272 2677 5175 9538 17144 30453 53895 95688 171741 313968 587314 1122914 2179488 4251816 +10 2 -8 -10 16 111 367 983 2360 5278 11264 23369 47724 96431 192545 378084 726118 1357970 2466328 4344512 7421136 +9 22 62 142 278 503 886 1552 2699 4608 7642 12230 18832 27881 39698 54376 71629 90602 109638 125998 135530 +-2 -1 13 46 97 157 212 250 272 307 431 790 1627 3313 6382 11570 19858 32519 51169 77822 114949 +18 43 87 167 324 645 1288 2508 4685 8358 14272 23448 37289 57738 87507 130399 191748 279005 402501 576421 820026 +-8 -3 21 87 247 597 1292 2561 4722 8197 13527 21387 32601 48157 69222 97157 133532 180141 239017 312447 402987 +1 15 44 102 209 386 650 1009 1457 1969 2496 2960 3249 3212 2654 1331 -1055 -4861 -10508 -18486 -29359 +5 1 -2 6 59 235 682 1661 3639 7499 14980 29518 57729 111857 213604 399865 731009 1302477 2260610 3823774 6310015 +1 9 37 102 234 477 887 1529 2484 3904 6221 10771 21422 48445 117084 285457 680175 1564375 3463249 7388968 15233734 +-3 -3 -1 11 59 207 588 1446 3189 6453 12177 21689 36803 59927 94182 143532 212925 308445 437475 608871 833147 +10 8 4 -1 1 26 99 259 588 1312 3062 7435 18059 42442 94973 201543 406366 781704 1441336 2558759 4391269 +10 15 18 27 59 146 351 801 1756 3756 7920 16506 33869 67961 132485 249722 453870 794437 1338782 2172261 3393567 +7 15 41 104 240 511 1006 1830 3083 4847 7237 10652 16512 29023 58918 130730 296023 656207 1400169 2864048 5623160 +-8 -4 15 66 176 382 731 1280 2096 3256 4847 6966 9720 13226 17611 23012 29576 37460 46831 57866 70752 +11 15 15 11 3 -9 -25 -45 -69 -97 -129 -165 -205 -249 -297 -349 -405 -465 -529 -597 -669 +-1 2 8 24 76 213 509 1071 2071 3838 7075 13309 25742 50751 100388 196360 376127 701946 1273914 2248326 3862968 +11 12 10 -4 -30 -41 52 467 1667 4541 10659 22594 44276 81300 141049 232411 364763 545762 777320 1048944 1327390 +9 11 12 20 63 215 648 1733 4223 9564 20404 41417 80649 151761 277849 498056 879093 1535245 2662704 4597458 7910851 +21 22 23 43 114 293 701 1602 3535 7522 15407 30447 58395 109537 202601 372448 685608 1272236 2392115 4569768 8866201 +17 27 37 47 57 67 77 87 97 107 117 127 137 147 157 167 177 187 197 207 217 +18 42 72 103 130 150 170 224 408 956 2402 5903 13836 30828 65432 132724 258166 483158 872788 1526383 2591566 +23 30 36 41 45 48 50 51 51 50 48 45 41 36 30 23 15 6 -4 -15 -27 +14 31 52 83 148 308 690 1526 3202 6317 11752 20749 35000 56746 88886 135096 199958 289099 409340 568855 777340 +4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 +14 26 44 76 143 283 574 1197 2563 5538 11840 24799 50942 103413 209274 424645 865170 1765883 3597017 7286172 14643193 +12 27 49 69 87 136 330 950 2594 6451 14824 32143 66919 135472 268945 526276 1017696 1946291 3679643 6870089 12651367 +11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 111 +10 35 74 146 282 527 958 1744 3300 6630 14020 30337 65320 137420 279964 550689 1046022 1921877 3423206 5925084 9988734 +20 29 40 59 108 247 607 1436 3177 6629 13289 26035 50387 96675 183550 343396 630338 1131693 1983878 3393971 5668318 +8 24 59 134 284 569 1103 2113 4045 7744 14750 27772 51427 93361 165904 288451 490806 817776 1335357 2138914 3363822 +11 25 55 105 179 281 415 585 795 1049 1351 1705 2115 2585 3119 3721 4395 5145 5975 6889 7891 +19 37 74 159 334 661 1245 2294 4257 8117 15987 32302 66195 136227 279739 571067 1156243 2317357 4588524 8958785 17217096 +-2 9 41 103 219 443 870 1652 3057 5656 10790 21562 44740 94217 197246 406018 820326 1634301 3236137 6423499 12866391 +5 -1 -8 -9 10 70 199 432 811 1385 2210 3349 4872 6856 9385 12550 16449 21187 26876 33635 41590 +19 32 45 58 71 84 97 110 123 136 149 162 175 188 201 214 227 240 253 266 279 +22 37 55 71 94 167 396 1005 2447 5608 12151 25096 49895 96676 185249 356351 696284 1389007 2822275 5796409 11921644 +22 47 92 163 266 410 610 889 1282 1854 2764 4460 8230 17669 42342 106334 266942 653145 1540604 3491025 7600370 +23 38 73 146 277 488 805 1274 2012 3332 6035 12106 26379 60395 140880 327309 746281 1655398 3556625 7389446 14848405 +10 34 81 160 274 417 573 715 811 876 1179 2852 9421 30324 88549 236536 588096 1380274 3089189 6639788 13773628 +17 32 52 70 76 73 108 318 991 2642 6104 12634 24034 42787 72208 116610 181485 273700 401708 575774 808216 +-4 7 32 78 155 279 498 962 2061 4658 10451 22528 46285 91178 174513 330071 627521 1214340 2401733 4831449 9782898 +-1 1 -1 -2 13 71 214 503 1023 1889 3253 5312 8317 12583 18500 26545 37295 51441 69803 93346 123197 +14 25 55 119 234 420 706 1143 1844 3111 5790 12143 27772 65506 152698 344108 743534 1538777 3056905 5851463 10843458 +-7 -7 2 25 72 160 317 595 1112 2172 4561 10190 23357 53033 116746 246846 500187 972563 1819588 3286119 5746790 +24 51 91 144 210 289 381 486 604 735 879 1036 1206 1389 1585 1794 2016 2251 2499 2760 3034 +-6 -8 -7 -4 9 70 282 871 2293 5443 12063 25532 52395 105321 208785 409850 798384 1544682 2969297 5672672 10775633 +18 38 74 128 197 273 343 389 388 312 128 -202 -721 -1477 -2523 -3917 -5722 -8006 -10842 -14308 -18487 +14 14 6 -15 -54 -116 -206 -329 -490 -694 -946 -1251 -1614 -2040 -2534 -3101 -3746 -4474 -5290 -6199 -7206 +0 4 22 78 215 499 1023 1911 3322 5454 8548 12892 18825 26741 37093 50397 67236 88264 114210 145882 184171 +15 19 27 58 141 316 650 1285 2551 5196 10802 22466 45823 90469 171801 313223 548567 924441 1502037 2357706 3581329 +28 49 76 114 185 353 769 1757 3977 8715 18361 37142 72176 134903 242928 422277 710018 1157133 1831442 2820274 4232451 +2 -5 0 35 133 356 819 1728 3430 6476 11736 20729 36639 67155 131593 277209 613962 1384465 3098432 6781691 14423617 +-2 7 41 121 269 517 931 1662 3062 5945 12131 25493 53858 112344 229132 455405 882418 1670639 3098937 5646285 10124879 +15 19 18 9 -6 -15 9 113 369 879 1780 3249 5508 8829 13539 20025 28739 40203 55014 73849 97470 +9 14 33 89 229 533 1128 2215 4117 7356 12767 21657 36017 58795 94238 148311 229201 347914 518973 761225 1098765 +8 23 51 104 202 386 739 1423 2763 5438 10883 22095 45241 92932 191019 392729 807586 1658885 3393971 6888230 13809204 +6 3 10 41 110 231 418 685 1046 1515 2106 2833 3710 4751 5970 7381 8998 10835 12906 15225 17806 +12 12 16 37 101 264 650 1525 3438 7497 15913 33051 67399 135147 266525 516779 984800 1844138 3393654 6138665 10918457 +9 30 68 138 276 551 1072 2001 3595 6307 10985 19236 34096 61304 111765 206261 384197 719228 1346090 2504950 4612204 +23 38 66 121 224 409 731 1285 2251 3984 7170 13069 23864 43131 76439 132081 221927 362378 575386 889489 1340792 +16 28 40 52 64 76 88 100 112 124 136 148 160 172 184 196 208 220 232 244 256 +17 30 61 119 219 397 747 1501 3179 6842 14487 29629 58121 109269 197305 343287 577501 942446 1496489 2318283 3512047 +-1 5 14 37 100 253 588 1271 2598 5105 9816 18826 36619 72851 147828 302628 616809 1237973 2429186 4642459 8629254 +16 36 76 164 342 666 1206 2046 3284 5032 7416 10576 14666 19854 26322 34266 43896 55436 69124 85212 103966 +-5 -3 12 63 182 411 809 1475 2612 4686 8786 17372 35707 74388 153464 308525 598601 1114243 1980956 3346921 5332708 +14 26 38 50 62 74 86 98 110 122 134 146 158 170 182 194 206 218 230 242 254 +2 -4 -19 -52 -115 -221 -369 -502 -417 401 3053 9640 23844 51688 102447 189584 331368 550394 870413 1307468 1850007 +21 43 82 139 220 346 563 952 1639 2805 4696 7633 12022 18364 27265 39446 55753 77167 104814 139975 184096 +-8 -16 -17 2 54 155 326 590 966 1484 2301 4109 9224 24092 64560 166325 404748 930980 2035275 4253332 8536722 +-2 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 +12 33 69 137 269 529 1047 2087 4183 8402 16827 33411 65487 126554 241758 459276 874624 1682767 3288727 6538653 13194051 +5 11 36 85 167 311 593 1176 2363 4661 8852 16065 27841 46181 73565 112928 167577 241031 336764 457829 606339 +5 0 6 43 134 309 628 1231 2423 4814 9565 18848 36718 70725 134771 253948 472385 865492 1558424 2753105 4766758 +20 31 42 53 64 75 86 97 108 119 130 141 152 163 174 185 196 207 218 229 240 +17 34 57 94 167 331 710 1554 3321 6788 13195 24426 43231 73493 120544 191534 295857 445638 656285 947110 1342023 +19 22 16 1 -16 -13 61 313 960 2430 5532 11711 23385 44323 79959 137439 225057 350542 517400 718181 923118 +12 20 36 60 92 132 180 236 300 372 452 540 636 740 852 972 1100 1236 1380 1532 1692 +15 28 66 154 345 743 1533 3025 5728 10495 18847 33738 61349 115157 224805 454707 941713 1968938 4106276 8470690 17196453 +26 54 104 181 285 412 556 719 953 1484 3011 7356 18816 46948 112339 258637 577588 1260474 2701490 5699779 11842279 +-5 0 13 48 130 307 671 1382 2697 5034 9163 16738 31609 62754 130392 278202 597329 1273687 2682530 5580428 11497888 +8 23 49 86 133 194 288 465 841 1695 3749 8922 22170 55570 136666 324373 737550 1603839 3339673 6676646 12854891 +7 18 29 40 51 62 73 84 95 106 117 128 139 150 161 172 183 194 205 216 227 +10 24 44 69 95 111 110 139 432 1714 5858 17254 45544 110822 253017 547981 1133786 2251864 4308844 7966159 14265585 +-5 -2 6 18 42 106 277 693 1613 3490 7072 13536 24660 43038 72343 117643 185775 285782 429418 631726 911694 +25 49 82 120 164 225 336 574 1090 2143 4134 7640 13481 22991 39079 69707 137760 306259 738049 1829516 4498299 +28 39 59 115 256 569 1203 2401 4540 8179 14115 23447 37648 58645 88907 131541 190396 270175 376555 516315 697472 +11 22 42 82 162 312 578 1053 1983 4058 9103 21549 51304 118974 264819 563384 1146435 2237670 4203680 7626820 13407030 +13 32 67 140 285 548 987 1672 2685 4120 6083 8692 12077 16380 21755 28368 36397 46032 57475 70940 86653 +16 33 54 83 134 242 480 986 2021 4120 8486 17955 39204 87515 196569 437797 957362 2044827 4257394 8639335 17100774 +9 16 28 45 77 154 347 816 1911 4366 9654 20646 42906 87373 176023 353702 712286 1438821 2909549 5870876 11783816 +8 6 12 48 156 403 877 1669 2836 4346 6024 7554 8652 9615 12577 23971 58912 148486 351260 770724 1580844 +10 34 83 183 372 704 1257 2145 3534 5662 8863 13595 20472 30300 44117 63237 89298 124314 170731 231487 310076 +8 20 36 53 68 78 80 71 48 8 -52 -135 -244 -382 -552 -757 -1000 -1284 -1612 -1987 -2412 +8 24 64 148 311 624 1225 2369 4520 8531 15994 29900 55846 104185 193758 358183 656084 1187050 2115368 3703412 6355581 +5 15 30 49 71 95 120 145 169 191 210 225 235 239 236 225 205 175 134 81 15 +20 50 100 187 348 653 1224 2260 4071 7142 12288 21029 36419 64717 118496 222024 419946 790371 1463632 2649684 4685450 +19 31 52 89 164 327 670 1344 2599 4900 9234 17847 35889 74868 159497 340530 717567 1477557 2956756 5736005 10781030 +18 39 72 138 278 564 1112 2106 3859 6958 12565 22975 42565 79305 147043 268821 481528 842249 1436726 2390408 3882632 +4 10 15 19 22 24 25 25 24 22 19 15 10 4 -3 -11 -20 -30 -41 -53 -66 +17 26 56 136 308 628 1180 2113 3711 6506 11444 20114 35050 60116 100984 165715 265453 415242 634976 950492 1394816 +25 37 60 118 244 489 953 1860 3725 7710 16362 35110 75232 159574 333227 682794 1369993 2688371 5156120 9663710 17702660 +4 8 33 90 191 348 577 927 1566 2968 6257 13776 29961 62612 124665 236581 429480 749160 1261153 2056982 3261795 +13 25 58 131 276 546 1035 1922 3551 6559 12064 21925 39086 68016 115257 190092 305345 478325 731926 1095895 1608280 +8 7 17 55 139 281 476 687 826 731 139 -1345 -4283 -9443 -17842 -30793 -49956 -77393 -115627 -167705 -237265 +5 22 61 137 265 460 737 1111 1597 2210 2965 3877 4961 6232 7705 9395 11317 13486 15917 18625 21625 +15 14 17 28 53 111 267 709 1908 4922 11933 27153 58340 119414 235217 450591 848077 1582290 2945281 5487158 10231495 +2 9 28 68 137 258 498 1015 2135 4478 9159 18097 34472 63377 112719 194430 326056 532799 850094 1326810 2029171 +22 34 46 53 55 67 142 416 1181 3001 6930 15013 31533 66065 140600 305315 671836 1480416 3230374 6924401 14511151 +18 34 63 125 258 526 1027 1901 3338 5586 8959 13845 20714 30126 42739 59317 80738 108002 142239 184717 236850 +27 52 102 187 321 526 843 1369 2346 4335 8515 17154 34306 66795 125554 227394 397285 671238 1099884 1752853 2724063 +23 38 55 78 115 182 314 595 1239 2789 6549 15431 35510 78803 168285 347274 697739 1377040 2692175 5248108 10237257 +25 38 63 120 243 496 1004 2001 3903 7429 13817 25215 45369 80781 142570 249338 431421 736992 1240579 2054666 3345159 +28 41 54 67 80 93 106 119 132 145 158 171 184 197 210 223 236 249 262 275 288 +-6 0 15 44 101 212 418 778 1372 2304 3705 5736 8591 12500 17732 24598 33454 44704 58803 76260 97641 +4 28 65 121 220 415 796 1496 2709 4761 8325 14968 28410 57238 120465 258450 553719 1170131 2426846 4940384 9902961 +6 7 15 36 76 141 237 370 546 771 1051 1392 1800 2281 2841 3486 4222 5055 5991 7036 8196 +24 33 45 62 77 83 95 191 590 1804 4931 12217 28162 61797 131542 275661 574402 1195504 2484736 5141196 10551151 +23 41 68 104 149 203 266 338 419 509 608 716 833 959 1094 1238 1391 1553 1724 1904 2093 +22 42 68 105 161 238 323 380 347 146 -277 -830 -906 1697 13721 53857 170028 477110 1234650 2999191 6910095 +-9 -1 22 61 119 200 304 418 503 477 194 -581 -2201 -5170 -10180 -18152 -30281 -48085 -73458 -108727 -156713 +11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 111 +7 13 33 88 211 463 966 1970 3984 8020 16029 31654 61492 117150 218504 398730 711877 1243999 2129161 3571988 5878841 +26 54 107 191 316 512 855 1506 2775 5254 10135 19972 40418 83980 177798 379260 806629 1698071 3523848 7197074 14465457 +7 6 4 13 65 221 583 1306 2603 4745 8094 13284 21806 37503 69932 141398 301131 653436 1413420 3017283 6339755 +8 13 26 47 76 113 158 211 272 341 418 503 596 697 806 923 1048 1181 1322 1471 1628 +14 19 31 61 140 340 804 1785 3694 7157 13081 22729 37804 60542 93814 141237 207294 297463 418355 577861 785308 +18 25 41 74 132 223 355 536 774 1077 1453 1910 2456 3099 3847 4708 5690 6801 8049 9442 10988 +13 39 87 171 318 573 1009 1765 3152 5886 11539 23368 47825 97318 195247 385056 746111 1420737 2658839 4889321 8831144 +10 8 14 34 74 141 255 482 1006 2285 5397 12804 30003 69026 155797 345601 755687 1633870 3501675 7448656 15726061 +6 11 25 69 172 364 663 1064 1547 2130 3002 4780 8943 18505 38998 79845 156212 291437 520143 892151 1477318 +27 50 84 135 218 372 697 1431 3090 6700 14160 28802 56287 106157 194788 351446 631221 1142968 2109356 3994435 7771240 +9 31 66 114 175 249 336 436 549 675 814 966 1131 1309 1500 1704 1921 2151 2394 2650 2919 +8 7 7 8 10 22 98 426 1513 4538 11998 28875 64756 137733 281650 559617 1089152 2088679 3962843 7457584 13938920 +-5 -7 -9 -11 -2 54 247 779 2078 5020 11348 24426 50527 100927 195162 365902 666005 1178435 2029861 3408899 5590116 +10 16 34 74 147 274 521 1081 2432 5608 12628 27136 55313 107130 198019 351047 599686 991280 1591318 2488630 3801631 +9 8 21 66 172 391 830 1721 3552 7290 14748 29193 56376 106318 196477 357514 644161 1156577 2084086 3797672 7049008 +14 40 88 183 380 785 1580 3064 5738 10495 19048 34867 65134 124613 242953 477946 938949 1827706 3509661 6640837 12400447 +15 25 39 64 129 294 653 1337 2538 4600 8260 15178 28989 57277 115164 231711 461221 903259 1738853 3298396 6194405 +9 6 6 11 31 107 353 1029 2669 6320 14014 29709 61115 123102 243845 475664 914050 1731530 3239870 6009120 11104366 +26 37 48 75 147 313 670 1432 3073 6602 14068 29452 60189 119691 231437 435496 798808 1431239 2510444 4320037 7307627 +3 -1 -10 -24 -43 -67 -96 -130 -169 -213 -262 -316 -375 -439 -508 -582 -661 -745 -834 -928 -1027 +18 43 89 169 300 508 853 1501 2897 6147 13824 31625 71718 159389 345977 733436 1519704 3080095 6109095 11860445 22542764 +17 38 63 88 109 122 123 108 73 14 -73 -192 -347 -542 -781 -1068 -1407 -1802 -2257 -2776 -3363 +3 2 10 40 110 248 497 920 1605 2670 4268 6592 9880 14420 20555 28688 39287 52890 70110 91640 118258 +21 37 57 85 131 212 354 601 1040 1854 3418 6456 12280 23135 42677 76614 133543 226019 371895 595975 932025 +14 28 56 121 265 567 1177 2386 4774 9508 18898 37365 73056 140538 265518 493797 909482 1673256 3102528 5835085 11151679 +13 31 73 156 302 533 869 1334 1975 2899 4333 6712 10800 17849 29801 49538 81185 130471 205153 315508 474898 +-1 -10 -9 16 78 189 360 601 921 1328 1829 2430 3136 3951 4878 5919 7075 8346 9731 11228 12834 +1 10 33 77 148 252 400 620 988 1712 3344 7262 16674 38591 87590 192932 412066 856321 1739510 3468242 6804651 +2 19 60 137 265 461 749 1184 1908 3251 5909 11312 22519 46478 99470 219319 490975 1097216 2415107 5194716 10885594 +7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 +13 24 44 89 197 451 1016 2204 4587 9194 17866 33915 63351 117117 215018 392358 710721 1274860 2258304 3941069 6763777 +1 -4 1 26 80 183 394 857 1858 3876 7615 14048 24625 42043 72406 130287 249223 501620 1034021 2126310 4286814 +7 20 36 46 41 20 1 35 223 736 1838 3912 7489 13280 22211 35461 54503 81148 117592 166466 230889 +16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 +-1 3 12 46 137 336 738 1542 3172 6494 13173 26223 50812 95393 173241 304485 518733 858397 1382834 2173428 3339747 \ No newline at end of file -- cgit v1.2.3 From 0c869b2782aeecb92dff232b46a499a3821f9f2c Mon Sep 17 00:00:00 2001 From: HJ Date: Sat, 3 Feb 2024 15:10:00 -0500 Subject: cleanup --- aoc2023/src/day1/input.txt | 1000 ------------------------------- aoc2023/src/day10/input.txt | 140 ----- aoc2023/src/day11/input.txt | 140 ----- aoc2023/src/day13/input.txt | 1379 ------------------------------------------- aoc2023/src/day15/input.txt | 1 - aoc2023/src/day16/input.txt | 110 ---- aoc2023/src/day17/input.txt | 141 ----- aoc2023/src/day18/input.txt | 676 --------------------- aoc2023/src/day19/input.txt | 766 ------------------------ aoc2023/src/day2/input.txt | 100 ---- aoc2023/src/day20/input.txt | 58 -- aoc2023/src/day3/input.txt | 140 ----- aoc2023/src/day4/input.txt | 203 ------- aoc2023/src/day6/input.txt | 2 - aoc2023/src/day7/input.txt | 1000 ------------------------------- aoc2023/src/day8/input.txt | 740 ----------------------- aoc2023/src/day9/input.txt | 200 ------- 17 files changed, 6796 deletions(-) delete mode 100644 aoc2023/src/day1/input.txt delete mode 100644 aoc2023/src/day10/input.txt delete mode 100644 aoc2023/src/day11/input.txt delete mode 100644 aoc2023/src/day13/input.txt delete mode 100644 aoc2023/src/day15/input.txt delete mode 100644 aoc2023/src/day16/input.txt delete mode 100644 aoc2023/src/day17/input.txt delete mode 100644 aoc2023/src/day18/input.txt delete mode 100644 aoc2023/src/day19/input.txt delete mode 100644 aoc2023/src/day2/input.txt delete mode 100644 aoc2023/src/day20/input.txt delete mode 100644 aoc2023/src/day3/input.txt delete mode 100644 aoc2023/src/day4/input.txt delete mode 100644 aoc2023/src/day6/input.txt delete mode 100644 aoc2023/src/day7/input.txt delete mode 100644 aoc2023/src/day8/input.txt delete mode 100644 aoc2023/src/day9/input.txt (limited to 'aoc2023/src') diff --git a/aoc2023/src/day1/input.txt b/aoc2023/src/day1/input.txt deleted file mode 100644 index 6efe96c..0000000 --- a/aoc2023/src/day1/input.txt +++ /dev/null @@ -1,1000 +0,0 @@ -9dlvndqbddghpxc -rtkrbtthree8sixfoureight6 -fdxrqmfxdkstpmcj7lmphgsmqqnmjrtwo3tcbc -onetjcsmgk57nvmkvcvkdtqtsksgpchsfsjzkkmb -six8threepvlxttc85two -8five9ttqst2one2vz -hbrmhsnjeight64dgdnvdbspk7ninetzbvjczqrj -fourtwofivesix5 -3gksfourqf48 -7one1tnqxfvhmjvjzfive -sevenmcjs3lmlmxmcgptwobjggfive6four -seven8five3 -5sfknxsn5sevenfour446 -bxc5two67seven2 -jcsfivefive89seven85 -nine296 -seven5twoeight -1eighttwo8jfnhmfivefivezdsxqxqsjkone -foureight48sbkkvc17zbksgvcbb -lnzgspccsn4cxqqdbkj -qlxrxkpeight48xbgqnlkpkoneseven -z7onetwonec -7cns -pnpfninefive79twoone7 -2hrqpjjjbn -4gmlttgdzrhxbxnnine -4sixfiveone76jctmjsxdh5jrkv -3kvjmhpmglrdgmdnine -four63sevensevenone -jmz1eight4threej1 -four21zxksf9jxdvjmtn337 -msnronenine43three1threefrv -rjfhd6eight4 -78blgveightfiveone7bnsfnrmxsmtwonemrb -sixseven6four6 -mdjphcm9 -xsjmgdgqtwolg1nine45eight -five2six85npdqxgrshdjs4 -jbbnine2ttrktc2hxpxfdxgf -fngvqsgmjfmfslrmone2vtpsstpkhr2jmmxk -f683glvfsdvnsghvrzcdmxnx81 -lqblzgj322kqfsjrbxgcgsct -threeldfnrbstbxqdpxpkbztbp84eight -sevensevenmthprqg9six -qldknljthdjthreeklttd6six -7eightcdqxcftbgbfbnvqfive -gxjzhvkbcjhscdxhjdqxnhsevenxrdrjbcl5fvlvlxjjvb -9sixqnine9jk9six -zjtdbzr6njdgflrmpshxn -rktpknvmjknb7threefourhdxhcdtgtkvone -276lzxhone3two2 -82fivelppqzjq -lchslxtwohslsztgps5pdssctclhdkqtwo -2five8three9dnine8 -68jpnqldjgfnpcmvbxnszhz2252 -q32 -2sixtwo87 -hlmdvlrqlrjdshone3five -fivetwo7 -xsdcktrone29 -eightfour9eighttwoxvhdth9lndg4 -two8jgddjhcj67eight -8nrkrcrqhr21stqtvqn -tvbonepzrrklninexmpxrlkcpgg9qgrkcjt -6two5qjmoneclfhzhkxbntmvmdrc -prhmt4xvlg -3mghfgrhzkj5 -lq2lnrcj1pnlh -sixqhfqrmf8fivenkkcqpgf85lone -tlrlcbhdvd5 -three8seven -thfns325threefpvlntfvrf -twoblkldr2mmrsxpqxcms39seven6 -2mpcvttntg31mkznplfkbcgccsix -2sbs -828jnvjnbgrs1 -fhcglnxzss23bxfnpczvthree2 -7fhghprqvrbx1nxml2one32 -5fivethree7qrsixmcdveight6 -five4seven -1cfcfdzfjphsevenmdvnzh -qhmnleightbhbcntwojjfxpvlxt2spponenine -fivelskzvzsix5xtqkfl1 -2jfgpmdncvpjmqcgvnzpqlstzgfdvfxrlscjkzczsf -rzzplmzsfivetxbhcqnzdq4 -mvrvfour9eightseventhree -7smrdqkrh8qlzc -mpf2fivefivefivepgm -1sixpkrdjlszgdnccnllfsevenksdkvqbxbpbblthqpzqf -six91dxxdhrxcbmqpqm -sevenfour8nine7 -one2hnfvh -55jmqkqgvsgqcrzvmzqhone8twopsrtgmqrj -xnfjxqlrsjmgk68kvpptczxhkxcvrpgctddjklrmhzjgtcjh -seveng6two -1threexrzqcrknhc3 -58qtpqqz58888cmhs -pxvbhmczrvpnjnsrcdrnrjvzzpjnbgbxdseven6 -34two565 -four4six -sqtxsjsix54 -four3xrxmrkn4nrcsmljqrninethreeone -3six4bqddfivejnfrhnqqsgqhj -gtbtrtzp8seveneight3seven4xzdnfrvzgn -vggfdfvlrgvqqvjhkmxfsfbdpqfivexs16 -onegkvdhrfninerndk46nine -5fiveeighthnrlzln -threeqctjkpxjx39six89two2 -99ninecbzck -nxqlhpgnine6pvrrpfjpssix6seven -1dbrzjkckthm5sixsix -fivefmfqcsj19nhnzg -five91eightninecn -7ljnl71eight7mzhzfht -84sevenzrqvkxszdhg66 -jskktpm5mphd1 -boneightfournq6ndnqpdbm97five -5twonine -scqpkxrjtwo8foureight11 -3eight7brgqfivezpgclhfj -zkfrsdgbmczlrzchvfql78ftsdqk8vmqccbn -oneseven3kgdkjzkmq94 -sgtwo59kdmhbndzd -threeone37 -mqxvrhmrpqnltvt9lrpplmttkhdvtln9 -onecxqvr48six2 -pjnx2eight7five -two189one6gbqvllzb35 -psvxjhscstjfkbpxhbbb4zvdjbcdxqrqzqlzp -n18hmhzrqjrpcxztwo -6two46zblgrbmjcqbnxqcnbf -7kxsjdqcmxrvmdtscvxgrnhrmrfour -onedzeight8qfive2 -seven9bkjone2sixqnztq21 -fiveninesixfkzlsn8fivembfjnx4threetwonexb -5zmxtcmzqqdthreetczccnxhkxrbntmfoursixjhhrsdxthree -1four2xpkfgcn -88trnvjtqsmseight8 -pbbpbfgsrst5five -jvgvdseven2two -962sixoneonectfgpknl8nine -rkbnzz1l42eightflb4 -twoxfll2fourbjfjgxfbtk -35fourtwo -lq56ninefour1three -77ztlmqxcxrj745 -nnvqrthreedt2eight6hvrlnpbts -6five6225sixfnzzbh -nine1three -8xgdsdfgcfourlhn -2three3ninelckpddbmdrfournine -89zmvxnlrj7658kjdjchq -pfhbgpb66twogpn7twobpvrbmmrvp -8hgqmztnmhkcr6xrxrbhj -6fivemnfcvvx8 -3mxpvgzq9ninebmlktwo -thzhbsl49seventhree1bdxcrgjq -rlcfour3ffkxxrhb -rkj2eightfive -xqncfnhkcqxqjgbsjhnrgm6 -ninefour52ninefourtworhsix -lpzcmxt97mlkjhlcone -two4qkmqgrpltkrdsctpnsqmbtptklprx6ncfpseven -61shxgxdqqqzngnnzeightkhmgrxprb2sixjx -9eightfour3one6seven -eight4sixqjxdjnzmkfflpfmkf -3bfc71 -14sevenfivezzmt8cpptl -1sgrzdqdndsevenninembzvfive -lxftrbfcqfoneeightrsdxlnp1x2jsgn2 -vlfcjfourmtxbcngpjvkcctvbgkgpvvqpsg1 -116five132seven -eightpvfsfbfzjcdcvh8kbrcz357 -99two -four6six -fzzklmnxvfrhd62xmftbrhgsslrlqv -5six55zbdlgc -62nineone8qcglr1 -sddddseven55fourlpqzbgzfive5 -eighteight17 -nine98 -three9qqxgfpjfkeight81nine2 -twotwosevenvkzzhrpgninecqvf9 -lkhf5onexsrtwo -8hfzvnzrd -9threeninethreeseven -onedpgjzsixxs4cg5jlvzcsbd -fgmfive97 -4fivefourckthree -nine1fivefour -7qlchtvd -tmtmtnxdpsvfour4621four6 -5qfvzh7seven -fourfivebqnpzbg8three -34kd9four5seven8three -kcqcxzmnkdt5twojdggp -4lvbfdpzjsdthreeldvkcbqrspktwo -2nine93foursixnine5 -8tbpjgmxltwojlpbnsvqhsjfcjcfvcrjqppdb5seven -8twodcpglrxcq23sixfour -3sixvczzqsfive -1three45jh54tbdvkj -pdrzqxdtcnbrnine8zvffmrtwo11 -3eight54sksqfxhzcdfour -7hsllsjtxtwo9jhjlhthreekdfssninetcjjrm -9sgmnine1kjmhjthree -nineseven9five -ggdcphlstwoonethreeffgmrseven2xsbsf2 -75ssbccflrrf4lpmptcqjcmfbpklqc -5six2threedvvlxdxsixvxxghpddn8pbnr -tlbjnlxfxvnine4grhj71hnf6 -964eighteight4eight6t -5qbmnsone1fourseventwo -oneseven1five9two -5fdpl37vklxpth672 -4czvrnxtlfiveseven74 -qdgqbsd5fourfive -ddrqjnkbq87six2fourmtghdtvtl7 -zdldjnfxms692rbdfgvtsevenxzfjpnsf -nsqtkbbfhn8threesix3fivefoursix6 -sfxjzhpqqslfourmpph44threetwo -onefive3seven21 -9eight1sevenfive7nine -7twonrthgr73vzb -18onefourhxxm -3xvboneightlb -3ftqct9 -8five55 -4eightmzrlfjqqddffgmfl -74mhzvktwolgpvrvnphc -sixnine694ninetwo -bzpnktvcqleight2 -5oneeight1five2dszthreedncqzmhc -eightfrbmcblrghgmpkrdnh7fournzbvtrzvhchsix -threethreeoneone6kbghfst -4fiveonexfchmclqhqfive -1t3nine -57jclthreefourbtdgsggzh -qpc9fhddthreefive -9eightnine7cgpbbnine8 -88twoxbzjp6fmqlznzgpgdqmmnpmkvctm -threelb9four168qpchgnfn -4onekrlmslkd7five -4jfxtsseven -zsthvnxpf7 -656three -453seven -zxmr55hgnvtjbbqhfsxssjxzshcbkvsbzg1 -pbkffqzrbvxvqjfgkpmp5 -ninesix677lpqpgmc -sixgmb67fzdhnnfk7 -jlgjbltbtwotwoeight9sixninevlngvvj -xdxqdhps9sevenzmzdlnvsix3oneightj -ninetwokpzvvqlgtcfx2 -dqmjchlbj7sevenfive -61eight9kjmxclvdrdmvnthree -8nine6three -3ndpknone -seven4one -8dxljzpk8twoxfmhbqnmqeightdhxvpgxcnine5 -6five3seven -rzgfivenxhpr6gxqflrskhjhvoneonegzbclk -jrvjhkfv7sqnsz86five5skvvmspvjd3 -sevensix3c6llkmsmmssf3 -sevendf73eight74 -7bqbbvmq2krkbhlsh -3dqq55eightcptwo -2bjgfrgrtgnfour -44xznjjvlhzclsix -seven6rtzponeseven -6ghvvkhrzvjzpxlbkonejlmrhq -zgsxthree6 -3crzdvbnhtsgldjvbpsixbjmlxsv3vrzjtv -xcpnbsevengpffknsv84sixsixseven -four898xkqnhspbqmtcs -5twonine -six2ltwosix -cnine22sixeightwost -6lx63two -fbqoneight3five -rbtwone2eight8 -9fivezrsdfkdlqone1nthjvdlmxhqvj -pmmfp8seven -1qmttlsjpxjbsrzmbtlxqzfzvrs968 -fgdonexgvvnine5jsm -rbgmbtwo9fsntcthreesix76 -fbrsxxshseven3gtv -mkxfour66one9n -eightnine1fivecsixlqds2 -lhxnxhfnmlmhxkcxndmnine1kfpb5eight -6eight13rseven6 -hxcfone64ninesevenbgsnrqppqmnnineeightwof -threebjpbtpzgx5mnthreensixoneightz -bpdvfqlzthree2vvcmvzllqfbgjgp -two926sixeightdsvdmnxthreetnqvktdbn -bhntwonefourninejjcmlfphzpseven95 -prqoneightseven1nbcxnqjfourfivecmj2 -stwone1oneninevcrfzpfourfivetwo -ztkknhjr9six8 -twomlvrzm934seveneight -ntnn1bqgbxf13rqdqtcrbpeighttwo -seven58ninemdqonecrkbdblone -foursixthree1oneeightone62 -8385dhgcqjtrsixtwo8 -blpzxstwosevenqbdhkb8sfggkbdhx5rzftqsf -mqbeightwoninefourlgcj9 -njvpkpvjpmvmbsrdgdvx7frrgvnfrmmrfrhqdtwothree8 -rtwonesxxone8tnine -2xqgrqmone73five -5ggzdxvptwonineeightdj -svqhzhzbsmhljxeight7hljd -one81kmnmpmfkseven -9ninefourbvbpljb3nineqxnkgzgj -sixfour7nvdfhnd -24twoseven52 -425vqnhmrpxthreenine3bkjpvs -8fzqqspdp6 -427five9zhbxpbr -1qjnxxkgqhp -eightxzthreelrbgfbvmrpmtgvrfgqmjlshbqv5 -onetwo4 -three194bfivevknbqxv -1mjhplcvheightlnvn7two -rmptjk5seventhreeonesevenkdxfkvdz -threesix8kpmrvgkpsix -fjfbx6eight3fourninesp -six3nhonebtdzppnxkr -xgtltdtwoninesix62szphpcmtv6 -fiveeight9seventhreesevengndgdfv -ninetwosmcbfkvf5hvksvfbr3ssbntlk2 -qjrdlmone7tqrzlvfourvfbvtkjxfpkffdpjnine -sevenfqnsnqt89five5 -16sevenxtdrtmdzrxhneightwot -8ttreight4eight -three9nine3832four -fivesncggngss8qzfvj -twotwo7sgtcgrmdnr545 -6xk7threejmgnqnsevenmczscqxqxfour -twosix4eight -kxm15two844eight -twoeight5sevenfour -five56three -threekdjgcdd6one -clchjoneeightrqgk8bdsdmzm -twog546two6x -5nine4bmhbtbksxreightoneightkg -gjfkbsr1gvtvlnbzqrlfour -one48vpone -eightbcklnvtgvthreeninefivetmgtbjrqnn3 -nkclzcvbbq8nineznbtkntgndnine1xrg -lqpfhmrlmg32xtddcfffdbxbjckvlzghpldfgvhfhdhr -fourpkcppxtmqz5 -dvb6sixvhdrzzjk -btwokhl99nine -73rkgbsqgz7koneonemlhrbtxc -eighthlqqt4onenine -eight61oneightx -ninebbtcjjlqkthreenfvbcc4three946 -ninepqtlffxvclgn7fqdhqbpmkkseveneighttwo -bqzpfxntnkhhfkv98fhrqslfs9four -4ktprrljbthreethreethree3blmddptfour -5fourone -9zhvgleightseven5nbcmscqms2two -6czngsp895 -2threekrxmtfrr2ppfrzqkqgfoureightlf -six8eight6seventxgl -1one9 -3qpmrtzsvgkjxsevengzdkjkbbdltlrjkznbbkmpb -sclxoneeightfoursfbfm4rbxssmgngfxrvcv -fhctmnpxdrfivemndlr3sdp -twoseven9sixlp -962 -tsnsndjtrp27cbtsjdlkrqmtctxvxvnx -5mnine -7fgt6 -three1ninertghhbhbcnjdsknine -two8ninefxcqmxdhtnmcmjvtds6fivebnm -7phdp -2hnszbksg -4ninedcnjbcxnrmoneeight1 -hnsszlsx7414two4 -gmkrn9gcgmffrvbfivethreefive2seven -2bknqdqmrxpfftptwo2vmqffgmzr -dsvf3nv14zklptjnhv -54nchsnpknkx -oneone15 -onefvmxnzp575sixpxnpndqf -6vqrzsbbxg3735 -twojbldk2hfqqzgone5 -onesixlzznvc8nineseven359 -6vjbr7 -nineone32nmkszsthreefpscxcqtwofour -fv1zpqrxvdlzqmeighthhbbbzt -cskvllzszxzk9 -7ninebrlggdzqk7ninelvddrtt1 -2fpttpbq6b7ninefour3five -bsslmmmhfxc6 -lfjkdzdm9eightkbdhrkpcnzcftlggh -rnineninelmbhfour88onevfzhcmneightwofp -one59ktxrdrhc8six9 -86nxnfzzsixgmxxglvfivezmkdvmhjfzone -9threefourfourrbxqpqbtbzxstwo -3pvgtcxrfvthree39bjfivenxvbjone -sixkmngfour3bfive -6threehntsjhjpmqhl345 -fourjcnd49fivexqfbj -ksmszhfive7rrphsxxhgm -zqtdztkhveightninepnctbcgqsb6 -ninemlvzfcljfkeight1tppxrqtdzp2 -twotwoeightnine5frzk3 -lfvqtzbsix3 -four3bsgft28 -sixgksnkrmsix2rbjmfmnfzfiveeight -vrtffvbtcmszfdc2sevenhvpfour8 -twopvgzmthree3 -xqffprzsrjqkcbsevenczlbc5 -4ninefournmvninetwommnrctqjhg -27four -fheightwod4 -38zkgvdpgjzqfivenlr7mdxd -ninexxvninesevenfivedpzfgpbv5 -xjzgznvfsevensixthree3rgfqhkxbfp5vfrjcdncfkjk -2kcbprjfhns68 -bndqgcmnine4qbzfgxmlffive -ffctnxgtwobldqhsix8djfmdnpgmt -fourseven91ninesevenpksgt3 -rninesznvtbq5zqmthzrcntskdthree7 -8eight7 -1hnlnp79 -1three3 -414ninevqrccrf6lmzqmsjc6 -15mpeightxmhxlxjmn -ktdblrmqqxmktvqfour87 -1four121three56 -ldfdgfqkr22nxtsrsntlsevenxxrcclrhtl6five -eightfourthree8pvlkkbmbrfnfr6 -8sixninefiveqcmjhpx -2seveneight85lskjhn7 -31c3 -hpgmpmjmnk4twothree -cqsxgbj23six11 -threesxzmgtvhhheight99xsix -6jlpt6rnsprllqhgbvhtqtjvft217 -22onesevenfour4sevenseven -sbnjszzkdleight6three -3twofourdmrsqqtnzgng1two -ldcvxqbsfqpgql9ngsbhfrmszhgvznnnjhnm5 -1oneseven28seven -nsvhqtfivemjgcdqpbtwo1nine2 -six8dj -zdoneight67fivesevencqlr -xlzrkgjrhmszmkzlkkmrxjdnzrtlzssfpcxkbxvp6jghldhvr9 -8sevenbzbnnx -vzrmcfvc9shkxfblfkf -9twoshzmktntwo5nqp -3fourvpdfs3eightword -three24onesixgdzgkspgsjprjgn7eight -4tz2sixsixqbqfsr4twonine -twoq2eight -rccxnvtqnhdlgzqfzcnrmqtjqonesix732 -seightwo8ninekndqrdtbfp -cgnmrkcjvbgfmpbpjckhfrzrtnine2sevenfivesxhqk -fourxsncktrjtpnine6ccbgpl -1sixone5vkzxnhgdlbsevendtwo -9jbnineppf7 -5foursixlrn5vdgdbvnfhg -fivecrtwo8zbqrvjgpfivenine2 -ktvdhgvone6dbrvj5sqbr5 -bljtwonesixthree7dzdfrgqrkstwo4xvfmtsbpqjgxsgqcpc -sixgg5 -vmrbqdqdrqtwo2onez -onehlgrgndk9ninefsntwo1rnclttm -4tqzjbhdhkm1 -nine1kffxzcrn189 -sbrxr9ninemqb8 -six528mslnf -sdvthree7dfivenine918 -3kvzqqkonepmghblzvljnineone47twonesdf -four9sevenfourjhmjjslqgd8 -3fkfmgqf6fourbldjfvbhr -eighttxpddhsnzrkplzqc1ninezpvqgnhxzftwo -56lsxmkfpghsqptvhmmmzhcmfdeightsix -one72kdfdrtwothree8 -7kpgjhpnthree7 -37j2mtwo -seven4mjponefivesdgncqm2gkklsqvthfeight -mgckktt9six4eightwol -4grzfdm499ninetbt -tzmbtv84b -xvzltd75dhpjckmpdrkgglskqrhd5 -cgnbhmdlj24 -7fivetpbtmone -fivelpmbxvhktzkkonexsxktlzthgbgqkgcj94 -5sixhggcbrft -43five7122tqlkhssczsr -eight1seven3 -fourtwo134fourmzpxspr9 -snxjqnf8ctcnvjknghxpkpbrt2 -4qj2xtwoghknine -1zjfivegtwotqgndnineg -fjmmznxkrml7fiveninelfvkqtrg6 -8xjlqgqj395nineninefive -dx47sixtwothdphj -fivesevenxgsfb235cvgmspdgg6 -fivettfzvfg78dmzzdzcrt -fpnvxp1 -seven24 -1three8oneeight -7xglzsqrtb8fhgthmgdcdtwo -seven8gdtfgd4fivepdq -twosix1qtttvvstmqbrhh -ptwomnjhlzjjkztwo4kdkgxv -89zkvrhmrhdbmfourzdpss -bfdsvnxflgqxgpzkmrptlvmvlkchjxrt67 -9mmhxsevennvvdngznine17twofive -lszmqdmxz87mqbv51 -546sevenninencccndnr4 -nineeightsqgrpkrqlmzrlxm6hxchcjspnx -8twoccdnbfive -1ks98 -twothree6 -twoxsixtqdpp6dcclzgfvkv1 -16one7scvsgvmcdsixjtzszzrxdzzgv -bjxzdsixkvqgjfzbbjnrtn212jplvrj4 -zb2three5cngqfczc1 -5fnine99zxvfourjgmn -one634rteightfoureight1 -76gvcdfourgtbzdlltzsjnxqg -ltmdrkqqnfour9eightpckdvbhlkvxlpdtp -6two5kgncpnzkdsgnpspb -three8vjninekbbnnfrdstprcmklrgpkfpmbs -ckvvqjqzbpfhf52fivefivefour -7ngxpdqptksix -ftp2eight -8lnmpbqldqstwo -threetwo153644 -914 -plxjdxghsix17 -sevenonesevennine4three2seven -7bvdgpghzhpeight512vxbnfqjctb -xqptzkfive4xqbjzpqfkfspqv5kgqbdtfive -bmltkhjsckhrc7two8nzdpkjjpnfive -nnhppfvlhcmnmrjxhrbtzdflseventwojfprxmfn7 -fournfdtjtsbthree54fpzsq -ninenineone5two -8694twomgxxzfxr6 -sixeight75seventhreerpchfour8 -llv5 -skxcbfffgc6sixone -3lhjbzbsg4lsfgpkmcz7vjxzbrshbseven -4onecjlkpqdljd3five5 -eighttwo2mvdtvqpnonetvphxsk8 -15195one -kdx9nine6qrnqrjxq59 -twolhjmbh4fivetwo6pdzbnzt -pbvfour7 -tgxrsbk2 -hfournineone58sixthree9 -hmftwonesix5dhthkcnzqseventhreenineeightnine -9jmmjclsnsdhhj -hljjvctthreefourxsdlvsgtqj1335seven -172 -2gbfpjff -five5sevengvddnphnine -sixeightfourssptsqlhzxonetfg2hkmrcpfzcz -94csjjgl42three -4bkxxv6 -pgdgoneqmhxfpnfqkrbkjeightbmjjlrnsc5 -nineninetwo55fvsxspzt -32jqffghbqvfmjtjone78 -93eightfour6eight9eight1 -768jrdmfxgxpntx8nhpljjdx -eight33zpvpggklseven4lcqsixthree -fourgrmone4 -bcknine9qsevenrjhjeight -5onevqm -578mmqhhljtwo39mfnpmfqthree -fivecmts43eightfdphfivejsx -8vkqvl -8oneone27fourseventwo -jfsixfivethree3cmjtvkzhqkcksmljxxzbjd -three6sixpdvtrnrtffltrs -threeltvvfkcdqjtwo89two8j -5sixeightfivesixjjmknrgd1qpsbpjrffjl -eightrmgfkckxxxsvfclhtgcjthree3 -rnfbp8eightjv35eight -2rrssqrfkvmq -dcmghdmg6threetzsdx -qzhfivefivejvbtncm2 -gcspvjnsevenqhmkngfivesix15jtpk -bkmlmh5six1sixone2hgtlsix -8rmjshdhm681vc -sixtx32 -7fourtwo6 -xgrcxeightsevenzgmcllfjqn7 -553fivethreefour8nine -one4mxbmct -three6ninetwofour -1bbbxqhhlmj651eightkfdqdgvh9three -4414 -mnxsixone92 -61six8 -eight8mrcpfive1 -crsvmfivezbkzkqsix7mxjdgtsqbfvdbnlqtfiveoneightgj -4dmzznftdbqj -seven25 -fhlhpvphqvh8one1ffkq -mboneighteightonefive1ninenineninetwonine -82fiveonexc5 -97qbhvbqnmxtlpczsx -nhgzzjkx5 -hgxlrk9 -8twonine9fivetdxmjqppxr -onethree99sevenfourkzvd2 -sdqjfvbndzcthree1ftoneightkm -5rcllqcxt -threejdntvhsixsckfpndjzkeightsix3nlgpsvsfhk -94fctwoxmczbkz -4eight35tbqjxglldsevenxmthmmlhsix -three125 -3njtlmxtbr4541ninedz7 -9ptzpzqrjmxlrmbfbpn9ss4sqcprfmcqg -8dpmkdtvjxzjbddn7pvkxzskddrhcsjvthree7 -xxshbfcmf3cfdkeight -six9ninefour472 -fourrvxfmjzd4five -1fivesix -twonine3six9 -nine8onethreethree -foureighttwotwo7onethree -9prtlnjptoneninefiveninefive -cljqxpthqzdxpmmbvpjljjxhlhsql8kztpthreesevenoneights -9sixtwonetfh -kscmxpcqlthrmthcdhplpnqlq2 -fiveqjfvkmnineeightninefourtwo1 -one5sixeightfxkshmninethreeeight -4nine4 -27 -ggtz73sixkgsjrtcxkb1 -qvxsgvrpbxqcgpb2fzmcvknkr99seven -6eight8ksgdlxj638fivetcgb -mmvc3fourrvbztjchbmqtxtgfrrqphninefive1 -3qzbzxsevenfivegrvtbckqcj -eighttwokzpgl2hrvqlhkthreenine4 -8twoeighteightxtsbrseven -nine5mghp7vpnvtpx2c -hkxkmx5qnpjhtdfjfsix2xqqplvm5gmvjm -69cgvzhvgjvl8 -threeblzj6three -3bxpmnfbtpk5hcgqkbkqblznxgsdvklmtmqjxsxdcgqvmsprxrrnfchfbnd -1fbrrcjgzzllmcbdrgmrcfsevenh -58onezbp -1bqfkmkk46cctvmstvhvrtwoone -mmeightwo9sbjvleightdsevenseven -9gdsqgflkvonetwo -3lgpmxdgjtzx3two5foursixeightwomb -dbkbeightfive9eighthxngnrbmp -2cpkxggtrdsrh -zsgcdcrlhlqdpone9eight17sixbbtzpmdf -5rskkplgsbl9qqzfrzh67four4 -nine856threezgbhrzjcfour -kqnnine87lflxddvtfb9lfjdknvgl8 -fsgtwo8zxvnfour7xxfnmqpzhzone4 -ddd9sixnsrpqmvvjh2xghxhm -836 -nxglt36ljcbvgc16hxcbtqjz -nine19fourhnvh7fgqklf11 -jkvsphrpmhbnfl2nhcflhsbks4 -7nine2dsgkmrzlrzptfpk672 -6vtmztrjdrbk -4vgsshzzsrtwo -ninexfjcxdcnxs7seventhree2 -hsvvqcqp97twommjjlclbtdjbxkveightwos -threedlcvvseven3 -366xqfbhzfmqknine7 -jzrqqfouronehhrmkg4one5 -8xcbccrp141kmcsrdlgcdzpcb1nine -59rdrphcgk -fivetwoqmlk22eightfive -qnsphtvfourtwojljxnvgrkk3slv6four -13dfbnfnpsevennqtjthreethree6 -4dtncvsix34oneeighthpfouroneightv -xdhqninefive88nine -6hnnl8nineonehm7four -sevenfournine8five2six -vnczlzjqdtmdgsgxch94one3knlxjvqtrjlsx2 -twoeight14kkzrsqmgkhjb -jhqrzxrhskngj9ninenjcnbdtjhjtdh -2grrlxnlvthreernfghspmc -two8hjbsevenfive5threenpgtnkftp -d8sixfive1five7 -sixthree9 -sixspqf2gptcsrvlln9 -seven8nine -nqeightwo7svvjqs75qgp3hpvn -qrsixxffsdvvrf74five3 -5threeskqgcgprrjmcxksixtwo969 -bdbtlvlseven13fh -2two1eightfour7jqdd -three8ninefournffzbnbhkpjqh32 -sixqzmhnjttdnine41sevenpcxqkvr -fivenine2fourseven2 -sixjjhrjbmvvngqd3three7ninekpneight -11lttrkpcljbbrmponeightbb -frxgkvgrjtsix84 -76eightonesix8fivenlfhkfgp -fourpqlrklpnfljvpfkdklkgrjp1ninevfour -1six75tr1 -cjdvxhmjvstninejccxrqhb1qkpmnzx8xfpp -8sixfourone6pzlnczvlsmmp -eightrkl37jqlvjjsbrtqsix6 -onesmrjvmrtlppm69857seven -4rgsktnbone8sjxjzbrplnmfvkknpxqv -tfteightwonsdffone8sixxdpeightseven -639one2two -smk55 -6cjbckhbtmkcgrvmp3 -rdnf9 -1jjkdspeighthteight37 -1gh3dcmhx4sixnphphhbpninevbqhs -vpstbqtdmbvk9jstvtgzrdl -91seventwo -7sdpflkxfzfivethreenine -gvgcrpphhbzghtbcv6 -vvnine5ddgzroneone -5four6684one -dmspptjjtwocr2one -sixftzx6fdsfv -5six8twotccbsdnpxg32tsix -mfkdbdfournktdmgqnt4vqkzbzonekdqhbcmfgfiveone -nine2476 -8rxd2eightninefourmd -eight1hqfcqs4cpvpsqjfhptwo6six -5z -bqcj948nine6xmgnxmxnn -two1lzdv65bhllvrc -sevenvjkl3ninespltvdszvnfvzpcvrctphvp49 -4mzjxftf5eight -fivehbrxcbgjhhxpzfn5lllsknk7six -6n5ttwo166 -fqdfhc3 -6cph -lzqqvnlkjv3sevenbdssvckmdm -bbdpgpfsevenvzsix87 -754sznxkfb4npmjbv4one -twothree984dsxsninefour -kmpjgh71jhfrjgrpbd2d7 -27tgptfvcjnk2 -onefive497cdcktxcjfivezdrdhczbp -79176threeseven1 -csseven1rmlbcpct -1lzlz4tsngmgh -zvxshddzg2eightpxkzfnvdfzeightseven -ninesixnine93seven8 -1twofiveeightmfour -six3cmbbbxbqr74flchvgjbr45 -7nine31two9dvsghkrjj -five5four -seveneightthreefourseventrgxdqclq2 -5dfgddsevenldmzckmvxjmk92fourdcpfgcrpd -ninekbhrflzmgp3lqgxgszmzvndr47zcllcfg -sqsixonefivekfvbfh66p -bssrkdrrgsftlqjdz19 -bqcbhfive6 -jt3fivemdrnrvngsb1seven5 -svdninesbj11eight -2phltdc -1469sevenvksvlthqskfkx9 -7fcfivefourdbbvtnjbrc -6seven4 -lrmfqtjkzfive69eight8 -zmngmr9ninenineninesh -qrxvdxgtfour7one6 -eightmjpkgdtrp52shpcrtb -54k7fournine -7fdbshl6874 -jfjvrhccqrc1fourcrg96 -1sevenncqhkgtzmtncmxhflmfsxfsmsmqh -79fourjmxfdbqnrsr -sjthree6tcbp3x -qvrzmdzfnpkkdcvone2lttcbzhhddbnlnhxgsblhtlvdcpnzjvvqszrthree -ninedfxcz63two515 -48sevenvgznbsxzhfgzq19 -dxjbtzvtfn3five3 -five1gxfcfppffg74 -78ncrnhmv766nine -two7qmgeightjhddgnineone -jhttksbpbhzmgglfour7 -bloneight3ckvpkxtwozzxr1onethree -mhmppdtvfonecrjzlktlnkpzdbqtvtwo4 -179tjchxninethreesix -dpcfnsftnjbhlpcjrc8pbnnhtlrjzmmjk -ninebn16one2crfour -mfivesix8nine1zgpqpr -eight44fourfivegfive -2qhsltnzsfivervftmdm1hthcml -sjoneightvrxctb9sixhkhmfivejm -7threehdctsfqflggzkhpn -seightfourkhpkprrcl6six -fourkdff7 -57seven3four1r1gcjtckvn -gmfdzgv7fivesix4nvlq3 -thp7 -xd5plhtvtgxmgkmhlr5nine -7fourdf -pnkjgdctpm2221four8pvnhxdtrvs -hngtq27nineninesixeight -2fivejpfbsqtx1fourseven -19jpjsbljgz -ninethree5twoeighttwoqponefive -gklmbcj5mstwo8 -phbeightwo31jjzltcqzhklm26 -jtslpzsxh43 -drk7 -5dxcsvgqkmz -jnrgv9 -nsttntwo6 -6qbfrlcfmmnqpmbbtqgdsjqndqfive -2mgdjlpdsixfive6 -sevenfivesix6 -3nrfvb13onebsrclqnflppzchtp21 -dmpgdvfive7 -lpvqjzhvjoneghqxnvsixjxflzqj4 -onegqzxvnnfnlcffour2 -nsglbskbzd2drjzqhnq -nine8seven -rfspthhjbh92rseven1 -nine2ctjnb -gzkgvtxjt8twoonefour -tplxnlr8bfjklthree -jqrxrtdvmj8fournmj -6gxvglbcqkdsdcsl -pzjk9ccbmkzmtsf -qdzpknfhbsixczkrqbpfour76sevensbvltnjccjllng -six1zrhqxzfivetwo -xjhmfkvjgxtbgszmpd54jbsscgrninethree -cndbtlq22 -fouronesevenzrrv7mhsvjtwokqbfvvrs5 -twoonefive59phkxdbndgch5seven -8twoninethreeckdkd5 -9four6jfxnfgjvcrszrpsrkhh -993psn4qdldmfnqsix4 -42tzxknj -vvzpl8six -8vpchdjxczsvjjqljnmpdeightone2seven -fivenine51sixcdb -dfkkvsone5kjzvqqc -8seven8pxtrdrkqcqhdklgsixzxtjmtblzzcc -ddvzsqnxd9xscsix4rvpsix -75nsvxf9one88 -38ninetmmqx2 -sxjqgrdthree2vhpgrcdtqeight -63kthndjc -qgbdkfm56two6fourthree5 -five79 -jpb2seven7one7 -four5sbgbpzkjjkjhsvgksgjvfrsbpbdzgd2 -xlxpsixninextzlpbn6 -jzbvzlflf8twoeight -4vjtr6eightninenjtvt -3twonine3vmrgkjzkpfoursixtbcktpn -six1fourbfhxlntrqfxxztmj4 -jrbhfourfour6jspsxkn2eight5four -pcvjmdlnf15cfghpszt9 -4lxktgpvvq1sevenone9 -twosixhllhbxkbd2three -veightwo3eightvrhseven89onelxvhqxkhm -2sixfkdpcjcgcbgfzlbgblj -457jtmdfdjcnine -three64 -pqgjfseven4sevenoneslgeight -91vcptwo1twonineone -seven63fourzjpdmk1 -8fivetwofrbtm6f9five -sevenchrtbctkgpnine65fourbhpqnchhlz6 -rkdqrbtdbj9bt41hklvlrbrcpx -1three1gmdeighteightqbgsevenhljbpzbdtt -srkbbkfcznine6nine6 -8kmzbjzsxtgr9drtbdl -24six412smjfxscst -9cktpshfdr5djvrngchrh176 -2mjknvteightmvsdgt8seventhree3mzfk -vhldtk27two -6three2ninepqnine -2fourzbtqnclrtpsix2six94 -six6five -one2eightppzmczmgsixnine -15qljk7vchkfcfhkhmbjlkcfour -99four -dhrgkkbrnczkdt3n -89211sevenhnbjbrxtk -663rrbpnrknine911nine -2ntffsix9 -4mdpcrvqfoursixqeight -jbjjqkfive3jqnqhvkmtbddrdqxseven -2gvrgdsxptwovfkpgdlmlhz34 -rqfrx82 -tworzlxeight66eight1five -md1jgknfftttjbjz -tctqctkone37cmpbslgpzh3 -3sixsixfpxg -seven6bld42brzxr -6two4seven9zpgb5 -nine13 -d68 -3lxvsgksbbtwo52eight3three8 -bpltlnlzc8 -seven2five1threedmkg -hpkvhlkhknhjpq9tgpmnndgtlqjx1vkdkvtqhtwodrbr -fourfivesxgpxhdvts7four5 -7frgrjkkrb1 -2threettvptwobjhmxvpsvmljtvnpkpsvr -9fivelxtcbbn9xgtwohmmhnfhcknc -fourqztfvd6gkhxnstjjxnbl69hzkghsjrd -pspgqcjfcqdgq6xsgxrls -threesix6lrfkmvjdfivetwo9 -kdjgpj54 -oneeightsevenfive1 -one4onefournine64 -45hhcpntsthreezl9hjdnnine -17ninenineninegczplbj81 -31threetwosevencphdv -5eightvsrzjmdbtqhhqtjfjrhllhbgzgzjzvdhddstxpp4 -pgghlbtsevenqxxjbnd14onetwo -3ljgmcxnqgxcrfourfourtworjtwo -eightseventhree59 -3nhsccljtzszftnqtfour5 -threefourthreeone3five -3pzgzjv7tz -qxgntksdr45tvnxfcjdnn -5seven9threejdzrzdfcpgbnhrrmfkkskg2two -38bjnlcjbeightfivefourqvtbvjsb9nine -nmxqtzlpfngzlsnl9 -9eight8five3two1gsknxznbf9 -518jkqmprjlqcpdthreefive16 -6lzjznblrj3three -f7blbxznlvgk -37jtlrvlzhzronehn -kpckhlcsbeight6 -8dfptmfourtwoeightfoursixonefive -ninecdrxlgdkm7nineseventwotbbcgninekbxssd -rrhkgmnsbxbhb2ccnncrbstjfbmnlbxsxbkr -cflrvjtdsevenfivefive3sevensixeightseven -41ninenrznrcpdqhxfglb -gffivesixtqbbmzllvbnjnk2fivesix -eight311seven -52mpqbgktxhs359btkzqdfzvtrzmltxt -onegxnk2rvnmdcmqvqvgkml34 -gfzeightwoeightrbvknvpt7 -1ct2 -zctqtxtgseven66zhslvvdninetwo -54sixbfn8mxfkthf5 -9974seven9dclxbmfive -onefour6mjtssrxjjsleight2foureight -818sixsmmzsvbpl9two -rjqnpzlp83qxlj -sxqztv22 -8tsvhfszvj -one5mninefour68 -three7threeone -sevencnq2jdjvmlh5mqnnnrsqgppkfxjfjsevendrq -8zmxbvgschsqxbk5lltxpseventhreevrhsvdkk -seven2ngbqlxkjl27eighttjprz -ccfskxtnqpqninevczrltkg18hmgjmqt -npgtv4nine5lnqvglvdrxvqmc -kvg4zrtpxnknbone -threeeight1tsdcthree5zxrshttlsmseven9 -35448284 -6fiveqplkfftsj -pldmrjhzhfiverlgntcckbqzjgth4gfddcrz -6fivesix2 -eightksz6m6pneightnvpvvx -1fourbqxtmbvzsfnrxqmvlbfzvdthree -two43sixthree5one -cqf2 -twoltseven8three64 -6fourprlhcc -fgqoneightsevenqthreebksixgdqt93dm -xjczd3sixseven5 -kfzgshnxqnptrckbrt2 -fourrrdcl624 -kvhfqspcpsxndjqlonesixthree24kdmqvone -8eightfivetwo -onesevenseven5fourlrkkqtfkrmdlsmd -jffvtzkbjnkdtvfsfthree431lrpgmtv -bbvsptrzbone4tfnpgrfourvsix -4seventhreekmxsz335eight -eightbrcv5 -two2eightbppsplzgcfournine5seven -fourthree5kcdhqzeighteightkbzszgv8nine -rgxrddnnbv7rkt -8ffmvpcsvfoureightqpnzzjksgchnine9jlgjqb -two9tfvjqsgqsixnine -bzn4two -sqlfeighteight6hjddxzcone2 -3fivekmfnqlctddfivelcthnine -twodn8 -one5six913lbrcc -foureightmppchbgz8lqbzqbjztwo7cksqxns -zvhzgfpkhkone93nine \ No newline at end of file diff --git a/aoc2023/src/day10/input.txt b/aoc2023/src/day10/input.txt deleted file mode 100644 index 230e945..0000000 --- a/aoc2023/src/day10/input.txt +++ /dev/null @@ -1,140 +0,0 @@ -.F-7F-..|-F-|F---7J7FLF-7F|FJ-LJ.7--F7-|77.|7J.FFLF7-FJ7.J-7-|.J.7.F7L7..FF.|F--F--|J-FFJFL7F7-LJFF-.7F|7.FF|7FF7FL7L--F--77-7F7.7.-F-J.JFLF -FF-.F|-FLJJ.77F|F|-J77|---.7JLJLFJF-|7.F-7-F7.FFJLJ|.LF7-.|L7.J7LJ.L7FLFF7J|.F|.LJ-|.|.L7F.LFJ.||||FF|FLL--|L-J7--J|J7L||FJ-JLJL-JJ.L7J-L|7J -.|.FF7-LJ|.FJF-77|FJ|||-L|-L-FJ7F-|-LF-L7|FJL7J-F7FFF7FJ.J-.LJ.F|J7.LJ.|L.||L7JF|.7J7.7.|L-FJ7LL-JJ7FJ7.LL7J7LFJFLF--F|JF|-|.-JJJ7L7-||7F--- -FF-F7JF|FFF..L-|-|JF-JF7LJ7.F7--JLJ..LFFJ||F-J|F777L|-7J-7|7|7.FJ-77..LL--7|7F7F|-J|77.FL-7FL-JJ|7JL-L-|7F|7JJLF77L|-7|.FJ-L7|J.LL-FF7F-77|J -F|...FFJLLJFFLJ|JJJ|.LL77-L7LJJ.|L|-|-FL7LJL7JF7JL|.|7||.LF|-|FJJF|F7FJ.FJ|LF||F7.-FFJ-LJ|FJ.L---J.|L.L77-JJ|7|||--L7|J-.F7|.F7F7|FJ|F|J-F.. ---F-L|J..L.F77.L7--JL.L|L7F|J..FJFF-J7|FL-7FJF77JF7J..JJ-FJL-JF|.FFJLJLFF-F-F||||7L|LFFJF-7.7FL|.LL7|FFJL7JFF7F|L|-JJJ|.FL-L777L-.7L7FF7.|7| -F7J.|.L|7.J7|FL.|.|.L|7|J--7-7-L.F|J|F77|FJL-JL7-||L77LLF-J-|-F..FL7.F-LJ7FF7||||F77JLJLL.J7.L-JFF.LJL7-|L|FL-FJF77|.FF-LJ.||J.FF7|FLLJL7.FJ -FJ|F|FFLJ7L-L77L|-FF.|LJF7-L-77.7-|-FJL7FJF7F-7L7||7L|...|-LLL|7FF.LFFF.LF7|LJLJLJ|-7|.|7..J----F77.JF-JL--7JLFJFLJF-7J.L77FF.L-J|LJJ.F|JFJ| -J.L--77|.|7|L|7|J7|.FF|7||7-|||7|-J|L-7LJFJLJFL-J|L-7|-F-7.F7JFFF-7--7-F-J|L-7F7F-JFJL-FJ--J7FJ.J||J|F|7LFJ||-L--7-7JJ.F-7-7.FJ.L|J|||J.F7J7 -|F.F|.7-|JLF7|.J7-77JF7F777.LJ|7L..F|FL-7L7F7F7.FJF-J-7|J|-||J.FJFJ7F7JL-7L77||LJF-7..F|J.|.F.F7FFF.-F77.7F-F77-F77L|77..L-7-.L-7L-LLLJLLJL7 -F7FL77|FLFL|LF7|J-|FFJLJL---77LF7LF7F7F-JFJ|LJL7L7L7JJFJ-JFF--7L7|FFJ|7-LL7|FJL7FJFJ7-F7..F7F-J|F7J7J||J--7L|L7FJL77F-|F7|FF-7-|J|L|7|-JJ|FL -F-JJL--|7|.L7-J|LLF7L--7F---J-||F||LJ||F-JFJF--JFJFJ77F77F7L7FJFJL7L7|F7F7||L7FJL7L7F7||J7||L7FJ|L7F7||77||-L7|L-7L-7JLJL7JJJ.|J||||FJ7--FF7 -F7..7JLL7FL.|-JJJL|L77|||77||7F-7FJF7LJL-7|FJF7FJFJJF7LF-JL-J|FJF-JFJLJ||LJ|J||F7|FJ|LJ|.L|L-J|L|FJ|||L7LFF-7||F7|F-J77LF7JJL|7.|JJ-.F-.|.FJ -7---F7|.FJJF7777.|L7L7FJ|F7-F7|FJL-JL-7F-J||L||L7L--J|7L----7||FJ|FJF--JL-7L-JLJ|||7L-7L7.|F--JFJ|FJ||FJ-FL7||LJLJL-7L7L||JFFF77|JJ.LJ7FL-|J -|F-7F--7FF7|J|FL.F|L7|L7||L7|||L7F7F7FJL7L||FJL7|F7F7|F----7||||F-JFJF-7F7L--7F-J|L7F7L7|FJL7F7|FJL7LJL77LFJLJF7F7F-JF77||7F7||7LL.-LJFFJF7| -J7F-J7.F|J7JFJLJ7LF7||FJ||FJ||L7||||||F7|FJLJF-J||LJLJL---7LJLJ|L7FJJL7||L---JL-7L7||L-JLJF7||LJL7FJF--J77|F--JLJ|||FJL7||FJ||L7.FFJ.-J--L-7 -.L|JF77LJF-.JF-JLFJ|||L7|||FJ|FJ||LJ|||LJL7F-JF7|L7-FJ|F77|F7F-JFJL-7FJ|L-----7FJFJLJF7F-7|LJ|F--JL7L-7F7FJL---7|LJFJF7||||FJ|FJ.|7FL..|7|L| ---L-F.J|.--J-J7F7L7LJL-JLJ||FJL7|L-7LJL7F7||LFJ|L7|F7|FJL7|||L7||F--JL7L-7F7F-JL7L-7FJLJFJ|F-JL-7F-JF-J||L7F--7L--7L7||LJLJL-J|F--777F-7-FFJ -||L7-7JF7L-JF|F7F-JF7F-7F7LJL7||L7|L--7||LJ|FJFJJ|||L7L7FJLJ|FJFJL7JF7|F-J||L7F7L--J|F7|L-JL-7F-JL-7|FFJL-JL-7L---JFLJL7F-----J|F-J7--FLJLL7 -.LJL.LJL|-L-F7||L7FJLJF||L--7L7|FJF7F7|LJF-J|FJ|FJ|L7L7|L7F7||FJF-JFJLJL-7|L7LJL---7LJL--77F-JL7J.FJL7L--7F7FJ-F-7F7F7FJ|F7F7F-JL7L|-7J.--LL -7JFJ77FF|-JL|||L7LJF7F7||F--JFJ||F||||L-7L7FJ|F7L7|L|FJ|FJ|||LJFJ|FJF----JL7L7F-7F7|F----JFJF--JJFJF-JF7FJ|LJF7|FJ||||L7||LJ||F--J7L-.||.F-J -|LJ-L-J7JJJ.||L7L--JLJ|||L--7|FJ|FJ|||F7|FJL7||L7|L7|L7||FJ|L-7|F7L7|F-7F7FJFJL7LJLJL----7L7L7F7FJFJF7||L7L7L||||FJ||L7|LJF-J|L-7F-7|FFJLJ|| -|F-FLL7|...FJ|7L---7F-JLJF--J||FJL7LJ||LJ|F7|||FJL7||FJ|LJFJF7|LJL7|||FJ||L7L-7L7F7F7F---JL|FJ|||FJFJ|||JL7L7||||L7LJFJ|F-JF7|F-J|FJ----.F-- -7JFL77J.-F-L7|F7F7FJ|F-77L--7LJ|F-JF-JL-7||||LJ|F-J||L7L-7L-J|L-7FJ|LJL7||FJF7L7LJLJ||JF7F7|L7|LJL7|FJ||F-JFJ|||L7|F7L-JL--JLJL--J|JJ|7J.J|| -F-|F|F-7L|-FJLJLJLJFJ|FJF7F7|F-JL-7|JF77|||||F-JL-7||FJF7|F--JJFJL7L7F-J|||FJ|FJJF--JL-JLJ|L7|L-7FJ|L7||L-7L7|||FJLJL7F--7F7F7F---J77L-.--7J -|--J-J7LFF-L------7|7|L7||||||F7LFJL7||FJLJ||L-7F7||||J|||L7F--JF-JFJ|F-J|||FLJF7L7F--7F--JFJ|F-JL7|FJ||F7L7||LJL7LF7|L-7||LJ|L----777L7LFJ. -.FLJLLF-F-7F---7F7|L7L7||||||LJL7L-7|||L--7||F-J|LJLJ|FJ||FJL--7|F7|FJL7FJ|L-7L||7LJF-JL-7FJFJ|F7FJ|L-JLJ|FJLJF7FJFJLJF-JLJF-JF7F--J-|JF-L-J -|-J.-7.LL7|L--7LJ||FJ.|LJLJ|L--7L--JLJL7F7|LJL7FL---7||FJ|L-7F-JLJLJL7FJ|L|F-JFJ|F-7|F7F-JL7|.||LJFL--7F7|L7F7|LJJL-7FJ7F7FL--J|L---7JF|FJLJ -F7---F-F7||F7FJF7LJL-7L---7|FF7L----7F7LJLJF7FJF7LF-JLJ|7|F-JL-7F----JL7L-J|F7L7|L7|LJ|L-7FJL7||F-7F7J|||L-J|LJF7.F-JL--JL7F--7|F7F-J-JL-.L| -L7.|.|.|LJLJ|L-J|F7F7L---7||FJ|F-7F7LJL7F-7|||FJL7L-7F-JFJL-7F7||F7|F7FJF--J||FJ|FJ|F-JF-J|F-J||L7LJL7LJL7F7L-7|L7L-7F7F7FJ|F-JLJLJLL|7L7|F7 -LJ7L-7FL7F-7|F--J|LJ|F--7LJ|L7|L7||L7LFJL7LJLJL-7|F-JL7LL7F-J|LJLJL7|LJFJ.F7||L7|L7|L-7L-7||F7||FJF--J|F7LJ|F-J|FJF7||LJLJ.||F7F7F7-F-7-L-JJ ---77L-F-J|FJLJF7FJF-J|F-JF7L7||FJLJFJFJF7L7F7F-7||L-7FJF7||FFJF7F--J|F7L7FJ|||FJ|FJ|F7|F-J|||LJ|L7|F7F7||F7|L7FJ|FJ||L-7F-7|LJLJ|||.|FJF|FJ| -J|.F--|F7|L--7|LJFL--JL--JL7|||L7F7L7L7|L-J||L7|||F7||FJ|||FJFJLJF7-LJ|FJL7|||L7|L7||||L-7||L-7L7||||||||||L7||FJL7||F-J|FJ|F--7LJL-JL-77..F -LF-.LFLJ||F-7LJLF7JF7F7F---JLJL7LJ|FJFJL7F7||FJ||LJ|||L7|||L7|F7FJ|F7FJ|F7|LJL7|L7|||||F-J||F7|FJ|||LJ||LJL-J|||F7||||F7|L-JL7-|F-7F7F-JJ-FJ -.F-7-7.LLJL7|||FJL-JLJ|L------7|7FJL7L-7|||||L7||F-J||J||||-|||||FJ|||FJ||L--7||FJ||||||F7|||||||||L-7|L-7F-7LJLJLJLJLJLJF7F7L7|L7||||-J..77 -FLF|7LFJ-|F|L7FJF7F7F7|7F7F7JFJL7L-7L-7||||||FJLJ|F7|L7|||L-J|||||FJ|||FJL7F7|LJ|FJ|||||||||||||FJL7FJ|F-JL7L7F-7F--7F7F7|LJL-J|FJLJLJ.L77JF -F7FL|.||.LFJFJL-JLJLJ|L-JLJL7L-7L-7L-7||||LJ|L7F-J|LJFJ||L-7FJ||||L7|||L-7LJ||FFJ|7LJ|||||||||||L7J|L7LJF--JF||FJ|F7LJLJ||F7F7FJL-7.J.L.|L77 -LF.LJ-|-F-L7|F7F7JF7J|F7F-7FJF7L7FJF-JLJ||-FJFJ|F7|F-JFJ|F7|L7||||FJ|||F-JF-JL7L7|F7-||||||||LJ|FJFJFJF7L---7||L7LJL--7FJLJ|||L---JJ-JLFF|L- -FF7.F.|.F7J||||||FJL-J|LJFJL-JL-JL7L---7LJFJFJFLJ||L7FJFJ|||FJ||||L7|||L-7|F7FJFJLJL7||||LJ|L-7|L7L7L7|L----JLJJL-----JL7F7LJL7F-7JL-J.FJJ-J -FL|-JJ7F||FJLJLJ|L-7F7L7FJF----7F7L----JF-JFJF7F-J|L|L7L7|LJL7|LJL7||||F7|LJ|L7|F-7FJ||||F-JF-J|FJ||FJ|F---------------7|||F-7LJFJF-J|.F|FF| -FJLFJ|F-JLJF---7|F-J|L7|L7|F7F7LJL-----7|F7|FJ|L-7L7|FJ|||F--JL-7FJ|||||LJF-JFJ||F|L7||||L7FJF-J|F-JL7||F--------------JLJLJF|F7L77F-7JJ|-LF -L.L|F-L7F-7|F--JLJF-JLLJLLJ|LJL--7JF---JLJLJL7L--JFJ|L-7||L-7F7FJL7|||LJF-JF7L7|L7|FJLJ||F|L7L-7|L7F-JLJL--------------7F-7F-J||FJJL-J|7|7F| -.F--|LFLJ-||L-7F-7|F7F7FF--JF7F-7L-JF7LF7JF-7L---7|FJF7|||F-J|||JFJ||L-7L-7||FJ|FJLJF-7||FJFJF-JL7LJ7F7|FF7F7F-7F7F----J|FJL--JLJ|LJ7.7FLJ-7 -LLL-J7L7L-LJF-J|FJ||LJL7|F--JLJFJF--JL7|L7|FJF---J|L-JLJLJ|F7||L7L7|L7FJF-J|||7|L---JFJ||L7L7|F-7|F--JL7FJLJ|L7LJ|L-----JL7-|77F-7-JFF-7-F7- -|L|-JL|7|L|.L--JL7|L7F7|LJF---7L7L7F--J|FJ|L7L---7|F7F---7LJ||L7L7|L7|||L-7|||FJF---7|.LJ-|FJ|L7||L---7|L--7L-JF7L-------7L-7F7L7L7JLL-J--JJ -7|F7|FJ77-F------J|LLJ|L--JF-7|J|FJL---JL-JFJFF7FJLJLJF7FJLFJ|F|FJL7||L7F-J|||L7L--7LJF7F-JL7L-JLJF---JL--7L---JL-------7L--J|||L7L7FLL|7LFJ -7-FJLJ.F77L7F7F-7FJF--JF--7|FJL-J|F--7F---7L--J||F7F7FJ|L-7|FJFJL7FJ|L7|L7FJLJJL7F7L--J|L-7FJF7F7FJF--7F-7L---7F7F-7F-7FJF7F7||7FJFJ-.F-L7|7 -L|||.|-LL-|LJ||FJ|FL---JF-J||F7F7|L-7|L--7|F7F7|||||LJ-L7FJLJ-L7FJL7|FJ||||LF7F-J||F7F7|F-JL7|||LJFJFFJL7L-7F7LJ|L7||JLJFJLJLJL-JFJF|-L|FJJJ -77|7-J-|FFL7FJ|L7L7|F---JF7|LJ||||F-J|F-7|||LJLJ|||L7JF7||F----J|F7LJL7|FJL7|LJF7|||||||L---J||L-7|F7L7FJF-J||F7L-JLJF7FJF-7F7F--JLJ|FFF-L|J -LF7|F-7F-JFFL-JJ|FJFJF7F7|LJF-J|LJL-7|L7|||L---7||L7L7||LJL-7F-7LJL7F-J|L7FJ|F7|||||||||JF7LFJL7FLJ|L7LJFJF7|LJ|F7F7FJLJFJ.LJLJF77JL-7-F7.|. -.LL-JJ.FJ7LLL-|LLJ-L-JLJ||F7L-7|F---JL-JLJ|F7F7||L7L7LJL--7FJ|-L7F-JL-7L7LJ7||LJ||||||||FJL7|F-JF-7L7|F7L-JLJF-J|LJLJF--JF7F7F7|L7.||JLL7-L7 -JF|J.L7|.7-LLF-7F7FF7F--J||L-7LJL--7LF7F7JLJLJLJL-J-|F----JL7|F-JL---7L7L--7||F-J|||LJLJL-7|||F7L7|FJ||L--7F-JF-JF---JF7FJ||||||FJ7|JFF7-J.7 -.LJJFLLL---|-L7LJ|FJ|L--7||F7L-----JFJLJL------7F7F7LJF---7FJ||F7F7F7L7L7F7||||F7|LJF-----JLJLJL-J|L7|L--7LJF7L7FJF-7-|||FJ|||||L7F7-|--J-F- -|J.F|-JJJLF77FL-7|L7|F--J|LJL-7F7F-7|F--7F7F7F7LJLJL--JF--J|FJ|||||||FJF||LJ||||||F-JF----7F--7F-7L-JL7F7L--JL-JL7|FJFJLJL-JLJLJFJ||FL.|.-7L -|7FJLF7L|F.L|7F7|L7|||F--JF---J||L7LJL77LJLJLJL7F-7F---JF7FJ|FJ||||||L7FJL7FJ|||LJL7FJF--7||F-J|LL---7||L---7F7F7LJL7L7F7F---7F7L-JL7J7FF7|J -JJ-LF|-77.FF7FJ|L7LJ|LJF-7L-7F7|L-JF-7L-------7|L7||F7F7||L-JL7|||LJ|FJL7FJ|FJLJJF-J|FJF7LJ|L-7|F----JLJF--7LJLJ|F--JFJ|LJF7-LJL----J7L-FJ7J -|-L-J.L|LJF||L7L7L-7L7FJFJF7LJ||F--JLL--------JL-J|LJLJLJL-7|L|||L77||JFJL7LJF---JF-JL7|L7FJF-J||F-7F7F-JF7L---7|L-7FJFJFFJ|F------7|F.|JLJ7 -L.LL7J-JFFFJ|-L7|F7L7|L7|FJL-7LJL--7L|F7F7JF--7F7FL7F-7F--7L-7LJL7L7||7L7FJ|-L7F-7L7F-J|FJL7L-7|LJ-LJ||F-JL----JL-7LJFJ-FJFJ|F--7F7|-J7F--J- -|-F-||7F--JFJF-JLJL7||F||L--7L7F7F7L7FJ||L7|F-J||F7LJJLJF7L--JF7||FJ||7FJL-7.LLJJL7|L--J|F-JF-J|F7F7FJ|L-7F------7|F7L-7|FJFJL7J||LJ|7FJ|.LJ -.JJ7LFLL7F7|JL--7F7LJL-JL-7-L7LJLJL-J|FJ|FJ|L--JLJL7F7F-JL----J|FJL7LJ-L7F-J7.LL-JLJF---JL7.L--J|LJ|L-JF7||F7F---JLJL7FJ||||F7L7|L7LL-J.JF|J -|--7|.L.LJ|L-7F7LJL---7F7FJF7L-------JL-JL-JF------J||L7F------JL-7|J|LL|L-7-|F--FF-JF--7FJF---7L-7|F7FJLJ||LJF7F---7LJFJL-J||FJL7|||||F.FFF -F.||-|7.F7L-7LJL7F7F7|LJ||-|L---7F7F7F7F---7L7F7F7LFJL-JL-----7J|.||L|7L|F7|-JJJ.LL--JF7LJLL--7L-7|||||F--JL7FJLJF--JF-JF-7FJLJJFJ|J77-7FL7J -LJ-FFJJ.||F7L--7LJ|||F--JL7L7F-7LJLJ|||L-7LL-J|LJL7|F--7F-----J-L7LJ7-|JLJ||.LJ|F|LFF7||F77F-7L-7||LJLJ|F--7LJF-7L---JF7L7|L--7-L7|-FL---L-J -7F-J|7.FJLJL-7FJF7LJLJF7F7L7LJFJF7F7LJ|F7L----JF-7LJL-7|L------7LFJ|.-JJLLLJ7L-7-F--JLJLJL-JFJF7|LJF--7|L-7|F7L7L-----J|FJL7F7L7.LJ7-7J|F|.L -.|L|F-7L----7|L-JL7F7FJLJL7L7FL7|LJL-7|||F7F-7FJFJF-7FJL--7F---JFL7-7.F--|-JJFL.LL--7F-----7L-JLJF-JFFJ|F-JLJ|FJ|F-7F7-LJF7LJL7L77J|J7-77|.| -L.|J|FJFF---J|F--7LJ|L7LF7L7|F7LJF7F7||||||L7|L7L7L7|L---7LJF--7F7J7FFJ7F7|J.|.|JLF7LJ7F7F7L7F7F7|F-7L-JL---7LJF7L7LJL--7|L--7|FJ-.F-JJFJF-J -|.7|L7JFJF7F7LJF7L--JFJFJL-J|||F-JLJLJ||||L7||FJFJFJ|F7F-JF7L-7LJ|J7FF-J7|L--L77F-JL---JLJL-J|LJLJL7L7F-----JJFJL-JF-7F7LJF--JLJL|7|.FF--J-| -J.LLJF7L-JLJL-7|L7F7FJFJF--7LJLJF--7F7LJLJ7LJ|L7L-J.LJ|L-7|L7FJF-J-7LJ-JL|L--77FL7F7F---7F7F7|F-7F7L7|L-----7FJF7F7|7LJL-7L---77F7LL-F7J7.F7 -L.|L-|L7F7JF--J|FJ||L7L7|F-JF7F-JF7LJL77F77F7L-JF--7F7L--JL7LJFJ||-L-J7.F-.|--7FFJ||L7F-J|||||L7LJL-J||F----J|FJLJLJF---7L----JF-7JLJLJ.FFLJ -JF|FLL7|||FJF-7|L7||FJLLJ|F7|||F-JL---JFJL-JL7F-JF7|||F77JF|F7L-77-F7L-FF.FF7.--|FJL-JL7FJ||||FL--7F7L-JF7F7||L----7|F--JF--7-F7-L-.7--7J7JJ -LL|FF7||||L7|FJL7|||L7F7FLJ||||L7F---7.|F----JL7FJ|||LJL7FFJ|L--J7-|J7LL-.LJ--..LJF----J|F||||F---J|L--7|LJL-JF----J|L---JF-JFJL77LFJ-||J|J7 -|LLFJLJLJL-J|L7FJ||L7||L---J||L7||F--JFJL----7FJL7LJL7F7L7L7L7F7F7J.FFFJL-JJ|LJ-L|L-7F7FJFJ|LJL----J-F7LJF----JF--7||F----J.FJF7L-7J.FF|-L-J -|7.L-7F--7F-JFJL7LJ-LJL-7F--J|FJLJL---JF7F7F-J|F-JF-7||L-J-L7||LJ|J-FJ|7F|..F7JJLLF-J|LJ7L-JF----7F7FJL--JF----JF7L-JL---7-FJFJ|F-J|LJ7LJJ.L -.FLLL||F-JL-7L-7L-7F-7F7LJF--J|F7F-----JLJLJF-JL-7L7|||LF7F-JLJF-JFF7JLL7|F-7J|||LL--JF-7F7.L-7F7LJLJF-7F-JF--7FJ|F7F7F-7L-JFJJLJ.|7|||.F-7| -F-.L.LJL7F7FJF-JF7|L7LJL7FJF--J|||F------7F7|F--7L-JLJL7|LJF7F-J|7L||F7JL77.LLF--J|LFLL7|||F-7LJL----JLLJF-JF7LJFJ|LJLJ|L-7FJ7.F7FF-F7|F-F|J -L|.|7|FFJ|||JL7FJ||-L--7|L-J.F7||LJF7F7F-J|||L-7L7F7F-7LJF7||L--77J|LJ|-F7F-FFLJ|-F-7F-JLJLJFJF7F7F---7F-JF-J|F7L-JF7F---7|L-7FJ|FF7|L7-7FJ7 -.|.-7-F|FJ|L77LJJ||F---JL----JLJL--JLJLJF7|||F-J.LJLJ7|F-JLJ|F-7L77L-7|.LLJF-77JFFL7|L-7F7F7L-JLJ|L--7|L--JF-J|L-7.|LJF7FJL--JL7L-JLJFJF7.J7 -L7.|-F-J|FJFJJ-LLLJL7F7F7F---------7F-7FJLJLJL---7F7F7LJF--7||FJFJF--JL7L|7|FJF7FF-JL-7LJLJL----7|LF7||F---JF7|F-JFJF-JLJF7|F7||F----JF|JF7| -.J-.L|F7||FJJ|7-|.J|LJLJLJF-----7F-JL7||F7F7F7F-7LJLJL--JF-J||L7|7L-7F-J-FFJ|FJL7L---7|7F7F77F--JL-JLJLJF7F7||||F7L7|F7LFJL7|L7||F-----77LL| --J.JJLJLJLJ7.|FFJ7-F------JF---7|L---JLJ|LJLJ|L7|F-----7FJF7LJLLJ-LFJL7J-FL7LJF-JF---JL-JLJ|FJF7F-7F----JLJLJLJLJ|FJLJL7L7FJ|FJ|||F-7F-J7.JJ -LFL7L||JL|.FJJ7J.7.L-------JF--JL------7L---7L7||L----7LJFJL7F7-|LFJF7L7F7FJF7|F-JF-------7|L-JLJFJ|F-----7F-7F--J|F--7L-JL-JL-JLJL7LJ|L--|. -F-L7.LJ7LJL|JL7FFJ7LLF7LF---JF7F7F----7L----JJLJL7F7F7L--JF-J||F-7L-J|FJ|||FJLJL--JF------JL----7L-JL----7LJFJL--7|L-7|F7F7F7F7F--7L7L7-LFL- -|.||.FF7.F-L-F7F7F-F-J|FJF--7|LJLJF--7L---7F-7LF7LJ||L7F--JF-J||FJF7FJL7|||L---7F7LL7F-7F7F---7FJFF-7F7F7L-7L7F-7LJF-J|||||||||L-7L-J.L7J.|7 -FJF|JF|JFL-J-|||L7-L-7LJFJF7LJF7F7L-7L----J|FJFJL7F|L7|L--7|F7||L-JLJF7LJLJF7F-J||7LLJFJ|||F-7||F7L7||LJL--JFJL7L--JF7LJLJLJ||L7FJF7J7||FF.- -|L-||-J7JL7LL|LJFJF77L7FJFJL--JLJL--JF7F---JL-JF7L7|FJL7F7|LJ||L-----JL7F--JLJ|FJL7J.FJFJLJL7LJLJL-JLJF7F--7|F7L----JL7F7F7JLJFJ|F||-J|-7J-J -FFLJ77.77-JJJ|F7L7||F7||FJF7F--------JLJF------JL-JLJF7LJ|L7FJ|F7F7F7F7||F---7FJF-JF7L-JF--7L7F7F7F-7FJLJF7||||F---7F7LJ||L--7L-JFJL7.|.J||| -L-77L-7|-J..-LJL7|||||LJL-JLJF----7F7F7FJF----77F--7L|L-7|FJL7||||LJ||LJLJF7FJL7|FL|L--7L-7|FJ|||||LLJFF-JLJLJ|L7F7|||F7LJF--JF--JF-J.|..FL7 -|L---|J.L.77-FF7|||LJ|FF7F-7FL7F-7LJ|||L-JF--7L7|F7|FJF-J||F7|||LJF-JL-7F-JLJF-JL7-L--7L--JLJFJLJLJF7F7L---7F7L-J||LJ|||F7L---JF-7L7F7--7.L| -F-J--JJ-L|L|-FJLJ|L-7|FJ||FJF7LJFJF7LJL-7FJF-JFJ||LJL7|F7LJ||||L7FJFF--JL-7F7L7F-JF-7-L7F---7|F7F7FJLJL77F-J|L7F-JL-7LJ||L7F7F-J|L-J||JL-7.| -J|.FJJL.LJ-J.L--7L--J|L7|||FJL77L-JL---7LJ7|F7L-JL7LFJLJL-7||||FJ|F7L-7F--J||FJL-7L7|F7LJF7FJ||LJLJF7F7L-JF7L7||F---JF7||7LJ|L------J|77L|-- -LF7FF7-7FF7L-J.LL7F-7L7|||||F7L-------7L--7LJL-7F-JFJF7F--J||||L7LJ|F7|L7F7|||F--JFJLJL7FJ|L-JL7F-7|||L7F-JL-JLJL---7||LJF7|L7F------JJ-F--7 -.L-7L7-L-||7|F7F-J|7L7LJLJ|LJL-7F7F7F7L7F7L77F-JL7FJFJLJF7FJ||L-JF-J|||FJ|||||L--7L---7|L7|F7F7LJFJ|LJ7LJF--7F------J||F-JL-7|L----7F|J-JFF| -FFLJJ|L|-F-7-||L7FJF7L---7L7F7LLJLJLJL7LJL7L7L-7FJL7L7F7|LJFJL-7FJ7FJLJ|||||||F-7|LF7FJL7|||||L7|L-JF----JF7|L-------JLJF-7FJ|F-7F7L-777L-FJ -F--J-L-F-JFJ-|L7|L7|L----JFJ||F7.F7F-7L--7L-JF7||F-JFJ|||F-JF-7|L-7L--7L7|LJ||L7LJFJ|L7FJ||||L7|F7F7L-----J|L7F7F-7F-7F7L7|L7|L7LJL7FJ.L-L-F -|-L|||F|F7L7.L7|L-JL-7F7F7L-JLJL-JLJL|F--JF7L||LJL7FJJ|LJ|F7|FJ|F-JF7-L7|L7FJL7L7FJFJ-||FJLJ||||||||F7FF---J-LJLJF|L7||L7||FJL7L-7L||LJ7F7J| -|.|L-7FLJ|FJF-J|F7LF7LJLJL---7F7F---7LJF7FJ|FJL7F-J|F7L-7||||L7|L-7|L-7|L7||FFJFJL7||FJLJF--JFJLJ||||L-JF--------7L-JLJ7|||L-7|F-J.LJ--F||LL -|-FJLF---JL-JF-J||FJ||F7F---7LJLJ7F-JF7||L7|L7FJL-7LJL-7|LJLJFJ|F-J|F-JL7||L7L7L7FJL7L7F-JF77L7F-J||L---JF-------JF-7F-7LJL--JLJJ.FJ-F-JLF-J -|-L.FL-7F-7F7L7L||L7|FJ|L7F7||F7F7L-7|LJL-JL7|L7F7L7F7FJ|F---JF|L7J||F7FJ||FJ-L7|L7FJFJL-7|L7FJL7FJ|F----JF7F7F7F7L7LJFJFF7F7F7|F----7JJLLJ. -|7|FF-L||JLJL7|FJ|FJ||FJFJ||L-JLJL7FJ|F-----J|FJ||FJ|LJFJL7F7F-JFJFJ||||FJ||F7FJ|FJL-JF--J|FJL7FJL7|L-----JLJ||LJL-JF7L--JLJLJL-7JJ-F|...JLF -J-7-|JFLJF7F7||L7|L7||L7L-JL-----7|L-J|F---7FJL7|LJFJF7|F-J||L-7L-JFJ|||L7||||L7||F--7L-7FJL--J|F7||F-7F7F7F-J|F----JL----7F----J-|.J-|..||. -J.L-LJ-LFJLJLJL7||FJ||FJF7F7F-7F7|L-7FJ|F--JL-7|L-7|-|||L7FJL7||F--JFJLJFJ|LJ|FJ|LJF7|F-JL--7F7|||||L7LJLJLJF7|L-77F77F7F7LJ-F7-F77FL7J-LJ-- -LF.|LJ|LL-----7|||L7|||FJLJ|L7LJLJF7LJ-|L-7F--JL-7|L-JLJFJL-7L-JL7F7|F--JF|F-JL7|F7|||L--7F7|||||LJ|7L7F-77FJLJF7L-JL-JLJL---JL7||JFJ|-|-|.J -F|--.JJLLF----JLJL-JLJ|L--7|-L7F-7|L7F7L7FJL--7F7LJF----JF-7L--7FJ|||L-77FJL-77||||||L7F-J||LJ|LJF-JF7LJFJFJF7FJ|F7F----7F7F7F7||L7LF7F||F-| -LJFL-|L7.L--7F-7F7F7F7|F7FJ|F7LJ-LJFJ|L7|L7F--J|L--JF---7L7|F7FJL7|LJF-JFJF--JFJ||||L7|L7FJ|F7L-7|F7|L7FL-JFJLJLLJLJJF-7LJLJLJ|LJFJ-.J7LL7L- -|.|J-7-J-F--J|FJ|LJLJ||||L7LJL-7F7FJ7L7||FJL--7|F7F7|F--J-||||L7FJL7FJF7L7|JF7L7||||FJ|FJL7|||F7|||||FJF7F7L7F--7F7F7|FJFF---7L-7||L-FL--|7J -LFJ.||..FL---JL7|F---JLJ||L---7||LJF7FJ||L-7F7|LJ||||L7F7FJ||L7|L7FJL7|L7|L7|L7||||||FJ|F7||||||||||||FJ||L7LJF-J|||LJL--JF--J-LLJJ7FFJ-FF-7 -FJFFF-F77LF---7LJL----7FJF7F--JLJF-JLJ-|L-7|||L7FJ|LJFJ|||FJL7||FJ|F-JL7|L7|L7LJ||LJ||F||||||LJ|||||||L7LJFJF7L--J||F-----J.F77F7|LF7F-7LJ|| -LF|7-L|L-7L--7L7F7F---JL-JLJF-7F7L-7F--JF-J|||FJL7L7FJFJ|||F-J||L7|L7F-J|FJ|FJF7||F-JL7LJ|||L7FJ|||||L7L-7L7||S7F7LJL-------JL-J|FFF-JFJ|-7| -LJJ|J|L7FJ-F7L7||||F7F7F---7|FJ||F7|L7F7L-7|||L7||FJL-J-LJ|L-7||FJ|FJ|F-JL7|L-J|||L7F-J|FJ|L7|L7|||||.L7FJFJ||||||F7F-7F--------JF7L7FJJ||LL -F|L|LF-JL--J|7||||LJLJLJF--J||FJ|||L7||L7FJ|||FJFJL----7F-JF-JLJL7||FJL-7FJ|F7FJ|L7||JF-JFJFJL7|||||L7.|L7L7|||||LJ|L7|L---------JL-J|--.||| --|JJFJF--7F7L-JLJL------JF7FJ||FJ||FJ||||L7|||L7L-7F7F7|L-7L--7F7LJ|L7F7LJFJ||L7L7||L7L7FJ7|F7|||||L7L7L7L7|||||L7FJFJL----------7F7FJFF7J77 -LJ.LL-JF-J||F7F-7F------7|LJFJ|L7|||||L7|FJ|||FJF-J|LJ||F7|F-7LJ|F-JFJ||F7|FJ|FJFJ|L7L7|L-7LJ|||||L7L7|FJFJ|||||FJL7L-----------7LJ|L--7J.77 -FF|7LF7L7FJLJ||FJ|F-----JL77L7|FJ|||FJFJ|L7||||FJF7L-7LJ|LJL7|F7||F7L-JLJ||L7|L7L-JFL7||F7L-7|||||FJFJ|L7|FJ|||LJF-JF-------7F-7L-7|F--JL|L- -FL|JFJL7LJ-F-J|L-JL7F7F7F7|F-J|L-J|||FJF|FJLJ||L7||F7|F7L-7FJLJ||LJL7F7F-JL-JL7L7FF--J|LJL7FJ||||||FL7L7||L7|||F7L-7L------7|L7L-7|LJ7-J7|.| -LFL7L-7L---JF7|F7F-J|||||LJL-7|F--J||L-7||F--J|FJ|LJLJ|L--JL--7|L7F-J|||F--7F7|FJFJF7FJLF7||FJ|||||F-JFJLJ-|||LJ|F-JF7F----JL7L7-LJJ.F-J|JF- -FJ|L|LL7F7F7||||LJF7|||||F---J|L--7|L7FJ|||F-7|L7L-7F-JF7F7F7FJ|FJL7FJ|LJF7LJ|LJ7|FJ|L-7||||L7|LJ|||F7L-7F-J||F-J|F7||L-----7L-J-JJ|-7|J|J|J -J7|LFJFJ|LJLJ||L7FJLJ||LJL-7F7L--7|L7|L7||||-|L7L7FJL-7|||||LJFJ|-FJL7L7FJ|F7L--7LJFJF7LJ||L7||F-J|LJL7FJL-7|LJF-J|||L7F7F-7L---7J.L7||7|-77 -FJJF77L7|F---J|FJL7F7||F---J||F7FJ|FJ|FJLJLJFJFJFJL7FFJ||||L-7L7L7|F7|FJL7|||F--JF7|FJL7FJ|FJLJL-7L-7FJL-7FJL-7L-7|||FJ||L7L----J77-J7|L|J.7 -F-FJL|-||L7F-7|L--J|LJ||F7F7|LJLJ-||JLJF7FF7|FJ||F7L7L7|||L7FJFJFJ||||L7FJLJ|L-7FJLJL-7|L7|L7F---JF-J|F7FJ|F7FJ|FJ||||FJL7L--7F77J|FFFJ7|7.| -L7JL|L-LJ7||FJ|F---JF7||||||L--7F7|L--7|L-JLJL-7LJ|FJFJ|LJL|L7L7L7||||FJL--7|F-JL-7F7FJL-J|FJL-7F7L-7LJLJFJ||L7FJFJ||LJ|-L7F7LJL7-F|--LJJLF- --|||.LLL7F||L-JL--7FJ||LJLJL7F7LJ||F7FJL7F-7F-7L-7LJFJFJJF-JFJ|L-JLJ|||F-7FJ|L7FF-J||L---7||LF-J||F7L7F7-|FJL-JL7L7|L--7F-J|L7F-J-|LJ.LJ7.|| -LL7L-J|-7-LJ|-F---J|FJL--7F-J||F7||||L7FJ|.||FJF-JF-JFJF-JF7L----7F-J||L7|L7L7L7L7FJL7F7FJLJFJF7|||L7LJL7|L--7F-JFJL-7FJL-7|FJ|JJ.L-7|J.7-F| -.|LFL7JF-JL|7FL----JL7F--JL7FJLJ||LJ|FJL7|FJ||FJF-JF7L7L-7||F7F7FJL-7|L-J|FJFJFJFJ|F-J|||F7J|FJ|||L7L7F-JL7F7|L-7|F7L||J7FLJ|FJ--|7LFJ.J|FJJ -FF77-J7FJFL7-L.F-----J|F7F-JL7F7|L7FJ|7FJ|L7||L7L7FJL7|F-J|||||||F--J|-F7LJFJFJJ|FJ|F7||LJL7LJFJ|L7|FJL-7FJ||L7FJLJL7||FL|.LLJJ-J|F7L|FJ7JL7 -|JFJ-F7JFFF7.LLL--7F-7|||L7F7LJ||FJL7L7L7|FJ|L7|FJ|F-J||F7|||LJ||L7F7L7|L-7L7L-7||FJ||||F-7L-7|FJLLJ|F--JL7||FJ|F7F7|||JJL7|L-|-77L77|7-F7.| -7-L7.FFJL-|L-FLLJ|||-LJ|L-J|L7FJLJFLL7|LLJL7|FJ|L7||F7||||||L-7||FJ|L7LJF7L7|F7||||FJ||LJ7|F-JLJ-LF-JL777||||L7||||LJLJJ7-LLJF7LJL|J7LF-|7.7 -|.JJF|J.L-JJF-7..FLJ77FJF7FJL|L--777.|L7JL-LJL7L7LJLJ||LJ|||F-J||L7||L7FJ|FJ||||LJ||FJL7-FJL-7.L--L7F-JJ-FJ|L7|||LJJL|.LF7.F|J|7J.J7|JL-F-JJ -|7|F7J-F--7-JL|--|JJF-JFJ||F-JF--J||-|FJ.J7J.FL-JF-7FJL-7|||L-7||FLJF-JL7|||||||F7||L7FJFJF-7L7-7LL||LF|||FJ-LJ|L7JFF7J.LJ-|7-F-.7J7..F7LF77 -LJ|.LJF-7.J7.|||F|-FL-7L7||L-7L-7JFLFLJJ7F|7F|FF7L7LJF7FJLJ|F7|LJF--JF7FJLJFJ||LJ|||-||FJFJ-|FJ.|77LJ7-F-LJL-.LL-JFJ.|JL.|7LJ.JL-LJ|F.F7JL7J -L7|7.FL.F7LF-LJJJ|..L-L-J|L7FJF-JF77.L|JFJ.FF--J|FJF7||L--7LJ|L7LL-7FJ|L--7L7||F-JLJJLJL7||L||7.LF-JFLLF7.LLJ-7L7LJ-L7-7F-77|FJ.LJ7|.7||F-F. -F7J|-LLJF-7L-||7F7-7F-JFLL-JL7L--J|7|-|LFLJ-L--7LJFJ||L--7L-7|FJF--J|FJF7FJJ|||L77-LFL-LLJJ-LJJ77.FL|.F77F||LL7LJ7J|F|JL--J-F7--7FJ.L|F-7FJ7 -FL7|L|.F7JF-.LFL|LJFL|-FJJ|LLL7F-7L-7|LF77||LL-|F7|FJL7F7|F-J||F|F-7||FJ||JL||L7L7J7|L.L|7.L||LFFJ7-777||LJF7|LJF--7---F|7L7LJ7|LJ-F.LL7J7L| -L.F|-L--F-|JFF7F|--7.L--..J.LFJL7L-7|7FJJL|-7J.LJ||L7FJ|LJ|F-JL7LJFJ|||FJ|JFLJJ|FJ-J7FF---|F77.FJFL.LF-LJ-LFJL-7-7FF7J7|L-.LJLF--|.-.|JL7F7L -.-J|||FFJ-JFFJ.LJLL-JFL|LFJ7J|F7L7LLJFJJJ-|.7.-7FJ|FJ|-L7FJL7F7L-7|FJ|||FJ.7||LLJJJJ|L7LLJL-JJ.JFJ7J.L|7J.FL|.7J.F7LJ.JL777.|F.LFLJJF-7F|LLJ -7F-L|-7L|JLF|7JF|.F|.L7FJJ.FFLJ|FJFJ.LJ.7|F-J-JFL7|L7L7L||F-J|L7FJ||-||LJJ..77|-J-.-FLJ7F-7F|7||7-L.FJLJF7J.J.LJ|L|7J-|F.F-FLJ||.|J.7.F-L.|| -||7JL-JJL7.F.-.FLF-|-7L7J||-|J-LJ-L-F.|FJ-|-|LLJ.LJJL-J-LJ|F-JFJ|F|||LJ-LJ--JLF-FF7L|J|7|F|LFJL7|F|-|-F-JJ..|.|..FL-.L-.FF--7L|-F7.L|.-J7LL7 -7.77.FL-JJFFJ7.77JLL.F7L7FF7-7.LJ.FF77F-J||.||.F|J7F||JFJLLJ-LL7L7LJ-L.FJ77.|.JLLL-JJF--|F|-L-FF7LJ.|||LLF-77-L7--7LFF-7.|L7|-----7.J-FF7|-| -.LLLF|F77F-JLF7-J-|LF.F-F|J|L7-JJ-J-J-7-7-7|JJ-|7-J-LF7L|-J|7|FL-JLJJ|7FJF7LJ.L-7.L7-L|FJJJ-|7|L|-J-J-77LL.F-7-|7LF.7JL-F7|-|LJ..F|7-F7LF7FF -FJ|L7JLJ-L...L|J..J7L7|FJL7--7|..||||FL--7L7.L-||.JJFJJ|F-LJ7|JJ||LF7L7JJ|L|.|.LFJLL7.-|JJ|FF-|||FL-JFJ|F7-|-J--|7LFJ77F|JL7L7LF-|FJ7J|.|FJ- -J.FJ|LLJLL-|-.LL-L-|LJ-LL-L-JLL-.-JJL7-7J|LJJ7.-|JJ--L-J.FLJ-|L7--.-J-L--JLLFJL-FJ.|J.LJJLLLJ-J-L7-LL7JL-|JLJ-LLLJ-LJ|JFF7J..-7J-LJ..7.FFJJJ \ No newline at end of file diff --git a/aoc2023/src/day11/input.txt b/aoc2023/src/day11/input.txt deleted file mode 100644 index c86cc92..0000000 --- a/aoc2023/src/day11/input.txt +++ /dev/null @@ -1,140 +0,0 @@ -..............#..........................#.....................#.....#...................#..................................#............... -.............................#.........................................................................................#..........#......... -#......................#.................................................#.....................#...........#................................ -......#..............................#........................................#............................................................. -................................#...........#.........#.............................................................#.....#..........#...... -..................#...................................................#...................#................................................. -............................#............................................................................................................... -........#.....#...............................................................................#...............#............................. -#...................................#.....#.........................................#.....................................................#. -..........................................................................#........................#..............#........#........#....... -.....#.....#.............#.......................#.......................................................................................... -..............................#.............................#....................#......#................................................... -............................................................................................................................................ -.......................................#....................................#........................................#...................... -.......#................................................#..............#............................#....................................... -................#.................................................#.........................................#............................... -.....................#.........................#.....................................#...................................................... -...............................................................................................#..................................#......... -.#......................................................................................................................#................... -........#................................................................................................................................... -...............................#...........#.............#...............................#...........#...................................#.. -.............#.....#.............................................#.....#......................................#............................. -............................................................................................................................................ -.......................#...........#.................#..............................#....................................#.................. -...............................................................................#.....................................................#...... -..#......#.............................#............................#..................................#........................#........... -.............................#..........................#......#...........#................................................................ -....................#.........................#..................................................#.......................................... -......#............................................................................................................#........................ -...........................................................................................................#................#............... -#..............#...................#.............................................#........................................................#. -.........................................#.........................................................#........................................ -.....................#............................................#.....................#................................................... -.................................................#......#................................................................................... -.........................................................................................................#..............#.......#........... -...............................#..................................................................................#...................#..... -..........................#.........................#...........#..............#..........#..................#.............................. -..........................................#.............................#................................................................... -............#......#................................................................................#....................................... -................................................................................................................#.....#....................# -...#.........................#................#...............................................................................#............. -......................#..................................#.............................#...................#................................ -.......................................................................#.....#.................#............................................ -.......#..................#.........................#....................................................................................#.. -..........................................................................................#....................#............................ -........................................#........................#.....................................................#.................... -...................#.....................................................#.......#.............................................#............ -..............................#.................#........................................................................................... -..#..................................................#......#................#.............................................#.........#.....# -...........#..................................................................................#.....................#....................... -.....................................................................................................#...........................#.......... -................#......................#........................................................................#........................... -............................................................................................................................................ -.......#..............#............#............................#......#................#.....................................#............. -............................................#........#.........................................#............................................ -..............................#..............................................................................#.......................#...... -............................................................................................................................................ -....................#............................................................#..............................................#........... -......................................#..............................................................#...................................#.. -..........#.....................#.......................................#..............#.................................................... -............................................................................................................................................ -....#.....................#..................#......#.......#.................#...........................................#................. -....................................#.........................................................#....................#.............#.......... -....................................................................................................#....................................... -.................................................................#........................................#................................. -..................#...................................................................................................#..................... -.........................................................................#......................#........................................... -#......................................................#...........................#............................#.........#................. -...........................#............#..........................................................................................#........ -..................................................................#......................#.................................................. -................#................................#...........................#.............................................................. -........#.....................................................................................................................#............. -...................................#........................................................................................................ -.......................#.....#................................................................................#............................. -.#...........#...........................................#.................#....................#........................................... -..........................................................................................#............#................#................... -..........................#..........#...................................................................................................... -.....#...............................................................................#.....................#.....................#.......... -............................................................................................................................................ -..........#............#................................#.....................#..................................#.......................... -...............#...................#.........................#....................................#..................................#...... -............................................................................................................................................ -...........................................................................................................................................# -...#.....................................................................................................#.................................. -......................#.............................#..........................#..............................#............................. -..........................................#...................#..........#..........................#...............#....................... -..............................#.....................................................................................................#....... -.........................................................#................................#................................................. -...............................................#............................................................................................ -..........#...........................#..............#..........................#.........................#...................#............. -#.....................................................................................#..................................................... -.....#............................................................#..........................#.................#............................ -...........................#.......#..............#.................................................................#....................... -.......................................................................................................#.................................... -........#..........#.....................#..................#......................#......................................#...............#. -.............#.........................................................#.................................................................... -................................................................#........................................................................... -.....#.................#.................................................................#......................#.....#..........#.......... -................................#......#.............#.........................................#.....#...................................... -...........................................................................#.........................................................#...... -..........#................#................................................................................................................ -.................................................#..............................#..........................................#................ -.....................................................................................#.................#.........#.......................... -.......................................................................#....................................#............................#.. -...............#......#....................................#................................................................................ -.........#...............................#..........#..........................................................................#............ -...............................................................#.................#.........#.....#......................#................... -............................#.....#......................................................................................................... -......#..........................................#.......#...........................................................................#...... -..............#...................................................#........................................#......#......................... -.............................................................................#.............................................................. -.....................................#................................#................................................#.................... -..........#..................#..............................#.............................#................................................. -....#.....................................................................#......#............................................#............. -......................#.................................#..............................................#.................................... -.............#.............................................................................................................................. -..........................................#......#...............................................#..........#............................... -.........................#......#.......................................................#...............................................#... -...........................................................#.................................#...................#.......................... -...#...............#..................#..............#....................#...........................................#..................... -.....................................................................#...........#..........................................#......#........ -..............................#...............#.................................................#......#.................................... -........#.....#............................................................................................................................. -#........................................................#.............................#.......................................#.......#.... -....................#..................................................#.................................................................... -..........................................#......................#.......................................................................... -.........................#...........................#.............................................#............#.........#................. -.....................................................................................................................#..............#....... -..........#...................................#............................................................#..................#............. -.....#..........#...................#........................................#.............................................................. -.....................................................................#.........................#.......#.................................... -......................#......#.............................................................................................................. -.#......#................................................................................................................................... -.................................#....................................................#...........#......................#...............#.. -.................#..................................#.........#.........#...........................................................#....... -..............................................#..................................#.......................................................... -...........................#..........................................................................#.........#........................... -..........................................#................................................................................................. -.....................................#...........#..................#.........................................................#............. -..................#....................................#.............................#...........#........#.............#................... \ No newline at end of file diff --git a/aoc2023/src/day13/input.txt b/aoc2023/src/day13/input.txt deleted file mode 100644 index 3113249..0000000 --- a/aoc2023/src/day13/input.txt +++ /dev/null @@ -1,1379 +0,0 @@ -##..#..#......# -.........#..#.. -.####.#.######. -#....#.###..### -..##..#.#.##.#. -######...#..#.. -#.##.#.#.#..#.# -#....#..######. -.#..#...#.##.#. -#....#....##... -.#..#.#..####.. -......#.######. -##..##.#.####.# - -.#...##.. -..##.#.## -.#.###... -###..#.## -##.#.#### -..#.#..## -.###...## -.#...#.## -#####.#.. -...#..### -###.##.## -####...## -####..### -###.##.## -...#..### - -#####...####.#. -##..###..#..#.# -...#.###.....#. -...#.###.....#. -##..###..#..#.# -#####...####.#. -##....####..... -#..##.....#..#. -#..##.....#..#. -##....####..... -#####...######. -##..###..#..#.# -...#.###.....#. - -#..##...# -#..#..### -#..#..### -#..##...# -.##..#.#. -.....###. -#..#.##.# -...#..### -.##.#..## -.##.#.#.# -#####.#.. - -######.#.#.#... -.#..#.#.##...#. -...#....#.#.#.. -#.##.#.#.....#. -.......##.#.### -#######.##.#..# -......##...##.. -#.##.#....#.#.. -#.##.#....#.#.. - -#...#..##.. -.##..###### -....###..## -.#..#..##.. -.####.####. -###.##....# -.#..##...## -###.#..##.. -#.#.#...... -.####...... -....#.####. -..##..#..#. -..#.#.####. -..#.#.####. -..##..#..#. - -#...#.#.##.#.#... -###.#..#..#..#.## -#...##.####.##... -#.....#.##.#..... -...#####..#####.. -##..#.######.#..# -###.##.#..#.##.## -...#..#.##.#..#.. -....#........#... -#..##.#.##.#.##.. -#................ - -...##.###.# -...##.###.# -##..#....#. -##.....#.## -#.##..#.#.# -..##...#.#. -...#####..# - -.##.##.#.##.. -#..#.#.#..... -####.###..#.# -####.####.### -#..#.#####.## -#..#.#....### -#..#.#....### -#..#.#####.## -####.####.### -####..##..#.# -#..#.#.#..... -.##.##.#.##.. -.....##.#.#.. -####..#.#.##. -#####.#...### -#####.#...#.. -#..#...####.# - -#..#.#...#...##.. -...#...#..#..##.. -#..####.#.#.####. -..#####..#.##..## -..#...####.##...# -.#.#########....# -.#.#########....# - -#..#...#.#.#...#. -#.####...###.#.#. -#.....##...##.#.# -##.##....#....#.. -#.....##....#.... -..##.##.#...#..#. -..##.##.#...#..#. -#.....##....#.... -##.##....#....#.. -#.....##...##.#.# -#.####...###.#.#. -#..#...#.###...#. -......#.#..##.... -......#.#..##.... -#..#...#.###...#. -#.####...###.#.#. -#.....##...##.#.# - -....#.. -#.##... -#.###.. -#...##. -.##..## -.##..## -#...##. -#.###.. -#.##... - -##.##.#.. -..#..#..# -...#####. -..#....## -##.##.##. -##.##.##. -..#...### -...#####. -..#..#..# - -...####.....##### -.#......#.####..# -.#########.##.... -####..#####.##### -..######..#...##. -#.##..##.#....##. -....##....##..... -#........#.#..... -....##.....#..... -...#..#.......##. -#.######.##...... -.##....##.###.##. -...####...#..#..# - -.#...###..###...# -##..##.#....##..# -.#.#.########.#.# -.######.##.###### -.##.#...##...#.## -.#...########...# -.#.#...#..#...#.# -#..#....##....#.. -#..####.##.####.. -#.##..##..##..##. -..#...#.##.#...#. -#..#..........#.. -#..#..........#.. - -....#..###....# -#..#..#..#....# -#..##.....####. -.##..#..#..##.. -####.###..####. -###.#.##.#.##.# -.##..#..##....# -#####.###..##.. -####..#...#..#. -#..#....#..##.. -#..####..##..## -......#.##.##.# -.##...######### -.........#.##.# -.##..######..## -#..####..#....# -.##.####..#..#. - -#..#.##...#.##. -###.##.##.#...# -##.########.#.# -.#.#.##.#...### -.#.#....####... -.#.#....####... -.#.#.##.#...### -##.########.#.# -###.#..##.#...# -#..#.##...#.##. -#..#.##...#.##. - -.##..####..##.. -####..##..##### -.#.#.####.#.#.. -..##..##..##... -#....#####...## -####.#..#.##### -##..........### -#.#.#....#.#.## -#...##..##...## -.##.##..##.##.. -..##..##..##... -....#.##.#..... -###.######.#### - -########..#.##.#. -######..######.## -#.##.#.#.###.###. -#....#.#.####.### -#....##..#..###.. -......##.##..###. -..##..#..#.###..# -..##..#.#.##...#. -##..######..##..# -##..######...#..# -..##..#.#.##...#. -..##..#..#.###..# -......##.##..###. -#....##..#..###.. -#....#.#.####.### -#.##.#.#.###.###. -######..######.## - -#.####..##..# -#.#.#........ -.#.###...#..# -#...#..##.... -...#.#.###..# -#..####.#.... -#####.#..#..# -.##..####.... -.....#...#..# -##.#...#.#### -.....###..... -###..##.#.... -.#..##.#.#### -#...#..#..##. -##...#....... -.#...#....... -#...#..#..##. - -...#..##. -..#.#.#.# -######.## -#####.### -..####... -######..# -######..# -..####... -#####.### -######.## -..#.#.#.# -...#..##. -#..###.## -####..##. -...#.#..# -...###.#. -..##.##.# - -.####.....#.# -........#.### -##..##...##.# -..##...####.. -..##...####.. -##..##...##.# -........#.### -.####.....#.# -######.##.#.. -.#..#.####.#. -##..####.##.# -#.##.##..#... -##..########. -##..##.##.#.# -.####....#.#. -.....#.#.#.#. -.#..#....#.## - -#..########..## -#............## -#.##########.## -.#.#.####.#.#.. -##.#......#.### -.#.###..#.#.#.. -###.######.#### -#.##.####.##.## -##.##....##.### -#.#.#.##.#.#.## -#.##......##.## - -.#......#..####.# -#.#.#####.#.###.. -##..##.#..#...##. -.##.#..###...#..# -.##.#..###...#..# -##..##.#..#...##. -#.#.#####.#.###.. -.#......#..####.# -#..##.#.##..#.#.. -#..##.#.##..#.#.. -.#.....##..####.# -#.#.#####.#.###.. -##..##.#..#...##. - -.#....#......#. -..#.##.######.# -...#.#..#..#..# -##..#.###..#.#. -##............. -##..#.########. -..#.##..####..# -..#.##..####..# -##..#.########. -##............. -##..#.###..#.#. - -####.## -###..## -#.##### -##..#.. -#...... -####.## -#.#.... -..###.. -..##### -#.#.... -####.## -#...... -##..#.. -#.##### -###..## -####.## -#####.. - -###.##..... -##.##..#..# -##.##.....# -###.##..... -#####...#.. -..######### -########.## -##.###...## -..#..#..#.# -..##...##.. -...####.#.# - -#.##...#....# -##....##....# -##..##..#..#. -##..##..#..#. -##.....#....# -#.##...#....# -.##.....####. -#####..#.##.# -#.####.#.##.# -.#.##.#.#..#. -#...#.#..##.. -###..##.####. -.#####....... - -#..##.# -#.###.. -#.###.. -#..##.# -.##.##. -...#... -#..###. -#..##.. -#..#..# -#..#..# -#..##.. -#..###. -.#.#... - -.###.## -.##.### -##..... -##..#.. -.##.### -.###.## -#...### - -..##..#.##. -.#..#.....# -.#..#.##.#. -######.#### -..##....... -..##....... -######.#### -.#..#.##.#. -.#..#.....# -..##..#.##. -#........#. -########..# -##..##..##. - -..######.....#... -...........##.##. -.#.####.#....#### -.#..##..#.####..# -####..#####...... -###########.#.##. -.#..##..#..###..# -###.##.###...#### -#..####..##.##### - -###.#####..##.. -...........##.. -.#.##...#..##.. -.#...##.##....# -.....#.###.##.# -..#####..#....# -##..###..##..## -####.##...#..#. -.#.##..##.#..#. -.####...##.##.# -...#.##..###### -..#..##..###### -..#..###..####. -..#..###..####. -..#..##..###### -.#.#.##..###### -.####...##.##.# - -..##.##..#..... -..##.##..#..... -.##...##.##...# -.....##..##.##. -#####.####..##. -.#......#.##..# -....##..###.##. - -#..#### -##.##.. -..#.#.. -..#.#.# -..#...# -.....#. -.#.#... -.#.#... -.....#. -..#...# -..#.#.# - -#.###.# -#####.# -.##..#. -.##..#. -#####.# -#.###.# -...#### -.#.##.# -......# - -#.##..##.####.# -..######..##..# -###....###..### -...####...##... -#........####.. -###.######..### -##.####.##..##. -##..##..######. -.#......#.##.#. -#.#....#.####.# -##......######. -..#....#..##..# -###.##.######## -.#......#.##.#. -.#......#....#. - -.##........#. -...#.##.##..# -.#..###..#### -...#.....#### -.#....##..### -#..#...#.#... -#.#...#.##.#. -#.#...#.##.#. -#..#...#.#... -##....##..### -...#.....#### -.#..###..#### -...#.##.##..# -.##........#. -.##........#. -...#.##.##..# -.#..###..#### - -....##....### -.########.... -##.#..#..#### -#...##...##.. -#........#.## -###.##.####.. -..##..##..### -..#....#..... -#..####..#### -##.####.##.## -##..##..##.## - -########.#.#.##.# -###..####.##....# -##....##...##..## -#......#.######## -#.####.##.##.##.# -#......##.#.#.... -#......##....##.. -.######.##....... -##....####.#.##.# -#..##..#.###....# -...##...#....##.. -.######....###### -##.##.##.#...##.. -#..##..#.#.##..## -.#....#.##...##.. - -###.#...####...#. -#..#.##..##..##.# -.##...##....##... -#####......#...## -#####......#...## -.##...##....##... -#..#.##..##..##.# - -####..#.##.#. -.#..##.####.# -#..#.#.####.# -#..#.#.####.# -.#..##.####.# -####..#.##.#. -.###.#.####.# -##....#...... -####.#..##..# -##..#...##... -...##.#....#. -##.########## -###.####..### - -#..######..#... -.###....###..## -.#.####.#.#..## -.###.##.###..## -..###..###..### -.#...##...#..## -###.#..#.###... -#.#.#..#.#.##.. -#..######..##.. -...#.##.#...### -..#......#..... - -......##.#. -##.#..#.... -##.#..#.... -......##.#. -#.#.#.##.#. -..#.#.###.# -#####..##.. -##.###.#..# -..#.##...#. - -##......###.### -##......###.### -#.##..##.##..#. -.##....##.###.# -..........#.#.# -..######...#..# -##.####.##...#. -..#....#..##..# -.###..###..##.# -.#......#.##.#. -.#......#.##..# -.#.####.#..#..# -###.##.######.. -##..##..#.#.... -.##.##.##...##. - -.#....#.#..#. -...##....##.. -##.##.##....# -#.#..#.#.##.# -.######..##.. -###..####..## -##.##.###..## -..#..#..#..#. -.#.####.#..#. -.#....#...... -#..##..##..## -.#....#..##.. -###..###....# - -##.##.##.###....# -.######.####....# -#......##.##.#..# -..#..#..##.##..## -.#....#..#.#.##.# -#..##..#..####### -..#..#...##.#..#. -...##.....####### -#.####.#.#.##..## -##....#######..## -.######..##.#..#. -.##..##..#..#..#. -###..####...#..#. -.#.##.#..#.#....# -.######.#.###..## -.........####..## -##.##.##......... - -....##.##.#.#..## -####.##.###.####. -#..##..#.####..## -.##....##.#.##.## -#..#...#.#.##.... -.##......##..#.## -#..#.##...#.#.#.. - -....##.## -....##.## -....#.... -..###.#.. -##.#.#### -....#.#.. -..#...... -###....#. -#...#.#.# - -.....##...###.#.# -.##.#.##.....#... -.##.#.##.....#... -.....##...###.#.# -#.######...###... -..#.#....#.##.#.# -##########.#..#.# -..#..#....###..#. -...##.#.##..###.. -#####.#.......##. -..#..#.#.#...##.# -..#..#.#.#...##.# -#####.#...#...##. -...##.#.##..###.. -..#..#....###..#. - -.#.##.#.....#.... -#.#..#.#.#.##.#.# -###..####......## -#.####.#..#..#..# -..#..#..###..###. -..####.....##.... -##....####....### - -##..#.##......# -..#.##.#.##.### -#..#......#.### -.##.##.#.....#. -#.#..##.##.##.# -#.#..##.##.##.# -.##.##.#.....#. -#..#......#.### -#.#.##.#.##.### -##..#.##......# -#....###.##.#.. -#....###.##.#.. -##..#.##......# -#.#.##.#.##.### -#..#......#.### - -..##.#...#.## -.#.##.#..#... -#..##..##..## -#......###... -...........## -.#.##.#.###.. -#.#..#.###... -.#.##.#.##.## -##....##.#### -.#.##.#....## -##.##.##..#.. -#.####.#.#### -#.####.#.#.## -.#....#.##.## -..#..#..##.## -#..##..##.... -#......#.#.## - -..#..###..... -.##.#.#...#.# -..######.#.#. -...#####.#.#. -.##.#.#...#.# -..#..###..... -#..#######... -.#..#.#...... -..####.#..#.. -...#..##.#### -.####.......# -#...#.##..#.# -...####.##.## -...####.##.## -#...#.##..#.# - -...###. -.#..### -.#..### -...###. -..#.#.. -.###..# -..#.#.# -.#.#.#. -.###..# -.###..# -.#.#.#. -#.#.#.# -.###..# -..#.#.. -...###. - -..######..... -##########..# -...####...... -#.######.#..# -#..#..#..#..# -#.##.###.#..# -##..##..##..# -##.####.##..# -##.####.##### -#.#.##.#.#..# -.#..##..#.##. -#...##...#### -..######..... -##.####.##..# -..........##. - -##.##.###.#...... -#..##..#.#..####. -#......###.#....# -#########.##....# -...##.....####### -#..##..#..#...... -#......####.#..#. -#..##..#..#...... -.##..##.#..#.##.# -..#..#...#.##..## -...##....#####.## -##########.#....# -##.##.#####..##.. -#.####.######..## -###..#######.##.# -#......#..#.#..#. -..#..#......####. - -.#..##.##..###. -.#.###.##..###. -#...#...#####.. -...##.####...## -....#.#####.#.# -##.#..#.###.#.. -.#.##.####..##. -##.#...##.##.#. -....######.#### -....#.#.##..### -..##...#......# -#####...####.## -#####...####.## -..##...#......# -....#.#.##..### -....######.#### -##.#...##.##.#. - -#..##.### -.##.....# -.##.##..# -###..#### -#####.#.# -......#.# -#..##.#.. -#..##.#.. -......#.# -#####.#.# -###..#### -.##.##..# -.##.....# -#..##.### -#..###### - -..#.#.#..#.#. -..#.#.#..#.#. -#...#.#..#.#. -.###.#..#..#. -.#.#..#.#.#.. -#.....#...### -##.##.#####.. -##.##.#####.. -#.....#...### -.#.##.#.#.#.. -.###.#..#..#. - -####...#.#. -####...#.#. -#..#..#..## -.....#..### -#..#.#..### -.........#. -.....###.## -######.#... -#..##.###.# -.........#. -..#..#.#.#. -#######.##. -####.#..#.# - -#..###. -#..###. -.....## -##.#... -#.#.#.. -.###.#. -#.##.## -##..##. -..###.# -...###. -.#.###. - -############...## -##..####..##.#... -##..####..##.##.. -.####..####..#.## -..##....##..##.#. -.####..####.#..#. -..............##. -#..........#.##.# -##############.#. -.#..#..#..#.#.#.# -............#.#.# -..##....##..###.. -#....##....#.###. -##############.## -.#..#..#..#.#...# - -.##......#.#### -....###..###.## -.....######.... -....#..##.##... -######....#.### -#..###.##....#. -########.#.###. -#..#####.#..### -.##..#...####.. -.##....##..#### -#...##.##.###.. -.##...#..###### -#..#.#.#.#.#... -.##...#..#....# -.##...#..#....# - -##.#.##.#.### -.#.##..##.#.# -#.#..##..#.#. -###.#..#####. -#.#.#..#.#.#. -##.######.### -#.##....##.#. -#.##....##.#. -##.######.### - -###..#####.## -###..#####.## -.....###..### -...##..###... -##.#.##.##.## -..##.....#.## -#.###........ -#...##...##.# -#.####.##.#.. -#.#..###.#### -.#.#.#####... -#.##.##.##... -####...####.. -#####....#### -.#.##.##.#... -.##.##..##... -.#.#...##.#.. - -.###..### -.#.#....# -.#..##..# -.#......# -...#..#.. -##..##..# -####..### -##.#..#.# -#.##..##. -#.##..##. -##.#..#.# -####..### -##..##..# - -###...#.... -...##.#.#.# -..######### -..##....#.# -..#######.# -..#....##.. -..#....###. -..#######.# -..##....#.# - -####......#...### -#.#..#..##..#..#. -##.##..####..##.# -..###...##...###. -.######....###### -..#####....#####. -#.###...##...###. -.#......##......# -...#..######..#.. -...#..######..#.. -.#......##......# - -...#..#.### -##.####.... -...##..#### -###...#.... -..#..#...## -##..#.##... -...##...##. -.......#### -####..###.# -.....#.#..# -##....#.... -#######.### -##.####.### - -#.#..#... -..##..#.. -..##..#.. -#.#..#... -.####.... -##..#.### -...##.... -...#...## -..#..#### -.#.##...# -....#.... - -..#####.....##. -#.##..#....##.. -........####..# -......#.###..## -....###....##.# -....###....##.# -......#.###..## -........####..# -#.##..#....##.. -..#####.....##. -.##.#..#.#.#.## -.##.#....#.#.## -..#####.....##. - -.#.#.#.## -.#.###.## -.##...#.. -##.##.##. -##.#..#.. -..#..#.#. -##.#.#.## -##.#.#.## -..#..#.#. - -..#.##### -##...#..# -##.###..# -######..# -##...#..# -..#.##### -.#.#..... -#.....##. -...#.#### -####.#### -##....... -#..#.#..# -...##.##. -#.#.##..# -###...... -....##### -..##..##. - -...##...# -...###### -...##.... -###..#.## -##.#.#.## -.#...#.#. -..#.#.### -.....##.. -###.#.... -##.#.#.#. -##.#.#.#. - -....#.....#.. -#..##.#....#. -##........... -..##.##...##. -.###..#..###. -##.########.# -##..###....## -###.##..#.##. -###.##..#.##. -##..###....## -##.########.# -.###.....###. -..##.##...##. -##........... -#..##.#....#. -....#.....#.. -....#.....#.. - -..##.#.#. -#####.#.. -#...####. -##.###... -##....#.# -##.#.#... -...#####. -##..#...# -.....###. -###..##.# -###.#.### -###.#.### -###..##.# - -..#.### -.....#. -..#...# -..#..## -####.## -###.#.# -###.#.. -####.## -..#..## -..#...# -.....#. - -.###.#.#.##.#.. -#.####..##..#.# -#.####..##..#.# -.###.#.#.#..#.. -....#...#..##.# -..####.##.#...# -##..#.#..#..##. -###..#...#..... -###..#...#..... - -#...#.....##. -#.###.#..#### -..###.######. -.#..####..##. -.#..####..##. -..###.######. -#.###.#..#### -#.........##. -.##.##.###... -#.##..#####.. -##..######..# -###.#...#.... -.#.#.######## -###......###. -....######.#. -.###.##.##.#. -.###.##.##.#. - -#..#..#....#..# -..###.#.##.#.## -##.###......### -##...########.. -.....#......... -#...###....###. -#...###....###. - -.#..#....#..#.. -#....#..#####.. -.####.###..##.. -#....#####.##.. -..##.......#.## -.......#.##..## -##..###..###... -.###....#.#.#.. -.#..#...##..... -#....#..##.#### -##..###.####.## -..##..#...#.#.. -.........#..### - -.####.. -#...#.# -..##..# -#..###. -#..###. -#.##..# -#...#.# -.####.. -..##.## -..##... -#....#. -#.#..#. -#.#..#. - -#####...#..## -#.###...#..## -.#####.#.#... -.##.##..##### -....##.###... -..#.#.###.### -.##....##..## -##..#.###.### -##...###.#... -.#.##.#.#..## -.#.#...#.#### -#....#...#... -...##..##..## - -.....#.#..... -....##....... -#..#.#.##.... -#####.##..... -#....####.##. -#..####...##. -#..###.#..##. -....##..##### -#####.###.... -....#.###.... -####.#...#..# -#######...... -....#.##.#### -.##....#.#..# -....###.##..# - -##.####......##.# -....#.###.#...##. -....#.###.#...##. -##.####......##.# -.##..#.##...#.### -.#.#.#...#...#... -#.##.#..##.#.#.#. -#.##.#.###.#.#.#. -.#.#.#...#...#... - -#####..####..#### -...###..##..###.. -..##..........##. -##.#..##..##..#.# -##....#.##.#....# -##.#.#..###.#.#.# -..#.###....###.#. -..##..........##. -..###...##...###. -....#.##..##.#... -.....#......#.... - -.####..#..#..## -..##...#..#.... -......###...### -......##.##..#. -#....#.#.#.#... -######.###...## -.####.#.#..##.# -.......#.#..#.. -.......#.#..#.. -.####.#.#..##.# -######.###...## -#....#.#.#.#... -......##.##.##. - -#.#..##.#.#.. -.#..##..#..## -.#..##..#..## -#.#..##.#.#.. -..#..#...#.#. -.#...#.#.###. -#.#####.#.##. -#...#...#.#.. -#...#...#.#.. -#.#####.#.##. -.#...#.#.###. -..#..#...#.#. -#.#..##.#.##. - -#..##......##..#. -#..##......##..#. -.#.#.#.##.#.#.#.# -#..#.######.#..## -.#..##.##.##..#.# -#...#..##..#...#. -#.############.#. -#..##.#..#.##..## -#..###....###..## -##.#...##..##.### -.##.##....##.##.. - -..###.#.##.#.###. -.##.##..##..##.## -.##.##..##..##.## -..###.#.##.#.###. -.##..#.####.#..## -###.##..##..##.## -###.#.#.##.#.#.## -.#..............# -#...###.##.###.#. -###...#....#...## -.##..#..##..#..## -..#..##....##..#. -..#.#.######.#.#. -###..##.##.##..## -..#..#.#..#.#..#. - -###.##.## -##..##..# -#.######. -#.######. -##..##..# -###.##.## -.###..### -#.#....#. -..#.##.## - -....#.##..# -......#.##. -#.####.#..# -#.####.#..# -......#.##. -....#.##..# -.#.##.#..#. -.##..##.... -#....##.##. - -.##...##.#. -.#.##...##. -#..#####.## -#..#####.## -.#.##...##. -.##...##.#. -.#..###...# -###.##.##.# -#...##.#.## -#...##.#.## -.##.##.##.# -.#..###...# -.##...##.#. - -.##...##. -.##...##. -##..###.# -##.#.#..# -.....#... -#..#.##.# -........# -..##.###. -..##.###. -........# -#..#.##.# -.#...#... -##.#.#..# -##..###.# -.##...##. - -####..#..##.##.## -....#.##......... -....#...#.######. -.....##..##....## -.....####........ -####..#...##..##. -....###.##.#..#.# -#####.....##..##. -.##.....#...##... -.##.##.#..######. -#..#####..#.##.#. -#..######.##..##. -..#.#.#.#.######. -.##...#..##.##.## -####..####.####.# - -#...#.# -#..#.## -##..### -##..##. -#..#.## -#...#.# -.#....# -#..##.# -...#.#. -###...# -##..### -.#####. -.#####. -##..### -###...# - -##.##..##.##.#..# -.##..##..#..##..# -#############...# -....#..#........# -#..##..##..#.##.. -#..#....#..###### -#....##....###.## -###.####.#####..# -.#..####..#.#.### -##..#..#..###..#. -..##.##.##...##.# -.##..##..##.....# -...............#. -...............#. -.##..##..##.....# -..##.##.##...##.# -##..#..#..###..#. - -#.####### -##.#...## -#..##..## -#..#.##.. -##.##..## -###.##### -###.##### -##.##..## -#..#.##.. -#..##..## -##.#...## -#.####### -..#.#.#.. -#...#.##. -.#.#..#.. -.#.##..## -#.#..#### - -.......#.#...#### -....#..#....#.##. -..##...#...###### -##.#....#.##.#### -##..##...#####..# -.##...#####.##### -.####..##.#...##. -#..#..#####..#..# -#..#..#####..#..# -.####..##.#...##. -.##...#####.##### -##..###..#####..# -##.#....#.##.#### -..##...#...###### -....#..#....#.##. \ No newline at end of file diff --git a/aoc2023/src/day15/input.txt b/aoc2023/src/day15/input.txt deleted file mode 100644 index 86b345f..0000000 --- a/aoc2023/src/day15/input.txt +++ /dev/null @@ -1 +0,0 @@ -fnln-,bkxf-,spfc=9,ds-,trzx-,dtck-,xs-,bg=4,fgmpc=5,xmxf=1,cl=9,md-,ct=2,ftz=5,xhd-,vkqx-,hxd=6,mlcn=6,ctdbt=6,txpsv-,nkx=3,jfz-,fzm=3,rvcd=4,nfgp=3,jjd=7,nzq=6,zv=5,lh-,nfgp-,gcbtgm=7,zj=6,sxlh=3,vsj=8,cjb-,tslfp=5,vc-,kpn=7,qpm=5,jgmnxd-,xp-,kmm-,xb=4,tv-,bmnlf=7,cb-,vbmk=5,dvz-,ssd=6,sb-,mldgtn-,mtx-,kz-,nzq-,dnkf-,sn-,js-,bpq-,vc-,fzm=9,xqv-,gqsr=2,jzxp=5,bc-,lxg=5,sv-,gflrmd=9,ncjb-,fm=9,lln=1,ql=9,tj=2,pbmldc-,fkzq=7,vkh=3,tn=4,fdl-,frgf=1,vf-,fpg=4,xzt-,jf-,pjfk=5,rvcd-,rv=6,zrs-,qnd=1,vqzhc-,xrb=8,lvx-,dfz-,xstdx=6,sf=4,hsb=3,sqjgc-,xtl=7,zthrd=8,mldgtn-,rc-,kpz-,tpnmp=6,bzj=7,gmrrx-,bszd-,mjz-,bzj=8,ztk=9,dtv-,qgm=4,ssd=3,xc=8,hvglb-,xf-,qhvz-,vqc-,ktj=1,ppq-,zxt-,rnsbt-,qpx-,nj-,vhl-,rknz-,zngsp-,vhl-,fjh-,vrzjf=7,gkn=6,tfd=4,bgg=1,fgmpc=9,lpd-,pbmldc=4,jm=2,vlv=4,shn-,vps=8,ljsvc-,rfdrk=3,vkqx=7,gftx=9,nzq-,cq=1,ckb=6,zsx-,qpf-,cggz-,bzj=9,lfg=6,tfd-,xdfz=8,ghbr-,dsdm=8,nj=4,jf-,fnln=7,fzm=7,fkzq=7,xcq=8,fkzq-,dm-,bfz=2,lqf=4,sfp-,kpqvtc=2,fkzq-,vth-,zn-,xhs-,vsj-,psfnx=4,xbx=1,xgk=9,snpgsm-,psg=3,shn=6,qxkrd-,pxvxlh-,xbx-,gt-,ksn-,dzn=7,gp=7,mp=8,jtz=3,ph=2,jxj=8,pg=5,txkh=6,drls=6,zthrd=9,gqsr-,dtv-,mktlhp=9,bszd=5,snpgsm=5,qz=6,sh=6,lqt-,mktlhp-,mgt-,mvmqfm=5,bc-,lpd=6,zn=3,nhsvv=3,vdf-,znjg-,phsl=7,tnb=4,qlf=9,txpsv-,pxvxlh=6,lqfv=7,lffv=5,djmlb=7,pxn-,hdxvhr=8,vbz=1,vqc=1,xrb-,bj=1,bzpv=5,tdl-,xc=2,cnr-,ss=6,mf=2,sv=2,mp-,zpc-,rqg-,xtsd-,hlg=6,xdfz=9,nl-,kfp-,cr-,qxkrd-,vpxv=9,mtx=1,drls=9,jzxp-,xqfrg-,js=3,ql=8,xp-,kpz=8,zj=9,jxj-,gf-,gcbtgm-,cmpc=4,tr=4,px=6,pvv=9,tpnmp-,jhhqj=5,mmn=3,qpf=5,vnk=9,cnn-,xgr-,mmsz=4,lvs-,cv=3,cq-,bfz=8,ct=7,kr=6,gk-,zdtz=1,vqzhc=3,xzt-,vqt=4,dphx-,kmr-,fkzq-,lk=8,dvz=6,ghbr=6,hm=6,zm-,sn-,jgmnxd-,vkz-,ps-,vpxv-,gpg=4,bmnlf=9,pjfk=3,ndmt=7,zk-,zthrd=5,fgmpc=8,rgh=7,bx-,ctp=2,nl=7,rtj=6,grlkl=9,zf=8,lg=4,zngsp-,rsn=5,drls=9,lxmkfx=7,sbt-,bx-,lln-,dm=6,fnv-,qpf-,tq-,qv=9,cfnbp-,pxvxlh-,tr-,nh-,clg-,xjpbxm-,zs-,trzx=8,bgh-,cmbv=1,vq=6,lcr=9,scbjp-,sjb=2,gmrrx=6,mg=5,znjg=4,zn=9,grlkl=7,xmxf-,smtd-,vkh-,spsx=9,qpf-,bgg-,smtd-,ntg=6,qpf-,vtp-,nlcrm=8,cvc-,frgf=8,blfx-,vbz-,tcs-,bqpp-,fjh=5,rtj=5,vr=6,kjrc=1,nzq-,qpf-,vqc-,kmr-,hj=8,fnh-,scbpb-,gxg=9,kf=6,xhs-,zdl=9,sscn=9,dzt-,rl=9,gr=6,tv-,jmthd=9,gn-,bzj=4,pv=9,pcnzf-,jxj-,sxlh-,lxg=3,rpn-,vr=9,rl-,tslfp=5,pgd=2,xmxf-,mjz=9,drls-,hrbj=7,rr-,lxg-,grlkl=3,jsv=1,sr=6,dv-,scbjp=1,pkg-,mgt=9,hsb=3,ccs-,xdfz-,cqq-,nbtq=2,ljsvc-,rpn=8,msbfzl=5,kz=7,cnr=4,hz-,ctf-,tgqp=9,tfd-,sqd=7,rb-,qf-,srp-,fkzq-,pfjml=6,rnsbt-,dmp-,zngsp-,cfnbp-,kpqvtc-,gftx-,lvs-,zpc-,kpz=2,pxvxlh-,spm-,rt-,ftz-,lvs=2,zsx=2,sjb=4,lxmkfx=7,bqpp-,hb=7,xzl-,ckb=7,hsb-,cvc-,ksn=7,mktlhp=5,jhl=6,snpgsm-,mm-,xstdx=2,rm-,rqx-,ld=4,zv=6,fx-,sbx=2,blfx=8,fmkjj-,km-,cmbv=8,vz=9,lg=4,fpg=4,kpfr-,dmp=4,xxj-,jhl=2,km-,vx-,sh=8,xqv=3,kfp=3,zdm=3,tdl-,ddxn-,gzrz=9,xqv=8,kqh=2,rlrlql-,lpd=1,vr=1,ggm-,dkz=3,jx=2,trzx-,sjb-,rh=8,dbsf=4,jhhqj=8,jzxp-,bkxf-,thnmq=7,mktlhp-,jtz=7,sh-,plt-,rfdrk-,hj=4,dk-,zjvd=9,jsv-,vkn-,jc-,zk-,mmsz-,lcr-,dkz-,px-,pcnzf-,jtz-,pzd-,kqh-,ts-,znb-,dzn-,qgm-,drls=9,bmnlf=3,thnmq-,bpq-,zxt=9,lg=6,rknz=8,bzj-,vsh-,lq-,rm-,ql-,cs=1,dzt-,hfrdk=4,kmm=9,lhks=9,jsv=5,zxt=9,kc=4,rm=8,hvglb-,bzpv-,drs=1,tgqp-,trg=4,dp-,zmlr-,pvv-,lfg=2,rqg-,nh=5,mkj=5,cct=1,lxmkfx-,txpx=2,vps=5,dzn=3,dph-,kv=1,vth=6,gftx-,lztd=3,hb=8,qpx=2,fjg-,plp-,vnhfc=3,zv-,xt=1,bgkjq-,pbk=9,hj-,sv-,kpz=5,fnh-,zpc=3,zj=8,pxvxlh-,qgm=6,gct=5,tdl=5,xtl=2,lg=7,trzx=9,hvglb=3,ss=6,vpxv-,gh-,js=1,jf=1,rqx-,pg-,nqcj-,zzx-,mf-,zlcmgc=3,lxg=8,rpgj-,vhl=6,phsl=8,dtck-,rxv=2,qpf=7,nh-,ccs-,mf=3,xrm=4,pljg=1,rnsbt=5,nnn=2,snpgsm=5,qxkrd=5,xgk-,trg-,phsl-,bzj=5,ckb=4,cqbvs=5,xgk=8,ck=7,dbffb-,tj=2,dm-,fjg-,zdm=8,jc=9,rqg=3,qhvz-,cmpc-,dzn=4,xrb=2,kfp=2,vbz-,xhs-,dnkf=3,chpn-,sl-,kftx=5,rsn=5,ps=9,jm-,pbk-,vq-,qpf=4,rfdrk-,rsn=9,nqcj=7,vsh=7,npm=7,qxkrd-,hpl=1,rnsbt-,pxn-,zsx-,lpd=5,fgmpc-,vkqx-,vth-,pm-,mgt=5,cct=3,bb-,hzlzn=2,gkn-,mjz-,kx=8,qcnnzx-,kmr=7,lfl-,jhhqj-,lqfv-,gkn=5,pfjml-,lhks=4,bzj-,tnp-,nj=1,xhs-,rtj=9,rlrlql-,qcm=3,mph-,fx-,jm-,xtl-,xdfz-,msbfzl-,ckb=7,hj-,cqr=5,scbpb=2,tslfp=1,kmm-,cv=4,zpc-,qfb-,rlrlql-,trzx-,sf-,ccs-,fsz=2,dv=8,thncf=4,bmnlf-,qgm=8,plvd-,dm-,pjfk=4,gr=6,qv=7,khx=3,vs=7,dtck=9,xbx-,xstdx=8,km=6,hgp-,kf-,xf=1,vnhfc=6,xgr=1,pbk-,sl=2,jmthd=8,sbt=6,mkj=8,vnk=3,bgkjq=8,bg=2,xbx=6,mmsz-,rnxt=1,shn-,ss=3,kpqvtc-,dfz-,qxj=9,mktlhp=4,jzxp=1,hm-,vx-,bzj=1,vnhfc-,vrc=7,bgkjq=8,gp-,vq-,lh-,tnfx=4,ntg-,dd=5,znb-,vtp=4,vgln-,hz=1,lk=1,mktlhp-,vz=3,vpk-,bbsk=4,qlf=1,hgp=5,xjpbxm-,qcm=8,tz=4,lqf=2,bz=3,jfjbj=9,lfl=6,cqq=8,xzt=4,xb-,rlrlql=9,cqbvs=8,dzt-,blfx=9,rqx=5,xfn=6,px=3,chpn=7,js-,lg-,ctf=1,qcnnzx-,hsb-,xnmq=1,hpl=1,pg-,gr-,fkzq=2,rfdrk=7,tnp-,gbsp-,nq=4,vttk=1,lrpx=5,xrm=3,crb-,nglvx=5,md=2,px=6,pljg-,sjb=3,kpjqgm=9,xrm=6,slzd=6,xc-,sxlh=6,mtx-,xc-,nbtq-,plvd=2,hb-,znfd=7,ghbr=1,gkn=3,gct-,cqq-,znb=5,jsv-,txpsv=6,dk-,dbh=7,lmlx=6,lcr-,bfz=4,xhs-,cjb-,tkpb-,dkms=4,sh-,fkzq=3,kqh=8,dv=9,lrpx-,vnhfc-,bqpp-,pcnzf-,km=1,ssmflk-,pnp-,rsn-,cqbvs=5,fr-,kfp-,npm-,vbz-,jm=9,pgd-,trzx=6,hsb=6,qrn=3,lln=8,zl=6,qpf=8,djmlb=6,zj-,qhvz=1,kz-,bzpv-,bq=8,frgf=7,blfx-,tnp=9,lqf=3,zrs=5,lc=2,scb=6,dzfqlb=3,kmqjt=1,trg=1,fzm-,bgg-,gzrz-,sv-,qz-,zlcmgc=4,qcm=1,xhd=7,zmlr-,fnv-,xdfz=9,fx-,xfn=7,zdm-,fr=7,tfd=1,njvd=4,vnk=2,xbx=8,xp=3,zbgdxg-,lxmkfx-,pbmldc-,znfd-,znb-,xh=5,ccf-,lxmkfx-,tgqp=6,ng=6,kz=9,hlg=2,mmsz=9,vdf=1,vkh=9,cvc-,sfp=7,ckb=6,gxg=9,cggz=2,clg=8,zn=6,ctf=6,zdtz=1,ddxn=6,nhsvv-,plvd-,sbx-,ncjb-,lc-,pvv-,vpxv=3,mhh-,qgm=6,vbmk=8,rb-,gxx=7,pt-,qpx-,gcbtgm-,xf=4,xfn=1,tv-,mmn-,zrs=6,zm=7,pxvxlh=5,xc-,dbsf-,scbpb=3,smtd-,fsz-,znjg=3,rfdrk-,ccs=9,mgt=5,mjjk-,vsh-,sv=8,cgp-,gf=1,pg=5,mph-,ctp=3,vblpd=7,gbsp-,gf=3,nbtq-,vjsg-,jsv-,lqfv-,np=4,xh-,tq-,xs-,vk-,hb-,mmn-,vbz-,kpjqgm=5,dkz-,rzjkqp-,tvm=3,dz-,kftx-,khn-,nj=2,cnn=3,cl-,sf-,vc-,zmlr=3,lxmkfx=3,blfx=9,vbmk=6,tpnmp-,sqjgc=5,rz=2,bszd=6,kkc=9,dnkf-,lmlx=7,ddxn-,bhfh-,gflrmd-,xb-,mmn=2,jfjbj=1,zm-,sqd=4,kl-,dfz=4,ktj=5,lxmkfx=2,qxkrd-,dp=6,hl-,lqfv-,kx-,vbz=5,qf-,sv-,kpqvtc-,vhx-,ps=1,fr-,vbmk-,bnhz-,tj-,rlrlql=2,np=4,vs-,vbmk-,pmz=3,pbk-,zxt-,ck-,xf=2,jtsdd=7,ng=1,gn-,qfb=5,mf=4,xb-,rc=7,jjd-,xv=6,gzrz-,cqq=5,dzt-,scb-,plvd-,vqbp-,mvmqfm=3,pr=1,nj-,pvv=8,xtsd-,gbsp-,hnf-,fdfc=3,zzd-,kftx-,pbk=3,lrpx-,hbmt=4,mktlhp=2,ld=4,sf=4,rxv=1,kkcd=9,dph=7,ssmflk-,vnhfc=1,hrbj-,ljsvc=6,rt-,xf=5,tq-,npm=1,kkcd-,spm=7,ljsvc=4,lpd-,nh-,cnr-,xmxf-,cxq=6,mjz-,hpl-,lh-,grlkl=7,pv=9,pqf=1,zsx=7,vbz-,vgln-,dvz-,zl=6,js-,rqx=8,hdxvhr-,pkg-,tzjln=1,nhsvv=7,ggm=5,zz-,kmm-,zngsp=5,gqsr-,cnn=8,vrc=3,zxt-,txpx-,jmthd=9,gbsp-,gn-,zrq-,ss=5,xjpbxm-,ssmflk-,sr-,kl-,gp=9,mhh=7,bpqv-,mvmqfm=6,vr-,kmqjt=4,xnmq-,hvglb=5,qpf-,xb=5,jgmnxd-,sfp-,sscn=8,pcnzf=4,rr=7,gqsr=4,xs-,ql-,pxn=6,jf-,ckb=6,ps=7,bzpv-,qcm=5,gf-,vk=8,hlg-,kjrc=4,dnkf-,kjrc-,qgm=7,pt-,mmn-,dphx-,dsg=8,brp=5,lq=6,kpqvtc=8,xhs=1,tz=1,rm-,qht-,jhl=3,mr=1,tj=4,pnp-,zngsp-,lcr=5,fr=9,vgln-,bz=1,nfgp-,xzt=1,xzbz-,cqzt-,vblpd=9,mg=6,dd-,xtl-,mf=7,qln-,qxj-,mgpp=7,cb=7,zf-,pkbv=2,fgmpc=4,lc-,dmp-,zxt=1,db-,hrbj-,vnk-,smtd=1,cjb-,dtt-,zlcmgc=1,kkcd=9,xh=3,sqjgc-,td=9,npm-,cqbvs-,hj-,sf=2,zf-,mph=7,zcjvl=4,dkms-,rgh=6,zzx=4,hm=4,tz-,vr-,vf-,cqq-,bgh=1,sn-,vbz-,sxlh=3,xtl-,lqt-,kd-,mg-,vf-,lg=5,fnh-,gbsp-,ksn-,mlcn-,vqzhc=8,gzrz=6,lcr=3,qxj=1,hpl-,dphx=5,js-,fm=5,vgslz-,vf=5,ns=2,qcm-,ds-,pr-,vqfz-,hl-,mnphn-,ctp-,qht-,dv-,kd=1,lrpx=9,bpq=1,qgm=9,ckb=6,zf-,vps=5,gbkt=3,zk=4,lztd-,tpnmp=9,rr=9,rpgj=5,dbffb-,mvmqfm-,fzm=8,bpq=9,lxmkfx-,sf-,br-,jxj=1,snpgsm=2,bj-,fsz-,vjsg-,gxx=4,hbmt=1,gflrmd-,rtj-,zl-,snpgsm=7,ppq-,vrzjf-,dv-,njvd-,sxlh=1,xgr-,tv=8,kmqjt=2,cfnbp-,xxj=1,zngsp=5,cqr=1,jc=9,gr-,qxkrd-,xzbz=9,xnmq=1,zcjvl=1,vjsg=4,fx=2,srp=2,kpfr-,bbsk-,xqfrg-,tvm=1,pqf-,fdl-,ss=5,bnlpjk=6,dphx=6,vbz=4,grlkl=7,gxx=1,lrpx=3,drls-,dph=8,vs=4,sbt=3,jpc=5,pbmldc=8,ddxn-,br=3,qln-,rvcd-,dmp=5,dhh=5,fjh-,sn=6,txpx=2,ctdbt=1,rzjkqp=7,bzpv-,gt=6,sb=8,qht=9,kpz=2,hvglb=8,mr=3,fq=5,jm=5,rzjkqp-,ndmt=6,bzj-,lg-,ks=1,npm-,vqbp=4,lcr-,km=9,tv=6,thncf=6,bxx-,vq-,rpn=6,dz=2,tcs-,mr-,kd-,spfc=8,npm=7,hrbj=1,cggz-,jjd=7,drs=6,vr-,rfdrk=4,kc-,pkbv-,zmlr=1,lqt-,hsb=1,xb=5,pljg=5,bq-,gxx=5,vrzjf=9,xhs-,xk-,vdf-,lg=6,xrb-,vc-,pbmldc=5,js=5,ld=4,sbt=4,gftx-,kpz-,khx=1,mr=9,lztd=7,xqv=8,cb-,sbx=6,qpf-,vgln-,xcq=9,jf=4,zs=2,cv-,vqc-,vgln=3,bmnlf-,nsxz-,vttk-,jx=1,tnfx=9,zv-,fdfc-,rc-,lhks=4,zlcmgc-,grfxxs-,hrbj=4,vqt=8,ts=5,hd-,tq=8,bg-,mf-,pcnzf-,sh-,trzx-,xb=4,rc=8,bzj-,pkg=8,hlg=5,qcnnzx-,ck-,mjz-,vth-,mgt-,cct=1,bkxf=8,rpn=1,mg-,fjg=3,vlv-,zngsp=8,ksn-,hnf-,dbh=7,pxn=5,hsb=8,mq-,jsv=7,ccf=1,ts=8,kz-,xgr=5,xbx=5,sqd-,fpg=8,lvs=5,smtd-,zs=3,dsdm-,nrc-,jtz=8,jxj=3,sv=3,mlcn=9,psfnx-,kpqvtc=9,rsn=4,zdl-,lztd=4,vnk=2,dmp-,sscn-,zj-,dd-,zdl-,smtd-,tj=3,ggm=6,ff=2,zzd-,pfjml=7,chpn-,mjjk=4,spm=7,sfp=6,xbx-,dbffb-,sh=9,hnf-,pmz-,rzjkqp-,hb=8,bj-,hgp-,txkh-,znjg=2,vqfz-,vgln=2,zzd-,crb-,vqt=3,ssmflk-,bqpp=4,xt-,dbffb-,bhfh-,hsb-,rvcd-,sbt-,txpx-,jtz-,cb-,dp-,mvmqfm=3,ddxn-,msbfzl-,xgk-,jpc=5,phsl-,dbffb-,zcjvl=4,tvm-,pv=2,sfp-,nnn-,jmthd=2,qcnnzx=3,xnmq-,tgqp-,fzm=3,jpc=2,cnn-,jhhqj-,mvmqfm-,rtj-,km-,lk=6,slzd-,chpn-,xb-,tpnmp=9,vkz-,lqt-,vf-,gbsp-,cmpc-,xc-,pkg=5,tz-,dzt-,mvmqfm-,dvz-,lhks-,npd=6,lfg=7,bgh-,vqbp=5,grlkl-,lvx=4,mgpp=1,znb=6,zf=4,lfl-,cr=2,dbffb=3,jzxp=2,mhh=2,gftx=7,lfg-,gkn-,xb=5,djmlb-,qln=8,zmlr-,dkz=6,grlkl-,rt-,zcjvl-,vblpd-,lztd-,lfg=2,gxg=6,bj=8,zs=9,ssd-,lcr-,tqx-,ncjb-,kmr-,trg=4,kmm-,cjk-,tq=7,qqp-,scbpb=1,rc-,xzt=1,ftz-,sjb=2,rknz=4,gbsp=4,qrn=3,dhh-,mph=1,pjfk-,grfxxs-,xfn=3,bq=6,kd=3,vjzt-,vgln-,rv-,lcr-,blfx=4,gzrz-,kmm-,hj=8,pvv-,khn-,jfz-,gr-,gr-,dhh=9,ps=3,vblpd=9,sqd=3,hz=7,mp-,lxg=1,bnlpjk=3,jjd-,txpx=7,fx=9,nkx-,bg-,rvcd=4,sr=6,qz=3,vdf=9,ld-,nsxz=1,zdtz-,dzn-,hb-,vjzt-,nfgp-,cmbv=6,pljg-,sqd=1,ssd-,fzm-,qv=8,tn-,cct=8,cnn=2,vkh-,zl=8,xcq-,ppq-,scb=5,pbk=6,jmrz-,xgr-,kpjqgm-,nglvx=5,qht-,fnln-,cl-,kkc=9,kpfr-,xtl=9,dsg-,xrb-,zdm-,mmn=5,tz-,gh-,vkn-,vkqx-,gkn-,qxkrd=7,rt=7,rh=3,bc-,nzq-,mtx=8,jc-,kfp-,dkms-,thnmq-,jhhqj=6,vhx=2,lqfv-,kc-,vqzhc-,bzj-,fmkjj=5,ql-,fdfc-,kftx-,ktj-,bgh=2,cqzt-,rtj=2,vkh=2,dfz=6,xstdx=9,npd-,hf=8,jhhqj=1,snpgsm-,xrb-,hm=5,bx=1,ql=2,djmlb=7,xcq=6,xbx=4,kl=9,dk-,sh=7,ctf-,sqjgc-,thnmq=7,lhks=9,xdfz-,tk-,pt-,vgslz=7,dtv=5,sbt=9,kv=1,drs=3,db=8,lqf=6,xhd-,qln-,ckb=2,kpn-,qvlzn-,fb-,xcq=3,vqc=2,ct=4,dtck=5,vgslz=9,shn-,rv-,cr=3,tpnmp=1,cct-,zj=8,bnhz=4,psfnx-,nnn=8,kl=8,ps=5,ng=6,cnr-,snpgsm-,dnkf=9,znb-,bgkjq=1,pjfk-,pl=9,dtt-,sqd-,hgp=7,gs-,qrn=8,dvz=4,kftx=7,ggqq-,cl-,cr=9,jsv-,vjzt-,pxvxlh-,kqh=1,tqx-,lvx=9,mf-,rpn=2,bpq=4,km=4,vnk=6,cqzt=9,bxx=8,tn-,pgd=8,dp=7,thncf=8,zdtz-,vgslz=5,cnr=7,nkx-,hdxvhr=6,tj=6,xnmq-,qf=4,lq-,vnk=7,rpn=4,zd=8,rxv-,lln-,sbt=6,mhh-,rz=5,dtt=9,gxx=7,pnp=2,lqt-,xdfz=7,lhks-,gflrmd=8,kpqvtc=3,tj-,pvv-,xcq-,xfn-,kpjqgm-,kc=6,zngsp=1,vpxv-,xfn=1,qqp-,tj=2,xrb-,zsx=4,lfl-,vqc-,nq=9,lrpx=7,rpn-,phsl=7,chpn-,vq=6,dd-,ff=1,lztd-,lq-,vx-,lg=3,jmthd=7,vnhfc-,jgmnxd=6,fpg=3,xs-,ggqq-,msbfzl=7,znjg-,xt=8,xzt=9,ff=3,mmn-,dmp=7,hrbj-,vth-,dkz-,nsxz-,bnhz-,bq=2,hm-,dm=7,trzx-,xmxf=1,npm=7,qqp-,fnv-,bzpv-,hnf-,ztk=4,hz-,bx-,srp=4,sqd-,zk=5,gbsp-,fsz-,vlv=6,hpl=5,jgmnxd-,rtj=9,lh-,qhvz-,vkn-,blfx=6,sc-,rqx-,tslfp=6,zdm-,fsz-,mm=5,lc=5,ghm=6,ktj-,kl=6,dph=6,ztk-,cb=2,kz-,psfnx-,mq=4,vqc-,dph=9,zj-,js-,znb-,vqbp=9,dx=2,dtck-,gt-,br=6,zrq-,bqpp=5,ckb=6,ng=9,zdm-,jc-,lvs-,ql=9,zf-,sc=2,dph=9,bz-,vbz-,khn=6,kmr-,drs=7,kx-,vlv-,pljg=6,vpxv=6,fsz=5,vqbp-,tcs=5,qz=9,xp=2,xp=7,kx-,ssd-,bz-,vs=5,mgpp=8,rnsbt=1,hdxvhr=4,rz=9,nq-,ktj-,pv-,cmpc=5,psfnx-,pqf=9,tv=4,jpc-,jfjbj-,vps=6,bszd-,jx-,xhs=2,cfnbp-,cb=6,nfgp=8,mg-,fjh-,mtx-,vrc-,cr-,njvd-,lffv-,qqp=4,cr-,js-,jx-,pgd=9,qg-,vsj-,bnhz-,sjb=1,nglvx-,fkzq=9,qhvz-,nlcrm-,kmm=2,jzxp=2,zrs-,mtx=9,hnf-,lk=5,nq=2,rpgj=1,tkpb=7,zzx=7,pnp-,rgh=1,qhvz-,zpc=1,pmz-,nhsvv=5,zqr=6,cggz-,lhks=3,bpq-,tfd=7,jm=4,kpjqgm=9,qxj=8,pv=8,pmz=2,jf=2,gxx-,jf-,mktlhp=1,lrpx=2,lqf-,scbjp=3,fdl=7,khn-,ddxn=7,dzn=6,chpn=5,vpxv-,kl=8,sqd-,vnk=9,vbz-,cqzt=9,lc=4,nhsvv=7,ph-,bz-,xzt=7,cqr=8,spfc=3,vsh=9,bbsk-,khn=1,bl-,lffv=3,pl=8,zdl=7,qg=2,vkz-,qht=9,xhd-,blfx=5,vbmk=5,npd-,zv-,bpqv=2,tvm=6,xqv-,zv=8,dbffb-,trg-,cqbvs=2,vqbp=4,kpfr-,ql-,cggz-,kpfr-,sbt-,plp=2,fsz=3,ct=1,zcjvl=6,rpgj-,nfgp-,zqr=4,zn-,mq-,ps=8,rtj=4,kpqvtc-,ndmt=3,plvd-,xv-,rt-,fb-,psg=8,sxlh-,nhsvv=4,pkbv-,vrzjf=7,dzn=7,mmn-,jfjbj-,vnkmzj=6,dp-,rh-,cv-,dzn-,lg-,rpgj=1,dph-,ctdbt=3,cfnbp-,gxx=8,hj=3,xnmq=4,lc=5,bb=9,zdl-,zzd=9,hzlzn=9,dz=9,rz=9,bzj-,xb=4,lrpx-,vlv-,dph=1,cqbvs-,ghm-,pcnzf=2,vr-,cct-,mph=2,nsxz-,ssd=2,hfrdk-,psfnx=9,rc-,pbk-,znb-,zmlr=1,dk-,dkz=3,rqg=3,mv-,zv=9,sscn-,bszd=1,xhs-,dzt-,mgpp=3,dnkf=6,tnfx=9,drs-,spfc=3,dbsf-,sr-,lfg-,bg=2,gbkt=7,jxj-,tv-,fjh=9,fdfc=5,gs-,vbz=1,dbsf=9,zdtz=6,fgmpc=2,njvd-,hfrdk-,sh=8,scbjp-,zn-,msbfzl-,px-,spfc=6,vdf=2,vc-,vlv=2,cqq-,vhx=1,hl=3,vkqx-,fx=7,gct-,vrc-,hpl=8,zm=1,ktj-,xmxf-,rqg=7,zm=8,cqq-,zlcmgc-,kkcd-,dtt-,jmrz-,gf-,xzl-,pcnzf-,tslfp-,pxn=2,ccs=5,lmlx-,cct-,vgln=4,xt=3,gxg-,vq-,dz-,vqc-,bgh=6,zbgdxg-,ctdbt-,mg=6,fb=1,xbx=1,xv=2,lvs-,kd=9,slzd=2,xb=3,mvmqfm-,kv-,jfz-,jc=8,mgpp-,shn-,kpn-,scb=9,txpx=5,zf-,vhx-,rnxt-,pxn-,mg-,gftx=6,fsz-,xnmq-,bz=4,nfgp-,gkn=7,bnhz-,qpm=1,vhl=5,pm=1,spm-,xfn=8,xf=9,vqbp-,trg=1,pkg-,lrpx=4,mf=7,rpn=7,vqbp-,vdf=8,zz=5,tslfp-,dz=1,fjg-,cb-,zqr=3,clg-,js=2,xjpbxm-,fnln=4,pgd=7,hzlzn=6,qrn=4,khn-,psfnx=7,grfxxs=8,lvx=4,spm-,zl=6,grfxxs-,trg=1,lmlx=2,rsn-,rb-,cnn-,zdl=1,mmn=8,rr-,scbjp-,zk=2,xrm-,lc-,pkbv-,ss-,qhvz-,fq-,bnlpjk-,kkc=8,fpg=7,tgqp-,jzxp=8,rm=2,plvd-,lfg=5,jmrz=9,vk=7,spsx=2,spfc=5,plp-,cfnbp=6,jzxp-,fjh=3,xjpbxm=4,br-,nrc-,sn=3,rc-,lfl-,plt-,np=5,bgg-,xf=4,vlv-,vrc=5,cct=5,vps-,xzl=9,nnn-,pvv=9,dmp-,sf-,hm-,vtp=7,cqr=7,kv-,rnsbt-,qcm-,dvz=1,dbffb-,dbh=4,bzj=9,ctdbt-,tnp-,ksn-,dmp-,qz-,lxg=6,dtck=9,lvx-,bfz=6,xgk=7,qpm-,ggqq=2,grfxxs=3,msbfzl=1,xqfrg-,nlcrm=5,hzlzn-,rfdrk-,xhs=8,xnmq-,pbk=9,jsv=9,zk=8,dtck-,jtz=2,nhsvv=6,ddxn-,ks-,tcs=1,jsv-,xb=1,ff=1,scbjp-,mjz=7,pbmldc-,tcs-,xhs-,plt=8,zs-,xbx=6,bxx-,qcnnzx-,dkz-,dvz=2,rh=4,mhh=7,djmlb=7,bnlpjk=8,jgmnxd=9,pzd-,lffv=2,xqfrg-,cb-,tzjln-,bfz=1,fnh=8,xf-,cqbvs-,lqfv-,ld-,jtz-,nj=8,cjk-,dsdm=9,thnmq=2,ck=8,bpqv=4,rgh-,mf-,sqjgc=8,rzjkqp-,dvmm=8,zthrd=2,mtx-,cqzt=6,gct-,spfc=7,trzx-,hlg-,rqx-,lffv=5,vf-,bqpp-,nhsvv=8,kpfr=2,dfz-,cnn-,gkn-,hb=2,vnk-,px=2,hxd-,zthrd-,xv-,jzxp-,vkn=7,cxq-,ccf-,xfn-,lxmkfx=5,pljg-,lqfv=5,rfdrk=9,khn=5,cnr-,vr=9,kd-,ssd=5,mmsz=7,fnh-,mf=8,lvs=3,vgslz-,pfjml=7,dtck=8,dph-,gk=4,ntg-,lpd=2,fnv=1,mnphn-,xzbz=1,zd=8,gf=1,tr-,lpd=9,vjzt-,ss=7,qnd-,db=2,vz-,lxg-,khn=3,vkqx-,fjg-,zrs-,tnp-,rc=9,fdfc=4,tqx=1,scbjp-,nbtq=6,kmqjt-,jc=9,txpx-,pr-,vps-,zv-,vnhfc-,jmthd-,blfx=1,vqt=4,spfc-,tzjln-,cfnbp-,zf-,ndmt=4,xqfrg=2,cmbv=4,mtx-,ktj=5,nh=1,mm=6,xv=5,ng-,bfz=2,zj-,pt=6,njvd-,qcnnzx-,qgm=8,fjh-,zqr=9,tn-,zz-,mvmqfm=9,gt=3,vgslz=4,px-,fnh=7,njvd=8,jtsdd=2,rzjkqp-,np-,ph=5,zqr=6,cb=6,sxlh-,pfjml=2,dmp-,lxmkfx=2,kpqvtc=4,mvmqfm=1,rknz=8,zcjvl-,tq=1,nnn-,vc-,zdl-,ndmt-,dtt-,mf=4,qcnnzx-,zzx-,pkg=6,xfn-,rnsbt=8,rgh-,vp=2,vpk=1,zz=2,mkj-,mr-,lln-,dm-,cfnbp-,sbx=9,dsdm=1,kpqvtc-,zzx-,bqpp=9,lqf-,cqr-,mlcn-,spm=1,dhh=6,js=4,pg=1,vbmk=3,vqc-,ftz=4,zxt-,zz-,xtl=6,pr=9,cnr=8,rqx=4,bszd=3,rl=6,phl=4,dvmm=2,drs-,bnhz=4,cggz=7,nhsvv-,cnr-,bgg=4,tr=1,pjfk=8,fq-,kmm=2,jjd=9,dbsf-,sxlh-,xzt-,mjjk-,pfjml=8,lmlx-,xtsd-,ftz-,nq-,kd=3,tk=2,vth-,nrc=4,vqbp-,grfxxs=1,ssmflk-,mmsz=6,lh-,td=2,vc-,qht=1,ccs=3,fpg-,ff-,ppq=2,cl-,ff=9,gk=1,zzd-,mv-,pqf-,vq-,vtp=1,thncf-,gt=7,ksn-,bnhz=8,xmxf-,ktj-,cnr-,ctdbt-,cggz-,vps=8,ff=1,jhhqj-,hd-,dphx=3,zk-,bg-,pkg-,gh-,nl=4,dtv=1,ph=5,xk=4,sbt-,sjb=4,tslfp-,kftx-,gxg-,mjz=9,bzpv-,dvmm-,zlcmgc-,mvmqfm-,jmrz-,sf=3,zz=4,vsh-,kfp=9,cggz=4,pm=4,nlcrm-,pg=9,xhd-,spsx=9,xmxf=8,bbsk-,pr-,qhvz-,vqfz=7,dp=5,ndmt-,nlcrm-,mgt=8,gflrmd-,vkn-,jsv-,qrn=7,gk-,rc=9,qvlzn=2,xtsd-,xzl=8,vdf-,fb-,mr-,vrc=2,qpx-,bmnlf-,scbjp-,vpk=5,vjsg=3,rvcd=7,tk=2,xstdx=9,tcs-,zqr-,kpfr-,rz-,vgln-,dvmm-,lqfv=8,bszd=3,nglvx=9,lq=5,dnkf-,sfp=3,pxn-,blfx=6,zzd-,sbx-,dfz-,fq=2,qqp-,rtj-,sb-,nbtq=2,bb-,zpc=6,tfd-,zl-,scb=4,nfgp-,kftx-,zn=8,rh=3,fzm-,qvlzn=3,ctp-,qrn-,ztk-,pmz-,rh-,vpxv-,lvx-,cq-,jmrz=8,sqd=2,kftx-,ppq=7,dvz=3,vblpd-,jgmnxd-,gxx=6,vnk=5,ntg-,sjb=3,dkms=3,bgh-,zsx-,xrm=8,pkbv=7,vttk=7,lxg=5,jm=9,vqbp-,kfp-,hzlzn=5,hl=4,trg=9,lq=7,ksn-,mmsz=5,px=2,lcr=4,td-,hfrdk-,rnsbt-,qln=3,dvmm=6,gftx=6,ppq-,xbx=8,pvv=8,xcq-,tzjln-,tdl=8,vf=9,sxlh=9,bgh=5,bqpp-,zxt-,xs=5,kmm-,ps=5,ctdbt-,hd=4,md=7,xzl=5,jfz-,tzjln=9,gpg=5,lmlx=2,phsl=2,jx=3,lfl=4,kpfr-,db=9,fdl-,rm=3,bqpp=7,mp-,xv-,bpq-,pg=1,nlcrm-,xk-,mq-,lk=7,hrbj=1,hj=1,ss=8,hnf-,xqfrg-,tnfx=9,znb=8,kl-,lqf-,dsdm-,khn-,cct=4,bzj-,spsx-,lc=6,jfz=4,plp-,fb=1,bgkjq=2,pvv-,br-,cfnbp=5,sqjgc-,sv=5,mmsz-,dd-,lrpx=5,mgt-,hdxvhr=1,dsg=6,zz-,gkn-,fjg=7,px=4,lfg=7,jfjbj-,ghbr=4,ftz=1,lffv-,pjfk-,spfc-,mlcn-,vth-,qxkrd-,ctdbt-,qpx=5,gqsr-,sscn=7,ghbr-,vqbp=8,bgg-,zf=2,qxj=8,bpqv=6,hlg-,tn-,lfl-,bzj-,tk=4,ql-,gxx=6,gqsr-,mtx=1,rqg=7,zzx-,lcr-,bx=7,nl-,msbfzl-,bhfh-,sxlh=7,nsxz=8,bgg-,pfjml=4,pv-,qv-,kx=4,dp=5,gxg-,qpx=9,mjz=5,zxt-,tv=4,kx-,xtsd=7,txpx=4,hdxvhr=7,pzd=2,vqc=4,xjpbxm=3,dm-,rvcd-,ps-,hbmt=9,nsxz=5,cct-,xhs=3,cqr-,fm=3,pzd=5,qxkrd-,rz=8,pgd-,txpx-,xk-,hnf=7,hlg-,lcr-,nqcj=9,pgd-,spm=3,zk=5,jxj=9,vth-,srp-,sbx-,cs=1,vpk-,srp=7,sqjgc=7,ks=1,dvmm-,zqr=6,gbkt=5,rl=1,phl-,mg=9,rm=2,dsdm-,rz=2,pgd-,gf-,bxx-,nq=3,vtp=6,sbt=9,kpqvtc-,qcm-,td-,bnhz=3,rknz=6,mjjk=6,qf=9,thncf=5,bb-,vjsg-,cnn=6,jxj=6,vkn-,gbsp=3,kpfr=1,lqfv=6,kv-,gt=1,fq=4,kl=4,rtj-,vth-,pfjml-,hbmt-,vr=1,xmxf-,sc=1,cgp-,jx=1,chpn-,xcq-,vttk-,vpk=1,mnphn-,mtx-,gxx=1,cgp=2,qvlzn=4,sr-,ct-,rh=3,rzjkqp=2,ld=9,pljg=6,vlv-,rgh-,spfc-,jm=8,fkzq=4,xmxf-,gp-,chpn=8,xtl-,cggz-,xnmq=3,rnxt=1,znb-,nfgp-,ts-,bqpp-,fnln=3,pljg=5,hz-,kfp=4,cq-,bgkjq=9,vs-,zngsp=7,jsv=3,dbsf-,kx=4,ph-,xb-,dsg=6,sn-,jmrz=4,dzt=7,mnphn-,vk-,kkc-,kpn-,vblpd=6,vqbp-,dmp=6,hsb=1,zlcmgc-,vbmk-,dp-,tk=3,drs=8,pl=4,sbx-,jhl=9,rknz=5,qcm-,mp=8,vqfz=9,ctdbt-,qp=2,vsh=8,nkx=8,qxkrd=6,bpqv=9,cxq=3,nbtq=1,sxlh=4,fnv=5,vnkmzj-,gpg-,nh=8,zd=1,rzjkqp=6,qpx-,bzj=2,fkzq-,lxg-,bb-,lffv-,xs=3,rzjkqp-,bpqv-,bz=3,zn=5,br-,zthrd=5,kc=2,ss=2,kf-,bb-,bz=6,hb-,dtck=4,sxlh=9,mmsz-,znb-,mhh=3,nhsvv-,ntg=1,bqpp=2,thncf-,tnfx=8,nglvx=1,bzj=3,gcbtgm-,cmbv-,ctp-,pg-,zpc-,rpn=1,gn-,ncjb=8,kmr=3,tz-,bnhz-,dvz=2,mvmqfm=5,jc-,plt=6,cl=8,vc-,qgm=2,ss=5,jc-,cggz=4,chpn-,qln-,nh=8,pljg-,km-,pgd=7,tqx-,xhd=2,gmrrx=3,bhfh=6,bx=3,msbfzl=2,rm=6,qcnnzx=9,xgk=6,gct=4,kpjqgm-,jx-,tgqp=4,sv=2,xf-,ks=9,pzd=6,zrs=3,md-,thnmq-,zzd-,xnmq=3,rc=2,kmm=9,rz-,jc-,rsn-,dphx-,bqpp=7,vs=2,kkc-,sqd-,tdl=9,zbgdxg-,qgm-,gmrrx=7,cb=4,bx-,lvx=8,slzd=1,fzm=5,cs-,xs=5,xxj-,xhd-,qcm=2,xxj=6,vz=8,cqzt=2,fdfc-,vx=6,rpn-,gxx-,nhsvv=6,mktlhp-,vjzt=4,lztd=7,zs=7,mv=2,nlcrm-,tkpb=9,sxlh-,pv-,qxj-,xcq=8,xgk-,scbpb=3,dk=9,mjjk=3,lztd-,njvd=8,znjg=5,lxmkfx=5,snpgsm-,ph-,pr=1,rpgj=4,nzq=2,kc=2,rsn-,dzfqlb=6,gf-,qcm=1,tcs-,mm=2,fjh=6,vp=6,sl-,kfp=4,tslfp=9,hl=1,fzm-,lmlx=2,bnhz-,sfp-,pcnzf-,gct-,jc-,xk-,zpc=2,jxj=6,tzjln-,bqpp=5,pjfk-,cct=5,qgm=8,sxlh=7,lhks-,mmn-,rpn-,vp-,qnd=9,mjz=2,td-,gct=6,sfp-,cb-,tnb-,zf-,chpn-,pkg-,gs-,mmn=2,mnphn=9,pxvxlh-,fm-,vdf=2,vnhfc-,njvd=1,npd-,cl-,vhx-,kz-,hl=8,bpqv=7,ks-,pl=6,txkh-,mjz-,bl=1,cqzt-,bbsk=7,ghm=3,tpj=4,tv=2,qf=7,tpj=7,ztk-,mq=2,jtz-,vkn=4,cs-,xdfz-,ccf-,lxg=9,ctdbt=1,trzx-,bnhz=6,gf-,kjrc-,vr=1,msbfzl=2,vblpd=6,qxj=7,cjk-,nj=4,cjk-,sjb-,ng=4,rnsbt=4,rtj-,frgf-,tqx-,sbx=9,kmqjt=8,rfdrk=8,ctdbt=5,mldgtn=8,rfdrk=7,pnp-,phsl=3,vc-,hz-,rzjkqp=9,njvd-,qqp=7,pjfk=1,sscn=2,pkbv-,lfl-,vp=5,kr=4,ccf-,plp=8,lpd=5,mph-,rh=6,zl-,lc=2,jhhqj=5,xf=6,snpgsm-,lq-,sxlh=6,vsj-,trg=1,cl=1,vjsg-,gp-,tn-,mlcn=8,gmrrx=5,qfb-,fx-,tzjln-,tfd=2,bg-,bkxf-,qpm=3,npd-,ssmflk-,fpg-,rknz-,zngsp=1,nlcrm=4,pt-,vkz-,mq=7,mldgtn=2,gr=7,fr-,xzt-,mkj-,jmrz=5,lxmkfx-,pxvxlh=3,vbz-,nq-,sbt=8,rtj=8,ktj=3,bpq-,mq-,lqf=9,vp=7,vz=1,bb-,ndmt=4,vdf=7,mr-,fnh-,rzjkqp=7,sxlh-,bszd=1,vgslz=5,zd=2,tpnmp=6,fr=2,bgg-,lk=1,qpf-,bpq-,xt-,ps=7,pxvxlh=1,fkzq=7,mgpp-,cqzt=6,bbsk-,clg=7,ztk-,bl-,vjzt=4,tk-,plvd-,jsv-,zd=7,dm-,gxg=8,lxg=2,bgkjq-,np=4,frgf-,lh-,ssmflk-,bc-,vjsg=9,rfdrk-,jx-,pbk=7,npm=5,kjrc-,jfz=8,bz-,bfz=3,ld=6,hj=4,msbfzl=4,clg=2,vhx-,vq=1,hb=4,mmsz-,sbx-,xnmq-,cqbvs=8,hgp=5,qlf-,nfgp-,ztk=8,vnkmzj-,cmbv=9,jjd-,rz-,bl-,jfjbj=7,hxd-,tfd=6,sh-,frgf-,ctp-,sjb=7,vsh=6,br=7,vz=9,px-,lrpx-,fzm=3,tslfp=9,znfd=5,bpqv=2,mktlhp=2,hm=9,znfd-,xgk-,xdfz=7,gxx=8,vpxv=3,qfb-,qnd=1,gpg=1,txpx=4,zmlr=4,zk-,plt=5,dx-,qfb-,vqbp=2,hzlzn=3,bfz-,mgpp-,xf=1,fgmpc-,rl=9,fjg-,qpf-,tslfp-,qvlzn=3,gbsp-,scbjp=1,mktlhp-,jhl-,fdl-,jmrz=1,rc=8,dmp-,clg=2,xtl-,cqbvs-,qfb=9,lpd-,kmr=3,xh-,lh=4,spfc-,cnr=1,lqfv-,scb=7,kd-,rqx-,tpnmp=5,pjfk-,qz-,gf=7,tz=9,kjrc=5,td-,bl=3,dmp-,ccs=9,rzjkqp=5,npm-,kpn-,pljg=6,dsg-,bg-,mhh-,mvmqfm=4,xzl-,plp=7,tk=6,zn=7,njvd=6,lqfv=7,rzjkqp-,kmqjt=5,cv-,mf=7,gxx=3,pxvxlh=4,nbtq-,vqzhc=7,bpqv=2,sl=6,ccf=5,slzd-,ssmflk-,sf=3,vhx=8,mmsz-,chpn-,fzm=2,xtsd-,tvm=1,zk=9,hm=2,cv=1,lq=2,dzfqlb-,kmm-,rxv=5,txpsv-,nrc=7,ps-,gflrmd-,tv=6,gs=6,znfd-,kc=3,zzx=8,vc-,tvm-,rtj-,kqh-,dsg=9,fx=3,hm-,rsn-,lpd=1,zjvd-,nq=6,hgp=3,vqbp=5,jzxp=5,pxn-,js=4,zthrd=3,nj=3,znb-,ncjb-,kc-,kmr=6,lcr-,vs-,kpfr=3,jgmnxd=9,bhfh-,rv=4,ks=3,hf=9,bgg=4,fsz-,hf-,np-,zzd=8,pgd=6,kmqjt-,znb-,fb-,qlf-,zj=1,pvv-,nzq-,ng-,lmlx-,zdm=4,hvglb=9,nhsvv-,kjrc=4,hvglb=1,ctp-,qlf-,lfg-,jhhqj-,txpsv-,bxx=3,ppq=2,vhx=7,scb-,lq-,sscn=9,pljg-,gxg=2,cv=7,zm=6,hdxvhr=4,hpl-,mkj=5,zl=7,zcjvl-,xp=3,bszd-,lxmkfx=5,rgh=7,lztd-,xv=1,cjb-,rqx-,gflrmd=5,lqfv=1,fdfc=4,vblpd=6,tslfp=5,rnsbt-,tpnmp-,cmbv=6,cq=5,gk=2,zdtz=8,lhks=2,gr=2,cxq-,xzbz=7,bpqv-,cmbv=3,cqq-,bgg=2,znb=3,vkn=7,gxx-,pv-,vf=7,gbsp-,qp=6,grfxxs=2,vqc=6,lh-,msbfzl-,dfz-,fgmpc-,kmqjt=3,qrn-,pfjml-,pm-,qpf-,qg=8,vlv=4,cq=6,lq=1,tnfx=2,cgp-,lq-,vgln=7,bgh=3,ggm-,jtsdd=1,xk=2,rqx=5,zv-,mhh=2,bpq=6,fdfc=6,lmlx=7,hdxvhr=5,jgmnxd-,lvx-,vrzjf-,dtck=5,ph-,rqg=5,gf=9,nqcj-,vqzhc-,bj-,fjg-,qln-,jpc-,vnk=1,sbt-,qf=8,qrn=8,gpg-,nglvx-,dbsf-,hz=1,jfjbj-,hbmt=1,sqd=1,cl=7,bzj-,jtz-,vblpd=7,znfd=1,gpg-,drs=3,gn=7,mvmqfm-,cr=3,tpj-,ck=3,qp-,zrs-,tpj-,gcbtgm-,zv=8,lfg=8,jxj-,ftz-,zz-,fdfc-,plvd=9,spm-,fkzq-,xcq-,sqd=4,dph-,rsn=9,vjzt-,xt-,dsdm=4,qlf=3,qht=2,js-,sv-,slzd=9,spsx-,zk=1,rv-,jxj-,scb-,db-,ff=2,cq=9,nh-,fzm=1,cs-,rzjkqp=4,vx-,qp-,spm=9,tnb-,bgg-,phsl=2,lg=5,gmrrx=3,pfjml=1,psfnx-,dbsf=3,jmrz-,lztd-,vrzjf-,vkqx=8,mv-,sqd-,hrbj=8,tgqp-,sbt=6,lhks=2,vp-,mv=6,snpgsm=9,xf=3,tnb-,hl=5,vqbp=7,zd=1,fm-,hbmt=7,scb=1,txpsv=3,jf=6,rc=3,vs=7,qpx=1,sf=3,zbgdxg-,xv=7,xv-,hgp=3,nfgp-,qht=8,vblpd-,ql=9,kmr-,rtj=2,lpd-,rfdrk-,rxv=5,sbx-,rfdrk-,pgd=8,kpjqgm-,vjsg-,cgp-,fnln-,dvz=3,pbk-,mvmqfm-,lmlx-,ndmt=2,trzx=7,tnfx-,xgr-,zlcmgc=5,plvd=8,gs=5,sv=2,dk=9,vnkmzj-,vkn=3,xbx=9,kl-,psfnx=8,ppq-,vq=3,xzl-,mldgtn-,plvd=7,gcbtgm=1,sscn-,drs-,bnhz=2,lhks-,sf-,pbk-,sxlh=3,vkn=2,vqfz=9,gct=1,cmbv-,qgm=5,lg=6,tnp=6,jsv=7,mmn-,xnmq=3,vx-,fkzq=1,vqbp-,gbsp-,txpx=9,jtz-,hdxvhr=8,xk=4,xxj=3,vrc-,fjh-,pxn-,gbsp=8,hl=5,jm-,zn-,chpn-,nbtq=7,kqh-,chpn-,nnn-,hfrdk-,mp-,bgh-,ns-,vsj=3,fgmpc=1,kd-,dtck-,nh=4,frgf=3,cq-,pt-,vttk-,px-,smtd=7,ctf=8,zn=4,kl-,jjd=4,bzj=7,cnn-,mtx-,pzd=1,ssmflk=4,jgmnxd-,ccf=4,jmthd-,vnhfc=7,srp-,qxj=7,chpn-,nh=2,kkcd-,dm-,mmsz=4,fnln-,lq=6,kkc=1,bq-,nl=3,mmn-,jfz-,zf=4,sl=3,sqd=7,dtt=3,ql-,jmthd-,ndmt-,vqc=2,jjd=2,jpc=4,vrc=9,kpn-,gs-,mjz-,ftz=7,bq=5,cv-,xv=2,mktlhp=9,cmbv-,mtx=6,ggqq=7,fq-,rknz=3,xxj-,zngsp=3,rsn=5,xrb=3,vrc-,fb-,phsl-,plp-,pl=9,cr-,vpxv-,lk=4,khx-,rpgj=2,kd=7,md-,dvz-,rl-,dkz=9,fsz=8,vq-,pm-,xf=7,tv-,tk-,dz-,qqp-,bg=7,xb-,nfgp=9,ng=7,kfp=2,mp-,vbz-,lxg=5,xqv=1,npd-,pvv-,xzl-,slzd-,dmp-,jzxp-,dphx-,txpsv=7,mldgtn-,ql=2,xgk-,mv=7,rl=7,kjrc=6,rl-,jfz-,ctdbt-,tdl-,fq=6,lcr=6,hzlzn-,qpx-,nbtq-,td-,mr=8,zngsp=4,vps-,ssmflk-,djmlb=9,pxn=7,cqq-,nlcrm-,rt-,vgln=9,gn=2,nsxz-,cfnbp=2,xrb=8,ts-,bfz-,lh=1 \ No newline at end of file diff --git a/aoc2023/src/day16/input.txt b/aoc2023/src/day16/input.txt deleted file mode 100644 index 1778ec0..0000000 --- a/aoc2023/src/day16/input.txt +++ /dev/null @@ -1,110 +0,0 @@ -\..../.....-...|........\.|...........-..........-......|....././..........\..|............................... -.../..|.......-............\...........-\|...............\.....|......-...........................-./.......|. -......../.-.-....\...\-.......................................|..........-.......\.....-.........|......|..... -....\........./..............|.............-..|.|.\.|.-......\........./..................|..........\........ -...|/.|..........................-........................|............|-..|...../\................./.../..... -...|.|.......\...................|/..........\\....|....................-..................|.................. -..................\-|..........|.\......|........\.....\...........................-..............\.....\..... -........./.-./..............................-..........|......|................/.............-......./...|./.. -....-...\..........-......\...............-/.....................\.........-\.........|..........|.....|...... -./............\......./..-......................../.|.-.|........................./.|......|...\.......-.-.... -...........././.............|..........-....../..............-.....\.-......-.............................-..\ -......................\.|.\..................-./.....\....|......................|..\...|..................... -...|.-...|.............../..//....-\...-.-...........|......-....\.|-.............\....-.|.............\...... -......|.....\-....\.............|../..|......\....--................/....|..../|../.....-........../.......... -.............|.........-.../.|....................\........................................................... -....\...\.-..-.....|.|...........-........./..../..........-.-....|....-..............-....|........|....../.. -..........|..............\..|........../..........................|.....|\.-...........-......\....../........ -...../.......|..../........-........|./\..\..\.\././.\.............--.......-..................\./......-..... -....................//...-..........-.............|................/............./.\....../...........-....... -.\-...|-/.......-........-...-...............\../...........................\/.....\...........\........|..... -.............................\-......|......\../......-..........|...........|.........-.....\..|......-...... -./................/........-.......|..\..../|............................|...........|.-.|.................... -.\.....|...............-\............|.................|...././.-...\..........|...........-...|...-.....\.... -.......-..../.........\|.....................|....../..|/./|..........|.......|-.......\\./......-............ -.....................\|......../-.............\...|...........................\.....\.\....................... -...|\.././...................|..................-.../\.-............\.-.........../............../.....\...... -.......\..................\..|../...........................\....\....\..../...\..\\./.-....................|. -...............|./...\..........|...|....\........./......\...\.............\.\-......|......-...-........|..| -.........-...........................-...-............\...\.\.................................-....|./........ -.-.|............-.....................-.................\..../......\....\....\....................|.......-.. -.....\.|......|..../................|......|.....-...\|../................./...................//............. -.|.........\..../......-........-............--...................../........|.......\.....\..........-....... -../.....|.|............-.................|\.....|....||...-..-....|/......................|.|-..-..........||. -...-............|.-.............-.....................\.|.............\.\............\...|........|...../.\... -\...........................\.|................................................/.|......-.......\........../.. -...................|....|.......|.-.............-..-\...-...............................|..................../ -/...../.....\............../...........|..|./...-.../...............................\........../|.........\... -..-.......|.........../.......|......../.......\.............../..........-|.................................. -...\.\........\............|......................\........|...\.............................................. -../..........--........|....-..............\..\.............\...................-........./...../..-.......... -..................|.................../\..-..|..................\....././..|......-.................../....... --...\.............\..-..-.................../...|.|.........|../|./............/...../............../......... -.|\............................-....................|......./..............................|..-|...|.\........ --........../...-....-.......................|...\........|.......\................../......................... -........................................................././.|..|.........\................/|........\........ --.....\.........................|...........|..||..|......................................\...\....../.......| -....\...|........\.........................//...........|........-.........\..........\-.....\................ -....|........|.........../........../....\........|......-../..............|...............|.........../...... -......\................-...........|.................\...../........|................-........................ -...............|......|...\............\............/.../.......-.-../............................\......|.... -............-........-..../.......................\..-./.....\...................................-\.....|..... -...|...../......\...........\......\...\......./...........-../..|......................../...|............... -...........................-...../....-.....//................../..........-.......|.................|..-..... -................-...\.............\.../.../.\../...|.........-.\...../.................\.............../\...\. -.....-..................../......................................-...-............/...........|...-..........| -.........-..........\.\................-..\............................|...................-........./........ -...............-....../.....\...|.........\.../\.......-......|............\-.................|...-..........\ -.....\/......../../|......\......|.....--............|....../........-.../....-...-........................... -..../....\....|.............../..|........./............-.........................................../......... -.........../.................|....-..........................................................................\ -...-.....-./....................\..../.\\.................-.....-....|..\.....-....|.......................... -.....-..\..........|....|...........|.|....................................\.......-.../.../-.-........-.../.. -............../......./...-.......-..|.......-|..........\..............-.-....|..............\............... --........../.........|.......................\....-........../.........\.................../.............-.... -.......-....\.....\..................\..../-.//.....-\..........|........................../....|.....\....... -..-./............./|..|........|...\\.........\...|......|.....\.........../.\......................\........\ -...../|.......\............../....................|.............-...........|......|....../.........../....-.. -.............-...-...|..\-.........................................|.......-.........|.........\.............. -......|......|............/.........................|.............\.............../....................|..-... -../../|\......|..//....../......................................................./-...................../..... -.....-........-................-.............|.-./..............|...-...../......................../..../..... -...........\......|.............|....|.|.........../........|....................\.\......./..\.\..|.......... -.\................/....................-..............................|...........\....\.......-....../.../... -...............|................-.....................................-..................\...............\.... -..........|\..................../............................./...............-.....-....-..|................\ -.................\.\...........................................-../......\.....-...............|...\.......... -..|....\............................................./.........|...-\.........-...\..|..........\............. -..................................|...........-....-./-.\.-..................-............................./.. -....................................\-.....\\...../..................-............-........../........-....\.. -...........\......./...../|\..../-....|........|.|-.....-....|.....||.....|...........\..........\....|.-..... -...\..........\./..............-........................././..........\././...-...........-............-...../ -\........\.....-..............................\................../.............-........................\..\.. -.........../.\...............-.\...-.....\............\....\......--.....\...................................\ -............\...............\.........\\....\....|......\.......-.................|...|....\.....\...\........ -.....|.....-............../............-............../.............../...................-......\...........- -..........................-...|......\.....\.......\........-................./..........-......../.../...-/.. -../........|....\........|..../...........|...-..|..........\............\..../........-................|.\... -..........-............./........................................-.......\.|/......./.................\.../.-. -......................\.........................../.../...../../.......|...................|............|..... -..............\..........-/........|/................................\...........................-............ -........\....\....../.......|.-........\........-..\.................................|.....\-................. -........\......|.\.................-..-.../.............\..................|.../.-.............-/............. -.|/.............-.\.........................|...|./........-...........\../...............\./.......-......\.. -..................-....|.....................-........|/.................\.........../..-.............../..\.. -......-......-.........../......................-......./...../.../.|........\.../....../............\.....|.. -...|../..................-.................\.....................\............-...........|.....|.|.........-| -..............................-...........|..-/.................|................................../.......... -.../......../.............-./.............|...../......./...|...........\..............-..........-....|..-./. -/..\...|...........|...........................|/................../......./......................\.....\..... -..|.........-........|..|......-...................\.........|...........................-.................... -../...-.....-.............../...|\...\.......|.................|.\.........-...................-\.........-./. -../..............................|.......|..............\...\......................\..........|............... -............/....|../....../.............-............................./......./.................\............ -/.....\...../.........../.............../...-.../\.....|.....|............|....|..........\.....\..../........ -....\....-/.........................|............-...........\........\...\.....\\................\........-/. -.....................-..-\...............././...........................\....-./......|..............\..-..... -................./........|.......-.-....................\.-.||...-.......\./.|./.....|...-.../......./....... -........-..-...../.......\.........................\.....././.\.../..|...../.................................. -.............|...............--.........../.|\/.....\.........................|..|.....................-...... -..........-...|.......\/...................|....../.-...-...|....................\..../.-...../..../..-....... \ No newline at end of file diff --git a/aoc2023/src/day17/input.txt b/aoc2023/src/day17/input.txt deleted file mode 100644 index 04d0721..0000000 --- a/aoc2023/src/day17/input.txt +++ /dev/null @@ -1,141 +0,0 @@ -111143231245512453233532231135242346643223434366453543664553534426223663625563233556655232522464453223446255523366641115221525545241115541324 -431121345255453245532513346436354562424226665435625542452543534236556535432235356366222264336444256255334564563564226352335454152333342425531 -211555234333213145543413562433332533444634432342622623343343455746676435745474465524463464332524462636562533446346254251543254415111115352424 -341511535443122253134546264233423566232562433526456565542774357646735536654673474477533643232255236632236625425666662645545552141115242422515 -341111243411143233254353542425566625642433362644332467546476655667755374563574564666444577323426235362444224643634223545235541134121215423153 -531254335432123321511666236453536252626542365563233477476436375343677375447543535337476464737335222455333555262365434346341345121543421555545 -352535514521514111243342542545234362225656644366655563365373766737565463557476566764463743673533232534423432654354532444434614515232111523231 -534444213321253145553225546453244552566243427573456456543553566474735356663557433377547454546773337365265654362565366242546625513555231514252 -323313551435534512622225362562263434433225636635664736767633535463645434646666633445555455344676663776363645426625355443264235342154354541551 -313344353445542136265245463656643456254675743474744556363764667356336334435764645543447755363434777747562523535253545462232443334115422245343 -411545355323353632256366354543644422255357345374367446347554465766367637555443653555375756736537575763375343236242446526465226534224412555332 -533131433141412662643523326542423234474465776365555735754776645376734774677646654667473753373634447774446536352326333564334433362123135411531 -512414542555163643526524526245525623733466554345447435364657576457576376563367444354735757756765547755635545232536536433564236626315454145425 -222144425355524633235543562342566454344764575745367646565574575636547773457356646456657637437547666745757773472565443652346664466335313555551 -425225555322663532264234233335563664747574765576347743444637647676737567333767356736363333744734647436646746476523664454633653546545122514442 -433432345135556643645433433353363575647663645376464776466577573557373364773353335555374554433464633534445576673653325425446624523422432115313 -331554441535436542646663554246654555367643355653745635636355676647567487764456667645455574637564434547453345476356634245324255236624234322155 -412551332642256525656556644673435575337544534765547457535765745875846744677848864748453556456475334367766655534547433255523464263563352324545 -443534155643554356242335334673736746664536333346353556577644664845484655676855576588488476647745635435535753465654355645265546422335564424541 -325113645335432555665355233555675344354467477467666744857886746774544874557756677867665777554343734443655754353756656432453432656526442431243 -435351452355523445664565747636637443475667333666457866648755647865645478687666547687547448455776553463657435344656637472443446523245236631254 -412143553424345325232454645555356743366537373758877467577647678654487674848784877787468644447756553677573465574353736576542332442522366564144 -431363252452364445356544557475337767655336557686768756474568654665465464884556855744876886546758447344734334637754557774553226363256242242651 -554256445333463534225356746736736743336763377746888675584476754588545785578747858657577787754874858864355637365443444365474546636352256656323 -425454462356554263636434334444466455765534574648745458464655777887654744458644875776467657545757755464375636667554445537457232633344456335351 -322453463334656455234546433475533746373377467777858787845857478676767845586566768464584884875677444488543533447537536376643424666645653654426 -432326546526255522353556547373665657473456445577748547665675868677547547785865454645454554774845748574876563377757437467553465624365666252336 -553526552222562635473565556657553364657548886884887656456865855666787554686645654858555566768654648745854464677634735446546732553642463664265 -664326265443345443746744735336634755665574447844755544578487644586454874856778477455686458576478578547554484667445666574665353445232224622335 -236532234245355276756476464355554554458887564887776455877644448447886868476548867546888764476866776558545547574453545467364757744326636223642 -632462455662552665443463346747745775658756746854568758745668675885889865596789855788675844755468675857556885843566367733464537666322366344223 -266666434363243576375767356665666877464755765578746575486748669688797696588866786698768646566485868545858886667435664777734463342523665555235 -443556525665656734577633335664448556655454678484454777545656666779696855688567966656964658877444685858567566545447466467443774467266252546652 -624455255224344733376335533753476658646544876564465586875955788776686876776867985856986576866568765548476654745754674775433435367623356456444 -262555462622446474437456377453868684444668468464476655987967866795876695585957798678969855857886488747765845586764675544766563666356435634332 -665624325625734563547365736536784556858567746767459867695988595777767769865658796865788965789678867667866557578674565534645577447432435556524 -333523334637534573776476636576557488766777764446687995988678876956786678875775556987997957898658565656667557575548444354657655335367544525324 -456466363423657475573575435664578688587455448765669969578697785989658879886787878568857799889578874487556756544556443334633446546536443652664 -222244452574756367757776634686545577855644575756668896567598879867997957659885755779787658957586658876446588645487856454536434636745444545545 -232636356457556536556365668745444488466474574987976697975796699686796855588666956768955895958675868455454458767755755376733663633374544556332 -332332622576377345736534646747554866678866788995569677878555787567775875779596796566579977885676656586446765845854744577365444454343372523366 -555664262474645377674577674647867577478684688557896658796655557657577765775656667969779597586797679965585456677454664556665646757366673426233 -356255527734373436547644678865777848585857997655679875687575776559878678858588867877856678657789789868858554664844468646634734744447367636636 -552366365773455644547347758554786677468775568778877797978995878598699565857955898857969565997667878757554646688678786867367546447363537255433 -234653475644663446373734847876648467867886788586887579567587799999866977967976866766799575567556897979657666685654448547664746376435346465542 -252443375445565446367565867885578575654575966679888956889877897698678786876967769856955595897679599865976488848485865647735437666446344436434 -243525237374773653566366744564464668675869676798668978579668697966669789967787689668989669967785588576658588654658478886653675446657763525423 -562444777554463656777574486488654468576556956965987679867969676669986697889777667866868559769957958968686745774765777755575354754635335676536 -264352744565456657667484888447847467598998779789689696779679766996889786776689888878996777588978666887977978585445584446655336663435446574336 -463534645476375645554684778858555786676885996565697889699888899766678879678998899799887896956567777585869788585685647484757343657653773563665 -432465634665435774545666885858845649887698657968779889688769778768696698686869888977969768555995578977568967465456666555784577674443567347654 -242537757554573534676885677655767659695959757675998797988778888678799667799866896879686987675557878578887699478448447774787663353534367754553 -524667356567664767788788786864867869567798856688887886998887976986998886686668767699776989677585877675977659745685675557555653563563733554246 -532356647776353655754665854564646466686577777586598677698878676969777768866697689778788897669979897577868888984565784456765466355374543736764 -353546744764545745656756586777658658697565657989587766697669768667797768668968778798869989666758756995866965667844757477467833575363475573665 -442363475553366336665585574875754767958869656955766897687769989798869789778887686787686676968967586798766967684684745655757855634753733757752 -663437377653673574868444644474888676596699778559668686678686966786679878697997667998668668679678775566688577957447548475848855753337766577654 -245676667643445744476584585486889868856958677757876786686678679686978889886998888999768868796876597559998755655765588557465675655453656434644 -623664534334746636755767677464487956975558566697767697896988988986888777988897867888887969667768658555778858798767857588765444464637377577456 -524435763477353755875846887578787556979997766576796978767969777889977779899788987687978888689776897659786666856748548645756774746364367376634 -252436533765577358467857485675499965699779976868778779896779686779787987877779796678799678678799677596566778799678664684774444556767456547463 -425573537536465645667877564778768875796687778666777866678866888788777997889889889698977679979667875765578958585784474754466784455733343567735 -464333643643774675646874764777889966956967776676876886799688979878878778878789889986887997868689965998667998898957544586884784556635746634644 -467634766367575447675444786885857898689798675679979967666789787898898779879998789996988787997866879557586768558865648756677648655653544434374 -343746456733555668756758766647798687656987598967767769799669777877779899879877997887788976797777786786686766555655656558576555537543536634463 -263736676335556377774776475777798578965889979797877679967769989798889889987997789799998866789986877778878665966865757677884784553474773577764 -436645433455747776854766587748677575858967897999889678767678779989877889979988889997876876767987687678559995869785556756658784533445456534364 -457333367374443446568888867558968899899755558786887989669778779799789777789789877797786878778769899759866986568874778856465478635343345547556 -653357365735437544784775777648977566996787598779866797796688878798979898888979997778969666688778767767968675685577484857666844654735677553374 -454465553543537354546566487886759755777886869789896779676678877997997979878787978898769888779699678677788756997994554564684577435566665665735 -645535635654537444576458775888989557678676898899899898879778777789998888888977799999876678677779969957869757677687688584466575575557463464574 -633446673336665785786556488457569967799656676688968667697989989999998988788999877898996869789799978989768599766594875486774675764367566653437 -365763544374353687774557856867888579757898686969676796986689878797978997979877977999799987889766778769957988885866744454548487444537747767446 -333636755475457746774775664885768689998686877878978686686998999898899898989888977798768997778786769665986876885655876855777745646444453543776 -257347366566556755557468747484878859559855958778679799887889887788997889779777777788977698668899997569799999896694654866676457747663766657374 -554664657744433558785576687586858965859676988969678669886988889998798779998998788898786688897788767697957657558568566856664764845635356777743 -437633353637643445485457545565887558959759869766978967769977997997797798898879888977777798877668879696986885979575658888674584733534445447645 -336773576566535576644748576564988895569965579877899669988897888788798979797979977997979687769689677585858655985875545766888476856753753775643 -447375436754766447678756554674875656886886797769889788989967878998987877797878888989798769897678795698885689978868887845785867854575334643545 -533774774334356485744844667888778799675896759697877967979877898888989779897787899796896869887878898896679879895846474568577556875467653377434 -526636647656677568754477458676456866878885686668989676699978797889989979777797888789689887999898765668796877998956878884644777453766767665573 -345776437655574577556784475666467865969688769689967879888899898787979977987989787869968767788798958965676985977558887786764565334636477577473 -462757555367744435776477675765555899756777555889787899796876786789979777799889999696968778897788975596967795797586768684467474533464663474556 -345335634367663334474446748788558686895898855886668998998877799988977999887787778696789977998687999799569767555576845465465587544735477547753 -352747473367547538454567786546446657585759898569988897798777688798687998988998969877688876686969789765886558558776665847888845556554375745442 -525653575563555774887556547555749798556987599756797867867689696667867966889689666776786689697968958698665787755764558846666855575573747534345 -326455665753733645448778877747875897567979969887898786977796667699978788696867677769979676996787658598765877957588784457484655764635365737434 -532467433765464655746576865775654596585859789697688867896988996977778898788669689878989769996769668658678679877544854467444775477564333674625 -335554544454457654447885484444866987787685589987766897996999779767969767678887676699997786677685669976768778997556877487444743767346766557456 -266536345774333444487446686656585797768599588595599776878699669999678767879886989896988777767965756768698777544665754856565457554453756356643 -342464363736646775655856546787754867795697769679858888796987869768899868797687697688878796789895765557688688985446585777584467466735366644363 -523237467646754656468466848574555667758689797896579777988779889977689668778896667696797676667785685755986597446645664545687753465567453354335 -323327756536477335755748475656576547887995887876985968976869696887779786776968996997867687879755599699567657755468776866885345435457655334225 -465352366554666376467456666544455546795667757799755996999978667976979767898877678768888758985566989859967794845764466677657453363336553674426 -555533553546357444765675856588657557878975766698966577867797677999988677666767968786787775798789997676876774564485686564547464355336356456634 -653433475335664753473446858774765764677666859687678977599767969767797969796977878998788799568865956576659644565846455864883376645435553556424 -565624333374353367374378478655648748848595599966858998869589999997986786677787987969558898667876766679797576857877576788664777573454645755524 -243444333564746346366668646545674655784777777596558976769676598668789667999889879766877787867797657978894768877458688756477776644647454654652 -323463545665546577475645558786854468657757569879597766865559566996799678799877666898856695986577997898647684875678677855454775654547364424426 -444345546665673463753634768476874774848587769865579789687878579978877559996587865859858789976885557859466565567686888557474764574774566345235 -463425647566774574744333678886747686865457799567576858589676667856577976986668978996686799577977886677544648876855645547444577633464636553523 -525644666573444644576675468484675575784565795957567577578956797786787796869877557895769667588675596744747766568788564546563666667763666225253 -434232334334645346434743378448585848667846577675678568857556598869978967698795766555887989895656586784848574867846777433673543643643345636354 -536245546237555656364544635858554588856888685777969769765876857989857999778897756695765797865577585676877858667674464376646773636576723344236 -563432433237543453765335674454676568784657684785679757868567556875775895977656667977959855575979944776757767668868556665477773367647645655455 -345662256237647446335653655474847777777457855878575955988896666669879768598869889768857697696556455457585858777745474363376763373677455666452 -236454255236363665663365567376855855468585857577666775857999657659868999786755866568579898667756458558654648847578447446356744353365436332433 -236656544552467767567677567448876458465585754786588555756756796978557899579678886778787886777445766574578586476464377437556375345344545245426 -662325463226374566436333654547585676688868454444785599797776865969998677956976597586658865956686866776584577484553367473533563564746536336443 -645354345344537355546665737533754846786764888785557644675696956878965869566966978688779976776866567854756646786873676654337473445524622236626 -233264254235366666736346437575764477565768544667785545578799879958588586787879788669995878745846576785646778646655574347764645533625345535563 -432433242246235746473543477553563665775475774755874587665558965695658699586897695998868747444878848474546545784334377573356763473236426645266 -243532622522636755753437535657447776765475565645845684687588454765579856966696756574665577485786546848546585774336373636476643336442355233566 -424366665443243666567346434354557355888674468846456668847655454648844584447647747545884765768788475648857654773677576566637647654653266642645 -355566553355543667644766357475663334576684855756856557474768868686854785488845464657775755684775878866867574456477457355345767654443322524456 -252226355555353432774774553656764464764766745687577646548754448444648855656476668476765857676478568588685475446655746336375532535436262246655 -124465325536222534633336746764356663557877585584548488677874547445477547864878867577864565556567445544564676546443567455743324244266455364265 -444646453636346242245546654333667346776464746865665867844474866746647865554675844644775465548557754474556375345735665646364353323526625624235 -412366252635624522466346354375765373635554864778855885678875757885648677787758444554675487467557768856743453437365564667776246434655322223525 -155662534242554334526573346673376775437747347484686774778445745547688488858484846876546748684767564753677657367475756735363326425522532252354 -111522322233565252443476336555573575463347454766857665787786477486485455577564475876657687767758584655535533636353747434645522266562523335624 -542422536235454325532645676434563747567556555574458874646877684645545674855674568675844866465685676443356746355677555555666633655263646665442 -211224626424363426643222663657775566775366634363464577678645547647756688757557454788857466767766573445336567467663545634344363446256343542532 -524353365435226556556322567464746534674443466757337368478575456847447776487687768855745786663475737763753364433366577364223462546556234245115 -351231443465264363362336352643774674346454366777533445747664448478677857785488484766644654674764373357565474433475733244565424353322356533151 -554223355636366655362352555655373675564737667663367637476378475656775876558465484467733734736556746773634646373557532336625245362343245314352 -415315224565323443623244633253477545773643635677437734464354663476745457476448456747555563574755374344343366743744432254533234544233652442452 -155321252324634365262226535534446766435373535475553354733776334766573455373756333733573667436757467643766753335642442322554323423224452212311 -554231145244425252354633334356244765663464645674467736446536735636374435547767747353673645457676564473344375654424643234566252323463342424331 -145124531215355646265623243325355765435544464565637674665536435365374465373674364755336673456445565567547775765322264364462642335223541214445 -245544533254142563235523522653435334444477535443567574737475663654776577746444777346766467745333753447653577332363336365532325543231234334451 -251214311244114545554462446423624626676363375354453335776637374775465676343453547674544736356577777464764476336235452444566243644313151353524 -251353112524455635524245344436546325534376365643536356555677555675344355745373347466346575334347466467665642344265334364324562252124525455152 -454211332313421263343625436544345634543275377555633667545444553367537367674333374344744754673653556564665546434666555266442463652431455221541 -115242354251513424524244565345324542344352356476443353667354646467467637463545337377445445357757536673532523352342633456335464421222514545231 -234551552324343221533222663526446236435634463664377555475474346673535434445744753657775466665644563245222634266653436345463353354354144115325 -325412113545232114263462446356336532466543425623356673677337363765363633556375433575757664356773345344465345555625252465465324322523535532422 -533444522324551243515564322652262342524325235554667764445446656633535736363765574763563335776423624463325533625243355442245443123534323312511 -334123531454531311142443565534562563644542436563665634765457377675756443636777543663643633363324553544365344443234345365224343523341515544422 -425513541335541443232314324425223643632666545263242622235765443475754557635364446664563322663626426463256624543536634556155552222222255121512 -443141524454451431355221565364643463663664635262463364522342652467643777543675336434624463452333536354565653344664465611411152424331223125543 \ No newline at end of file diff --git a/aoc2023/src/day18/input.txt b/aoc2023/src/day18/input.txt deleted file mode 100644 index 0e3c331..0000000 --- a/aoc2023/src/day18/input.txt +++ /dev/null @@ -1,676 +0,0 @@ -L 7 (#1dc5f0) -U 6 (#4497e3) -L 3 (#3b21c0) -U 3 (#3d8523) -L 9 (#58e7b2) -U 8 (#35d213) -L 10 (#329390) -D 3 (#1302b3) -R 7 (#07f802) -D 8 (#38fbd3) -L 7 (#6d0e72) -D 6 (#2c2493) -L 5 (#38b7d0) -U 6 (#2ab7b3) -L 2 (#0ce560) -U 6 (#2ab7b1) -L 2 (#2f6940) -U 2 (#2a5a83) -L 3 (#477150) -D 11 (#0baea3) -L 4 (#3899c0) -D 3 (#34a803) -L 5 (#55c0d0) -U 9 (#328483) -L 2 (#460290) -U 5 (#48cfd3) -L 4 (#1e3150) -U 5 (#3b7ea3) -L 7 (#2c0a10) -U 11 (#51d803) -L 4 (#39fe80) -U 3 (#51d801) -R 10 (#2938e0) -U 2 (#1c17f3) -R 4 (#0df9a0) -U 3 (#579691) -L 8 (#354a50) -U 4 (#3d0131) -L 6 (#1029b0) -U 7 (#0c19b3) -L 3 (#5f48c0) -U 2 (#0c19b1) -L 4 (#15ff10) -D 9 (#0f08b1) -L 5 (#1c8160) -U 9 (#573b71) -L 6 (#2d58e0) -U 3 (#479121) -L 4 (#1c7bb0) -U 8 (#34d583) -L 10 (#416f10) -D 5 (#34d581) -L 7 (#59af90) -U 5 (#24a821) -L 9 (#196ca2) -U 6 (#1f89d3) -L 4 (#6b4812) -U 2 (#1f89d1) -L 6 (#32e5a2) -U 8 (#5eb4c1) -R 7 (#5bffe0) -U 10 (#3f8051) -R 8 (#29ac30) -U 4 (#495a21) -R 7 (#3b4e10) -U 2 (#52d3a1) -R 7 (#1e27d0) -U 4 (#09ad83) -R 8 (#385530) -U 4 (#218943) -R 3 (#0d8de0) -U 3 (#218941) -R 3 (#3ac220) -U 12 (#09ad81) -R 3 (#08aa80) -U 5 (#33c7b3) -R 2 (#37a350) -U 3 (#6808c3) -R 11 (#355310) -U 3 (#6808c1) -R 3 (#14fbe0) -U 6 (#47b293) -R 6 (#28ab80) -U 3 (#37d873) -R 4 (#607702) -U 2 (#3d77a3) -R 4 (#18a432) -U 3 (#26ee23) -R 10 (#0ba7e0) -U 3 (#0b2863) -R 7 (#604a60) -U 7 (#477053) -R 2 (#0a1210) -U 4 (#2f7e63) -R 9 (#0316e0) -D 5 (#1372d3) -R 10 (#382a30) -D 3 (#2da293) -R 3 (#100920) -D 7 (#5267e3) -R 2 (#66c240) -D 4 (#1c94a3) -L 5 (#2d7770) -U 5 (#2c0061) -L 7 (#4181c2) -D 5 (#1f97c1) -L 3 (#4181c0) -D 4 (#2b79b1) -R 9 (#1bcaf0) -D 4 (#04de93) -R 2 (#010a22) -D 4 (#599823) -R 3 (#010a20) -U 6 (#189b23) -R 4 (#38f770) -U 9 (#452e51) -R 3 (#2551f0) -U 6 (#333c81) -R 6 (#0554d0) -U 5 (#411e13) -L 4 (#487840) -U 10 (#411e11) -R 4 (#2c69e0) -U 7 (#13c311) -L 6 (#164330) -U 4 (#7449a1) -R 10 (#467570) -U 5 (#47fcc1) -R 2 (#13e090) -U 5 (#2e45a3) -R 4 (#0f97a0) -U 9 (#129b03) -R 3 (#46c520) -D 9 (#11dcf3) -R 4 (#0d0e42) -D 4 (#05ca31) -R 4 (#56d742) -D 2 (#05ca33) -R 6 (#1e5ae2) -D 3 (#56bbb3) -R 9 (#1ce6b2) -D 5 (#039d83) -R 2 (#3f1c90) -D 4 (#198063) -L 11 (#3cf8a0) -D 7 (#198061) -L 3 (#2311e0) -D 4 (#401ab3) -L 7 (#46c522) -D 5 (#2d4703) -R 6 (#0f97a2) -D 7 (#053643) -R 6 (#603110) -D 12 (#2ab333) -R 2 (#25d970) -D 3 (#1956d3) -R 5 (#528eb0) -D 2 (#3a55e3) -R 5 (#1aa8d0) -U 5 (#29e981) -L 5 (#133d80) -U 8 (#559581) -R 5 (#133d82) -U 4 (#298e61) -R 3 (#0ed762) -D 5 (#481221) -R 4 (#0ed760) -D 9 (#3a5a61) -R 4 (#265580) -D 3 (#241031) -R 3 (#2bacb0) -D 10 (#4e8481) -R 4 (#4f2bc0) -D 10 (#47fcc3) -L 3 (#15d6f0) -D 9 (#6a0e71) -L 5 (#3cc390) -D 4 (#2fa353) -L 4 (#272140) -U 5 (#029653) -L 3 (#428820) -U 8 (#23f923) -L 4 (#036c82) -D 4 (#3315f3) -L 7 (#663ce2) -D 2 (#09be53) -L 8 (#075c00) -D 5 (#552f63) -L 5 (#662630) -D 2 (#3e3fb1) -L 9 (#543310) -D 5 (#2b6db3) -R 8 (#06d960) -D 2 (#2b6db1) -R 3 (#570160) -D 6 (#441a91) -R 6 (#2f24e2) -D 11 (#2ca451) -R 7 (#5700c0) -D 5 (#36e6f1) -R 3 (#5700c2) -D 8 (#374141) -R 5 (#2b1072) -U 11 (#489e23) -R 5 (#456682) -D 4 (#522e63) -R 3 (#127202) -D 7 (#65dc21) -R 8 (#489d40) -D 3 (#686b21) -L 4 (#107ca2) -D 7 (#2271a3) -R 4 (#148da2) -D 3 (#34bf71) -R 2 (#70b522) -D 9 (#34bf73) -R 8 (#49a172) -D 6 (#2271a1) -R 3 (#138232) -U 4 (#3e4511) -R 4 (#0bb2b0) -U 8 (#2958d1) -R 5 (#1df330) -U 3 (#23af43) -L 5 (#4bbaa0) -U 7 (#23af41) -L 4 (#125270) -U 9 (#41ec91) -R 2 (#222ff0) -U 5 (#2936d1) -R 8 (#2e2310) -D 5 (#2e05a1) -R 3 (#0ae0c0) -D 11 (#074021) -R 7 (#52f6e0) -U 2 (#074023) -R 3 (#590720) -U 6 (#469f01) -R 3 (#34f792) -U 7 (#002dd1) -R 4 (#409522) -D 3 (#002dd3) -R 6 (#149f72) -D 5 (#1cc8f1) -R 5 (#095222) -D 7 (#3eab71) -R 3 (#236082) -D 11 (#3b3d71) -R 2 (#6e2530) -D 3 (#0887f1) -L 6 (#1795d0) -U 7 (#21f2d3) -L 6 (#194240) -D 7 (#2e0d03) -L 3 (#605a50) -D 4 (#257243) -L 8 (#0a5380) -D 7 (#2b70c3) -L 4 (#428fd0) -D 8 (#5b1513) -L 6 (#1bf3f0) -D 3 (#341241) -L 3 (#1f7ea0) -D 8 (#2eda01) -R 6 (#527980) -D 7 (#62ec43) -R 10 (#156e00) -D 5 (#53ce33) -R 4 (#3a5f20) -D 3 (#2f3bb3) -R 6 (#5dacd0) -U 4 (#47f0e1) -R 6 (#538c70) -U 4 (#32a283) -R 8 (#27c140) -D 9 (#198283) -R 6 (#1b5ba0) -U 9 (#15de53) -R 4 (#037d60) -U 7 (#373ac3) -R 7 (#282640) -U 7 (#33c993) -R 6 (#2f6bc0) -U 4 (#236a23) -R 5 (#4977b0) -D 4 (#076301) -R 6 (#56dc60) -U 3 (#30afb1) -R 2 (#720272) -U 8 (#2b0fc1) -R 7 (#19ac60) -U 7 (#07ff61) -R 3 (#585610) -U 2 (#4969b1) -R 7 (#56dc62) -U 5 (#029821) -R 9 (#60a4e0) -U 8 (#1688a3) -L 4 (#19a5b0) -U 3 (#20db03) -L 7 (#1a7950) -U 6 (#1ab903) -L 8 (#463660) -U 2 (#449963) -L 3 (#11ec80) -D 4 (#206da3) -L 8 (#1057b0) -D 6 (#17ffa1) -L 8 (#6cda70) -D 4 (#26df51) -L 3 (#001d70) -U 9 (#3e42f1) -L 5 (#55e962) -U 5 (#138341) -L 6 (#0c3e52) -U 9 (#4ae8f1) -R 8 (#0ad032) -U 7 (#14e3b1) -R 4 (#5a3b70) -D 7 (#1dad81) -R 11 (#3d8e92) -U 6 (#441b61) -L 6 (#20de92) -U 10 (#55efb1) -L 6 (#1d72c2) -U 10 (#1469a1) -L 6 (#21f4b0) -U 4 (#49b921) -L 2 (#560f10) -U 10 (#49b923) -L 3 (#03dc20) -D 6 (#249e01) -L 7 (#6859d0) -D 4 (#0947e1) -L 3 (#5d3fd2) -D 11 (#2c3801) -L 6 (#26cab2) -D 4 (#1f5b51) -R 13 (#0fcc92) -D 3 (#638131) -L 7 (#404362) -D 2 (#6cc863) -L 6 (#1d8d62) -D 4 (#161423) -L 6 (#595612) -U 7 (#09d071) -L 4 (#10a5d0) -U 4 (#633011) -L 8 (#3cddf0) -U 3 (#3a8471) -L 7 (#407050) -U 7 (#00b9a1) -L 3 (#2537e0) -U 2 (#00b9a3) -L 5 (#3a9220) -U 5 (#212a31) -L 7 (#572a62) -U 5 (#0b0ea3) -L 4 (#52f702) -U 6 (#0b0ea1) -R 6 (#077262) -U 9 (#116db1) -R 7 (#688352) -U 8 (#37c5e3) -R 7 (#23b522) -U 3 (#37c5e1) -R 6 (#4a4aa2) -U 9 (#57bf21) -R 4 (#60ae60) -U 3 (#06dc81) -R 3 (#47d900) -D 4 (#587561) -R 6 (#2940e0) -D 8 (#1268d1) -R 5 (#0ec482) -D 6 (#38b6c1) -R 6 (#59c532) -D 8 (#2e4421) -R 6 (#0b8022) -U 5 (#410a61) -R 2 (#7409d0) -U 6 (#28e351) -R 8 (#15d2e0) -D 4 (#12ab01) -R 5 (#100f80) -D 6 (#44c953) -R 4 (#33eef0) -U 6 (#23c7d3) -R 5 (#4696e0) -U 4 (#222123) -R 9 (#26d070) -U 9 (#4cec13) -R 2 (#560af2) -U 6 (#5099a3) -L 11 (#4b4b52) -U 4 (#10b4e3) -L 8 (#40e6b0) -U 6 (#1c6173) -L 5 (#2e31e0) -D 6 (#3d8c01) -L 7 (#1cc6f0) -U 9 (#083731) -L 4 (#463da0) -U 8 (#1cb711) -R 8 (#0b4110) -U 8 (#2252b3) -R 10 (#60b900) -U 7 (#2252b1) -R 8 (#0ce680) -U 5 (#467f81) -R 9 (#0ad0b2) -U 2 (#359203) -R 9 (#67bc02) -U 9 (#359201) -R 4 (#0653e2) -D 3 (#281ca1) -R 9 (#1b8ee0) -D 6 (#0b3861) -L 8 (#336f02) -D 3 (#3201f1) -L 4 (#4a85a2) -D 7 (#111eb1) -L 9 (#1c9c90) -D 7 (#145011) -L 11 (#083be0) -D 2 (#516321) -L 6 (#083be2) -D 9 (#20bb21) -R 5 (#3d8030) -D 6 (#404031) -R 8 (#642420) -U 4 (#56cf61) -R 7 (#55c610) -D 4 (#20d1e1) -R 9 (#1b5e10) -D 9 (#1e85d1) -R 9 (#361f10) -D 3 (#3d69f1) -R 9 (#16da12) -D 6 (#2d6471) -R 5 (#5d9642) -D 3 (#4656f1) -R 6 (#44b540) -D 8 (#2b6131) -R 7 (#2ce630) -D 7 (#2b6133) -R 3 (#61b2a0) -D 4 (#4c2661) -R 4 (#3b7372) -D 8 (#01ed73) -R 5 (#4c3962) -D 3 (#01ed71) -R 4 (#4ba142) -U 9 (#4377f1) -R 3 (#1deb32) -U 6 (#3f3323) -R 3 (#22b722) -U 7 (#37bc13) -R 3 (#1918d2) -U 4 (#13c8b3) -R 5 (#1918d0) -D 12 (#3e4d83) -R 3 (#22b720) -D 5 (#0cefe3) -R 5 (#2bf9f2) -D 9 (#3122d3) -R 8 (#41a3e2) -D 10 (#3122d1) -R 8 (#0b6e02) -U 7 (#266641) -L 4 (#5a1cc2) -U 5 (#060d11) -R 4 (#32ff32) -U 7 (#446c91) -R 5 (#319c82) -D 3 (#446c93) -R 7 (#1bf562) -D 2 (#44af13) -R 6 (#6f3132) -D 6 (#312433) -L 5 (#489da0) -D 5 (#53a343) -L 8 (#489da2) -D 3 (#5a6673) -R 7 (#0f0f92) -D 6 (#01b8b3) -L 3 (#3c6b12) -D 5 (#725613) -L 10 (#114b12) -D 4 (#14ace3) -L 8 (#30d292) -D 9 (#1ebac3) -L 6 (#3c4292) -D 7 (#39e2a3) -L 2 (#1f3882) -D 4 (#658381) -L 3 (#0b0252) -D 8 (#699e71) -L 10 (#2b4ae2) -D 2 (#1ac903) -L 5 (#60cef2) -D 4 (#515ea3) -L 5 (#4d3790) -D 6 (#354183) -L 4 (#398170) -U 3 (#7163a3) -L 10 (#398172) -U 7 (#0608f3) -L 8 (#4d3792) -D 4 (#06c7a3) -L 7 (#5819c2) -D 5 (#17c3f1) -L 3 (#0c8892) -D 5 (#67f951) -R 6 (#3ff470) -D 12 (#397601) -R 6 (#3ff472) -D 4 (#4f6451) -L 9 (#665a22) -D 2 (#1705c1) -L 3 (#14df92) -D 7 (#4b40a1) -L 4 (#1fa1f2) -D 5 (#3b7231) -L 10 (#063e12) -D 7 (#2a8fb1) -L 4 (#6b71e2) -U 4 (#218101) -L 4 (#2e2f52) -U 4 (#221411) -L 5 (#200732) -U 5 (#0ac7e1) -L 9 (#50af62) -D 9 (#4b7c81) -L 3 (#50af60) -D 4 (#2b9d31) -L 13 (#4766d2) -D 5 (#25ef21) -R 3 (#119862) -D 2 (#517a31) -R 4 (#3e6072) -D 10 (#21cfa1) -R 6 (#4437f2) -U 12 (#30f031) -R 4 (#036652) -D 7 (#453c91) -R 5 (#05ea22) -D 10 (#2da1e1) -R 2 (#4da5a2) -D 2 (#2da1e3) -R 6 (#2bffc2) -D 9 (#453c93) -R 9 (#4ed2d2) -D 3 (#141b71) -R 9 (#3ecad2) -D 5 (#234873) -L 11 (#3c4982) -D 3 (#2ed113) -L 7 (#3c4980) -D 7 (#4a6553) -L 8 (#49bf02) -D 8 (#337011) -L 9 (#2eb772) -D 3 (#690ec1) -L 2 (#25f0a2) -D 7 (#62eeb3) -L 6 (#1ae012) -D 7 (#34e643) -R 6 (#382a72) -D 7 (#281183) -L 11 (#271932) -D 4 (#470d23) -L 9 (#4ca812) -D 4 (#6f1ea1) -L 7 (#4702f2) -D 8 (#34e641) -L 4 (#155c42) -D 10 (#62eeb1) -L 7 (#3a2422) -D 4 (#3f7ca3) -L 9 (#39b860) -U 4 (#5cf1c3) -L 13 (#39b862) -U 4 (#4751f3) -L 4 (#322dd2) -U 4 (#539531) -L 5 (#4171a2) -U 5 (#539533) -R 9 (#075042) -D 5 (#1e57d3) -R 7 (#5cc952) -U 5 (#0ac0d3) -R 6 (#1af522) -U 9 (#374273) -L 4 (#2992f2) -U 2 (#299893) -L 4 (#267bc2) -U 10 (#47af63) -L 3 (#282402) -U 4 (#06a063) -L 5 (#5cce72) -U 9 (#47fba3) -L 3 (#1168e2) -U 10 (#3b1071) -L 4 (#178c22) -U 3 (#42b971) -L 5 (#178c20) -U 8 (#1dca41) -R 9 (#442912) -U 8 (#5b9241) -L 3 (#1da682) -U 7 (#31ff23) -L 10 (#3cd732) -U 5 (#33bab3) -L 5 (#159fb2) -U 4 (#2e5d93) -L 7 (#5f9702) -U 4 (#5566e3) -L 4 (#0ba292) -U 8 (#07f963) -L 3 (#410a02) -U 3 (#6ace93) -L 5 (#0913a2) -U 2 (#21a553) -L 10 (#3d71a2) -D 6 (#25ff63) -L 5 (#5285b2) -D 8 (#3cfc73) -L 3 (#13aba2) -D 7 (#24a793) -L 4 (#29e4c2) -D 12 (#1dc4b3) -L 5 (#3cb102) -D 8 (#5b8433) -L 5 (#3cb100) -D 7 (#22d9f3) -L 7 (#6db9c2) -D 6 (#4cd683) -L 6 (#083f42) -U 11 (#09bbc3) -L 5 (#609002) -D 7 (#12b603) -L 7 (#041be2) -D 8 (#4f3823) -L 5 (#5a3412) -U 7 (#14de13) -L 6 (#036ee2) -U 5 (#442823) -L 7 (#6c5502) -U 3 (#2edcc3) -L 9 (#3b6b72) -U 8 (#321e73) -R 7 (#48e5a2) -U 6 (#2fbec3) -L 12 (#44ed12) -U 6 (#0c1893) -R 12 (#61a8e0) -U 4 (#073043) -R 4 (#0d47c0) -D 6 (#469b63) -R 2 (#047ae0) -D 10 (#39b7d3) -R 3 (#2492d0) -U 8 (#2026f3) -R 3 (#73fb40) -U 2 (#201333) -R 3 (#372f72) -U 2 (#2c6143) -R 10 (#615ea2) -U 4 (#355653) -R 7 (#3876d2) -U 9 (#080463) -L 8 (#3af4b2) -U 10 (#6840e3) -L 3 (#5472d2) -U 9 (#005683) \ No newline at end of file diff --git a/aoc2023/src/day19/input.txt b/aoc2023/src/day19/input.txt deleted file mode 100644 index 8fb7e78..0000000 --- a/aoc2023/src/day19/input.txt +++ /dev/null @@ -1,766 +0,0 @@ -xhs{m>3771:A,a>2552:R,A} -smp{a<3732:R,m>1999:R,x<925:R,R} -zkk{m<2240:R,a>3345:R,R} -nqz{x<2056:R,a<3165:R,m>1748:A,vx} -mm{x>486:A,m>3523:R,A} -bg{s>3338:A,kgm} -qf{x>537:gqx,bqz} -lv{s<2341:sc,s>2505:rtm,xqj} -bv{a>2574:rvm,ncd} -ssz{a<729:A,m<3390:ld,m<3772:A,R} -gm{a>3900:A,m>2508:R,x>744:R,A} -ts{m<642:R,m<843:gmm,s<325:gf,A} -rtm{x<2920:A,m>3132:R,R} -qgz{x>2082:hvx,a<1490:A,s<3742:R,kks} -kpf{m<2390:cm,ft} -ghn{a>2066:A,s<3291:R,a>2028:A,R} -mkx{s<975:R,s<1112:A,m>756:A,R} -tg{x<3668:A,x<3835:A,ftz} -chj{x>733:R,a>3064:R,qs} -ndl{x>2773:R,x<2370:R,R} -dsq{s>838:A,s>496:A,m<2191:R,R} -jl{m>1219:A,R} -chh{x<973:R,A} -fxv{x<2543:R,m>3368:A,s<3567:R,R} -qvl{m>1648:A,R} -fpb{a>1367:R,x>2441:R,a<1220:A,R} -tph{a<2677:tss,R} -cnc{s>1274:A,a<3947:R,A} -cz{m>2865:R,a<3514:rm,s>687:xsr,A} -zzq{x>76:A,A} -vp{x<162:A,R} -bth{x<1859:zmq,a>2455:hq,mb} -rm{x<1253:A,R} -ndq{s<390:R,x<2982:A,m>3468:R,R} -vdh{x>2464:bx,m>3276:fj,ffs} -bjc{a>3069:R,R} -sqk{m>3029:R,s>130:R,sln} -xl{x<2157:A,R} -xrs{s>3440:qgz,a<1479:qsv,xt} -dnt{x<538:qc,m<1343:jqh,x>645:fm,jvb} -pms{a>2603:R,A} -lf{x>390:A,s>1617:A,A} -dvm{s>1052:R,R} -mnc{x>2703:R,A} -rxt{a<595:A,R} -pb{s<3737:ngp,x>3125:A,dbk} -zr{a<2605:R,x<422:R,A} -pd{s>1915:xhs,zpl} -vm{a>2377:R,R} -in{x<1629:dv,nfq} -xdt{s<1791:fpb,chl} -gg{s<393:fd,x<2091:dg,tz} -xsr{s>1167:R,m>2006:A,a<3531:A,R} -qs{x<719:R,x>726:R,s>2919:A,R} -kgm{m>2140:R,s<3253:R,m>1246:A,A} -gvv{s<3124:flg,m>3004:jxl,x>2411:vf,hfg} -nv{m<3088:A,a>1588:R,x>3499:A,R} -lx{s<3277:R,a>2880:R,A} -cls{m>3314:gt,kpv} -ct{a>3320:R,a>3189:A,s<2328:R,R} -bqz{m<1572:rjv,x<437:R,s>1572:mzn,td} -qm{a<1975:A,s>623:R,A} -zx{m<3520:R,s>1981:R,a<2633:A,R} -hbk{a<1441:A,x<2151:R,x>2450:A,A} -zp{a>2928:A,R} -njc{x>225:R,a>3543:A,a>3524:A,A} -dt{s<467:R,a>3868:R,x<1448:A,R} -qlj{a<1744:A,s>1375:A,R} -ln{x<546:dk,x<1088:jm,s>996:sdr,grf} -zxc{x>1220:R,a<1570:R,a<1721:R,A} -hqv{x<1168:A,a<3325:cs,zkk} -cfx{m<1777:R,A} -tb{a>3324:A,a<3310:R,R} -fx{a>2975:R,x>2219:R,A} -rnm{m<3699:A,a>1555:R,R} -zpl{a>2213:R,m<3703:A,R} -zvm{s<3648:R,x>2112:R,s>3879:A,A} -gkt{x>1247:A,m>2344:A,m<1950:R,R} -qfz{x<37:A,A} -dq{a<2482:A,A} -gpj{m>2417:A,m>1980:A,tq} -khx{s>3504:R,a>633:A,s<3211:R,A} -kh{m>629:A,A} -zg{a<2645:mg,s<259:sqk,x<2942:gg,md} -sxj{m<1304:xlx,lh} -lh{m<1742:bb,x<2813:rh,m>2090:qhd,bv} -jxg{a>3806:A,R} -sg{a<3432:nn,m<1550:pp,m<3113:ps,js} -pck{m<1755:dmv,s>3255:hb,s>2954:lfz,ns} -xqj{x>2860:A,A} -hm{a<3006:R,A} -bbv{a>3355:rf,s<1113:hqv,m>1976:qzk,zxk} -rpd{s<3371:R,A} -jzc{s>1320:A,s>1117:R,s>948:R,R} -mjp{m<3107:db,x<3329:lsq,x>3386:jgq,R} -chl{x>3157:A,m>2688:zq,tf} -ffq{x<2660:hbk,s<2231:cvs,A} -pv{x>662:bc,m>2737:fn,scz} -rf{x>1195:A,x<1012:R,hp} -mg{s<320:mnc,ndq} -md{s<368:ks,a<2900:A,a>2968:A,hxd} -rb{s<976:R,A} -cvv{s<1568:R,s>2041:A,a>2529:R,R} -hvx{s>3628:A,m>1706:R,m>1033:R,R} -fhg{m>3499:R,a>2802:nm,R} -cm{a>793:gnt,s<342:vg,dl} -mzt{m<1547:R,A} -cf{s>3282:A,R} -vr{m>1574:zzp,cfl} -vbd{x<446:R,m<2633:R,A} -mdz{a>2230:A,A} -dck{s<2674:R,m>1804:A,m>1642:A,A} -dk{x>356:A,R} -sxr{m>1197:vq,qzn} -sl{a>3532:R,A} -rhf{x<592:A,m<3490:A,A} -hp{a<3393:A,a<3436:R,x<1078:A,R} -sln{m>2771:A,R} -hq{m>3351:A,x>1966:A,m<2756:R,R} -bm{m<2254:R,hpt} -vt{m<3667:R,x<1031:A,A} -dv{a<2349:npz,a>3297:tck,x<703:gq,lm} -ddj{m<1813:mfd,A} -fln{s>2720:A,R} -xft{a<198:A,a<267:R,m>3094:A,A} -xdr{s<2440:R,m<1370:jcs,a<1346:rrl,R} -hxc{s>3518:A,a>1208:R,x>3051:R,R} -bc{a>3542:zb,s>1446:sr,a<3492:pjm,cz} -lfz{a>3921:A,m>2651:A,s>3077:qj,A} -qmk{m>2209:A,R} -bt{m>3699:R,x<2709:R,m>3441:A,A} -cfn{x<203:R,x<238:R,x>260:R,R} -hbb{m>3171:R,R} -xz{a<1217:A,m<3348:R,R} -tz{a<2930:A,A} -cvj{x>3663:A,R} -kb{x<812:A,x<882:R,m>1354:R,R} -fgc{a<3044:A,m<3797:A,a>3181:R,A} -gz{a>2501:R,x>662:R,A} -gs{m>2349:pbh,xc} -cxt{m<648:A,R} -qr{s>3439:A,s<3200:A,s>3359:R,R} -mvk{x<310:A,A} -rfx{a<3471:pb,jrp} -df{a>2425:R,a>2173:A,m<2169:A,A} -lkv{x<1956:R,m>2601:jvg,zvm} -fgv{a>3335:R,a>2798:hck,pqd} -tn{a>3644:R,m>3271:R,R} -vhl{m>3441:pd,lt} -lg{x>214:xjz,jmz} -dkl{m>979:R,x>271:R,a<2808:A,R} -pdp{s>2793:R,A} -jjf{a>3211:R,A} -tv{s<2116:sx,xsq} -gnt{m>1411:R,x<2631:A,x>3267:A,R} -lnj{a>2864:R,A} -jd{x<275:cfn,s>860:jzc,mvk} -zzd{x<1338:A,a<3957:R,A} -xlx{m<789:jqs,dpd} -hql{s<2258:cb,x>815:knq,x>758:vlq,chj} -qsv{m<2600:A,cg} -bb{a>2571:rth,m>1465:A,x<3017:R,cp} -dz{a>2559:gs,qf} -ps{s>3207:R,gkt} -mf{x<611:R,A} -gp{m>2489:zdd,x>227:R,gnc} -hv{a<3335:R,a<3515:A,R} -klr{x<295:A,m>520:R,m>218:A,A} -zq{x>2372:A,R} -zf{a>1674:R,cn} -lm{x<1313:hgj,txn} -npz{s>1686:rt,kt} -qdh{a<2898:R,x>2218:R,A} -pz{x<2285:A,A} -hdf{m<2720:A,A} -bmc{x>3617:rcl,hsb} -zh{s<1038:A,a>2811:R,R} -zfz{x>2711:R,A} -sgr{a>3615:R,m>1350:jjj,a<3585:A,A} -qvk{s>2967:R,m>3342:A,A} -pqd{s<99:A,s<208:A,x<2116:R,R} -tbd{x>3755:A,a>441:R,A} -nn{x>1301:fln,pdp} -hxd{m>3170:R,m<2811:R,x<3367:R,R} -fk{x>3114:nsg,dmq} -vzf{x>2720:ms,s>481:mhr,s<294:fgv,nqz} -lnn{s<2149:R,x>3515:tbd,a<342:xft,zcz} -tss{s>3258:A,A} -sh{a>1883:qm,m>3431:A,chx} -qj{a<3876:A,x>836:R,R} -vl{s<2783:R,m<1099:R,x<1473:A,A} -bkt{a>3162:A,s>3117:A,x>215:A,A} -jh{x>101:R,s<1379:A,s<1659:R,R} -zcp{s<611:ff,qkd} -cr{s>772:kr,m<1018:lxl,vzf} -ms{s>407:zt,x>3417:R,chq} -jm{s<1028:A,R} -bn{m<3021:vzz,m<3604:qvk,x<271:fgc,R} -ngl{s>3536:sbr,s>3350:qdh,A} -zsf{m>1545:A,x>1434:R,a<3918:R,A} -ggp{s>585:R,R} -kr{m<1070:vfc,zp} -kks{a>1629:R,a<1563:R,a<1592:A,R} -btt{a>801:A,R} -jsj{s>3393:A,x<3185:R,A} -zgx{m<855:xl,A} -gt{x<259:R,A} -gqx{x<621:A,a<2443:hx,gz} -gnk{a<2992:R,R} -vc{m>2396:xx,cl} -hhp{m>1027:sgr,ph} -chr{x<2230:R,x<2596:R,R} -qkd{x>797:A,x<297:A,s<793:R,A} -zsv{x>3189:A,s>3280:pz,x<2182:A,jxg} -bmz{x>286:A,R} -rcl{s<3551:R,a>1235:R,A} -sxl{a<1497:R,x>1555:A,R} -xmv{x<2697:shm,m<2582:bl,st} -fd{a<2818:R,R} -jgq{x<3411:R,R} -zj{a<2947:A,R} -mgb{x>2219:A,s>580:A,R} -jjs{m>2508:pj,smp} -mfd{s>3169:R,x>3872:R,R} -kpn{a<3544:R,a>3555:R,R} -lq{m>3447:A,A} -bfq{s>1868:A,qpt} -hlc{m>3423:rnm,a<1561:A,nv} -zn{x<915:A,m<570:A,a>3454:A,A} -zmq{a>2577:A,s<2162:R,a<2036:R,R} -sqz{s<1195:A,R} -jsd{m<1634:vs,R} -dmq{m<1655:A,A} -nhl{a<2744:A,A} -mkm{s<482:A,s>608:A,R} -rc{m>234:A,x>2208:R,m>97:R,A} -zz{a>3346:vlc,a<2753:qqc,s>276:fx,rc} -js{a>3452:R,m<3619:A,R} -tj{a>1494:R,m<658:R,R} -qhd{s<2443:mdz,znr} -shv{m<2846:A,x>2878:A,A} -ttn{a>3182:R,a>3140:R,x<475:R,R} -ngp{x>3141:A,A} -pcn{x<1006:R,s>520:A,A} -ngq{m<1256:R,s>1251:R,a>658:R,R} -fkd{a<3655:dd,a<3774:cfx,s>2066:qmk,fk} -qzk{a>3335:R,R} -dx{m<2588:zcp,a<2083:sh,x<601:rrd,fh} -qc{x<432:zh,s>956:R,A} -fm{s<642:R,m>2905:lq,dcp} -rr{s>2991:xmv,ths} -dcp{a>2785:A,s<1372:R,x>674:R,A} -bf{s<3336:A,a<1863:A,R} -glx{x>2156:R,nq} -rxv{s<984:A,R} -plp{s>2690:A,a>3040:R,x<1194:A,R} -zdd{x<411:A,s<2583:A,s<3374:R,R} -sbp{x>2442:R,m>802:A,a<1990:A,A} -rzc{m>1519:R,a>2789:A,R} -hgj{x>992:kbh,a>2782:hql,mdb} -gc{m>3015:A,a<3333:A,x<1181:R,A} -xh{a>3215:A,x<3863:qtm,lnj} -jdx{a>296:hz,s>2019:A,a<185:R,R} -ftz{a<2615:A,A} -sr{a>3503:A,m<3116:R,vt} -bz{m<1363:A,a<3918:R,x>347:A,A} -lxl{m>375:ts,x>2633:ssr,zz} -rpl{a<3086:zg,km} -rcc{a<3086:lx,x<186:A,x<206:jjf,bkt} -xjz{s>2664:dkl,m>1134:rzc,a<2824:klr,R} -kf{m>2364:jp,clb} -chs{s>2600:qd,R} -td{a>2469:A,a>2389:A,x>480:A,R} -st{m<3511:R,x<3456:R,s>3602:cvj,rpd} -hmq{a>2111:A,x>1851:R,A} -xc{x<505:zr,pl} -th{x<582:pm,lk} -sn{m<2549:R,s>2203:R,dlr} -chx{m>3054:A,a<1763:R,A} -kk{m>3497:A,a<1434:A,R} -xj{a>2832:lkb,s<3601:A,s>3811:rbp,rfg} -ncd{a<2175:R,R} -dmv{x>1035:A,m<796:R,x>598:jl,bz} -zdz{s>3645:R,x>2044:R,a<2560:R,xv} -bj{x>1208:R,x<1157:R,m>1150:A,R} -sbr{m<3368:R,R} -kx{x<3147:vdh,jvl} -kv{m>3555:bmz,x>265:sl,A} -qd{x>1553:A,a>2834:A,s<3385:A,R} -cxs{s>1563:cxt,x>2102:A,bs} -lt{s<1846:A,x<3520:R,x>3795:R,nkk} -sv{m>3685:R,a>2243:R,R} -ft{a<963:rxt,x>2779:A,x<2244:A,lzv} -rl{a<1094:rr,s>2736:bbb,s>1976:rhb,fr} -jn{x<583:ttn,s<1225:A,A} -jxl{a<2453:rxj,a>2766:ngl,zfp} -cvs{m>285:R,A} -jqh{a<2775:dvm,gbn} -dg{a<2815:A,R} -jvl{x>3689:xh,x<3456:mjp,znq} -gnc{x<140:R,x<171:A,R} -fkh{a<3335:R,A} -vrm{m>937:A,m<448:R,R} -scz{m<2202:qk,gp} -gvq{s<123:A,m<3059:A,a<3441:A,A} -mdb{m>1624:gpj,hf} -xsc{x<1257:bbn,x<1486:A,sxl} -dp{m<1786:A,a<3541:R,A} -sf{m>773:xdr,ffq} -dlr{x<2407:R,s>1899:R,x<2587:R,R} -rk{x>2534:A,A} -rn{s<2830:A,hbb} -jvg{s>3506:A,m>2651:A,m>2621:A,R} -hfg{m>2738:zdz,a>2232:lkv,fvs} -lzv{s<480:A,A} -tqf{m>2290:ssz,xb} -vmf{m<1433:qhx,m>2129:jcz,a<970:xk,dck} -gv{m>563:R,x>1087:bd,m<346:R,vz} -fvs{s>3483:A,a<1973:bf,x>1995:ghn,hmq} -tqk{m<963:R,a>2859:R,A} -rx{x<977:nnk,bqr} -rvm{x>3305:A,m<1917:R,R} -clb{x>1123:R,chh} -pm{s>967:A,vbd} -zcz{a<501:R,R} -fsz{a>2745:R,R} -nfq{s<1487:jbm,a>1745:jjb,rl} -hdh{m>3509:A,s<1411:R,m<3227:A,A} -dgv{m>2115:A,A} -ccf{x>582:sxr,s>2966:qr,s<2421:btt,vmf} -kbh{x<1100:hgk,m>2034:smc,bj} -dd{m<2080:ct,s>2201:rk,hv} -ff{s>381:R,x<841:R,R} -gtx{s<890:A,m<3503:A,x>2000:A,R} -bx{m<3245:R,m>3522:zfz,x<2768:tc,R} -cbz{s<800:kpf,vr} -hjj{a<1141:R,s<3290:R,A} -nnk{s<496:vls,a<1328:nt,m<2251:R,gtr} -mhr{m>1624:R,m<1228:R,m>1458:ggp,mgb} -grb{s>2354:A,s>824:R,s<393:R,A} -vzz{m>2291:R,m<1985:A,A} -dc{s<2446:A,s>2870:A,s>2640:A,R} -cb{s>956:kb,A} -bkv{s<917:bm,jn} -cmn{a<1575:A,s>2325:A,s<2132:pzh,A} -vq{x>1200:R,m<1709:A,A} -xx{s<2987:R,s>3641:A,m<3099:gnk,A} -skj{x<2732:pgx,x>2863:pqn,a>2109:R,A} -qk{x<433:R,x<540:grb,s>2612:dp,mf} -nb{a<3379:dgv,x>433:xqb,mzt} -skd{s>85:R,a>3825:R,s>57:bsr,vj} -bsr{a<3615:R,A} -bqr{m<2638:A,kk} -gmm{s<271:R,R} -ssr{m>170:mkm,A} -xr{x>1412:R,R} -dpd{s>2570:rz,a<2463:ndl,m<1077:tqk,fsz} -cg{x>2240:R,s>3092:A,s<2882:R,A} -zt{s>605:R,m<1978:R,x<3468:A,A} -gbn{a>2840:A,x>606:R,A} -sk{s>627:A,R} -xv{s<3310:A,x<1827:R,R} -jvb{m>2641:rhf,x<598:dsq,x>615:R,nr} -dbk{a<3270:R,s<3854:A,R} -ld{x>1033:A,s<1042:A,A} -hz{s>2156:A,R} -hgm{a>3479:zsv,a>3293:jsd,bg} -sd{s<1388:R,m<220:A,a<3336:A,R} -ks{x<3304:R,A} -cp{x<3510:A,s>2786:A,R} -mc{x<138:tx,m<1731:lg,nd} -grf{a<3910:dt,zzd} -tm{m>2653:A,R} -znm{x>3272:R,tj} -qtm{a<2683:A,m<3283:R,A} -cpj{x>523:A,m>2682:A,m<2527:R,A} -vx{x>2368:A,A} -kp{x>444:R,x<233:R,A} -vlq{a>3107:tm,s>3354:A,m<2037:R,R} -mzn{m>2863:R,A} -zb{s>1752:R,x>1070:zgf,sk} -pqn{m<2758:A,R} -lsq{m<3507:A,s<957:R,R} -krr{a<3740:R,R} -czn{a>3163:R,m<1999:R,a<3012:A,R} -nkk{s<2070:R,R} -nrt{s<1315:A,x<2219:R,A} -ds{a<1180:hjj,m<1480:hxc,pf} -xb{x<928:R,s<680:dpt,ngq} -mj{a<2118:R,R} -kpv{x>329:A,A} -dpt{x<1220:R,R} -vls{a<1332:A,a>1469:A,R} -cs{x>1439:R,s>709:A,R} -tl{a>1243:jsj,ds} -xbt{x>1513:A,fz} -hpt{m<2917:R,m<3336:R,R} -fr{m<1904:hdc,xdt} -dsl{x<891:R,a<3061:A,A} -ph{m>522:A,A} -tck{a>3652:zdg,a<3466:vvc,m<1552:gl,pv} -lk{x>628:A,x<605:R,x>614:R,A} -nj{s>2734:A,R} -khd{a>2723:hm,x<1375:lxg,a<2580:A,zx} -vvc{x<813:nb,s<1759:bbv,a<3401:kf,sg} -fh{m<3059:R,sv} -rt{m<2548:ccf,bqs} -dtv{s>2651:njc,kpn} -db{s>1037:R,s>793:A,x<3290:A,A} -rfg{x>2488:R,A} -rxj{a>2073:fxv,A} -zgf{a<3590:R,R} -lxg{a<2574:R,m>3113:A,a>2644:R,A} -pp{x<1117:zn,a<3445:A,R} -hk{a<3058:A,R} -cps{x>673:gv,a<3514:lf,dtv} -bl{m<1269:A,s>3432:A,s>3277:A,cml} -rhb{m<2194:sf,zjt} -rth{s<2408:R,m>1515:A,R} -vs{x>2539:A,A} -znq{m>3125:R,A} -hzc{m>1851:mv,x>716:qg,jx} -tzb{m>3238:tg,xxd} -jxd{a<2457:A,A} -cn{s<3324:A,A} -qqc{x<2085:R,m<164:A,m>259:A,R} -rbp{m>2847:A,m<2787:A,R} -jjj{x>876:A,a<3595:A,R} -smc{s<1533:R,a>2843:plp,x<1198:R,pms} -ckf{s>1717:A,s<1570:R,R} -kl{a<2275:A,A} -fl{s>2371:tzb,vhl} -rz{a<2450:R,s>3365:A,R} -rjv{s<1810:A,m>758:A,s>2893:R,R} -hx{x<671:A,a>2389:R,x>691:R,R} -jp{s<2734:gc,s>3506:A,R} -bnt{m>837:A,m>433:R,m>254:R,R} -hgk{a<2704:A,a>3062:A,nxg} -txn{m>2615:ktj,tv} -pgx{a>1994:R,x>2611:R,A} -xxd{m>2723:A,s<2919:zvg,m>2567:R,vm} -gtr{s>886:A,a<1457:R,R} -jcz{s>2754:R,a>1065:R,a<523:A,A} -chq{x<3072:A,x<3293:R,R} -clz{s<3150:fkd,s>3490:rfx,hgm} -hck{x>2194:R,s>122:A,A} -vd{m>1534:jjs,a>3770:kmt,cj} -qzn{x>1103:R,s<2513:A,A} -pj{m>3377:A,A} -tc{a>3418:R,R} -kt{a<1141:tqf,s>1093:hzc,a<1584:rx,dx} -gf{a<3431:A,A} -jx{s<1412:vrm,s>1565:A,dm} -vrl{x>386:xz,R} -mz{a<2492:A,A} -mkg{s>1805:vc,a>3085:bkv,a<2882:dnt,th} -ns{a>3913:R,bdr} -kq{s<2373:A,bt} -jcs{s>2567:R,s<2521:A,R} -jbm{a<2334:cbz,m<2533:cr,s<516:rpl,kx} -pjm{m<2956:A,pcn} -nt{a>1236:A,m<2027:A,R} -rbf{s<846:R,m>2754:hdh,x<73:qfz,jh} -hf{s<2598:cvv,A} -cl{s>3154:hk,a<2910:dc,m>1368:czn,ccj} -rh{s>2442:jxd,s<2047:ckf,s>2249:df,A} -vj{s<31:R,a<3675:R,a<3727:R,A} -qhx{a<1403:R,s<2780:A,R} -hsb{s<3410:R,a<1336:A,A} -vfc{x<2652:kh,s>1086:bjc,m>636:R,A} -cd{s<1248:R,a>2984:R,A} -nhf{a<3351:bk,gvq} -jmz{x>176:R,a>2694:bnt,a>2565:R,vp} -cfl{a>1330:sbp,s<1255:mkx,m<858:R,pqm} -lkb{a<2993:R,m<2845:R,A} -jjb{a>3094:clz,m<2393:sxj,x<3056:gvv,fl} -rrd{a<2231:A,m>3181:kl,x>325:R,dkj} -fj{m>3651:R,gtx} -hdc{x>2461:znm,s>1764:bfq,s>1606:zgx,cxs} -kmt{x<1020:xjj,s<2087:xr,A} -cj{m<730:txd,x>819:A,kp} -xqb{s<1587:rb,a<3436:R,vpg} -xq{a<3606:R,x<329:R,R} -tq{s<2112:A,s<3362:R,A} -zzp{x>2975:sqz,m<2520:R,R} -pqm{m<1122:A,s<1390:R,a>875:R,A} -jq{x<3451:R,cf} -xjj{s>2372:R,x<668:A,s>1023:R,R} -tfq{s>3172:R,m>1532:R,A} -bqs{x>919:xsc,vrl} -thp{a<2602:R,m<2928:R,x<247:A,A} -dkj{x>141:A,m<2971:R,A} -pzx{x>2642:A,a<3478:A,R} -ths{x<2809:sn,a>725:qvl,m<1362:jdx,lnn} -qg{a>1868:mj,m>836:A,zxc} -tx{s>1835:tph,m<2098:px,rbf} -vf{a<2428:skj,m<2736:pg,x>2633:shv,xj} -km{s>209:zqs,a>3504:skd,x<2757:glx,nhf} -kj{s<3287:nj,thp} -cml{m<1837:A,s<3096:R,a>494:A,R} -rlc{m>474:R,m>251:A,x>2484:A,A} -txd{s>2156:R,A} -gl{a>3563:hhp,cps} -ccj{m>569:A,s<2508:A,R} -pf{m>3126:A,x>3194:R,R} -pbh{m>3239:mm,cpj} -zjt{a>1394:cmn,lv} -drm{a>1592:A,R} -bdr{a<3869:R,m>2643:A,x>1082:A,A} -jqs{s>2614:rlc,dq} -mv{x<623:R,qlj} -nr{m<2107:R,R} -zdg{a<3847:vd,s>2594:pck,ln} -xk{s<2671:A,m>1780:R,A} -px{s<685:zzq,s<1444:A,a<2772:R,A} -znr{m>2244:R,a>2352:A,x<3509:A,R} -bk{s>79:R,x<3271:R,A} -ktj{x<1421:khd,m<3145:xbt,x>1493:chs,zj} -hb{s>3741:R,s>3440:A,gm} -ffs{s<1003:A,m>2845:cd,x>2032:nrt,hdf} -dl{x<3044:R,m>1590:A,m<588:A,A} -vg{m<1260:A,s<201:A,a>302:A,A} -zfp{s>3617:chr,R} -qpt{x<2038:R,s<1806:R,x>2275:R,R} -jrp{m<1617:krr,s<3809:A,A} -zqs{s>394:pzx,tn} -knq{x>908:R,x<872:R,dsl} -bbb{x<2800:xrs,a>1484:jpt,x>3526:vrp,tl} -fz{s<1941:R,R} -nm{a>2984:A,m>3291:A,A} -rrl{s>2543:A,a>1195:A,a>1143:R,R} -jpt{a>1614:zf,m<2537:jq,hlc} -mb{s>2480:A,a>2039:R,A} -flg{x<2119:bth,m<3180:mz,a>2238:fhg,kq} -qlg{a>3593:R,A} -nd{s<1985:jd,a<2754:kj,x<224:rcc,bn} -nsg{x>3601:R,R} -pg{a>2794:A,m>2531:A,tk} -vpg{a<3448:A,x>601:A,m>2200:A,R} -qq{a<3599:qlg,xq} -mjq{m>906:A,R} -tk{s<3534:R,A} -tf{x<2430:A,m<2307:A,x<2765:R,A} -bd{m>361:R,a>3529:A,R} -xsq{a>2809:vl,a<2624:tfq,m<1412:mjq,nhl} -bs{m<1209:R,x<1880:A,A} -fn{a<3588:kv,a<3614:qq,s<1821:cls,rn} -xt{m<2535:A,drm} -pzh{x>3042:R,x>2454:A,R} -sx{x<1429:bvs,rxv} -vz{x<933:R,A} -nq{m<3063:R,A} -dm{m>867:R,A} -sdr{s>1536:zsf,cnc} -bvs{x<1372:A,x<1409:R,m>1611:A,R} -zxk{m>1166:tb,m>571:fkh,sd} -nxg{x>1061:R,x<1037:R,x>1045:R,R} -gq{x<350:mc,a<2674:dz,mkg} -vrp{x<3760:bmc,ddj} -bbn{x>1096:A,m<3379:A,s>2981:R,A} -sc{s>2125:R,A} -vlc{s<330:R,x>2068:R,R} -pl{s>2521:R,x<590:R,R} -shm{m<1775:R,a<392:R,khx} -zvg{s>2600:A,R} - -{x=864,m=2222,a=195,s=384} -{x=901,m=448,a=737,s=1768} -{x=2926,m=108,a=66,s=710} -{x=447,m=2075,a=739,s=2} -{x=597,m=681,a=975,s=28} -{x=2159,m=1819,a=2019,s=618} -{x=384,m=15,a=1695,s=142} -{x=76,m=739,a=729,s=42} -{x=1070,m=3064,a=2917,s=2856} -{x=1584,m=1118,a=1134,s=1906} -{x=23,m=7,a=309,s=260} -{x=987,m=52,a=513,s=2353} -{x=2128,m=133,a=1707,s=2272} -{x=1721,m=9,a=10,s=2757} -{x=56,m=1928,a=2447,s=651} -{x=358,m=1514,a=208,s=2003} -{x=991,m=160,a=1850,s=29} -{x=135,m=900,a=257,s=1885} -{x=1594,m=1262,a=292,s=773} -{x=958,m=762,a=1835,s=129} -{x=204,m=851,a=781,s=51} -{x=393,m=77,a=65,s=1317} -{x=102,m=2858,a=694,s=133} -{x=1558,m=357,a=508,s=289} -{x=185,m=111,a=305,s=2389} -{x=877,m=2013,a=2980,s=2509} -{x=2494,m=1224,a=54,s=939} -{x=336,m=1421,a=2434,s=2183} -{x=375,m=713,a=2313,s=459} -{x=2899,m=54,a=334,s=1951} -{x=452,m=585,a=16,s=531} -{x=220,m=566,a=192,s=346} -{x=1556,m=1173,a=7,s=611} -{x=793,m=1179,a=549,s=16} -{x=2730,m=545,a=888,s=2861} -{x=8,m=136,a=1607,s=40} -{x=641,m=2099,a=2295,s=745} -{x=2342,m=100,a=1010,s=1306} -{x=3432,m=432,a=658,s=645} -{x=121,m=1563,a=1172,s=1807} -{x=60,m=1124,a=859,s=595} -{x=39,m=2653,a=1212,s=295} -{x=1810,m=2143,a=250,s=899} -{x=1049,m=1680,a=2472,s=66} -{x=1305,m=645,a=1311,s=18} -{x=32,m=1575,a=933,s=88} -{x=2066,m=2204,a=2147,s=48} -{x=806,m=263,a=862,s=406} -{x=1218,m=142,a=2380,s=2080} -{x=199,m=1608,a=815,s=504} -{x=1355,m=844,a=312,s=186} -{x=409,m=1271,a=2737,s=620} -{x=652,m=409,a=315,s=1051} -{x=2044,m=149,a=2045,s=3394} -{x=1787,m=496,a=142,s=313} -{x=70,m=78,a=953,s=872} -{x=1072,m=1733,a=541,s=115} -{x=254,m=302,a=1483,s=1537} -{x=239,m=1242,a=929,s=15} -{x=517,m=932,a=1899,s=844} -{x=2926,m=364,a=595,s=1294} -{x=1358,m=68,a=34,s=1728} -{x=2065,m=312,a=3623,s=181} -{x=414,m=451,a=876,s=80} -{x=1689,m=843,a=139,s=245} -{x=1136,m=289,a=2256,s=2537} -{x=99,m=1094,a=980,s=382} -{x=1610,m=751,a=456,s=143} -{x=717,m=113,a=530,s=502} -{x=2050,m=1025,a=431,s=48} -{x=3411,m=87,a=306,s=2865} -{x=1894,m=19,a=46,s=3399} -{x=574,m=1848,a=599,s=1924} -{x=3,m=1021,a=26,s=1166} -{x=776,m=1882,a=1946,s=453} -{x=1170,m=381,a=957,s=601} -{x=1703,m=200,a=298,s=1246} -{x=117,m=43,a=286,s=1131} -{x=2642,m=18,a=552,s=8} -{x=333,m=458,a=518,s=1260} -{x=2391,m=794,a=1032,s=1156} -{x=1439,m=629,a=1737,s=268} -{x=70,m=465,a=603,s=1399} -{x=312,m=648,a=875,s=785} -{x=3106,m=348,a=45,s=198} -{x=2991,m=18,a=1424,s=436} -{x=397,m=1490,a=520,s=53} -{x=553,m=232,a=2916,s=781} -{x=1404,m=738,a=925,s=513} -{x=757,m=619,a=442,s=43} -{x=1747,m=924,a=11,s=430} -{x=3644,m=201,a=693,s=33} -{x=336,m=141,a=1473,s=2008} -{x=1723,m=1595,a=91,s=282} -{x=768,m=426,a=895,s=573} -{x=312,m=604,a=12,s=361} -{x=2900,m=23,a=748,s=578} -{x=1100,m=116,a=2804,s=2407} -{x=121,m=94,a=937,s=514} -{x=61,m=2592,a=1518,s=855} -{x=356,m=64,a=1167,s=732} -{x=1538,m=702,a=444,s=524} -{x=1071,m=230,a=1273,s=954} -{x=1538,m=1389,a=963,s=681} -{x=3560,m=407,a=606,s=1015} -{x=276,m=534,a=14,s=2920} -{x=122,m=1529,a=3159,s=302} -{x=764,m=529,a=1535,s=1743} -{x=1015,m=491,a=1323,s=1241} -{x=831,m=1667,a=2553,s=146} -{x=841,m=203,a=2621,s=696} -{x=1586,m=403,a=1308,s=1892} -{x=2119,m=47,a=446,s=124} -{x=2321,m=2184,a=309,s=735} -{x=44,m=99,a=2037,s=1730} -{x=917,m=192,a=31,s=1104} -{x=1135,m=2330,a=2073,s=1651} -{x=1149,m=907,a=51,s=79} -{x=299,m=330,a=2588,s=1829} -{x=203,m=1847,a=205,s=696} -{x=418,m=498,a=1030,s=307} -{x=1560,m=1398,a=54,s=723} -{x=1232,m=39,a=216,s=648} -{x=1449,m=527,a=2553,s=39} -{x=2579,m=154,a=208,s=1099} -{x=213,m=1557,a=2636,s=202} -{x=1787,m=1475,a=1407,s=1761} -{x=1057,m=33,a=29,s=1488} -{x=46,m=2348,a=2573,s=1457} -{x=2080,m=352,a=247,s=97} -{x=166,m=10,a=938,s=1203} -{x=375,m=3545,a=21,s=2507} -{x=1525,m=1748,a=63,s=511} -{x=4,m=712,a=1182,s=2085} -{x=460,m=996,a=1,s=2354} -{x=538,m=1452,a=1066,s=2980} -{x=328,m=488,a=2291,s=1542} -{x=787,m=2124,a=649,s=281} -{x=890,m=17,a=1812,s=99} -{x=950,m=308,a=67,s=87} -{x=792,m=500,a=64,s=546} -{x=194,m=524,a=849,s=1060} -{x=24,m=492,a=1727,s=1628} -{x=3080,m=427,a=11,s=300} -{x=910,m=2320,a=2178,s=225} -{x=100,m=586,a=2247,s=1402} -{x=1277,m=400,a=1053,s=11} -{x=442,m=450,a=1063,s=1664} -{x=1360,m=658,a=1705,s=306} -{x=60,m=1215,a=1012,s=2971} -{x=37,m=973,a=1351,s=2900} -{x=755,m=1798,a=41,s=1999} -{x=456,m=565,a=13,s=18} -{x=1068,m=108,a=1261,s=216} -{x=179,m=559,a=1871,s=1357} -{x=760,m=1634,a=1753,s=502} -{x=33,m=466,a=1114,s=112} -{x=443,m=1297,a=280,s=1777} -{x=2608,m=1971,a=651,s=2930} -{x=244,m=1227,a=1578,s=15} -{x=1063,m=635,a=2276,s=331} -{x=321,m=1326,a=2474,s=359} -{x=1412,m=186,a=2378,s=750} -{x=1007,m=463,a=211,s=520} -{x=2193,m=158,a=1966,s=952} -{x=1047,m=348,a=37,s=88} -{x=3034,m=1692,a=248,s=1957} -{x=508,m=1601,a=213,s=712} -{x=640,m=386,a=1410,s=2062} -{x=683,m=855,a=503,s=3485} -{x=574,m=28,a=978,s=287} -{x=4,m=1189,a=20,s=330} -{x=1716,m=1734,a=166,s=547} -{x=903,m=1023,a=220,s=2002} -{x=2105,m=2151,a=753,s=216} -{x=357,m=1260,a=242,s=32} -{x=382,m=1261,a=3644,s=2198} -{x=451,m=1290,a=1901,s=446} -{x=510,m=391,a=1064,s=1313} -{x=1279,m=40,a=1825,s=946} -{x=21,m=1879,a=1728,s=429} -{x=50,m=183,a=1799,s=895} -{x=2200,m=2092,a=827,s=1450} -{x=230,m=1800,a=1178,s=1276} -{x=747,m=1987,a=838,s=1589} -{x=2113,m=613,a=727,s=26} -{x=34,m=305,a=1750,s=1402} -{x=394,m=3102,a=229,s=339} -{x=247,m=1734,a=102,s=847} -{x=819,m=1651,a=3293,s=1663} -{x=459,m=2156,a=175,s=296} -{x=1194,m=2195,a=324,s=297} -{x=510,m=47,a=9,s=1406} -{x=478,m=18,a=114,s=643} -{x=278,m=2041,a=185,s=237} -{x=2208,m=263,a=252,s=70} -{x=22,m=956,a=1030,s=240} -{x=164,m=466,a=3598,s=1158} -{x=2901,m=267,a=108,s=455} -{x=569,m=1421,a=1176,s=1237} \ No newline at end of file diff --git a/aoc2023/src/day2/input.txt b/aoc2023/src/day2/input.txt deleted file mode 100644 index 34a6672..0000000 --- a/aoc2023/src/day2/input.txt +++ /dev/null @@ -1,100 +0,0 @@ -Game 1: 1 green, 4 blue; 1 blue, 2 green, 1 red; 1 red, 1 green, 2 blue; 1 green, 1 red; 1 green; 1 green, 1 blue, 1 red -Game 2: 2 blue, 2 red, 6 green; 1 red, 6 green, 7 blue; 10 green, 8 blue, 1 red; 2 green, 18 blue, 2 red; 14 blue, 3 green, 1 red; 8 green, 1 red, 9 blue -Game 3: 6 green, 5 blue, 9 red; 4 blue, 1 green, 13 red; 9 green, 14 red, 1 blue -Game 4: 14 green, 3 blue, 16 red; 20 red; 4 green, 2 red, 1 blue; 10 blue, 11 green, 18 red; 3 red, 3 blue, 6 green; 2 green, 18 red, 9 blue -Game 5: 5 green, 4 blue; 1 red, 3 blue, 2 green; 4 green, 2 red, 15 blue; 11 blue, 8 green, 4 red; 4 red, 3 green; 4 red, 3 green, 7 blue -Game 6: 6 blue, 10 green; 2 red, 6 green, 2 blue; 4 red, 4 blue, 1 green; 2 blue, 7 green, 2 red -Game 7: 14 green, 3 red, 2 blue; 5 blue, 3 green, 2 red; 1 green, 3 blue -Game 8: 7 red; 3 blue, 9 red, 1 green; 5 green, 5 blue, 7 red; 1 red, 2 blue -Game 9: 3 green, 4 blue, 1 red; 3 blue, 12 green, 18 red; 7 green, 9 red, 8 blue; 2 blue, 10 red, 12 green; 4 blue, 1 red, 1 green; 4 blue, 6 green, 6 red -Game 10: 2 blue, 4 green, 2 red; 7 green, 4 red; 5 red, 8 green -Game 11: 1 blue, 10 green, 15 red; 1 blue, 2 green, 2 red; 5 green, 10 blue, 8 red; 13 red, 7 blue; 1 red, 9 green, 4 blue; 9 blue, 9 red, 8 green -Game 12: 1 green, 10 red, 3 blue; 14 red, 1 green, 4 blue; 6 red, 3 green, 12 blue; 13 blue, 1 green, 18 red; 4 green, 14 red, 7 blue -Game 13: 1 red, 3 green; 2 green, 1 red, 5 blue; 1 blue; 1 green, 7 blue, 1 red; 1 red, 2 green, 7 blue -Game 14: 7 blue, 9 red, 1 green; 8 red, 2 blue; 11 red, 18 blue, 4 green; 2 blue, 3 green, 1 red; 1 green, 8 red, 9 blue; 2 blue, 8 red, 1 green -Game 15: 8 blue, 3 green, 15 red; 13 red, 10 blue; 2 red -Game 16: 1 green, 1 red; 1 blue, 2 green, 2 red; 1 blue, 4 red, 1 green; 3 green; 2 blue, 3 green, 4 red -Game 17: 1 green, 3 red, 14 blue; 1 red, 2 blue, 2 green; 3 red -Game 18: 1 red, 2 green, 8 blue; 2 blue, 14 red; 4 blue, 2 red, 2 green; 6 red -Game 19: 2 red, 11 blue, 18 green; 3 red, 6 green, 3 blue; 7 green, 1 red, 10 blue -Game 20: 10 red, 1 blue, 4 green; 4 green, 3 blue; 10 green, 13 red, 4 blue; 2 red, 7 green; 4 red, 3 blue, 5 green; 13 red, 1 green, 4 blue -Game 21: 20 red, 4 green, 5 blue; 10 red, 11 green, 4 blue; 1 red, 8 blue, 14 green; 11 green, 8 blue, 15 red; 8 blue, 2 green, 13 red -Game 22: 2 red, 11 blue, 4 green; 1 blue, 3 red, 6 green; 6 green, 1 red, 1 blue; 4 green, 7 blue, 3 red; 11 blue, 6 green, 4 red -Game 23: 6 green, 3 red, 1 blue; 17 green, 11 red; 1 red, 2 blue, 13 green; 13 green, 19 red -Game 24: 1 blue; 12 red, 1 blue; 1 red; 12 red, 1 green, 1 blue; 11 red, 1 blue; 12 red, 1 green -Game 25: 12 blue, 6 red, 3 green; 8 green, 14 blue; 11 green, 5 blue, 6 red; 4 red, 12 blue, 8 green -Game 26: 15 red, 13 green, 9 blue; 9 blue, 8 green, 7 red; 2 green, 6 red, 3 blue; 1 blue, 7 red, 3 green; 13 blue, 4 green, 18 red -Game 27: 9 blue, 5 red; 15 red, 12 blue, 3 green; 12 red, 12 blue, 1 green -Game 28: 18 red, 4 green; 4 green, 6 red; 1 blue, 6 green, 19 red; 9 green, 17 red; 4 green, 5 blue, 18 red -Game 29: 7 green, 6 red, 6 blue; 6 blue, 19 red, 4 green; 4 green, 4 blue, 13 red; 5 blue, 15 red, 10 green; 2 green, 6 blue, 5 red; 8 red, 10 green, 6 blue -Game 30: 1 green, 13 red, 12 blue; 1 red, 2 blue; 11 blue, 1 red, 1 green -Game 31: 8 green, 18 blue, 17 red; 4 red, 8 green, 6 blue; 9 blue, 7 green; 3 green, 1 blue, 12 red; 5 red, 10 blue, 11 green -Game 32: 17 red, 17 green, 7 blue; 18 red, 16 green; 1 blue -Game 33: 16 blue, 3 red; 9 blue, 1 red, 2 green; 3 green, 7 blue; 1 green, 4 red; 3 green, 1 red, 8 blue; 5 blue -Game 34: 5 blue, 8 red, 1 green; 9 red, 10 blue, 7 green; 1 green, 14 blue; 8 blue, 4 red, 10 green; 15 blue, 8 green, 7 red; 2 red, 6 green, 3 blue -Game 35: 13 red, 9 blue; 7 blue, 16 red, 10 green; 4 red, 6 blue; 3 blue, 12 green, 7 red; 8 blue, 6 red; 10 blue, 3 green, 2 red -Game 36: 1 blue, 9 red, 2 green; 11 red, 3 blue, 2 green; 2 green, 6 red; 8 green, 11 red, 3 blue; 4 green, 7 blue, 11 red; 9 green, 8 red, 2 blue -Game 37: 8 green, 3 blue, 4 red; 14 blue, 10 green, 3 red; 19 green, 2 blue, 7 red -Game 38: 2 green, 3 red, 3 blue; 3 green, 9 red; 13 blue, 8 red; 6 red, 5 green, 13 blue -Game 39: 8 red, 5 blue; 4 green, 5 blue, 3 red; 18 red, 2 green, 6 blue; 2 green, 5 blue, 17 red; 1 green, 2 red; 5 green, 6 blue -Game 40: 12 red, 4 blue, 1 green; 11 green, 20 blue, 4 red; 10 blue, 4 red -Game 41: 2 green, 2 blue; 2 red, 2 green; 2 green, 2 blue, 10 red -Game 42: 6 green, 3 blue; 2 red, 2 green, 1 blue; 3 blue, 5 green, 6 red; 6 red; 1 blue, 6 green, 12 red -Game 43: 1 blue, 4 green; 1 blue; 2 blue, 8 red, 2 green; 2 blue, 1 red, 4 green; 1 blue, 4 red, 4 green; 4 green, 7 red -Game 44: 8 green, 9 red; 1 red, 2 blue, 13 green; 4 blue, 8 green, 17 red; 13 red, 13 green; 1 red, 9 green; 19 red, 3 green, 3 blue -Game 45: 10 blue, 2 red, 1 green; 6 green, 5 red, 8 blue; 3 blue, 1 red; 4 green, 10 blue, 4 red -Game 46: 3 red, 8 blue; 6 blue, 7 green, 6 red; 6 green, 1 blue, 7 red; 8 red, 1 green, 5 blue; 9 red, 12 blue, 10 green; 7 green, 5 red, 1 blue -Game 47: 5 red; 2 blue, 2 green, 5 red; 3 green, 7 red; 14 red, 3 green, 2 blue -Game 48: 7 blue, 12 green, 2 red; 11 green, 10 blue, 1 red; 1 red, 13 blue, 2 green; 14 green, 2 red, 9 blue; 2 red, 12 green, 3 blue; 2 red, 7 blue -Game 49: 4 green, 5 blue; 9 blue; 10 blue, 5 green, 2 red; 10 blue, 2 red, 2 green; 1 red, 1 green, 4 blue; 2 blue -Game 50: 2 red, 2 blue, 7 green; 7 red, 9 green, 3 blue; 5 red, 10 green -Game 51: 15 red, 9 blue, 4 green; 5 red, 2 blue, 15 green; 4 blue, 3 green, 20 red; 12 green, 1 red, 10 blue; 10 green, 5 blue, 13 red; 9 red, 10 green, 11 blue -Game 52: 3 blue, 12 green, 1 red; 6 green; 1 red, 8 green; 1 blue, 1 green, 1 red -Game 53: 10 green, 7 red, 12 blue; 9 blue, 6 green, 2 red; 8 green, 5 blue, 5 red; 7 blue, 16 green, 11 red; 6 red, 8 blue, 13 green -Game 54: 10 green, 6 blue, 3 red; 6 green, 2 red, 8 blue; 9 blue, 11 green, 2 red; 10 green, 1 blue, 3 red -Game 55: 4 blue, 1 red; 3 red, 7 blue; 12 red, 4 green, 8 blue; 3 green, 5 blue, 1 red; 13 blue, 12 red, 1 green -Game 56: 12 blue, 15 green; 1 green, 7 red, 11 blue; 5 green, 9 blue, 1 red; 8 red, 5 green, 6 blue -Game 57: 4 green, 11 blue, 18 red; 14 blue, 14 red, 16 green; 7 red, 15 green, 3 blue; 18 red, 20 green, 8 blue; 12 blue, 9 red, 16 green -Game 58: 10 blue, 9 green, 8 red; 13 green, 6 blue, 8 red; 8 green, 4 red; 4 blue, 1 red, 18 green; 7 red, 10 green, 10 blue; 15 blue, 10 green, 3 red -Game 59: 17 green, 2 blue, 2 red; 2 blue, 1 red, 8 green; 14 green, 1 red, 1 blue; 15 green, 3 blue, 2 red; 2 blue, 8 green, 1 red; 1 blue, 1 red, 8 green -Game 60: 1 green, 1 blue, 1 red; 4 blue, 3 red, 2 green; 13 green; 2 blue, 2 red, 8 green; 4 red, 12 green, 4 blue; 4 green, 4 blue, 4 red -Game 61: 3 blue, 7 red; 5 blue, 8 red, 1 green; 1 blue, 8 red; 10 blue, 2 red, 1 green; 1 green, 5 blue, 2 red -Game 62: 10 red, 2 green; 8 blue, 7 red, 2 green; 4 green, 2 blue, 10 red -Game 63: 1 green, 3 blue, 5 red; 6 green, 5 blue, 2 red; 3 blue, 7 red -Game 64: 6 red, 20 blue; 4 red, 3 blue, 2 green; 3 green, 19 blue, 6 red; 2 green, 6 blue, 3 red; 13 blue, 5 green, 5 red -Game 65: 6 red, 9 blue, 20 green; 6 red, 16 green, 4 blue; 12 red, 6 green, 5 blue -Game 66: 2 blue, 5 red, 4 green; 13 blue, 2 green; 1 green, 6 blue -Game 67: 4 green, 5 blue, 2 red; 1 red, 14 blue, 6 green; 1 green, 14 red, 5 blue; 18 red, 16 blue; 15 blue, 8 red, 18 green; 1 green, 18 red, 6 blue -Game 68: 1 blue, 9 red, 7 green; 7 red, 1 blue, 6 green; 5 green, 1 blue, 8 red -Game 69: 12 green, 3 blue, 4 red; 9 green, 8 red, 7 blue; 4 blue, 5 red, 10 green; 4 red, 5 green, 7 blue; 9 green, 4 red, 2 blue; 3 green, 13 blue, 1 red -Game 70: 9 red, 1 green, 8 blue; 11 green, 13 blue, 12 red; 3 blue, 5 green, 8 red; 1 red, 14 blue -Game 71: 10 blue; 2 green, 8 blue, 9 red; 5 red, 1 blue -Game 72: 3 green, 5 blue, 5 red; 1 blue, 1 red, 2 green; 4 red, 4 blue, 1 green; 5 blue, 4 red, 1 green; 6 blue, 3 green, 5 red; 5 blue, 1 red, 4 green -Game 73: 3 red, 1 green, 1 blue; 7 green, 2 red, 1 blue; 2 green, 1 blue, 3 red; 1 red, 4 green, 1 blue; 3 red, 5 green -Game 74: 5 blue, 1 red, 4 green; 3 red, 2 green; 4 red, 6 blue; 2 red, 2 blue; 1 green, 4 red, 8 blue; 5 blue, 4 red -Game 75: 3 red, 5 blue, 3 green; 9 green, 6 blue, 7 red; 2 green, 3 red, 12 blue; 14 green, 4 blue, 10 red -Game 76: 1 blue, 7 red, 1 green; 6 red, 1 blue, 2 green; 4 red, 2 green; 3 red, 1 blue; 16 red, 1 green -Game 77: 3 red, 10 blue, 1 green; 4 red, 7 blue, 3 green; 7 blue, 6 green, 7 red; 5 green, 15 blue, 7 red; 12 green, 5 red -Game 78: 6 red, 10 blue, 15 green; 6 green, 11 red, 4 blue; 6 blue, 8 red; 4 blue, 7 red, 2 green; 11 green, 7 red, 11 blue; 3 blue, 14 green, 6 red -Game 79: 14 red, 6 green, 4 blue; 13 red, 6 blue; 6 red, 13 green, 4 blue -Game 80: 8 red, 2 blue, 8 green; 6 red, 10 green, 4 blue; 3 red, 9 green; 2 green, 8 blue, 7 red; 7 blue, 3 red, 11 green; 1 red, 12 green, 8 blue -Game 81: 9 red, 4 blue, 11 green; 1 blue, 4 red, 2 green; 5 red; 3 blue, 2 red, 2 green; 14 red, 12 green -Game 82: 5 green; 2 blue; 2 red; 1 blue, 2 red, 11 green; 8 green, 2 red, 1 blue -Game 83: 3 green, 7 red, 6 blue; 7 red, 7 green, 11 blue; 7 blue, 13 green, 7 red; 12 blue, 10 red, 2 green; 1 green, 11 red, 7 blue; 12 blue, 9 red, 9 green -Game 84: 5 blue, 1 green; 16 green, 4 blue, 8 red; 7 red, 5 blue, 16 green -Game 85: 9 green, 20 blue, 7 red; 19 blue, 14 red, 2 green; 10 green, 2 red, 10 blue -Game 86: 1 green, 3 red, 5 blue; 9 red, 2 blue, 6 green; 8 green, 14 red, 3 blue; 18 green, 2 blue, 7 red; 2 blue, 10 red, 14 green; 17 green, 4 blue, 12 red -Game 87: 4 green, 8 red, 13 blue; 7 red, 13 blue, 4 green; 1 green, 8 blue -Game 88: 9 blue, 11 red; 5 green, 7 blue, 12 red; 10 red, 2 green, 1 blue; 2 blue, 5 red, 5 green; 7 red, 6 green, 9 blue; 1 green, 10 red, 5 blue -Game 89: 7 red, 2 green, 1 blue; 1 blue, 2 green; 6 red, 1 green; 7 red, 1 blue; 3 green, 3 red -Game 90: 8 blue, 2 red, 3 green; 9 green, 4 blue, 3 red; 7 green, 11 blue, 2 red; 13 green, 12 blue, 8 red; 10 blue, 2 green; 5 green, 1 red, 9 blue -Game 91: 2 red, 2 green, 4 blue; 5 blue, 2 red, 16 green; 11 green; 3 blue, 2 red, 8 green; 4 green, 3 blue -Game 92: 8 red, 12 blue, 3 green; 11 red, 10 blue, 6 green; 14 red, 8 green, 14 blue -Game 93: 3 green, 2 red, 3 blue; 3 green, 3 red, 1 blue; 2 blue, 16 red, 3 green; 2 green; 5 green, 2 blue, 2 red -Game 94: 5 red, 2 green; 9 red, 3 blue; 2 green, 2 blue, 5 red; 3 blue, 8 red, 2 green; 8 red, 1 blue, 1 green -Game 95: 3 blue, 4 green, 7 red; 7 red, 1 green, 15 blue; 6 blue, 2 green, 7 red -Game 96: 2 blue, 1 red, 6 green; 7 blue, 8 green; 1 red, 7 green; 2 green, 14 blue, 1 red; 3 blue, 1 red, 7 green; 4 blue, 11 green -Game 97: 2 red, 9 blue, 8 green; 3 green, 5 blue; 6 green, 1 red, 9 blue; 2 red, 13 green, 1 blue; 2 green, 2 red, 2 blue -Game 98: 2 blue, 1 green, 1 red; 4 blue, 5 red, 1 green; 4 blue, 3 red, 2 green -Game 99: 17 red, 2 blue, 4 green; 4 green, 8 red, 6 blue; 5 red -Game 100: 6 red, 4 green; 3 red, 2 blue, 9 green; 1 blue, 5 green, 14 red; 1 blue, 2 red, 2 green; 9 red, 1 blue, 14 green; 2 blue, 11 green, 8 red \ No newline at end of file diff --git a/aoc2023/src/day20/input.txt b/aoc2023/src/day20/input.txt deleted file mode 100644 index 6949a60..0000000 --- a/aoc2023/src/day20/input.txt +++ /dev/null @@ -1,58 +0,0 @@ -%hb -> mj -%mx -> mt, xz -%xh -> qc -%tg -> cq -%kp -> xz, nj -%mj -> jj, lv -%cq -> jm -%mt -> sj, xz -&jj -> hb, lz, rk, xv, vj, vh, lv -%rm -> bz, xq -%hx -> bz -%xv -> lz -%xx -> kp, xz -%pt -> vx -&xz -> bq, gr, sj, rv, zf -%vx -> gf, cv -%xb -> xz, bq -%xk -> gf, rd -%lv -> zk -&rk -> gh -%kn -> gf, tz -&gh -> rx -%sj -> vp -%jm -> vm, bz -%rr -> rv, xz -%tz -> rz -%gg -> kn -&cd -> gh -%qc -> kh, bz -%kb -> gf -%vp -> xz, xx -%fb -> bz, tg -%rd -> cp -%qn -> vh, jj -%xr -> jj -%tp -> rm, bz -%cp -> gg -&bz -> qx, cq, xh, fb, tg -%qq -> pt, gf -%xq -> bz, hx -%gx -> jj, qv -%bq -> rr -%cv -> gf, kb -%zk -> jj, xv -&zf -> gh -&qx -> gh -%vh -> gx -%qv -> xr, jj -%lz -> qn -broadcaster -> fb, xk, gr, vj -%nj -> xz -%gr -> xz, xb -%kh -> tp, bz -%vm -> bz, xh -%rz -> qq, gf -&gf -> tz, cd, rd, xk, pt, cp, gg -%rv -> mx -%vj -> hb, jj \ No newline at end of file diff --git a/aoc2023/src/day3/input.txt b/aoc2023/src/day3/input.txt deleted file mode 100644 index 1903642..0000000 --- a/aoc2023/src/day3/input.txt +++ /dev/null @@ -1,140 +0,0 @@ -............830..743.......59..955.......663..........................................367...........895....899...............826...220...... -.......284.....*............*.....$...+.....*...377..................*.......419.............488...*.......*...................*..-....939.. -....%.........976..679.461.7..........350..33.........$.380...$...151.897..........295..#......*....105.....418.............481........&.... -...992.....#......=...../........701................508...*..578........................259...331.................795..945........79........ -.........868........................*.............................17*..........348................441*852........*.....-...........@.....922 -....................*200............311..63................452.......323.#778.*....674....................680......696...372.....*.......... -.......266.......209......589.....=......*...365.........7.*...233.............755....*......644...272........697..*....*.....682..225...... -..836..........................949....607..........&....*..899...*....679.527.........331..........$....788../.....43....89................. -........367.....328.&......%...............680...69..717.......60.......*.*............................*..........................728...264. -........*.........*..119.253.......................................626....129...274............97...679.......752........*.......*....*.*... -........360......471........../.........573-.702.............866...@...........*......772....../........259....*.........430....136.742.543. -.........................../.852...............*...775...............643....455....../...........832....*.....41..535....................... -.............-..........340.................103....*..........$...51*..................74................438......%...776...+.23*..663...... -.15.......806...............990.....................427....924............530.........=..............................*....968.....=....480.. -......#..............@914...*..............*........................%......*................................/.....406.................*..... -....201.........79........592............70.894.....247..513+....367..$299.698......199................-.....223....../.........563....783.. -......................448........489................*.................................*....440...889...715..........351.....39.............. -.138....../766...........*.......................152.........................377....599.......*...*...........................@............. -....%.820.......10*43.670..$87....100*244..@706..........668..319#...........................831.736....@............./..693.....321%....... -......=...930#..................@...................493....*............152......569.................=.914....764.....9.-................... -378$...............&.....854..505.........%........&.....124......12........117.....*591..979..76..133..........+............/..........883. -...............602.141.....*...............770.....................*.........*................../.........874.@....../684....778............ -...........................954.....*397.........................394...........614..307*74..457..............+.514.......................327. -........335*25.....-....31..........................................$...719.................*........6..214................878.............. -...............86*.269....*...480........................*....140..947....*..&.......................*......972..............*..364*274..... -501-.......805..........285...*..................6....335.167...*........18...332.............741...127......+.............246.............. -......616.......752*276.....470.848..599.........*............779..=................539...961..$.........204.......-..201*.....%............ -.491.....*..521.........*94.......*.-.....&...163........285/......51..99*......474..*...-.......945.....&......839.......140...201.....$... -....$.795..*........539.........500.......662.............................421....*...459..../.......*407.............../................471. -...........110.......*...............252.............................%..........730......551..509.............824...230....569....48=....... -......150...................................+..70.565=.&320.........983....155................=.....54.......%............*....@......../... -...............972..146...........49.433..137..............................*....%..................@....................436.451..........328 -568-...@.552%....-.-................*.................957................93......74...........*........156.566../....#...........285........ -.....565..............693....443......................*....394.@58...362...................383.583.............542.38............./..890.... -...*.................*........*........&.223...........506.............=..................................300...............477........&.... -..612..459..........462....663......125....................720..............355.....253...............904......................*............ -........$................................622..............=................*...........*30.........#.$........................284........383 -............&.999....&.......................%........240....295*681.846....53.....806......793..646....626./76..737....479.........558.@... -.........892..#.......885.....804..587*....340.........*..............%............*.........*..........*................%............/..... -660..635...........-............./.....213........$....512.....551.............*....910........................@............................ -........*..........361..270*.....................328..............*.........853........................*.....985...965............232...948. -..501@......................213...412$.....375..................631..916.......................254...284.........#....*..252........*....... -...................695............................872*876..622..........-.........*..575...851*..................910.395..*....*717.248..... -.....91.........80....*..390...........497....496............*.......@.........297..*................&....873.............946.8.........647. -.......*.424.......108.....=.............*..................686....418.............131........600.96.327...=...561...321............343*.... -....731....*..............................938..........256..............909.......................................*......................... -.........811...=....................680...........167...*...601.....................892..#.......142*.......151..108............201......... -................653........879....@.*.........%...*...699..*..............726............695.870.....526.$................*8............234. -....54....311..............=...320..619.......495.375.......926....914.........654..............*........236...$.......444.....@613......... -...*........*......450*............................................*...786.625.......804.850.....674..........305........................... -..593.512....517.......155.....646*239....286......+...........96..264....*......471.*......*.........314*901..............879.............. -..........................................=.....419....820......&..................+.......163....148........................*....586....... -.....331.....................637....126.................*..147............650...............................................315....*........ -.......%......................$....../.................392....@...943..34...*......752.............................161..30.........970.521.. -.........984.412#.......-.569...@................464....................*.275..&.....#.126*506....................*.......=.168-............ -.724..................570....*.914.388.........%..$.........274.......263.......130..............102.....2....21+.268....................226 -..........776=...6........759.......*..283..309.....682......$..........................................%........................446........ -....%284.........-....#...........119....*......622...@....+............/.......929..178...........141/............../650...628.+........... -....................440........88.........335...*.......804............968..976*....+...................$.421..431..................*....... -.....880@.......871.....30......................249...........134....*................*...............95....-...*.....856...353...94.....963 -...............*....97..&.......989./.........*.....522+..$.....*.226.436.905......347.396.707...511..........342.....-.....*...........*... -........936*....299.........217.&...478....931.457........62.391............&...............*..../...884*....................370........483. -....965.....992.............*......................................371*771.............37..382...........990...391.......852................ -.......*........985.......753.&..........561.204.......................................*......................*...........@..........+935... -......677.....................164.883...............325........951.....847....%......433....*944.50...753..344.............................. -.829.......583........429............*34......243...*.........*.............329.%........421...........*..........803..746............675... -...*..................*....512............999.......102......398.................640................401....310.............164...452..*..... -269........9........705....*........782....%.......................615.734....-..............289...........*.....................=....661... -........37.#..............14.......*........../.......586.............*........623.......129........324.....601...%.....@................... -...165................#.........861............463.......*.......361*..............356........175.....*.........906.897..716....118..#...... -.....*.............728....417.........+...395#.........443...........829.....390-....................399...............*..........+..813.... -....176..253...846......$...........719..........132............897...............334......................20...........51.....%............ -..............*....*..278................958........*.......=.................183*.......427.......766.......*..914.282......674............ -....&......344...249.....................*.....445.770.....67.....301................295*.........*....715.390...*...../...............424.. -.....541......................160.580...........#................=...........*677..............394.......*........327....739...179.360..*... -..........=................%.....*................-954......%.............406......765..................930.....*.........../.....*.....370. -....%.....979.379..........415...............318..........284....440../............-....133.........157......579.550................747..... -.240..........*.....................@...........*642............*.....84.....%.331................2*...................582...=........*..... -......=.....246....167...............704.............763........999.......781...*.....-109............126..801............*.484....632..542. -....%..488.........@..........................$954....*../.....................779..........232................510.....149.................. -...27..........984.........*....485.....937........982..234..............225..................*..........122.............................16. -...........473.#..........558..*.............410-...........93............#..655....846....829.....760......=...................=....+...... -.....=390..*...................624........#.................+..473..............#......=...........+...577#......$...481.......651.869.806.. -747.......543.259.../717............&...346.......948..........$...........472.............230+......=.........206......*................... -................*........+.224/...798.........311...*..896*220...............&.+..................825....../............378...370........... -...............485.641.674.....................*......................618.......389........................565..&674...........*............ -..........475.................=.162............461.441...................*..........652......&....508..856...........364....464............. -...............154...452#...693....*................*.......391.........979....344..&.......814..............501.......=.................... -...............*................425....25#...........788............879...........*.....29....................&....................850...794 -393.............523...507*683..............174@..........-.............=...369....439....-.......*305.891..........952............*......... -..........+...............................................535..911.........................*....1.........441.....-.........88...906........ -..........997...17.............779..............960...................209........545......513................*...........98...........+608.. -.....................63.968...*.........340.......*...858..339...........%.-767...+...173........47.........906............*210............. -.............&..575..*....@.788.........*.........178.....*.......949.................+...........*.............-.....399.............@..... -..........571....%....984............414...............$.912.....*......302.............594.240..724....341..645.......*.......=..848.642... -....282@...........*......=......189.....138...227*.906.........70......*..................*.............=..........957...657.81../......... -..........*...$.813.179.901.592.....*....................................7....127.............$692...............$..........*.........*..... -.......207..91..............*.....784...872..756.........&..322..............*.........*19.........749.......548..624.694..858...512..598... -.................+.........352...........*.....*.934..126...*.....351..........40...616.......153.....*661............*...........*......... -...823........829...346...........821...826.304...%.......115.......*..........*...............*.............../...622...523.......606...... -...*...............*.............*...................186...........813....716@.372....16..300...489..108.....770.......................697.. -..........919...782.......912................@.........*.%485............................*..........*...............208.220....853.......... -...308......*............*......269.........539.......2.............853.......941.660.532........246.......980..357*....+.....*......./..... -..../......32.164.......15.479.=.............................=...............*....*......................#....*......+......-.855.....415... -.......305..../.....649....*......633...925...634............121............355....578.......14*....422..543.297....429..142................ -..960..+..............*.....536......*..@....-.......51..-.........592#..........+..............9..*........................................ -.....*......515......434............908..........189......430..................332...722..-.........450..#.........................139...... -..259......*.............................39..33.....$..................................*...159..443.....925.............743....414.&...=437. -......58..475...........227%.......217..../...*................../...............&....506..........................63..*.......*............ -.......=......-..............993....%.........166........605....293........977+..498......%.....834...455...........*.....%....981.991...... -...........636..728...*.......*.......494...............................................205........*.@...........528....226.........#....785 -664.9..............$..9...494.272...............725*....775...$....854..........226.243..........832....637*73................165........... -...*...340+.............@...*.......548.............405....*...768..*..............*.......81.........................10.787.$.......918.... -.......................145...265....+..........110........45.........90..299.....$........&.....696...475.-452..290....*...*..........@..... -......+....246.108.305...................894....=............121.588......*....69...................................236..97......348........ -.......709........*...........-...........-..........411...=...*.......135........................738..383.....634*..........429.@.......... -...........%........%217......119.....................@..47.........+.......923..............606...*.......960..............-............... -....835.....744...................546.......215.............512.....950.......%...444......&...$.833......./.........813.......400..%...48.. -........362.......898..#.......................*.732........*.............965....&.........584..................521..#...........-.995...... -....64.*.........*.....265........781..376...320.#........998...450.......%............................$...............................304.. -....-...966...875..981........742*.......*...........*276.........*...............541.....219.279..357..164...551..%717...............%..... -...................*...786.$..........*...163.....915...........960...%...509.135*...........*................-...........%.539............. -....666..699......179..+...612..=734..545...........................88.....&.......392...46..........483=..&.......548.135.....*.413.#620... -...$....*....948..........................530.656....%..484....*..................*......./...741..........444......*.......150...*......... -......................524...928..........=........858....=..562.571........117@.195..896......*......662.......148.388.............320...... -...166..48.../....-............#...159.......487.....................260...............#...713.........*.347................................ -......*.......657..837.....273.......%........*...155.................*........225..................228.....*370..../.......724.....764..... -......654.679.................@.........-....918...................681..461.............................776......737.................+...... -...........*....859......881#............625......$...........888.........+...57...............887.$.......*............................#911 -...46*....72...&...................................102.............651........*......*530.......-..667....850..829*.869%........298......... -......925..........892.352*........6.41....................+...160.$.....*.72..878..1.....................................738......*926..32. -...............279.........721......*..............694....799..&......878....*................219....+...482..368$...........*../........... -......604........*....................583*506........-...........740..........347............*....576......*................498..478.974.... -..486.-....................626..................320........&....../.................*979.=....863........497........111..............%...... -...................................538..78...*.....*......7...455.......223......939......673..........=......559-....*...834............58. -.......644....&.......#..669+.1.......*.....782.....865......*....779..#..............110...../....937..312...........489................... -.......*....571.....69........*.......169...................919....*.....808.................335...*.............................24*896..... -.......233................590.553..............198=..450.........661.......*.....................15...-....................-575............. -...........919*.....................................*.......234.........492..%...........300...........301........./866..........*.......... -...............470.....440.874...116....240........299......................27......409.......................................639.136....... \ No newline at end of file diff --git a/aoc2023/src/day4/input.txt b/aoc2023/src/day4/input.txt deleted file mode 100644 index 0391b6a..0000000 --- a/aoc2023/src/day4/input.txt +++ /dev/null @@ -1,203 +0,0 @@ -Card 1: 8 86 59 90 68 52 55 24 37 69 | 10 55 8 86 6 62 69 68 59 37 91 90 24 22 78 61 58 89 52 96 95 94 13 36 81 -Card 2: 6 42 98 5 17 31 13 36 63 61 | 99 88 14 20 63 5 56 33 6 21 92 13 17 7 31 93 30 74 98 15 11 36 61 42 47 -Card 3: 16 58 72 77 1 67 33 82 68 7 | 16 37 15 75 78 1 49 82 22 45 83 58 77 79 50 88 98 67 33 72 42 29 35 7 68 -Card 4: 75 35 37 6 29 54 64 57 82 4 | 8 33 27 85 84 54 75 37 4 57 70 29 64 94 17 6 38 41 82 81 71 35 47 51 19 -Card 5: 23 85 52 77 81 50 28 59 87 82 | 70 65 12 35 9 41 62 31 47 66 58 15 76 46 68 67 55 86 17 38 18 1 75 79 13 -Card 6: 77 64 13 36 68 88 16 75 25 95 | 25 64 55 58 75 66 23 16 27 68 69 88 13 9 39 42 29 65 83 97 32 89 53 96 94 -Card 7: 31 12 76 29 48 96 41 49 21 37 | 94 81 65 82 15 33 53 91 88 37 46 29 3 80 95 67 11 27 31 30 49 89 78 41 90 -Card 8: 20 5 52 31 46 25 88 95 39 83 | 36 62 48 39 69 3 81 11 61 95 43 85 34 46 5 8 13 45 10 17 2 88 70 52 89 -Card 9: 8 85 89 55 77 9 40 5 57 37 | 56 84 62 42 49 50 51 35 75 25 13 74 68 1 99 48 41 94 45 66 17 69 23 29 67 -Card 10: 74 1 7 89 97 82 75 9 11 42 | 94 71 41 30 50 58 23 81 35 6 97 57 67 85 98 10 87 43 96 77 31 8 54 72 65 -Card 11: 38 29 6 5 4 84 34 1 94 23 | 89 48 51 84 49 33 50 65 79 53 12 8 5 1 35 69 83 57 11 42 67 26 9 6 55 -Card 12: 35 83 44 75 36 65 85 87 60 72 | 8 3 91 33 59 29 56 26 21 60 80 88 25 5 51 47 46 44 41 31 62 79 76 89 55 -Card 13: 8 56 97 66 32 70 25 76 18 20 | 15 50 91 65 3 67 98 81 9 44 18 92 13 64 96 47 87 46 7 33 66 71 82 88 90 -Card 14: 37 52 63 28 19 89 44 76 98 24 | 70 13 59 31 17 84 90 6 62 19 74 36 94 1 15 12 29 95 47 92 23 67 60 58 53 -Card 15: 71 70 25 51 95 86 66 37 27 53 | 14 20 30 17 59 96 11 68 46 13 75 44 40 62 32 7 81 91 73 64 93 83 35 80 49 -Card 16: 97 4 63 22 75 73 5 52 34 26 | 33 98 64 47 90 94 28 35 43 30 73 51 7 27 10 40 97 37 34 32 22 71 63 21 80 -Card 17: 15 18 29 55 14 25 69 4 59 75 | 66 4 82 23 94 22 26 16 55 69 75 20 76 25 29 59 15 18 70 2 28 39 95 14 40 -Card 18: 26 40 70 42 37 68 25 76 56 97 | 33 97 28 13 24 50 66 53 67 84 26 68 42 56 92 40 65 76 25 32 70 93 85 37 94 -Card 19: 56 61 7 53 48 88 77 73 27 79 | 50 81 29 15 46 19 33 89 54 85 58 73 68 34 84 2 40 27 44 94 88 62 14 1 56 -Card 20: 34 89 62 72 6 30 16 53 78 2 | 2 78 73 89 85 40 47 30 34 8 60 23 72 26 62 96 6 91 29 16 57 46 59 53 94 -Card 21: 65 18 22 53 8 31 32 84 39 9 | 75 16 70 3 14 61 34 9 38 71 8 49 53 52 81 18 45 82 41 44 32 63 65 51 69 -Card 22: 44 80 76 71 36 1 50 87 23 27 | 1 76 83 67 87 68 25 80 8 23 57 29 52 4 50 64 24 44 77 45 27 32 36 73 71 -Card 23: 68 90 10 43 73 63 85 47 11 96 | 9 29 53 84 4 6 25 82 11 21 73 83 20 95 66 27 80 26 70 33 85 47 17 74 98 -Card 24: 51 68 2 69 39 86 55 70 6 54 | 72 17 14 26 91 52 96 86 66 64 51 2 92 53 36 39 89 42 40 68 55 37 6 54 7 -Card 25: 74 92 43 35 29 93 39 53 10 54 | 86 35 10 18 92 43 56 25 44 53 93 39 29 54 11 12 55 61 83 41 21 69 81 4 74 -Card 26: 80 19 99 93 76 67 70 60 39 9 | 98 2 26 95 21 49 44 9 31 58 83 46 14 99 4 78 12 56 89 71 66 29 47 64 96 -Card 27: 92 52 5 46 49 62 74 72 44 87 | 37 93 24 29 5 88 72 81 62 50 69 33 52 19 23 8 84 1 70 87 95 96 61 63 49 -Card 28: 79 80 98 59 54 45 91 16 11 4 | 80 10 98 45 78 91 1 65 12 11 4 82 88 79 54 55 8 99 59 67 68 16 25 3 70 -Card 29: 52 30 9 13 44 71 48 63 65 27 | 90 31 17 80 44 39 85 93 58 65 8 63 16 35 40 1 73 68 52 6 97 99 13 10 61 -Card 30: 12 19 35 9 82 20 72 61 50 67 | 11 84 77 14 46 29 62 28 81 98 43 12 15 72 35 99 19 97 75 1 20 7 82 60 52 -Card 31: 21 58 93 11 50 25 88 77 64 29 | 42 1 31 30 99 69 54 32 88 24 95 15 55 56 14 45 19 33 87 34 7 93 79 23 74 -Card 32: 39 87 70 22 46 95 69 3 58 80 | 85 95 24 45 84 22 37 12 33 43 93 96 27 56 70 67 91 58 10 68 69 40 97 82 13 -Card 33: 91 42 78 76 77 27 22 98 94 70 | 80 17 63 21 37 52 46 44 2 7 73 86 49 40 23 4 92 60 43 76 29 22 24 69 42 -Card 34: 11 50 70 95 32 81 26 57 7 76 | 83 64 65 46 87 56 28 98 90 11 96 40 99 3 16 12 61 19 97 76 51 92 93 34 15 -Card 35: 80 28 55 51 98 5 92 54 73 78 | 78 66 10 38 36 51 1 83 94 33 42 17 62 56 59 21 86 25 46 48 63 12 45 31 65 -Card 36: 63 76 16 74 10 14 50 73 81 35 | 3 68 1 76 62 53 67 97 13 85 28 65 32 72 34 98 57 20 71 17 64 48 8 56 44 -Card 37: 37 1 38 62 56 27 17 8 21 98 | 78 31 14 23 18 62 4 2 97 88 59 34 57 46 81 16 36 58 86 35 72 61 7 80 28 -Card 38: 56 30 92 44 33 11 16 45 72 60 | 74 86 59 87 22 81 46 32 52 21 78 10 57 1 13 85 49 75 95 29 8 38 77 54 50 -Card 39: 66 83 99 18 79 70 57 25 86 55 | 8 41 50 87 77 7 78 84 53 35 43 26 13 29 30 69 91 65 32 59 31 45 56 15 48 -Card 40: 64 46 22 83 33 38 95 75 69 89 | 82 65 45 68 75 33 69 49 22 95 89 74 53 46 38 25 83 64 8 59 81 16 94 27 60 -Card 41: 90 26 49 5 76 98 92 64 19 32 | 47 35 49 45 13 67 73 55 4 64 79 63 89 57 5 75 85 91 25 88 74 70 28 68 86 -Card 42: 45 52 92 43 76 96 4 86 53 62 | 96 53 55 18 95 44 25 45 47 66 62 2 52 60 10 3 1 37 87 92 98 70 9 86 23 -Card 43: 9 64 57 76 21 30 38 98 85 1 | 11 22 92 81 58 59 48 75 2 32 15 84 27 56 86 99 98 66 54 96 20 37 67 12 29 -Card 44: 11 41 84 1 76 6 64 8 31 44 | 11 1 33 58 55 6 84 44 70 20 64 41 90 98 72 42 8 38 4 39 76 17 18 69 31 -Card 45: 88 12 95 1 24 71 70 49 79 8 | 86 57 43 12 90 78 70 76 24 95 39 8 1 13 47 71 49 75 15 32 2 77 58 79 21 -Card 46: 84 91 96 41 17 76 9 36 81 1 | 82 5 99 19 43 20 86 69 37 44 95 41 55 65 96 70 24 47 77 15 31 36 2 79 22 -Card 47: 48 80 18 4 40 11 90 17 27 68 | 33 40 15 99 48 12 25 27 44 17 50 94 68 63 11 29 80 4 18 42 32 90 19 2 91 -Card 48: 44 30 51 97 22 57 87 17 53 11 | 35 17 81 22 11 30 75 80 74 54 79 16 78 97 89 87 51 37 43 72 53 57 27 94 23 -Card 49: 31 2 7 13 9 33 95 41 57 34 | 25 90 77 13 1 95 18 17 34 92 10 33 80 2 82 66 91 73 70 86 21 7 42 47 19 -Card 50: 16 44 77 76 23 81 47 29 62 22 | 35 27 83 47 88 76 98 64 31 86 48 42 95 67 25 44 17 51 18 26 12 1 90 99 62 -Card 51: 55 68 41 17 28 83 64 62 22 13 | 24 6 23 22 64 7 83 74 44 34 28 68 13 32 26 50 62 17 12 41 97 55 16 1 9 -Card 52: 96 79 43 83 37 25 86 24 66 34 | 79 18 6 2 64 62 86 48 65 34 29 68 9 87 76 71 3 69 61 41 40 35 37 55 32 -Card 53: 46 1 10 43 47 17 62 52 58 75 | 58 14 52 71 31 75 55 50 8 99 63 23 4 13 10 62 16 17 82 43 56 46 76 83 65 -Card 54: 75 33 27 30 87 32 68 89 44 17 | 73 28 31 97 27 9 57 14 15 20 39 82 38 36 43 58 75 4 44 30 33 80 16 48 17 -Card 55: 70 11 9 44 14 32 83 10 99 71 | 65 48 21 75 83 71 92 2 34 22 11 14 39 31 63 25 88 15 80 76 96 90 52 70 99 -Card 56: 17 38 6 13 3 67 87 64 37 68 | 41 7 53 11 5 62 93 28 65 8 56 32 1 69 47 18 82 40 20 12 80 37 89 43 2 -Card 57: 64 29 46 22 61 56 32 20 97 72 | 31 14 29 44 74 22 1 56 4 52 58 45 50 78 67 11 97 72 16 20 27 57 61 83 85 -Card 58: 62 85 13 46 79 37 99 81 91 8 | 98 17 85 23 33 94 35 2 47 20 3 11 36 96 43 46 25 60 59 10 22 55 87 58 28 -Card 59: 58 36 55 31 69 91 21 51 56 10 | 19 49 73 6 34 27 40 65 11 55 44 67 37 97 14 85 84 89 72 29 64 15 70 68 94 -Card 60: 46 40 95 45 75 74 7 38 10 81 | 32 38 4 61 78 5 39 99 86 33 2 98 83 42 11 75 27 73 81 9 54 37 40 12 80 -Card 61: 40 29 73 56 91 44 24 77 1 5 | 87 52 80 45 70 48 47 44 69 17 16 6 82 66 37 42 39 3 10 15 97 13 40 99 62 -Card 62: 54 55 29 80 70 50 97 89 33 68 | 21 3 76 73 6 42 2 91 19 18 72 92 94 11 77 32 52 8 81 48 35 16 27 12 84 -Card 63: 19 45 77 86 6 33 83 91 52 36 | 18 68 60 58 84 29 9 67 21 99 24 80 69 96 25 85 46 50 95 27 61 4 90 63 88 -Card 64: 88 23 57 8 93 17 20 42 54 51 | 12 78 82 80 85 43 73 44 84 89 15 36 30 10 25 29 7 99 61 60 86 14 26 28 83 -Card 65: 92 13 3 54 4 95 28 72 8 15 | 15 60 66 33 82 95 94 69 71 59 54 99 40 31 83 17 13 80 28 72 4 92 45 87 46 -Card 66: 1 42 10 66 94 21 46 95 73 32 | 64 99 3 86 69 71 95 78 60 28 5 19 35 85 67 7 32 16 39 66 89 42 31 43 58 -Card 67: 87 50 23 52 5 22 88 82 59 72 | 26 59 48 90 82 55 50 37 87 35 2 52 72 11 40 23 54 88 19 33 5 97 86 22 30 -Card 68: 21 89 80 14 73 61 9 7 68 48 | 18 89 38 26 32 21 79 15 14 86 44 55 95 41 80 7 9 29 73 1 13 48 68 28 61 -Card 69: 9 82 65 50 57 40 96 36 83 60 | 96 17 88 60 40 74 33 19 41 23 82 89 92 72 50 83 4 7 56 34 9 36 52 57 65 -Card 70: 40 63 61 64 3 21 52 11 66 53 | 82 42 13 30 44 72 74 83 45 70 38 33 80 8 64 48 49 73 19 51 85 47 90 84 92 -Card 71: 92 24 98 94 89 41 1 93 28 32 | 28 61 92 13 53 89 43 23 32 66 81 93 94 38 90 36 24 68 1 91 98 41 29 67 64 -Card 72: 29 61 68 1 78 69 33 45 39 18 | 81 12 36 28 73 75 18 35 42 33 95 68 3 79 39 8 24 82 87 45 11 91 23 51 1 -Card 73: 15 33 51 46 80 95 67 71 97 16 | 23 7 93 94 55 33 5 84 28 32 15 59 98 6 46 17 86 43 39 81 36 42 63 71 82 -Card 74: 95 9 16 72 30 20 41 97 45 90 | 30 72 49 66 36 9 82 98 95 16 48 57 46 86 47 90 20 85 54 74 73 4 22 60 32 -Card 75: 82 55 49 44 75 57 19 59 38 4 | 21 78 35 6 93 75 28 41 83 72 55 22 64 89 70 47 23 29 20 99 48 53 27 65 13 -Card 76: 19 31 41 50 27 43 74 21 51 44 | 24 79 71 16 49 37 60 14 8 33 52 40 98 6 34 62 56 4 10 30 39 48 99 67 22 -Card 77: 39 23 28 96 98 50 40 34 79 74 | 85 68 79 33 48 23 56 10 89 38 50 71 17 28 6 74 53 4 98 26 8 22 39 31 66 -Card 78: 80 31 82 32 70 17 68 44 22 97 | 72 6 95 57 13 94 37 44 70 46 32 69 22 56 40 15 77 88 17 82 31 47 71 18 68 -Card 79: 37 53 75 59 72 43 65 74 81 26 | 37 23 11 48 45 86 74 2 59 58 92 12 65 78 16 97 57 76 67 26 18 41 43 54 49 -Card 80: 63 41 23 39 40 10 26 93 24 73 | 30 19 74 40 49 90 22 65 78 10 24 93 73 41 51 7 61 15 29 39 63 16 64 23 37 -Card 81: 88 68 74 9 97 46 11 87 39 10 | 40 3 14 85 64 43 42 97 90 9 39 13 29 72 47 10 48 4 68 96 99 25 98 65 57 -Card 82: 81 48 21 57 65 39 12 66 95 33 | 16 33 79 85 92 52 50 34 15 22 9 45 74 17 24 63 28 72 84 62 58 77 41 64 83 -Card 83: 45 33 86 43 63 96 25 88 53 15 | 73 93 79 18 2 26 21 65 28 57 52 88 1 80 33 38 76 3 56 35 6 23 34 24 13 -Card 84: 31 74 96 40 36 99 91 92 63 10 | 78 38 59 27 84 34 31 72 19 91 12 45 57 92 32 44 70 50 10 24 87 33 49 65 61 -Card 85: 24 20 39 42 78 57 12 64 40 44 | 68 34 77 20 21 12 35 23 97 3 50 65 42 18 84 41 43 69 94 37 76 57 31 45 79 -Card 86: 51 48 14 80 3 72 92 15 35 43 | 50 69 18 76 63 30 58 19 65 16 70 55 54 12 87 62 60 68 93 83 1 44 26 98 27 -Card 87: 11 4 31 73 5 81 2 32 29 51 | 3 47 9 18 16 19 66 36 23 70 91 64 69 87 51 84 43 65 35 42 63 72 82 54 93 -Card 88: 94 10 52 17 78 45 99 66 8 81 | 11 31 71 59 41 88 67 30 47 98 33 21 37 15 53 20 36 58 57 91 39 28 49 70 86 -Card 89: 28 68 50 39 98 57 78 71 11 48 | 95 67 79 86 53 17 66 60 77 6 44 54 19 31 74 80 63 99 47 12 91 21 70 8 10 -Card 90: 36 90 94 26 59 84 63 38 48 39 | 69 56 39 88 89 97 26 38 83 55 87 13 33 68 95 94 18 48 36 44 59 84 63 90 66 -Card 91: 89 3 61 68 53 85 66 81 11 78 | 29 10 81 58 22 47 19 3 36 98 61 85 89 78 39 17 50 53 11 66 68 24 4 86 25 -Card 92: 57 5 56 91 64 38 89 47 55 74 | 73 51 48 19 57 98 64 9 74 65 53 47 54 72 69 38 56 1 21 6 91 40 55 5 89 -Card 93: 6 86 18 53 9 82 70 81 89 26 | 21 69 75 10 8 86 89 70 47 23 78 96 98 53 6 9 2 81 31 56 39 55 18 1 42 -Card 94: 86 78 79 57 3 2 5 69 30 53 | 80 2 53 90 3 30 48 79 5 78 19 35 62 59 97 56 13 12 70 86 10 69 51 55 57 -Card 95: 64 51 15 84 25 94 88 80 20 33 | 1 90 50 47 32 15 20 51 84 65 64 55 39 94 19 66 40 25 88 43 80 34 29 3 92 -Card 96: 83 88 94 87 79 45 49 91 99 33 | 91 53 72 37 87 40 26 88 33 49 89 99 24 59 94 52 75 83 79 71 62 50 92 28 6 -Card 97: 51 91 36 6 68 9 97 78 39 80 | 18 97 68 34 91 61 78 3 23 84 8 16 36 96 65 99 59 80 58 90 14 32 1 41 74 -Card 98: 92 41 9 7 52 86 83 40 8 63 | 47 17 14 35 34 22 19 52 79 7 81 92 1 82 93 73 25 58 60 39 59 27 3 16 41 -Card 99: 72 47 22 4 62 58 31 91 34 50 | 49 65 94 71 82 25 24 9 64 62 50 60 14 84 16 93 1 46 8 19 47 44 21 10 11 -Card 100: 96 18 53 37 54 98 30 84 58 45 | 30 59 89 23 8 35 85 6 36 54 37 17 92 79 27 39 4 61 11 80 19 58 72 51 47 -Card 101: 67 26 23 99 78 60 55 82 83 11 | 60 22 91 21 18 29 67 62 34 93 56 59 49 52 38 79 28 11 17 77 76 20 2 99 92 -Card 102: 28 94 4 54 77 42 17 44 59 48 | 24 13 61 6 5 83 50 77 76 37 90 71 79 47 8 98 41 75 59 70 89 16 30 17 45 -Card 103: 65 69 32 77 64 99 24 71 73 90 | 20 26 72 17 16 46 86 2 28 13 88 45 5 70 95 55 33 65 49 68 50 58 85 83 22 -Card 104: 78 17 88 26 65 79 8 18 47 25 | 31 86 76 30 84 44 62 97 81 42 14 72 25 32 82 5 54 69 98 52 68 13 92 3 58 -Card 105: 72 63 74 24 23 67 34 26 50 73 | 11 70 76 89 84 92 79 33 82 44 71 48 35 8 59 14 93 15 29 18 55 3 38 77 28 -Card 106: 36 40 51 81 60 96 34 49 85 89 | 72 15 7 40 60 97 68 52 36 55 87 96 85 89 49 61 78 34 37 27 76 5 51 81 12 -Card 107: 56 6 20 66 35 45 14 19 62 52 | 15 27 93 17 77 19 35 43 80 72 47 88 8 70 71 92 83 82 10 97 25 90 44 69 87 -Card 108: 33 44 49 78 10 26 20 65 77 13 | 33 54 2 24 17 20 26 7 93 5 3 77 81 46 92 78 49 65 32 51 44 95 13 29 10 -Card 109: 51 25 49 60 83 75 46 43 50 41 | 96 12 53 50 78 92 60 15 76 6 5 34 41 23 25 70 20 75 86 73 30 39 32 48 95 -Card 110: 13 22 99 91 47 53 35 34 37 77 | 79 35 1 13 88 57 76 89 81 15 53 56 99 34 6 68 77 32 91 47 87 37 4 24 16 -Card 111: 17 21 92 30 95 1 52 5 27 46 | 86 24 6 51 99 68 16 34 19 76 31 10 56 63 58 97 87 26 40 73 8 54 69 18 90 -Card 112: 52 83 38 39 95 12 57 14 46 85 | 12 95 85 14 89 50 52 17 92 18 38 34 55 83 16 66 19 88 4 20 46 57 77 39 11 -Card 113: 6 25 93 3 52 46 2 13 70 7 | 67 46 40 2 3 77 35 50 57 52 55 75 53 72 97 89 34 84 15 31 23 7 58 25 21 -Card 114: 24 53 25 12 17 82 14 50 3 74 | 91 83 57 50 96 68 52 11 56 44 89 95 15 13 54 20 76 48 30 88 53 55 93 65 47 -Card 115: 95 81 49 37 80 70 7 60 75 99 | 29 74 98 94 49 59 60 86 75 93 72 56 87 82 76 32 33 4 46 70 27 83 1 35 2 -Card 116: 80 67 54 68 98 47 12 56 77 60 | 45 81 47 78 29 39 56 42 80 54 68 90 37 2 16 96 5 38 14 59 7 30 6 67 20 -Card 117: 6 59 84 35 1 53 28 77 94 24 | 97 62 40 54 93 44 90 63 26 64 91 75 6 4 22 82 80 2 69 12 77 21 53 49 10 -Card 118: 86 30 39 49 32 29 27 68 97 50 | 2 48 36 99 83 4 38 5 47 77 66 1 20 10 14 15 63 78 89 91 85 80 41 28 54 -Card 119: 87 78 77 15 85 99 2 35 45 11 | 58 51 62 42 63 90 37 22 8 83 34 31 67 35 72 17 91 7 88 49 13 39 59 4 18 -Card 120: 80 21 33 94 26 68 73 35 83 3 | 67 9 94 49 27 50 40 30 60 90 86 91 98 69 6 15 36 71 38 31 17 33 41 70 84 -Card 121: 81 17 27 59 99 69 49 14 83 91 | 20 77 55 73 87 36 25 56 54 58 45 68 80 18 3 15 65 31 96 40 75 30 92 42 23 -Card 122: 22 44 29 27 77 20 86 34 5 99 | 63 19 97 74 4 39 7 52 87 31 81 45 23 18 53 47 50 73 80 2 70 94 26 66 14 -Card 123: 39 40 61 53 56 60 96 5 68 25 | 97 98 6 79 81 32 51 26 59 13 10 2 3 77 88 80 63 90 52 12 87 29 49 18 76 -Card 124: 78 19 92 75 56 95 2 16 43 44 | 95 2 56 4 92 66 53 88 21 16 43 78 17 44 85 48 12 19 52 40 69 75 59 82 26 -Card 125: 14 43 38 9 8 62 17 28 12 11 | 80 19 38 43 11 34 29 9 32 12 62 28 77 72 17 69 33 96 94 78 67 8 93 90 4 -Card 126: 60 95 93 99 11 49 20 75 37 54 | 54 42 19 49 92 95 11 34 74 93 60 52 99 5 7 75 20 12 68 98 43 50 36 37 56 -Card 127: 73 24 71 80 58 62 17 41 61 43 | 68 43 79 58 87 67 6 62 20 41 93 71 27 88 23 17 24 42 52 13 61 80 81 84 73 -Card 128: 99 10 91 58 70 47 80 30 96 57 | 46 57 3 72 4 87 70 10 59 7 96 48 28 97 91 58 47 76 36 80 8 23 19 30 99 -Card 129: 50 3 78 8 80 11 57 52 94 47 | 63 60 38 92 50 65 91 88 53 17 96 42 66 28 1 25 75 76 73 87 90 36 82 24 68 -Card 130: 38 42 33 70 61 58 73 88 74 29 | 83 92 77 58 56 74 55 93 38 46 29 28 37 68 33 73 91 61 12 64 25 88 42 31 70 -Card 131: 92 46 42 96 12 14 95 84 57 78 | 11 6 82 41 73 55 8 93 76 98 99 86 31 21 78 29 32 70 62 23 95 15 9 77 52 -Card 132: 40 97 45 2 19 99 29 98 37 20 | 5 56 36 21 33 83 32 98 66 20 16 37 97 93 40 78 43 77 99 29 87 96 2 30 39 -Card 133: 97 81 10 23 75 6 53 27 35 47 | 37 93 8 92 68 65 15 85 25 67 61 56 5 42 88 18 76 87 60 46 59 94 86 57 91 -Card 134: 96 66 54 61 10 85 98 40 13 41 | 90 58 9 38 28 24 57 52 5 81 80 62 34 54 79 49 2 95 1 18 41 65 82 32 42 -Card 135: 54 79 66 83 45 35 10 27 41 94 | 67 42 4 89 51 95 1 63 90 40 65 23 98 7 86 9 97 3 11 61 92 69 77 80 2 -Card 136: 37 86 74 45 70 95 33 28 82 32 | 67 13 62 8 63 41 78 40 24 91 11 48 7 85 59 81 44 37 45 90 66 70 35 33 94 -Card 137: 75 89 5 18 91 57 37 63 85 40 | 27 34 9 51 76 41 69 86 95 81 36 82 1 38 10 99 7 47 21 77 8 30 19 71 60 -Card 138: 9 67 82 54 5 98 7 6 40 96 | 13 83 90 88 44 17 82 24 47 84 23 85 62 45 72 91 58 46 38 32 25 79 70 59 33 -Card 139: 1 6 65 80 35 91 63 22 60 50 | 79 84 81 92 75 36 88 90 86 16 53 17 44 43 15 94 73 51 14 42 33 98 74 57 4 -Card 140: 24 43 8 76 91 79 42 68 81 70 | 65 36 56 57 16 69 38 86 85 37 22 9 98 33 45 25 95 28 52 2 27 6 14 46 55 -Card 141: 62 32 78 2 21 45 75 48 91 85 | 38 42 3 20 21 56 48 75 86 45 40 91 33 73 25 85 16 78 2 24 72 26 32 61 62 -Card 142: 90 10 32 43 65 91 24 22 34 62 | 91 26 72 81 7 11 32 10 90 33 34 87 35 24 29 3 59 62 2 65 22 43 57 74 79 -Card 143: 16 52 66 56 50 57 77 71 73 40 | 71 43 80 59 36 39 77 40 11 4 64 16 85 52 49 73 56 57 10 9 86 46 66 6 50 -Card 144: 61 56 14 66 2 73 39 8 33 97 | 26 8 47 67 16 18 37 39 14 9 61 33 97 2 66 56 73 4 75 11 62 68 49 44 34 -Card 145: 75 65 92 85 73 18 70 95 49 22 | 25 8 49 2 16 13 97 33 93 66 75 85 73 71 65 18 22 53 92 38 44 50 62 70 95 -Card 146: 78 62 86 83 26 23 80 2 77 87 | 23 96 38 63 83 22 20 86 77 21 67 66 75 5 36 47 26 61 80 87 82 16 78 46 2 -Card 147: 84 36 18 42 50 12 64 61 99 91 | 18 75 61 76 74 12 1 41 28 91 64 24 55 36 27 3 84 99 42 50 95 83 31 7 22 -Card 148: 61 91 60 18 68 50 73 29 23 87 | 18 76 33 5 27 97 31 37 21 38 56 91 60 87 23 55 58 61 50 45 14 29 72 68 73 -Card 149: 46 97 81 18 85 95 91 43 72 87 | 32 23 1 49 66 96 24 16 42 22 81 51 72 8 20 37 44 71 45 25 90 88 5 94 74 -Card 150: 17 99 20 36 33 78 9 87 81 84 | 37 8 79 65 31 99 45 36 81 90 73 11 49 46 87 84 3 33 19 12 57 9 20 48 17 -Card 151: 35 46 49 80 66 75 99 77 8 53 | 75 24 5 67 4 53 49 61 19 23 26 97 93 77 46 66 35 40 99 39 30 80 76 25 8 -Card 152: 11 80 39 1 30 36 16 85 33 66 | 26 66 60 2 94 16 81 48 80 43 85 96 51 68 33 63 88 54 6 36 37 59 5 1 47 -Card 153: 49 86 25 83 96 8 93 88 24 57 | 66 60 51 33 57 95 49 79 63 2 93 58 65 70 55 76 87 27 1 46 11 52 80 84 54 -Card 154: 38 41 75 30 91 6 14 66 47 57 | 34 56 11 70 71 60 22 81 41 74 39 67 79 98 87 42 62 3 32 57 55 46 33 16 51 -Card 155: 25 31 45 21 68 57 73 20 71 32 | 20 18 98 53 60 7 38 10 12 19 77 64 79 74 17 33 83 88 28 16 32 21 89 69 65 -Card 156: 19 35 39 37 84 50 62 95 96 56 | 89 24 92 67 4 47 54 59 72 84 3 5 76 96 23 1 58 86 32 21 78 88 68 44 48 -Card 157: 24 68 39 72 23 93 81 51 45 25 | 96 33 76 99 5 70 93 18 24 68 6 64 49 92 45 80 15 77 4 57 25 13 44 28 2 -Card 158: 51 18 46 75 2 80 20 72 17 29 | 97 55 47 23 20 4 39 24 64 11 31 16 90 29 93 72 18 45 27 46 61 70 80 68 67 -Card 159: 34 10 70 56 51 9 99 32 15 74 | 13 31 44 56 63 20 99 81 40 78 84 90 50 52 85 19 41 10 45 71 22 28 26 8 14 -Card 160: 69 49 13 23 36 64 24 18 57 7 | 54 62 96 36 7 10 28 64 1 85 3 63 73 21 27 37 49 47 75 34 97 30 77 32 9 -Card 161: 35 16 44 25 42 62 95 77 89 34 | 29 26 11 78 97 23 28 36 10 96 54 81 17 22 80 27 77 44 41 34 20 51 76 24 75 -Card 162: 60 17 28 76 67 12 41 15 53 70 | 41 19 35 64 65 15 37 22 80 66 55 40 45 81 17 98 85 74 57 4 16 91 49 5 68 -Card 163: 57 3 82 45 28 70 50 17 85 48 | 68 87 47 62 58 31 88 92 98 90 46 29 5 85 93 24 95 99 39 75 55 33 65 49 14 -Card 164: 33 81 13 87 53 48 79 70 17 91 | 92 57 21 4 36 27 62 1 46 80 31 72 5 94 58 99 75 67 83 25 51 9 26 52 63 -Card 165: 55 70 45 36 72 59 81 16 69 98 | 60 7 43 54 66 78 83 23 25 94 48 67 26 56 53 58 2 4 27 31 34 39 49 85 74 -Card 166: 94 64 48 15 36 35 79 23 77 33 | 78 80 25 5 18 34 92 69 84 86 26 13 89 65 29 3 7 39 71 31 42 21 51 48 55 -Card 167: 13 34 54 2 20 16 89 79 88 9 | 47 75 25 82 72 76 51 37 95 22 71 55 54 74 9 33 97 83 27 2 79 28 17 91 24 -Card 168: 33 82 70 88 7 46 96 67 26 89 | 73 8 22 1 59 45 92 24 43 41 15 64 3 58 83 63 57 82 20 18 91 13 77 60 19 -Card 169: 91 4 32 45 55 98 80 52 9 33 | 20 45 37 28 69 61 60 81 12 33 51 74 15 97 50 86 72 99 2 41 70 58 19 40 39 -Card 170: 45 72 63 87 70 33 89 41 4 18 | 25 9 19 49 26 63 11 73 54 64 70 37 45 82 30 1 90 24 87 42 4 40 91 71 18 -Card 171: 74 99 84 26 66 10 95 8 75 68 | 34 62 37 97 57 65 75 74 6 67 68 96 4 1 95 55 52 82 13 47 63 48 94 26 77 -Card 172: 62 99 47 83 94 8 51 70 9 76 | 94 99 83 26 57 76 18 67 22 80 61 34 8 39 65 78 13 81 70 51 62 93 9 3 33 -Card 173: 42 99 9 18 48 61 36 83 13 84 | 7 69 44 61 35 54 27 3 60 55 99 84 32 48 18 19 72 42 89 65 4 92 79 75 13 -Card 174: 48 34 46 43 53 51 72 35 19 3 | 72 43 57 51 14 34 2 36 53 25 94 81 87 61 19 35 23 4 99 26 48 46 7 90 86 -Card 175: 46 59 27 28 82 13 99 35 18 6 | 36 90 70 87 64 31 42 71 50 27 76 45 99 32 21 20 9 88 23 93 17 46 80 85 59 -Card 176: 92 44 3 29 10 7 66 4 57 21 | 36 68 61 87 65 1 53 95 60 2 34 47 75 42 82 8 83 79 54 74 93 26 69 22 32 -Card 177: 89 23 17 80 22 65 98 11 94 3 | 91 28 37 99 63 60 42 87 23 98 71 39 82 93 57 68 62 13 75 77 22 26 53 48 90 -Card 178: 11 75 56 47 64 88 91 66 59 12 | 41 97 40 26 42 67 23 28 31 99 85 30 11 94 81 55 74 89 52 64 65 69 3 38 43 -Card 179: 31 97 46 27 96 57 45 30 64 82 | 36 42 81 54 85 31 1 29 8 84 28 50 64 76 10 67 77 39 21 4 75 78 99 47 12 -Card 180: 10 32 84 45 87 16 82 14 95 8 | 21 8 41 66 56 42 77 83 90 9 55 61 19 38 23 50 28 62 99 58 33 11 84 39 98 -Card 181: 90 54 11 49 95 88 15 75 18 2 | 30 5 68 41 71 52 56 10 50 60 81 51 27 94 42 55 6 87 78 66 72 96 36 12 62 -Card 182: 73 1 91 2 99 75 30 29 48 89 | 46 51 34 7 18 57 64 9 23 68 16 19 85 70 66 72 5 87 12 4 25 97 10 89 60 -Card 183: 16 20 31 39 75 36 78 33 88 69 | 57 17 8 70 79 37 6 48 51 85 30 45 98 26 3 83 29 58 87 54 61 35 74 43 66 -Card 184: 69 50 38 49 9 96 75 82 80 14 | 23 99 30 83 78 9 50 40 14 74 75 8 37 69 82 42 26 49 96 1 38 58 80 84 7 -Card 185: 44 66 49 89 36 28 30 85 32 68 | 44 28 66 72 33 65 31 67 36 30 99 89 12 25 32 76 68 85 48 90 78 92 13 49 82 -Card 186: 46 48 6 52 24 19 51 76 11 47 | 93 63 78 33 31 86 68 10 74 70 3 83 36 4 54 79 8 77 38 57 97 27 22 29 53 -Card 187: 49 12 70 83 40 68 15 78 88 95 | 72 31 40 69 37 65 71 35 9 44 49 95 89 68 50 41 20 58 16 60 90 22 28 96 10 -Card 188: 86 47 96 63 55 29 91 31 59 23 | 55 77 30 23 91 75 86 47 29 31 78 67 4 92 96 26 63 37 80 54 1 11 32 15 98 -Card 189: 40 97 46 63 66 58 54 35 33 59 | 75 17 57 71 55 62 43 96 85 98 83 37 40 23 65 94 93 25 72 78 46 47 28 33 56 -Card 190: 94 41 57 47 6 24 65 59 44 20 | 95 86 26 77 87 47 18 27 16 85 57 61 66 37 35 38 23 42 50 60 98 71 62 8 25 -Card 191: 57 32 39 19 48 77 27 96 10 61 | 68 82 86 70 75 35 11 24 69 56 45 95 67 44 25 36 90 47 74 39 27 55 66 87 12 -Card 192: 50 94 12 32 88 76 95 23 46 49 | 60 9 6 37 42 50 96 15 95 66 34 94 91 4 33 29 14 92 16 80 98 64 12 57 36 -Card 193: 32 25 53 7 71 31 80 42 92 63 | 84 78 28 90 27 24 5 67 63 75 81 12 31 55 46 60 89 98 37 16 86 23 72 43 22 -Card 194: 79 47 88 9 97 76 62 23 72 84 | 77 78 67 65 91 79 64 38 41 26 89 16 10 71 86 82 47 75 61 11 34 66 7 3 70 -Card 195: 22 47 95 56 66 98 44 73 50 30 | 92 33 28 65 16 60 8 45 56 2 47 84 25 55 58 17 35 88 38 95 81 63 43 57 98 -Card 196: 76 23 10 43 9 32 46 62 84 79 | 22 4 49 42 23 55 13 35 90 9 24 52 65 26 95 94 18 37 47 79 56 59 54 86 48 -Card 197: 65 44 24 84 49 62 6 54 42 20 | 25 72 90 58 77 60 59 73 11 39 91 19 21 28 62 8 41 66 87 56 64 52 80 82 24 -Card 198: 63 44 64 86 78 25 92 90 99 70 | 62 29 51 81 21 6 75 58 54 90 18 10 59 98 97 41 4 52 53 64 80 28 92 11 9 -Card 199: 7 15 47 28 44 22 74 76 40 56 | 78 24 95 38 25 36 77 46 89 45 18 42 3 75 62 90 52 81 83 85 80 26 4 23 71 -Card 200: 85 88 3 44 54 19 9 71 29 53 | 72 42 56 55 33 68 65 86 58 3 57 83 12 31 96 9 13 62 70 80 17 29 41 27 6 -Card 201: 10 51 69 82 56 40 94 9 90 78 | 57 92 89 1 99 87 5 73 80 28 2 6 67 70 33 18 17 78 16 95 69 44 38 24 55 -Card 202: 44 47 79 75 24 50 86 80 62 87 | 66 91 36 15 28 81 57 69 30 14 10 20 27 18 77 46 95 72 39 23 38 34 60 37 26 -Card 203: 59 31 79 81 4 21 24 54 48 62 | 37 90 25 51 70 77 18 17 97 52 40 75 43 3 91 50 87 67 42 15 14 63 6 13 5 \ No newline at end of file diff --git a/aoc2023/src/day6/input.txt b/aoc2023/src/day6/input.txt deleted file mode 100644 index 1026e3a..0000000 --- a/aoc2023/src/day6/input.txt +++ /dev/null @@ -1,2 +0,0 @@ -Time: 41 66 72 66 -Distance: 244 1047 1228 1040 \ No newline at end of file diff --git a/aoc2023/src/day7/input.txt b/aoc2023/src/day7/input.txt deleted file mode 100644 index b1d1932..0000000 --- a/aoc2023/src/day7/input.txt +++ /dev/null @@ -1,1000 +0,0 @@ -3Q373 470 -K53JT 351 -A9JK9 856 -2T333 515 -867T4 541 -58K22 253 -5JA6J 994 -K4A4K 865 -94377 519 -92J2Q 901 -J7676 389 -2KK36 938 -JQ2KK 987 -Q7A82 509 -TTTA5 243 -72J27 502 -AKKKA 387 -23222 674 -55335 161 -AA655 73 -QKKQA 686 -5J2T5 680 -666AT 385 -ATA3A 761 -TTT8J 364 -98A2T 282 -59A44 260 -6T9QJ 130 -T7TKQ 721 -9274T 656 -T9AJ4 182 -A2222 259 -TQKJ7 67 -4J844 560 -AAATA 636 -9J36J 546 -QJQQQ 119 -249TT 295 -877J7 221 -4KA23 116 -929Q2 929 -99JQQ 445 -Q9QJ8 432 -4Q7TJ 963 -4J2J8 783 -5J657 257 -88788 183 -KKK7K 909 -KK396 637 -J45AT 117 -84448 806 -A2698 820 -A9AA5 320 -A3934 19 -Q45Q5 392 -78686 254 -A55A5 701 -98A4K 655 -5AJ88 95 -AK3KK 55 -773KK 33 -J9J9J 356 -2KAKK 563 -655K5 287 -55T56 475 -54444 308 -5J5QA 811 -QKA76 792 -2K288 42 -JTKA2 694 -88668 889 -8TQ64 212 -23QQ2 261 -8K8K5 365 -JKKAA 234 -3J894 880 -667Q2 817 -888T4 599 -T5Q83 315 -3QK29 670 -JK4KK 322 -75T8T 144 -AAA7K 291 -7T333 495 -A49K4 448 -JJ3J3 251 -5999J 278 -38438 890 -6K3Q9 122 -TTT99 93 -94775 240 -K8QJ3 369 -59674 107 -267J4 355 -QTQTQ 187 -46J44 961 -Q7AK2 580 -69969 609 -876A5 474 -A3866 642 -Q3QQA 526 -JAA88 425 -35Q9K 986 -QQTQJ 550 -54535 357 -2J222 639 -QK5J7 743 -222Q2 191 -T4T44 855 -QTQQ2 338 -JA7A2 300 -AAAJ2 508 -4J455 23 -A77AA 339 -5KK25 899 -252J2 737 -7QJ76 888 -K46QK 795 -A4T3J 640 -8A8K8 176 -AA5AA 41 -J2Q24 958 -58855 632 -333J3 610 -74474 807 -K3AAA 78 -JJ222 765 -44224 688 -76733 361 -5845K 181 -TT4T2 974 -23J33 102 -QQJ6Q 34 -Q9AQQ 150 -22747 717 -KAA5A 121 -7AA7J 286 -J786T 780 -3K8TT 32 -A6KAA 25 -9A362 166 -A29Q2 499 -6688K 57 -KKQKA 947 -999JJ 975 -6A666 927 -TTT3K 658 -JQQ7T 467 -8A247 934 -7JK8J 712 -KK39K 612 -6666Q 17 -77Q37 868 -A66AJ 169 -KKKKJ 535 -7Q7JJ 591 -K9848 646 -46888 931 -A86A8 326 -743TA 527 -QKK67 977 -KKJ6K 471 -AAJ7A 571 -55292 330 -3A222 390 -6453J 109 -JKKKA 403 -4J9T5 21 -K7A5K 486 -6TT34 793 -3479Q 60 -44624 443 -6KK3K 164 -4447J 112 -QQ27Q 452 -JAK65 522 -Q5Q5Q 354 -J5Q6A 540 -68999 711 -3QJ4Q 155 -A6AAA 314 -222KK 767 -55T9A 373 -T5T57 913 -TTTTA 794 -8J258 190 -3Q87J 489 -AAQAQ 950 -Q4JJ4 588 -6T64T 9 -636K5 228 -AA222 248 -7KJ35 616 -26646 507 -44A4J 829 -23323 904 -TA265 135 -JJQT9 136 -KATJ8 644 -J2862 713 -4JQ28 152 -Q3K2T 56 -6Q232 812 -9A622 885 -KJKKJ 773 -3859T 374 -99333 101 -TKTTK 205 -3333A 35 -5A4AQ 548 -T4944 967 -43353 813 -423JK 869 -T99T7 219 -3AAAA 394 -T65Q6 740 -J9243 352 -6656J 496 -444K4 574 -Q8T6K 98 -AQ55K 917 -7QQJ7 605 -TJ5TT 615 -68JQ5 852 -7A3J2 745 -369AK 217 -57755 343 -A8844 61 -Q76QQ 698 -36333 774 -237Q7 12 -KT694 283 -88286 154 -4T552 990 -Q9J54 759 -K6697 350 -A3A33 937 -AA9AA 246 -QQ7KK 748 -TT4A6 380 -4J992 845 -A66AA 573 -5QQ2Q 28 -86J37 214 -2A443 362 -Q9QKK 654 -44434 964 -77773 74 -44355 235 -9QK75 863 -3AJ33 766 -T2TJT 53 -44494 860 -883A9 309 -QQ59Q 360 -A88A8 584 -A83A4 395 -7J9TA 299 -55955 833 -QJK35 188 -4656A 514 -8KTQ4 554 -56J47 985 -J272J 184 -9J999 671 -72295 31 -53555 264 -4A537 750 -7A4JJ 875 -QK834 463 -88KKA 570 -QQ9JK 906 -6Q646 858 -53336 359 -QJ8QJ 587 -424TJ 607 -KTKK6 285 -Q5AQQ 84 -899A8 542 -K8TKK 250 -4JA4A 705 -6J75J 896 -888K8 312 -5583J 660 -6T335 614 -Q757T 945 -3AKKA 629 -KK946 825 -3393Q 406 -7J288 367 -49999 907 -99729 837 -66265 384 -K47JQ 263 -2AJ4K 566 -TTKKA 186 -8J877 418 -56844 666 -JTTTT 531 -6TJ94 26 -JQ5J5 344 -7J772 85 -33747 510 -KJA2A 729 -333TQ 578 -JQAT4 955 -75766 834 -QQ6QQ 980 -32K33 306 -TTTJ6 231 -2QTTT 213 -999AQ 608 -33353 202 -Q8Q8Q 756 -KK555 490 -746K8 691 -98A75 853 -JQ858 816 -KK9KK 536 -9T999 933 -TA8A8 39 -8558J 919 -J8KQK 15 -73Q2K 503 -2K2KJ 585 -JK9K5 903 -TJ7T7 545 -J723T 453 -KT895 583 -TTTKT 123 -39535 393 -K4K88 893 -43KK6 821 -6AA8J 504 -972TA 597 -7J736 592 -536A8 63 -J23Q3 402 -83K9Q 405 -28337 396 -9T558 776 -7AA78 946 -QTT24 441 -26QT3 401 -AJQAQ 953 -6T6AJ 304 -JK5KK 162 -2JJ2J 484 -73773 6 -8J864 630 -78782 557 -6TJ52 424 -487JQ 830 -8J698 82 -AJAAA 866 -228J8 204 -622J4 823 -6J2QJ 79 -22K22 232 -A86A6 444 -83K8Q 965 -JK586 944 -JA848 465 -8888A 45 -2T28T 803 -73J73 450 -27272 857 -7A777 544 -A998J 679 -46466 458 -KJ233 192 -4453J 378 -TQQJT 451 -A3K5J 512 -888Q6 968 -6AA66 841 -QQ222 883 -3K5A3 233 -JA4AA 379 -62288 778 -44456 51 -4A644 862 -55647 981 -A77A7 327 -KQ3A3 687 -QQ7Q7 976 -T4A2T 293 -46226 628 -Q59Q5 348 -36AJ2 984 -54433 532 -JJQ24 831 -7455J 381 -78845 218 -72AQ5 276 -52T22 618 -99399 68 -36AA3 118 -69669 839 -33Q5J 785 -TJ766 626 -T28J4 556 -T883Q 142 -73928 932 -TJ884 494 -AJ36Q 485 -9Q999 324 -T725Q 267 -22622 88 -92364 685 -97792 789 -J673K 620 -99943 625 -77JJ7 921 -8828Q 572 -7777J 353 -TAAJT 926 -99T29 787 -AQ4J4 520 -9J559 5 -J3T94 706 -K9KK9 918 -KK252 439 -79925 97 -TT47T 497 -848T4 126 -6TTT6 426 -K8825 925 -888J8 62 -K5K85 972 -AAKKA 449 -J5555 663 -89J99 27 -4Q444 922 -A9A99 397 -5A555 163 -8J3K8 662 -29989 645 -95222 751 -Q4Q4Q 193 -555K5 982 -74AJ8 735 -KKQ6K 668 -7676Q 916 -A28T7 784 -K57KK 388 -A4J4J 115 -2K442 229 -33TT3 956 -TT6TA 741 -TT782 131 -TJ5JQ 238 -TQ7T7 415 -29KQQ 598 -A8AAT 676 -46A28 650 -6698K 696 -6J969 158 -6694A 271 -QTQ5T 498 -Q2QQQ 613 -2A7QJ 210 -6T466 683 -QJ575 799 -Q63Q3 822 -Q9J28 848 -TTTT7 7 -KA9AA 854 -K2JJT 859 -28228 179 -K29KJ 429 -JJ8JJ 222 -A99A5 457 -QQTTT 983 -43KK2 134 -984JJ 1 -97J97 892 -2AAA8 689 -9Q77J 819 -98TJK 517 -56KA5 71 -7J66J 294 -55855 335 -TTT8T 596 -33663 407 -7J774 911 -3JQ55 564 -QQQ7Q 329 -85668 120 -KK333 301 -Q3553 867 -7K557 988 -Q8488 400 -96J99 643 -29224 714 -T8ATA 346 -99J93 462 -K83J3 697 -3KQJ4 653 -5KJQ2 824 -4JJ3A 897 -56248 727 -JJ666 702 -355T5 245 -45KAK 553 -88AAA 236 -K55J5 581 -AJJ49 65 -A8Q3J 197 -AAAKQ 529 -55976 707 -77776 930 -A9995 227 -K7J7K 912 -29K99 244 -4Q464 80 -22972 195 -666JQ 189 -26278 241 -79288 601 -5454A 427 -JTAKQ 138 -88833 549 -84J54 215 -AATAK 114 -58959 145 -8ATTJ 431 -QJ26K 265 -A3JA3 81 -T8T4J 242 -4T3A3 37 -44777 871 -JQ542 561 -A97Q9 693 -A76T4 412 -28T4A 481 -T485A 861 -78286 303 -K6776 52 -T8TKQ 754 -KJ938 957 -Q444Q 840 -25A89 455 -58588 673 -K8858 634 -K8KJ8 170 -K6KKK 851 -53353 140 -2T2K6 593 -QQAQA 48 -TT6J6 305 -922J2 920 -AA22K 22 -J555Q 725 -TTAAT 781 -2244J 171 -A95K7 436 -2J299 651 -78AAA 321 -2KKK2 690 -2J565 649 -77J5K 77 -T999T 762 -J4445 879 -J888Q 873 -J884J 1000 -98898 413 -29299 442 -QKQ3Q 678 -A652A 993 -55272 898 -KA5K5 664 -8KJAQ 147 -Q56QJ 734 -K77J3 739 -J7677 661 -T5569 206 -2AA2J 757 -TJTJT 342 -T2TTT 682 -88J82 363 -9KK78 700 -AT4T4 730 -86968 736 -99995 207 -7A3J4 172 -8KK87 991 -TKKJJ 16 -J7532 165 -J9888 996 -9AJTA 92 -43T78 310 -93J77 317 -J4424 805 -43J86 703 -952TJ 127 -54363 146 -8T2J7 435 -88848 832 -TAAAQ 791 -8228T 256 -699QT 815 -KQQQK 30 -T82J3 49 -36222 4 -AK288 86 -6792A 194 -2Q22T 667 -J3545 270 -9QJK4 280 -QQ22Q 371 -K9247 446 -A422A 943 -765K3 469 -9J5A6 874 -4A4QA 775 -8Q8Q8 124 -T8Q62 850 -8Q8Q5 747 -6KT88 738 -82888 722 -3TQQQ 349 -2J3TT 539 -7TQ59 72 -8998T 733 -JQJT3 414 -82428 589 -92856 423 -89833 54 -79T4A 523 -95839 979 -TJJT5 936 -33839 29 -37433 511 -TKJ2T 681 -JT973 633 -Q8Q8J 971 -Q5555 440 -K8886 24 -Q75A4 43 -3AQ33 298 -T446T 719 -577J5 753 -KJTKT 167 -52528 8 -25222 641 -QJ2T8 621 -A8JQJ 316 -7T7A7 772 -KQQTQ 141 -83734 758 -6Q66Q 434 -QJ6Q2 638 -AAA7A 196 -57555 203 -4QJQ4 216 -82J5Q 763 -A73A3 940 -46AJQ 559 -T4936 103 -89Q29 262 -7872T 466 -A5J58 274 -AAAQA 290 -37399 844 -A759Q 328 -TJ9TT 273 -77887 268 -64A2J 978 -6T76Q 110 -QQ467 742 -9J7Q5 422 -4K6Q3 91 -336K3 826 -6K63Q 382 -23552 105 -243AA 505 -Q887J 764 -2J92A 749 -68A3Q 416 -7T8T8 199 -225J5 404 -24774 153 -T7T77 870 -3J393 347 -Q5Q8J 128 -7Q777 796 -QKKKK 617 -86686 108 -44KT4 75 -56858 622 -5AJK4 960 -3245Q 311 -36536 370 -6644Q 11 -JKAAA 104 -T2426 579 -J3399 83 -33933 602 -A299J 777 -26J22 224 -8666J 594 -J3J38 669 -3AJ84 239 -52Q8T 877 -QJQQK 779 -QJ6T8 797 -43339 399 -9AJ74 476 -T499Q 13 -2TAKA 928 -T3K78 809 -2923K 201 -J8858 798 -T8888 818 -98399 168 -8T266 555 -23A57 652 -3KKK3 113 -22T22 460 -AJJAA 106 -7QKA8 464 -QQ8TQ 368 -99A99 341 -62Q5A 223 -J9T47 568 -Q7388 894 -69662 744 -96J2T 323 -2A779 89 -Q2874 269 -77797 948 -5359A 864 -AJ9K4 482 -Q3Q44 567 -JT958 665 -A38J3 438 -J4666 296 -428J5 501 -38K8K 410 -6T979 709 -3533T 284 -2285A 910 -933T6 882 -K6666 786 -56Q32 992 -5J752 198 -AJJQJ 600 -KK5KK 3 -38T94 180 -67QTJ 69 -J6636 200 -229J8 493 -QJTQ3 247 -5KQ5K 149 -654AT 528 -T84T4 878 -Q23QQ 905 -QQQ74 325 -4JTQQ 408 -T4T78 340 -3T5T5 551 -3J3J3 391 -88844 631 -TTT9T 810 -57775 935 -A777J 604 -4555T 2 -A5J8T 942 -22AJJ 506 -22323 997 -A3323 624 -84442 516 -2T992 76 -J7T76 828 -J8552 995 -KTKK3 886 -33853 782 -53233 129 -44J4J 372 -KQQT2 480 -K5649 576 -3J63K 760 -2J666 827 -6JT68 318 -45Q64 849 -49884 801 -9KTTK 902 -66737 952 -5Q8J4 708 -57Q92 724 -627J7 331 -K22J6 473 -4T444 923 -J4444 552 -78J8J 491 -4K328 477 -4AA3A 808 -7A34Q 437 -AQ888 428 -8TA99 768 -AA9A9 143 -9K5AT 211 -77722 40 -TQTTT 941 -Q2A4K 492 -236T9 677 -J8686 746 -J585K 64 -TJKQT 582 -T3TTJ 157 -22266 38 -KT5TK 692 -QJQQJ 908 -4K623 279 -7JJJ7 173 -64A66 524 -J7AJ8 417 -K43Q3 769 -T662T 148 -54J2J 488 -K6485 44 -J6666 970 -J26J9 209 -8337Q 334 -A27A4 319 -A7T78 132 -K777A 842 -KKK4K 249 -99K9K 430 -8745K 151 -Q2QTJ 433 -QKQ76 525 -25Q2Q 533 -5QK6J 800 -77T77 558 -5K323 939 -33KK4 590 -K8A52 111 -ATQJ6 569 -ATK89 50 -4433A 836 -3KKKQ 891 -46TK4 538 -5249Q 447 -2462K 675 -8JT6T 336 -466J7 459 -7K7KK 838 -544Q4 959 -58773 483 -823J5 999 -2TKA5 752 -AKJ58 386 -7T833 99 -KQ88Q 659 -KJ3A4 790 -K9595 307 -3K3J4 534 -3838T 220 -32522 720 -366Q3 500 -J8868 989 -T7KTK 376 -JQQQA 14 -42555 409 -5T5T5 648 -4KK4Q 383 -K7777 884 -736A3 543 -343Q3 366 -TJ856 237 -JJ555 46 -K5QQQ 275 -QAQQ7 672 -8KTJQ 731 -QQQ3Q 47 -J257Q 575 -6Q3QQ 87 -QKK43 924 -TTATJ 998 -K44K5 771 -37895 881 -48823 521 -KKK74 456 -99J79 139 -J4542 635 -AJ96K 954 -K8937 411 -5J355 895 -96967 185 -333T3 562 -TAJ77 755 -J38A8 487 -AAT79 313 -A6Q73 398 -386JA 10 -J35Q8 623 -27758 969 -3K3KJ 966 -7928Q 627 -AAA4A 59 -2AA52 478 -848J8 133 -55225 843 -TTQT9 619 -3Q79K 255 -27AK8 58 -TKTKK 272 -KTTAT 333 -55666 802 -47748 454 -Q3T56 699 -63T3T 302 -8754Q 723 -4J86T 358 -8TTQ9 226 -5523J 125 -88588 606 -58AAA 208 -TK273 137 -4Q7KQ 160 -29292 577 -Q333Q 611 -22TT2 716 -A55AA 258 -64822 468 -22228 847 -2242T 788 -JA26Q 472 -8JAAA 174 -K5Q8A 175 -Q5AT4 732 -J4434 530 -76666 337 -9998Q 547 -9T2J9 100 -3Q982 90 -7727Q 281 -92944 973 -K2597 814 -K444K 36 -26KJ6 292 -34K38 962 -5A378 225 -636J9 375 -TTTT4 420 -A66TA 461 -69QK5 345 -76293 479 -66966 804 -A3383 297 -T82TT 657 -2QJJQ 156 -K2JK3 94 -K6K66 252 -K58QJ 876 -6J979 513 -92647 718 -QQ9Q9 586 -862Q5 20 -5465K 915 -KQ44Q 595 -T66T6 288 -TJT7T 710 -5JT8K 159 -KJTK3 603 -KKJTQ 949 -67776 914 -J4323 177 -22229 704 -96999 178 -8AJKA 70 -69T69 419 -65556 770 -87738 537 -547J4 835 -44766 421 -3355J 684 -2K266 647 -5TTT5 266 -3T3TT 332 -88JJ8 96 -QQ5K3 887 -K7JKK 377 -J8Q2Q 66 -2KKJ6 230 -TTKQT 277 -22Q92 18 -JTTTK 695 -J993Q 846 -88898 728 -88T87 715 -Q74J4 872 -4T999 951 -T997Q 289 -92QA9 726 -AJ394 900 -TT2T2 518 -JJJJJ 565 \ No newline at end of file diff --git a/aoc2023/src/day8/input.txt b/aoc2023/src/day8/input.txt deleted file mode 100644 index e27fbc1..0000000 --- a/aoc2023/src/day8/input.txt +++ /dev/null @@ -1,740 +0,0 @@ -LRLRLLRLRLRRLRLRLRRLRLRLLRRLRRLRLRLRLLRRRLRRRLLRRLRLRLRRRLRRLRRRLRLRLRRLRLLRLRLRRLRRRLRLRRLRRRLLRLRLRRRLRRRLRLRRRLRLRRRLLRRLLLRRRLLRRRLRRRLRRRLRLRLRLLRLRRLRLRLLLRRLRRLRRLRLRRLRRLLRRLRLRRRLRLRLLRRRLRRRLRRRLLLRRRLRLRLRRLRRRLRRRLRLRRRLRRLRRRLRLRRLLRRRLRRRLLLRRLRLRLRRLRRRLRRLRRLRLRRRR - -GXT = (MQM, CHN) -MBK = (RCK, RCK) -HBS = (QHS, RXC) -SXK = (FDB, FKP) -NJB = (BSB, KJM) -SPD = (FNL, RSH) -FJF = (NFH, XJN) -GHV = (LSV, BTS) -QDT = (HXV, PDX) -MDH = (XDK, DKN) -AAA = (FKL, CFC) -GRB = (VDP, LMM) -CXK = (DVB, CRJ) -FDB = (FTD, CNK) -LQT = (BJV, SMQ) -TSK = (NQD, VSG) -VLF = (NDS, CTV) -PGP = (DKC, CKL) -PVJ = (FDB, FKP) -VSV = (NFP, QHX) -KXN = (XJN, NFH) -KMQ = (VBH, XXH) -QXR = (RMD, TLT) -DLN = (TPD, KBG) -BHK = (GRP, RXF) -TSX = (HQP, SHK) -PTV = (VSG, NQD) -QVN = (XBH, DHC) -DDM = (TCB, XRQ) -NKD = (CDR, BJM) -JNR = (FMC, SQN) -VPQ = (JGC, VCJ) -HPB = (STQ, DDM) -HRT = (JNR, BGH) -CNQ = (HQV, PJQ) -PMG = (LRB, XXP) -RKV = (XGN, VCG) -KVQ = (KHS, SLV) -MDM = (VDX, NSF) -VHT = (PGP, GJS) -BPD = (NBF, VNH) -JCQ = (JCB, XVR) -CFJ = (PQP, CBJ) -DSX = (BXN, VDS) -MGH = (PFV, NLQ) -MPK = (FND, BJX) -QFR = (HFC, CNG) -PHS = (VNH, NBF) -KTT = (MTG, SQM) -JBK = (CSR, VXV) -BKL = (DLB, SHQ) -GQH = (PCH, LDZ) -XVJ = (CQM, SLF) -VBN = (FFF, PDL) -KQH = (SLT, XLG) -SSN = (PQH, LFT) -MQM = (SBH, TTC) -SCR = (HGH, QGS) -XTZ = (XKM, JTJ) -ZZZ = (CFC, FKL) -PRA = (GRB, MDB) -VTV = (LXQ, HKP) -PPX = (SQM, MTG) -PVA = (MRJ, CVH) -BJH = (VTR, RKG) -KPH = (RFD, NJP) -HXG = (NVJ, HNG) -LRX = (DCX, MGH) -NFD = (PFR, FVQ) -TDG = (TDH, ZZZ) -XKM = (XDG, VHT) -CKT = (LDC, VPF) -QQR = (BFQ, FXC) -RGJ = (KTV, GFR) -XDK = (MVC, SPX) -TLT = (MBK, DGL) -CDR = (JBG, KPH) -LTH = (DFN, BHK) -PVV = (BFQ, FXC) -FCK = (FRJ, KVG) -FXB = (MDH, VSJ) -DHD = (LDJ, RNH) -HHR = (HSK, CJD) -LSV = (LNP, NMD) -JSX = (DPF, SNN) -SBH = (XKD, GTX) -BHJ = (JSX, TMN) -CQX = (XPG, RLB) -XRQ = (FJK, NCF) -GMF = (JBX, DRV) -KBD = (HCC, TND) -KGT = (NLK, FRX) -RKM = (RTM, FMQ) -GNM = (GML, NLB) -SXP = (RKG, VTR) -PMS = (XBH, DHC) -PQH = (PJD, CXK) -XXH = (BMB, JGJ) -RHL = (QHS, RXC) -DFS = (JVK, VBN) -QCS = (XGN, VCG) -MJJ = (DDM, STQ) -SPV = (PXX, RRT) -FRJ = (SNX, MPQ) -FKC = (CBF, RKM) -SRG = (QFH, LGP) -VVQ = (BJV, SMQ) -BQC = (DSP, TXQ) -SHQ = (NKR, RGJ) -KCS = (QGS, HGH) -MTV = (BXN, VDS) -CNC = (HPB, MJJ) -SNF = (XXP, LRB) -KTP = (QRX, KML) -GSC = (HSK, CJD) -QRX = (CRB, TXL) -MDB = (VDP, LMM) -PFV = (CLM, CTN) -RRB = (HHR, GSC) -DDQ = (PXX, RRT) -TJB = (LSX, XNR) -BSP = (TXC, LKB) -MMV = (DKK, NFD) -DCB = (XKP, TNJ) -QKV = (CTT, SFM) -XDG = (PGP, GJS) -JMJ = (JLK, NJB) -VBJ = (HJV, JFD) -QHM = (CLJ, QGP) -STR = (HXG, RFC) -DPF = (VNQ, DQQ) -RXF = (NHV, GBX) -FXC = (JLX, LBS) -XVR = (MVT, QHD) -KNM = (BJD, QCK) -GTX = (MSB, FNP) -XCS = (PTN, NRH) -CGS = (FRX, NLK) -RCK = (CQM, CQM) -CDS = (PRR, GCJ) -BXN = (KQC, MSV) -PTN = (VST, QHJ) -TPD = (HJF, TSS) -RNH = (TTK, DBN) -TSM = (TPD, KBG) -KTG = (GPT, BMD) -PJP = (XBR, TCM) -QPF = (KJF, NJX) -HKP = (PLS, PGK) -KBG = (HJF, TSS) -SQK = (LSD, KNM) -XKD = (MSB, FNP) -QQP = (LFB, LTK) -MDX = (KTJ, FXF) -JLK = (KJM, BSB) -FBR = (PMG, SNF) -GSJ = (TDH, TDH) -DQQ = (FKK, KRF) -CTV = (CQD, RQX) -MNT = (RLG, XXQ) -GFL = (FGJ, KMD) -BJK = (VQX, JCQ) -SPN = (NKS, CNQ) -LNL = (XLM, XLC) -HKF = (HKJ, NNC) -FTD = (CCX, MSS) -RPV = (MDQ, DGS) -DCX = (NLQ, PFV) -JGB = (DVT, DRH) -CGM = (CHN, MQM) -JNQ = (PPX, KTT) -BJM = (JBG, KPH) -NFP = (SPD, XCT) -TPL = (LSD, KNM) -XTV = (CTJ, HPX) -LKB = (PDF, SLK) -QVK = (KMQ, MGF) -QVP = (VCX, JNQ) -NSR = (TJB, NBB) -XLA = (DLB, SHQ) -QLP = (HBS, RHL) -BGH = (FMC, SQN) -BJX = (LRX, PNM) -MVC = (BPD, PHS) -DXQ = (TMN, JSX) -PBK = (QKV, CTH) -GBJ = (RNH, LDJ) -BMB = (HJS, TJT) -SHT = (MFQ, LCT) -HSK = (CGS, KGT) -DRH = (PKN, PBN) -PQF = (XKP, TNJ) -RPX = (HCT, HQT) -FPH = (VQL, NPJ) -GLC = (PMS, QVN) -VDP = (SXK, PVJ) -JFD = (QBD, DGT) -LQL = (NPT, GVS) -TPQ = (NHL, MTD) -KRF = (HVT, MPK) -JQG = (QDT, PCK) -PJQ = (KVH, LBV) -VBB = (XXQ, RLG) -PSH = (SQV, TLB) -VXH = (VCX, JNQ) -VQD = (NBB, TJB) -JVD = (GDJ, JGQ) -SDR = (FTF, NQL) -NQQ = (TFM, CMC) -FNL = (LTV, CSX) -FVS = (NSF, VDX) -VTJ = (VXH, QVP) -KQC = (LGG, LGG) -SCS = (MTV, DSX) -QPS = (HMV, QQP) -CQM = (JDD, JDD) -FJX = (VBB, MNT) -GBQ = (BXV, LFR) -HGH = (SQK, TPL) -SLT = (FXB, NGN) -PBD = (HDC, FCX) -CKL = (MQS, NND) -LSX = (MBF, SPN) -HNG = (JQG, GKD) -MFQ = (PSH, TGK) -SNX = (GCS, KSF) -FMQ = (DXT, DFS) -TXC = (SLK, PDF) -VST = (SSN, LSR) -BFB = (VSV, SVC) -VNX = (TMF, QFS) -VPK = (VBB, MNT) -NVR = (XPG, RLB) -FLS = (FSL, CKH) -FKP = (FTD, CNK) -MGF = (XXH, VBH) -LNM = (NFD, DKK) -FNP = (VTT, MVG) -HDC = (PXP, GVH) -KVL = (LCT, MFQ) -XGP = (RHG, RTK) -JCT = (NJB, JLK) -XSL = (SVC, VSV) -SRS = (HPD, XBL) -FSL = (JMG, TFD) -CXB = (KQV, QGK) -QRP = (CGF, CQF) -PRG = (MDX, KPL) -VLL = (MRB, MHN) -VNQ = (KRF, FKK) -NPJ = (VPK, FJX) -MHN = (SRG, TTL) -KFN = (DFN, BHK) -FVQ = (LJM, TJV) -GKD = (QDT, PCK) -GVS = (FCK, NGC) -MBF = (CNQ, NKS) -SMQ = (KSV, KMF) -CRJ = (GSJ, TDG) -LHT = (BTL, KMB) -KJM = (KJC, BGC) -TTC = (GTX, XKD) -QFT = (PRM, KXS) -SDS = (JMP, TSR) -BLX = (PQF, DCB) -PXX = (LJT, QFK) -SQV = (FCB, HXF) -RQX = (DBJ, VTV) -THV = (GJL, MND) -SLK = (XBP, CXB) -LVS = (CTJ, HPX) -TSS = (CGL, JST) -MTG = (RKT, GTJ) -FFF = (GBQ, VTM) -XMV = (KVL, SHT) -FDJ = (MLG, MLG) -HPD = (MQK, FLS) -TLB = (HXF, FCB) -BGC = (SCR, KCS) -FBM = (PBD, MFK) -TJP = (JSS, GHV) -TXL = (NQC, RXH) -TKM = (GLQ, TKP) -RNS = (BJK, PHJ) -RRT = (LJT, QFK) -DHC = (XVF, STR) -RXM = (KVL, SHT) -JBX = (GBJ, DHD) -TBR = (HJV, JFD) -MFK = (HDC, FCX) -TFD = (QXN, QSK) -HMV = (LFB, LTK) -RMD = (MBK, DGL) -RJP = (CTX, TPQ) -CBF = (FMQ, RTM) -XXG = (JDH, TJP) -PDX = (XGQ, BSP) -XBL = (MQK, FLS) -GMT = (PCB, GTK) -DGT = (GNH, KVQ) -CHN = (TTC, SBH) -NKS = (HQV, PJQ) -HJC = (DXQ, BHJ) -CSR = (TSX, HSM) -XTK = (BJM, CDR) -DRT = (MPB, PSV) -HQT = (CRM, XTZ) -HNM = (SXJ, GMF) -NLQ = (CLM, CTN) -LTK = (PGS, SCS) -DNR = (DRT, QLK) -QVR = (DLN, TSM) -VLD = (GSP, CKT) -LFT = (PJD, CXK) -KVG = (SNX, MPQ) -FBS = (JSN, KFT) -GTK = (XHH, LCL) -KJZ = (MDB, GRB) -QGK = (PKK, VFK) -VDS = (KQC, MSV) -KHS = (TRF, JVD) -BHH = (MLG, RPX) -JVL = (CQF, CGF) -RGQ = (CQJ, KTG) -VTM = (LFR, BXV) -GML = (VFF, VLD) -CTJ = (FKC, PDT) -BJV = (KSV, KSV) -SPX = (BPD, PHS) -CTX = (NHL, MTD) -LRB = (HHP, CDS) -XHH = (MKX, KQH) -FDL = (QFT, MNG) -CCX = (HKF, VPS) -GPT = (VHX, QPF) -VFK = (VJX, QPS) -QFH = (LHP, CKD) -KMD = (QFR, XVX) -MSB = (VTT, MVG) -TRF = (JGQ, GDJ) -PHJ = (VQX, JCQ) -DBN = (NRQ, GBN) -JPM = (PMG, SNF) -TND = (HQB, XXT) -FJK = (XHV, FBS) -PNM = (DCX, MGH) -QFK = (RKR, QVK) -VNV = (NRC, XXN) -QXN = (PSG, CFJ) -NND = (HJC, MPN) -DQM = (TJP, JDH) -PGK = (XQK, PRG) -HMK = (BJK, PHJ) -DLB = (RGJ, NKR) -PXP = (XTK, NKD) -LGG = (CNP, CNP) -HKJ = (VQD, NSR) -TMN = (SNN, DPF) -FRX = (FBR, JPM) -PTA = (JTJ, XKM) -NRH = (VST, QHJ) -BQD = (KTP, GFF) -VTT = (KFN, LTH) -GMV = (VCJ, JGC) -XLG = (FXB, NGN) -JDH = (GHV, JSS) -TJT = (JCT, JMJ) -HCT = (CRM, CRM) -BGR = (JMP, TSR) -CKH = (JMG, TFD) -DHX = (QGP, CLJ) -BQN = (TBN, BTQ) -RSH = (CSX, LTV) -SXJ = (DRV, JBX) -MRB = (SRG, TTL) -GTG = (SPV, DDQ) -VQL = (VPK, FJX) -RXC = (GXT, CGM) -MSV = (LGG, HLF) -PSV = (GBL, RRB) -LRV = (XTV, LVS) -MVR = (NQL, FTF) -JDD = (GRB, MDB) -TKG = (LHT, VLM) -NHL = (MMV, LNM) -XBR = (DHX, QHM) -DNK = (TXQ, DSP) -GBX = (SDS, BGR) -PDT = (CBF, RKM) -PGH = (FGJ, KMD) -GTR = (RPT, CXM) -GBP = (LNB, DNR) -DKC = (MQS, NND) -HSM = (SHK, HQP) -VVV = (GLQ, TKP) -TTJ = (DNK, BQC) -CJD = (CGS, KGT) -VSG = (RMJ, BQN) -XGQ = (TXC, LKB) -CNP = (PCH, PCH) -JPT = (NDS, CTV) -MVT = (GBP, RLR) -HJF = (CGL, JST) -KGB = (GML, NLB) -MPN = (DXQ, BHJ) -KFT = (DTS, DJP) -QCK = (RLF, QVR) -MJR = (MJD, RPS) -LBV = (FPH, RFH) -JMG = (QSK, QXN) -LDJ = (DBN, TTK) -XBP = (KQV, QGK) -RTM = (DFS, DXT) -VBH = (BMB, JGJ) -LHP = (MMH, BPV) -PMR = (MDQ, DGS) -NNR = (JDF, NVP) -GJL = (JDT, QLP) -JST = (SBL, LNL) -KML = (TXL, CRB) -FBA = (KQG, JSC) -KSF = (TLH, JBK) -VFF = (CKT, GSP) -PSG = (PQP, CBJ) -LDZ = (JSC, KQG) -DKN = (MVC, SPX) -DRV = (DHD, GBJ) -MJB = (HNM, LKH) -MNG = (KXS, PRM) -SNN = (VNQ, DQQ) -GNH = (KHS, SLV) -BJF = (HPD, XBL) -LGP = (LHP, CKD) -XVZ = (CVH, MRJ) -GRP = (NHV, GBX) -NGC = (FRJ, KVG) -BJD = (QVR, RLF) -FKL = (LRV, DSH) -KSV = (VHK, VHK) -XQK = (KPL, MDX) -NRC = (DMT, GLC) -VNH = (LQT, VVQ) -CGL = (SBL, SBL) -GVH = (NKD, XTK) -DBJ = (LXQ, HKP) -KVC = (PMX, XPR) -NJP = (VXG, TTJ) -VXG = (BQC, DNK) -CLJ = (JVL, QRP) -RFH = (VQL, NPJ) -GFR = (KGB, GNM) -KQV = (VFK, PKK) -SQM = (GTJ, RKT) -MQS = (MPN, HJC) -BXV = (RJP, CLN) -VSJ = (DKN, XDK) -SHK = (XMV, RXM) -GSP = (LDC, VPF) -MSS = (VPS, HKF) -SFM = (NVR, CQX) -FMC = (BJF, SRS) -DXS = (RMD, TLT) -QHS = (CGM, GXT) -DJP = (FDL, JHP) -MPT = (PQF, DCB) -LXQ = (PLS, PGK) -RFD = (TTJ, VXG) -JGJ = (HJS, TJT) -XGN = (KVT, LQL) -NBB = (LSX, XNR) -CKD = (MMH, BPV) -CTT = (CQX, NVR) -CBJ = (RRG, KBD) -CNG = (THV, QBK) -BMD = (QPF, VHX) -XLC = (BKL, SCZ) -KQG = (CPT, VLL) -KTJ = (KVC, VBM) -JBG = (NJP, RFD) -KVT = (NPT, GVS) -QGP = (JVL, QRP) -HFC = (THV, QBK) -JDT = (HBS, RHL) -MNF = (NRS, XVZ) -GKR = (GTK, PCB) -NVP = (NQQ, RRQ) -MPQ = (GCS, KSF) -PLS = (PRG, XQK) -JDF = (NQQ, RRQ) -CQD = (DBJ, VTV) -LNP = (TPK, SCP) -HQP = (XMV, RXM) -RJM = (MJD, RPS) -MQK = (FSL, CKH) -KXS = (HBJ, HMP) -CSX = (QCS, RKV) -VCG = (LQL, KVT) -NVJ = (JQG, GKD) -NLB = (VLD, VFF) -CQN = (NVP, JDF) -PDL = (VTM, GBQ) -SJM = (JNR, BGH) -VTR = (HMK, RNS) -QGS = (SQK, TPL) -NFH = (XRH, DKD) -TXQ = (GFL, PGH) -GCJ = (XSL, BFB) -RKT = (CQN, NNR) -BFQ = (LBS, JLX) -PKN = (FGD, TKG) -XKP = (FDJ, BHH) -QHX = (SPD, XCT) -NKR = (GFR, KTV) -GLQ = (FBM, KLD) -PRR = (XSL, BFB) -XLT = (HPB, MJJ) -HRD = (QVP, VXH) -SNL = (VSF, GTG) -TBN = (XCS, LJX) -RPS = (NFM, VNX) -MKX = (XLG, SLT) -NQC = (MPT, BLX) -DKK = (FVQ, PFR) -LCT = (TGK, PSH) -XHV = (JSN, KFT) -PRM = (HMP, HBJ) -NQL = (BQD, TTN) -HQV = (KVH, LBV) -RKG = (HMK, RNS) -LCL = (KQH, MKX) -LMM = (PVJ, SXK) -NCF = (XHV, FBS) -NRS = (MRJ, CVH) -RTK = (RJM, MJR) -RFC = (NVJ, HNG) -XXQ = (SXP, BJH) -RPT = (NMV, VNV) -QBR = (CTH, QKV) -FXF = (VBM, KVC) -CRB = (NQC, RXH) -NQD = (BQN, RMJ) -RKR = (KMQ, MGF) -DSP = (GFL, PGH) -DSH = (XTV, LVS) -DMT = (QVN, PMS) -VPS = (NNC, HKJ) -JSC = (CPT, VLL) -XKS = (DVT, DRH) -TTV = (LKH, HNM) -MJD = (VNX, NFM) -SCZ = (SHQ, DLB) -XVX = (CNG, HFC) -KTV = (KGB, GNM) -QHJ = (LSR, SSN) -CQJ = (GPT, BMD) -NMD = (TPK, SCP) -DVB = (GSJ, GSJ) -JMP = (MQP, RGQ) -BSB = (BGC, KJC) -CPT = (MRB, MHN) -PQP = (RRG, KBD) -RLG = (BJH, SXP) -VQX = (XVR, JCB) -XJN = (XRH, DKD) -JHP = (QFT, MNG) -KMB = (HRT, SJM) -QSK = (PSG, CFJ) -DKD = (VLF, JPT) -NHV = (BGR, SDS) -HXV = (XGQ, BSP) -XXN = (DMT, GLC) -VLM = (KMB, BTL) -RLR = (DNR, LNB) -PCH = (KQG, JSC) -XRH = (VLF, JPT) -SBL = (XLM, XLM) -CRM = (JTJ, XKM) -JSS = (BTS, LSV) -CXM = (NMV, VNV) -MLG = (HCT, HCT) -JXH = (MVR, SDR) -XBH = (XVF, STR) -DXT = (VBN, JVK) -JSN = (DTS, DJP) -KLD = (MFK, PBD) -KVH = (RFH, FPH) -NJX = (GMV, VPQ) -NRQ = (GKR, GMT) -HXF = (DXS, QXR) -DGS = (SNL, BVF) -LJT = (RKR, QVK) -JLX = (XGP, TKS) -FCX = (PXP, GVH) -VDX = (VBJ, TBR) -VSF = (SPV, DDQ) -VCX = (KTT, PPX) -MMH = (MDM, FVS) -MPB = (GBL, RRB) -RLF = (TSM, DLN) -RMJ = (BTQ, TBN) -VJX = (QQP, HMV) -XVF = (RFC, HXG) -CTN = (VVV, TKM) -QHD = (GBP, RLR) -JGC = (JXH, QCQ) -KPL = (FXF, KTJ) -NGN = (MDH, VSJ) -XPG = (MJB, TTV) -MQP = (KTG, CQJ) -JCB = (QHD, MVT) -MNM = (RPT, CXM) -RXH = (BLX, MPT) -HHP = (GCJ, PRR) -SLV = (JVD, TRF) -HVT = (BJX, FND) -MTD = (MMV, LNM) -TTL = (QFH, LGP) -LTV = (QCS, RKV) -VXV = (TSX, HSM) -TCM = (QHM, DHX) -NBF = (LQT, VVQ) -BTQ = (LJX, XCS) -TKP = (KLD, FBM) -LDC = (HSD, PJP) -VHK = (NRS, NRS) -NFM = (TMF, QFS) -GTJ = (NNR, CQN) -LSD = (QCK, BJD) -HJV = (QBD, DGT) -QBK = (MND, GJL) -XNR = (MBF, SPN) -HQB = (KXN, FJF) -TNJ = (FDJ, BHH) -TGK = (SQV, TLB) -KMF = (VHK, MNF) -JVK = (PDL, FFF) -NSF = (VBJ, TBR) -SCP = (QQR, PVV) -XXP = (HHP, CDS) -VHX = (NJX, KJF) -VCJ = (JXH, QCQ) -KJC = (KCS, SCR) -XXT = (FJF, KXN) -NNC = (VQD, NSR) -VBM = (XPR, PMX) -JTJ = (XDG, VHT) -CNK = (CCX, MSS) -FTF = (TTN, BQD) -LKH = (SXJ, GMF) -TLH = (CSR, VXV) -GFF = (KML, QRX) -LFR = (CLN, RJP) -DTS = (FDL, JHP) -TTN = (KTP, GFF) -BTL = (HRT, SJM) -HJS = (JCT, JMJ) -HBJ = (JVR, GSF) -SLF = (JDD, KJZ) -CVH = (CNC, XLT) -JGQ = (JGB, XKS) -FGJ = (QFR, XVX) -STQ = (XRQ, TCB) -GCS = (JBK, TLH) -FKK = (HVT, MPK) -LJM = (DQM, XXG) -BTS = (NMD, LNP) -SVC = (NFP, QHX) -VPF = (PJP, HSD) -NPT = (NGC, FCK) -TTK = (GBN, NRQ) -XCT = (FNL, RSH) -RRG = (TND, HCC) -HMP = (GSF, JVR) -TJV = (XXG, DQM) -CTH = (CTT, SFM) -TPK = (QQR, PVV) -LSR = (PQH, LFT) -XLM = (BKL, BKL) -FGD = (VLM, LHT) -GSF = (VTJ, HRD) -PBN = (FGD, TKG) -NMV = (NRC, XXN) -CLN = (TPQ, CTX) -TMF = (TSK, PTV) -HPX = (FKC, PDT) -GBN = (GMT, GKR) -PCK = (PDX, HXV) -TCB = (NCF, FJK) -LJX = (NRH, PTN) -QBD = (KVQ, GNH) -CMC = (QBR, PBK) -GBL = (HHR, GSC) -SQN = (BJF, SRS) -FCB = (QXR, DXS) -GDJ = (XKS, JGB) -PCB = (LCL, XHH) -BPV = (MDM, FVS) -PJD = (DVB, DVB) -RHG = (MJR, RJM) -DVT = (PKN, PBN) -TFM = (QBR, PBK) -HCC = (HQB, XXT) -PGS = (DSX, MTV) -TSR = (MQP, RGQ) -KJF = (GMV, VPQ) -GJS = (DKC, CKL) -LNB = (QLK, DRT) -PKK = (QPS, VJX) -TKS = (RHG, RTK) -QFS = (TSK, PTV) -DGL = (RCK, XVJ) -XPR = (MNM, GTR) -TDH = (FKL, CFC) -PDF = (XBP, CXB) -DFN = (RXF, GRP) -JVR = (HRD, VTJ) -LBS = (TKS, XGP) -QCQ = (MVR, SDR) -MND = (JDT, QLP) -PFR = (LJM, TJV) -QLK = (MPB, PSV) -CFC = (LRV, DSH) -PMX = (GTR, MNM) -CGF = (PMR, RPV) -MVG = (LTH, KFN) -NLK = (FBR, JPM) -LFB = (SCS, PGS) -BVF = (VSF, GTG) -MDQ = (BVF, SNL) -CQF = (PMR, RPV) -FND = (LRX, PNM) -MRJ = (CNC, XLT) -HSD = (XBR, TCM) -HLF = (CNP, GQH) -RRQ = (CMC, TFM) -CLM = (TKM, VVV) -RLB = (TTV, MJB) -NDS = (RQX, CQD) \ No newline at end of file diff --git a/aoc2023/src/day9/input.txt b/aoc2023/src/day9/input.txt deleted file mode 100644 index 6e0678f..0000000 --- a/aoc2023/src/day9/input.txt +++ /dev/null @@ -1,200 +0,0 @@ -16 22 27 23 4 -16 23 267 1025 2943 7407 17445 39670 88339 193607 417868 887273 1851158 3792224 7628687 15083115 -12 27 53 97 184 369 757 1550 3165 6502 13489 28103 58181 118520 236055 458342 867210 1600341 2884757 5087813 8793398 -3 9 23 45 75 113 159 213 275 345 423 509 603 705 815 933 1059 1193 1335 1485 1643 -14 21 42 87 173 334 631 1162 2072 3563 5904 9441 14607 21932 32053 45724 63826 87377 117542 155643 203169 -6 13 20 27 34 41 48 55 62 69 76 83 90 97 104 111 118 125 132 139 146 -18 28 38 48 58 68 78 88 98 108 118 128 138 148 158 168 178 188 198 208 218 -21 33 40 47 73 158 375 850 1793 3543 6630 11857 20405 33964 54893 86412 132829 199805 294660 426723 607729 -5 11 28 62 114 176 227 229 123 -175 -778 -1832 -3520 -6066 -9739 -14857 -21791 -30969 -42880 -58078 -77186 -24 40 75 158 329 650 1234 2297 4245 7835 14509 27104 51294 98315 189749 365429 696074 1303683 2396426 4333544 7754453 -18 23 29 46 96 212 448 922 1929 4181 9250 20305 43249 88396 172934 324721 588708 1038939 1802431 3107544 5380614 -23 48 93 172 303 512 850 1439 2577 4950 10022 20709 42513 85461 167621 322006 611043 1157808 2213227 4297234 8485467 --5 1 16 41 89 207 507 1216 2767 5970 12327 24602 47877 91653 174402 333999 651945 1308548 2704118 5713694 12198267 -6 29 72 158 337 698 1389 2653 4895 8818 15726 28221 51759 97922 190866 379323 758008 1504863 2945432 5665084 10707897 -9 12 14 16 18 23 61 248 912 2857 7918 20117 47998 109127 238298 501654 1019615 2002014 3798866 6969266 12368366 -17 22 22 7 -38 -133 -303 -578 -993 -1588 -2408 -3503 -4928 -6743 -9013 -11808 -15203 -19278 -24118 -29813 -36458 --2 4 18 55 139 307 619 1172 2109 3609 5862 9109 14010 22956 43541 96348 230584 553042 1278506 2813195 5887325 -8 15 28 69 174 408 898 1887 3825 7548 14661 28355 55092 107964 213209 422581 836414 1645965 3210142 6193077 11808762 -16 42 93 189 363 674 1225 2187 3843 6689 11662 20608 37156 68227 126480 234080 428266 769300 1351491 2318111 3881153 -22 28 29 28 44 131 412 1147 2869 6647 14589 30812 63325 127656 253684 498111 966448 1850438 3489669 6469940 11775962 -10 22 64 147 279 478 797 1361 2416 4390 7966 14167 24453 40830 65971 103349 157382 233590 338764 481147 670627 -26 44 80 147 257 416 626 905 1352 2314 4756 10993 26015 59722 130486 270571 534070 1008160 1828632 3200823 5427261 -10 13 25 59 130 257 465 787 1266 1957 2929 4267 6074 8473 11609 15651 20794 27261 35305 45211 57298 -22 34 53 80 110 130 129 142 361 1361 4516 12738 31795 72709 156208 321132 640567 1253344 2426426 4679304 9031095 --3 3 14 32 60 112 238 564 1347 3045 6402 12548 23114 40362 67330 107992 167433 252039 369702 530040 744632 -9 6 1 -6 -15 -26 -39 -54 -71 -90 -111 -134 -159 -186 -215 -246 -279 -314 -351 -390 -431 -8 19 30 41 52 63 74 85 96 107 118 129 140 151 162 173 184 195 206 217 228 -12 28 56 112 219 400 680 1122 1935 3705 7813 17117 36988 76803 152011 286901 518214 899754 1508166 2450062 3870689 -4 18 45 100 211 419 778 1355 2230 3496 5259 7638 10765 14785 19856 26149 33848 43150 54265 67416 82839 -14 27 62 122 200 276 326 367 589 1672 5468 16376 44007 108213 248366 540095 1124752 2259977 4404234 8354542 15465362 -10 22 40 63 103 210 507 1241 2865 6190 12701 25249 49587 97767 195548 398210 823495 1718635 3594121 7486884 15473014 -14 34 81 182 390 802 1584 3006 5499 9763 16982 29248 50393 87661 155200 281530 525422 1008672 1981041 3943806 7877282 -12 6 3 23 101 286 644 1284 2444 4698 9375 19317 40145 82250 163780 314954 584100 1045886 1812291 3046947 4983573 -13 21 32 52 86 138 211 307 427 571 738 926 1132 1352 1581 1813 2041 2257 2452 2616 2738 -17 35 58 79 89 86 96 217 705 2144 5802 14399 33741 76089 166928 358407 755996 1571412 3227213 6560698 13212768 -17 31 59 122 252 488 875 1475 2402 3896 6454 11039 19391 34467 61040 106490 181823 302957 492317 780784 1210046 -11 13 19 31 63 168 488 1351 3457 8223 18396 39097 79555 156016 296889 552619 1016132 1867206 3470206 6587672 12837496 -16 29 54 116 265 600 1300 2668 5219 9890 18523 34882 66641 129080 251748 490245 946750 1805263 3391104 6269484 11405501 -14 27 57 121 242 458 839 1513 2706 4807 8477 14831 25734 44266 75427 127171 211878 348395 564801 902077 1418890 -7 20 34 49 65 82 100 119 139 160 182 205 229 254 280 307 335 364 394 425 457 -1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 -11 27 54 101 191 376 755 1502 2915 5494 10051 17860 30889 52245 87140 144991 243747 418245 735396 1320359 2399651 -2 8 29 83 199 423 835 1581 2927 5359 9789 17981 33374 62532 117469 219074 401880 720802 1262037 2164843 3671777 -6 24 54 96 150 216 294 384 486 600 726 864 1014 1176 1350 1536 1734 1944 2166 2400 2646 -10 19 51 124 260 486 847 1434 2430 4183 7326 12972 22998 40360 69185 113940 176032 244249 271543 122978 -535002 --2 -4 -14 -20 14 157 520 1272 2677 5175 9538 17144 30453 53895 95688 171741 313968 587314 1122914 2179488 4251816 -10 2 -8 -10 16 111 367 983 2360 5278 11264 23369 47724 96431 192545 378084 726118 1357970 2466328 4344512 7421136 -9 22 62 142 278 503 886 1552 2699 4608 7642 12230 18832 27881 39698 54376 71629 90602 109638 125998 135530 --2 -1 13 46 97 157 212 250 272 307 431 790 1627 3313 6382 11570 19858 32519 51169 77822 114949 -18 43 87 167 324 645 1288 2508 4685 8358 14272 23448 37289 57738 87507 130399 191748 279005 402501 576421 820026 --8 -3 21 87 247 597 1292 2561 4722 8197 13527 21387 32601 48157 69222 97157 133532 180141 239017 312447 402987 -1 15 44 102 209 386 650 1009 1457 1969 2496 2960 3249 3212 2654 1331 -1055 -4861 -10508 -18486 -29359 -5 1 -2 6 59 235 682 1661 3639 7499 14980 29518 57729 111857 213604 399865 731009 1302477 2260610 3823774 6310015 -1 9 37 102 234 477 887 1529 2484 3904 6221 10771 21422 48445 117084 285457 680175 1564375 3463249 7388968 15233734 --3 -3 -1 11 59 207 588 1446 3189 6453 12177 21689 36803 59927 94182 143532 212925 308445 437475 608871 833147 -10 8 4 -1 1 26 99 259 588 1312 3062 7435 18059 42442 94973 201543 406366 781704 1441336 2558759 4391269 -10 15 18 27 59 146 351 801 1756 3756 7920 16506 33869 67961 132485 249722 453870 794437 1338782 2172261 3393567 -7 15 41 104 240 511 1006 1830 3083 4847 7237 10652 16512 29023 58918 130730 296023 656207 1400169 2864048 5623160 --8 -4 15 66 176 382 731 1280 2096 3256 4847 6966 9720 13226 17611 23012 29576 37460 46831 57866 70752 -11 15 15 11 3 -9 -25 -45 -69 -97 -129 -165 -205 -249 -297 -349 -405 -465 -529 -597 -669 --1 2 8 24 76 213 509 1071 2071 3838 7075 13309 25742 50751 100388 196360 376127 701946 1273914 2248326 3862968 -11 12 10 -4 -30 -41 52 467 1667 4541 10659 22594 44276 81300 141049 232411 364763 545762 777320 1048944 1327390 -9 11 12 20 63 215 648 1733 4223 9564 20404 41417 80649 151761 277849 498056 879093 1535245 2662704 4597458 7910851 -21 22 23 43 114 293 701 1602 3535 7522 15407 30447 58395 109537 202601 372448 685608 1272236 2392115 4569768 8866201 -17 27 37 47 57 67 77 87 97 107 117 127 137 147 157 167 177 187 197 207 217 -18 42 72 103 130 150 170 224 408 956 2402 5903 13836 30828 65432 132724 258166 483158 872788 1526383 2591566 -23 30 36 41 45 48 50 51 51 50 48 45 41 36 30 23 15 6 -4 -15 -27 -14 31 52 83 148 308 690 1526 3202 6317 11752 20749 35000 56746 88886 135096 199958 289099 409340 568855 777340 -4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 -14 26 44 76 143 283 574 1197 2563 5538 11840 24799 50942 103413 209274 424645 865170 1765883 3597017 7286172 14643193 -12 27 49 69 87 136 330 950 2594 6451 14824 32143 66919 135472 268945 526276 1017696 1946291 3679643 6870089 12651367 -11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 111 -10 35 74 146 282 527 958 1744 3300 6630 14020 30337 65320 137420 279964 550689 1046022 1921877 3423206 5925084 9988734 -20 29 40 59 108 247 607 1436 3177 6629 13289 26035 50387 96675 183550 343396 630338 1131693 1983878 3393971 5668318 -8 24 59 134 284 569 1103 2113 4045 7744 14750 27772 51427 93361 165904 288451 490806 817776 1335357 2138914 3363822 -11 25 55 105 179 281 415 585 795 1049 1351 1705 2115 2585 3119 3721 4395 5145 5975 6889 7891 -19 37 74 159 334 661 1245 2294 4257 8117 15987 32302 66195 136227 279739 571067 1156243 2317357 4588524 8958785 17217096 --2 9 41 103 219 443 870 1652 3057 5656 10790 21562 44740 94217 197246 406018 820326 1634301 3236137 6423499 12866391 -5 -1 -8 -9 10 70 199 432 811 1385 2210 3349 4872 6856 9385 12550 16449 21187 26876 33635 41590 -19 32 45 58 71 84 97 110 123 136 149 162 175 188 201 214 227 240 253 266 279 -22 37 55 71 94 167 396 1005 2447 5608 12151 25096 49895 96676 185249 356351 696284 1389007 2822275 5796409 11921644 -22 47 92 163 266 410 610 889 1282 1854 2764 4460 8230 17669 42342 106334 266942 653145 1540604 3491025 7600370 -23 38 73 146 277 488 805 1274 2012 3332 6035 12106 26379 60395 140880 327309 746281 1655398 3556625 7389446 14848405 -10 34 81 160 274 417 573 715 811 876 1179 2852 9421 30324 88549 236536 588096 1380274 3089189 6639788 13773628 -17 32 52 70 76 73 108 318 991 2642 6104 12634 24034 42787 72208 116610 181485 273700 401708 575774 808216 --4 7 32 78 155 279 498 962 2061 4658 10451 22528 46285 91178 174513 330071 627521 1214340 2401733 4831449 9782898 --1 1 -1 -2 13 71 214 503 1023 1889 3253 5312 8317 12583 18500 26545 37295 51441 69803 93346 123197 -14 25 55 119 234 420 706 1143 1844 3111 5790 12143 27772 65506 152698 344108 743534 1538777 3056905 5851463 10843458 --7 -7 2 25 72 160 317 595 1112 2172 4561 10190 23357 53033 116746 246846 500187 972563 1819588 3286119 5746790 -24 51 91 144 210 289 381 486 604 735 879 1036 1206 1389 1585 1794 2016 2251 2499 2760 3034 --6 -8 -7 -4 9 70 282 871 2293 5443 12063 25532 52395 105321 208785 409850 798384 1544682 2969297 5672672 10775633 -18 38 74 128 197 273 343 389 388 312 128 -202 -721 -1477 -2523 -3917 -5722 -8006 -10842 -14308 -18487 -14 14 6 -15 -54 -116 -206 -329 -490 -694 -946 -1251 -1614 -2040 -2534 -3101 -3746 -4474 -5290 -6199 -7206 -0 4 22 78 215 499 1023 1911 3322 5454 8548 12892 18825 26741 37093 50397 67236 88264 114210 145882 184171 -15 19 27 58 141 316 650 1285 2551 5196 10802 22466 45823 90469 171801 313223 548567 924441 1502037 2357706 3581329 -28 49 76 114 185 353 769 1757 3977 8715 18361 37142 72176 134903 242928 422277 710018 1157133 1831442 2820274 4232451 -2 -5 0 35 133 356 819 1728 3430 6476 11736 20729 36639 67155 131593 277209 613962 1384465 3098432 6781691 14423617 --2 7 41 121 269 517 931 1662 3062 5945 12131 25493 53858 112344 229132 455405 882418 1670639 3098937 5646285 10124879 -15 19 18 9 -6 -15 9 113 369 879 1780 3249 5508 8829 13539 20025 28739 40203 55014 73849 97470 -9 14 33 89 229 533 1128 2215 4117 7356 12767 21657 36017 58795 94238 148311 229201 347914 518973 761225 1098765 -8 23 51 104 202 386 739 1423 2763 5438 10883 22095 45241 92932 191019 392729 807586 1658885 3393971 6888230 13809204 -6 3 10 41 110 231 418 685 1046 1515 2106 2833 3710 4751 5970 7381 8998 10835 12906 15225 17806 -12 12 16 37 101 264 650 1525 3438 7497 15913 33051 67399 135147 266525 516779 984800 1844138 3393654 6138665 10918457 -9 30 68 138 276 551 1072 2001 3595 6307 10985 19236 34096 61304 111765 206261 384197 719228 1346090 2504950 4612204 -23 38 66 121 224 409 731 1285 2251 3984 7170 13069 23864 43131 76439 132081 221927 362378 575386 889489 1340792 -16 28 40 52 64 76 88 100 112 124 136 148 160 172 184 196 208 220 232 244 256 -17 30 61 119 219 397 747 1501 3179 6842 14487 29629 58121 109269 197305 343287 577501 942446 1496489 2318283 3512047 --1 5 14 37 100 253 588 1271 2598 5105 9816 18826 36619 72851 147828 302628 616809 1237973 2429186 4642459 8629254 -16 36 76 164 342 666 1206 2046 3284 5032 7416 10576 14666 19854 26322 34266 43896 55436 69124 85212 103966 --5 -3 12 63 182 411 809 1475 2612 4686 8786 17372 35707 74388 153464 308525 598601 1114243 1980956 3346921 5332708 -14 26 38 50 62 74 86 98 110 122 134 146 158 170 182 194 206 218 230 242 254 -2 -4 -19 -52 -115 -221 -369 -502 -417 401 3053 9640 23844 51688 102447 189584 331368 550394 870413 1307468 1850007 -21 43 82 139 220 346 563 952 1639 2805 4696 7633 12022 18364 27265 39446 55753 77167 104814 139975 184096 --8 -16 -17 2 54 155 326 590 966 1484 2301 4109 9224 24092 64560 166325 404748 930980 2035275 4253332 8536722 --2 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 -12 33 69 137 269 529 1047 2087 4183 8402 16827 33411 65487 126554 241758 459276 874624 1682767 3288727 6538653 13194051 -5 11 36 85 167 311 593 1176 2363 4661 8852 16065 27841 46181 73565 112928 167577 241031 336764 457829 606339 -5 0 6 43 134 309 628 1231 2423 4814 9565 18848 36718 70725 134771 253948 472385 865492 1558424 2753105 4766758 -20 31 42 53 64 75 86 97 108 119 130 141 152 163 174 185 196 207 218 229 240 -17 34 57 94 167 331 710 1554 3321 6788 13195 24426 43231 73493 120544 191534 295857 445638 656285 947110 1342023 -19 22 16 1 -16 -13 61 313 960 2430 5532 11711 23385 44323 79959 137439 225057 350542 517400 718181 923118 -12 20 36 60 92 132 180 236 300 372 452 540 636 740 852 972 1100 1236 1380 1532 1692 -15 28 66 154 345 743 1533 3025 5728 10495 18847 33738 61349 115157 224805 454707 941713 1968938 4106276 8470690 17196453 -26 54 104 181 285 412 556 719 953 1484 3011 7356 18816 46948 112339 258637 577588 1260474 2701490 5699779 11842279 --5 0 13 48 130 307 671 1382 2697 5034 9163 16738 31609 62754 130392 278202 597329 1273687 2682530 5580428 11497888 -8 23 49 86 133 194 288 465 841 1695 3749 8922 22170 55570 136666 324373 737550 1603839 3339673 6676646 12854891 -7 18 29 40 51 62 73 84 95 106 117 128 139 150 161 172 183 194 205 216 227 -10 24 44 69 95 111 110 139 432 1714 5858 17254 45544 110822 253017 547981 1133786 2251864 4308844 7966159 14265585 --5 -2 6 18 42 106 277 693 1613 3490 7072 13536 24660 43038 72343 117643 185775 285782 429418 631726 911694 -25 49 82 120 164 225 336 574 1090 2143 4134 7640 13481 22991 39079 69707 137760 306259 738049 1829516 4498299 -28 39 59 115 256 569 1203 2401 4540 8179 14115 23447 37648 58645 88907 131541 190396 270175 376555 516315 697472 -11 22 42 82 162 312 578 1053 1983 4058 9103 21549 51304 118974 264819 563384 1146435 2237670 4203680 7626820 13407030 -13 32 67 140 285 548 987 1672 2685 4120 6083 8692 12077 16380 21755 28368 36397 46032 57475 70940 86653 -16 33 54 83 134 242 480 986 2021 4120 8486 17955 39204 87515 196569 437797 957362 2044827 4257394 8639335 17100774 -9 16 28 45 77 154 347 816 1911 4366 9654 20646 42906 87373 176023 353702 712286 1438821 2909549 5870876 11783816 -8 6 12 48 156 403 877 1669 2836 4346 6024 7554 8652 9615 12577 23971 58912 148486 351260 770724 1580844 -10 34 83 183 372 704 1257 2145 3534 5662 8863 13595 20472 30300 44117 63237 89298 124314 170731 231487 310076 -8 20 36 53 68 78 80 71 48 8 -52 -135 -244 -382 -552 -757 -1000 -1284 -1612 -1987 -2412 -8 24 64 148 311 624 1225 2369 4520 8531 15994 29900 55846 104185 193758 358183 656084 1187050 2115368 3703412 6355581 -5 15 30 49 71 95 120 145 169 191 210 225 235 239 236 225 205 175 134 81 15 -20 50 100 187 348 653 1224 2260 4071 7142 12288 21029 36419 64717 118496 222024 419946 790371 1463632 2649684 4685450 -19 31 52 89 164 327 670 1344 2599 4900 9234 17847 35889 74868 159497 340530 717567 1477557 2956756 5736005 10781030 -18 39 72 138 278 564 1112 2106 3859 6958 12565 22975 42565 79305 147043 268821 481528 842249 1436726 2390408 3882632 -4 10 15 19 22 24 25 25 24 22 19 15 10 4 -3 -11 -20 -30 -41 -53 -66 -17 26 56 136 308 628 1180 2113 3711 6506 11444 20114 35050 60116 100984 165715 265453 415242 634976 950492 1394816 -25 37 60 118 244 489 953 1860 3725 7710 16362 35110 75232 159574 333227 682794 1369993 2688371 5156120 9663710 17702660 -4 8 33 90 191 348 577 927 1566 2968 6257 13776 29961 62612 124665 236581 429480 749160 1261153 2056982 3261795 -13 25 58 131 276 546 1035 1922 3551 6559 12064 21925 39086 68016 115257 190092 305345 478325 731926 1095895 1608280 -8 7 17 55 139 281 476 687 826 731 139 -1345 -4283 -9443 -17842 -30793 -49956 -77393 -115627 -167705 -237265 -5 22 61 137 265 460 737 1111 1597 2210 2965 3877 4961 6232 7705 9395 11317 13486 15917 18625 21625 -15 14 17 28 53 111 267 709 1908 4922 11933 27153 58340 119414 235217 450591 848077 1582290 2945281 5487158 10231495 -2 9 28 68 137 258 498 1015 2135 4478 9159 18097 34472 63377 112719 194430 326056 532799 850094 1326810 2029171 -22 34 46 53 55 67 142 416 1181 3001 6930 15013 31533 66065 140600 305315 671836 1480416 3230374 6924401 14511151 -18 34 63 125 258 526 1027 1901 3338 5586 8959 13845 20714 30126 42739 59317 80738 108002 142239 184717 236850 -27 52 102 187 321 526 843 1369 2346 4335 8515 17154 34306 66795 125554 227394 397285 671238 1099884 1752853 2724063 -23 38 55 78 115 182 314 595 1239 2789 6549 15431 35510 78803 168285 347274 697739 1377040 2692175 5248108 10237257 -25 38 63 120 243 496 1004 2001 3903 7429 13817 25215 45369 80781 142570 249338 431421 736992 1240579 2054666 3345159 -28 41 54 67 80 93 106 119 132 145 158 171 184 197 210 223 236 249 262 275 288 --6 0 15 44 101 212 418 778 1372 2304 3705 5736 8591 12500 17732 24598 33454 44704 58803 76260 97641 -4 28 65 121 220 415 796 1496 2709 4761 8325 14968 28410 57238 120465 258450 553719 1170131 2426846 4940384 9902961 -6 7 15 36 76 141 237 370 546 771 1051 1392 1800 2281 2841 3486 4222 5055 5991 7036 8196 -24 33 45 62 77 83 95 191 590 1804 4931 12217 28162 61797 131542 275661 574402 1195504 2484736 5141196 10551151 -23 41 68 104 149 203 266 338 419 509 608 716 833 959 1094 1238 1391 1553 1724 1904 2093 -22 42 68 105 161 238 323 380 347 146 -277 -830 -906 1697 13721 53857 170028 477110 1234650 2999191 6910095 --9 -1 22 61 119 200 304 418 503 477 194 -581 -2201 -5170 -10180 -18152 -30281 -48085 -73458 -108727 -156713 -11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 111 -7 13 33 88 211 463 966 1970 3984 8020 16029 31654 61492 117150 218504 398730 711877 1243999 2129161 3571988 5878841 -26 54 107 191 316 512 855 1506 2775 5254 10135 19972 40418 83980 177798 379260 806629 1698071 3523848 7197074 14465457 -7 6 4 13 65 221 583 1306 2603 4745 8094 13284 21806 37503 69932 141398 301131 653436 1413420 3017283 6339755 -8 13 26 47 76 113 158 211 272 341 418 503 596 697 806 923 1048 1181 1322 1471 1628 -14 19 31 61 140 340 804 1785 3694 7157 13081 22729 37804 60542 93814 141237 207294 297463 418355 577861 785308 -18 25 41 74 132 223 355 536 774 1077 1453 1910 2456 3099 3847 4708 5690 6801 8049 9442 10988 -13 39 87 171 318 573 1009 1765 3152 5886 11539 23368 47825 97318 195247 385056 746111 1420737 2658839 4889321 8831144 -10 8 14 34 74 141 255 482 1006 2285 5397 12804 30003 69026 155797 345601 755687 1633870 3501675 7448656 15726061 -6 11 25 69 172 364 663 1064 1547 2130 3002 4780 8943 18505 38998 79845 156212 291437 520143 892151 1477318 -27 50 84 135 218 372 697 1431 3090 6700 14160 28802 56287 106157 194788 351446 631221 1142968 2109356 3994435 7771240 -9 31 66 114 175 249 336 436 549 675 814 966 1131 1309 1500 1704 1921 2151 2394 2650 2919 -8 7 7 8 10 22 98 426 1513 4538 11998 28875 64756 137733 281650 559617 1089152 2088679 3962843 7457584 13938920 --5 -7 -9 -11 -2 54 247 779 2078 5020 11348 24426 50527 100927 195162 365902 666005 1178435 2029861 3408899 5590116 -10 16 34 74 147 274 521 1081 2432 5608 12628 27136 55313 107130 198019 351047 599686 991280 1591318 2488630 3801631 -9 8 21 66 172 391 830 1721 3552 7290 14748 29193 56376 106318 196477 357514 644161 1156577 2084086 3797672 7049008 -14 40 88 183 380 785 1580 3064 5738 10495 19048 34867 65134 124613 242953 477946 938949 1827706 3509661 6640837 12400447 -15 25 39 64 129 294 653 1337 2538 4600 8260 15178 28989 57277 115164 231711 461221 903259 1738853 3298396 6194405 -9 6 6 11 31 107 353 1029 2669 6320 14014 29709 61115 123102 243845 475664 914050 1731530 3239870 6009120 11104366 -26 37 48 75 147 313 670 1432 3073 6602 14068 29452 60189 119691 231437 435496 798808 1431239 2510444 4320037 7307627 -3 -1 -10 -24 -43 -67 -96 -130 -169 -213 -262 -316 -375 -439 -508 -582 -661 -745 -834 -928 -1027 -18 43 89 169 300 508 853 1501 2897 6147 13824 31625 71718 159389 345977 733436 1519704 3080095 6109095 11860445 22542764 -17 38 63 88 109 122 123 108 73 14 -73 -192 -347 -542 -781 -1068 -1407 -1802 -2257 -2776 -3363 -3 2 10 40 110 248 497 920 1605 2670 4268 6592 9880 14420 20555 28688 39287 52890 70110 91640 118258 -21 37 57 85 131 212 354 601 1040 1854 3418 6456 12280 23135 42677 76614 133543 226019 371895 595975 932025 -14 28 56 121 265 567 1177 2386 4774 9508 18898 37365 73056 140538 265518 493797 909482 1673256 3102528 5835085 11151679 -13 31 73 156 302 533 869 1334 1975 2899 4333 6712 10800 17849 29801 49538 81185 130471 205153 315508 474898 --1 -10 -9 16 78 189 360 601 921 1328 1829 2430 3136 3951 4878 5919 7075 8346 9731 11228 12834 -1 10 33 77 148 252 400 620 988 1712 3344 7262 16674 38591 87590 192932 412066 856321 1739510 3468242 6804651 -2 19 60 137 265 461 749 1184 1908 3251 5909 11312 22519 46478 99470 219319 490975 1097216 2415107 5194716 10885594 -7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -13 24 44 89 197 451 1016 2204 4587 9194 17866 33915 63351 117117 215018 392358 710721 1274860 2258304 3941069 6763777 -1 -4 1 26 80 183 394 857 1858 3876 7615 14048 24625 42043 72406 130287 249223 501620 1034021 2126310 4286814 -7 20 36 46 41 20 1 35 223 736 1838 3912 7489 13280 22211 35461 54503 81148 117592 166466 230889 -16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 --1 3 12 46 137 336 738 1542 3172 6494 13173 26223 50812 95393 173241 304485 518733 858397 1382834 2173428 3339747 \ No newline at end of file -- cgit v1.2.3