diff --git a/19/19-1-1.py b/19/19-1-1.py new file mode 100644 index 0000000..63cabc2 --- /dev/null +++ b/19/19-1-1.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +from functools import lru_cache + +file = "./input.txt" +#file = "./ex.txt" +#file = "./input-e.txt" +from time import time +start_time = time() + +def read_input(input_file:str, ) -> tuple[list[str], list[str]]: + a = [] + d = [] + f = open(input_file, "r") + for line in f: + line = line.strip() + if line == "": + continue + elif "," in line: + a = line.replace(" ","").split(",") + else: + d.append(line) + f.close() + return a, d + +@lru_cache(maxsize=None) +def check_design(txt: str) -> bool: + global alphabet + if txt == "": + return True + for substring in alphabet: + if txt.startswith(substring): + remaining = txt[len(substring):] + if check_design(remaining): + return True + return False + + +if __name__ == "__main__": + alphabet, designs = read_input(file) + alphabet.sort(reverse=True) + sol = 0 + for i, design in enumerate(designs): + #print(i, design) + if check_design(design): + sol += 1 + print(sol) + + print(f'Runtime: {time()-start_time:.8f} s') \ No newline at end of file diff --git a/19/19-1.py b/19/19-1.py new file mode 100644 index 0000000..af1ece2 --- /dev/null +++ b/19/19-1.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +#file = "./input.txt" +#file = "./ex.txt" +file = "./input-e.txt" +from time import time +start_time = time() + +def read_input(input_file:str, ) -> tuple[list[str], list[str]]: + a = [] + d = [] + f = open(input_file, "r") + for line in f: + line = line.strip() + if line == "": + continue + elif "," in line: + a = line.replace(" ","").split(",") + else: + d.append(line) + f.close() + return a, d + +def check_design(txt: str) -> bool: + global alphabet + memo = {} + + def check(remaining: str) -> bool: + if remaining == "": + return True + + if remaining in memo: + return memo[remaining] + + for substring in alphabet: + if remaining.startswith(substring): + if check(remaining[len(substring):]): + memo[remaining] = True + return True + + memo[remaining] = False + return False + + return check(txt) + + + +if __name__ == "__main__": + alphabet, designs = read_input(file) + alphabet.sort(reverse=True) + sol = 0 + for i, design in enumerate(designs): + #print(i, design) + if check_design(design): + sol += 1 + print(sol) + + print(f'Runtime: {time()-start_time:.8f} s') \ No newline at end of file diff --git a/19/ex.txt b/19/ex.txt new file mode 100644 index 0000000..ad43a74 --- /dev/null +++ b/19/ex.txt @@ -0,0 +1,10 @@ +r, wr, b, g, bwu, rb, gb, br + +brwrr +bggr +gbbr +rrbgbr +ubwu +bwurrg +brgr +bbrgwb \ No newline at end of file diff --git a/19/input-e.txt b/19/input-e.txt new file mode 100644 index 0000000..832b53e --- /dev/null +++ b/19/input-e.txt @@ -0,0 +1,402 @@ +bwwww, gwwug, ruw, wrbuwrbw, ugugb, rwwgw, wwb, ubgg, rubbwu, wgbuurbb, wrrbru, gwg, uuwwg, ugrrgr, uugrb, grwb, gwrb, buwrwuw, wrb, ruuggwr, rub, guwwr, gwrur, uug, ugguwru, uwr, rwuug, bwgw, ruu, wrbb, wub, wuwgugg, grgwrww, bgubw, wruuuu, bwg, wu, wbrbgr, bgwg, bgrubu, ggru, bgguww, rubgugrw, grwguu, wbg, ugub, urbwuurr, grb, ug, gbu, gbgwurbw, rrrburr, uggru, rubuwrrw, guwgrb, rbr, uruw, gggur, ugwg, bbwrr, ggbbbru, grbug, uuubww, rruug, ubbgwgr, brb, rbbuwbu, ggbrru, uuwugb, ubbgr, bubg, grbb, rgb, rwur, ubuuu, gwuwb, bubgrgr, wuuu, bwwg, urugg, wubuwubw, wgrb, gwggrgu, rwbu, bbbubgrg, rw, ggug, gwbgwbrb, bgugww, ggurrwg, rbbwuwu, wgw, bwb, bbw, urru, ugg, uwguu, wggw, wgr, urrr, urguwr, bbb, bgwbgub, guw, gu, gurwr, rgw, wbb, wggu, brbbg, wbw, rur, gub, rrbbr, uugruww, rbbrb, bwgrgr, rwrurww, grurg, brur, wbr, rgu, gguwr, bwurb, grguw, wuu, rwu, ubu, wbbwwub, urg, rww, bgg, wrwg, ugr, uru, urwggw, buwur, bbrgbwgr, bggbbgw, bbgu, rurrr, ugww, uurbur, brbw, wgwrbr, wbuuw, gwgu, rbw, gbwugwb, gbw, bwwgwr, wurrgwu, wwbg, rburuu, wrruwg, gg, bbbwugg, g, bg, wwguuu, gruwgu, ggrr, ur, bwwru, rwgub, rgwuu, wur, wuwrugw, uw, bubggbr, ubug, gwbbrw, rubgwg, rwbuub, rgrbugb, rbgb, wwgb, brbgw, uwwr, rbrg, uwrrur, uuwb, wug, bwwgrgb, rg, wuwww, bgrb, uurgw, rrburg, wubg, rwrwur, rwb, wrw, bwrw, wg, wwgrubwg, bugb, uuubguuw, gruu, wggruuu, urwu, wuugb, rrwww, bwrugbrb, wrgg, bru, ggww, wrbrrg, ugbu, rwwrrguu, wrg, buguu, ugbbww, urwur, grr, uuw, rrub, rb, bww, wgwr, ubb, bbbuub, ggbrw, rbwb, ubw, uuwg, wgrrbr, grw, gwu, wuwwgr, rwuw, gbbr, bguur, gwgrrw, bbu, ggg, grg, urbwwrr, bwgbuw, bw, gbrw, wbwrb, rurg, uurg, guugb, uww, brrbggbu, ruww, ru, rwguw, wgwbug, wwu, wgwwbur, bu, rguu, uwwwg, rug, wwg, brg, uwu, ubr, burg, ruug, rwr, uurugu, gr, uwubu, rr, rbwrbw, gw, uwwuu, ruuwb, rbg, wwrw, wruubg, bgwgrwbr, wuru, ggrgr, br, rwuu, grgbgg, urw, uub, rgrbb, wbuwb, wgwbg, ubwu, gwb, uu, rrrr, rru, gwr, uuubu, grgw, gbb, gwug, wbggwu, gggr, wr, wuw, wgg, buw, gbuwrwu, gb, uwb, bgubgb, rggbbbu, rgubgggr, rbgr, ruwr, wwr, grgbrb, ugrubr, ubgu, ugw, ugrr, ubg, ubgb, urb, wgb, wbwrbw, rugrr, ub, gbr, bugrg, ugu, rgrw, rrrrurr, bgbw, wgwg, guu, wrrubu, www, wrbu, bgrguwr, wwur, ubgbgug, wbwu, buu, gbgubrw, b, ggr, rrg, wwwb, wgrrrw, ubgrug, rrr, ugbb, wugubbur, bgwb, buwww, ugb, buub, wbrru, wuwguur, gwrggg, bgb, gru, bwwr, bgr, gbbw, wuruw, gbrgu, uwg, ubrg, ggu, bbwg, ugrbug, bbr, r, ugbwub, ggb, bbg, bggwb, bub, gbg, burbr, brw, wbuu, gugbb, uwubg, gbgwr, bgwwru, rgugb, uubgr, bb, gug, rggb, wugub, wrgu, wrwguug, gur, wru, bgbr, bug, bwu, ubbur, uurugb, ubgug, bgrr, bgbb, uwbrrug, bburur, rgr, brbbrw, rrrrwu, rgg, urwuwr, wwgr, bur, rugwg, bgu, urbg, wwrgbuw, rrgwrbb, uuu, grwgg, bwr, wrbrb, wrr, uwuuur, rrubu, ugwrg, rwuwg, wgu, rwru, rrww, urr, rwg, bgw, rbb, bgbubrg, bwbb, u, wggurggu, bubgw, ggw, gugg, ugrru, wbu, rggrrb, ubrgggwg, bwuu, rurb, wgrrg, brr, rubr + +wbugbugbgrgwubgrrgrubgbwubugrbrrubgwggggubrrrwrbr +wbgrbrgbwrrurrrguwbubburbrwgwrbuwrbwgwuwubwurggbrggbr +urbrbuwgbgwwwbgbwrugruburguwgwbgrugwrrbwbubgrwgww +rrbgwgrwbrbuubbuugrurgbrbrwrbrggurwgwrbuwuwgubuwwrru +uburbwruugurrbwbgbggrgrrurrugwuwggggubuwugbgurgugurbbbu +wbubwwubrurggrrbbbuuwuwgggbguubwuubbwggrgubwbuggrbrrubg +bbwbgggrwrrbwurubbrgugrguwrwwrrguurwwburgruwrrbrrbwgbggw +gugrgwgbbwguuwbbrgwrruuuruwgbrurwubggbubbgrugubgbuwwgww +bbrbbwgwwwbrgbrrgwgugwbwwrrbbwwgrwrrrrwwgrbguububgwrgww +ubuuuwrrwgwwgbguuurrgwrbbuggruurbwuwrubuugrwuuuwbwgubbuwgww +uwuuwwwrrruggbbggrgwbbggwgurruwwgrugwrgww +ubbbrbbgubugugggugrbwuwbgbbruguburwugrubug +rwwruggrwguwguwgguruubrggbgbbubwwrbbgbwbwwbbubbruwb +brubrbrurrbugwgrgrruuurrbgguwuwubbggbwgurbbuwugur +wwrguwbwuggubgbrgbguburugbbwugrwwwggwwgbrgwrugrwuubgwwrggw +uuugwubwgwrbuurbrwuuuubwgbubwbwrgbgrrbbggrwbwbg +brgbbrugbwbbwbuugubwrbuggruubrgwwuggugbubbgub +urbrwguurgbbrgbwrugggwwgwubbguwrurbwburrwgu +uwrbgggguruwubgrruwrguuuubwugwwrgbgubwrwguubuubwugwbw +guugwbgwbrgurbrbwwrrubbbuurruuubburgrruwguwwwww +wuugwbwbrgbgubgwuwwbggbubrugubrgggwgrrbrrrbuwgbb +wgwgwurrrbwbwuuwgbwrggwruuuwbuuuuwrrbrrbbugwuubrwu +wrbbgbbgugbbwwurruuruguuwuwbubbgruwurwruggruwbrbbwbwwbu +gwbgwbbwwwuubrubguggguwbguuwrubwbrgwwugwbuuwurwrgurub +ugubrbubwbruubwugugrrbwbuggbgbrrgbrrgbbbgrguwwbrgww +ugbbburwwwbrrbrwbrwwbrwwubrrrwwubwgrrrbbgrwbbub +uuuwgbgbuwguururugrbbbwuwurbuubuggbururrgbwuwwrwuuguuugwgww +rwrbrgbuggwwbggwggrrwbgggwggurrbwbbubrgbuggbbrrugrbwwuwrrgww +brggrbgbruwrggwbbbuwubuwgwbrwgrwrwrwruuwggwrruwgrbru +buwugrgrbggwrbuggbubwwugugggbbrggwugbugburgrrbgbuwr +urrwwwgwrbgwgbuwrggggrgbburwgwuuguwbwrrbbwwbgbwrwwwwwgrgww +uwwbgwbbbggwbbbrgubrrrgbwwrwwbwbuwurubgww +bbrrurwwggrbgwggrrggrrgugbubwuwbbwrbrgubgggbgu +wbuugbubuwbrugrwgwbrrgggrubrbrwbgrgwgbrwubgrgww +ggugbrggrrbrgbbwguuruwurggbbggrbugbgwrbwbugbwwuurwgbbggwub +urbwbubwurrgrruubwurbwwrwuwguurrrgbwgbwguwrgbgwwrwrugbbw +bbrgwuubwrgubbrrgrwgugbrbuwuwuuurwgwgbgrbubbbruuubgwg +wwbwbbbwurgubggugrbwrrbwuugugwbrrwuwbrwbrrrbrwbbbgrrrwgwgww +uwwubwgubbwwugrugbwrugwbrwrrwbbgbugruwbwggruguubbrw +uuruwbgwbwbrggrbgrugbgwwbbbgugurgrgggurbwrrwurguu +brbgrruwguugwbuwubwwbgwgbugbgrubrbbubbwubbuggbrgbrwugbrwwgww +brwrbwugubuguuuggrurbwruugguwugwgugwrbrbgwwrbwuurwwuur +bbbguugubrugurrrgugggwbrrrgrggbugwwurrgrwuguwgbwrbgwgwg +burrrgruugbbugrwgbrwrrgrugwrwrgbrrbgwwbbuubgw +gurrgwuubbruwuwgbugbbbrwuwgbwurrurrugurruugrgbbrb +buwurgurguguuuurbrrwgwgbgbwubrgrrrgbrbuwggwrurbggurb +wbgwgbgrgbwubwgubbbbrggrwwgwuuubbbrbwburgww +bgrugwbgbwwwrugrgbbwwrrgurrbwurwurggwbwbbwbruu +wbrwggwrwbggwwurwbububbuwbwwuwwurgggwugbbuwgurruwg +ububrrrruwrwburrggbgwwbururuwuurugrbrrrwrbgbb +gbgrwggrguwurugrrrbbbubwrugrwubuwurwuguggwwrbr +wgbguuwbbrrrgruwgugrgrwgrrugbrgrubugubggbrbwwrwwwwguwugu +rwuurububuubburbwwbbuubbrgrrbubbwgbwrrguwrrbubrgggwgww +rrrburbguwrrgrrbgrggggrbwgrbgrwbbbggugbubrw +ggrwgwubbuwrwruwwgwwbbwbgbwggubwgbrrubgww +ugwbbwgubbwurwbbrrbubugbgwwbubbbrgbwgrugrbrrbwgww +grwwwggbwuwrguugrbgrggbubwbbgguwuguurbwgubwuguuwrggwwr +brrwgbuurugrbuwguwuurguwbbwgbwbrwuubruwubwgbgbg +ubrgbwruwguurrburgururuburwwrrguurubuugrbbrbggrwbuuuwrrgww +rbwgguggbrbgbgwgrgrggbgbuwbgububrruwrbrgww +ggrgwuruurgbwururwbbbrbbubgubugwubbbwrurgburg +guuwbwgwurbrugggrwwwbrwrbbggwgugwubbubgggu +wwggrbwgbgbrwwuwbwurgwbubbggbbgwrrggggrbwgugb +burgburgggbgrwbrrrbgwgbwwbubgwwbugubgwgbwwrrwwwrrug +ugbbbrwbgruuwbwwggbwbguubrrrbgbbwbbbgburbgww +uuburguubgubgggwbwggurgguwbbrgbubwuguururrbwrg +gubwuwubrwgugrwwwuwbrgurrwwbrggrbwbggwubgrgruw +guwgrbruruwrbwruuwggrwwwrburgrbggbwugbgww +urwubuwuruubggwwggwuwwggrbrgburwrbruwrbwrrgww +uuruugbuururbguururbgbugguuuuwwgguubwruguwwgww +wgrbguguwgwbguwwbwrrwrwgbubrgurrgwwgwruuggwbwubb +wburburwbgwrwgwwwrwggrwwurrbrrruugurgubrgg +gbguguwwburwgburrgrbgugwgrwrwruwubugbbgugbwggrrrgww +uwgwbruwuurgwgrgbuugbgurwruwrbbugggbbuuwrbg +ubgbwbrrrbwuruurggugwubruwwgurwgbbggwbbwrrwburbb +rgwuuggrurgwwuuuwrruwggrgbwwbuwwbbwurrbggwrwwurrwgww +rbgubuwrwuwrrbbuugwwurruugbuwguwugwrgrgbwburrwub +rurbrrwugbwgwrrbwbwrrubgwrugbwwuggbubwugwrwbuuggbgrrb +grbwwgbrwrurwbwrbgrwrwuwuwburbrwbwugwgwrwgggrbuwb +ugurrgguwbbgbgbgggbrgwbrwwwrbubuurbbwwbgrgww +gubuugurbrrburwgruuuwbbruwuubuggwwwbrwwwbwwrrggwb +ugurrbrgwurgrrwubbgbwwwbgurrruruwrbwgbrbrruuwuwgwwwbgrggbgww +bwurwubwuruwggguwugrrrbwrubbgbuguguwggbwubrwurbwbrwbugwbu +rwubrbbbuuuwuurrbgbugggwbbgbgwurbuuwbruurguggbuuwrrrubwuug +wrgwrrwguggbrwrbuguruwwrbbbwbbwgbwubururubwrwubrw +buwguruwgrwrwwrbgbbrrbggbugwrrugrburubgbggrbbwubwbgguuwubgww +wwubrbrgwrburbruurgurrgrbrwbrbuwugurbwuubwgwrgbuwu +rbwrggwgbrbrrgbrwuwrrrrwurbggwwuwubuugwbugrguubrw +uruggbgubbrrgbrbwwguurggbbugugrrggubuugwwu +ggbrwgbbggbwgwggbbguurgbgbbbubugbbgrugrgubbu +ggbggwbbrgurwrrrgugbgwbgwwwugguguuugrbuwbwbwbrbbgbrbgwur +rbwrbugwrwwwrwwugbbrbrubrrgrugrwrwgbuubuwgwuwgrrrbgww +wgwwrwgwruwgbbbbwgbbgbwgwrwruwwrwwuuurgrwgww +wwgbbuwguuuwbrubbbwrrgbwwrguuggwuubuuwubbruw +gbgbbuwbrwwbrurgwbugbwuwurbugbugwrwgwwbwwuwuwbuuuwr +gbwubuuwurbuwbwuuguguwbwgbgrbgrgburubwbruuub +rwwrgbrrbrbbbrgrwgrgbgwwgrwbbrrguwbwwrgrruugrrgww +wrbgbrgrwuwwgwrbrgwbubwuwwguuuwurgbbrwgwrruwgg +uwrbgrgruwubggrgrguugrgubbwrbwwbubwgugurrbgwrugbgw +bugguuguwbrurrbrggbwwguubrggguuuwgggrbbgrgbrubbrrgrugwwrg +bgwrwbuuwuuwrruwgrrwbuwuuruurgrbgurruwruwr +urrrrbwrrgbuubrbbgggggubuwbbguuwurwgbrbgww +rrbgwubrwbwbuuuguuguubruwrurggwgwgrrgbwbrwurbwbwgrwrgurwwg +wrwurgwrgwgwwuurgrgggguwbgrwuwbwbwrgbbbbguugbbrbrruguwgww +ubwwbugbwwwrrgrbuwbbwuwubbggruuwrbugruwbrbbbubrw +rrbrgggubrbwrrwrwbuubugrwbgwrurbugubwbrubwrbrrbwwbr +ubwbgbgubwgrbgubrbrgurrgrwbgrgrgwrugbwuuwgwuguwwugwgwururg +gwwugugbgwbgggwggwwuubwwurwbbbrggbuuwgbrrggwbwwbbbgru +bgwgbbuuwbrrgrbbuwwwwrwugggrgwrgbubrgbwgrgwgruwuuubgrw +gruurgugwubuwbbbrbgrgwbgrgggrrbuwrbuwbruwwwurbbr +rgrwuwbwbruwwrrwbgwwrubuwrrwrrbbrrugrubbrgbwwurbrwwgww +bggwwrrurwugurgrwwwbrrggrrwgwgwgrbuuubuguw +bbgbuugrgwruwgwubbrbuurbruwwwgwbrugrgurwbgwugwwbrb +urbbggbrurrrrbrbbuuugwgggbggwugggbwwbrgbbrubw +bgguuwrgrwurgbwwubwrggbbggrbrrurwbgwrgguubgurrggrgwbggbg +rgbuwrurggubbugwbubrrgwbbbrubuugubbguwurwguuuugbu +urwuwbbgrgbwggbrbbbbbrggbwwwgrurguwrgubrgwrbwbgwwwgww +bubugwgbwwuwwurrrbububwuwbgbbggwubrbbuwugrwuburgrwgbugwr +brwbubwurgwbggguuwurrbugurrugwrbbbwggbgww +ruguwbrrrbgbwwuuwwbgrwwugrrbuubgrwburwuggubr +rrbugrbrrgwruugrgbrbuggbruguwbwrubbruubrrrgbgrgwgbgbb +bugggurrrrrgbuwbggbwgrgrrbwrgrgrgubuwwurbbwrggrwruwg +rwrggruurbwguuguwbbrwwgrruguuwrrugbbggwgbbuububur +brbggbwwgwbbruubuguguwbruurugwrrgbgbwwgubguwrwuru +wgwurwruruburruwwwgbgbbwuuwbwgurrgwurwbbwrrwwu +ggubruuuubggrgugubugrgguwwgguwwwuruuggubbuwrru +bbbggwrbbgrwuwwbggwrbwbrwrguwgggbwbbrgbuwrrb +wrbbgwgugrggbrwwwbguurwrgbrrwbguuugwrbwubbgwwubrr +bbgbuwurgbgrrwbuurwbgburgwwbbubwggubrburbrbgwrrbwrbuwgug +ruuwrguruburruwwrugbwwrubgrgrruwruurwwwgrgrurr +rbwwwwubwrwrurbrrwuwwbgruuurbwbrwgbrbubgwuubwurgww +ugrbgubuuwwwrbggrrwbbuubwgwbgwrubwgubwubuwubgwuubwruwu +wwwwbbrgbwgrugrgwrgurwwuruubrubgwugwwggrrgg +wbwbwbrwuugburwrgbrbrbwgbwbgwwuruurwbrbgwuuwbr +uubuurwgbrubbbwbgrrrrwuuwgwggwgwwuggggbuurgguuwgw +bbbrbgburggubrgruggggubbbubugbbrgrguurwbugb +urrrwbgrburwuwuguwbrubwgbrgrwgrbrbuwggurgguwrgrugurbwgww +wuggrrwguwwuruugrrbwwgugurburgugurwgrbwbuuwwrubgwgbwuwu +brrrgbrrrwbrwrbgggbbgwgugwruwrwgbbrwwbwrrbgbburgww +wbuuwgbguurgbwuuruwbgbwuuuuwbuggbwwurbwubgwb +uggrrrgwbrgruwrwgugbggwgrwrbubburugbwuuwrwbgugwwbwrguwrwrgww +gbwrrbuguwwwubuuguruurbbwbwbbuugwurwwgbuurbbwugrubrbubbgww +bgrrwruwrwbbwgwuwruwwgbbrwgburbrrrrwwwuwrbgrrbrwuubgww +ubgrgwrgurbgwgwwugbbbrrwgwruuurrwbubwwugurgwggg +grubgrbgwrbbbbbubuwwrwrurrbbrrbububwwwwuuub +rbwrburbgbrbrgwwuwwbgubrrguurwugbugbuggubrwwururrburgurgb +wrwgurbrwgwgwrwugrgugrwbgbguugbbuwrwrrbwggbbgrgwuu +guggwgbgwurbbrrwrwwggrwwgrbubgurgwwwgrgbwwbrwwuwwwrruurr +grwubwrrubwwgwbrgbrwwwgbbbgwurrbbrrgurwwuwwubwbgubuubugrrgww +urgggugwgwurwwbgbbrwbuggwrggbbbbbwuggbrbrruu +rbuuwwwurugubgbgubggbwbwrrrbbbggbgwggggguwwrrrwwr +gbwrubwgwrbwwbguwuwbwbgurgbruwrwbrwwrbrggurwuwb +uggggwrurguggrbgbgrrurubwggrbgrggwrubbwwbbrbwrgwgbuwrbw +ubrwurwuuguuggugrggwwwurgwrgbbubrugbwrrwuguuwruguwbgbr +uruwbwuwbggwgwrwugubrwgbbbbuuggrbbrrwrgww +wbrrrugbruuwgrrwbbwwbrwugwgbbrwrubwuggbwburgwuwwbrubwubwrgww +gbubgrrrbwbgrbgrubrrwugwugubwurwbbrgwrugwgrbrgbrrb +ubrgbuwwwgrgwbuggrrbuwwwgbwbwwrwgugrrrgrwguruggbbbrrugwuuu +rgrbbwbuwrrubgbbgurbbuuuggrgwrrrrbwgwbwurggwruwgbrbggru +grrbuwwuwwruurruuurwguurubwbrrbuwrwguwuwwrwbwbbgbwugbgww +wrubgbugbgbubgguggugbuburwgbggggrwgguuuwwb +rubwbbgrrwwbbgurbguugrwgrwgwrbugbguwbgrgrgrwwgurg +ugrgrurgggbgbgbruwuruwbuubrbggggbbbugrurwgrubwur +grbubbubgwgrggrbggwrbuwbwbuurbrgrwrbubwguwubbwuggr +buwgurrugbbgwwgggbgwrbrwbugrgwgwbwgwuwgrbuwgwurrwwbguruwr +wrrugbgwuwwwubwwgrugbbgwggrgbbwgwwbuuruuuuubguwrgww +urubbbrrwgugrgurgwuurubrbbgbwbrrrrbbwbrrbwrwuugbbbrgww +gwrwbugrbggubrrbgwggugggrwgubuuwrwwbrgrbgrgurbbwurrggrurb +wgbrwwuwwwruuubgrguugrwuwurbrggurbrbgwwbbg +wgbuwubuwwuwwwrbburuwggwgbbwwuuwwrwubrrwubwbbbuu +wurbggguurgwwwrubbrwgubruguugubrrbggwwurbu +ubrrwwuuruwwgbruruuuuwgbgrrgwubbggugbgbwwbu +wubbbwwbubwggburuugruwwuwbrggrubgwrrbuwgww +wrwggrruwugrguuwggbuwwgrwuubbwbwubrgubgggrbwb +rgbbwrbbrwrwgrrrwubwugrgrwwbrwrwuuwubwbgrgrbbbw +bgwbuugbwuwbuuwugrurwrbbgrwbbgurwuuurbuwbwrr +buurguuwgrrwgugwgbwgwgbrwwwurrgrbrrwgbbbgruruurbbw +gurwubgrguurrrggugruurggurggwurwbgrwggwwbgww +rwwbgbggrrgwwwbuwgrbuubrgbbugbuwugrbuwbbwgbbrbuwg +ggrgrbruwrgwwgbgrggwwbuwwuugbwgugguwrrbbbgbgrbuguu +urugrwbuwgbrrrwgrbbwwwubwrrubbbrgwrbwuuwugbur +bbuggbbuwguububruwurwurbgrbuubugbbugwbwrrwrrubw +ubgrbggrbubuwwbguguurgbwguwwbugwgwwbrwbggwguugwbr +ubbbubgrgggbwwwgbbuwbwwwurgrgbrrrbbbubrrbbrwwgbbbgwu +uurrwuubwbbuwrrugbgbwwbgwugubwuugwggwgggwrguggruwggrgbwwwr +brwbwubruurbugubuwbwrggbgbugrgwuubbwbgwbuwggubrwwgub +ugbugrururugrgwubbgwbrwwrwbwggubuuburwurugrgr +uwubgwrgwrugububrgrugbgrgugwwggwbgrurbuuuugubww +bugwwubuwubwgbbrrwrwwuwugwbbbgwrwwgburbbrubw +wburggbbuguwuuwwuuuwbgrggbuggurwbuwuurrwwww +guwwubrbrwrwuubuwuuwrrwuwbgbubbgbgbggbbbgurbwrrurgww +gwwwrgrwwbgrwrbuurgggrubuguguwwbbgrwggwrbgbggbubrwwwwwr +wbubrgwrrgbbbbwurwububuurgbrwggwuwbgugurwwbb +rgrurgugurrrgrrrbgurguuguwburrubgrrbwugbrrubuwbgww +rruwwuugbgwwrruwuwrubwuggwrwrrrwwgwgwuwbbrrr +guwubbguggubuwgwuwbggubrwgwgbwwgwrwgubbwrrggbuggruuruwgww +uggbubwbbrrbrrwrgbwrwbgwguurrrggwwgrggrbgurugb +uwurbwwbrbrwbbuuuuwrgwgwrbgguwbrgwburbugwrrgggbrw +wwbuwwrrrwrgrgbgurggguubburrruuggbrgwbgwbbuuguwbr +gwbwwuwbbrgrbgrwwbugwwbubwwbwuwuwurwuurwubrggggu +wrrwwguugugwwwwgburgwwgbgrruubuwuuwwgrwbur +wrbwbrrwrbbwwrgrugbwbrugrguwuuuwgubwgrgggwwbg +gbbrgrgwurubwwwburbggwwggrgrbgubgwwbuwruwwb +uwgrguuwggggwgwuubbuwrbbwwbwrguubgbuuubwwwwrugrurgbwg +wuugbbbuguuuubguuwwgrrrrwgggbuwrwuruggrwrgu +rgwrbwgwrrgguwgwrguugbgwgrrubrwurwbrgbuggwuwr +rgbuwrrrbwuwggrbuwwruwwurrwuubwguubgrgrrrurrgrruggrr +gbwugrurrbbubuurrurgrggbrbwubruguburguurrwgww +ubgwwwwgwgwguuwbgggrbggwbrgbuwruwwgggwgubrrgwguuwugggwggrgww +brrbrrbrgurwbgubgbruuurgrwbrgbbbrgruwbuwbrrg +gugwuuwbrwwuubugburbuggbrwgrrrwgrrbgrurrug +rggbbwbbubbwgwrbrbwwbrbuuuurwubuguwwgrrwgrrwrurbrwwbrbw +wugrrggurbburuwwrgrgwrgrbbwwuwgubgggggrgww +urbrubuwgwubrwwbggguguwrgrurgbrrgbbuuuuruggrurwgrbubggwgww +wgggwwrbbrrgugwwwburruwrrbuwrwruugggrurrbrrbgururg +grgwggwgubuubwbwbburrwwgbburbgburubwwrbwbrgrw +rbrbubggbbwwwwwbgbbuurbbrgugrgurgbwgwgugurruubbburggbgr +uwuwwbubwbgwrwwubwuugrbwugwgurgbwgbubrrwbbbwbwbbrwgrrrubb +bubuwgggbwurbwrrwguubrbbguggbrugwwbbgrgwgurbuggbbbwu +guguuubwgubbrwbuuugbubggbbbwrrgrrwuuwwbbbwbubbwur +ruwgugwbrbrwuwwgwuwubuwubwwuuwrggrgrruubwwgww +uwgrbwuguwwrgugwgbgbgrwbrrwguubwugbwbubbugbwg +wrwruruwbuwrrbbuuuuggbbgugwrwgbguubguwrwuwbruugwbrggrrbgww +uubwwgwrbgwbwuwgbuwuuwguwrwurwwgwgruuubgrurubguwurbbuwb +bruuburbubrbrgggrrgwuuuburbrrruugbrurwurubgww +ubrwwrrbbgrburbuubgwbbwbgwrubgbwbugbbbrugrrrgbbubugbubgww +ugggwwgbwgbbbwgrrbruwgrrgbgrgrggwubwuwugwgwubggb +ggwrwuububwgugbgrwrwwurwrgwbbbbwwwwubgww +wwggbwgwbuwwwbbwwwwubrurbrgugrgggbbwgwubugbrrrgguguuwb +bwurwugbwgbubgbuugrwbrgbwwuwgburubgwrbguwrrwuubuugwwwwbg +guwbgbwgurgugrrubgrbbbrgwwwbruwgbrwbwuguuubb +wuubbrgggrggbuugrguuwrgrubgggwugruubguuwbgbuwwruruwguggwrw +urbrrwuuuuburwwwgrgurbwwwwbbwwwuwubugwuwggrb +grgrgwwuuwwrwwrwurubburuuwrgwruuwuuwwwrwrrgbgrbwurugrrgrgww +uuwurggbggbuurbburgwwubgwbbgwrbwwuwwgurggguuubwg +uubbbrggwggwrbrbbrwrgwgrbbugwuurbbgrwruwrwguwrwubwbbrrgww +wbwbugbrbbwuburgurwgrbbguwurwwwguwurwbrurbggwgbbrgr +ubwgbgbgrbwburwgrwurwbgbgrgbrwrguwruwgguwwgwbwbgrubg +wruububwggruggbggbwggrrwuuubguuwwwgwwurubrgrwbrgww +brbgruwgwuuuwwgrwguurruwurbubgwgbwbuwugrgrbuuuwwgbwbwgwwr +gggugwbwbggbuurggbwbgbbwrugbrbwrgurbrrubrgwu +grgggbrruwgwurwgwrruwgrrwuurrggrrwugugbwugwurrbu +brubugubruwbwrwguwrurggrbgguurrwrbwwrwrwbrbrugwgurbgguwuww +wgwubuwgwubwubgugwbwurbgwbuwugbbubuguuugugugrubwuggrrgrbgu +wwgbrbggugugwwgrbgbwwrwrrruwuugrbugrrrbggwgwuwwwg +grwbbguugugrgggwrwuwbwwugurbwbgrbwbgubgwgwugrguw +urgrurbbubgrwruwrguugrrwrbrggwwbruwbbwbuuggwrwgugwgww +uwuubrbuugwwbgrgbbgubrbrrgbbguugubrrrgwrbbrg +urgggbuwbbbwgbrguuwrgbwbwbgrwburuwuwguurbgbbur +brbbuuggbwugrgbruuwgrurrbrbugwubwrrwgubgbubgrwbgwrurwurg +bwwgrubwgwgrwuruguubwbwrguwwwggbrubbwubrruggg +uwgrgrrrggurggrrrrgbgbbbgubbbrgrubuwrrwgrrrrrwgrbwwuruggb +gbruuwwubrurugbwrruwbrbbgwgrrgubrrbrurrwbr +wrwbubuwbruwgrwgbugwrburrrrrrwwrgrurugrurwrrbrbgwb +wbgrwgwrgrgwwwrbrrugbwwgggruruwrgwbwrwbubwgbrrbgru +wrbbubgrgwrwwggrwgrbbuuwbwbuggrwurbbrgwwbbbrbgrbguub +gbrurwrrbbgbgugbuwrgubggrurwrwrrrgwgwwwuuuwruuwgww +bbwuwgbrgurwuwbbwrwuwrwbbubrgurwbrrwuwbbwrgwbwbggrgrwu +wggggwbgggwgbwurrgbbwbwrgwuurgurrububgbbbbrgrwruw +rgrugbubugwrwrburrwgrrrrrgwububwrruuuugbgwbwwbbgrr +wgrruwwugwuruwwbrwruruuwgwbbgrgurgubgrgugwuwbwuburrwrbubwu +wuwbbubrgugbgbuggwgurubggrrwrwrwgugurrwrbgubugw +rbbrruuurgwrugwubbrrrbwwrwrbgwgwubuurwgrbgrgrbbruwrgwgb +wwuwrugugbwrgbwgbgbuwrggruuubgurrubuwrurwwgww +brurbgggwrgwurrgwrbggrrbbbwbgbrgbwbuwugwbbgwbwgww +wbgbggguwwbuggubuuwurugubrbwrbwurugbrrubrrbwbbbwgu +wbgwuurwgubrrgrgbuuuwrrrggrggurwurwrrwrggrrbbr +wuwgguuggrgwuwwbgrbwwrbuwrbwbguuwubwggbubgww +guwrwrurgwrgguurrrbugwgurwrbwwubgggbugwgww +grrrbgbugwwggwugbbrrwurwgrrurbuubrbbbwgburgurbwgwwrbgwubgww +ugrrugwbrwbguwbbgrgbugwurgrwbrrbububgrbwgguuwgbuurbb +wgugrruugbgbwbrrwgbgwurbwwgwwwggrguubuwgburugugbbbubuuubrw +grbbbubgrgwuuwruwwuwgugrwugrwbwguuggwguugggwuwubrwbbgubgww +wbubuggwbwguwubbrubrgrwgwugurbuwguuuwbruuuuurbburugw +rugwgrbbgurbuuubgwwwgrgbgggggbwrbwgrwurrrugrwugrubrgbrgww +burbwuguguubrugwrrwurrwbggruuwwuwubgbrgww +urubuugrrbrwwbbrrrbbgrgbgwgrubrgwurbuugwuburrgbubb +bbrgrgugrbgbrrububurwrguwbgrbbbrbgbuuugugbwrubrrg +bbrwrburuwgrugrrwuwbuugwwbgurrwbrgruurbbgwb +wbgwwgubgrrbwbwbbwuwubgbggggububwuuwwururrgrw +rguurbrguwrrbbwurwgubuwgwguwrggwwuubbwrgwrrurwugguw +gbgbrubuugwuuwbwubrgggwgbwwgwbrrguurwuwuubwwuuwuuuwwrwgbuw +uburuurwbrrgurbbwrwuwwwgwgubgbuwuurguwbgwggurbbbbwgww +wurrugwbbrruwrbbrbgguuwubburgburrrrbugbbrrrwbrbrgwuu +rbwbbuwbwrbrwubgrgugbrbrbgubbgbgwwbuuwbbrgrwggbwu +wruuurburwgwwubrwuwrgurrbbrwwwwwbrwwwbbbrggbbubbugbuwbgww +ggugwwwbubbwurgurbugrubggggrrugubrwwggrgrbbgbububbwwwg +rwbbugbggbgrwgbbwrwwbgrwwwrugbuwuubuuuuwurrruwwwwggwrwuuu +wubbuurgrgbwgruubgbugugrwurbrgburubgugrwwrgbubbgww +wuuruuwubwguuugrwwrbrrgbrbwbrwgwubuwrrwubuguurwwrwgww +rgugbwrgubbgrbrbuwwubgrbbrububruwrbbuggbruububrubgugrw +gwuuuwurgbrgwrgguwwgugbbgurrbbbgwrgrggwguwu +wwuubrwwrwrbrugbwrbwuruwbrwrugwbbuuwrrrubuugrrwrwwgww +bgwgurwgwbbbgrwbbwwgbbgwuwuuuwwrgbubwgubbrgrbrwbgrgww +ubggbwrbwbwwbrbbbrwgbgrbrwbbbgwgrrwrrwgww +rwubrubgrrrbgwggwwbrugrubuuwbrrbggbuuurgwggwrbwgwuwugrbrb +buurgguruuwuubggwrrruuwbbuggrbururrbubrbrbgubrwbbgrrgbu +guugubwwbwgugwbrggbbgurgrwwrguwrrurgububbbrbguu +rburuwbbugbubbgurrbguwbgrgwbgwbrbwwgbrrugbugruggrgbu +bgwubburubruubguugbrgwgbbrrgrrurgrwubuubbrurrrw +rugurggbgbgbbbbrwubwgbguwrwgwgwgubwgrggubrrbb +wwwrwbrwuguuubrbbubuguwuugggrrgwggbbrrwbbgww +uugwuwugwuuugrwuwbwrubugbbrwgrrwwugbrwrrurrurwgrwurururgw +rggbgrgrburwurggwwbwwwwugbgbgwwrwgubwbwuwwrgbrw +rrgburrgubrbgubbgbgrurburbwuurrgwuururwgbuwrurruwbururu +bburburrurwbrwwbwggggrgwugrwrbgggburubgrwbgwwwwwuwrrrbb +gwrgrrwwuwbbrubbbwububwbbwwbguuurgwbururwgbgww +urgwrwrgbwuwguuurugwrbgbrgurbuwwwbwgwgrwrbwrguu +gubgbbbrbwbwwrbbgbrrwrbuggugwbuwbuubbubrwwwbbwbgg +rgrwrgrurbuugrrwrrgrrgbbwgwubrgbgbbgugbrubwbw +brbbwwgrrbuwubwrbrwbuwwrrgrrwbbwururgguwuubwrggbruuubbb +urrwrgbrugrbbbwrrggwugbgggbgbrbrggrugwbrruubruwbbb +bbbgwuruggbwrbrbwbrrbgwgwwbbgurguurbrgrrugwuguugwurbuurrg +brwgggguwwrgrgugwgrbwguwrggwuuwbguuubrburuu +gbgrrurbrrubwwrwggrrbbbugggbrwbwbwwubbubruuwgur +rwbrwgbwrurgurwwbburrbuburrbuubrwgwwggww +rgbwwbrbrubrurrguwguuwrbbgruugggbgugggubgbwuwu +uwubbbwuwbgbuubbwubbrrrubwurwgbgwurrrgrwwwugggbgww +ggrwwuurwgwruuuurgugurrwwrgwgubrrgugrbgww +wurbwbgwrwrrwubuuguwurgwgrgwguwwuuggwbuggrbwgww +rgwwgbwurbrrwrwwuugwwbwwwubbbgrugrubwgguwgwbur +rgbgurubuguwburuuuggbburuuurwugbgrbwwuurwwgurggbrrgurrruw +uuurgwububbruwwuwwbggugrwrbrwgggwugwbguggrbbgrrrbr +bggwgwuuurwuwuwgrwwuwrgwwuwrguwggwuwwrwbbugwbrggbrwgww +rbrbbbrrrgwrggbbruwuwurrwurwwwguburwgguwbgwgww +urggwgbubuuubugrbrrubwrbgbbbugwrbguugggrwgwubgwbwg +ugwbgbgurbgwbgrwrrbwrrbgbwbgurrrubwgbuwwbgwu +bgggrgbrwrruwbgbgwbrwggggrrrugbuugubbrwubbwbburbgrur +ggbgwgwuuwurwrrwrwbrwgwrurbrubwbbgrrbgggwgg +bwggugbwwruwbrbwrrwrbwbuwwbuburwwrrbwwuguuugw +rwbuuwuwburbgbuwbwwrbwgwgrgurbwuurrbrrgbbwrruwgrgburbgww +gwuwuurwwrbggguwruguwbbwugrrgurruwbuguwugbrwgrgrgrbbrwrbb +brrgwurbuwrugubwgurbwubburbwggrburrbbwgwbgu +uwgwrrugwwurburbgbrbuubgugrwurrubrwbbbgbbugwbububuwb +wbgurrrurubggrurgbbwrbbbbwwurwuwwggrwwrbbrbbuuwgwbwr +rgrbwgrburwwwurgguwubrgbbuwrwubggwwgwgrbwgwugbwww +wuurgwgrugrurwgurbrgguugubrbwugrwgwbugggbwgbbgwbrrbbbgr +brbuwuurwwgwrgwrwwgburrurgwrurwrrbwgrbbwubbgwrugbrubgww +rrggwwgbwbuubuwuguwugwguwuggwruwugbrgbrgrrgwgww +wwgguggwgbrbrruwbubwgugwggwwwrggrggbubbugbruw +ggubrwuwubgrgwrbbwbbubbuwgwugggggrrgugbbggbgwurbwrwwgww +rwwrwwwwrubwuurwugrwubrbubwuubuuggrgrwuubrgubgbuuwgbugwgg +rwrbburrwrwruubrbbbbwgurwrgggwwuwrbgwgrgrgwwbgww +rrgrbuwururuwbruburburguruggbugurgrrrgbbbugwgbuugurwwu +uuuwgrbuwbrwwurgwrrurwurbbbuggrwruubgbbrubgrurwguuubgr +ubrrgwbrgggbwbuguwubgggurwugugugbbrruwbgbwwrururgggbggwub +gubwugrrgggggbwgrwruwrrgbwwuuwgwgbubrwgrrrgwwwww +rbrwrwruuwwgbgubgwrgwuuwbuurgurggwbbwrguugrbrwrbrgugwrwgww +bgwbrwbwruruwggubuuubububbbbrggubwuwbgugrbrburgwwbwwwww +ruubuwrwuubrbrrruwuuwruwwgggbrugrbrrwgwwgugrgrbuwbg +rwwbbuubwwgguuubbwrgrbwwbrwwbbwwwbgbwbgwwbrrbww +rbwrgwwwgwbbgwbwugrbrwwbgugbwubwbuurggbugguuugwg +rrbbuugggwurwwugubburubbbbuggwwgburgwwubbrgww +gggguwrguuwbwbrwwbbuwurgggggubrgbgbbrgrbrrrbbubgg +ggwubgwuwwgrbggbwgwrwbuguuwbubrrgwubwwbuwuuw +rbugbrwuwwbguuwbwggrwrrrgwurbbbuwgugrubgrurbr +rwbrugguuuruguubggggbuurburwwrwgwwbwrggbgugbwbgrbu +rbrgwubguwuwbubruuwugubrgbwrugbwrgwrruwrrgw +buugurrbuuuwgwwggruuuuwwrbbuugwbgwbrbuuggwwgww +ugubururrwbugrbuuruwgwbwbuubguwwgbwrwgggggwgggub +wugruubwwgrubwguwrgrwbubwbruwwbrgubugbrugurrggwgugbgww +rbwgbuwgwrbugubwrgrbbuurwuurbgwgrwguwgwurwrgbrgwgrbwbrurw +rruuwguuwurwuwggrbwwuurgrgbbruwwuwwrrwbugub +bggbbubuggguwwugggwrgrgggbwwgwrwuburuguwbgrbu +bguwgrrwgbggwguwggwwbwrggbugrubwwurrbrwwbuuwrurrrwrw +burwwrguwrbrurgruwbwuwwuurwbbrruguguwbwbgrbwbuug +wruugrgwbrgubbbbuuuwrgrgburgrgbwgbrugwrwrrrbrurwbg +wrbuuwruguurgwbbrgwubbgwwuwrgbbrgwrbubggbwwgub +rgrbwwurrwgwgwrrubwugwgwbgrggbrbrbbubwwgbbbuguubwu +wwrgbgguwbgbururwwbrwwuwuwuuuurbbgwgggbwbbwubrrrggubwg +rbuwgrbubrruguwuggrbuwuuwruuurruuwrrubgbwgg +ubbrwuubgrugrguguggrubrgurrrggubruuwbgwgrrburwggbwrrbgbwrgww +wwrwrgggurbrwrwbbrbuguwbubgwgruguwgrrgubgggrgwubrgww +grwrwubgwuwwgwwwgbrburrgggbbwrwugwwrgubrbrubbggugurg +ugrgwggbrwrbbgrbrbuwgbgwrgbrgwwbruuguubwrbubrurwruubwwurwgww +rrrrubgwwrwurgbuurrrbrrrbbruwwwwbgurwbugbbrrrbgww +wgbuuugggburbwwggwbgugruggwbgbwugruwuwwwwgrwgbwuwr +bububuubwgrrwrwrgubruwubbuubwrguggwugbgbgwgww +rbgrbbugugwwwwubuugbwrruwbbubwbwwggugrbwgw +rguggbwgbuubwbgbuwgbbrbwwurugbbuwwrwgrwuwgbbwguruwrb +wbugurbbgwrrbuguggugwgwbwgwrburbwrugbrbrrwwbrrgwwgww +bgbrwgbrrggwwwgwrbrbggwurrurbubwrrwgbrwgwugubburbgugbbr +bbwrurbwbwugubwgrbbgbbwwbgrbgbwwbggwbruwbgrubbwrww +uwurbrwwrruwgwrguwuwuubgwrgbbwgruwggrrgwrwwbbrbgbgbguwrbgr +rggrbwrrrbgrbggguwuugbuubruwugbrrugwuuugwubb +uugbwbbgwrbbggurgbbbbgwrrwbruurgwgwgbwuubgguuubrwgww +gbwbbgrwwgugurgrggrbwwbwwrwgbbggwrbgwwgww +wuurbgwgrwbrwwgwwbgbggggrubruuubgbbbruubrwgguurbgww +ubburbgurgguuwbruuurwwgburrrbwuwbgruwuburwbwbwrgbrbgww +wbrbwgubuwubrrbugbuwrbbwrwbwwrrbwuruuwbuwbwrwburrrb +ugguuurburwubugrggburuwuuggwwbbwbrurwuuwbwbbgubw +wrbugwggrbwgrrgbwggubgruwgggwggrrgrwwgrgwugbbuw +rgbubwuugrwuwuwwrwurgrrubgrbbbbruuwgwuubrgr +wwgrwuuwrbrwwbuuuurrruruuuurugrbrwwwrguwrwuggwuwwwburgwbb +gwrrggbbggurwubggrurgwwwububggbguurbwwbgurwgrgww +uwuurbbbuguubwuggrbwrububgwbgrrbrwbbgugrrwbrwrbrrrrwg +guubggrguguwgbwrugurbrugruwrwbgbrwrgwwgurbruguubrbubr +wgwbbrggbbggrbwbguubrgguwgwrbbgrruwbrrbbwgggugrgrgr +wrgbrrrgwwbbrrgrgurrwbrgrggbrrgwbugrugbrwwbuwgww +rbrggrrwgugubrrbrbbgwurbbrgwgubrrwwrwwurrurbwwgbu \ No newline at end of file diff --git a/19/input.txt b/19/input.txt new file mode 100644 index 0000000..f733028 --- /dev/null +++ b/19/input.txt @@ -0,0 +1,402 @@ +wrgrwbug, uurb, rbubr, buggb, uuwwwrb, gg, wgburr, ubg, wrbuw, grrr, rur, ggb, bur, guwggg, rwbr, grurb, bgurguw, ruub, uguugg, bwr, brggb, rwuu, rrgbuw, bgub, wbbb, rgg, ubrgb, wbrgw, rgwwuww, b, buw, grb, rww, grurw, ggwb, rbw, brbw, gb, gwwr, bugwrg, uwbww, ggu, bbbbbbur, gu, ruurw, uwr, gbur, gbgbu, wrwru, urrr, bruu, wbbgrg, gwrwr, brru, buub, wrbb, wrb, urugbur, bgwwr, bwubb, wrbbbbbb, gggbgur, www, rbuuggr, rrruwguu, wgr, r, ggw, wb, gbgr, bwbu, wgwuugug, uuug, grgw, gbbuwrb, ug, gub, wbrbug, wrrgrr, rbuu, rrg, brbu, ugwu, bguw, guww, ugw, wwg, ugrb, ggrw, uug, uww, bbw, bwrw, urr, bwbuw, rbugr, uubbwu, rru, rbb, wbb, wguu, urb, rwbrubb, rrgru, ugg, rgw, gwbb, rbrr, gbwg, wgrb, wbbbbbug, u, bru, uububwwr, wburugg, wrgugg, urgu, uuuwg, grbuwwb, brg, grwubr, wbrww, bugu, wgwrbwu, urrbr, w, wubwu, gbgugw, ggrbwr, ugurrr, ubrgu, bggrb, gugwb, rw, uuwg, wguw, wuru, rugu, ubgru, bgubr, urww, buggg, wwb, gwbu, rgbbbb, burrw, ugbuwr, uwbw, bug, urbwgwbu, gubwuur, wbgrbb, wub, bb, ugbgwr, gwbww, gggbw, bggg, gbwbur, wggg, ruuug, grw, rwg, wguwbr, rggr, wugw, rbwb, ru, wrbur, gug, rbru, buuubwb, gbwgug, ggubu, buwbwr, gru, wuw, wbg, wbr, ubgw, brwugb, rbwugr, rb, wbur, rr, wbwubuwr, wuggrb, bww, ruw, rbu, wrbrr, ubwrrwbb, guu, brb, rgrr, wgg, bgr, ggruug, bgug, ugwug, rwrrb, grbg, bbr, ugrbbrgr, gwbg, wbwgw, wbbrrb, wwgw, rwrg, wrrugr, wg, rgrwwbg, guw, urg, uugbg, wwbw, ubr, rurb, gugg, wgu, rguug, rwb, wrr, ggbwuu, gw, uuwrwu, gbbugr, rwwrwubr, uwwwgg, uur, uuu, wug, gwrrg, gwu, gwurg, bwrugr, bgb, grr, wuuug, bgw, ubwr, bwbugb, rgwrwg, wruwgru, bbu, ugbuwgu, rbr, ugrw, bugub, rwuuw, grbbuwgr, wbu, gwb, guwwurwr, gbbub, wbrg, bgrbw, urggurw, ruu, wuu, wruu, gbwb, bgwug, rurr, ubuwgw, bwugggb, gurgb, rbbwrgru, bbrb, bubu, bbur, rgb, rbrwr, bbb, bwugr, ggr, wwub, ugrwbrw, rugg, rrrwu, wbgrr, wuwrr, rgu, gbb, bwuw, wbuwrrgb, bwwrgu, ururwubr, rrbwwuw, rwrwb, bwruub, wgrrg, brr, ur, uw, bbg, wbwwr, brur, wruwbb, wwr, wwu, uuwb, ggurb, uub, rrb, rbwr, rbbbb, rg, rgubbb, ubbgruwr, wwwgu, bwgbrrw, wbw, gbguu, wgwr, grurbur, wuburuu, rwgrgr, wur, bwb, wgw, rwr, ururb, gur, rrgwww, bw, ubgbru, rbwbgrb, wrbrb, wubw, wgbub, wrg, rrw, brbr, ugu, guuuugb, wurbgwgg, uurbbgw, urw, rurg, ubw, wgbu, rwguu, gbu, ubuuw, wubruru, bwg, wuuuu, wu, wuuu, bwru, uruu, gwr, bgu, wrgr, ggrugbg, bwgu, ggg, wwwgb, rgru, wbgbu, gr, ubu, guubwu, rgwuwug, bwwru, bub, gbuu, guwbwur, gubrurw, bwrbuwr, wrw, rrrrrg, rwu, gubbuu, uru, uwbg, rurru, rrwwbb, ubgb, rgwugg, buu, ggwwbr, uwg, bbwrgu, ww, urbgbbg, uggbrww, gwg, wbrr, rbrb, ruuwgr, guubrg, uwbbb, rbg, bbgru, gbw, rwrrg, ubrwr, ugb, uubgwru, buwbuwu, wbuww, rrbr, rwbw, ggwr, grrwrg, gbrgwu, bbbu, uwub, ubb, gwur, brbruug, gww, wwugbw, rwuggw, bbrbr, rrr, rbgggw, rug, ggrrbr, brrbb, uwu, ruwwr, rgr, br, rgrubgg, ugr, wgb, wwwr, ggrbbb, uu, gubgwgb, rwbgbr, wru, wgww, rub, uuw, rwubrruu, grg, brwguug, guguu, ub, bgg, wuwu, wr, bwbg + +rwuugrgubgwgbrrurggwbugbuuwgbugbuwwwubbwbbw +rubgrugwuwburwwrrrwggrrrbbwwwwwuwuggururgrurgwbwwwugwwggur +wrgrrgbbgwuwguruurwbgurgubgbwuwwwuburggbwggwrwwggbg +uwwgruguubwbbgurubbuwggwuuwrrbwuugubgwuwbbggwggbbrurwu +ububrgrburwrrbbbugrubrugrugrwwbwguwggwrrrurwwuuubgwwbbbb +gwrwugubugrwgrrrgrwbburgbbrgrbuwwgrggubbugugwuwbww +uwgwwrbwwurbrbburubbrubrguwbugbbbbugruurgugwurgwurburrbwrr +gggbugbwuuwbubwuwgwuggurwrgbbbuuwuggwbugugwr +ruwburwgbuguwbbuuggrwgrgbbugubgrggrbuwgrbrubwguwgubrubggbg +bgwgwubrwggwgbuwbuurgugurbburbburuwgwwwbrubrrrgrgbrgwwwrug +wbgurwwrrwgwrugwbgwbbrurgurrbgwwwurbwgrubgbg +brwwgbguubrgwguwwuuwbwuwgrbrrbrrgubgrgwuwugbg +buuwugbuurwugurugubrwburruwgrgwggbubwgwuwbrwguuugb +rrwugbwbgggguburuuuuwwrgubugrwwugwbgbggugrrrurugwwugrr +ubbgbrwgrrwrwrbuwwbbguguuwgwruwbbwgrgggbrbgwggwbwurwuuub +wrbgwwuwbbwbgubrbubrbwwwuwbguwgwguggbgbrburugbg +ggwuwwggwwgbgrbrggbguwrwbgguwggbbgrrwbbgwwuwwbwgrwwgbg +ggwwuggggbbugggggubruuugbrurwgbrbrwrgbwggrr +gggbwuwwbugwurwrbruugwgrbrugrggbgrwgugwruu +bggrgrgbrwrruruguuuwwwgurbrrrgwbubbwrrrbggugrbbrgrwg +ubrugrrrwwwrbbrwuwuuuwwguurbwrrggguugugubbwwgbg +rwrrgrwrguubgrbrbbggbwgruwbbgggwgrgrwbuggubwurwwbgbrubwgbg +buguwuuuruwgggwwbggguuwguurrruwwbugugbgbg +wguwwwrwwugggbuwubwurrbubwggwwrgggbgguruwbb +ggrwbwrugbuwgrbburugwgbgwrbbgrwuwbrwrrrrrbgbrbrwu +ggrggbgbrwrbuwgggwgubbgurbuwuwrurwbwrrruugggggurwrbggbg +bbbgrggbwrrwubgwrguuruwbwurrbrwrugubwwgugububggwrbb +ubwbrurggrwgrwuurgugruuguggwubuwbrrwuwrwrbgurrbrggbwru +ubbrggguwguwugurwgubwwbugrgbguuuwbbuubrbrwruburbbguug +ruwgbbuggwrrrbrruwrgrruurwgbugbgbubguuwguurwgubuwr +uwburgrwuuwwrrrbguurbbuuwrbbggbuggbwugbbuuuuwwggrrr +ugbwwgwuwurrbrbbbugwgbrrrrguwuwguwurugbg +ggrrwuubrurrbbwubrbrugrggbrwbgruwgbwwuugguwrwubuwrwrbgbg +buwgggwgguwrrurrwruuubbwgrgrgbwbgbbwwwugbubgbg +wwgggrbuuugubwurbgugrbrwrggwwgruubwrbbuuuwgbg +wrrrurruuwgwrbwbbgbrbbwrbrgbruuuwubgubgbg +bwgugbrruuwrrwbwwwgbwrwgbrwrguwbggugwbgubgwbu +grrrgbggwbgggbbwbbuburrubrguguuurrgwrbwrugrwububgwrrgbg +urbggrugbgruguwbwurbugbuwgwwwbuugurwguugrrbwgurbgbg +uwwrubrugwrrruwguubuwwruuuwurwuwgbbwbgbgwbuggbgubg +rugbrrgwwubgwbgbgwuwwwugwwubbwuwgwuuruguuwubwrbggbggwugbg +uubbwgbrwwgbggugbbrguggbwuwbgrbgrgurrurwwuwbrrwggggwgbgb +rbuuggguruwrbbgbwbbrbbuuwwgurbrrwbrrubwgbgwgrguurbubbrwrgbg +bguuwubrbgurguurgwbuwgbrbubwwgbbwuubwugbwbuuuug +rbwwrgrwbugbrrggwbwbwwwrwwggubuwrrgrbwwbggrrrwgwwb +ugggwgbbrrwgwgurubbbwgrbbwgguwwggrburgbuuuwuwrrwgwbwggwrb +rbwrbgwwrwrugrburwuwbwgruuururbwbbggbbgbgggbg +ugwrbwbrbgwggwggwguwwrwgbgwruwurggwwrwbgwgrguubbg +guwgbwrgwrurubwbgrwwrgurwbgubbrwbbrwbwwgguwrggwwrwuwr +grrbwruggugrgbwuurggugbguuwburgbbrgguggwubg +brbrggrgwguwwrgguuuwwurgbrrbwwwwwrbwwwurgrgubruwbwggurgrg +bburrurbgwguwuguguwgwruwrggbwubuwwubgwrurwrbrrbbbrgr +gruwguwrurwrwgwwgwbggugbbubbbwuwbguwbubrgrbrrgwbu +brbbwbbguggwbrurrbrbuwgwuwwgugwwbubruurwuuuggg +uwrbggggwwbgrrgbrurgbgugubrrubrgwrrbggrrbbgbrrbgbubggbg +wggbgwrwwruurrruugwgurgbrbwwgbbgbubwgbwbgrb +wbuuugrbgurbrugrruwwruggubrugrububwwbbwgbwrrbguwugrwuggbg +rwurgbgwrbubbwbgrwwruggrbguuwuwugbwurrgurrburg +rrggggbgggurwrgubwgbbwwugwguuubwrrwbbugruwrugbugurgwwwbb +uuwrrrwruwwubwrbbwwurugurbbuwwurbruwrgwgrguwrwrrwwrgrwbugbg +guuwugububrggurgwwugbwrwuubrbugrrbwubrwugbg +wgrbwwuwwbgwbuugubwuwbwguggbwuwrgbbwbwwrugr +urrrwrwbwuwgwrwgburruggbwuwggrwwbwgbwrwggwbrugggr +rgbwubrrwwwubbgwwurbugbrrbggbrugrwgbrugbg +ggwbwbubbgruwrrwbgrwrwgwuwgggwrubrwrubgbwwwbbrr +rbuwrrwggrgwubbrwwrwrbbbbbburbuwuruwgwgbwrurwgbg +uwbrbbrbrbwgggwuguwgugurgrrrwwurrwbuwruurrwgwbrburrrwug +urguwrrgbwwwubrbuwrguubggbrrrgbwrbbrgggruuubbgrrgugugwgu +rwrbrwurrrrwwgbwbwbwgbgggubbubggguwruuuwbrbguwrwugwr +rrwrrwbwwbuwbbwugwbbguuwbwbubgrgubgrrrbgwuuggwrrbbrgb +uwrgrrbbbruwgrbbrgwrwuguwrbrggwbbubgruggrgbg +uguugugwwubuugrrbwubrrrwrwgbgbbbgwwrbbrbgbg +bwwuruuwburbruwwrgbbwruwurgrrrbrbuggubrbbubgbrbgwgrruuubw +rrugubuwrggwrgbrrbuurbbwgbguguggggrbuwwgggwburbgbg +grwgburuwwwgwwrgwwgwrwgwugubrgrwuubwwuwggrwwrwgur +ruwugugbuggwwwgurugrbbrgrubrrrrrwgwwwugbg +rruwwrrwrbwugbwwguwurggruuurbbwggggggrwuugbgwg +ububuubbggurbuwwwrrgbuurbuggrgbrwwgggwgwwrgrwuwggbguugbw +wruwrwggbbuuwgwbuurburuguwwgbrguwgwuuurggbg +bwbbgwrbrbgrrbgbguuruwugwuubuguggrbguruwrruuugubgruwggbg +gwurgbwrgbgwrwbgbbgugbrwuuwggrggurbbgubrrugubwubrrwrgw +urbbuuuuurrbgrbbbbbburrggwrrbwrrgbwwwwwuggwwwwwbuuubuugw +gbggrwugbwrbuwrbubuugrbrubbgwgrubbgbwuuurrbrwgrrbwbb +rrwurbwrwurwuugbgbgbwbbbuuubgwwgurgwgubwgbg +ugrbwwbuuurubbrgbubwgbuuwbgwuwuugggwgbuwugrgubwgrwggbgbg +rgbrgbbguruubrgrbwwbbbwubgubgwgrwwgggguwrrbrurbgwrrggw +bwbburbgbwgrurgwrrguburrbwwuwrwrrbbubgwruuwwugbg +uwrbwwrrbrbbbrrbbbbbburugugbburugggbwuggbgbgwbwwbuuubbgbg +rugwgbrwgwuwubwwuwgbrgwggugubwugwrrwgruwbbgrgbg +rbrgrguuubgwwwugrrwrbrruuwgrgugubgwbuubwrrwbbbrrwbbgbg +rbgruwbggwbwgwgbrwurbwgbguggrwbrbwwuuwggbugguggggrwubrbuw +gwbwurrwuwgwgrrbrgbuuwrrgrwwuurrwrrburuwuub +wgwugugrwgbrbugbgurrwggbgrubwggrbuuuuwgbg +wguggbuguwuwrbwbrwgguwrgbwgbgrwruggurguubgruwbbugwwug +gwuwbbgburrrwbgrbwuguwubwuwruggrbuuuwruuwrrg +gwrwwrubrruwuwubrggwbrbubbbgrurwwrbgwgrgrbbwwwbgbrwugw +ruggruuuwbgbbwwurrwruwrbwbwubuwrbrbgbrwuggurwwwurw +rwrwbuugurwwuwwruguubbbwwwwgbrurububrbubwg +rrrrbgrwgrwurgwrbbwurbwgwbuguuggwrgbrwrwuuwwrrbgbg +ggrwgbgwubwbrrgruuubgwgggwwwrbgbugwrurggrbrg +buuwggubguwbgrbbggbwwurbwgwggwwrwurwbwubbbbu +ubwgbbwggrgwrrgbrgwwwrwrgguwubrbbrrurgrwuggurgbwwrwur +bggrrggrrrbuburwugguubbburgrbgurgurrwbruuwbrrwrwbrgrurw +wgrwrgrrwurgwgbruwugbuggbbwrurrgbrrwrwubgurrr +wwgwurubbbrrrurubwbbrubwrruwrbbwwwgbbbrburubuu +uguwwuguguwrwwuuuggbgrugubrggwurrrruwubbbgbrg +gubuwgwwgruububwwrrwbrbrwubbwrgwgrrgrwgbg +gwwwugwbwwugrwbwbrubuwwbrrwuwwgbrurbrwbrbbrwguwrrwwbbug +gbbrwwuwgrbuuuuuwbwbbbuuwrrrgggguwwwwwbgwwubgbg +wrbbbbugbuurwuuggggbrrurggrrgwggwgwgguuggbrrrgguuwurbrwrbw +rgrbuuuuuwrgwbbrugbuugububbwwwgbubuwbrurbuwwwrr +uuubrwbwbrgwubgbgwrruuuurugrgbwgbrrggruggrwuwwbrwgbg +gwgugubbwrrwgrburguwbgbbwggugbugwwruwwbgwwrwgubwruwb +wrwwgbwuwbbrwrrbbuurbbwrbubwrbwwugwrgbrubbgr +wgrgwbrrugwuwuurwrbgurbrrrbubuubwgrrruwurbrrgbug +bbrurgrgwwubgbbrwrruwbuuwgrbrrrrruwubbwgwgggbgruuggbg +brbrgburbrburugururrrrruwwbuurbwgrruuwwgbbuwwuugwwgwgbgrgg +uubrurrrubrgrwwwwwububggrggbuggurbbwrbuwbburbugrgwb +rrbbrbbwubrggbgrwbwgwgwugwgwgbbbwurwrgggrurgwurwbrrgrgbw +wwgbuuwruguuwwbwruuwggbbgwwguuurrwwbrurruuguubub +ggwbrggwuwwuwbbguguuggrugwbggugggrrrburguburbwbwrguwgw +buruubbruwrwbwgruwwuwrbuuwugrbrrrwgugrgggbruguwubbrurwb +wwrubbwggrwbuwrrurbbrrwurugbbwgrbwgubrrwwgwrgbg +rbguuwugrgruwbbbwruuurrgggrwwruggruuuurwuwrbgwggg +gbrrubbwurgwrwgubuubruwrbugbrwugwugbgbwgrggwgbbuubgwrb +bubwrwwgurrurubwbubrwuwuggwgrgwrrbwgwbwrrgrrbb +rrubuwbbruuggburwuugwwuubuwwuwurbgwgggwrwrgr +grgggubrgwbwwgggbwrwwrwgrguuwubgwuurgbrurgwgbg +brrbgrbwwuwrwuwwuwwgwrgugwgwugbgguwbbgurrgrwwuwgwubrbb +wrbbwgwgwwurbrrgguwbgwwwwbwwwrwwguggbuugugggubwubrug +rbbgubgwwruubgguwbwruubugruwuwbgwuugwgbg +wwgbuwuuuuugbrugrubgguuwrbgwruggrugbbbguggrburgubwub +buwugbwwrbgbbuugbgwwwuwgugbbubwugwbrrgubggwbrgrbbbrurwuwbu +bwruggrbwgggbugrgurrwurbrgbbgbbwgrwwrgruuwbbbgbuwrgbwuguggbg +wrruwrwwguwrgrggggwburbuubrrwwbruwgrwbbruwgwwggruwwgbgubg +bbbbrguruwrbruuubrwrwurbbbwwbguwwwgrrwgwbgbg +gbwurggbgwbbwruuggggruwurbbubwbrburgwbrbuuuubgbwgggw +rwbrbwgwwubrrrurrrubwbuwubgruguwgrwbggrwwrwubruugrbrggbg +ruurwgubuugwwggrrgrrwbgrbgwuburgugbwgrgurrgw +rrrrubbwbggrgrrbrrwbrbgrgrbgububgrbrbwbubuwrwbwugrgr +rbgwruruuuwrgwwwurrguurubrbburubbbggwwwrbgruwbgbg +ugwugurgwuuuuwguwgbugwgwggbgugrurwuwuurgwrgbgbbwuwuggbg +bwbrggwrbwbbubrbwwbbbgbrubwwrwbbrwubrruurwbbruugbugubwurgw +urggrbgwruurwrguuugrgwubgrbuwgwruwwwbugwuwg +bbuggwubwbggwwbgggwbbgbgbguuurbuwrgggbgbg +gwgugrwgrugrwrbrbgwuubrbbuurrgwwgbbruuwbwbuw +grgugwuwbgguwwwwrrwguurwgwruwgububbrbrggbg +uubugugwbrgububgrgbrwrwbrggbgrbbwrgrububwww +bgwurbwwgrwbwgrwwuguuwrrwrwruruggwgwgwbbbgbugbgbbbgbg +rbwrrggrguurgugwbwuurwwruwugburwrbruuugbuggrbbguu +wgrwgwgbbrgbwuwgbgrwrbbwwbgwrrwgwuuuugruuwwguguww +rugwwbwgwwbuwugrbwrbuwrwuuuggurbwruwguuuwruwwrgrbgbrubgugb +grbwrbbwwubgwbrbbbuurwuugbrwbwbgubbubrwbbwgwgbwwbbuu +rrugbrgrwwrwubrrrggrbrbruugwruuwrwrrwrggruwr +bburubrwuubwuwgubwbuubwbuubrwwggugbrrrurrbgbgbbbubbbwwr +buuurwwbuubgrruuurrwwwgwwwgwgwbgubwbrrbgwurbubwuruguubgg +rbwbrwwubrwururwubrbbgubrrbwwugbuurruwguugrwbbg +ubwwrbrruwwrwubgwrruwggbgwbggugururrugrrwwwuw +rbrwwwbwwgwguwgrgwurgrwububbrgwwuwugbuuuuggbgrbwwrgugur +bgwrbrrwrgrgrrbrwwugrrbubbrgwrwrrrguwwrbggrrw +uwwwrbwbrugrrbubugbbgwbwuubbrrgwrbbbbbbbrgbrwbrbuu +grgrbwugurggbwgwgbbgbbbrgbwgubrwbrgrrrrbwgrubwg +ugrbbuwbgwugbrwwuurrwwbbugruubwgbgwgrbwgbwu +uuwbgbugwrbuggwbbbugbgbwgrgbwguwbrbwrurwwuubggubrugrrr +grgggugbgububgwbgrgwgwbrrgruwrbubgrgrburwwrrug +gruwggbbugbgwwbbruwurbbrbrwwbrrwrrruwbwwggbgburggub +rgbbrrbrwuurubrwwgrguuwburrbbwruwbwrgrggbg +ubrwrwuubwgrruuurgrbgwwwrgrggwruuurrrwbrrrrbb +ggrbbbbuugrgbguurrgrgwgwburrrgwbgubggrwurwguwwgwrwbwrbruug +grrwrwwuugrggwbbwwwwurwbwbbbbgwgwrwburrugbbg +bwbgrurrwwgurwrwurgwwwbbwgrurwburbuwwuuggrgbrubrgwurbubu +urbrrwwbwwbwgbuwruuurrrbwbwrrrwgwrbuuwurbbuugr +uubrbgbubbrrubwrguggbubuwrgwgrggurguuwbrwgwgwwugwbbww +brgbwrbrwwwbrugguuwwwbgbgbgrurwuubbbgwgrugbg +ubbggrrububwbuuwbuwwggrurrugbguwwrgbbgbwwbbg +uubguburggrgggurwrwgbuggrbwuuwwgbburbgbbwuugrwgwrggruuubr +bbbgggruubuuwbruguubgwbrbgwgbwruwbrwbwwwggwwwbur +rbrruburrugrrggurugbuuubuggrbbuwgrbwrwrrbwgburgggwwwuubr +urbrrbwgbgrrgrwwrrbwuuruwubwrbrwrwwruugruu +bbgrguuuwwrwbrugbwwugggwbbbbbugbrwrbwwgwrrwwrubwugrbgwgwrw +wbguggrrrwrrbwrbruwbgggwwbgurgrbuwwgwgururbrurubggrwwbuuwu +wrubrrwggrgggwgrgrbbgwbuwrbwwrugwwwwbwburgbgguruubb +urbugrgbgrbbuwbgbwbuwbwwgwbbrrgggwgrgbgwwrbubrgwbrwr +wurgwrrbbbwrburgbgrubgurugbwgrgburrwwbgwugurwuuuguwrbgrugbg +gbgubuuwgwrurbgrwuuurwbbwggrrwubrruuburugrbuuguuguuugugbg +gbrrbrbuurguwbuwrrgbrrbbgwgwggwbuwgrgrwbbwgb +bbrugrwgrwburbrbburrurgrbggwrbrwrbgwrrrgbrwrgwgugbggwr +wrguwbgbbrubuwwwurgurrurbwbwrrbbggbbgwrrwbuuwww +guuubgrwrwurgbrubbguubrgggwwbwwurggbrwuuwuwwbrwuwbburbwww +uwrubwgwuugbbbwburgbuubwbuwbwwbggwbbbgwwrbbru +rbuwgwwgbrgggrgrwwuurrwggwuwwbrbggwbggbrgbbg +wgwwugbrwurguwuwubugbwgbwurbuwwguubrbbbrgubwgrbrr +gbrburgrruwubwwuggggugrbgbbubbgwuwbuguwrbbrbubgwugbwrr +bgbbrrbuuwgbubrwwrgbgrwwwubrrrrrrbwuurbgwubbgruwrbwgbg +grwrrwwuwwguwgrugwwwrbgbuuugubrwwgrbwwgrbrru +grwwwrbgggbwggrbgbwwrwwwbgbbrgbwuuruwbbugbgbuuuubwbgwgbg +bgbgwrrwugbrbwuggurruurrwuurggrrrbwbwbubwwwbgugggbugwrwgbg +urgrbugrgwguwgwbgbbwbrgwbbwggbuurbrbwwgwwuwwuuwurbwwwrgbg +bgugrbubgwubwuggrrrugwgbgwrgggbwbuwbggrrubbugbg +guurubwrbggwbrubuuggubrugrrbbwuggwuggggubguububbbbgbwuwr +bggwrwwrbwggwgwuruwwbububbwgurwurubruwwuguwugrurwwubwrub +wbwurrrgrgrrwuubbwugrrwububbwwrwgwwwbuwuwrgubrgguwrb +wrgrurgbbrwbugwgwwrbugbrrggggrrwrrrrrbruurbggggbg +gwbwuurbgrubrbrugbubbubbwuurbbrwbrwrwubggwubgbburwbbbrwwbg +wbuwgwgurgubbbuurwgrgwgubwgwwugugwrbuwuuwgbg +ggwgrbubuwggbgwbwbrwuugwgrgbrgbggwrububwgwuwuwbgubbgbg +gguwrbbgbgurbggwwgbugguurubruwrgwrguurgbg +rbbggbrbuggrgruwgwwrguguuwgbuwrwrbuwgwbwwuw +uuwbgrwwubwwwguburgbrwwubggwrgwbrrruwguubu +uubguwwurwrwwrgwrbwgurgubrwgwwrurrgwbbuuwrbubbbwu +buwbwuwbbwbbbbwugbuwwuuwrrgwbwugbwwuguwrwggrubwwuwggrg +wbwwrwwwururbbrugbgrbbwuuuuurwrgwrrbgrgubuugrrwwrgbwruub +gwrwwgugbggwbrgbwbrbgggurrrwbbuuwrbwrwgrguuwbrruguwrgbg +gggwurgwwuubgruggugbubbguwbgrguwbwwrubggguruwrrbugrgbg +ubwggggguguuwuruwwruuugguwrggrrurbrgrbgbg +rwuuuwgbggruurrwwgwbrrggwbwbrugrugrbrbggbbwbrgwubggbwb +uwugwuurwbrguuwbbgbrbwuwgwrruuububwwrrgrubwwbrgwrggbgbubbr +wggrbuuuuwuuwgbrbbubbuugrbbgbbwbrbuwguruwbrwrwgrgrrurgbg +rggrrwgguguwwgbgwbbrgbubuwgrurguugguurgwwwwgrgbg +wubgbbbuwrubuuruggbwwrrwrggrbrgburbrbuwgbuwwgbg +ugwrubgwwgwbuwgwurwuwrrwbgbrrbwrwrbggbbgwgwbrrggbg +grgwruuwwrugurrbbuwbwubrbrwbrbbrbguugrrrgbwgrrggugw +ggrgggbwrgbuuurugurbwurwrrrgwuburrbggwwbubwgbg +wgggruugrggurwgubruwbbuwbwruuwgbrugrbggrgbrbrugugbg +wrrrwgggrrrbrwrbrgwrgwrurgrgggwbgwrbbbrgugwwgwguu +rbgggwruwugugwrugburuwgrubbrrgubgwbbrgwbgggbbwgguwgbrw +buwwbugwuuwgubuuwbbgugrwbwggrgbruguugwgwwwwrruwbg +uwwrwrbgbrrrwgbgugwurgwrbrwgurburrbuwgruuwurbbugbwwrrrbrgbg +bgururwbgwubwwbrrurgugurbuubwggrrrguubugwbwgbg +uwuwbbwrgwubrbuwwrwbubwggwwrgwubgrbwuwbguwg +grruurwrrubrubbruurgrgrbwbgbwgurbbruwgbbruubrgrwu +wuwrrrwubggubbwgbwbbbrbwbgwrrgbrrgubrguuruwgrbgw +rwbrugugubwbbwbwgrgwuubrbbwuwwuggrwwgugugubr +wugubwbgwwuguwrgrggwwgbrwgubgurwbrubgwrruwgruwwgbgbg +wugugubuurwbrgrbrwuuubruuuurgurbuwbwuuwbrrww +uwwrwrrwuugggwbrwrwggrbubbuuwbwwwwbruwuwwrgbgbg +burrwugbwrgbuwrugrbbbgubwuggbgrwbwubrugrbu +gbuubrubrwwwgrugrgugrguuwwrwwruurbwgwbuuurbbuuwubrb +bbbgrbbbubrwuurgggrbwruruubrurbwwwruuuuwggrgbru +ruwwwbwggwbwugugrurgwbubwrubgggrubwrururrwuwuuu +wrgwuwgwrwwuwgbgbuuruwurrrgggwwubwbgbrgbg +uwrrrggrbwbuubbbrrgbrguwbwwuguwrubwgwgwrbwurwuugwgbb +ugwrrggbgbruggbggugbbbuwruubrugbgrrwbwrwbwrrbgu +rurwugugrurwgwgrwgbuburguguuwuurbgbugguwugurrurgbg +wggbwrgrgwuwggbuurbbgugurbwubrugrbburgugrbrggwb +gbugbbgbuwbrrubwgrwwbwgrrbbuurbgrguwguuubwb +wrbbrwwuguurrwbrbwgurbuwrugubgwbgbgbubbggbwr +rgwrggbwubgubruurbugugugurrbrwggrgwbgbwrgrgru +rbububggrrbbbubbuwgrwuurbburubbbwguuwubwwburrrwu +uurrruubwggggrrbruuuwgbgrbbbwrbrguwgbwgwwrwbr +bubwgrguwrurrwwurrgwrbwbwggrgwggwruwgrrguwbggbbbguurwbrbru +ggrugubwuwrwggwbubguugrwgubggbbwgugbwwgbguwbuururrwurgg +ubrrrbuubugururuugggruwbbwurggwwwruggbwwwuu +ruurrbwrrurwrubbwwgrrgbgururgwbrruwgrwwwugwbuwgug +wrrggurwubrgrrwburggrbbuwgrrgbuwbggrguwuwgwrwrrgwrurbbgbg +wrwbwbuurgugrugbwwbguuwwgwbuggrwuurwwugbg +rbrbrbwggbbwwbbbbbuggwbbubuguwwuugrgbrruugggbbwbwwrwgbg +rwrwuwrwgurgugbbrrwwwugrbbwbrgbugbbgbrurrgbg +buuubwrgwwbrrwbwuwrubruggbwrbruwggrgrgwggrwggugwbbgguw +urggwbugguugubguwruwrbbgbgbrggurrubuwrgbg +wgbwggwbrwgbgruuguururrbbrgrwgwbwubgrrwguwgwuwuububgbg +gwwwbgurgbwrgwbuugurwbuurrrwrgrggggbwubwwgbg +bgbuwbgwubgbwgwrruubrrwwrrruwuggrgbrrubbbwugwbwrbgwgrbuu +ururubwbugbuwrgrwgburrwuurgwugrgbbgguwgguruwwbuuwgrwbrrbb +rgurgruuwwwuubbbbwrrrwwrrrrgrburrguruwgggwwwugbg +bgrbwwuuggrbwgwbwbwubuwrbuurwugbbbubrruubrgbg +uubugurrgbrguuruwurrwgbuuuwwuwbrrubgbgwugwgwbgbwubwwgr +gbgwugwwrgwgwuwwurrggbrugrwrgugugbbbwggbg +rbwuggbwguruggbggugrubwrubwwgrggbgguburuubbrrururwubrgggbg +bgrwuurubggwrrguguwubbguwgrwgbgrurwugrwgww +rrwuububrbbwgbwrrugbwbwuwugruwugbuwrbwgwrgw +bbggbguwbbbuwugbguuuwgbrguwwgwwbbruburgbbbbrurrwburuwggbg +bgurwgrurbwwurwrgggwrgbubugwuwbbbrgruuugrrrruggbrggbg +wrgwubrwwrrbubwuruurbbgbuwgwgurwgwggubrwrwbruuuwrug +ggrbuggbbbwrubwgwubrbrbburbgbgwrbwgwgrgggrbrwrgugruubrbb +rbrbbruwuugrrbgrububrgrggrurbrbrwbgwbrbwuguwgrwwwub +wgrrbgugwurrubbwrwgbuggrrurbgrrbwwuuwurwggbbwwruugru +brwuuwwbrrrbggbuwgbbgwrugurwuwbwgubbrgrgwgbbbgrugbg +uguwuburgbrggrrbubgurwgrbgrwuwuubrbrwrwruwwwbwgwrbg +rbbubuwbubbbbrwubbwrbugwrwubbwrbbgugbgwrbwuwuwgwrw +uuuubwbrubwwbrbuwbrgugwubrrurbgugugrbrbbrwggrwggrur +gguuugwwbwrbrgwurwwurruwbgwurgrgrbrgbwubggrwgbg +gggwrugrbwwugwgwuugugwbugbwwggugguwguugwwuwrbrgbbrbbrwurgbg +ubbuugbgbubwbuwwgrbgrrgbbwbbwrrgbugugwugwgggbg +guburbrrbrwubbgguguurrwuubrbrwrgbrbguwwbrrrb +bwubgbwwrwbwbgbubggwwwbgbgurruugwuruwugbugwugurbugrgbwwbgbg +uubrgrwwrrgrrbubrrbwggggrwruwuurrbbrwrgbwrugwbwgbg +uubbggbrwugwgbbgbrbrgbrggruwrubbwwwuurgububuwbrrurubbugbg +wwgwgwgwggrwruuwugbbrbwwgbgwugbgwwbgbuwbubuuguwwgruwu +wrrbruruugbugrwurbwrrwuwuguurgrbugrrgbwurrggugbg +gurrrwruwwruuwrgrbgwbbrurgwwwwwrgrrwrubwgggbgwbburrbguww +wwrwrubgrrwurbgbbbubrgrwbwrbrgbuwrubuuggbg +grbwgwgrbrbrwwbruwgrubgubuwrrrrgbbrugbubrwguuubbbrwgbg +brwuwwwrgggrgubruguurbwbrrrwbwrgggbbggwrgugbbbgurbggrwurwg +wrbbrwrggbbguugwugwgrrguwugubbbwgwwuggggbubuwwbwgguwwrrwbu +gbgwbrwrbgwbwbwwgwgbuwbuwbgbrbrbgbbbrggbg +bububbwrwgubgwwggbruggbbrwgbbubwbwwbwbgbwwwwwwwbrurwrr +rrgbgrbbubrbwwbgrrggbgrgwubgbugurwbgurgwwbuguwwgbg +bbbggburbwwwwugwuubrwbgwbwbgruwbrwubrrrggrrwrwwwrrgwbgbg +wwwurgbbuwgbgrurgbbgwguuuuuwwwrubugrwuwwwbrwwbggrggbg +urrrubwburgrbwgburgbbgrgrwrggrrbgubwugbg +rguwrwgguwuggwrrwurwbubbuwrbwrrrgwrugrrubburrrbbrbgbwgbwgbg +buwurrbgwuruwbuuggbwbggbruggurguuugrrbgbg +guwuubgrbwrwwbuuwuugbbbrwbuubuurugrwubrguuurwuuwrrbuwrgbg +bbubgggwuugwrugbubbguwwrgubwrrgburgwgurugbbbgubwrgbg +ruruwgurggguwrugubgrwrrrwggwugugbwgbgwrgbbuuuwrw +rgruuwugwugugbgwwwguruuguuwurururbrbbuwrwurgwubgbg +ggwgguuugwwwrbuuuurbbbwwwruwubgbgrgurbwugwubuwwwggg +gburgwuwrbbrwgwwgbgbwurrwbgbwbwrgbgwrrbrgwwgrrwrgggruugrgbg +wbbguuwuurrugbwuwuubwbbuuwgbrgbwwbgwururwb +gbwwwgbbggwwgbwurrgrbwrrbubwwgwbgwwrwwbwggwbrwgbg +wwgbwwuubwuwrbugwrrugbguwbbwgrwbrwbggwgbgrgb +rbbgguubbwwbubgbwgugugwuburwrwgwwuwurrbrbuwurrgggbgrbbwrg +urwgrwrbrgggrbuugbbruwubbgrwrgurbwwrbgwbrwrgbbgubbbr +bubuwwwwrubburgwgwwubwuwbubruwubrwwgggrgbubwuwubwuwuurgrub +wbbgrurrwbuwrgbbbrrguwwurwrwrrrwwwrbubwguguubbruwbrurrgwrgbg +uwubwwggrurbrwguubrrwgrwugrugwbubwbbrbuubggbg +bgwuwruugwwwwbbwbrugurwguwugwrbuguburbbgrgbrburwwrugu +urugrwwgwggguwgbrbwrrwrggrwuuguruwurgbuubrggbwgbgrruuu +wurggrrurubwbuwwgbgwbrbuwrwuurrbrrbrrwwwrgbg +wwbubrgbbugruguuuruggrwrwgburwwwrbwbrubruwwubgwwbwgr +wrrrrggrubuuuuuurggbwwgwbgwubbgwwbrrbbbgrbgbwubwbugbg +wbgrrgrbwwbugbbbbgbgrugbrbugwuwubuuwgwuubwgbgwuwgbrrww +bwgrrbggbgwrwugwruurwbwugwugwrurrwbrrguwrwwb +gbgurggugggubwwgwgbubggrgguubwbururgwbgbubbbwr +gbuubwgugubwwgwguuggwbgwbrwgbrrggbwwbgbg +wwwgrbrwuuuwgwwgugbbrgbgbbwgbgbrwguwwgrrububgwwgbbbbbb +uruwggrbrrwuruburrbwrwwwgwuwwwwuurwgwugrbwwuubuwg +rgwugrbruurgrrwbguruwwgubbrwrwbgubgbuuubuugbggwrg +brgwgruubuuuuggwuwuggrwgrbgbbwwuwwrgurgwwwu +bgrrgurrgwbbrrrwuugugubwgugrruuwwuwrwbwbgb +gburggbrugbbbubwwwruwurgwubbbubrburgbuurgbggbgb +bbgwbbbwrbuwurgbuuurbwgbbgguubuwgbguggbwbwrguwgrug +wuguwwwubwrrbbwuuwbgbwguwbgbuwubgbubbgrbwubwrburgwg +wrwrgwurbgwwurubrbwgrgugwwbrrwbwwwugrrrwwbrbruggur +uwgurrubgburrguuuubuuuuggwrwgwrbbruggrrwggbgubg +wgrwggrwrwwwwbbgbuuurrrbggbgugurrrrgrurggg +ubwgwbgburrbguuguwruubrbggrbggbbwuwubrgggb +rwguwrurburbwwubuggbbbubrugrbbbbgwggwrrrwrrgubgwwgww +ggguurrrgburgrbgggbwuubgrruguwwugrggrwrbgugrbbbrgrgu +bbrrburrbbbrrruurgburgbwrbuwuubbugwwuubwbrugw +brbwwwuugbggwurgbwrwrrwurrurwwgggurwwuububbwbwugbuubrr +grwwuuwuwbgrrwgbrwrwbbgggrguurgwgbuubwbgrgruwbubwurbgwggbg +gbubgbwbururrbwrrbuurwrburrgrgrgwwrrurrrrbgbg +guurbguugrgbbugwbbwbbuwwbruuuuruwgburuuruwggbgrwrbrwg +wwgrbbuwbuwuubrrbwwrbrgugububrwggrugbwrrurugbugrwgbrgubbub +ubwwrgugrurbbbbwurwrubuwrwgwwurbuubuwbgwuwubwubgwuuuwuwwbgbg +wgwgbgrwgrgrubuurrwrgrwwwbgbubbwwbrgbgwwrrwurbwrgwwgbg +rrubwubbgggrwrguguguwggwguwrwrgwwggrgubrwbrbwwugwr +gbrrrwuggbgwugurubrgbwrgrbwubbgbuwbggbgrwbrrbbrwggbug +grbrbrbbwgruurbbrgbrwgurbubuuwruurbwurbgbwwwbuwugrg +brbbrubbuguubwgugwururwgbwubguurgwbrbbggwurrgrwubb +wbgwgbwgbbggrwwbubwurbuwgwwbuwbrrwwgrwrrgbuuuguwwbubwugbg +urbgbbuubgburwgrubguggbbwwggburgrbuuurgrbuuub +grbggbwwuggwrbbgrwuwbrguwwwbwrbbbgrwrguubrgrbrwggbbrurgbg +rrbwwgbwwrrbrgwbwururrwgrwggbwrbruubrrgurwurggrgubgggubw +bgbrrrgwrbuurruuuububwgwuuguggrrbbwbggurrgbgbrgrrwggbbgb +ugbbbwuwbrwgbwbggubwwuuwwrgrgwrburgbwbbwbuubbrwgrrgwr +buubrbbbrwgwuurwggggubgrggbrwrbgbbbbbwrruuuggbg +ubuggbwgbrwrgguguggwurrwrrwubwguurwbwgwbrwrubggubbw +bububuurbgrwrrwrbrurruguwubrbrggrwrrwgwurwbguu +rubbwrwrwrrgrubwwgbruguburbrbwwrguggrbbwubugrrgwuwgrggbg +uwrrruugwgwbwugbrwrbrrburubggbrubbgbguwruwbwrwubgwggwbbugbg +gwugrguuwwbbgubbrgguruwwwbguuuuwgurwuwugubbgbg +wurrwubuubuwuwbuurrgugwuggbgwrrwbgbwbwguugggrwwgugb +wgwgbwwuggruguruuubgbwurrwbbbwwbrugwbgggbg +wrwubrubruuubrrgwugbbrguwugrbgwruwburbwuwbrgrubbrwubrrbub +wrwuwubruggugrruwbrgbbbgbgbuuurwbwrwgwbuwuugwbbuwwwrbggw +rruwbuuwbrbwrgrggwbuurrugruububbwgwbgwggubgubbgwgubgbg +buwwgrgwurgbgrbgbgbbrrggbggguwuwgurbwubbbrwbwwuwbu +wwbrggrgurwruubbuwwurgbrbbrbuugwbrbwburbgugb +bgbgwugwrbburbrwwwgwuwgurwruguwgruuguwgruwbgbwugwb +uwwgwuwgggwbrwggbrbbguwrgrbrggugwrbgbugugwrwurrbubb +rgbrgrrrwrgrwuwbrrurugurbgbwwwgbuwbrbuugwgrrbwbrgbugbg +gwrwgbgrrgbbbbggrrwugbwrwggurbrwrwwbwggubgr +bwbwrbrubwrwuwrrbuwbrguwrgbbuggbubrbugugbrbbwrgrurrgbg +uuwbwrgubbguubbbguuwugurrurwwgubrbgwgbwrrrrwwbwuuuuruwgbg +rbwrgbgbrbuugrwguguuwwuwubbrgggbgwrwrrwgwubww +bwwrbwrbbwruubuwrgrbgbwwwuwgurrurrwrguburubuwgbg +bgbrrbbrwbuwwgubrwubrugurwguwgugwbwwrubwbbubrgbwrrbwbuwrrgbg +bggbruggbwgrwugurbwwubuuuwgbgwruburgbrrwbwugbg +rwguwwrguwrggggwrgwrgwwwbwgrggwrubuuubwuuggwwugrbwburrw +uwrgbgbbgbbwurugrwwgburgubrwuuwbbwwwbrrrggugrruwugugbwg +uuwwbgruuguwgbbrrbubwubbgubbgggbgrwuuwrrgggru +ggbugwurwguwwgrbbgwrurgrbbgrwrguwwrwwurguwgrbrwguugwbrrgrg +bwrwugburgbbbrbwuugggrrgwrubrrrgbwrrbrwurrrwbb +wbwbgrrrrrbbwbbrguguwgururgurrwgwgguwburggggburgwguu +uuurgrbgwwrwwwbrurgbggubrrgwwwgbwgbuuwbbbwwurrbwbgbg +brubbguwgrugbrbugwrwwbguuugwrwrrwbrrgwbwwwbgwwubwbuwwurrb +wbrwbbrurgwguubwrwrwbbuwwgubruwrrgbrugrwwrbubwgbbu +guwgggburrwwbwgwggbrgbwrrrrubbggbuurguwrbbgrbwwbg +bwuwguuwwugrbgwgwubbguurubbbbbwrwggbggwurrugbb +brwgurwbwrrgbguwbubrwgrbrgwwbbuwwrburgbg +ubuuwgwgruugrurgububrgwubbuuwbwruwbgbgrwurbugbg +wuubwwugrwwbgbbubbguwgruwrbgwguurgbrubgguwu +gbwrwggrrrwwgurwurwwruwbuburrgurrwwurrbbgbg +rbwbrruwwwwwgbgbburrrrbwurwbugbrgwwgwrwwurbuggr +ugwggugubuuuwuwgubggrwgrugwrwubgwgbbugrwgbg +rwbggrbruubbbwgrwuwbrwrwbgwrbbwrbrwgggugubgbwugwgugugbruub +gwrbgrrbbburwgwwbrurbwbwwuguwrwrbgurburwbbrbgugwrbu