diff --git a/2024/R/day19.qmd b/2024/R/day19.qmd
new file mode 100644
index 0000000..509d1bb
--- /dev/null
+++ b/2024/R/day19.qmd
@@ -0,0 +1,32 @@
+---
+title: "Day 19"
+date: 2024-12-19
+author:
+ name: https://adventofcode.com/2024/day/19
+ url: https://adventofcode.com/2024/day/19
+---
+
+## Setup
+
+```{r setup}
+# Libraries
+library(tidyverse)
+
+# Read input from file
+available <- read_lines("../input/day19.txt", n_max = 1) |> str_split_1(", ")
+desired <- read_lines("../input/day19.txt", skip = 2)
+```
+
+## Part 1
+
+```{r}
+
+# Convert all possible available patterns into a regex string
+regex <- str_c("^(", str_c(available, collapse = "|"), ")+$")
+
+# Test each desired pattern for a regex match and count the number of matches
+desired |>
+ str_detect(regex) |>
+ sum()
+
+```
diff --git a/2024/input/day19.txt b/2024/input/day19.txt
new file mode 100644
index 0000000..aa74deb
--- /dev/null
+++ b/2024/input/day19.txt
@@ -0,0 +1,402 @@
+ubgw, gug, wg, ubrgrrbr, gbbu, bg, ggu, uwu, uuuw, uu, brrg, rrb, ww, buggu, bbgwu, wwu, gbrgu, gggggr, grwggw, brru, wwuwubb, rbbr, wgbbgg, rbrr, wur, uwg, rub, gwubwuwr, brrb, wrgbbrg, brb, wuw, bwrubgw, gwu, uugruw, bggr, gww, brbrrbur, rrugurr, uurruru, uug, rburg, urggrw, uruu, bbr, gwrw, uubuggb, ggrr, gu, ugb, gbguwr, ubgwb, rwb, rggwbu, ugur, buggwg, rrrrg, gub, gbb, uwbu, ruw, wugrgbw, gwr, bgbbuu, rw, wrrb, ubguug, burgb, www, rbubbwg, wwguur, grb, gggr, gggubb, ubgu, gwbg, wug, wwr, gggguw, urr, gb, wwwrw, ugu, grbuw, ubb, bwrrr, ggg, guuugb, rwbb, rbw, wurwwb, brrbguwu, rwubg, guwbg, gwrb, gwwwb, ugbgru, uwrugu, gbg, gwrr, ggww, bwubwg, rww, bgw, rbbwwb, ggbugbg, ubrw, rurb, wwgwrbwr, ur, ug, rbrgbwg, gwg, gbbgw, uggr, wruw, gwb, brugbr, rur, gbw, wbuuu, wubw, ub, uwug, gr, uwwrwg, wubub, bbb, guguw, ggbbg, burrgu, bgb, wbrwwr, ugubwb, rugw, rbb, uur, w, grwu, rbrw, ubbrw, bbw, rwg, rgggrgrb, bu, bbgw, r, rruwb, uguwgb, ggr, brg, ggbg, bubru, bgugrw, bubbbb, guuub, guwgbwr, rrguuww, gbuw, rb, wrw, wubwb, gw, rubbrwbb, wuguu, wwub, brub, rgbu, wrbw, urbwuu, ubuwub, rbwbb, rurrg, gurb, ugrrr, bur, wu, gwbgwubr, ruu, wbbr, wrwg, ubbrg, brugrbw, uuwg, uru, ubwguru, wbu, bwrrbg, bggbgwb, uuw, gbugr, guw, rrgb, wwbgr, urw, ugg, wgg, rbur, wurwrwr, urg, uwru, wbbg, rbbgwg, wwwuurr, ugw, rgugb, ugrubru, gugwgbur, guwubrg, gugbr, bub, wwuw, guwbbu, ubuuwg, rgbrubr, wuubbg, bgur, rbub, bruru, wgwbrg, rug, gbu, ugrgbwwr, rggrg, gggw, wggr, wgwugu, wub, wwbrr, wb, wuwr, gwbw, bb, brrgb, rgbr, gbr, bgr, bburbbb, uguggrgr, wrg, wr, ruubr, bbww, bbubu, brw, ggrrwgb, rbbb, ubwgbrw, rgu, gur, wgrw, wbuu, rwgbw, rbr, wbrrgb, bru, wwwb, gwwrurbr, wbwg, wbb, urbugr, gwug, rrrb, urgr, rrubbu, rgrwgw, uub, rbugru, gru, rrwb, wbbgb, urb, rbu, bwuw, br, uwr, wwwgbwb, rbbwru, wgwwuwrg, grbw, ggb, brrgw, grwww, bbwbwwu, wuu, guuuubu, uwrr, bgu, ubuuug, rgwubug, rwbuuug, wgwwbw, ggbrrwr, grr, guuru, g, bwugw, uwwurg, gubbwbu, wggg, rrbbg, wwugrbgu, bug, grg, wugur, burubgwg, uwb, bbuuguuw, rbrbu, bwwgg, rbuggwg, brr, rbwuggu, buru, bbbbb, ggwb, rrwrwb, wugwgbuw, wbrw, bwu, wrr, guwwbg, rgw, wgr, wugg, ugbgu, gwrrrbg, uurg, uww, wwbbgbub, uwgug, buww, u, wrrrruww, brbgb, wru, guubrwr, gbgbr, uuu, rrr, brwg, wggu, rgwrgw, ugr, grwwbw, ugbrw, rwgr, buubru, uubggur, rgg, bbrr, gwrgug, wwwuw, rurwbb, uubw, gbrwr, ugguwurr, guur, gwrgru, rwug, ruubu, wwrg, rrg, ggw, wrb, ubwubw, rwr, bbg, uwrb, bgrbg, bgg, bbu, bwg, guubb, burwu, wwb, rr, bwbg, ugbub, urwwwbg, ugubgg, bwr, gbuug, bbwwbwu, wrbwb, wrub, uwwg, rrw, gbuu, wgrww, urwwg, bwrr, rrug, rru, wbgrg, uw, buu, rubwgwr, wbg, rwbbr, buurb, wrgbr, ggbw, wuwbw, buw, brurrur, wgw, wubu, wwbb, wgu, bgbu, uwgbu, rrbruu, ru, wwwbu, gg, wgrgr, uuug, ruub, rgwbrg, rbrrr, bgrr, ubw, urwgwgw, bww, guruwr, rwwrr, wgb, ubu, gguu, wbr, guwww, rgb, uwww, rbggr, ubr, grw, wrggur, bwwg, guu, wbw, gwbb, gwbub, rgubw, wwg, rggru, rbwbgg
+
+gbuggugwwurbbbggrrwbgubrgbgwwwbwurbuurgrburbbrgbrg
+uwwwrgbrugbbbbrgggubrbgwbggwugwbrrguwrgubuuggwggwrbuuuu
+rurgubgbgruwubbrbgbwrwgggwbggbbgrgbgbuwurrrrwwrwg
+bgbgbugwrrwuurrggbbugwbgwubrbrubuuburwbbrbrgrgwb
+wrbgrrurbgwwwrbubgbwubrgwguwggguuwguwbwuggubruw
+wgburbrwuwwugruurrbrrgbwrbbbwbguwwwurrbuubgwbrwur
+wurrwrugrwbrwrgrwrbbubugrwbuugubwwwuburwruwrbb
+rbruwbbruugwuwuwgwbrubwbrgwwbrwbbggrrwbbwrgbwbrrwb
+bgugwbwrrwrrwbggggrruurrggbbwrwwbwwugwbbrbguwr
+bbugwgugwrrwrgggwurrbuubbruburrgbuuwbbbgrbwgrggwuwu
+brgugrrwgruwrgggwuwgugurwbbgbgwrwgrugrggrrwg
+ggbbuwuwbrguwrbrguruburbwwgrwbrrgbbuugwuggwgwubruugbuggbr
+rwwrbwuwuugbwurubuuuubbwrurrrbrrbuwwrwwbbw
+gwgbubgbrwwbggbuwbubugwburgrbbrbbbbrubbbgu
+bwbrwwurwuwggwbgbrgubgbbuwuuwbbrrbguwugburrbbgg
+ruwrrugbwgwugrrrbwgbuwwbbgbubbubrrwwgbbgubgggurgbugbwbu
+rrrrbrbggubrbbrbbwbrugrguuwguwrburuurrrrbugugwrrg
+rbgwubgrbwrwrggurguuwrrrugruwbuurwgrgrrguu
+rbuugrggwbwwggwugrwrrrwbbrubwrwurbbuwruwbbwbuurrrwrubgggrr
+gruwbburgwwuuwurgwwuwbgugbubrgrgwrrrgwwwwgbwrrwwwwub
+rgurgubbubbgwbwruugwbgrrrbguwuuggrgwwrgwbr
+bwbrwgrrwwubrgrrbrbwuurbruuubwrwrwuuugwbrgwugww
+gbubrbbgurwbuguwurbgbubrgrrbrwruwwubbgggrwwrgbrrru
+brrgubgbwbwwugrwgwrwwbgwbwbgwgbbbgrbgggrrrrubwubbgu
+rrrbrugurubgrrwrgubwguurbggguwrwbrggwrgrgggwwwwrru
+bguwgrwbggrrbubrrwgwgrgurgwugguwruwgugbrwuugruburwuwg
+rugrggbugbrrguguuwwuwrggubwwrbubbwbrrwubburrburrgguubwgbwb
+uwgwgrgbggbwrruuuwguuwwwgrwwgrgurrbgururrrrgbg
+bwwrbrrbrburrguubgwrgggwrugugbrrrgwgguburuwr
+rbwbruuuguwgbgrbwurbbwrbuuwggrrrgwbggrrrgrwgwbwrggwbwbg
+gwruuburbbbgrwwgbgrgwrgrgruwubrrrbggwburrurbbrr
+gwuuwubwuggwwgrwuuururugbbbgbbbbgrgbgrbbguwwbww
+bbbbgrbrwurwwwubuwgbrrurbwubuurwrrrbrrgbrgrrrb
+bgbuwuuwrbrgwgrbrrwurbbbbggbugugbgguwwrrgubgwrbwgbwwgbwgg
+bbbrgrbbbrrrgbuwgrwubbugbuwbwrbuuuubwwwbbwbgwb
+bwbrrrwbbbrburwwwurgwggwbrwuubwwruurgugwugwgbuwrub
+wwuuwubwwgbrgwuuwwbwuruuggbbwwwrgubgrbggburrw
+bbugubbrwwgrwurrrubggbrbuwwrgugrburbwbbbwbgggbbbug
+uugurgbbwguwwugwbbrbwrubbrrrrugubbwwbuwwgbrgguugrw
+rrugbuwgbbwrwbbgguurubrwgwrubuwbbrbburubgwgugu
+bgwwwgwrbbwbggburruwbbgwurgrggwuwgbruugwuwguuwbbwb
+wubburguuguuuwrbwgwgbggbbgrgbbwuwbwbgbrwggg
+bugugbugbbbguwbbubguurrrrbbwgbgwbwrbuwwuwbubrr
+brrrrgrwwgbwbgguwwuuubbwuuwguwbbrubwbwggbgrwwrwbgrbwrw
+bbuwrwwubgruruuggggrbggrwurruwgwwrurbrbbrugbr
+uwwubburrgrbuuwbubrwububgwuwugruubbbgbggbrrur
+gwgrrugbwgwwurgugwrrwwruubguwugwwwwuruguruggr
+wbburrbuuurrbbbbbubrwwguwbbbwggrbwbwbbbuuuwrgbbgwrrgurgwg
+rwgbbwbgugwwuuubwwrgrbgruwwuwrrruwwrrgbrrwwruuwbrwrbu
+buwgwrwwrrggguuuwurgrruuwbwruurgrrgugrwbrgrbggruu
+gggwurbwbgwwwgwbrrugbbuwrbwwbgrwrwugrruurgwrgrgbwwwguwwr
+ggrbwbwuwuubwrwrbwuguwbbwwubbrwuubbwuwurrwugggbu
+wuubwgrgrrurrggwruwgrrwwrwugwuubugrwrwwbbub
+grwwguubgbugbuuugurbuwguwgwrgbwrgrbbwubbbuwbbwbg
+urwgrrbbbrgurgrwbrwruubwrrrrrbuuwrgrrwgugwgb
+wgbubbbgrwrgrrrububurgburwwgbwbrbwrurrgbrrbwwwbuub
+wgwrgbrburggubrgrruburbbwwgrrugugwubuuururbwubw
+wuwugrwwwwubguuuurbggburwguruwrrwubbrururwbu
+bgguuguwbgurwgwwggrwrwggwwggwbrggburrwbwwguwwugrguuw
+bwbrubuwrrrrwgwrurgrbuwgrubggugbrwrrrruruwruwrugrbbuuuwgubg
+wrbrwgbwgrbrrubrrruguwwggwwwgwruggrbubbruwuwubrrwwgugbgu
+bwbuugbgwwgbbuggrgrrubbbbubuwwgwbbuugwwwuuugrgwrb
+rwuugubbrrbgugbbrggrwwugggrgwgbggwbrrwguubbbgguwuggwu
+wgwrrrwrrwruurbwgurruwbrrrrgbgguurrgbbwbbbrruuru
+ubuwbbwugwrgwbrbwgrggbubbugubbguguwwrgrbbbgbwuubru
+gwrwgbrgubwwbwwgrrrbggbugwrrruwrbrrwwwwwuburuww
+urrrwbwgrrggwbbwgrubrrbgubrrbguwuburuwrbwwwwrbburrbwrrrugg
+ggburbrbwbrurgbuurgbbgbbugguguwwgubwgrwrbgwuururuu
+rwbrrrwggrwrbwbuuuwrugugbuurbruuugubgrbrbrggrgurgrgbwuwr
+gwugbwgggbwgwbrwbuurrwggwguwbwrwwwrgbwbwguuguwwrwgrguwgu
+bburrugrbwuurrrwwgruugubuugbbwbrgrgbbwbwubwrbrbggurgugw
+uuwbgubbuwrurrwburgwubbgrurwbggbururbuwgubwuw
+bwbuwrwwwgwwruwwggbgrugrruubwruwgrrwburggugugwb
+grguurbbrgubbubgbggggwwubbwubgrgrbbguuugbuugbguwrbwrwbwg
+bwrrbggrrwwbbbbbrruugrwuwbrggugwrrrubbwrbrguwgwwgrggwb
+wgbbuugrubrrgbwbuwgbububgwrgubggbbwwwbwbugbrugrruuurrw
+wuwrbggrrggrbubbbwubguwubwurwugwgbgrubwbbgw
+bbwbrgwbbgugwwbrrrwbbbgwbrbgrbgwgwgrgwguburbw
+bbrrwuwrgrbwgurgggurbbrbwbwruwggruuuwbuggrbwuu
+rburwgbgwbrbbbwbbwrrwuwrbubgubwuwbubbuurug
+wbbuggggubwbugugbbbrrbbguwuuwbbwurruwbbugbrrwg
+gguuggubuugwwubgrurbbrrrbbggwbwrubwwrgrurw
+rwwgrgrruuggwgwggwbgburrwbuuurrgbggbwbgrruu
+brrgurbwrugbbwuwgwuuwgruwwurrrbubwbrgwurwugbgggwbburbrruuu
+wrubbgrurrguurbgrgugbuwgbgwwgubwguuwwbbugbrruwgwgugwwgrugu
+gwwbrbgrrbgwwubwruguugguubrurburrwbuubruuw
+wurwwrrwbrwrwguwrubrbwrwugubguwrubgurubrwrbuugrwwuwwu
+wuwuggrbwubwwrwrrwggbbwwwuwgrwgrbwwrwwbugbwuwgurbgurugrurw
+brgggrgrbgruuwuugguwugrrwgbrwwgrruwggbgggwwrrwbuuwrgwugb
+bwbwwbbgbubwggburrwuwuubrbgrurugbbgrrruwrwrgu
+ggrwwwwrgbgbbbgrubuwwugguguubuubbbubrbuuwbwrbrgwrw
+uugbbrbwbgbbbwurbgwugrwrbwrbwwuwwbrguggwgrrrggwuguggrrgrwg
+rgggrbbrbrgubrbggrwuwbwuwubwwuuwuwuugbrgwu
+wbgurgrbrwubwurbgwwgbrwgbwbgbbbwwgrbgwrwbrbwwwrgbrrbwbgwr
+wbwgbgurwbuurruuwuuurrwwwwugwgururuwwbrrurwuu
+bwurgurubbbwgbbwgrguwwwbubggbggugrurbwbwrwbrruwugubbuw
+gburubbrrgwrwgwgrrgrgguwwgwwbwgrgggurubggbbwbuwgwwrrrwwru
+brbuggguwuruuwgrgwwrgbbubuwgbwwwurgwbugurrwwrugrg
+gwwgbbwbbrugrgugrwrwgwrburgruwuwuwwbwgrbguwuburrwbgruwggwb
+bbgbgggwwubwbwgrruwwrwgwgwuwgggrgurgbggwrbggwwrubbbu
+gwbruwrrrguwwbwbrwwguubburgruggwggbgubrurbrg
+ugrgrgbwurwwrwurbggwubbggwuburrrwwgrbbgwrgwbur
+gwgrgbrrbrrbwgwwrwggbbrbwgbrbbgbuwbrbbgwbgrggrgwuu
+bwbugrbgbbbruwgbwbwurbbgrbgrugguwrbwgbwwwuggbwrrwwwgrgbwrbu
+wgrgugwgbrruggwbrwbwurubgurrwgwubgbrgurgruburgg
+gguubbrbwbubguubuguwrwbgrwgwuurrgbrrwbgwbrwbu
+rbbrggugrubbuuruwrgbbgurbbwgugwuubwrgugubgwgugrw
+wwbbwwubwwbrugurgrbgruwrwwbgurgbguwrguuwwbgugrrgwgwugguu
+bbuwugrbbruuggrwwgrwbbgbwbwguguwurbbggubbr
+wgwuwwwbwgrguburbgbrwwbbgbbgugwbubbggbbuuwbgbgwbburwrg
+rwgrwgbbwrrrruwwuwggugbrgwruwuubbuwbbggwuugbruugbgbwwggg
+wwrwgwwwrgrugwgrwbrbrguwgubrrrguuugubuuuwuubgw
+bbuwgrrbwrwwwwgbgwbrrrbrrbgwuwrgwuwwbuggbwrwurwgwurwrwwu
+grgrgrguugruggbgbbubwrgbbbruurwgruwrwguguburrbbbuuwgwuggug
+rrbugrbuwrurbwugwuwgwuwbbwbugrrbgbuwrrugwruuwbbbugwwu
+bwwgurwwbubbwwuuwgrgrgwuuggwbbrrbgwgrubrgbwrggw
+rwwwwubuuuwububbgurbwrrbguggwgugwubgugwgggwwubgwbruubbwuur
+urbrrbwuuwuubgbbwbrruwbbbgwgbbuuururuwbrwgwbr
+wbwbbugggwubugrruugbbggugwwuwbwubrbbwbgwur
+wgwuwwbrwwugwgubrrwgbbgbbrggwurubbruwwgwugwguurrggrwgb
+ubbgwrbwuuggwwgrugugurwwbbwgrgwugbbrbuubugugbbrrbgbbggg
+bwbruuwuwbbwbubuwrgwuurugugbwwgrwrbwbrwgggrr
+wwruwurbwrwwgurgwuwbrugrgrggrguwuwurburgrwbbuwugrwbwrw
+wbrbugbbuwgrgrgrbburgrwggurrbuwrrugurggwbubur
+urwrubgbuuubrubgbrrbbbwwrbbuububrwwugurrbrgrwgwbrwuugbuw
+bgggbwrgggurbwrggugrrbguurgbgurruuuruuuruwbrgbbrrwgw
+bruwrrrgbuubbuggrwuwurrrrrrubbbgruruwgbruwrgbrurburwgurw
+rgwwguugbrbrrburggwwuuruurbbgubrwbwgugbwbbggggrwwrbr
+bugwburbgrwrugrrugwuwrgububwgrugbwubgrrrugrguubbgrub
+grrrburrurwgbuurrrugrbggwurgrwgbwwwururuwbrgbgg
+ugubwwubrwwbrrwggruwrggwwrrwrwwgbbwgwgwwbub
+bbuwuruwwrbgurwgbrgurbrbrrrurgurwgrbruubgbgbggbw
+rubrgwbgwurbbgwurwgrgrugwwgurwubgugggurrgwrbguurrbuugu
+ruwgbrbrbwruwrwbbbwwuwurguuuwuwgbrwrrrbburbuugubgwurugwbwr
+ururguggubgwbwbgbrugrrrwgubuugbwrubugrbgrwguwuuuwrwrb
+gubrbgwgwrgwbugwwrurwrwuggburbwbugrurugbbgw
+bburugggrrbwuggwurbuwbgwguwrrbubwggrubggwwwuuu
+bwuugwrgurrugbwuggwrgwrbwwugwgwurwbrwwwrgubgrgbgwrwb
+rwrugrugrwrwugrrgbgwbggbrbbwwbuugbgwwrrgggggubrr
+wurwrbwbbubuguuugwruwubggrwgugwuubgwbuugbbbrwwg
+bwbwgbbrrwrbgwruguugwrwgbgbubguwwgwrbwruugwbrggrggg
+gwwbbbbguubggbwrwrbbgbwwbgbwbrrgrgbgbbwbbb
+wrwwwggbubbrrwbwwburbugbwbwrwgggubbgguwrwuwbuwbguuugwb
+grwwubuwwbbubgwwgbgrrurrrruruggrbbrugubrrrugwbuurrrrw
+gwrwgwwuwwbrubbuwgrrubbugugwruuwgbwrwrwwgurbwrugb
+wbuwbrbuururbwrrgurbguwrgrgrbbubgrbuuubrugw
+gubwrrbrwrbgbbgwguwbbgbwrrbubrbggrwrrugbbuubbrgbgggu
+bbrwbbuuwbgbrbuuruwwbburbrbrgrrugbgbrwuuggwububru
+bbgwwugwurbgwwuurbgbrbrgrrbgubwwggwburrgwgrbbbrrg
+rurgbgguggugrwbrwuruuwurubbgwwwurggwwwwwbugbuuwwb
+rgrbugrbuwbwbbbuuggwurubugrwrrurbuuuugwwuwr
+brbbrgwrrbrbgubrubuuwugrbrrugruurbwbwgwgbugrrwwgw
+uggrwrurruwwwrbururwrwwruuugruwrrrubrrgbrbugwuww
+rwgwbwwugrwbugrwwwrwbgrrwwgwrwguwrrurbwbrgbrgw
+uruubbbgwrwwrbgugbwwbbuuguuwurrwuurburgggu
+ubgurrrbbbruugwurggrrwubwwrggrbwrbrubbrwgwbgru
+uurbbbgwubbbrbubrubuubbuwruwwwbuwgbbggbbuwrrrrwrgu
+gbgrrwguggbrgbwgububruubbgwgrggubrbwgwbuwgrwrb
+buwrgbggbwgrbgbguwgbbgrgwbubwgrbrrgwruwgwwggrrbburu
+ggbbbrrgggrgguwbwuruubwgbwrggbuguggburrbuwuwbgwbbguu
+bwbwgrgwgwwuwrgrgbbguurbbrwgwgurbrrbgubguubgugrguwguu
+bwbwbwuwrbbrrurbrgggrgrbrruuuruwggwggubrugubwwbruwrgrwbbbguw
+bwrwugbbwuggwrrgwurwrgwrggbbbbugubgwugbrwwbwr
+wrbugwuwrwbgbrrburugrbrguwbwbrgwbwurrwuwbgbwgg
+bruggwrwruwugbbuwuurbbwugurrrbuwggbuggwrwubrubgggugwggb
+bbbrbrbbguwbgggrwbrggrwbrgwrubbrgggwwgrgbggwgrgbgww
+bwbbbgggubuwgrwwbrwrwwwwwrwgbgwuggrrurgrgwubwuwruu
+rwrrwbwrbrwgggrggrrbgubgguuwugubwggwrgbgbwbgbuuwrgg
+wrgrrguggrrbwbgguggguwgwbbwgrwuwwuwuwwbwubgwrguuwuggbbwg
+bbuuuubbwuguwwbbubwbbwbwwggwgbbbubuwrruruggruwww
+wbwuwwwbrrgbggubrurbubuububwwgbbrwrwwgwbgrwggw
+uuubuurwubgbwwrrurbbrguuuuuuubuwrbwbbwwrrurguruwu
+wbugrggrwbgbwgrgrburuguwruuubbbgbbbgbwugbwur
+gugguuugbguubgbwgrubuwgwwggwgwbggbrwwrggrruwurwrwg
+uwuubgggbubbrrbwbbbrwwrbrgwrwbgwbrguwgrgwbwgrgrbgugu
+wbbwgruwrgurbbwwrgwbrguurugbrwwrbuwwbrbrrgbwrgr
+bwbuggwgwruuwgrrubbgggbwbbwbwbbubugugwrbrbguguggrgr
+rgbrguuuwrrgwbbrwgrwbugwbubwwwbuuuugwrwurgrwwrrbruwugw
+uruwwubrgwwrwrwrgugrbrrguugruuwbwbgrrwgwwrbw
+gwugbruubbbrggwubbggurwuuugugubrggbgugggwbrgw
+bbrubbgrwuguugggubbbrgbuwwbbuguuwggbgrgbgrbuurggburw
+urrggwwbbggubrugrgwuggbbguubwrbuwbwwrbugrwgwbgwbwrrub
+rruwrgbwwwbrwbrbubgwbbubuuuugbbgrbgbwbrwgbbrrrgrwrggg
+bgwbubwbbbbggrbbuuurrgbrrwbbbugwuuwbbggrubwggbbwrgbrwug
+gugurrwrwgwwubgwrrbgubguwbgbubwrbwubguuubbuwubgbgbwburw
+uguwbbugurbuwuwrgbgbwggrbubwwrruwwubbgguuguugrbgburgu
+rbbgubwwrbbrgwbgrbwrggwuwrgbuubgbuwguuwbubbgubgguurwgw
+wwwwubrwubbwgurrgbwbwubrbburgrgbgggbwubbgwrgbwubwbrugbbuw
+urbrrbbwwrrrubwbwggbburrwuwbbbrbugugwgwgbgwrugrwrrrwwgwgr
+wgwgrrrbgrguguurgwwrbbbrubuwgwrbbrurwurugg
+bgwubwbrbrgwbbwurbuggrwbgrwubuuguwrgrbwbrbguubrbggr
+uuuwuubuggbgbwggubrwuwgrgwuuggwbuwguruuuubrb
+wruwwuwuugwugrugbrgrwgbgggrwuwgguruwrrburwbgbbwwbw
+wgbrbrwwwgwuuuggwuguurbwuubwwbbrbbrwgbrgwgugbwuwg
+wbwubrgbrgrwgubwrrwwwgrrbrgrwbrbbgbugwgggwgwg
+ruugwbburgrrbbrwwrrrubwgrbbbwbwggrbuuubwrbbwgbwubuwbwbgwbg
+wubgrrrrrrguwuruuwubbbwwrbrruwrwgrbgwbrwubrrw
+wuuuwgbgrrwuruuuguubgbbubuubbbugbrwuuuguuwgw
+guurggruggggwgbbgrrbbgrwrgbrurubbwbbuwbwugrwb
+rgrgubbbgwgwwgwrwggwrgwurwugwbbgwbgbrwrguubbbr
+rbrrbuggwggrrgurgguurrgruwrbbrrwuugruuwwggwuww
+uwwwrgggubwgrwbrbbbwbwbrbwbrwuuwwbrrwuwggwg
+gwbrruugwwbugrugwuwwrbrwwwwbwwbuubguuggwrwrwbbrurbrgur
+gruuurrwrbwrwwubrbrrgbbuuwgwwbbrbbbbugurugggwguwrbrgrrrrgg
+grurwwubrbgrbubbgwruuuuuguurubrbwwuggwrwggrrbw
+rrwbuwuwrurbuwgruwwgbuwwubggwbrbrrubrgggbrru
+gbubbuggguubgrwwwburbbrwuwbbrgguwguubwbrrrgbgwwbbu
+uggwbwugbugwrgwwrgrrwwbgwggbbwgrbbbrbuuuwr
+uwrwgurgwbbuwbrbgwruwburugubgubgrwuwbwrruurgbrurr
+buwubgurrrbruggbrrrwrbrbrbgrbwwgwrbwrgbwguwrr
+rrrggrguurururrwbwrurwrgwurgwwuubuuwbgugwrw
+uggruwgwggggwurbwggbbwwbwbgwgubbbwwwbbbuwwgr
+gbwrugrgwubrgwbuwrruuwbbwbbgrrrgugggubguugbbb
+rggbwgwwurwurrrbrugrubugbrwgrbrgbuuuuugwgwwbgb
+grwrgubwrrrguwubwggwgwbugrrbugrrwrgrbbggwwu
+rrrgbuwwgugbugbbguwubwrwrbrguugrbwgbwwgggrbwwwugw
+rbgbuwgrwubbrrbwbbrwrrgbbrrububbbgrguwrubwrbbgrwggwr
+wrwwrgubguwbbubguwwubrururwwwbgbrwrbbrwbwbbbbbbu
+ruuuwwgurwbrwwggrwguggugubbwrbbruuubwgrgub
+brgrwbggguwbwrwwugwuwwrgrwguuruurwgwuggurguuugrwbuwbrbw
+bwbuubbbbgwbgubuuwgrbgggrbuwrwwuwrggugrgbwwrrrbrrrruub
+gbrrgbgurugrwrgurwrggbgguuugbruubuwwbrgwuwuggbbbwbwgburu
+wrurrruuwuuugbuwgbrbubuwugwrwrrbbguggwbuwbuw
+buwuwrrrrubwrgbbwbgrbgbbrguwrwgrrrubwuuugbbggwurugb
+rrwwbwwbbwwggrwgugrwrwrggrrgbubbrurgruggubrwwgrgbrbgr
+grggwbwrgbbbgrbgurbubgwrbrrgubuwuwburuwburggbguwgrwgrrrrwu
+wrwgggwgrrwbbruguwrbbrwgrurrgwgrbrrrrbwrrwbggrrrb
+buwrbwugrgwwwwbbrwbuubuugbbrwwrgwwrgwuwgggurrbbwruru
+wwwrbwrrrwbbwbwbwuubwwbwuggubgbwruwuwururwbrubg
+bgbwrugwbguwurrbgwbwwbrgrurwbbbwuubgwgugbubrrurwgwwu
+brrbbrwgwwbwbbggwgubwbwwrbrbruwruruwgwrugbrgwubgggr
+ggrugwbbburwbbbbrbrrbrrggbuggwurwwbbrgbuwgbuug
+bbburbuurbugbwrwubwgurwwrrbrrbbburbwbwuggugbuuwruururbbwwu
+ubwuugbuuwbggrgwurubbgbwwwrbbguwrgrbbrggbruuguwwbbb
+wruuwgubgbgurrwwguggrwubuwbbgbuwbwgrggwubwuwrgbwrgg
+grurrbwubwbrwuugbugbwuurbrruuugwrwrubrwbgw
+gwuwubwrrwruwbrwwruguggrgrbggwwbbgrwrwgbgbwbgbguw
+wbbwgwrggubuurwwgbgwrbbwrrubgrrwrbrugrwwwu
+wwwburggwuugwrwrbbgwrwbgrwurwrbbguwrwburggw
+wrbwggbrrburgbubwuwguggguburbuburugrgwgbwwbrgbuwwrurguubww
+ubbwuwruurwwurwuuuurubbwwrgwbubwgruwbwwbggbubgg
+bwbbwbgwwrruuubbguuuwrrbuuugbbwwbrwwrrurwrguwrbbgurgrw
+rgwgwgurwbwubwurrwrrggbwwwwgggbguguugrwbugrgbwwrrguuuu
+wgbbrwguwgwbbubrbuurbgurgbuwbggrwuwgugwuug
+rgrbuwbggubuwgwbgubwurggurbwgrgrwbrrrbrbrrwbbrugrwburgrru
+gbrbbbwrgbbwguwwurwwbbwbgbgrrrgrwguruwbuugubbubwggggrur
+wgbrgrwgwgrrbbrbrruurwbgbrgwbwwwuuuururguuwbr
+wruwgwgrrrrurgwurrbgbbbrbuurrgbubgububrwrw
+bgrbgbugbrgrrbrgbrwuurwggugbbbwrbggwguubww
+gurguurbbbrggbrgurgrubburbgwbwrrurbbuwuuwrrwgwbbugburwu
+guggrrbgbrubbrwgbrwbbwgrwrugrugggubuguwuwrwu
+wuwwbgwwrwbrwrwwwgugwrwgrubbrburugrgrrwgggwrburbr
+wgbbuwrbrbrrwuuurrbwgrwwwbruwggugwrrwgubbugugurrurgurwgug
+gbugwrgwgrgrbgubwbrwugbrwugrurburrwgbwrgbbgbrggrb
+gubuurbwubrubburrrbrrubrwrrrrgubwwwwbbwrubr
+wwrubrgbgbuuwbwgrbbwuburgbwrwuwwgubgbugwgwwrrgbw
+rubrbrbgbbrwrgwgbrrrgubwwrrrbrggbruwrgubgbgrbugrgug
+guwwuwbgugwguwbwguuuwrrbbrggwrrubrbrgrrurw
+ugbbugwuuuwugruggbwbwbrwubbgbgwbrbgwugwbgubgubbrrub
+rguuuwwgwwruwbugrugbuuruwggurbbggrrwbwgwwgruub
+bwbrubwrgugrrwbwbrgbwwugbuggbbubbbrrbugggwrugubw
+rugbuurrbugbrbrwwwrgwgwbrggwrgwgbgguubrrubwggb
+bwburuwrgrwrbrbgurwruguwbbgrrrgwgwgbgruugwwugrbgurgubbrwug
+brgggubburwgguubuuruwgbbuwbwgrbrrwrguuwbgrgrguwurg
+rubgbwuwgugrbugrbrbugrgwuwguwbbwurwruwgwuwbugrbwb
+wgrrwwwrgrwubggurguwgwbbwgrbubruwwwbgwbubrwwr
+bwbuwrwbgrwburbbbuuwugwguwwuuubbwgwguuuwurgrbburubgwgrwuubg
+bwbrggruuguugwrwbwuwuubuugubrurwwrrwrwbwb
+rrurrgrwbguuuurbbrrguubbgwggurwurrgubuuwggwuurrgwrbbwuurb
+wbruwurgugbgbrbgbuuuwrbbwgrrbwwgwrguurrurbbbb
+ruggwwrbwrwwwuwgggwgwggrubwuggrrbwuwbggbbugwbgwwwgwbr
+bruwgrbrrbggurwuuurwubbgbwgugwgburwgbbbrrbwbrwrbwgburbub
+gwwgugbgwuwbrubruuwwbwbbgbuuguuugbrrgrrbgwrrrw
+bgbuggbgrbgbgrbrbbggwwwbgrrgbbrwubwgwbbrgwwwgwrurwgrb
+bwubuggwrbwbbubwbbbbbbbwwugbgubbbuwrurwwbrrwwuggu
+wbbrrwgwrugbbgubggrbwwuuubwgbgggurbgggbwrgurru
+gbwuggrruguurubwugrurgrugwbgurggrrrgbgrrbgruwbggbguggbbrrb
+wrggruguwrugugbwbuugububwurugrwbggguggwuggggwrrgbuuguubu
+wrbbuwbrgbwuurgwrgwbrurrrbwubrrrrruwurwwgrubb
+ubrbrguuuuggbrgguggrgbbwbbwugggrwbwrwbwurbguuubgbrwbww
+wruwrgrbubbbrbbuuuuwgbgwbuwruugubuuwurrrbggwugwruubwbwwur
+bguwrgwugrrbbubwggruuwrbgugrbwubbgwwwbgwrrrwuwburgugruug
+ugwwuwubruuugwbbbwurgbbwubgbggbwrwbrbgrbrrgwrgbgg
+rgrggwwgurbuggwrbgrwubgugurrwbguugbrrgrbgbgbruuubuur
+bwbuwbbrwrgurgwggbburbwwgguugrgururugrbwuwuubguguug
+rgwbgbbuurbwwwuuugwrrguuubuwbuguurwuuwguwugrwrwrgwugbrwbu
+burugguruuuwwwurrgbwbbbggwwgbguurgwbbrwwwrubwbwrrrurrrg
+gbugruwggbuuwbwgubwugrgruwubwuuwbgrbwbrrubbbrwwr
+rbbgrugrruuwuggwwbbgubbrrrwrwrwuuwrbwwggwrbugwrurrwbw
+brbwbwwwuwbwbgrrbruwubwbbrwbguuwrrwrwrwrggwwu
+gbwwwgbgbrrbubrwgwwuuguuurwbburuuurrbuggbgugrrwggbrrwrrwww
+rggruugbwgbbrgugubgwbbuwubgrwbbgguwbbburrwbbgurr
+grbruwwwuwguwwwgrwwbbbgbrwggrburguggrwwbwrwbruggwu
+bbrbwuguubugbuuwgguuubggwuubuwbbbrburbubbbrbuuubgbrbrbu
+wrbrwgugrwgrrugrbbubbbwgugugrruburwwuwuwrwrgwwrbbb
+rwubgubrrwugbgbgwwguugbwrgggruuurgrwbwrgrwgbgrrrbr
+bwbburrurwrggwrrbrbrgwruurwububbwbbruuuwbuwuwbugwguwrguwb
+guwbbgrbwugrwrbbgbbbruguwgubrgugrbwwbwwbubrrrug
+wuwrrrgguugwugwgbuwgbgwuurgburrbwugwgbuwbggugrugw
+bwbwrwbgubugbrubrgrbrgubbuwurwuwwuwrbbugrgwwbbubwbguurwbbwu
+wgggbwuuwbuwrgbbbuwuwuuguwrguwgbwuugrubgwwwwuurubrburg
+bwbwgbrrwbuburwubrbwgrbbrgurrrrbwbgguwrggbbgbgwrbrgwrrwww
+rbwrrbuururwbuubuwbwggbbugbrbrgwrgurwgbubrurbrwwgrbgrrbr
+gbuwbwuwubbrugbrwubuwwwrgurwwbwbwwguwuwgbbwrwgwrgbg
+rbbgwbuwrbwgbububurwrbggruruwgubguwurbrgrwbwggbuugr
+bgwwrbuuwbwbgwbgubbgwguurrwggrggubrrwwwwrwrgurugwrbwuuw
+wggggrrggrwrwgrbggwrggrgwbbbguuubgrgbugbbburburuub
+rubgbrruubwbwwgrgbrubbrrrwrubugwubbwrbrwuubggggrwbwuw
+bbuubgrburgbgrrbrgrbwrubggggugwbgbggggrrbuubwwwbrburuubrrw
+bubggbbgrwgwggububugbrurruwurwrgbwbrwrrrwr
+rwrwuguwwgugubbggwugurwugbgubgwbwurbgwgburg
+ugwbgbubrburggwwgwgrrubbwrwwurrwgrugwwugbrrrgubwbubu
+urrgubuubbgrbggwwgbrrburrwwgwurwgrbubbwgubggwwgrgug
+bwubwwbbbbuwggurrwgrgbbuwruwgwurggrbugrrgrbrwbbwrrggwuuuwr
+bwbrrurgurbrurugbwrrbwbwwubgbbuwrrggwwrrwrrrruwww
+urrbubgwwbubbugburugrwgbuwbrgwbwbgbgbwgrbgubuu
+ggwrrgrwgugrwrbggurwbgrbbwwgguuurwbbwgbwwwugb
+rrrwurgrrrgbbuwrrrbwgguruuwrwwbuurgrbugrbrurbbwrbbrrww
+uubwwrrwwbrugwrwuugguubggwrggbbburgggruwbugrg
+ubrrburuwgwrgburggwubggrurbrwuwwuuwgbgrrgugubbbwuuubug
+gruuruubrbwrbgbwuggwwgwwuwrgrugwbuwbguwrurruwurbbwrrbr
+gbgurwrbrrburrbggugwrbwwgruuruwubrwggurgrrbrb
+bwbwwwwbugwugwbgwubrgruuugugggrugwgbgrbwgugg
+uuurbwgrrrwgrgbgbrugugwubbwuuuugwrrwrwrrwbrrbwuwbbbug
+rwgbbwrbggubgurbgbbgguburbgbwbuuwwgbbwrbgwrgwuu
+rbwgrbwwgugbrwwgbgrwugubwrwgrgwuggwrbbgbguuw
+brggggbwgwwbrbbbruggruggrwgubrbrrruggwwuuwbrrrgwuurwwrrbbb
+grrubwgbwgbuuwwgurgrwwwburbwrbbubrruwwgbwgrgbbgrgrwguggu
+bbuwwggrrrwbbuwwwgrwrwgrrrbgwurgrwrbgburbruugrrrwww
+gbubuwrwubrgbwgugwgrgrgbbrburuwgrwguwrguwbuuuggrugrugggwbg
+bwrggbrbugbugbwbbbguwbruwwuwrrwbugbuwuubgrbwubbwg
+ububugrrrgbgwuwrubuuwwuwggubuwugguwwurwbwwrruggrw
+brbbruguwwwurwrbbrrbrgrrrbwgrwrbgurbbbggrrwgugwggu
+rrwgbwrugwwgbubrgburwgbbrbggubrwugbgwgrubuuuwwuurrugw
+wugugbgwrwwwgburbrwgrrgwbrwrguwugrwgwbwwggggwuwb
+rbuwurbwwwuwruwrrgwbguwwgubbwrubwwubbbguwgubwbr
+bwbugguwurrwbgggguurbuguggbgwgwgurrwgubbwurgruwr
+ubruwwugubgburrurrwrbgubwgwgurwugbrgggbrrbbbuubwwwbw
+gwwbuuwbgurubgbgruuwbuggrrruguwwugrgrgbuwbggugrgbwrbbwuuu
+brrbwuuubrgwwrgbrubbrwbbbrwuwbbrrrbrwbrrbuwwwrrbwugwuwrrbg
+ubgrbgbgbubgwbwwugubwuubbbbrbrururgguwwgwwgwwbwwgrgbwg
+ugbgguurubgwwrbwwwgbbbuurbwguurgguuwbwurbrbgruuwrrwwwbbg
+rgwbrbrwgwgwbrwbbuggugbwgguuwggwwwurbbwuguwuuuru
+gugrbbbrggwbwwbbggbrwggwuuwrwrgrrbbwbwwwgwrrgurb
+bwbrwwwgwgggguguurrbuuwrrwrwwrwrwbggrwrwgguggbwuwwuu
+uwbwwgbbgrgwgwgbbubruurgbwwbwbwuuwugggguuuubuubrwrwb
+gwwggwbuugwurwwrgrbwrwwgggrgbwbbguwuggwrrubgrrbgwrgbwggrg
+urrrggurururrwuuguguurwbuubrrbwgwgbuwbgrgbbwurgb
+bbrguuwwwrggrgrwurgurbrurugbgbbwbrbuubbwwbggrbw
+brgbwwrguwwbrbwuuwwwgrbgbubwwguuubbrrrgrbwgrbbwbruubb
+wburugguubrbwwwgwrguubgbuubrwuwwwugrwwbubbrwwugubwwwu
+rbgrbrubrbugwubrbrwubrgbrggggbrggrgrwuubwuwbrruggrub
+uwbwuugbubrwubburbuuuwwwubgrbrbwurugwbrggwbbr
+ugbbgbwwwuuwrbwuwrubuuubwgggggubbwrgwbgurbrrgwuugbubrgwg
+bwbuuguggugwgburbgrruubwbbbgwwuubrrbbgrggwwggg
+wrwggbwuububgbrgugrgbrwbgbrrurggrurggbubgrbrruggrg
+bugrgururwrugbwbuuubrbugrwrbwrbruurgwgbbgg
+rrurggwburrwrwgbrrgrrbggwgbgwrbrubgbrgrrugbuw
+bbrbbrbbwwbbgbrgrwgrbwgwggbbugubwguuubgbrbuwbubggugw
+bwwrbbubwwgwwwuuwbbuuwugbgbburbbrbbwrgbbbggwrububru
+bwbrubbwgugruuwwrrggubwwwwgwbuurguwgbrrw
+rgbggruuugurbwguwbwbugrbbwbrrubrgbrrbggbrub
+wbrgwburuubwwbwgbbuggubbbrwrbgrgurwubrwbgwggubgg
+gwwburbwrrrrugrgrwguuggrrurgbgrugurwbgbggwgwbgbwrr
+ubgbrgwubwgbwwrwwbwrwgubburgwwwrgwggrwgwrwbugrrrb
+bwbuguubwurgwgbgwbrwggrgbgwbguuwwuuwububuwbgbbbuuguuwrubwwr
+bwburwbrbrrburrrgwwwggwuguurugwgbrgbbrggbrrwr
+ugbgugrrwurruburwwbgubrwburwgggbrguwguwurwrrbwrur
+uwbburburugrgbburgugrrrubuururrgrurwubuwugwwrbwrwuwbg
+uurgbubrwrwrguwwguuugbrwbwbbwwubrgbwuwbgrbgwb
+ugbrbbguguwbrrurgrrrrubgrgwrguguubrbbbrurubgwugggbuwubbub
+uwbwugwbwrugrurrbugrrrrgwuwrrrubbuubbwubbbbuuwrwwggb
+wuubggrrbgrgubrururbgugwrgubrburururbwuburbwgwgruubwguuwbw
+uwugwwwbwgrurrwwwuwububrruuuubwrwgbrbbuwububgwwb
+uwggbggwwbbugbguggubbgbugubwgrruurrgrrwbrbubgugrb
+bwbwrrbbrbgbggurburwgwrwwugruwguwrruurbrbwuuburu
+brwwwwurrbuburrwgwwbrbguburggbbguggwrwwubwbbbwww
+rbrurbrugrgwwgguwbrburrwwrbuwrwbbgrwbgrwurrugbwrbuugwwwww
+wwwwrwuwwbwbwrgbrbrbubuwbbwrrrwwwwbwgbruwwbrb
+ubgbguwrbbwuwugwrurwubrurgwwwbrgurubbuwgrrwburbgbugbgbwrg
+bwbbuwwwgwrrwurrbwburrrgbgrgrubbrubbrwbbwurggbrw
+urbgggbwwbwbgbguwwuubrgburgwuwuuwugwgrrbwrgrrbwuggrrrugr
+bwbuwugbbugbgggugurwgwbbwrrwbgbrbwrwwrwwubgwbrw
+gwwrrrbuwrwbwuguubwrbururrbgbwgrwgggwwuruuurruwwbuwuww
+uruuwrrbbwbgburggwuubrwgguubrgbrbbrwrrwgbrbwguubguwgbb
+uwubgguuuuugubuugwwrwbrbwguguwwgrrrrburbugggrbwbrrrwgrbwg
+ubwugrugggrurruubgwwgwrrgguuuwgubggwrwwuwwruwggrbb
+brwugbguggubgbrbbgrbwbbwwgbubgbggggbggbwubwrwbwurgw
+bwgbwbwbwgwwgbrgwubwgrwgwugubbbgubburwrwuwwrw
+wrbwgbbwggrubrugguwurruwbbrgrbrgruuuwubwwubrubwu
+rgwwugwbubwuwbbgbubbwbbuwwwbwwrurbbwubuwrwwwbgwu
+brbwwbbuuwbbwrwbruggwrgrwburbbwrubbbwbggrwrg
+rwgwbbwbrrwwurgugggwwbgburrruuwrbbwubgbugwwgwuwgbwwgw
+bwbwurubwwbwbubwwbwgwwrurbrubrgrgwrbrbrgwgwubbubuwrwwwuwbgwg
+wbbbwwururbgbrrbuuwbuwrwuuwurbwugggurwgbwbgwb
+urwwugbruuubrrwuggrburwwwbgwuuwuwwbbwurrrwrbgwgb
+gggbwgbrwruuuuwrbubuugugggugrrruruubuwbgugrrr
+bbrrbwrwrbubgbgwwuwrrwrbggbrgwurbgrrrbrgbbug
+gbwbwuruwwwugwwguwgggggrgugwwugrbgugubggububbwruruggugwr
+ugwububbbwwbwurrwwgbwwrgbubrrbubwwgugrgwwgrurwbbbbubwuww
diff --git a/_freeze/2024/R/day19/execute-results/html.json b/_freeze/2024/R/day19/execute-results/html.json
new file mode 100644
index 0000000..14e0d77
--- /dev/null
+++ b/_freeze/2024/R/day19/execute-results/html.json
@@ -0,0 +1,15 @@
+{
+ "hash": "8e7448dadefb57913685b2353c855293",
+ "result": {
+ "engine": "knitr",
+ "markdown": "---\ntitle: \"Day 19\"\ndate: 2024-12-19\nauthor:\n name: https://adventofcode.com/2024/day/19\n url: https://adventofcode.com/2024/day/19\n---\n\n\n\n\n## Setup\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\n# Libraries\nlibrary(tidyverse)\n\n# Read input from file\navailable <- read_lines(\"../input/day19.txt\", n_max = 1) |> str_split_1(\", \")\ndesired <- read_lines(\"../input/day19.txt\", skip = 2)\n```\n:::\n\n\n\n\n## Part 1\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\n# Convert all possible available patterns into a regex string\nregex <- str_c(\"^(\", str_c(available, collapse = \"|\"), \")+$\")\n\n# Test each desired pattern for a regex match and count the number of matches\ndesired |> \n str_detect(regex) |> \n sum()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 363\n```\n\n\n:::\n:::\n",
+ "supporting": [],
+ "filters": [
+ "rmarkdown/pagebreak.lua"
+ ],
+ "includes": {},
+ "engineDependencies": {},
+ "preserve": {},
+ "postProcess": true
+ }
+}
\ No newline at end of file
diff --git a/docs/2022/R/day01.html b/docs/2022/R/day01.html
index 5c9e153..3446083 100644
--- a/docs/2022/R/day01.html
+++ b/docs/2022/R/day01.html
@@ -67,7 +67,7 @@
-
+
@@ -251,6 +251,12 @@
Day 1
+
+
@@ -877,8 +883,8 @@ Part 2
-
diff --git a/docs/2022/R/day02.html b/docs/2022/R/day02.html
index d39836c..15e6212 100644
--- a/docs/2022/R/day02.html
+++ b/docs/2022/R/day02.html
@@ -251,6 +251,12 @@
Day 2
+
+
diff --git a/docs/2022/R/day03.html b/docs/2022/R/day03.html
index 788a657..3163757 100644
--- a/docs/2022/R/day03.html
+++ b/docs/2022/R/day03.html
@@ -251,6 +251,12 @@ Day 3
+
+
diff --git a/docs/2022/R/day04.html b/docs/2022/R/day04.html
index 469a3f3..a1d378d 100644
--- a/docs/2022/R/day04.html
+++ b/docs/2022/R/day04.html
@@ -251,6 +251,12 @@ Day 4
+
+
diff --git a/docs/2022/R/day05.html b/docs/2022/R/day05.html
index 52abd6a..daea34c 100644
--- a/docs/2022/R/day05.html
+++ b/docs/2022/R/day05.html
@@ -251,6 +251,12 @@ Day 5
+
+
diff --git a/docs/2022/R/day06.html b/docs/2022/R/day06.html
index b8f638d..5c92c39 100644
--- a/docs/2022/R/day06.html
+++ b/docs/2022/R/day06.html
@@ -251,6 +251,12 @@ Day 6
+
+
diff --git a/docs/2022/R/day07.html b/docs/2022/R/day07.html
index 28766e1..31eb920 100644
--- a/docs/2022/R/day07.html
+++ b/docs/2022/R/day07.html
@@ -251,6 +251,12 @@ Day 7
+
+
diff --git a/docs/2022/R/day08.html b/docs/2022/R/day08.html
index a604912..0a541d9 100644
--- a/docs/2022/R/day08.html
+++ b/docs/2022/R/day08.html
@@ -251,6 +251,12 @@ Day 8
+
+
diff --git a/docs/2022/R/day09.html b/docs/2022/R/day09.html
index 1556c0a..65093a0 100644
--- a/docs/2022/R/day09.html
+++ b/docs/2022/R/day09.html
@@ -251,6 +251,12 @@ Day 9
+
+
diff --git a/docs/2022/R/day10.html b/docs/2022/R/day10.html
index cf3807b..02c5858 100644
--- a/docs/2022/R/day10.html
+++ b/docs/2022/R/day10.html
@@ -251,6 +251,12 @@ Day 10
+
+
diff --git a/docs/2022/R/day11.html b/docs/2022/R/day11.html
index 1d9c97c..83cee1f 100644
--- a/docs/2022/R/day11.html
+++ b/docs/2022/R/day11.html
@@ -251,6 +251,12 @@ Day 11
+
+
diff --git a/docs/2022/R/day12.html b/docs/2022/R/day12.html
index c67d76c..6542dbf 100644
--- a/docs/2022/R/day12.html
+++ b/docs/2022/R/day12.html
@@ -251,6 +251,12 @@ Day 12
+
+
diff --git a/docs/2022/R/day13.html b/docs/2022/R/day13.html
index f5d449d..882f73c 100644
--- a/docs/2022/R/day13.html
+++ b/docs/2022/R/day13.html
@@ -251,6 +251,12 @@ Day 13
+
+
diff --git a/docs/2022/R/day14.html b/docs/2022/R/day14.html
index 4975e39..9c3dc81 100644
--- a/docs/2022/R/day14.html
+++ b/docs/2022/R/day14.html
@@ -251,6 +251,12 @@ Day 14
+
+
diff --git a/docs/2022/R/day15.html b/docs/2022/R/day15.html
index ffa2bd6..22a5e48 100644
--- a/docs/2022/R/day15.html
+++ b/docs/2022/R/day15.html
@@ -250,6 +250,12 @@ Day 15
+
+
diff --git a/docs/2024/R/day01.html b/docs/2024/R/day01.html
index fd133ab..a5ca6c7 100644
--- a/docs/2024/R/day01.html
+++ b/docs/2024/R/day01.html
@@ -250,6 +250,12 @@ Day 1
+
+
diff --git a/docs/2024/R/day02.html b/docs/2024/R/day02.html
index 6547cdc..7914ddc 100644
--- a/docs/2024/R/day02.html
+++ b/docs/2024/R/day02.html
@@ -251,6 +251,12 @@ Day 2
+
+
diff --git a/docs/2024/R/day03.html b/docs/2024/R/day03.html
index ec614e9..2025130 100644
--- a/docs/2024/R/day03.html
+++ b/docs/2024/R/day03.html
@@ -251,6 +251,12 @@ Day 3
+
+
diff --git a/docs/2024/R/day04.html b/docs/2024/R/day04.html
index 00fd3bd..6fc9d45 100644
--- a/docs/2024/R/day04.html
+++ b/docs/2024/R/day04.html
@@ -251,6 +251,12 @@ Day 4
+
+
diff --git a/docs/2024/R/day05.html b/docs/2024/R/day05.html
index 59a216b..dad1568 100644
--- a/docs/2024/R/day05.html
+++ b/docs/2024/R/day05.html
@@ -251,6 +251,12 @@ Day 5
+
+
diff --git a/docs/2024/R/day06.html b/docs/2024/R/day06.html
index 1b60a0f..6c99af1 100644
--- a/docs/2024/R/day06.html
+++ b/docs/2024/R/day06.html
@@ -251,6 +251,12 @@ Day 6
+
+
diff --git a/docs/2024/R/day07.html b/docs/2024/R/day07.html
index 3455855..4a8fd29 100644
--- a/docs/2024/R/day07.html
+++ b/docs/2024/R/day07.html
@@ -251,6 +251,12 @@ Day 7
+
+
diff --git a/docs/2024/R/day08.html b/docs/2024/R/day08.html
index 065e7ee..9f52012 100644
--- a/docs/2024/R/day08.html
+++ b/docs/2024/R/day08.html
@@ -251,6 +251,12 @@ Day 8
+
+
diff --git a/docs/2024/R/day09.html b/docs/2024/R/day09.html
index 4e836a5..cb1801b 100644
--- a/docs/2024/R/day09.html
+++ b/docs/2024/R/day09.html
@@ -251,6 +251,12 @@ Day 9
+
+
diff --git a/docs/2024/R/day10.html b/docs/2024/R/day10.html
index 98f67de..9abb984 100644
--- a/docs/2024/R/day10.html
+++ b/docs/2024/R/day10.html
@@ -251,6 +251,12 @@ Day 10
+
+
diff --git a/docs/2024/R/day11.html b/docs/2024/R/day11.html
index 97a4bd2..dec79c5 100644
--- a/docs/2024/R/day11.html
+++ b/docs/2024/R/day11.html
@@ -251,6 +251,12 @@ Day 11
+
+
diff --git a/docs/2024/R/day12.html b/docs/2024/R/day12.html
index 396e3a3..c60c14b 100644
--- a/docs/2024/R/day12.html
+++ b/docs/2024/R/day12.html
@@ -251,6 +251,12 @@ Day 12
+
+
diff --git a/docs/2024/R/day13.html b/docs/2024/R/day13.html
index 03bcc34..e92c312 100644
--- a/docs/2024/R/day13.html
+++ b/docs/2024/R/day13.html
@@ -251,6 +251,12 @@ Day 13
+
+
diff --git a/docs/2024/R/day14.html b/docs/2024/R/day14.html
index 38cd77d..a0af92e 100644
--- a/docs/2024/R/day14.html
+++ b/docs/2024/R/day14.html
@@ -251,6 +251,12 @@ Day 14
+
+
diff --git a/docs/2024/R/day15.html b/docs/2024/R/day15.html
index 338c524..da510bf 100644
--- a/docs/2024/R/day15.html
+++ b/docs/2024/R/day15.html
@@ -251,6 +251,12 @@ Day 15
+
+
diff --git a/docs/2024/R/day16.html b/docs/2024/R/day16.html
index 2097d95..3396cdf 100644
--- a/docs/2024/R/day16.html
+++ b/docs/2024/R/day16.html
@@ -251,6 +251,12 @@ Day 16
+
+
diff --git a/docs/2024/R/day17.html b/docs/2024/R/day17.html
index bece660..384245f 100644
--- a/docs/2024/R/day17.html
+++ b/docs/2024/R/day17.html
@@ -251,6 +251,12 @@ Day 17
+
+
diff --git a/docs/2024/R/day18.html b/docs/2024/R/day18.html
index bef56c1..05cbb33 100644
--- a/docs/2024/R/day18.html
+++ b/docs/2024/R/day18.html
@@ -66,7 +66,7 @@
-
+
@@ -251,6 +251,12 @@ Day 18
+
+
@@ -935,8 +941,8 @@ Part 2
-
diff --git a/docs/2024/R/day19.html b/docs/2024/R/day19.html
new file mode 100644
index 0000000..1becd48
--- /dev/null
+++ b/docs/2024/R/day19.html
@@ -0,0 +1,878 @@
+
+
+
+
+
+
+
+
+
+
+
+Day 19 – Advent of Code: Worked Solutions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Setup
+
+
# Libraries
+library (tidyverse)
+
+# Read input from file
+ available <- read_lines ("../input/day19.txt" , n_max = 1 ) |> str_split_1 (", " )
+ desired <- read_lines ("../input/day19.txt" , skip = 2 )
+
+
+
+Part 1
+
+
# Convert all possible available patterns into a regex string
+ regex <- str_c ("^(" , str_c (available, collapse = "|" ), ")+$" )
+
+# Test each desired pattern for a regex match and count the number of matches
+ desired |>
+ str_detect (regex) |>
+ sum ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index 475252f..24e6443 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -7,7 +7,7 @@
-
+
Advent of Code: Worked Solutions