Finished day 19

This commit is contained in:
Ceferino Patino 2024-12-18 23:44:14 -06:00
commit 08bbfb7e99
Signed by: c4patino
SSH key fingerprint: SHA256:Wu+cU1t+7zVT9wzew/4meNmeulo66NzMqc22MdDBgXI
5 changed files with 570 additions and 0 deletions

View file

@ -27,6 +27,7 @@ import (
"cpatino.com/advent-of-code/2024/day16"
"cpatino.com/advent-of-code/2024/day17"
"cpatino.com/advent-of-code/2024/day18"
"cpatino.com/advent-of-code/2024/day19"
)
var days = map[int]func(string) (interface{}, interface{}){
@ -48,6 +49,7 @@ var days = map[int]func(string) (interface{}, interface{}){
16: day16.Run,
17: day17.Run,
18: day18.Run,
19: day19.Run,
}
var rootCmd = &cobra.Command{

122
2024/day19/day19.go Executable file
View file

@ -0,0 +1,122 @@
package day19
import (
"bufio"
"os"
"strings"
"sync"
)
type Cache struct {
cache map[string]int
lock sync.Mutex
}
func (c *Cache) Get(key string) (int, bool) {
c.lock.Lock()
defer c.lock.Unlock()
val, ok := c.cache[key]
return val, ok
}
func (c *Cache) Set(key string, value int) {
c.lock.Lock()
defer c.lock.Unlock()
c.cache[key] = value
}
var cache Cache
func match(towels []string, pattern string) int {
if pattern == "" {
return 1
}
if result, ok := cache.Get(pattern); ok {
return result
}
total := 0
for _, towel := range towels {
if strings.HasPrefix(pattern, towel) {
total += match(towels, strings.TrimPrefix(pattern, towel))
}
}
cache.Set(pattern, total)
return total
}
func Part1(towels []string, patterns []string) int {
var wg sync.WaitGroup
ch := make(chan int)
for _, pattern := range patterns {
wg.Add(1)
go func(pattern string) {
defer wg.Done()
ch <- match(towels, pattern)
}(pattern)
}
go func() {
defer close(ch)
wg.Wait()
}()
count := 0
for result := range ch {
if result > 0 {
count++
}
}
return count
}
func Part2(patterns []string) int {
count := 0
for _, pattern := range patterns {
count += cache.cache[pattern]
}
return count
}
func Run(filename string) (interface{}, interface{}) {
file, err := os.Open(filename)
if err != nil {
panic(err)
}
defer file.Close()
scanner := bufio.NewScanner(file)
scanner.Scan()
var towels []string
for _, towel := range strings.Split(scanner.Text(), ", ") {
towels = append(towels, towel)
}
var patterns []string
for scanner.Scan() {
line := scanner.Text()
if line == "" {
continue
}
patterns = append(patterns, line)
}
if err := scanner.Err(); err != nil {
panic(err)
}
cache = Cache{cache: make(map[string]int)}
part1 := Part1(towels, patterns)
part2 := Part2(patterns)
return part1, part2
}

34
2024/day19/day19_test.go Executable file
View file

@ -0,0 +1,34 @@
package day19
import (
"os"
"testing"
)
type TestCase struct {
FileName string
Part1 interface{}
Part2 interface{}
}
func TestDay19(t *testing.T) {
tests := []TestCase{
{"test.txt", 6, 16},
{"input.txt", 350, 769668867512623},
}
for _, test := range tests {
if _, err := os.Stat(test.FileName); os.IsNotExist(err) {
t.Fatalf("test file does not exist: %v", test.FileName)
}
part1, part2 := Run(test.FileName)
if test.Part1 != nil && part1 != test.Part1 {
t.Fatalf("%s: unexpected part1:\nwant:\t%v\ngot:\t%v", test.FileName, test.Part1, part1)
}
if test.Part2 != nil && part2 != test.Part2 {
t.Fatalf("%s: unexpected part2:\nwant:\t%v\ngot:\t%v", test.FileName, test.Part2, part2)
}
}
}

402
2024/day19/input.txt Executable file
View file

@ -0,0 +1,402 @@
wbur, gurr, wrbuu, bbrrr, gbb, uugw, rggb, wruwur, uwrwru, gbbwb, rr, ggb, wgub, wbuwrugr, ubugggb, gur, wbgrwu, bbw, guur, ubrwubu, guuwb, uub, gbu, grguwg, wrg, gguuw, urgbg, gubu, brbrbw, gbg, rrub, gwb, uwu, b, guwrguu, rrrrwg, rgwggb, wrbbw, wbb, uww, uwww, wwbw, ggwwbbr, u, wggbrgw, rbr, bwwb, rguwr, gbr, gugb, rbw, rrwburgg, uurb, wbgbgu, urr, brwbrr, ww, uggrrb, bgg, gwggg, wwgbu, wgg, gwrgwu, gwur, gguu, ruugg, grruuwrw, wuuu, grrbbg, rgr, wuwrr, wwgrgu, uurbr, brb, rwgg, ugur, ubwu, ug, buguubrg, wgrg, rwbuw, rgbb, uwwu, bwrrbb, ububru, wrw, brgwrww, bug, rgbwb, rbgw, rgbuuu, uruwr, ugub, bwuwwr, ugu, rbwru, rwg, bwu, rb, gwgrur, rgbgwg, wur, wurg, ruw, uu, wgrgw, grrb, bbrggwb, bwbwg, bbu, rbuurg, bruw, wbgggwg, ugbb, gbugu, rwr, ggurb, bgb, wbuwwur, rg, burbggg, rubbrgbu, grrruub, bwuwb, rrgurrw, rgrbubw, wrww, uguuubu, uwbb, burur, grr, ub, rrruw, urg, ugbr, guwubg, wruu, wbbwb, wgr, bgwru, rbgb, wwur, bbur, rugggr, wggugwu, bwbgb, urrrgrww, ubuuurr, wggrr, wwgw, brr, wwbug, ubww, ggr, wwb, uru, gru, uruu, gwbg, brwr, gwugrr, wbr, urrwur, bbrgwg, gggg, bwug, gbrbwugg, bgr, bugbb, wgww, bruurb, uwgbuw, uwrr, gww, rgub, guwbwwuw, bbgbbr, ruu, bguwb, gug, wgbrbw, rwgrgru, ububrb, wwr, grw, urb, wrrr, buuug, bur, rugwu, bw, bbuwbwb, rrwb, rwbb, gbugur, wuu, ugg, urgu, bbugb, buu, ruwbb, bggbg, rgb, rruww, bgbubwuu, wwub, rguw, gb, rgg, wwwuuu, wgu, ggbu, guurruu, rgu, urwuuwb, rrwu, rbbrbg, br, ugwgu, rrbrwuw, gbbuw, rrgb, uwb, uwrgg, wrgww, guru, rbrw, ugurgbu, bgrr, wrrrwubg, wbgug, rubrwu, gguwu, wgru, wugwgr, guu, rguu, guwwrgg, rru, wbrbbr, wurb, gwbwr, bww, uwwwr, bbwgbw, rwugu, gwug, rrr, ugbgbbr, ugb, rrbu, rruwrbb, rbug, uwwuu, buwgrr, ubwbbgw, bugugw, wwu, uubwwb, gbrggwg, uwr, gbrrr, bwrbwu, uuuwrur, guugu, gwu, gwbbw, buw, uw, rrwg, gugbw, rgwuwr, wgw, gubgu, uggbgr, bwg, grb, wbguw, wrur, wugwg, wbug, grrbrw, wuub, uggbuu, urbgb, w, gruwr, ruug, gurw, bwbg, rbwgwrww, ubw, bwb, bwurgw, rwu, ubr, ubgw, wrb, bu, brw, rw, uwrwr, wbwug, ubrruu, rwuw, ruuu, rbwu, uguu, rug, bwr, gg, wwg, ubu, gwubw, brg, gruwrbrr, uuu, rbwuubgu, wug, rwuu, uuw, gbgw, wru, ugw, bwbgwr, uwbwub, grbr, gwuw, rbub, urw, wr, ubb, rbb, rub, ggw, uurwg, wbg, uuruu, gr, rbwbugg, rbg, wuwg, bub, rgw, bbb, guwb, uurgb, wwbwguwu, rgwgggw, bwbr, wuw, grgrbw, rrw, wbgur, uuww, www, wrwwbb, grrrbgu, gubgr, ugrwb, wgbgwu, ubur, uur, gguwub, gu, bbww, grur, bwbbg, uuurrgb, guuru, burb, bb, gbw, bgbwbbur, rbu, gbrr, ru, wgrgbu, guwuwb, gugg, wgrgrwu, uwg, rrggg, bgw, bbg, gwr, gugw, rubu, wu, gugu, uubu, wg, rrb, wrr, uuugbw, gub, ruwrg, ubrwww, gwggw, ugr, rrrrr, wbu, gwwwurb, wrwrgrw, wrbbrb, rwb, grrw, urrbwbbu, wub, gwrbw, wuuw, wrrrbbbr, ggg, wurw, gbrbw, ugrbgwgr, guw, wugrg, wbwrgrg, uwrrru, rrrgur, r, bru, wgb, wbru, bgu, gw, bwrgbgww, rwwuw, gwrbgbu, rwurg, gbuwrwg, ggu, rwug, wugrb, ubwub, bbr, uug, wwwg, grrugug, wb, grurr, rrg, gbggg, ggrgrwr, rrggburu, rur
brbbrrugubbbuwbrrwbwwggwrgbgbbbwrbbubbrggruggbgrgubgbbwgbubg
wguwwbubwbbgruwwgbwbwbbubwwuuwbbbgruwuggrwruwwubwbwrw
gbbgwguwbgbgugwugguugbwggwuuburugrruugwwuwrwrurbggrgg
uwuwwgggrbggwbwuugbuubguugrrwguuurguwbwrugrgr
ugbrubguuggwrugubwugbwwrrrgbbrwbbgwrrwuurgbb
bruuwbwrwrbuwgwuuwruggbburgrgubwrbbrbrburuuwr
rgbbuuurwrruuugbwbgugrwwruwbgggwrurwwgggbgubggwwgbbu
uwwugwbuuurubbwgbgguwrwuuguuwrguwrgruguwrrgggggrgw
uuwurgbuwbbwugbgugbgbgwwuuubgbwbbrwgubgrbrbbrb
wgggwwgggbgwgrbrgbgwburwruugrgbwgrwbrrrrbrgugubb
uuurruubugrbubruwbwrbugrbbbbgwgbbrbbbruubwbgrrrbggbbwgg
grwggurugbgrbuburrwgbbwwwgubwbrrwwgubbuwwuuurrwrbubbubuu
rbrgwburgguwwuwubbrbrrbbbwwrgrurbwguugruwrbrrburrwwgubg
wggugbuuwurbruwgbbgbugurbgurbwwbrwbbuwuwwwruwuuuwruw
gwwgbugbrgubwbwbbrgbuwbgguwgrbburrruggwbwwwwrbgbgwgbb
gubrrrwbgruwwwrbugwrbgrwbuwurrrgubuugrwgbrwwuubwuggur
wrgwbbbbgbubwuuwrwwguwwrguwugugurwrbrwubg
rguwgrrgrbubuuwggbrbbgbgwuwuugbrgrrwruggbwburggbrw
rrubuggrwbwbbwrggurgurburwubbuggwgruuuruuwbg
wgrrgwgwbwwbugrgrbrrbrrbggguuuurwruwwurbwbbr
bgrgwbbgwggwrurbgbbgrrbwbrwrbguugugwurgrwgbgbubrgbuggwr
ggbwuburwgbubwbbgbwwgrwgrbuurwurgruwgwwgbuggbbgrbbugubrg
wrwbgbbbuurggwuuwrrgrgwwbubrubrrgrbwwbbwubwguruwrrbbgubwg
wurbwwgwbugggruuwbubrggbbbguwruggbwggbuwuw
rurwrbbgrgrwuuwbggwrrwurwbgubgwgrgbwrwrwrgbwburg
rrrrwrbwbguuwuurgbbwwuggwwbruwrbwbbbwwgwgggurrr
ggububwubbgurrgbwuburwgwwwwuggugbrwgrubwruwuwuwrwu
brgburwwrwgrgrubbwgbrgurrbrbrrrrubwrrwbgur
uurrruwbwrgbrbrbwrgbgwwgurrbrugguubrgbburguurrgbu
uwggbwbrwgrurrugggrubwuguwwgwuugbwrurgruurubbwrbwbruugbgubg
rwrgwggurwrbbgrgrrwgwwrwbwruubbbrgwrrbwbrwru
brggrgugruruwrwbrggrbbgbgruguruggrrwrwrbrrurwuww
bbuurgbbwggbugwgurwubrwuwwrggwbburrbbrbwubwbubu
rwwrgrbrwwbuwrwggbwrrwwgwurgwbuwrwrgrbguubggwwgguubwgruurb
gggwwuuwbgguggwbbuububrwwurruuwurbwbrwrwburbgru
wwrwrbrbrwwugrrurrugbwwuwuubgrgugbwbrbrguubrggrbwurbg
uubgbbrwgurgbwwrwgbgrbwgggbrurgwuwgrbuugrubg
gwuwgrwuubguwrgrrruugwbrgguwrugwgugburuurrwuugbbwguwbwg
rrggrrbubwuwgrruuuruggbwguggbrbugbwbbwruguw
bgugbgrbgwrwggugwrwugwguuggguwrgrwwrrbwuuubg
ggbwbrbgwrbbbbwwgwuggbwgwugrbrburrrgwrrbuwgggrubgwguru
wgrubwggrbuwgrbrgbggrwurbwwbwrbuuburuuwbubrbwwuuggwwwburru
uubugggwwwgurbrurrrwuwgwgwwwgwrrwwbbrubgwrubruuw
rugugbwwwgrrbuuwwuubwgrgbbbuwrrugguuwurbggggub
uburguwrwrrrbgwgrgbwrbgbrwuwubbgrwrbrubrgrgrwbw
rgrgrrguuwuwbgbbbgbbrruuugbwgubwbbrbbgbwwwrbgbggubruwuubuu
ggugwrbggburwwwbguwrwbwrgbgwwrrbwgwrwrbubg
uuuwuuwwwuggggwuwwubuugwbgwwrrwburbrgwbrrwgu
rwrbrbwruwgwuggggguwgbugrgwgbrwrwubrwrububwuuuuugwwb
gruurwugbgwgrbrwbgrrbbrgrwggwwubbguwwgwuwwbrgbrwrgr
urugrurrguwrggubgrurrrwwbgrugbubwbbguwrwuugrbwruwwu
gwguubwbbburgurggrrrubwurrbrbrggguguwrbgwubwurwbuwuw
bbwgrwbgrwubbuurgururbruwuubburbbuugwwgwwuuwb
wguwbbbwbbuggugwwgrwbrggrrugrbubgrbwwgwgurbgubub
rgbbguwuggrrwuuuubwwwgugrgwgrgbrgggbbbuuwuwgwubbgww
uurbwbbrgrwrwrgbwrwbgbugggrbbguurubrbrubgwgbwugurgwubwwbwg
wbbwbgwbrguuwwgrguwubrgrbwbugrbgwbruguggrgwbgwuu
gbwrgwguubgugwgwwgubwgwbgbruuwgwubbbuwwwrrwrrrug
wgbbwgugbuwgrwwurruwwrbgbugbgwuwugwgbubgurrbgbwwgbbwr
grurrbrggrgrbbuuugrgrruwwrrrwuugbbuwuwgggguwugugrbwbrgrb
bwwugbugwbgwrwwwwgbrwrwurbwwuwgbwbwgrwwwgbggr
bbgbwggwwrbuwubgwrbgrubrbubwgrbwuwgurgbggbruub
wbrrurubrrubbwwgrrwrrubrbrgwuwguugwbbgwrbwgwrbr
bguugrwbguuuugugwgrubrbuwruuwgbgggbwrrrwrrgrurrru
ubbgrurrbwgwwrggrrurbugrbwubrrbrbubbuwgwbr
wggbbrwbrrbwguwbgggrgguruuwuruuubbbgwrwugburgwu
gwwrwrggrgrbrwbwrgbbuwrrwgugwrwggwbwwbgbrrwggg
bwrrwguurwrrgbrguruuurgruugwbgggguuubruwbubu
grrburrrugrrbwgwggwrbbgwguwggwuwggbwguubbuugbbwwwrbw
ggubbguwbuuuugwwurugwbwgurrgubbbuggwuuuwbrwgbwguwwgwrruwb
bgrbubrgugrbwgwwgrwrggbrbwbuurbwwrbgwubbgrwubgw
ubuwbugguwrrbrwbwgwurbwbwrggbwwbgurbwwwubwbrbwgr
ubrrbgbwbrgwbwgrrrurrburgrrwrwwrwuwwbbubuuwrwuuguwbuuwb
wgbwgubggubwgbugrwrwuuubbgrbugrbruugrbbubwurbwbbrbwurrrrgb
uurbbuurgbuguubugrbbgbrrwbwgrubrrbbwrbbugggwwwwu
rrrrwbbbrguuuubbgbuugbrwgbrguwgbubwrrugubbbrgbrwrrbguuruuu
uwburubggbbwbwbububrubgbggrwburrbuuurbbwgwwwuwwurwggu
wugwuuwrugggubwwuggbrguwbrubguwwgbbbgwrgwugwwrruwruub
brugwwbbwgrgwwrbbggubrrurbuguwrggwuugggrurguug
grrwrugwbwrurrrgbugrrwrbgwwgwruurrgrugwwggruuwrbwug
wbururrrgrwwgubwwbwbgbbrurgbwgruwuuuwubugrbbwubg
rrbbrwrbbuguwgrubgwwwwrbrrrwrbrubuwbgbbbgrrwgwbbgubgwrbrrw
gugubgurgwgwgruugwugwbuubgbuugrbugbubgrbbu
bwgbrbrbuwggurwurbbbgrrrrwgubwrbbugrrubbruwggwgrwubg
ubgwuuubuuwwwrububgbwwbugubgrubrwurguwwwgruwbuubbwwubwgwubg
wuwwbwbwggurrbgrrgguwbwwuwwbubuugurrbrrgbrwruuuruguubw
rwrubwruwbwwuwbubrgrwbbrrrgrubwubrgrwgbrrbbbgru
gwrbbwugrbbbrbwwggurwbuugburrrubwruwbugrrgruurwr
guwruburwrrgguuurrgbrrbbwrwubuuuuwrugggwwguwuruw
bwrwgrurrgwruguubwwuurgbwurruwbbwugbuwrrrwubguwruurggubg
wrguwrrbubrgrrbwuubguurrbuuwbgurwbbuubrwwguubg
uuuuuwwwrbrbwrrbubuwbrwrgubrwguurwgruguubgrgrww
wwwwuwwgrbgbggrwruruwbbuuguwbuurwgruubuugrurrgwr
bbrbwurgbgubwbrwbrgwgwwwrrrrwbgrrgbwbbubrrgru
rrrbbugbrgurgugwrbruubrurggrwwbgrubrugwwwbbwgrwbgburgrburw
gggwburbuuuugbwbrbbbrbrrwuwurrubuuruwrgrggruwggrwubrb
ururrrruubbgrguuburuwbwwuuuwwbwuwgrbruurru
wrbguwwbrrbrwbbrgggggbgrguwburgbgwuwbrbbwwrrwbuurgrw
gwurrrbbrugugrugbgrrubbgwuwgbggbwrbbrgurubguw
ggwrguwgbgwbwbbbgubrurrugrrbbuwbbuuwgwwgbbbwbugrubg
uuburruuwbbggwbrubuuuwwburbggwrwrwbwggggrg
wgwwguubgwrbbwggrwugggbrwugurgbbubbrrggurbrubububwgww
gguuggwwbwubbbbgwwbwguwuggbbwwrbbbwrrugwbbuwwwugwwubg
ruurgguruubuwuwwrrgwgbgrbgwruuwgwbugwgguwurbwuugrbwgrbuu
bggrbwgrbrubrrwrwrrgwurbrbgbrguwggwgbwurgrruggr
guwwbuurwggruwwuwwrrgurgwgbwbbgwwwuwubruwbuwuuug
bggbwgguubbbruuwrrgrwubgbwgrbubwbubgwuuubg
wrbbbrbbbugwwruuubrgwwwwuwuguwrruuurrugbrrwbbrgrwubbrgr
wwwgubwuwgwuwugbuwguwwgrubburbbwuurbgwurgwgug
ugbgwuurgwrrggugwwgwgrgbrrbbuwrwwwrbwrrbruwugwwbrbbugggub
gwgrubrbwurbbgugwbbbwbbbrububbbwrbgwrwuugwggbbwrgggguw
uwuwgbgwugwrbwruwrgugwrbrwrurrwrrrbbbrbwbu
buuggguuggruugrbwwwbguruwwbrwurururwbgwurw
ubwggwwwgurubgwbrbruwwbgwguuwuuugbrbubbuggbrwggugbb
burwrguwbwwgrwwgburbgbguubwgbgbuugrgbwbwbwbuwub
rubbururgbwrrgbrrwbwgrurwrrrgurwgwurbbgrggurrgbgggwrbwrwbr
rwuurrgguuwbrbwrggubwwbgbwwbruruubwgurwrgwrwwrgrwgwuuw
uwurruugrubrwwrgwrrwwrgwwwgrwbuwrugrugwrbuururrrggbuwuwb
bbrgwuuggugggbbbwruuugrruwrggwgggbrbburgwbbrbbgrgbwugru
bubuwgwwuwruuugbwgrwrubbbwurwuburrrguuuugbbuwurw
gbggrrbgrgwgwrbgubrwubrrbwrgwgrbgwguuuwbubggubg
rgugggguwgguuwbgwwbgrwruugrrggbgwrgwbrubwrbgwwrgbubwgrrw
brrbrggwbuuwgbbwubrwruwbuwbwbuggbugwuwbrwurugbw
ubbburwbbugbugrrububgbbbuwrwgbrguggwbbgwwbggrbrwrbugbrgug
uwburgbuguwggurwwbuuwbrggwrbruguwrbgwggbrwrrwrubugrwgruwb
bbrubgrrbwbwgrggrrwuubbbbrwurrbwwbwrgugruwgu
gwurrwrwbbrwruggurwgwwbgruwwwubwbbwwugbwrbrbwggbg
uwrwuurbwgggugbgwubwrwggbwwubrbgruugbrwgrrb
rruwuuggruuugbuugwwgbguwubbgrrwuwwrrbrwrwrbrbbbggbgrur
uububuubwuwrwbguuwrgrwwgwbgwrggbugruuruwururruggwr
bgbrgwrwrurugggwbbwubwgrwgwwgwgbuubgguwrrrgw
ubruuruurgrgrrgguubbbuurrruugurrugubgwbrrbggwuuwgugbrgw
buwrrwbbbwbgbbgwbuurbrrgubwbuugbugrubbbwbggrgbbgrbubrgwgw
wruuwwbguwubgrbbwbrbguubwrbugwbuguubrgbubg
wuurgbugubbbgrgbuggwurrwgwrwuurbwurrrrubrrrb
grrubrgubwrgrbbbbbwuwrgrbrbrbwwwuubrgrrrwurbbbwg
guugwrrrrwrbbwgwuubwbbruwwrgwbbrurwwrbuurbwgwuwgrruugubg
rugwggrguwruwbwbwurggwgrrrbgwrugwuwwuurrbrguwgwrwubwwrr
uubgwuguwwwugwbbgbgbrbbgrrbbbguubrbbwbbguwgbgr
gbbrgggrgwwuubwbbrgwuuwugwubuwwwrwruwwururbwrwrbbbuugwurr
gggguuwgbggwwuwrbuubgurgwbwbrwbbggggrruuwrwbuuugrrbwuurrb
bbwuwrrbgrgwrwuuwwgbguwgrwuguurrrgrwwgrgbgurbbugugwrrb
guugrwburugbrgbwrwgbrrrwbgwggwwwurbwbwuwbrb
wrgrgrbggrgurrgbubwrwgwrwrubgwurrbbbwubwrwgbwugugrrbrrr
bwwgrrgwuwrruwuuwubrgwbrggwbrwurbbgbgrubgbguu
ruwrrurwggwrwgwuurwburuwgbwubrurbwggwgbwuwwgb
wugbuuguuwuwwwwbwuwgwbuuuwrwurwrwruurwuuru
rurububgbubrrwrrrbbbrbugrrgggbgrggwbbbubg
rwrwrrrbggbbwggwbubbruugrrbwuburwubguugubb
rwgwbruwwrgwwgruwrbrrrrgwgrrrbubwubrbbwggrwrwurggubbrruu
wgwrgrbuwwurrwubwbggwgrbrrurrwgrurwuwrrbububwrgbwuruwgw
bwbggwuurgwggrurwwubrrbgurwburrwruguwbrbbruwbwug
urbrgrbbwubgrbwuwgrguugbbbrbgrrwggbwwbugwbruguuu
rwubuwggruuurwbuuugwwgrrbwuwbugbgwbwrwwugb
ubwrwbuubwubrubgurbrwrguuwwuwwrbbuugubbguuub
rwgwubwurrbwuggrrrwggruwguugwwgwbrubbubwrgubgrbrgbbwrwru
uwrgruwbbrwbuuwguuwwrbbbgurwgrugwuguwwbbbrubbwurb
bubgugwgggbwgwwwbbbbuwugrwuuubguruwbggwbuwwrrrg
wwwgbbgbwubbrgugrubwubguwuwgbuggbbgrrwuggbuwbgwrgrwggruubg
wguggbwwbrgbwrgrurgwwrbuggbwrwwrrwwwgbrrrwwburrrububg
rguurwwrgbuuggrrubwwggwgguwuwrgwwbgubbwguubbrrwr
brbgrbrgwwwbwurwugwbbwrggurbgbrrurugggruww
ugguggbrubrwbwwrrwbuwwggbbwubrrwurwbgbggwbrbuwgru
rbgbgbgrwuubwubwbwwwbwwrbrbugbrbwwwuuwrbrrrugrguw
bgrwrwgrbruruubwgububuwbwrggugwrbwwguuruwrwwugwwbgrbww
bwrrguggurrurrbrggrbwrwuwrurururrugrwbrbbggwuggbrgr
wwwuwbwuwwbrgrgwbbbgurbggwbrgggrggubuwubrbuguwubrwrggbuubg
rwubgbwgwwbguwrwwuwuwwububrbuubgbggrbwrrbb
uurbrbgrrwuuwguugbwrgruggugbrgbbbwggbwwrugbgwuwugbg
grwwbruwggwwbwgggbwrrbgbubbbrbgbrgwggrrruwbubug
ururguuwubrwwwbbgbwuwbrwggbgwwgwbuggrbuwrwwuurrgrwguugwgw
bgugrrrgbbrwurrubbggurgwgbrbguwwugwbbbrwbbbwbwwbubrrggrur
ubwuurrrugwuurwbgrgbugurggrwgbrbbbwuuwuwbwrwrwugg
bwgwgwubwrgbwwwrgrbubrgubrrrrbugrwbbwwrrbgrruwrbwgggwrr
ugbgggrbwgwrwwwrgrwwwrurwbbwwwrugrgubbbrwubwrgrrubg
uggwwugwgwrwgbbgbgbgrubrrwwuwburwrugbrgwrrgbww
bgbgggbwrwwrugrrgwubruggwbrrrurbwuwbwrgggrgu
bggubggurruwrrwwrgrbururgrwbgwrbuubuwbwuuwgrgbgguur
wgwrbguuugrbwrburwruwbwwwuruuuwbwugrgrwgwbwbwwrgbrrrbgrw
bugwuwubgwgwuwwgrbugurubwbrwwurwuugwwbbbuurwwwbgg
gbgrwbubwgrgrbgururgbwurrbruwubgguubrbbbbruurugwwrwr
bgbububbguuwugbrrbwrgwbwgbubrugrgbuwgbbgggbugrggrrguwbubg
gwrrruwurgubrurggururrbggbruburrubruubbgwbr
uubgbbbwrgbuwwbwwwrurugggugbggruwburgbgbrgwubgrgbwwwrruw
uwuwbwgwgwruuugrrbubruwgubrbbgbbubbgrwuwwruugbrurrbrgbww
rbgwbrrwrbwwbbuwrwbuwbbbburrugguugrbrrbgwubgbgbbw
gugwwbwuugbruruugrwrbbrwgrggbgbubwrururbrurbrubg
urwurgwrgrbgbuwbubguwuwwgbrrwuuubruubwgbggbgbbuwubwbw
rggwbbgwwbwrrugggrgurrgbwggguwbgrwwwbuwrugrwburgrwubg
rbubrbbrgwgwbubwgguwgrbwguurrwggwubbgugwrg
gwbbbwgbgwrrbrrgubugwbbwuugrwbwbwuuwugruwuguwwrggug
bwwwguuurgruwurrbbwubgwrbggrgbwwwggwbgbbguguwrrruwuuwrgrwu
ubwbwgguguuwrwururwgurwbwurrrwbrwuugrwuwrubrguugr
grwgruwgrggugggbwggubrrubwrgbrwgbguurwrrbugbbgwwrgbu
wggbbgwwrwuruwruwuggrggbugwuugwbbbggurwuguu
bbgwrwrrwwgrurwrbrrbrgbuugggbgbuubbbwbuwwgugrruubr
uwrrgurbrbgbuwburgbbbuwgrrugugurbrbrwbrugwgbuwwuwur
wgrwrgbgguwrbubbubbbruwrbbuggwgwbubrwrrrwubggbbrrrrrbrg
ubguurrwrwgbrbbrubugugrwrbwbggwrwbubbgrgwubwg
bwuwwwgrgggbgrrrruwugrrwggwuwugubbururuwrgrbbbgrrugrugu
ugwuuwuwrgwwwwwgwwrugbwgubggbrgwuuggwuwrurubbugr
rrggburuguwurrwrggrbgwuwuubwbubbrbbbuugruuuwubg
bgrrgwbrbbbrrgubrgurwwugrbbuuggrubbbwbwrrrbgwuuguwuwgwuwwg
bgwgbubwuuruurrurgubrbgrgbwgbrubburwggwrbwubgguwrgw
rubbwwrurbbrbwrwrgwwrgwuuruuubbgbwgrbgrubwwbugubbbgwu
bbwrugugbwbrguggbrrrubrbuwrbrrbwurugrbrurgrubwggrguw
wrburbgguwrrurgurgubbwruruwrruwruugrrbgwubbbubrur
wruurgrwggwbgrrwgbbgwgwurwuuggwrrrrwgbwggb
gugwwbugbgwuwuwbbrugwuuugrrrrbuuwbrbuwwbwrrggwwrwug
rbuubuuwbwwgruggbubgbgbrggrrbrgbrwubwwggrggububwgbuwwwgbr
ugbrwggwbubugbwwwwrwrrbgruggbruuburuubggwuwrrburwwugbg
wrugubbwbuwuwgwwuuwgbubrbbgbubbuwbbuugrwggugguggbwrbugbrw
ggguuwubggruwrwbubguugwurgbrwuwgrrbuwugbguug
rwwruuuwuuwuugwubuwrwwbburrrurrwburuwuubgug
wuruuuuguubwubrugrbgbwuuburuwurrurgruwubwrrurggrbgwg
rwrubbrgburwgwburbuwbbgwgubwbwwuwgrbbgbwbubrbwurburubg
wbbgruwrrbrrbbwbwubgrbugrwbgbgwbrbwrwbuwgruwbwbwuubgrbg
brwuwwwwgubgbruruwwubggubuuwbbwrruubwrwbwrwrrugwrubw
wburgrwwwgbubggwubrguurbubgguwggbrgwruwbwrwrw
bruugwubgrgbuwbuurrbbwrwbrbbwwwubbuuurwbubru
gwrbwbgrwbwuwrugbggugwrugugbububrwwuruwrgguububwrwgr
uuwrgruubrwwugbuwbrbbwguwuubwbbubbrgwguwbbgrwburrgbgurrrg
brrrwbburwwgwguwrrwrrwgrwwubrbbuurbbururugwbbggggwbrbrwbg
wwwwububbgrbuwrgrwuuuuwwgwrbrwuruwgwrwbggwwbuwbrwbuwugwwgr
ubbrggwbgbwgbruugggrwrrbwbbrwgrurbgggubgurbwbbubrgr
grwrrgwguubrgrruuwrwubbbrrubbbbwwwrbgubg
rwburwbgbwbburgbrbbrgguruggbrrgrurugrubguwgg
wwwuugbgrgrbgggwbugwgwrguurwubgrruwwrgbwuwgubbrbgur
gubrggwbgrwuruggwubbbbbgrwuguurwbrbruggwbbuurguwbr
rwwgrgubbuurrbrgwgwbrrbrugbguwwbugrwrwuruwwruguuwugwgbgubg
bwwwbrrburbgrubguwwwbggburrbrrbwrwbrgrwbbrwrbrrgubugbb
bbrwrrwrbwwbubwubbrwbgwbwrguggrgubrbwwwrwuwgrbbwrrbwg
wbruwruwrggbbbwrrrbuurwbuubbgwrrrrubuwgbguwrugbubg
wrgurgrbbwwbwrgwrrubrbrrbrwugwrrgwgbbrurugwruw
rwbbbgggwguruuuwwruwwgbguwbrbwbubwrwgurbrwwurbrgrbbgugw
gwbrgwgrrggwgrrggbwguugwbgwggrbbuwbggurwgrbwrwrrbr
uwubrgggrwuwwbgububgbguggbugrguwwggubgbrggugurrgwb
gwwgbuugwbwrbrurburubwwgwggwgrbrruubururuubwrbbuwrrbbrbbbu
bwgbubuguruwbubbgwbgggbgubbwugwbbuugugrrgurwrurwggwbwbgrw
gwrrgrgbbuugrgbgrbwbgbrgbgggwgwuuwbrgrbgwggggww
rwbbuwwwuuubrgrwugurbbbgwuruguuugbgburuurwgrgurrbbuuu
rwrggbwwrbrggubrbuuwggwuggrrbbbrgrbugugruu
buuwwrruuuggrguggubwbrgbgwgbugrbgwbruwbwbgbugb
rbbuwrbubggbbwbgbuggwrrrurrwbgrwwgrburrrwgr
rrugrurgwwuggrgwuwrbbgrgbrgbrguwbwwbwgrwruugwu
uwwbgbwbburggwgwgrwrgurrbwrbwurubwrrrgubg
brubwuwurrwrrguwbrrbrgbuuuugrwrwrwuruwgbuurwwgwurwurguw
bgbbgbwwrrbwwbgrbwrwurwgrbgbbwwugbgwgwrbwuubugbugurgr
wwbuugggurubwwgguwrwrugrrrbbuugwwubguwuruwbwwgrbwu
ruwbwugbwuuubwwuuwgwugrwggbbuwbugbruugwurwwbubuuwrwr
bruwrwugrbrwwurbwrbgrbwruguggrggbrugwggbbbrbbwrrgwwbrbug
uuwrgwubbgrbgbrrbbruwbuwgrbwbbwwurrgbrrubwrguwgwwrwbuwwgw
wwbgrrugrgwggguwrgugbguugubwuruugrurruburgbg
gbgbbrgrbgbuguugrrubwrbgwwrrrrubrrugruruurbwguruggwuuwwg
gbwbwurbububbbwbbrubbugrrrrbgrwgubwubbrwubugwwbrrrw
gwubwrbuuwbburwwguwuwguurwbwrwuguruwguubwrbbg
gbuwgwrbbrubggbubwbrgrbwbrbburubrwrgbbrrgrwrgwurwr
uugwrwrrurwwwrugwgwuguruwwuwrbwurwgbrbwuggwuwuwbgguubuugw
guubuuwuwuuwrrwburggbbbrguwbrurrbbwubuubg
grrguwbugggggwurrbrgrrwruuurrbuwwwruwbuuuwuruurwugrbwr
brgwrgrwgubwbwubbwrgrwuburuuwbrrbubbrrrwbg
wuuuubwgbwbrurwubbbbubwububbgwrwburgwwuwbwb
gwrgwrwubbuwurbgbbrrgbrgurwwbwbbrbgbbgwguwrwwgwbbbw
ubgugggwbrbbwuwrurruwwugwbgurbgubuurggugguwuubbuubuwgbw
gwbguwbwwuwrwgrrrwrggbwwwbwrbugurrrbbbubg
rbbbuwwuguuwbggbwubbrbugubuwggubwrbwgubgrg
rbwuurwbgbwbbwubrurugubbrrrbbbwuugubbuubgubbrgwbbw
bbrgwgrbuubrguwwrbgrrrubwbbwbbruggwgbwwburuwgrguwgw
gbbrwugubruwugbwurwrbubbruurrbbggugrugbgurggubwrrgur
bbuwwgbugubwwwbugbgwbwburwrwrguwuwwwgrbbrgurbgwbrwuuwbw
wbuggwbgwrgwbwruwubwbrbbwwbrububrurbruwwbgwg
bguwwwbuwgbrwwrgwubbrruwwruwrbbbwbwwbgbrruggrgrgrgggw
guugrbbwugrggwbrrwuwgbbuwbwwbuugrbgwgrrgrbrruwur
wrwbgruwuugrbubwgrrbrugggguruurrruburwgbrwrrwg
bbrgburuwwgrwrwwgwubgrrrrgbgugwrwwwwwuuggrgu
uwrrwgrguburubrgbgruuruugbuwrgwguruubwbbgur
bbrgbwgwguugwwuguugbuwgrbububbrwbrbwwgbbgwgrbrwuwuuu
brrguuwbguggwbguuggwbrgrbrbwgwrwwbgrwuuuuwwurubgbrbbw
wbrwgrubwruuuugwwrubgwruruubrrbbuguubrgburwr
rrbbuwubwbrbrgbuuurrrwwwgbwuuwbwugrgruwwbwbwbgr
bugruuwbwuwrrrwrwgwwrbguuggwrubrgbgwwbrbwrbgwugbrrbrrb
bgggwrwgrgubgrgggwwrwgugbuurrugbrubggggrwrrwbugrg
wggguubggguuurwbwgwguwubuwwugbruwwurgrwugw
ubgwrrwgurrbuburgwuubuwgrwwggrgbgrubrbggburuwrbuwgrbur
ubbwbrwuwwgrbwruggbwwrrgruuurgwgggwgwbrbgbuggwgw
bbruubbwubuwububgguuwbguggbggwuuuggwgubbbgggbwbbw
grbrrbwrburwgwrbwuwwwbbwbrrbuuubggbbuggurrrggr
wrrgrggbbwggbgwwruubbwbggbgrwrugrugggbuuruuwbrb
ruugwbbrwrrbrugwwwbbubwrugwrwrgguurbgbgwbrrrwbwggubbuw
uwgruwuggubrrggrbgggrwugbuubggwuugrwbgubwruwwug
gbrubbwwgrbrwrbwgwrwbggrbgwggrbrwrwuwburwururbrguubg
ggurgubwbwbuuwrgrbrwwwrguwbwrubwuwbrguwrrgrruw
uwrbrruubrbggwgbbwrbwggrrbbwbgbbwwrugbgrbugbg
bgwbubuuwwwbrgwwuuwwrrbgugubbrrgurugugbbwrbrrwbguugwurbwbg
gguugrgrrwwggbuguwugggbrgbbgguuuwuuruwuwbwubrrbguugwrr
uwgwbrbguurugwuwrbgwrggggrrgrgrururbrwuurguugruruwrrrbgw
wbrrgrgwbwurgrbgbubugubwubbrgugrrurrurwrrwgwg
rbrruurguburbgbrgugrwrbruuuuuwuwbrbrbgruwurrrbrubg
gwbbuwwubwwruuuguwrbbugrwwugrbgwwburbuwrub
ubgrbrrwwrrgbuwgrwguwguuubwrbrrbguuwgbgguuugrgbgbbwguuwr
wgwubwguuubrugubgugruwuwwbrbgwubuwuwggbbbgrrr
rbbguuwwggrrwrgbrwrugugrrruugwbuggurrwruwburrgrruug
rbwbubwbwguguwwrrubgwugrwrwwgbwgruggwrrbbbbugu
wruwrwuuwuwwbgurwrbwbwbuguugwguwuwrubuuuwwwbruwbbgr
urbwbwbbgrbuuwurwruggwgwgwbgwbrbubuwwbrguubgugbwgrw
gwurbubrrbrgrbrgwrrbrrggwrrwburggrbrgrwubbbbggg
ruwbubgwbrgwugbwuwbguugrbwbgrrrwbuggguugwwubggwb
wrwrrwgwuugggbrrrggbururwruuuggrwrbguuuggwgbrbbrwuggwrrbw
rwbbrubwgrbburubgwggwgrbwrbgrggwwgruuubbggggwwbr
bgrubbwgbrrwrgburrrruwgbugbrggwwuurggrwbbggguwrrgbgruw
ruwwrrgwrugburubwwubwwrbrugbrbbbbbrbgggbgruwrbwuuubg
grwrwgwgbwwbugurbwrwuwgbbruwrbburwuurubwgbuubg
wgbgbbgugrrwbbbubbuuuuuwwwwgwrwrgurrwubgrugbgwwbrrrubgruuw
brgwwrbuggrrrurwgrbuwbbwurugguwgbgbrbbububbrbuug
ubrrburggbbgrgbbuwwgrrwbbuugbburgrbrgggrrrruwgu
ururwrwwwwbbgwrbbbugrbgrwwurbbwrrurrurrwwrgrr
gubgurgwgbugbwwbbbrgbuuruwrbbbubgrrbugrbugurgwrbgbwwu
guwbwbuurgbugrwbrgggwgurbwgrrguubrggguuwrwbbwubbrurbgrgrr
gbbgbwbgugwgruururbgugwbgrrwrgwbgwgwuurbwub
wrwubrrwwubuubgwgbwuguugwbrbbwgruubwgruwrugubgr
brwbgbwrbgubrrgwbgubwwwwrrugrubbgurgggguuwurwu
gbrrugguwrggrubgrbgbbgrwuggwruwrwrwwbbwggburuggbub
grrrwurwuuguugrbwggwggbwwgwuwrrrruuurugrbgwgrgubg
bgwrwwrwgwrwgrwbuurggrbrbguuwrwgrbbugwbbrwbubgrrwruuuugr
ugwrwwwubbwgrbruwbguwwburbbwurrubgrwggwgrbgubgu
uwbbwrgwburrgrurubrubrrrbgbbrubgrbwuurwbruruwug
gggbuuwgbugugrwgrurwrggugggbbbururrwwwwrrrwurububg
rurbwwbgrwrurgbruubrwbrbgwbggggggrgwrbbbwwgwbbrgubr
bwuubuwbrbgrrggbwrrbbwrgbgggwrwgwrgwrgugrubuuuu
bgrrbrurwrrbgubbbgbuwubrurrubgruwburggugubuwbwwbbbrww
ugburbubwbwuuwrrbubggwubguubrwruwbbrrwbbwgwwruwrb
guuggbrrrubbwbgbrgrrrbgbuwgugrruwuwrwguugwgbbrbgbubg
bwggrwwbruggrruguurbgwwwrbbbrwwguuuwurwurrrugrbbwrbbbrwg
rwgrwgwwbugbgwbbbrrbrurburbwurrrbgwbbbugbbrbugbgrbgb
wuwrugrbuggbgwubuurwuruwrwbwbuggwrrwrbwgwb
ubrgubuwuubggbbwugwuubruggbggbuuubgwwbubg
uugguuurbuuggbrwwggbwggwurrgrgrrbrubrrrrwubgbuwwbbg
wwwruggugubrugrgrrggbgrruwurbrrbgugbwburgbbwgurwbgbbwbgwb
uuwbbubbbgwbwubuwubwggwbgbgrwuguwgwuggwbbwbbwgrurgb
gbbugrrurbgbbubwurgrgwurgwwbrrwrwwwuurrbbwbrrgurw
uwwbubbwgbgbbwuurwgggbbbrgugbbburrgrgubbggugbrg
brbuuuwrrrbggbuubbuwrbgurwruwrwgrrwwbwguwuggbrruubgwrww
uuwwwrwrrbbwwwwguruwubgurwgburrgwbrubrbuwr
bbwbbwwrgbrgwwwrgrrbrgbrwwwubggwgwbbrgbwgubwwu
rbggwugbburgwbwguwrbrbbuugugwwgwuggrwrubg
ugbggbbbrgbwgwbbwuugbguwbbubguurbgrrrrgubbwwbbww
uuubbrgbuurrwwrubgbuwbgwwgrrrbwrbbrgwrbrgrgrgbwwu
uwgrrrwbrwwruggbgrgbburwgrbwwgurrururruwrwubrgb
wggwwrwurwrrwbwrbugrwwgrubgbguuurwurwugbbgbuggrbugwrr
rbbrgggwgrbburwbwgguubbbggbbgwbgbubrrggbbwrbwrggwgbgur
rgbrubugurgwgwrubwuggbgwggbguwguwwrbguwgrwwbwwwrgubgwbwg
bbwuuburgbggbubgbrruguwurwrwbbuugbrwbrbbgubgub
buubbgbwwrgbrwbgbrbbuurguwgwuubbrrbwgrwwwbbwbrwwguggurubb
wguuuubrrwwrrbbrwrrwugbwbubgrbuwgrguugbbuub
wwrbgguuurwuubggguwgugwwbgrgwbbuwgggwubbwugrrbrugbrbrwbbu
ugrgwubgugruurrrwuurguwrbruguwwwbwbwbrbbggbwuwgbgrruwu
gbuuwwugwbwwrrubugwurgbrbbbwbggwwwrwrgrurwuubru
rwgubugubbrbubggwwrbbbwurwurrrwuwruwwggbggbwrubgg
rugwgugbuuuubrgurwbrugwuwurgugwrgwwguuuuwbburwrrrugbuuwuwu
wruwbubgrwbbbwbguuwurrgubbubwgrrbruwrguubbwrgrubwuuugggubg
bgbburgwbrrwbwguwrrururwwwbbbuwgbwuuburgurrwbrrwrwbruugwwb
gurbrrrurrbwbbuggruburbgwuwbbbuwrurrbubgubuwrwrg
wrwruwwrbubgbwbrwugubgbbgwbrwuububwbrwuggwubwu
wrrrrurgrrggwrbbwbwbgbwbuwwwwrgwwuuruuuwgubwrgwg
ugurrrwugwggbrggrbwububbugwggbwrwbbbugrwwrrbugggwruwggwwb
bwrburrbbburuggwbggwbwwgrgwwuwwbgrwwubwwggubwu
uwugwbgbgggwbrgbrwruurwgbrwbwrwgwgwgbggwuub
bbugwggruwrrrrbruwbwugbbbwgbwugwbwwbggbbwrwwgwuubwggb
ruwgrbrbrrwggbrgwwubrubrruwurgbrubbuuwguurruubrrw
buwgbgbubbrgubruggwuwwruwbgwwuwrbwuwubbgubrggrggwwrbw
guwgbubrggburgguwggwrubrrugwugbggggbgrgwrrbbgrbwruubgrbrbw
rwguwwrgwbruuwwrwgrrwgrbgwgugbbuwgrgrbrrguugrgwbugwubg
uggbwrgbbwwuruwguwbbggurwggrwwwbbbruwubruwbugur
gubbwrubgrwrbgrrwrrgwrrrwbwrgwbgbwrgbburrwrugbuwb
wgbrbwuggguugbwuwuguwruwrwugrubgbrurrwbwggrrrbguwbgggubgrg
rwrgrwrbbrrruubgrbrwwuugbbugrggrrbbugguuubrwurbrbu
rbrurrrwgbbwrwgwuguuwubrrbwbwwbrwbuuguburbguuuuugrg
gwwwwwuwgbbggbrbwuurrbwbwruuwbgwggurrwbruburuuu
bgrgbbwgurrgwwgruubgbubwuuubuubgbrbgrbrurwug
bgwgurwrrgwbgubuwuwrgguwurugbwbruwrggrugwuubbbgrbwggw
brggwwurbugwuwbururgwbgrwwrwuggbbbggwuuwuubg
gwuuwrbuggrggbwbggrurrurgwbrwrwggbwwrbrwrubrbuubgurwwggrrr
rwgbwwbugwubuubbwrubwwwggwbuuurugbubgrggugb
rrubrrwbrgbrwwbubrbwbgbwwrwgwwrburgrbwwrbbwwuwr
bwwrbggrbuwggbubbrbuwuwgbbrguggbbrrwuuwrurguuurgurgur
brwguurgubbrrwwguwbwwbrgbwbbrwgrwgwbrubwuwbbrrgbrgbugwuwrr
guurgbwbrgruggguwrubbrgbugrbgrruubggbugugbwubgrub
ugbwrbwuggwwbwugbugbgbgrubggrgugurbbruwuugrgru
rwbrgwbguwwggurbbgwugbwbwubwbububugwuwuwggbugbugwwuuwb
wguwruwguguuugwbrrwguuwrugbgbgurubrrrgbrgbrbb
bburgbgbwurrbuwrgwgbuuwwrrrrwgubbgubgrrbubgbrwwbgwrgwugrg
bwwwrwwurbrrbbugbwbwruwrgubuubrruuruwwuwwrrwwbbwggb
rrgbwurwurubwbwugwbgrgwbugrwwrbggwurbwuubgubgggbr
brruwwbggbgwguwrwbwrwwbwrburwwuuugrrbrurrbrgwub
bwbuggrgrwrugrrwbrwubggugwgwwgbuwburrubwggwuwrbguwwggggwg
wrwggbbwubrbugubwubwwrburugubwurrrrwgbwugggrbruwr
ugwurwbrrwrwgwgbgwwbwggguugrubbubrguwugbrrb
grrbrubbrurggubburbrbrwwrrurubrwggguwgwrrgugwgurwrwug
rwbuubuugrrrbwrrgwgururrwburrugrugrrbrrurub
rwugburrbwbbuwbwrrwurggubgwuwwubburgrubrrrbuuwgubg

10
2024/day19/test.txt Executable file
View file

@ -0,0 +1,10 @@
r, wr, b, g, bwu, rb, gb, br
brwrr
bggr
gbbr
rrbgbr
ubwu
bwurrg
brgr
bbrgwb