From 0fa49c06c19888a7da3e466b71c6a26b9336f970 Mon Sep 17 00:00:00 2001 From: Greg Burri Date: Mon, 7 Dec 2020 09:59:39 +0100 Subject: [PATCH] Day 5 --- advent_of_code_2020.jl | 47 +++ data/day05.txt | 839 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 886 insertions(+) create mode 100644 data/day05.txt diff --git a/advent_of_code_2020.jl b/advent_of_code_2020.jl index 8b616ef..26704c2 100644 --- a/advent_of_code_2020.jl +++ b/advent_of_code_2020.jl @@ -290,6 +290,47 @@ md" **Result for part 2**: $(count_nb_valid_passport(input_day4, true)) " +# ╔═╡ 11d48ec0-3864-11eb-2dcf-3302fbb74b2d +md"## Day 5" + +# ╔═╡ 18269980-3864-11eb-19d6-71f75b104ae5 +function parse_day5(lines) + map(lines) do line + row = parse(Int, join(replace(split(line[1:7], ""), "F" => "0", "B" => "1")); base = 2) + col = parse(Int, join(replace(split(line[8:10], ""), "L" => "0", "R" => "1")); base = 2) + row * 8 + col + end +end + +# ╔═╡ 9d237b60-3866-11eb-2dd8-c19a6cbded5b +let + test = [ "FBFBBFFRLR" ] + result = parse_day5(test) + md" +Test 1, part 1: $(result[1] == 357) + " +end + +# ╔═╡ e881a6d0-3867-11eb-3261-0d86b4370065 +function find_missing_id(ids) + sorted_ids = sort(ids) + for i ∈ 1:length(sorted_ids)-1 + if sorted_ids[i] + 1 ≠ sorted_ids[i + 1] + return sorted_ids[i] + 1 + end + end +end + +# ╔═╡ cb986040-3867-11eb-0d78-594ac9d9a547 +input_day5 = parse_day5(readlines("data/day05.txt")) + +# ╔═╡ bdc1be30-3867-11eb-1939-1f0a42a4ac92 +md" +**Result for part 1**: $(input_day5 |> maximum) + +**Result for part 2**: $(find_missing_id(input_day5)) +" + # ╔═╡ Cell order: # ╟─661be9a0-353b-11eb-3598-a5b5245368cb # ╟─f0dd4400-3313-11eb-3295-af913c2212fb @@ -321,3 +362,9 @@ md" # ╟─b8d2afc0-35ff-11eb-2fb1-7dba5d323768 # ╟─6c01cf90-3600-11eb-0762-ad046d0d0775 # ╟─953ee8c2-3600-11eb-1684-79ff44185b5f +# ╟─11d48ec0-3864-11eb-2dcf-3302fbb74b2d +# ╠═18269980-3864-11eb-19d6-71f75b104ae5 +# ╠═9d237b60-3866-11eb-2dd8-c19a6cbded5b +# ╠═e881a6d0-3867-11eb-3261-0d86b4370065 +# ╟─cb986040-3867-11eb-0d78-594ac9d9a547 +# ╟─bdc1be30-3867-11eb-1939-1f0a42a4ac92 diff --git a/data/day05.txt b/data/day05.txt new file mode 100644 index 0000000..6cd6f33 --- /dev/null +++ b/data/day05.txt @@ -0,0 +1,839 @@ +BFFBFBFLRL +BFBFBBBLRR +BFBFBFBLRR +BFBFFFFRLR +BBFFBBFRRR +FBBBFFFRLL +FFBFBFFLLL +BBFBFFFRLL +FBBBFFBLRR +FFFFBFFRRL +BFBFBFBRLL +FFBFFBBLLL +BFFBBFFRLR +FBBFFFFLRR +FBFBFFBRRR +FFBFFBBRRR +FBBBFFFRRL +FFBBBBFRRL +BFFBBBBLLL +BFBBFBBLLR +FBBFBFFLLR +FBBFBFFLRR +BFFFFBFLLL +FBBBBBBRRR +FBFFBBFLLR +BBFBFFBRLR +FFFFFBBLLR +FBBFBBBRLL +FFFFBBFRRR +FFFFBFBLRL +FFFBFBFLLR +FFBFBBBLRR +BFFBBBFRLR +FFFBFBBLLL +FBFBBBFLRR +BBFFFBFLLL +FFFFFBBLRR +FFBFBFFRLL +BFFFBBFRLR +BFBBBFBLLR +FFFBBFFLRL +BFBBBFBLLL +FBFBBFBRLR +BBFFBFFRRR +BFFFFBBLRR +FBBBBBFLRL +FBFBBBBRRR +FBFBBFFLLL +BFBBBFBRLL +FFBBFBBLRR +FFBFBBBRRR +FFFFFBFLRL +BFFBBBFLRR +BFBBFBFLLR +FFBFBBBLRL +FBBBBFBLLL +BFBBBFFLRR +FBBFFBBLRR +BFFBBFBLRR +FBBBBBFLLL +FFFFBBBRLR +FBFBBBFLLR +BFBFFBFRLR +BFFBFFBRRR +FBBFFFFLRL +BFBFBBFLRL +BBFBFFFRLR +FBFFFFBLRR +BFFFBFFRLL +FBFFBFBLLR +FFFBFFFRLR +FFFBFFFRLL +BFFBFBBLLL +FFBBFBBLRL +BFBBBBFLRL +BFBBBBFLRR +BFBFFFFRRL +BFBBBFBRLR +BBFFBBBLLR +FBBFBBFRLR +FBFBFBFLLR +BFBFFBBRRR +FFFFBBFLLR +FBFFBFFLLL +BFFFFFBRLR +FBFBBBFLRL +BFFFBBFLLR +FBFBFBBRRR +FBFFBFBLRL +BBFFFBBLLL +FBFFFBFRRL +BBFFFFBRLR +BBFFBFBRRL +BFFBBBBRLR +FBFFFBBLRL +FBBFBBFLLR +FFBBBBBLLL +FBBBBBFLLR +FFBFFBFRLR +BFFBBFBLRL +FFBBBBFRLR +BFFBFBBRRL +FBFBBBFLLL +BBFBFFBRRR +FBFBBFFLLR +BFFFFFBRLL +FBBBBFBLLR +FFBBBFBLRR +FBBBBFBRLR +FBBBBBBRRL +FBBFFFBRRL +FBFBFFFLRR +FBBFFFBRLR +BFFBFBFRRL +FFBFBBFRLL +FBFBFFFRRR +BFFFFBFRRR +FFFFFBFRRL +BBFFBFFLRL +FBBBBBBLLR +BFFFBFFRRR +FFFFFBFRLL +FBBFBFBLLL +FFFFBBFLRR +BFBBFFFRLR +FFBFFBBLRR +FBFFBFBLRR +FFBBBFBLRL +FFFBBFBRLR +BFBFFBBLLR +FFFBBFBLLL +BBFFFBBLRL +FBFBFFFRLR +BBFFBFFRLR +FFFBFBFRLR +FFBBBBFLLR +BBFFBFFLRR +FFFFFBFRLR +BFBFBBFRRR +BBFFFBFRRL +BFFBFBFLLR +FFFBBBBLLL +BFFFBBFLLL +BBFFFBBRRL +BFFFFBFRLL +BFBFBBBLLR +BBFBFFBRRL +FBFFBBFLLL +FBFBFFFRRL +FBBFBBBLRR +BFBBFFBRLL +FBFBBBBRLR +FFFBBFFLRR +FBBFFBFRRL +BFFBBBBLRR +FFFFBBFRLR +FBFBBBFRRR +BFFBFFFRLL +BFFFFFFRRL +FBFFFFBRLR +BFFFFBBRRL +FBBBBBFRLR +FBBBBFBLRR +FFFBBFBRLL +FBBFBBFRRL +FFFBBBBRRL +FBBFFBBRRL +BFFBBFFLLR +FFFBFFBRRL +FBFFBFFLLR +FFFFFFBRLL +FFBBFBBRLR +FFBBFBFLRR +FFFBFFBRRR +FFBFFBBLLR +BFBFBFBLLR +FFBBBBFRRR +BFBBBFBLRL +BFFFBBFRRL +FBFBBBFRLL +BBFFFFBRRR +FBBFBFBRLR +BFBBBFFRRL +FBBBBFBRRL +FBBBFFBLRL +FBFFFBBRRL +BFBBFFBRRL +FBFBBFFLRL +FBFBBBBLRL +FFBBBFBRRL +FBBBBBBLRL +FFFFBBFRLL +FBFBBFBRLL +BFBFBBFLLR +FBFFFBBRLR +BFBFBBBRRR +FBBBBBBLRR +BFFBFFBRRL +FFBBBBBRLR +BFFFBBFLRL +FBFBBBBRLL +FFFFFBFRRR +BFBBBBFRLR +FFBFFBFRRL +FBBBBBBRLR +FBFFFBBLRR +FFFBFFBRLR +BFBFFBFLLR +FFFFFBBRRL +FBBBBBFRRL +FFFFBBBRRR +BFBBFFFRLL +BBFFBFBLLR +FFFFBFFLRR +FBFFFBFLLL +FBBFFBFRLR +BBFBFFBLLR +BBFBFFFLRL +BFFFBBBRLR +BFFBFFBLRL +BFBFBFFLRL +FBBFFBBRLR +FBFBFBBRLL +FFBFFFFLLL +FFFFBFBLLL +FBBFFBBLLR +FFFFBBBLRR +FFFFFBBRRR +BBFFFFFRLL +FBFBBFBRRR +FBBFFFFRRR +FFFFBFBRLR +BFFFFBBLLR +FFFBBBFRLL +BFFBBBBRRR +FBFFBBFRLL +BFBBFBFLRL +FBFBFBBLLL +FFBFFFFRRL +FBFBBBFRRL +FBBBBBBRLL +BFFFBFBRRR +BFBFBFBRRR +FBFFFBBRLL +BFFFFBBLLL +FFFBFFFRRL +FBBBBFFRRL +BFFFFFFLRR +BFBFBFFLRR +BFFFFBBRLL +FBBFFFFRRL +BFBBFBBRRR +FFFBFFBLLR +BFFBFFFRLR +FFBFFFBLLR +BFBFBFBLLL +BFFBFFFLRR +FFBBFFBLRR +FBBFFBFRLL +FFBFBFBRRL +FBFFFFFLLR +FBFFBBFRLR +FBFBBBFRLR +FFBBFFFLRR +FBBFFFFLLL +FFFBFFFLRL +BFFBBFBLLR +BFFFFFBLLL +BBFBFFBLLL +BFFBFBBLRR +BBFFFFBRLL +FBFFBFFLRL +FBBFFFFLLR +FFFBBFFRLR +FFFBBFBLRL +BFFBBBBLLR +BFBBBFBRRL +FFBBBFFLRR +FBBFFBBRLL +FFFBFBBRRR +BFFBFFFLRL +BFFFBFFLLR +FFFBFBFLLL +FFBFBFFRRL +FFFBFFFRRR +BFBFFFFLRL +BFFFFFBRRL +FFFBFBBLRL +FBFFBFFRRL +FFFFBFFLLR +FFBBBBFRLL +FBBBBFFLRR +FFFFBFFLLL +BFBBBBFRRL +FBFBBFFLRR +FFBBFBFRLL +FFFBFBBRLL +BFFFFFFLRL +BBFFFFBLRL +BFFFFFFRLR +FBFFFBFRLR +FBFFFFFLRL +BFBFBFFRLL +FFBBFBFLRL +FFFBBBFLLR +FBBFFFBRRR +FFFFFBFLRR +FBFFFBBLLR +FFFFBFBLRR +FBBFBBBLLR +FBBBFFBLLL +BBFFBFFRRL +BFBBFBBLLL +FBFFBFFRRR +FBFFFFBRLL +FFBBBFBRRR +FBBFFBBLLL +BBFFBBBRLL +FBFFFBFLRR +FBBBFFBRLR +FFBBBBBLLR +FBFFFFBLRL +BFFFBFBRLL +FFFFFBBLRL +BFBBFFBLLL +BBFFBBFLRR +BBFFBFFLLL +FBFBFFBRRL +BFFBBFFRRL +BFFBBFBRRR +FFBBBFBRLL +FBBFBFBRRL +FBFBBFBLLL +BFFFBBBLLL +FFFBBBFLRL +BFBBFFFLRL +FFFBFFBLLL +FFBBFBBRRR +FBBBBFFLLL +BBFBFFFRRR +FFBFFBFLRR +BFFBBFBLLL +BFFFBFBLLR +FFBBFBFRRR +BBFFFBBLRR +FFFFBFFRLL +BFBBBFFRLL +BFBFBFFRRL +BFBFFBBLRR +FBBFFFFRLL +FFFBFBBLLR +BBFFBBBLRR +FFBFBFBRLR +BBFFBBFLRL +BBFFFBBLLR +BFFFBBFLRR +FBBBBFFRLL +FBBFFFBLRR +BFBFBFBRLR +FBFBBFFRLR +FFFFBFFLRL +FBBBFBBLLR +FBFFFFFRLR +FBBFBBFLRR +BFBFBFFRLR +FFBFFBFLLR +FFFFBBBRLL +FBBBFBBRLL +FFFBFBFLRL +BFBBFFFLLR +BFFBFFBLRR +BFFFBFFRLR +FBBFFBFLLL +FBFBBBBRRL +FBBBBBFRLL +FBFFBBBRLR +FFBFFFBRRL +FFBFFBFLLL +BFBFBBFRLR +BFFFBFFLRL +FFBBBBBRRL +FBBFFBBLRL +FBFFFBBRRR +FBBFBFFLRL +BFFBFBFLRR +FFBBBFFRRR +BFBFFBBRLR +FBFBFBFRRL +FFBFBBBLLL +FBBFFFBLLL +FFFBBFBRRL +FFFFBBBRRL +FBBBFBFLLR +FBBBBBFRRR +FBFBBBBLLL +FFFBFBBLRR +FFBBFBBLLL +FBBFBBFLLL +FBFFFFBRRR +FBBBFFFLRR +FFFBFBBRLR +FBFFFFFRRR +BFBBFBFLLL +BFFFBBFRRR +BFFFBFBLRR +FBFFBFBRLR +BFBFFFBRLR +BFBBBBBLRL +BBFFBFBRRR +FFBFFFFRLL +FFFFFBFLLR +FBBBFBFRRR +BFBFFFBRRR +FBFBFFBLRL +FBFFBFBLLL +FBBFFFBLRL +BFFBFBBRLL +FFFBFFBLRR +BFBBFBFLRR +FBBFBBFRLL +FFBFBFFLLR +FFBBFBFRLR +FBFBFBBLRR +FFFBFBBRRL +FBFBFFFLLR +BFFBBFFLRR +FFBFFBBLRL +FFFFBFBRLL +BFBBBFFRRR +BFBFFFFRRR +FBFBBFBRRL +BFBBFFFLRR +BFBBFFBLRR +BFBFFFFLRR +FBFBFFFLLL +FFFBBBBRRR +FBBBBFFLRL +FBFBFFBLLL +BBFBFFBLRL +FFBFFBBRRL +BBFFFFBRRL +FBFFBBBLRR +FBFBFFFRLL +BFBBBFFLLL +FBBBFFBRRL +BBFFBFFLLR +FBFFFFFRRL +BFFBFFBRLR +BFBFBBFLRR +FFBFFFBLRL +FFBFBBBLLR +FFFBBBBLLR +FFBBFBFRRL +FFBFFFFRLR +FFBFFFBRRR +FBBFFBFLRR +BBFBFFFLRR +FFBFBFBLLL +BFBBFFFRRR +FBBBFFFLLR +FBFFBFFLRR +BBFFFFBLLR +FBFFFBFLRL +FFFBBFBLRR +FBBBBFBLRL +FFFFFFBRRR +BFBBFBFRLR +FFFBFBFRRL +FFBBFFFLRL +FFFFBBBLLL +FBBFBFFRRR +BFFBFBFLLL +BFFFFFFRLL +BFBBBBBRLR +FBBBFBFLRR +BFBBBFFLLR +BFBBBBBRRL +FFBBBFFLLL +BFBFBFFLLR +FBFBFBFRLR +FBBFBBFRRR +BFFBBFFRRR +FFFFFFBRLR +FBBFBFBLRL +FFBFFBFRRR +FFBFFFBLLL +FBBFBBBRLR +BFBFBBBRLR +BBFBFFBLRR +FBFFBFBRRL +FBFBFBBLRL +FFBBBFBRLR +BFBFFBBRRL +FFBBFFBRRL +FBFFFFFRLL +BFBBBBFRLL +BBFFFFBLRR +FBBBFBFRRL +FBFBFFBRLR +FFFFBFBRRR +FBFFBBFLRR +BFFFBFBRLR +BFBBFBFRLL +FBBBFFFRRR +FFBFBBFRRL +FBBBFFFLLL +FBBFBFBLLR +FFFFBFFRRR +FFFFBBFLLL +BFFBFBFRLL +FFBFBFBLLR +BFFBFFFRRR +BBFBFFFLLL +FBFFFFFLLL +FFFBBBBRLL +FFBBFBBLLR +FBFFFFBLLL +BFBBBBFLLR +FFFBBFBRRR +BBFBFBFLLL +BFBBFFFRRL +BFBFFBBLRL +FBFBBFFRRL +FFFBBBBRLR +FBFFFFBLLR +FFFBBBFLLL +BFBBFFBRLR +FFBFBBFLLR +BBFBFFBRLL +FBFBBFBLLR +BFBFFFBLRL +FFFFBBFLRL +BBFFFBFRLL +FBBBFFBRLL +BFFFBFFRRL +BFBFBBFRRL +FBFBFBBRLR +FFFFFBBRLL +BFBFFFBRRL +BFFFFBBRLR +FBFFBBBRLL +FFBFFBBRLR +BFFBFBBRRR +BBFFFBFLRL +FBFFFBFLLR +FBBFFFFRLR +BFFFBFBLRL +FFBFBBFLLL +BFFFFFBLLR +FFBBFBBRRL +FBFBBBBLLR +BFFBBFBRLL +BBFFBBFLLL +FFBFFBBRLL +FFBBBFBLLR +BBFBFBFLRL +BFFFBBBLRL +FBBFBBBLRL +FBBFBFFRRL +BFBFFBBRLL +FFBBBBBLRL +FFBBBBFLLL +BFBBBFBLRR +FFFBFBFRRR +BFBBBBBLLR +FFBBFFBLLL +BFBBBBFLLL +FBBBFBFRLR +FFBFFFFLLR +BBFFBBBRRL +BFFBBFFRLL +BFFBBBBLRL +BFBFBFFRRR +FFBFBBFRLR +BBFFBBFRLR +BFFFBBBLLR +BFBFFBFRRL +FFFFFBFLLL +FBFFBBBRRL +BFBFBBFLLL +BFFFFFBLRL +FBBBFBBLLL +FFBBFFBRRR +FFFBBFFLLR +BFBFFBFLRL +FFBFFFBRLR +FBFFFBFRLL +BFFFFFFLLR +BFFBBBFRRR +FFBFBFFRLR +BBFFBFBRLL +FFFBFBFRLL +BBFFFBFRLR +BFFBFFBLLL +FFBFBBFRRR +BFBFFBFRLL +FBBBBFFRLR +FFBFBFBRLL +BFFBFBBLLR +FBFFBFFRLL +FFBFBBBRRL +FBFBBFBLRR +FBBFFBFRRR +FFBFBFFRRR +BBFFFFFLRL +FBBBFFBLLR +FBFBFBFRLL +BBFFFFFRLR +FBBBBFBRRR +BBFFFFFRRR +FFFBFFFLLR +BFBFBBBLRL +FBFBBBBLRR +BBFFFBFLLR +BFBBFBBLRL +BFFBFBFRLR +BFFBBFBRRL +BFFBFFBRLL +FFBFFFBRLL +FFBBFFFRLL +FBFBFFFLRL +FBBFBBBLLL +BFFBFFFLLL +FBFFFFFLRR +BFBFBBBRLL +FBFFBBBLLL +FFFBBFFRLL +FFBFFFFRRR +FFBBBBFLRL +FFBFFBFRLL +FFBBFFFRRR +BFBBBBBLLL +FFFBBFFLLL +BFBBBFFRLR +FBFFBBBLRL +BFBBFFBLRL +FBBFBFFLLL +FFFBFFFLLL +FBBBFBBRRL +FFFBFBFLRR +BFBBFFBLLR +FFBFBFBRRR +BFBFBBBLLL +FBFBFBBRRL +BFFFBBBRLL +FBFBFFBRLL +FBFFBBFRRL +BFFFBBBRRR +FFFFBFFRLR +BFBBFBFRRR +BFBBBBBRLL +FBBBFBBRLR +FFBFFFBLRR +BBFFFFFLLL +FFBFBFFLRL +BFBFFBFRRR +BBFFBBFRLL +FFBBBFBLLL +BFFFFFBLRR +FBBBBBBLLL +BFFBFFFLLR +FFBFBFFLRR +BFBBBBBLRR +FBBFBFBRLL +BFBBBBFRRR +BBFFFFBLLL +BFFBFFBLLR +FBFBFBBLLR +BFFFFFBRRR +FBBFBFFRLR +FBFFBBFLRL +FBFFBBBLLR +FFBBFFBRLR +FFBFFFFLRL +FBBBFBBRRR +FFBFBBBRLL +BFBFFFBLLR +BFBFFBFLLL +FFFBBFFRRL +FBBFFBBRRR +FFFFBBBLLR +BFBFFFBRLL +BFBFFFFLLL +BFFBFFFRRL +FBBFFBFLLR +FBFFBBBRRR +FFFFBFBRRL +BFFFFBFLLR +FFFBFFFLRR +BFBBFBFRRL +FFFFBFBLLR +FBBFBFBLRR +FFFBBBFRRR +FFFBBBBLRL +FBFFFFBRRL +BFBBFFBRRR +FFBFFFFLRR +FFBBFFFRLR +BFBFFFBLRR +FFBBFBFLLR +FFBBFFFLLL +BFFFBFBRRL +FFBBBFFRLR +FBFBFBFRRR +FFFFFBBLLL +BBFFBBFLLR +FBFBFBFLRR +BBFFFFFRRL +BFBBFBBLRR +FBBBBBFLRR +BFFBBFFLRL +BBFBFFFRRL +FBFFBFFRLR +FBFBFFBLRR +FBBBFBFLRL +FFFBBBBLRR +BBFFFBBRRR +FFBBBBFLRR +BBFFBBBRRR +FBFBFBFLRL +BBFFBBBLRL +BFBBFBBRLR +FBBBFBFLLL +BFFBFBBLRL +BFFFFFFRRR +BFFBBBFLLL +FFBFBBFLRR +FFFBFFBRLL +FBBFFFBLLR +FFBBBFFLRL +BFBFBFBLRL +BFBFFFBLLL +FFBBBFFRRL +BBFFBBBRLR +BFBFFFFLLR +BFFFBBBRRL +BBFFBFBRLR +BFFFBFBLLL +BFFFBFFLLL +BFBFFBFLRR +BFFBBFBRLR +BBFFBBFRRL +BFBBFBBRLL +FFBBBBBRRR +BFBBBFBRRR +FBFFBBFRRR +BBFFBFBLLL +BFFFFBBRRR +FBBFBBBRRL +BFFBBBFLLR +BFBFBFBRRL +FFBBFFFRRL +BFFBBFFLLL +FBBBBFFRRR +BBFFFBFLRR +BBFFFFFLRR +FBFFFBBLLL +FBBBFFFRLR +FBBBFFFLRL +BFFBBBFLRL +FFBFBBBRLR +FFBFFBFLRL +FBFBFBFLLL +FBBBBFFLLR +BFFFFFFLLL +FFFBBBFLRR +FBBBFBBLRL +FBBBBFBRLL +BFBBBFFLRL +BBFFBFFRLL +BBFFFFFLLR +FBBFBFBRRR +FBFBBFFRRR +BFFBBBFRLL +BFFFFBFRLR +FFBFBFBLRL +FFFFBBFRRL +FFFFFFBRRL +FFFBFFBLRL +BFFBBBBRLL +FBFBBFBLRL +BBFFFBBRLL +FBFFBFBRLL +FFBBBBBRLL +FFBFBBFLRL +FFFFFBBRLR +FFBBFBFLLL +FFFFFFBLRR +BBFFFBFRRR +FBBFFFBRLL +FFFFBBBLRL +BFFFFBFLRR +BBFBFBFLLR +BFFFFBFRRL +BFBBFFFLLL +FBFFBFBRRR +BFFFBBFRLL +BFFFFBBLRL +FFFBBBFRRL +FBFFFBFRRR +FFBBBFFRLL +BFBFFBBLLL +BFBFBBBRRL +BFFFFBFLRL +FBBFBBBRRR +FBBFBBFLRL +FBBBFBBLRR +FBBBFFBRRR +BBFFBFBLRR +FFBBBFFLLR +BFBFBFFLLL +FFBBFFBLLR +FBFBBFFRLL +FBBFFBFLRL +FFBFBFBLRR +FFFBBFBLLR +FFBBFFBLRL +BFBBBBBRRR +BFBFBBFRLL +FFBBFFFLLR +FFBBFFBRLL +FFFBBBFRLR +BFFFBFFLRR +BFFBFBBRLR +BBFFBBBLLL +FBFBFFBLLR +FFFBBFFRRR +BBFBFFFLLR +FBBFBFFRLL +FFBBFBBRLL +FBBBFBFRLL +BFBBFBBRRL +BFBFFFFRLL +BFFFBBBLRR +FFBBBBBLRR +BBFFFBBRLR +BFFBBBFRRL +BBFFBFBLRL +BFFBBBBRRL -- 2.45.2