diff --git a/2024/d19/ex1/ex1.py b/2024/d19/ex1/ex1.py deleted file mode 100755 index f8195c5..0000000 --- a/2024/d19/ex1/ex1.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python - -import functools -import sys - - -def solve(input: str) -> int: - def parse(input: str) -> tuple[frozenset[str], list[str]]: - towels, patterns = input.split("\n\n") - return frozenset(towels.split(", ")), patterns.splitlines() - - @functools.cache - def is_possible(pattern: str, towels: frozenset[str]) -> bool: - if pattern == "": - return True - return any( - is_possible(pattern.removeprefix(towel), towels) - for towel in towels - if pattern.startswith(towel) - ) - - towels, patterns = parse(input) - return sum(is_possible(pattern, towels) for pattern in patterns) - - -def main() -> None: - input = sys.stdin.read() - print(solve(input)) - - -if __name__ == "__main__": - main() diff --git a/2024/d19/ex1/input b/2024/d19/ex1/input deleted file mode 100644 index fd5f64f..0000000 --- a/2024/d19/ex1/input +++ /dev/null @@ -1,402 +0,0 @@ -wwubu, guw, uguggg, bgr, rgbrg, bbrb, rwgru, bwgr, uwwbuw, rwrbrgb, ggbrbuur, bb, ugu, grurrr, gbwbwb, rgbrb, bgrwrbu, bgb, wrwu, rwwr, wubr, bug, wu, brwu, w, grbw, uwbgg, gggwrggb, rurgr, uuw, bbw, wbg, bgw, ugw, brb, uww, buww, uuwgr, buu, rrbugw, ggggbgug, wwwrbbr, rgbbr, ugrr, wgwrg, bwuubub, uugg, bbrgg, bbugw, wuuwb, uwr, bugww, rwrrbbr, ugwrrrb, ubbr, rrwbgg, wb, wgr, gbrb, gwgg, rbg, bub, brg, bubr, ugggw, uuugbbb, grbug, rbww, rg, wgwwwwg, wgb, brugbbb, wgrww, bbrgrurg, ruu, brr, grgwg, wurbb, bww, ubwgr, bburwurb, urrrrbb, rgg, wwww, gbgw, rbrb, buw, wur, ruugugb, uwugg, rgrrugub, ggg, ggr, wrurr, bgg, uuru, brbg, rrbb, bbr, gbbu, grug, rwrrug, ggubub, ggrgg, uu, grb, rrrwwbg, ubbg, wgwwrgbr, rbug, rwrgwbrb, wubwgu, rrw, ruw, rbwubwgr, wwugg, bbbu, wgwr, rwgb, ruwg, rrrb, ubw, rwgw, wbr, uwgrb, rbwrrrru, guwbwg, rgbwr, wbu, ubgu, uruug, urbuuruw, rug, wg, gugbw, brw, wgrb, rbwu, wrw, bgggr, rubu, ur, uggrur, ggwbbuwu, gggr, gwu, bbwb, rrru, rubgb, wub, rgb, rbur, wuwbb, rbb, bwb, wwr, wubrwb, bwwwg, wwbwww, ugrrurw, grg, gwuw, uwwww, ubgb, gwr, gwuurgg, grwuu, gbru, rbbrrg, r, rgbrrg, ugrrubr, bw, wwbwbg, brbwbwr, rrrbg, rggb, bgwu, rrgrwwb, wrgrrb, grw, ubu, wgrugw, bbrugug, wubuwrb, gbrr, rrbg, bbg, bgrwg, urwu, uug, gruruwb, bur, rbwrguw, gbbuw, wubbr, gwurrw, rurr, gwrubb, wwwrw, wrwrbbr, ubbru, gbr, rwg, rrgwgr, ugrwwg, wwbgbr, wwubuwu, uwbb, gggbb, bru, uwb, bgru, wgu, gbrgr, urrwb, ub, u, bgrug, rrwr, bguug, gwbb, uuu, brubwg, bwrwbu, ruggur, gggww, rgu, ug, gur, wgurgwb, uuwwb, wbwgr, gbrg, rru, uuwurrr, rbgbw, ubgwgw, wgwbgu, brbwgg, uwwgw, rgww, buuu, uwu, wrgug, gug, rr, gggwb, bgu, grwg, wrwr, uub, gbuwwrwr, bgug, bwg, ubg, urrb, bbgggw, uuurb, ggw, wgrbwrg, bguw, brrrb, gwrbr, brbw, ggrrbu, uru, wrrbg, ubr, ggrr, ww, wwbgwwr, bgrr, wugbrwg, rrrrg, rww, wrbg, ubur, gwb, rgw, bubgbw, gbb, buuuuur, wwu, uubwww, buwg, ugbg, wgrwbub, wurwuu, bbu, wuru, ggu, wguwgr, gbw, gub, grr, rubgw, urrurb, wbubrr, grgwwb, gbwwru, urb, ruuw, urr, gu, bwrbwg, wrr, wru, wug, wbuwwwwg, guugu, brwurrb, brruuw, wuuuu, rbu, gwg, bgwg, rgr, bbrw, bu, gbbg, bbub, bwr, buur, wrgg, wwuurbug, bgbu, ruburubr, bwurbr, rbr, wgw, gwwug, rruu, wubgg, bwwg, wgwbwu, gwrr, wbbrrb, rwbgbbbr, gr, rwuw, rggbur, gbu, uggb, gwgr, guggbuu, gugw, brgww, wuw, rbubgbu, wgwbrb, g, urbb, gb, gbwu, uuug, ggrbbw, wbrrww, wbw, ugb, gbg, ugr, ggwww, rwr, rbrbw, wrg, wwbr, uggu, rrg, gwguuuuu, bbwuur, rgru, bburww, bbbg, wbb, uuugww, bwgg, bgggw, rugbr, wugrbwr, urw, bwu, uur, gggwrw, buwr, rrr, wwb, wgbw, urg, uwgbw, gru, bgbgurw, rwrrgbub, rwrw, buuug, wggbrgw, guu, bruuubw, gw, wuu, rrb, uuuwg, uwbugu, ugbbrr, wr, uw, ruwbw, wwg, ubru, guub, wrrwg, www, bbuuuw, guruub, wwbrwu, rwgbuu, rguruww, bgggrwr, bg, uwuwr, ugwub, ubgbu, ubbur, rub, gww, rw, urrbbbbu, urrbb, wuwu, ubuggww, bbbwg, ubugg, grgb, rwu, rugbug, ugg, wgg, gg, ru, wruw, wrrwuw, rubg, rbw, rwgwr, uuruu, ubb, ggb - -uwgwguuguruwggwbrbwurruwgwwwurgbgwggwwbbubgugguuurgugugwu -gwwggrgbwbbguwgbguubbwrbgurgbburrgbwruwgurgwgguwbwgbgrr -rgggbwgwgwuubwbwrrbrrrurwuwurgubuwrbwrbbbbr -rguruururrwbbrgrbgrbwggrubbggbrbrugrgugggurubrbuuw -rruggbrruruggubguwrubwbwuwgrwrguuurbrrbbbggbrwg -wbwurbbrggubugbrgrrbuuwubwurrwururgbgbwurubbuuwbuw -brbwrrruwrrrubrwuugrbuuwuuwrwrbrrgububwurugbwwrb -rbbbuurubwubbuguggrgwgwgurburugugwbgbuwbwwrrgugg -wrbbugrwgwubgugwrruggwwggurrwuugrwrwbrwgrww -gbwbugwgrubbbbburrbwugbwuugrbbwrrwbgrwubgwgbbb -urgrwbruurbbururwrwwbbubgwbwurbwguguwgrbrgugugwrburb -wubuubwggrgwgbgububrwgwbbubgwgbwwwuubrbbbuwbr -wrrrrurbwubwuuggwguuwwwububrwrruwurrbbbuubggwgrgwugwu -brurwwrbbuwgugbruurgrrgbuuwrbwrugurrwrurrrbbwrwbrrgrwuwg -urgwuwwbwwrbbwbwgwgrrbrwgubbrbgwububbwurggbrgrggbrggrrrwgg -uugwrbwguuwwgbwwwburburbwburwgwguwggwggwbbbuburrubgbbguugg -wbwbguuuuubwwbwgrwbwgguguwgbbggwwwurgrwgrgbgggurbuwugwrbu -uubwuwuuwggbbruwuwbwbgwbwrrguwurubbguwwgbug -bwwgwwubbrrrrwuubwbwrruurrwwwwggbgbrwububwwurbggwuwbgu -bruwgrwwbrwbgruubwbbbugwrbbgwguuwguurbrwrb -grbgwuwwrbgrwgrwurrwbbuwwwwwbrbburrbrwbuggrgwbwrb -wgggrubbbwwgwgggwruururugbrguburrwuwwurgggubrbwwgrwrb -wurbwrwwugrgrgruruuggbbggubwrurbrgrbwwrbrrw -uubuwwurrrrurubbbrrugugubgbruubbrwbuwugrwwgwrrbrwggwrb -ggbuwrwwwbbrgruugrrbrbuurwgurwgubrggguwbubrrbbwgwrb -ugwgurwrwwbrrbwrrrruwbgrwrurrrrrgugurwbuuubbubwwbgrrrbwrb -urwrbbrbwgurbuwrgrurgwggubbwubuggrgbuwgurbbwwbbwwubwrurgrw -bbugbwrwrrrwbgugbgguuwwbrwbbwgurubrgugrgwurrbb -uburggbrbuurrbbggububwbuuubgwrruugbrrbuuwb -rrwuwubggwrwruwrgrrwrwubwwrbbbuggbrggurubwubwbuggwu -rwwuuubguwgwuwgwwwggwbwrubbrguuubrurbwuggubwbruwrb -ruugbuurwwwwrwuwurrrbrubugubwrwwwgbwbrbgbwb -wrurbuuruwrbwgrbgbbwgwrwrrrwgwrurbrbuwrwwgbgwgrwgu -bbruguugubrrgrgurwwggwurwbgwbwbbuugwwrbwubwgrwrb -bbwgrrugwgrbgwbbugugwuubrbrbrbbrrrggurgbbwwuwrbbuwbgw -rbgbwburggggrbwubbrrrrggbuwbguggrrbuwbgugbbrgwrb -ubgwuwbbgbubrgbububwuwbbbburwurbwbbuburwrb -bbgubwgruwbuwbwrwrurbrbrubuwbgrugwbbggbwgrwrburguggwwg -uwuubwuwgbuurbugubbgguburbugugrrwbrrurgwrwgrgbb -wwuuugrwuwurbgwwbrbwguwugbgrbgwwbgrgbubrrgrbbgwrggwgrwgruu -bbbwurgwwbwurwubbugrwbwbgbwrbwrwububbgbgurwwruwrwrrggrugr -bubuwbbwrgrwuggbgrgwbbwruubggubuwguwgrbrrguwgwubbbbubugw -wbwbguwgbrgwgwrrurwwrrrgbrwubrgwbwguwbwwuwgugwgrbbubgru -bwbrbwbrbubbwwbgwwuwgwwgggrrgwbubbubwwwugrgwgr -wgwwwwurwubuugruwbrrguwgubwwbuuwruugbwrubr -rgbbbwrgburwuwwbwubwruubgguwbrbwbwrwurbggbwbrugwgrubrgbbur -gguwwggubgrgrgrwuubruuurubrbrruwgrrwrwuwgrwwburwuwrg -uwbgrrwbbggrwwgguwbbgbbrugruugbgrbuwgbugwrb -guurgurbwbbrugrbuugbgruwgburwrwwrbgbrrrgbwbuwrb -uuwuggwrwgbgbuguruwrgbrbrubgrgugwbrugwrgubbrwuwrb -rwgguuubwrbbrbubbgwwgrgbbrrrgggbururgwgbwgugwgbgbrbbb -grwwrwbbruwubgbwuuubwgubguruugubbwggrgurrbwurgubbggwb -bwuwbggbwbgwbruuggruurrwrwgubbwrrubrwwbgubguwrb -rbwbbrgrwgbgwgbwrrurgbrwgwurrwbrwwuwrgugrbgrugrgubbwrb -wbbgwgbwrubuwgurwbwbugwguwwwgbuwgruguwbgbgbuubwuwgwubgrbww -uwwbwrbubgbwwuwwubbgbgubwwwgwugrgugrwwwgwbubrguggbrgrbrgg -wbwuwgrwwguwgurwwurwubgwuwugrbbggbrruuwbgurrru -gbugwgrurugwrrggbrbubrugggwggbubwbwrubububgbwrgwuurugwrb -gugrgwugubwuwbbbuurrwwrubbwwwguguwwbbruuugbrwwwuwuw -rwbbgbugrgburrggrgwgubggwwruuggubururggrbwrb -rgggggrbbrgrrugwwwgwbwbbrrbrburbwbwwrrgrbuugrruwbbuwrb -ubbuurgrwwwuwbwwbgguurbbbgwbuugwgwuggrrbugguruwwrgbgggbbuwrb -bwuruwwubgubbggrruwgbbgggwrruubgurbrbuuubrgbwub -rbubbggrbwbgwwrrbbggubwwurwgrgwubgrgrrbwrb -gwwbgwubrububgwrurwgurbbuuubwugggbrrwuuwru -wguggrbbbwgrbrwwggrurwbggwgbrgggrwggugbrgwgg -uuguuwwrguwrrggugbwwgwuwrguwbguwuurbwbwrggwguwrubwrb -ruuubbgrgrrrgbbrbgbrbubgbubwguububuugubgrugbgrgwrgwrwruggw -ruurrbwrbgubbuwggguwbwububrbwgrubbwgugwrb -bbgbugbrubwggbrrwwuwrwwwwrwbgbbggrrwbguwrbwrb -brbugwrwrbwwwguwrgrrrggugwwruwburugurrgrurbguwguwwbrubu -wbwubgbubwwgrrggrbbgwruwrrugwwrwuuggbuuwburbrugbguwrwrb -uugbuuwwburgbgruuruguuuwrbwurwggbbwrrbgrurbwub -grrwguwurwwuwgguuugurwrgurrwgrgugrurururwrb -wwrbuwwwwrbbgwgwbgrurburbbwbgwuugbuwuuwwuuwbbuww -gggrbrwrugrrurwugwgbgugrruwrrruurbwuubbuuruuub -rwuguwurugbrububbrggrwrwururwuwuwbrwwgurwgrrrrbrururrwbgbwrb -rwbbgrbbwgbrbbgugggwwububugrbrgwgubbggwgrgrbrrbrgwwuwg -wururwgrruuwrgrrrwbruubuuwgbrrwbgrrbbbgugbgrrguugwg -uruwurbgrwrgwbrbbggwwbgwbgwrbrgrrugwbwrwwbggbrgrugwrb -wrubuwbugurguuurugburubbrgrurgwugwwbbwuwrb -bwrwgbwwbuuwbwgbwbbbrbwgwrugbubbgubuwrrwguurgrurwwwbwrb -rrwuuwbruwugwguurgubwrgwgwgburbrwwwgbubwrwrgggrwugurbrrbu -rrwgrgwwubwgwbrubwurbbrgbuguwbuggbrwrururrubbwburw -uubrgrrbgguggwrbwbwwwguwugugbbuubgugrrbugbruggrwubu -uwrrubgbrrgrbgrrrgbrwgwgrwbwgugguwwwgruwbuwwrb -wbgubgrbrrrwbgrbrwrggugruuguugubbwrrwugbbrubrrbuubbwrbwrgw -gubggguubrrguwrwurubwwubbugrwugwugguugguugbuwwwwubgwgbwwuu -gwguwggwgwbrugwbgbgruwbrwgbgrwbgubbbgwgwbggrw -wwwburgwwurgubugwrubrggbgbrrbgbwgggwrggbwbbbbubrbuuw -gggggubgburbgrguurbruuruguwubrrrbruruuguwwwgggu -bggruubuugbbubugwrrbuuwrguggrwrwurubgbwwwbuuuwgubguruw -gwgbrgburrbbgrwgrurguuwrrwgggrbgbbgwbbbwrgggwbrbrgwur -wbbbbrggurwuugbruubrbwgwgurbwuwbrbwrbwgruwrwwgrwurwuruwrb -bbggrguugwrguwbgruwrwbggurbguuuubgrurwbbgurrbgguggubw -uwrrwbwubbgwbuwwuwurgwurbrruruwuwguggrwbwwurwwurgbgu -ubuubuwrgrwugguuubwwgwrruwwbuwggbbwwrrwbrgbuugugwwr -rwwbbugwrwggwwwuwwbgwwrrrbggruruburubrrubggrgwrb -bbgbrwgwrgguwwrubgwbgubuuurbwwbbbbuggbrgbwrb -ubugbuwbrguwwbrgwrgguwwburgbuubwwgbgrbrubgbgr -rubwrrgurbuwbrggwgbgwbggwuwrbuwgbgubrrrgrrwgbbg -ubrbrrgurwbgbbbrrrugbrwwgwugbrgbugugugrbbggrwbgubbbuuub -wuwgububguurguugwuwbuwubgruwbwuwbubuwburbgg -wwrbgwrgwubwrgruuggwbwwbrbggurburgrggubgwrrgrgrgbbrbgwwuuwrb -gbgrrbugugwrrbuwrubwuwwgggwrbwwrugbgbgrgrrruw -bwwgwruwugwrgwwburrwrgwgubbrgurgubrwwrggrggbwwgrguuwww -rbbwurrgrwrbuwruwuwuuwrgugbwrgrgruubwburbrgbrubgrgrwguur -gwwuurbugbgwuggwwwwwbwgrrbbgrgwwbwgrggrwrbugwrwrb -ugwrbrgrggwbwwuubrwubuuwwurbbbbwgggwgurbggw -bbwggbubgwwuurbuguruwwbgggurgwbgrgrggwurrrrurgbrrugrgwgww -uugwuwubrurururbggrrgurwgwgrrgwwgrwurwrwurwgruu -uwgbwurruruwwuwgbbgwwrrwrwbwgrrbwbrwgwbbwubrgruwub -guugbrrubwbrbgwrwwrurrwwgbbgwgwrbuggurgruuwgrub -gbgurwuuwubrrugwrrugwbbbrwbrwuggrwrrugrwbgu -bwguugwwwuruguwrrwwbbuguugbggbwbubbwgwrgbbguguruwguwuru -bbwrbrguwrwbrgruguuggbgrbrruguubbuwwgrbbuwrwwgrbwb -buwbwbbrurrbubrwgrgwwwbgburbruruwbbbubwrbuuwgwwbwu -urgrrrurgwrggugwbrwubgguguuruurubbwrrrwrb -bburwruuwbugrbwruuuwguubrbuwuwbgbgrbubuwbgr -rbgrugguurbrrbbwruuuuwgwrggwwurbbrggwrruuuurgggbrbrbrb -rguwurugbwbwrbbggrgbgrgbwwuwrbbubugrwrgrrrbbbrburgubgurggwrb -gwuwuuwugwgguubruwwrubrurwrgwrbbgruuuubwwurrugwuuugwubg -bgubgwwbrbrwruugbbbbbwrbguwbgwgubgbbgbbgurgrurgggugbbwbr -gruwwbwwgbbwwbwgwgwwubwwbwubwrwrgurwuwgrbbrurgwg -guguwggbbbgbggbrbrgwbgbrwbgrgruurwurbwggbuwug -rbrbbuurgbgbgbgggbrrwuwuwgwbwbwwuwbgubbbbwr -bgbuwugbugrwwwwgrbbgguwbrbwuuwgrgggrrbgwbwgruggggwwubbwrb -ggwuurgbwurbwubbrgbbubgrwguwbrwbrruwgwgbrwgrrurggwub -gggruuubuwrrugggruuguubbrbbgbruubuwrurwbrwggbrgrrburwggw -rrugwrwbrgbbwrgwgbbbrwrgbburubggugrwggrbrbwubrgurgbwrb -grbrubguwruuwggbwugwwgwuwwggubuwuwwrggbrbuurwubwbbwrb -uwbwuwwbbrguburrwrugburgrwuruwugbburubwguugwwru -uuwwrubggwwwuugrgwbwgbbwrrbburuguurbrbwuwwrbggurbbwguuw -ubugbwrguwrrwurwuwbrbbubbbwbgugwgbrbwruwwwrububgur -ggrrburgrgburuwrrubububrrbgruuguuuwwwgwwrgbruub -ggbuugwurgbgrwggurugubwggbbbubrgurrwwburuggrrrgbbbbwg -ggbrgrwuuwwbwbuwwwwgguwbbuwuwuwuwrwgwwubwwuwrb -wrbrgugwrbwrwguggrrggbguwrguuwbwwrrubgbbbuwwrrbrg -gbwbwrgrbwurwuggwwrwwgwrbbwrwwrbrrrrbuwuurrburruu -bgugggbbburbbbrguurbgrugwwgggurugbuubuugubwrwr -wrgbrrrbwwurbgbgbwbuuwbwwbugbgbugrwgwuuubugwrggwwbbbwggwgwrb -wwbwbbrwrbruwrurwurwggwwbrbuugbugbrwgubggrr -brbubbburuwgrbuwwuwrurrwwubrwugwbgburgwrggbwuwrguwgwuu -rwurrbrggrrgbbgbuububrrwbguwrgbwruwgrrruburuurwwrwbuwgbbr -bwggbuggrwuubrrwubuwrgwrbuwwurugrbbguuwrrugbgburggububww -gruuwburbbgbrbwgugwgwuurgububuwugguwuwwrbw -grrbgwbwrbrwgwrwuugwbbgrrggggwuwgwugbbgugwbrugwbwu -rugruggwruburugwugrgwbugwwugwuwrrgrgrggubrgbwgwwwg -urubrbgbgrgwwgwbrgbbwbrruuruuruuururggubwr -burbwguggwrggrwggubuurrgwbgwggwrugwwuubgrbwbgrrbug -wwbwgrrwbwwbrugrbgwgwgrwwggwbrbwbgggguuubwbgbburguggub -urrbbbburgwbwbbwrgubbggrwbbubuwrgggubggwrb -ggugrbggurrbggrwruwgrbrwgwbuurrgrwwwgugurrrbwgbbrbbggwrb -bwgubwruwrgbrbwgbwbbgbwbgrbbruubbuugwburwrb -gwrbbrwugurrbugrbgruwruwrwwguwubwubwbrwgrruggrr -rwgubrrugrwwwubrwwwrbrwwrbgruwgrubbgwgrwrb -brrbwgwgwggugbgrrrrgggubbwwwuururbgbrwugwbrbrbwuuwru -urbrurgrbgguguguuruwurgugwwgrubggbgbwwwgrbugubwggr -rbgruguwrurwbgwgurrwrrrggugrwwbrbrbwgubuwubruubwrurrgwbgbwrb -ggbwuuuwggggrububwwrurgbrbrubbwgbbbgbbbgbwuwwgggbwrbuwrb -rbbbburwggwurrrrbggwgwwrurubwbgbrbruguwwrwrgggrugubw -rgwgwwrgbrgrwgrrbrburwbwuugbgrwwwggrwrbbwrb -ubgrwwwuubwwwwgbbrurbuuruuurrbuwggbbuurgrrwrgwb -wgwwuruurbgwruugrwgrbugrbbwbgwwgguubrwrrbr -bwrwubggwgrrubgrrwuwuuugruuuubuwbrbbwrrbgrwugwgwugrguwrb -rguwgwugururbwwgwwwgwgwbugubbrbrgwrwgguguwbwruwrrrbgbu -wuuuugurbwrgbuugbrrwgggwwwrwrrrrgwrwggwrbb -wwbwbugrwbbuwwwrwrrrubrbgwwwburwgbgbwwbuwrwugguurbg -ubgbuubgrrwruwugwbwbwbwwgbwbuurwwuwbubwrbug -uubgrgrrugubggggwgrbgbrwrwbrgrwbbwgrburrbr -gbwwugwbgggrbguurbrburbwwrugguwbugwwugbuwwbguu -wuwgrgrgwgrbuwgrbgburuuwrbwguuwuruwgbwwubwwbururbw -wwrwgugurwrbbbrwbwubggguuwrwbuurbwbwubggbbuurrwwbubuwrg -bburgruburubrbwrwwwbrgrbuwgwrwggurburubrgwgbbruw -ubrwbwubbbbwbwgruwuuwbrgbuwwuwuurrrwrrrwgb -wwwwrbrrguwugugbgrggrubbrgrurggbgbuwwbrgggwuguwugbrwg -rbrbbuwrubbbugbgwgurggrgbwrrurbburwrwggruwrubgbgwwuuu -wuuugbgwgggburrrrgwbubbbgrubbgburwrbugbbwbwggrgrg -rugwgubuwurrguwbwwurrggrgrurgwbbwbubwwgbgrubruuuwwbu -bgburwubrrwburrbwgwuwwwwurwuuwbgbgrwggubuwubwwggrwrb -uurbururruggwrwuwbguwwwbbwrbbwrggwrgbwwugwrwuwrw -bburugbugwwwwggggwruwwggrwwrbrrbwgbbbuwgwgbwwwubgrgbwrw -rgggubrrbgugguwwuuwurgubgwrbuwubwburwuubrgb -rwrgwbrbbwrbuwwuurgwuwwbrbrwuububrgubbrbwrguruuub -uuugrguwruwwuwuuwgbbrrwwgruuwbbgwguwwruuwrb -bubbubgwwuurgwrbuuurrwrwwrurwgbwugguwgbbggggww -uwruwuguubrrbbggbgrbwrwwwbwwwggggruuuguuugbwrwwrgw -gururwuubwbbugububgwugbugguwuwgwrugbrwrwrb -wrrbwuuwbwbubgwrruwgguwgrbggubrgbgugrrgrubwwwbwbr -rbgwbgwububrrrwbuwwwwgrurwrbwrgurwruggguggurrrubbbwrwgww -wggbrggbrrgbrrgrggwbbwurbbrgugugrbrgrwwbrgubwrwuuruubwugwrb -rrgbggurbrwuwrgrbbwwubguwgurugurwurwbgwrrbbwwuwwbg -wbbggrwrgruwgrbrgburwggrrbbbguurgubbuwbruwwrggrbr -wubugrwrrwuuugwuubgrubbbbgurguwgrwgruwwruguburwuwu -wbwuggubbrwugwbwrrwurgubuurrrubrgwbruugrgbrrbrugbwrruwuubwrb -rrbuwruwguburwgugrwgwuguwuubgurggrbuugbuwrb -wrrbuwggurrggwubgwwuggbwuuwwurrrwwrwurrburgwbwugrgbuwwrwrb -grrurwggwgruwrrbbwuugrwgrgggbrgubggbugugrwrb -wwwrwbuuwgbugbwurrgwuwbuuwrbuurugurwbuuuburrurwrb -ruruggbgwbggrwwrwrbrrgwuguwwrwurrguwugurbbruwbrwuu -uwuuggwurgbwrrrbruwrrwrurgrwrbrwugrwbbburwurbwbru -rrbwuwgrwuugwguugbrwgubrbubgguwrugrwbwrrbggbgrrrugrbbgr -rgggrbugbubburuwwbrrrbuubrrwubuuuwgbgguuuurrubrwwuwwugrbwrb -urrgwwwrgwrrgurrgwbbrggwrgubwgwwwugruuubuuwggbuur -gbuguuwwrbggrwrrubwwgrbwrurugrwrguuuugwgwrrrgubgbwb -gwugrrwrgubuwggwrrguubugwrbururwgbwgbbugwwwrb -bruuwuwbgrbrwbwwubrbbwrgwubgggwugbuwgbrwbbwruubgwbbrwwwubg -wwgurbbbbbwbwwrwguwbrururbwurgbgwurrurbgur -wwrgwuurruwuwugbbrwbwrbbbuwgwwububrwwgggbguwrgwrwrrub -gugwrrrwugugruuwrguwbwwubbggrwbgbwrugbuwrb -rgubwgbggwbbwggwgggrrrgggbuwwrgrwggggrrgwr -gbgrbggbgggggbgugwgubggwrwwwrwgrbrguwuwgwrbbrbuwwgrwuwrb -wwbgrrggrbgrbwbrrrbwrwrwbwrbrrwbwuugggwrb -wbbwbwbgrbwwwuguubbwgugrugbbrbbggrwwurururwggw -uguwrggruugrgwwuubbrbbbgbbgugurruwruwbugwrugubwwbgbwg -ruwbwbrubggruwbrwrurbrrrbgrrwrrgbubbrwrwurwuubwbrruburwuwrb -ugrrbgbbugruruwbgbbbgwbuwgbwugurbrwbgurggbubwwrbb -wbbwrwrwgurubwgbrgwgrgggrguruubburrubwugggrrwgbbrugw -uugwubrgwuuwbrrrbgruuwruwwbuuubgwuwwwuwbruguuuwgrbrwrb -gugubrrggwbuugubrbgwgbubwwgrrurubwwrbbwbrgrr -wrggwguuguuwbgburwwgwgwbruwrgrrwuwwrgbgugurwggbbg -wwuugbgggubwwwgrgrbguguwgwwwgbuwgbugwgwwguwrug -uwuurugbwgbrrbgbbuuwuggbrbrwubwbrggwbgrubbrrggbuubu -gwggubgwgubguwrbggbwwgbuurbbuubuwwugbubwbgbbruu -bbubugbuwwgbgubrbrguwggbbugggbuwuubbwgrwgwg -rrrrwugwuurrrbggrbwbrbrugbrbubugrbubbrguwwwwwrrgwgbuugbu -wrurguruugbwrwbgguggbwruwgbbwgguurwbgubwruuwru -rwbbwbrbwuwrubgbgwrbbuwbgubrgbwrrwwuwgbrwgurgubburuug -ggwubrwwuggrrwbuuubwwgbbgwurwgrgwwuwubbrgruurugwuguggurg -bbrugurbrurbgrbubwurrubbrbbgugwbbbwuuuwrb -wwgwwbruuuruwggbbwuuuubgwbubrbgwbwwuruuguw -gburwbwbgrbwbgrugbuwubgrrbrrggbuwwrwrwbguuuu -uwuwgrbggbrwgwggwwgbrrwburuuguwbbwwwrgurbgurrwgwurguwrbwu -rbwrbuwrwgbbwwggrbwbwwggrwguwggbwrgbrrubgubgugwbrruwwrb -bbuggbgbwgwrrrggbubrggrurugubuwbwuguwbugrrggwuwbwrggbwb -ugggrbwgwuubwwggggwuwwwruuugrrguwwbwubrrwugwrrurwgbg -bwgrgbubgbuurggguubwwrwgbubgrrgrgugwrguwruwbrbwrwbbwbbbb -wrrrbgrbggruggbbuwwuubrruwgbuuubgwbguurrubbubb -rbwrrrrubruuwgrgrbgwwwurwurgwbugrbbwwgggugbu -ugbggrgrguwwwggbruuruubwwgbwuggwbrwbwwbrbwubrubgbrrgwuwrwrb -rwrbrubwbburrurbuwgrrrgurwgrwbrgwgwwrbwgbrwr -wbwrbruubggrgwbbrbgrbuwwrrrbwwburwgwguubuwguwbrgubbwrbrbwrb -rgrrbwrgwbbuuuruuwbrubbbuburguuburrbgrwbgruwru -gwrgrrbubrwgurwgruwguurgruruubgubguggbbwwrb -wgbbuwurburbwwurgbgbwgggruggwurbwuwbubrwrrwbburbgrwgug -ubugbggwuwguwwwuwugwbwgwwuuuggrrrrubwwubwbwrwrrugwbwrgwuu -rubggguguuwgbuwggrruwrwrgruruguurrubwuwrgruwwgrrurbwuw -wurbburwrubbwbwrruwrbrbuuugurbwuwwgrbrbggwwbgugubrrg -gugruugwruwuwrugbgurguguuwwbbrwrurrgubwbwbrgbwrb -wugrbrbgwbbuuwrrgrbwgwrruuuubrbruwggurgbrg -rurwugugguurgubwbuuuurrrwbrrurbwruurwugrubrgubwrub -rubgwwrrwwwgguuggbwuruwwggbrubwbrwgubrrgrwwbuwggbbburwurbwrb -wbbbggwuwbwwgguruwguwbugwgruwwrwrgggurwwuwbbwubgu -bgbwbbwruuugugbrwburuwwrwbbbuggugbwubrrwgwugbwguguuuwru -rbrwwwwwgbruwguuuuubruuurgbuubrwbrbrwurgburbub -grruruwbrwwrbgrgbgrwuwrgwwuwbbwgrrrrrrrrrggbbbwbbbbu -urrwbbbrwuggrggbgububbrbubuwggwuugwurbbbwbbrwrb -rwwubggwrrbuurwwrrruuuruwggggwbbuwurrurugg -bgrbrruwrrgrwbwruwbwbguugbrrggrbgububwbuubrububggugg -rwruuwbuwruuwrrwgbwwrbwwwbwwrwwuuggbggwbbrbbbwwg -rrgwrgwubgwrwugbuurgruburburuwwwbwwwwrgwwrgwrgrgg -wgwrrgwwurrrubwgwrgbrbwgbbubrrrgugwwguubuwrbbb -gurggwuurwwurwrggugwugrbwubggwwwugrbubwrubbuw -uruuwurrggwbgrugrrbbubwbwwggbuuugwgrwbuuuugrrwbr -wbbguguuwuubwwrbrbbrugwrwuuwgrggbbwurrubrrgwwrb -rruuugbgbgrrwwrwgrbugburbubuuggurguugbwgggwrwwbubb -brbgwwbgrugurrgurbbwbrwubbrbrrwugwrwugrwwrb -buurubwuubrwbugwbbrrgwbgubrggubwurggwbrwwrrurubwrgrrg -wbrbrrrgrrbwubwgrwubgrgrwuubbgwwwugbwruwugwwgubww -uwrgbrubwbuubuurrrbwuguwbggurbubuwgwbwrggbggbwruwuggguwbw -gwbwgbwbgrwbgbbbrwwggbgrurgrwguwgrbruuwbugwrbuwwbwrb -guwbwbrwgbgrrrbbrbruwwbbuwwggbwrrbuubugwbrwrb -wrubrurubbbuguurrbguugwurwuuuwgubrwbbgguwwbbbwwwrbwgwuwgr -rurgbrrbwwbgwbubuggwugrubbgwwwrubuuwbgwgbgwugrrugrub -rwugwrwwbuggwbugbbwrbwwruggbgrwuugruurgrbwwbuwwurubgbr -bwbwuuubbgurgrgrbggrubuuwrugwgwuwggwrggbrbwubwgwguwwrb -urrgurwuwwggrubgrrwrugbbgbbbgwrguggrbuggrgrgwrb -wuwurrrrwbwgwwggurwuwbrrgrburggbwgrggbgrbrrggburrggwwrb -ubugrbugubbwgbbbwwgwgwgbguwwbrgbrgwubbwgwwruubgrgrrrb -gurwwrggbbbburwbgububbrwrggbuwgbwrbrrugburgrgbu -ubgbbrrbubrrubbggrbgwbwrbrwubwuurgwbburwwgr -gwbrrgwgubbbbrrubwgrguguggwwrbggrwrwuuururwrwguwgrbuwbuuwrb -ggbubbbbwruuggrwwuuwbbwubgbururrggrbbwgwrb -rgbbrgrwgrruwrwbuurgugbrububrugbgwruwbrurbrwwuwbbrgbbrugr -urruuurggrwgugbgrwgubrbbbbwuwrrwgrubrurgrbuwrgwu -bbwwwwrbbuwubgrrgurbbruwrbrwguwrbwrurwwwbbuwgruubwwwrb -rbrggubbuwguwbggbrrbbwrrurrrbuuuggugububbbbwrrwb -ugwgwwwrwruugwrwrbuggwuuwgbubwgrbrwwgrggrrgrbrbgbbwgwrb -ggugburbbrgrrwgwbwbwruuwugrbrrrurgwrbrrbrwubr -ububbrggggrbruugrubrwrbgbwggwrbrwubggubgggrrgbubrrgrwrb -rrgwwwrugrurwuggggwrbbwugwwwwububgbrbguwwwguwguwrb -uuwwwrbgrrbwgwuwrwwwgwwwrbbrbuggwwuguurwgwrb -gurrrubbgwubwuggrrwwbbubbrgbgubruwrgubggrwgrburrrrg -uwugubuuwurruwruubgbgbwwggbrwgwgrbbuwugwrb -wwwrbwrbwwgbrbrwbrggrgwrurrbrbwuruuburbubguwwugggrbwgwgb -wbgugurgwrrbbwugwbrwuwrwruruwrrugrruugwuggggw -rwbrwwgrgwwgrwgwbgwrwrwguubuwwbguwggubwggwwbww -rggrruwggwrrgggbrruwrgbuggbbgbwbwgurwrugwbgwwwr -gbbwrgwwrwgguurbggrbgbwggbbbuuwururrgrgwgbgg -wbgruwwwubrbugwbuwuubwgrubguwgwbrubrgwwwgwbgwwrrugbgbub -ugbwugubwgwbuggrurguwwubwrrurrbrgurrbrubwuwrwwwwwgwwgrwwbw -wrwubuguggbrrbugwbwwwrguuuguubwuruugwbgwbguurgwwbggrwwbuwrb -uuugbgrgwrugwguuuuurwgggrburwwgbwrurwbgrrwrb -wbgwguuwbbuwggubrrwbgrgbwuwrgbubruwggbrrubbwg -ubuwbrwbbbwbguuwgugrbuwwrgugwubgrburbgbbrrgrubbbbbu -ugbubrurbgwgwwgrurbwugbwwwbbgbugbbbuggrwgrbugbgwwbuwrbuwrb -wgrwwuugurbgrrgwwbwrubrgrrwwubgbuggwbbuwubu -gbuwrwbrrrwrwbwwrgbugrbugbrurrgggrgwgwgrrbgubrr -wugbuggubuggbrggubwgggbgbgbgurrgwwbrwwwwrb -grgugwubbugurgbguwbgbrugwbugbrrwubwrwuwrgbrugrgwrwrb -guruwwrurwurwugbbrbwwwwubuwrwuuwwugwruwbggbbb -bguruwbbggggbgugrbgrrrgubbbrubwrrwrwubrwgrurw -wbbrbbrgbbgguwbruuguwbbbrbrgrubgugwrgbrrgrwruguwrb -wgrbrgbrgwurggggurwwwggubbggrrrgrubugwuggb -bbwuwwrwrrubruuggwwbrurbgwururwggwwrrrurrww -ubwuugrgwuuuwururbrguurgrbwwwrrwbwruwrgwururbugrwrru -rgbbrwbbguggwbrwwbbgrburwbbwwgbrbwbbubwwrb -uuwuuubgurwwggwwbbbgbgbwbrrgbrrwrbbuwwwgubgggbbrwbrr -gbuurwggrrggbbrgbuuwrgrggrwgwwrwugugwbgwwbrr -bwbrgwbrgwwubrgubbbuwbrubwrbgbrrbbbbwrwbgwguuuuubrgrgrw -guwguururgwuwuuwgwbruguwbbubuwbrggwwugrwruruuugrwrb -grgwuuwrbbgrrgggbwrugbgwbbbrwuuwuwgbwugwruurrrbbuggrwwwru -buwggggwrrrruburwbrugrwrrgwuguwggwbwbgugrgugwwurbbburrggw -ugrwgbbwwwbbgruubgguuruuuururwwbuugbgwwrgubrrbuwwugggw -wbrbbugwgburbgrbgrurrbwwwrbwbwubbgrurrurwwrrbwgbugugw -ugugwbwwgrrgrgbuubwrwbrrurrgbubggwrgbugwrgbggubbruubgw -bwwubbgwwrrwruuruguugugrwgwubbguburuurwguwbwrwrb -brrbwugubgwrgurrrgrbbrwrurugrugwuggwrgrbrwggwbbuwurrwwruwrb -rwbbrbgwgbwguwgbgwurgrbuurugrrgwuwuurubrbgr -uwwbuuwgbwgggwrububuugrwurgggwgbwbubuurgbwrrwbbrwuruwrrrb -bbgwbwrrruurwwugbggbbguggguurrbbbbuubbwbwrwbrwurrbuwgrb -gwgwbwgguwwrwugugwuuwurwgwgbuwgbgbwwuurwwggrubb -rgburwwwuurrgbuwrgwrbugwwgguwwwgbubuuggrwbgubrwrgwugwbuwb -gurrbwgburruggbrbuguugbguruwurbuugbrgbguguuuubwggrwgrrwbwwrb -ruggwuwgbgguwwuburgruwrbgbubbwwugrbwuwwbrbrrwbg -wwbrrgguwbbguubbuuuuugwbbrwrrgrruwrgwwrbbbbwgrgw -bwbrwbwwrwwuugugugbrbrbrrbwrwrruguwuwwubbugwgurrr -wggrwwubuwruwgugrguggugwbbggugruuggrwbggrwbbw -gbgubgbwgurbwrrrgbuwwguwrrwwbwuwuwbgburrbgwbgwr -grrububuwruwrubrgwwbrrgrbwugrggwbrgbwwrb -uguuggrrwubrgrwggububbwgbbwgrwurwwwgwbubbbruggrwbrbgwrb -brgurrbwwugubrrgurrbbrbuubbwwwwguwwgrwwugubgruruu -wrwubrrwburuwbrgwwuggurwrrwbbruruuwuwuwubbubuuu -bwbugbrrbwugbwrubuwbuwwubbbguwbrgwwurbgugrgrwgwuwwbwubgwrwrb -bwguwgurgurrrbgbbbwbrrrwuwbrwubruuwrbwrb -rbubgwbubuwwbubbrgwwgubgwwrrgbubrwbbrwwrbwwuwgbbwrb -wrbbgwburwwwrgwggggrrbubbggrbgbggwurwruburwubrubrgr -rggurrwwgururrgrwwwgrugwwbguurbbwbuwrwurrrbrggbbbbrwwr -ugwwgwrgrgugrbbbbubrwrubrbguwbrwubgrwgrrgbgggwugw -uwgrgbugbwbbggrgrbbgrwrbggrrwbbwbugwrwbrrwwuuwrb -bguubugwggwguuggbguuwbgwbwruggwrbgbrrbwbrrbgwrbggwrbrrbu -rgwwbubbbbuugubwbrwuwwrrruuwggrbbrbwguwruuubgbwwgwurbgbubg -uuwbwbrwwubbrwuuuwuwwgggwwubburgwgwbrurrwbrbgbbburwgb -wwrrbbwwbruwbgbggbrbbgrugubggwgggugrbuurgrbbgbuwu -ugrbwbwwgggwrgbbguugrgggwrggbuuwuwubrgbruwbwrb -ubggwbwguugbbubbgbbguubwuubrbwubrubrwguwwwrb -rugburrbwruuwrwwgwrwggrubgwbuuubugbwuurgbg -ggrwrruwggbubrurubgwrbwrgbwgwuwrbbbwbuugwubrubwuwbrbgbgubg -grgwugwuwbgwuuwuugrgwwguwbburuubbbgubbuwgwg -ruwrwrwwrwgwwrgbubgbrbrwwbgurrwrrgbruuwgrgrrrgurugugu -brbwrgurrwgwrruwubrwwwrggbuururgrguwggwbbgrgubrw -bbuwggrbugbbgbguugwuuwuubgwgbbrgugbgbwbrubbbgugwrgrgrgruuwrb -wgbgbubuwrurbuuwgrugwrgrbrwrgwuwbbgwrrrrwrb -wgwrgbbbuurubgwwrgwguururrubgbgwrbgwwwwwggggbrurgrr -uwggrggrbrruwuruwbuwurrrwwwwbuggbguwuubwuwbubrrwrb -ugubbwurwurgwwrburwuugrurguuwruwwrwbgruggwbwwwgwbb -ubwgwbbgbrugguwrggubbrgrbgruuwugbgruuwggrbgwugugwugrrwwg -wggrgugugubgrrrbugbbbwrrrwbwguuruugrwwrb -bwgwwbrwbbubgwubrwwwgurbwbrwbubgbwbubwgbbggrrwbbgbwrbbrr -gurwrbbbrbrurbrrbugrrrguurwwbbwugwbubuwrwbrgbgrwrbuuwrbuuw -gwwwwuuubuguwwurubwwrggguwgbrbbbgbububgwrbwbubbruwbb -uwwwbbggwrgbrgrubrurwrgugrbubuwwruugbwbgubugbuguuuuurbrgr -rrbubwbuwrgrrugubbbuuuwwbwgurrwwgwburubwrwrb -rurrbbgurbuuruwuuwrurrwbbggrrrgguwgwrurgrurubwrwwrb -ugbugurrgggrgrbuuwgbuugrrgbuuwugbrwrrgbubbbbburuuuwww -wuwgugruburwguwrwgwbwrbubbrbgwbrgbwruruwbbuwwwugurwgurwrbbb -wugwbruwuggrruggrbgrgubuubgurbrrrruwrguububruubwugwwbbwbu -grubuwwurrbbggwbwwwruuuuubwgwubwuubuuwrrrwgrururbggbbggw -gwgrwbuwuwgwrubbgbugrgwbgrbwbuwgrggbwrrubbuggwbgrwgbggg -uruwrwuwbrbrwwruwgurrugrbwguuubwrwwurubgrbgrgwwur -rguubrwwgubuwwruruwbuggbrburgrgurugwwwwrb -uuubuubggrugbgbgwgbbgburuwggrrggwrwruwgbuwwbrgu -gwgrgugwgbwbuwbgwgbrguuguguugrrgrbuugugbrgu -urgrwwwrgurwwrwwwggbgubbrgwwwruwubgbrgurguurwugrgwrb -rubgwbrwbgrruuwbruwrgwbwbguwururubrgwrurbuubww -brurbguurgbggwbbgwwwugbrbgwrwbrwrrbrwbugwuguwrbwru -rwrbbguggugwwgrbrrwrbgruwrwwuugbrgurbwuguwwubgbgg -wgrgbgbwbbggrwgrbbbrrwubgrbrbgwwururguwugbgrgrrug -gwuurwubwwguggwwbbwwugrwgggwwurrrgrrrburguwwrrb -guggrruwrbrugwrwgrbgurbgbrgwugwwwwbbbwwrwuwug -uwgrrgrbbgwrggrwwwgbgbrbbrbuuburbbrbrugwurugwbburgbb -wwwbbbwbbbrbgubrwbbrubugbrgrrrruuwgurrwwwruwgwrguw -uuubuwgwrwugrbggggbruugbrruwuurubwwgwbwgurbgbuubbgwbuww -wbrrwgbuwggubuggrugbwwbbbbwgwrrbgggrrrwrbgrbgg -gbbbrwwggbugrbrrwrgbuwgbrrrwgwgubrruruurwguwb -rrbbuwrbruwruwurbggburwwbwuuwrurbbwrbuurubggwrb -rrubbuurrrgbrwwuwrbwgruuwbbwugrgubgbwwruwbburgbwb -wrwugbbgrbgurubrwwwwwbbbruubwgrgburbwbrgbwbgwb -wwrwugwbbrubugbrrgrwwbwbuwwwuugbbwguruggwgwrwgwrggwrgrgwgwrb -bguwgugwbgwgubwwbwwrwubrrwubbwgrbwgggwuuwgrbgwgwgrwwggrb diff --git a/2024/d19/ex2/ex2.py b/2024/d19/ex2/ex2.py deleted file mode 100755 index e7967bb..0000000 --- a/2024/d19/ex2/ex2.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python - -import functools -import sys - - -def solve(input: str) -> int: - def parse(input: str) -> tuple[frozenset[str], list[str]]: - towels, patterns = input.split("\n\n") - return frozenset(towels.split(", ")), patterns.splitlines() - - @functools.cache - def count_ways(pattern: str, towels: frozenset[str]) -> int: - if pattern == "": - return 1 - return sum( - count_ways(pattern.removeprefix(towel), towels) - for towel in towels - if pattern.startswith(towel) - ) - - towels, patterns = parse(input) - return sum(count_ways(pattern, towels) for pattern in patterns) - - -def main() -> None: - input = sys.stdin.read() - print(solve(input)) - - -if __name__ == "__main__": - main() diff --git a/2024/d19/ex2/input b/2024/d19/ex2/input deleted file mode 100644 index fd5f64f..0000000 --- a/2024/d19/ex2/input +++ /dev/null @@ -1,402 +0,0 @@ -wwubu, guw, uguggg, bgr, rgbrg, bbrb, rwgru, bwgr, uwwbuw, rwrbrgb, ggbrbuur, bb, ugu, grurrr, gbwbwb, rgbrb, bgrwrbu, bgb, wrwu, rwwr, wubr, bug, wu, brwu, w, grbw, uwbgg, gggwrggb, rurgr, uuw, bbw, wbg, bgw, ugw, brb, uww, buww, uuwgr, buu, rrbugw, ggggbgug, wwwrbbr, rgbbr, ugrr, wgwrg, bwuubub, uugg, bbrgg, bbugw, wuuwb, uwr, bugww, rwrrbbr, ugwrrrb, ubbr, rrwbgg, wb, wgr, gbrb, gwgg, rbg, bub, brg, bubr, ugggw, uuugbbb, grbug, rbww, rg, wgwwwwg, wgb, brugbbb, wgrww, bbrgrurg, ruu, brr, grgwg, wurbb, bww, ubwgr, bburwurb, urrrrbb, rgg, wwww, gbgw, rbrb, buw, wur, ruugugb, uwugg, rgrrugub, ggg, ggr, wrurr, bgg, uuru, brbg, rrbb, bbr, gbbu, grug, rwrrug, ggubub, ggrgg, uu, grb, rrrwwbg, ubbg, wgwwrgbr, rbug, rwrgwbrb, wubwgu, rrw, ruw, rbwubwgr, wwugg, bbbu, wgwr, rwgb, ruwg, rrrb, ubw, rwgw, wbr, uwgrb, rbwrrrru, guwbwg, rgbwr, wbu, ubgu, uruug, urbuuruw, rug, wg, gugbw, brw, wgrb, rbwu, wrw, bgggr, rubu, ur, uggrur, ggwbbuwu, gggr, gwu, bbwb, rrru, rubgb, wub, rgb, rbur, wuwbb, rbb, bwb, wwr, wubrwb, bwwwg, wwbwww, ugrrurw, grg, gwuw, uwwww, ubgb, gwr, gwuurgg, grwuu, gbru, rbbrrg, r, rgbrrg, ugrrubr, bw, wwbwbg, brbwbwr, rrrbg, rggb, bgwu, rrgrwwb, wrgrrb, grw, ubu, wgrugw, bbrugug, wubuwrb, gbrr, rrbg, bbg, bgrwg, urwu, uug, gruruwb, bur, rbwrguw, gbbuw, wubbr, gwurrw, rurr, gwrubb, wwwrw, wrwrbbr, ubbru, gbr, rwg, rrgwgr, ugrwwg, wwbgbr, wwubuwu, uwbb, gggbb, bru, uwb, bgru, wgu, gbrgr, urrwb, ub, u, bgrug, rrwr, bguug, gwbb, uuu, brubwg, bwrwbu, ruggur, gggww, rgu, ug, gur, wgurgwb, uuwwb, wbwgr, gbrg, rru, uuwurrr, rbgbw, ubgwgw, wgwbgu, brbwgg, uwwgw, rgww, buuu, uwu, wrgug, gug, rr, gggwb, bgu, grwg, wrwr, uub, gbuwwrwr, bgug, bwg, ubg, urrb, bbgggw, uuurb, ggw, wgrbwrg, bguw, brrrb, gwrbr, brbw, ggrrbu, uru, wrrbg, ubr, ggrr, ww, wwbgwwr, bgrr, wugbrwg, rrrrg, rww, wrbg, ubur, gwb, rgw, bubgbw, gbb, buuuuur, wwu, uubwww, buwg, ugbg, wgrwbub, wurwuu, bbu, wuru, ggu, wguwgr, gbw, gub, grr, rubgw, urrurb, wbubrr, grgwwb, gbwwru, urb, ruuw, urr, gu, bwrbwg, wrr, wru, wug, wbuwwwwg, guugu, brwurrb, brruuw, wuuuu, rbu, gwg, bgwg, rgr, bbrw, bu, gbbg, bbub, bwr, buur, wrgg, wwuurbug, bgbu, ruburubr, bwurbr, rbr, wgw, gwwug, rruu, wubgg, bwwg, wgwbwu, gwrr, wbbrrb, rwbgbbbr, gr, rwuw, rggbur, gbu, uggb, gwgr, guggbuu, gugw, brgww, wuw, rbubgbu, wgwbrb, g, urbb, gb, gbwu, uuug, ggrbbw, wbrrww, wbw, ugb, gbg, ugr, ggwww, rwr, rbrbw, wrg, wwbr, uggu, rrg, gwguuuuu, bbwuur, rgru, bburww, bbbg, wbb, uuugww, bwgg, bgggw, rugbr, wugrbwr, urw, bwu, uur, gggwrw, buwr, rrr, wwb, wgbw, urg, uwgbw, gru, bgbgurw, rwrrgbub, rwrw, buuug, wggbrgw, guu, bruuubw, gw, wuu, rrb, uuuwg, uwbugu, ugbbrr, wr, uw, ruwbw, wwg, ubru, guub, wrrwg, www, bbuuuw, guruub, wwbrwu, rwgbuu, rguruww, bgggrwr, bg, uwuwr, ugwub, ubgbu, ubbur, rub, gww, rw, urrbbbbu, urrbb, wuwu, ubuggww, bbbwg, ubugg, grgb, rwu, rugbug, ugg, wgg, gg, ru, wruw, wrrwuw, rubg, rbw, rwgwr, uuruu, ubb, ggb - -uwgwguuguruwggwbrbwurruwgwwwurgbgwggwwbbubgugguuurgugugwu -gwwggrgbwbbguwgbguubbwrbgurgbburrgbwruwgurgwgguwbwgbgrr -rgggbwgwgwuubwbwrrbrrrurwuwurgubuwrbwrbbbbr -rguruururrwbbrgrbgrbwggrubbggbrbrugrgugggurubrbuuw -rruggbrruruggubguwrubwbwuwgrwrguuurbrrbbbggbrwg -wbwurbbrggubugbrgrrbuuwubwurrwururgbgbwurubbuuwbuw -brbwrrruwrrrubrwuugrbuuwuuwrwrbrrgububwurugbwwrb -rbbbuurubwubbuguggrgwgwgurburugugwbgbuwbwwrrgugg -wrbbugrwgwubgugwrruggwwggurrwuugrwrwbrwgrww -gbwbugwgrubbbbburrbwugbwuugrbbwrrwbgrwubgwgbbb -urgrwbruurbbururwrwwbbubgwbwurbwguguwgrbrgugugwrburb -wubuubwggrgwgbgububrwgwbbubgwgbwwwuubrbbbuwbr -wrrrrurbwubwuuggwguuwwwububrwrruwurrbbbuubggwgrgwugwu -brurwwrbbuwgugbruurgrrgbuuwrbwrugurrwrurrrbbwrwbrrgrwuwg -urgwuwwbwwrbbwbwgwgrrbrwgubbrbgwububbwurggbrgrggbrggrrrwgg -uugwrbwguuwwgbwwwburburbwburwgwguwggwggwbbbuburrubgbbguugg -wbwbguuuuubwwbwgrwbwgguguwgbbggwwwurgrwgrgbgggurbuwugwrbu -uubwuwuuwggbbruwuwbwbgwbwrrguwurubbguwwgbug -bwwgwwubbrrrrwuubwbwrruurrwwwwggbgbrwububwwurbggwuwbgu -bruwgrwwbrwbgruubwbbbugwrbbgwguuwguurbrwrb -grbgwuwwrbgrwgrwurrwbbuwwwwwbrbburrbrwbuggrgwbwrb -wgggrubbbwwgwgggwruururugbrguburrwuwwurgggubrbwwgrwrb -wurbwrwwugrgrgruruuggbbggubwrurbrgrbwwrbrrw -uubuwwurrrrurubbbrrugugubgbruubbrwbuwugrwwgwrrbrwggwrb -ggbuwrwwwbbrgruugrrbrbuurwgurwgubrggguwbubrrbbwgwrb -ugwgurwrwwbrrbwrrrruwbgrwrurrrrrgugurwbuuubbubwwbgrrrbwrb -urwrbbrbwgurbuwrgrurgwggubbwubuggrgbuwgurbbwwbbwwubwrurgrw -bbugbwrwrrrwbgugbgguuwwbrwbbwgurubrgugrgwurrbb -uburggbrbuurrbbggububwbuuubgwrruugbrrbuuwb -rrwuwubggwrwruwrgrrwrwubwwrbbbuggbrggurubwubwbuggwu -rwwuuubguwgwuwgwwwggwbwrubbrguuubrurbwuggubwbruwrb -ruugbuurwwwwrwuwurrrbrubugubwrwwwgbwbrbgbwb -wrurbuuruwrbwgrbgbbwgwrwrrrwgwrurbrbuwrwwgbgwgrwgu -bbruguugubrrgrgurwwggwurwbgwbwbbuugwwrbwubwgrwrb -bbwgrrugwgrbgwbbugugwuubrbrbrbbrrrggurgbbwwuwrbbuwbgw -rbgbwburggggrbwubbrrrrggbuwbguggrrbuwbgugbbrgwrb -ubgwuwbbgbubrgbububwuwbbbburwurbwbbuburwrb -bbgubwgruwbuwbwrwrurbrbrubuwbgrugwbbggbwgrwrburguggwwg -uwuubwuwgbuurbugubbgguburbugugrrwbrrurgwrwgrgbb -wwuuugrwuwurbgwwbrbwguwugbgrbgwwbgrgbubrrgrbbgwrggwgrwgruu -bbbwurgwwbwurwubbugrwbwbgbwrbwrwububbgbgurwwruwrwrrggrugr -bubuwbbwrgrwuggbgrgwbbwruubggubuwguwgrbrrguwgwubbbbubugw -wbwbguwgbrgwgwrrurwwrrrgbrwubrgwbwguwbwwuwgugwgrbbubgru -bwbrbwbrbubbwwbgwwuwgwwgggrrgwbubbubwwwugrgwgr -wgwwwwurwubuugruwbrrguwgubwwbuuwruugbwrubr -rgbbbwrgburwuwwbwubwruubgguwbrbwbwrwurbggbwbrugwgrubrgbbur -gguwwggubgrgrgrwuubruuurubrbrruwgrrwrwuwgrwwburwuwrg -uwbgrrwbbggrwwgguwbbgbbrugruugbgrbuwgbugwrb -guurgurbwbbrugrbuugbgruwgburwrwwrbgbrrrgbwbuwrb -uuwuggwrwgbgbuguruwrgbrbrubgrgugwbrugwrgubbrwuwrb -rwgguuubwrbbrbubbgwwgrgbbrrrgggbururgwgbwgugwgbgbrbbb -grwwrwbbruwubgbwuuubwgubguruugubbwggrgurrbwurgubbggwb -bwuwbggbwbgwbruuggruurrwrwgubbwrrubrwwbgubguwrb -rbwbbrgrwgbgwgbwrrurgbrwgwurrwbrwwuwrgugrbgrugrgubbwrb -wbbgwgbwrubuwgurwbwbugwguwwwgbuwgruguwbgbgbuubwuwgwubgrbww -uwwbwrbubgbwwuwwubbgbgubwwwgwugrgugrwwwgwbubrguggbrgrbrgg -wbwuwgrwwguwgurwwurwubgwuwugrbbggbrruuwbgurrru -gbugwgrurugwrrggbrbubrugggwggbubwbwrubububgbwrgwuurugwrb -gugrgwugubwuwbbbuurrwwrubbwwwguguwwbbruuugbrwwwuwuw -rwbbgbugrgburrggrgwgubggwwruuggubururggrbwrb -rgggggrbbrgrrugwwwgwbwbbrrbrburbwbwwrrgrbuugrruwbbuwrb -ubbuurgrwwwuwbwwbgguurbbbgwbuugwgwuggrrbugguruwwrgbgggbbuwrb -bwuruwwubgubbggrruwgbbgggwrruubgurbrbuuubrgbwub -rbubbggrbwbgwwrrbbggubwwurwgrgwubgrgrrbwrb -gwwbgwubrububgwrurwgurbbuuubwugggbrrwuuwru -wguggrbbbwgrbrwwggrurwbggwgbrgggrwggugbrgwgg -uuguuwwrguwrrggugbwwgwuwrguwbguwuurbwbwrggwguwrubwrb -ruuubbgrgrrrgbbrbgbrbubgbubwguububuugubgrugbgrgwrgwrwruggw -ruurrbwrbgubbuwggguwbwububrbwgrubbwgugwrb -bbgbugbrubwggbrrwwuwrwwwwrwbgbbggrrwbguwrbwrb -brbugwrwrbwwwguwrgrrrggugwwruwburugurrgrurbguwguwwbrubu -wbwubgbubwwgrrggrbbgwruwrrugwwrwuuggbuuwburbrugbguwrwrb -uugbuuwwburgbgruuruguuuwrbwurwggbbwrrbgrurbwub -grrwguwurwwuwgguuugurwrgurrwgrgugrurururwrb -wwrbuwwwwrbbgwgwbgrurburbbwbgwuugbuwuuwwuuwbbuww -gggrbrwrugrrurwugwgbgugrruwrrruurbwuubbuuruuub -rwuguwurugbrububbrggrwrwururwuwuwbrwwgurwgrrrrbrururrwbgbwrb -rwbbgrbbwgbrbbgugggwwububugrbrgwgubbggwgrgrbrrbrgwwuwg -wururwgrruuwrgrrrwbruubuuwgbrrwbgrrbbbgugbgrrguugwg -uruwurbgrwrgwbrbbggwwbgwbgwrbrgrrugwbwrwwbggbrgrugwrb -wrubuwbugurguuurugburubbrgrurgwugwwbbwuwrb -bwrwgbwwbuuwbwgbwbbbrbwgwrugbubbgubuwrrwguurgrurwwwbwrb -rrwuuwbruwugwguurgubwrgwgwgburbrwwwgbubwrwrgggrwugurbrrbu -rrwgrgwwubwgwbrubwurbbrgbuguwbuggbrwrururrubbwburw -uubrgrrbgguggwrbwbwwwguwugugbbuubgugrrbugbruggrwubu -uwrrubgbrrgrbgrrrgbrwgwgrwbwgugguwwwgruwbuwwrb -wbgubgrbrrrwbgrbrwrggugruuguugubbwrrwugbbrubrrbuubbwrbwrgw -gubggguubrrguwrwurubwwubbugrwugwugguugguugbuwwwwubgwgbwwuu -gwguwggwgwbrugwbgbgruwbrwgbgrwbgubbbgwgwbggrw -wwwburgwwurgubugwrubrggbgbrrbgbwgggwrggbwbbbbubrbuuw -gggggubgburbgrguurbruuruguwubrrrbruruuguwwwgggu -bggruubuugbbubugwrrbuuwrguggrwrwurubgbwwwbuuuwgubguruw -gwgbrgburrbbgrwgrurguuwrrwgggrbgbbgwbbbwrgggwbrbrgwur -wbbbbrggurwuugbruubrbwgwgurbwuwbrbwrbwgruwrwwgrwurwuruwrb -bbggrguugwrguwbgruwrwbggurbguuuubgrurwbbgurrbgguggubw -uwrrwbwubbgwbuwwuwurgwurbrruruwuwguggrwbwwurwwurgbgu -ubuubuwrgrwugguuubwwgwrruwwbuwggbbwwrrwbrgbuugugwwr -rwwbbugwrwggwwwuwwbgwwrrrbggruruburubrrubggrgwrb -bbgbrwgwrgguwwrubgwbgubuuurbwwbbbbuggbrgbwrb -ubugbuwbrguwwbrgwrgguwwburgbuubwwgbgrbrubgbgr -rubwrrgurbuwbrggwgbgwbggwuwrbuwgbgubrrrgrrwgbbg -ubrbrrgurwbgbbbrrrugbrwwgwugbrgbugugugrbbggrwbgubbbuuub -wuwgububguurguugwuwbuwubgruwbwuwbubuwburbgg -wwrbgwrgwubwrgruuggwbwwbrbggurburgrggubgwrrgrgrgbbrbgwwuuwrb -gbgrrbugugwrrbuwrubwuwwgggwrbwwrugbgbgrgrrruw -bwwgwruwugwrgwwburrwrgwgubbrgurgubrwwrggrggbwwgrguuwww -rbbwurrgrwrbuwruwuwuuwrgugbwrgrgruubwburbrgbrubgrgrwguur -gwwuurbugbgwuggwwwwwbwgrrbbgrgwwbwgrggrwrbugwrwrb -ugwrbrgrggwbwwuubrwubuuwwurbbbbwgggwgurbggw -bbwggbubgwwuurbuguruwwbgggurgwbgrgrggwurrrrurgbrrugrgwgww -uugwuwubrurururbggrrgurwgwgrrgwwgrwurwrwurwgruu -uwgbwurruruwwuwgbbgwwrrwrwbwgrrbwbrwgwbbwubrgruwub -guugbrrubwbrbgwrwwrurrwwgbbgwgwrbuggurgruuwgrub -gbgurwuuwubrrugwrrugwbbbrwbrwuggrwrrugrwbgu -bwguugwwwuruguwrrwwbbuguugbggbwbubbwgwrgbbguguruwguwuru -bbwrbrguwrwbrgruguuggbgrbrruguubbuwwgrbbuwrwwgrbwb -buwbwbbrurrbubrwgrgwwwbgburbruruwbbbubwrbuuwgwwbwu -urgrrrurgwrggugwbrwubgguguuruurubbwrrrwrb -bburwruuwbugrbwruuuwguubrbuwuwbgbgrbubuwbgr -rbgrugguurbrrbbwruuuuwgwrggwwurbbrggwrruuuurgggbrbrbrb -rguwurugbwbwrbbggrgbgrgbwwuwrbbubugrwrgrrrbbbrburgubgurggwrb -gwuwuuwugwgguubruwwrubrurwrgwrbbgruuuubwwurrugwuuugwubg -bgubgwwbrbrwruugbbbbbwrbguwbgwgubgbbgbbgurgrurgggugbbwbr -gruwwbwwgbbwwbwgwgwwubwwbwubwrwrgurwuwgrbbrurgwg -guguwggbbbgbggbrbrgwbgbrwbgrgruurwurbwggbuwug -rbrbbuurgbgbgbgggbrrwuwuwgwbwbwwuwbgubbbbwr -bgbuwugbugrwwwwgrbbgguwbrbwuuwgrgggrrbgwbwgruggggwwubbwrb -ggwuurgbwurbwubbrgbbubgrwguwbrwbrruwgwgbrwgrrurggwub -gggruuubuwrrugggruuguubbrbbgbruubuwrurwbrwggbrgrrburwggw -rrugwrwbrgbbwrgwgbbbrwrgbburubggugrwggrbrbwubrgurgbwrb -grbrubguwruuwggbwugwwgwuwwggubuwuwwrggbrbuurwubwbbwrb -uwbwuwwbbrguburrwrugburgrwuruwugbburubwguugwwru -uuwwrubggwwwuugrgwbwgbbwrrbburuguurbrbwuwwrbggurbbwguuw -ubugbwrguwrrwurwuwbrbbubbbwbgugwgbrbwruwwwrububgur -ggrrburgrgburuwrrubububrrbgruuguuuwwwgwwrgbruub -ggbuugwurgbgrwggurugubwggbbbubrgurrwwburuggrrrgbbbbwg -ggbrgrwuuwwbwbuwwwwgguwbbuwuwuwuwrwgwwubwwuwrb -wrbrgugwrbwrwguggrrggbguwrguuwbwwrrubgbbbuwwrrbrg -gbwbwrgrbwurwuggwwrwwgwrbbwrwwrbrrrrbuwuurrburruu -bgugggbbburbbbrguurbgrugwwgggurugbuubuugubwrwr -wrgbrrrbwwurbgbgbwbuuwbwwbugbgbugrwgwuuubugwrggwwbbbwggwgwrb -wwbwbbrwrbruwrurwurwggwwbrbuugbugbrwgubggrr -brbubbburuwgrbuwwuwrurrwwubrwugwbgburgwrggbwuwrguwgwuu -rwurrbrggrrgbbgbuububrrwbguwrgbwruwgrrruburuurwwrwbuwgbbr -bwggbuggrwuubrrwubuwrgwrbuwwurugrbbguuwrrugbgburggububww -gruuwburbbgbrbwgugwgwuurgububuwugguwuwwrbw -grrbgwbwrbrwgwrwuugwbbgrrggggwuwgwugbbgugwbrugwbwu -rugruggwruburugwugrgwbugwwugwuwrrgrgrggubrgbwgwwwg -urubrbgbgrgwwgwbrgbbwbrruuruuruuururggubwr -burbwguggwrggrwggubuurrgwbgwggwrugwwuubgrbwbgrrbug -wwbwgrrwbwwbrugrbgwgwgrwwggwbrbwbgggguuubwbgbburguggub -urrbbbburgwbwbbwrgubbggrwbbubuwrgggubggwrb -ggugrbggurrbggrwruwgrbrwgwbuurrgrwwwgugurrrbwgbbrbbggwrb -bwgubwruwrgbrbwgbwbbgbwbgrbbruubbuugwburwrb -gwrbbrwugurrbugrbgruwruwrwwguwubwubwbrwgrruggrr -rwgubrrugrwwwubrwwwrbrwwrbgruwgrubbgwgrwrb -brrbwgwgwggugbgrrrrgggubbwwwuururbgbrwugwbrbrbwuuwru -urbrurgrbgguguguuruwurgugwwgrubggbgbwwwgrbugubwggr -rbgruguwrurwbgwgurrwrrrggugrwwbrbrbwgubuwubruubwrurrgwbgbwrb -ggbwuuuwggggrububwwrurgbrbrubbwgbbbgbbbgbwuwwgggbwrbuwrb -rbbbburwggwurrrrbggwgwwrurubwbgbrbruguwwrwrgggrugubw -rgwgwwrgbrgrwgrrbrburwbwuugbgrwwwggrwrbbwrb -ubgrwwwuubwwwwgbbrurbuuruuurrbuwggbbuurgrrwrgwb -wgwwuruurbgwruugrwgrbugrbbwbgwwgguubrwrrbr -bwrwubggwgrrubgrrwuwuuugruuuubuwbrbbwrrbgrwugwgwugrguwrb -rguwgwugururbwwgwwwgwgwbugubbrbrgwrwgguguwbwruwrrrbgbu -wuuuugurbwrgbuugbrrwgggwwwrwrrrrgwrwggwrbb -wwbwbugrwbbuwwwrwrrrubrbgwwwburwgbgbwwbuwrwugguurbg -ubgbuubgrrwruwugwbwbwbwwgbwbuurwwuwbubwrbug -uubgrgrrugubggggwgrbgbrwrwbrgrwbbwgrburrbr -gbwwugwbgggrbguurbrburbwwrugguwbugwwugbuwwbguu -wuwgrgrgwgrbuwgrbgburuuwrbwguuwuruwgbwwubwwbururbw -wwrwgugurwrbbbrwbwubggguuwrwbuurbwbwubggbbuurrwwbubuwrg -bburgruburubrbwrwwwbrgrbuwgwrwggurburubrgwgbbruw -ubrwbwubbbbwbwgruwuuwbrgbuwwuwuurrrwrrrwgb -wwwwrbrrguwugugbgrggrubbrgrurggbgbuwwbrgggwuguwugbrwg -rbrbbuwrubbbugbgwgurggrgbwrrurbburwrwggruwrubgbgwwuuu -wuuugbgwgggburrrrgwbubbbgrubbgburwrbugbbwbwggrgrg -rugwgubuwurrguwbwwurrggrgrurgwbbwbubwwgbgrubruuuwwbu -bgburwubrrwburrbwgwuwwwwurwuuwbgbgrwggubuwubwwggrwrb -uurbururruggwrwuwbguwwwbbwrbbwrggwrgbwwugwrwuwrw -bburugbugwwwwggggwruwwggrwwrbrrbwgbbbuwgwgbwwwubgrgbwrw -rgggubrrbgugguwwuuwurgubgwrbuwubwburwuubrgb -rwrgwbrbbwrbuwwuurgwuwwbrbrwuububrgubbrbwrguruuub -uuugrguwruwwuwuuwgbbrrwwgruuwbbgwguwwruuwrb -bubbubgwwuurgwrbuuurrwrwwrurwgbwugguwgbbggggww -uwruwuguubrrbbggbgrbwrwwwbwwwggggruuuguuugbwrwwrgw -gururwuubwbbugububgwugbugguwuwgwrugbrwrwrb -wrrbwuuwbwbubgwrruwgguwgrbggubrgbgugrrgrubwwwbwbr -rbgwbgwububrrrwbuwwwwgrurwrbwrgurwruggguggurrrubbbwrwgww -wggbrggbrrgbrrgrggwbbwurbbrgugugrbrgrwwbrgubwrwuuruubwugwrb -rrgbggurbrwuwrgrbbwwubguwgurugurwurwbgwrrbbwwuwwbg -wbbggrwrgruwgrbrgburwggrrbbbguurgubbuwbruwwrggrbr -wubugrwrrwuuugwuubgrubbbbgurguwgrwgruwwruguburwuwu -wbwuggubbrwugwbwrrwurgubuurrrubrgwbruugrgbrrbrugbwrruwuubwrb -rrbuwruwguburwgugrwgwuguwuubgurggrbuugbuwrb -wrrbuwggurrggwubgwwuggbwuuwwurrrwwrwurrburgwbwugrgbuwwrwrb -grrurwggwgruwrrbbwuugrwgrgggbrgubggbugugrwrb -wwwrwbuuwgbugbwurrgwuwbuuwrbuurugurwbuuuburrurwrb -ruruggbgwbggrwwrwrbrrgwuguwwrwurrguwugurbbruwbrwuu -uwuuggwurgbwrrrbruwrrwrurgrwrbrwugrwbbburwurbwbru -rrbwuwgrwuugwguugbrwgubrbubgguwrugrwbwrrbggbgrrrugrbbgr -rgggrbugbubburuwwbrrrbuubrrwubuuuwgbgguuuurrubrwwuwwugrbwrb -urrgwwwrgwrrgurrgwbbrggwrgubwgwwwugruuubuuwggbuur -gbuguuwwrbggrwrrubwwgrbwrurugrwrguuuugwgwrrrgubgbwb -gwugrrwrgubuwggwrrguubugwrbururwgbwgbbugwwwrb -bruuwuwbgrbrwbwwubrbbwrgwubgggwugbuwgbrwbbwruubgwbbrwwwubg -wwgurbbbbbwbwwrwguwbrururbwurgbgwurrurbgur -wwrgwuurruwuwugbbrwbwrbbbuwgwwububrwwgggbguwrgwrwrrub -gugwrrrwugugruuwrguwbwwubbggrwbgbwrugbuwrb -rgubwgbggwbbwggwgggrrrgggbuwwrgrwggggrrgwr -gbgrbggbgggggbgugwgubggwrwwwrwgrbrguwuwgwrbbrbuwwgrwuwrb -wwbgrrggrbgrbwbrrrbwrwrwbwrbrrwbwuugggwrb -wbbwbwbgrbwwwuguubbwgugrugbbrbbggrwwurururwggw -uguwrggruugrgwwuubbrbbbgbbgugurruwruwbugwrugubwwbgbwg -ruwbwbrubggruwbrwrurbrrrbgrrwrrgbubbrwrwurwuubwbrruburwuwrb -ugrrbgbbugruruwbgbbbgwbuwgbwugurbrwbgurggbubwwrbb -wbbwrwrwgurubwgbrgwgrgggrguruubburrubwugggrrwgbbrugw -uugwubrgwuuwbrrrbgruuwruwwbuuubgwuwwwuwbruguuuwgrbrwrb -gugubrrggwbuugubrbgwgbubwwgrrurubwwrbbwbrgrr -wrggwguuguuwbgburwwgwgwbruwrgrrwuwwrgbgugurwggbbg -wwuugbgggubwwwgrgrbguguwgwwwgbuwgbugwgwwguwrug -uwuurugbwgbrrbgbbuuwuggbrbrwubwbrggwbgrubbrrggbuubu -gwggubgwgubguwrbggbwwgbuurbbuubuwwugbubwbgbbruu -bbubugbuwwgbgubrbrguwggbbugggbuwuubbwgrwgwg -rrrrwugwuurrrbggrbwbrbrugbrbubugrbubbrguwwwwwrrgwgbuugbu -wrurguruugbwrwbgguggbwruwgbbwgguurwbgubwruuwru -rwbbwbrbwuwrubgbgwrbbuwbgubrgbwrrwwuwgbrwgurgubburuug -ggwubrwwuggrrwbuuubwwgbbgwurwgrgwwuwubbrgruurugwuguggurg -bbrugurbrurbgrbubwurrubbrbbgugwbbbwuuuwrb -wwgwwbruuuruwggbbwuuuubgwbubrbgwbwwuruuguw -gburwbwbgrbwbgrugbuwubgrrbrrggbuwwrwrwbguuuu -uwuwgrbggbrwgwggwwgbrrwburuuguwbbwwwrgurbgurrwgwurguwrbwu -rbwrbuwrwgbbwwggrbwbwwggrwguwggbwrgbrrubgubgugwbrruwwrb -bbuggbgbwgwrrrggbubrggrurugubuwbwuguwbugrrggwuwbwrggbwb -ugggrbwgwuubwwggggwuwwwruuugrrguwwbwubrrwugwrrurwgbg -bwgrgbubgbuurggguubwwrwgbubgrrgrgugwrguwruwbrbwrwbbwbbbb -wrrrbgrbggruggbbuwwuubrruwgbuuubgwbguurrubbubb -rbwrrrrubruuwgrgrbgwwwurwurgwbugrbbwwgggugbu -ugbggrgrguwwwggbruuruubwwgbwuggwbrwbwwbrbwubrubgbrrgwuwrwrb -rwrbrubwbburrurbuwgrrrgurwgrwbrgwgwwrbwgbrwr -wbwrbruubggrgwbbrbgrbuwwrrrbwwburwgwguubuwguwbrgubbwrbrbwrb -rgrrbwrgwbbuuuruuwbrubbbuburguuburrbgrwbgruwru -gwrgrrbubrwgurwgruwguurgruruubgubguggbbwwrb -wgbbuwurburbwwurgbgbwgggruggwurbwuwbubrwrrwbburbgrwgug -ubugbggwuwguwwwuwugwbwgwwuuuggrrrrubwwubwbwrwrrugwbwrgwuu -rubggguguuwgbuwggrruwrwrgruruguurrubwuwrgruwwgrrurbwuw -wurbburwrubbwbwrruwrbrbuuugurbwuwwgrbrbggwwbgugubrrg -gugruugwruwuwrugbgurguguuwwbbrwrurrgubwbwbrgbwrb -wugrbrbgwbbuuwrrgrbwgwrruuuubrbruwggurgbrg -rurwugugguurgubwbuuuurrrwbrrurbwruurwugrubrgubwrub -rubgwwrrwwwgguuggbwuruwwggbrubwbrwgubrrgrwwbuwggbbburwurbwrb -wbbbggwuwbwwgguruwguwbugwgruwwrwrgggurwwuwbbwubgu -bgbwbbwruuugugbrwburuwwrwbbbuggugbwubrrwgwugbwguguuuwru -rbrwwwwwgbruwguuuuubruuurgbuubrwbrbrwurgburbub -grruruwbrwwrbgrgbgrwuwrgwwuwbbwgrrrrrrrrrggbbbwbbbbu -urrwbbbrwuggrggbgububbrbubuwggwuugwurbbbwbbrwrb -rwwubggwrrbuurwwrrruuuruwggggwbbuwurrurugg -bgrbrruwrrgrwbwruwbwbguugbrrggrbgububwbuubrububggugg -rwruuwbuwruuwrrwgbwwrbwwwbwwrwwuuggbggwbbrbbbwwg -rrgwrgwubgwrwugbuurgruburburuwwwbwwwwrgwwrgwrgrgg -wgwrrgwwurrrubwgwrgbrbwgbbubrrrgugwwguubuwrbbb -gurggwuurwwurwrggugwugrbwubggwwwugrbubwrubbuw -uruuwurrggwbgrugrrbbubwbwwggbuuugwgrwbuuuugrrwbr -wbbguguuwuubwwrbrbbrugwrwuuwgrggbbwurrubrrgwwrb -rruuugbgbgrrwwrwgrbugburbubuuggurguugbwgggwrwwbubb -brbgwwbgrugurrgurbbwbrwubbrbrrwugwrwugrwwrb -buurubwuubrwbugwbbrrgwbgubrggubwurggwbrwwrrurubwrgrrg -wbrbrrrgrrbwubwgrwubgrgrwuubbgwwwugbwruwugwwgubww -uwrgbrubwbuubuurrrbwuguwbggurbubuwgwbwrggbggbwruwuggguwbw -gwbwgbwbgrwbgbbbrwwggbgrurgrwguwgrbruuwbugwrbuwwbwrb -guwbwbrwgbgrrrbbrbruwwbbuwwggbwrrbuubugwbrwrb -wrubrurubbbuguurrbguugwurwuuuwgubrwbbgguwwbbbwwwrbwgwuwgr -rurgbrrbwwbgwbubuggwugrubbgwwwrubuuwbgwgbgwugrrugrub -rwugwrwwbuggwbugbbwrbwwruggbgrwuugruurgrbwwbuwwurubgbr -bwbwuuubbgurgrgrbggrubuuwrugwgwuwggwrggbrbwubwgwguwwrb -urrgurwuwwggrubgrrwrugbbgbbbgwrguggrbuggrgrgwrb -wuwurrrrwbwgwwggurwuwbrrgrburggbwgrggbgrbrrggburrggwwrb -ubugrbugubbwgbbbwwgwgwgbguwwbrgbrgwubbwgwwruubgrgrrrb -gurwwrggbbbburwbgububbrwrggbuwgbwrbrrugburgrgbu -ubgbbrrbubrrubbggrbgwbwrbrwubwuurgwbburwwgr -gwbrrgwgubbbbrrubwgrguguggwwrbggrwrwuuururwrwguwgrbuwbuuwrb -ggbubbbbwruuggrwwuuwbbwubgbururrggrbbwgwrb -rgbbrgrwgrruwrwbuurgugbrububrugbgwruwbrurbrwwuwbbrgbbrugr -urruuurggrwgugbgrwgubrbbbbwuwrrwgrubrurgrbuwrgwu -bbwwwwrbbuwubgrrgurbbruwrbrwguwrbwrurwwwbbuwgruubwwwrb -rbrggubbuwguwbggbrrbbwrrurrrbuuuggugububbbbwrrwb -ugwgwwwrwruugwrwrbuggwuuwgbubwgrbrwwgrggrrgrbrbgbbwgwrb -ggugburbbrgrrwgwbwbwruuwugrbrrrurgwrbrrbrwubr -ububbrggggrbruugrubrwrbgbwggwrbrwubggubgggrrgbubrrgrwrb -rrgwwwrugrurwuggggwrbbwugwwwwububgbrbguwwwguwguwrb -uuwwwrbgrrbwgwuwrwwwgwwwrbbrbuggwwuguurwgwrb -gurrrubbgwubwuggrrwwbbubbrgbgubruwrgubggrwgrburrrrg -uwugubuuwurruwruubgbgbwwggbrwgwgrbbuwugwrb -wwwrbwrbwwgbrbrwbrggrgwrurrbrbwuruuburbubguwwugggrbwgwgb -wbgugurgwrrbbwugwbrwuwrwruruwrrugrruugwuggggw -rwbrwwgrgwwgrwgwbgwrwrwguubuwwbguwggubwggwwbww -rggrruwggwrrgggbrruwrgbuggbbgbwbwgurwrugwbgwwwr -gbbwrgwwrwgguurbggrbgbwggbbbuuwururrgrgwgbgg -wbgruwwwubrbugwbuwuubwgrubguwgwbrubrgwwwgwbgwwrrugbgbub -ugbwugubwgwbuggrurguwwubwrrurrbrgurrbrubwuwrwwwwwgwwgrwwbw -wrwubuguggbrrbugwbwwwrguuuguubwuruugwbgwbguurgwwbggrwwbuwrb -uuugbgrgwrugwguuuuurwgggrburwwgbwrurwbgrrwrb -wbgwguuwbbuwggubrrwbgrgbwuwrgbubruwggbrrubbwg -ubuwbrwbbbwbguuwgugrbuwwrgugwubgrburbgbbrrgrubbbbbu -ugbubrurbgwgwwgrurbwugbwwwbbgbugbbbuggrwgrbugbgwwbuwrbuwrb -wgrwwuugurbgrrgwwbwrubrgrrwwubgbuggwbbuwubu -gbuwrwbrrrwrwbwwrgbugrbugbrurrgggrgwgwgrrbgubrr -wugbuggubuggbrggubwgggbgbgbgurrgwwbrwwwwrb -grgugwubbugurgbguwbgbrugwbugbrrwubwrwuwrgbrugrgwrwrb -guruwwrurwurwugbbrbwwwwubuwrwuuwwugwruwbggbbb -bguruwbbggggbgugrbgrrrgubbbrubwrrwrwubrwgrurw -wbbrbbrgbbgguwbruuguwbbbrbrgrubgugwrgbrrgrwruguwrb -wgrbrgbrgwurggggurwwwggubbggrrrgrubugwuggb -bbwuwwrwrrubruuggwwbrurbgwururwggwwrrrurrww -ubwuugrgwuuuwururbrguurgrbwwwrrwbwruwrgwururbugrwrru -rgbbrwbbguggwbrwwbbgrburwbbwwgbrbwbbubwwrb -uuwuuubgurwwggwwbbbgbgbwbrrgbrrwrbbuwwwgubgggbbrwbrr -gbuurwggrrggbbrgbuuwrgrggrwgwwrwugugwbgwwbrr -bwbrgwbrgwwubrgubbbuwbrubwrbgbrrbbbbwrwbgwguuuuubrgrgrw -guwguururgwuwuuwgwbruguwbbubuwbrggwwugrwruruuugrwrb -grgwuuwrbbgrrgggbwrugbgwbbbrwuuwuwgbwugwruurrrbbuggrwwwru -buwggggwrrrruburwbrugrwrrgwuguwggwbwbgugrgugwwurbbburrggw -ugrwgbbwwwbbgruubgguuruuuururwwbuugbgwwrgubrrbuwwugggw -wbrbbugwgburbgrbgrurrbwwwrbwbwubbgrurrurwwrrbwgbugugw -ugugwbwwgrrgrgbuubwrwbrrurrgbubggwrgbugwrgbggubbruubgw -bwwubbgwwrrwruuruguugugrwgwubbguburuurwguwbwrwrb -brrbwugubgwrgurrrgrbbrwrurugrugwuggwrgrbrwggwbbuwurrwwruwrb -rwbbrbgwgbwguwgbgwurgrbuurugrrgwuwuurubrbgr -uwwbuuwgbwgggwrububuugrwurgggwgbwbubuurgbwrrwbbrwuruwrrrb -bbgwbwrrruurwwugbggbbguggguurrbbbbuubbwbwrwbrwurrbuwgrb -gwgwbwgguwwrwugugwuuwurwgwgbuwgbgbwwuurwwggrubb -rgburwwwuurrgbuwrgwrbugwwgguwwwgbubuuggrwbgubrwrgwugwbuwb -gurrbwgburruggbrbuguugbguruwurbuugbrgbguguuuubwggrwgrrwbwwrb -ruggwuwgbgguwwuburgruwrbgbubbwwugrbwuwwbrbrrwbg -wwbrrgguwbbguubbuuuuugwbbrwrrgrruwrgwwrbbbbwgrgw -bwbrwbwwrwwuugugugbrbrbrrbwrwrruguwuwwubbugwgurrr -wggrwwubuwruwgugrguggugwbbggugruuggrwbggrwbbw -gbgubgbwgurbwrrrgbuwwguwrrwwbwuwuwbgburrbgwbgwr -grrububuwruwrubrgwwbrrgrbwugrggwbrgbwwrb -uguuggrrwubrgrwggububbwgbbwgrwurwwwgwbubbbruggrwbrbgwrb -brgurrbwwugubrrgurrbbrbuubbwwwwguwwgrwwugubgruruu -wrwubrrwburuwbrgwwuggurwrrwbbruruuwuwuwubbubuuu -bwbugbrrbwugbwrubuwbuwwubbbguwbrgwwurbgugrgrwgwuwwbwubgwrwrb -bwguwgurgurrrbgbbbwbrrrwuwbrwubruuwrbwrb -rbubgwbubuwwbubbrgwwgubgwwrrgbubrwbbrwwrbwwuwgbbwrb -wrbbgwburwwwrgwggggrrbubbggrbgbggwurwruburwubrubrgr -rggurrwwgururrgrwwwgrugwwbguurbbwbuwrwurrrbrggbbbbrwwr -ugwwgwrgrgugrbbbbubrwrubrbguwbrwubgrwgrrgbgggwugw -uwgrgbugbwbbggrgrbbgrwrbggrrwbbwbugwrwbrrwwuuwrb -bguubugwggwguuggbguuwbgwbwruggwrbgbrrbwbrrbgwrbggwrbrrbu -rgwwbubbbbuugubwbrwuwwrrruuwggrbbrbwguwruuubgbwwgwurbgbubg -uuwbwbrwwubbrwuuuwuwwgggwwubburgwgwbrurrwbrbgbbburwgb -wwrrbbwwbruwbgbggbrbbgrugubggwgggugrbuurgrbbgbuwu -ugrbwbwwgggwrgbbguugrgggwrggbuuwuwubrgbruwbwrb -ubggwbwguugbbubbgbbguubwuubrbwubrubrwguwwwrb -rugburrbwruuwrwwgwrwggrubgwbuuubugbwuurgbg -ggrwrruwggbubrurubgwrbwrgbwgwuwrbbbwbuugwubrubwuwbrbgbgubg -grgwugwuwbgwuuwuugrgwwguwbburuubbbgubbuwgwg -ruwrwrwwrwgwwrgbubgbrbrwwbgurrwrrgbruuwgrgrrrgurugugu -brbwrgurrwgwrruwubrwwwrggbuururgrguwggwbbgrgubrw -bbuwggrbugbbgbguugwuuwuubgwgbbrgugbgbwbrubbbgugwrgrgrgruuwrb -wgbgbubuwrurbuuwgrugwrgrbrwrgwuwbbgwrrrrwrb -wgwrgbbbuurubgwwrgwguururrubgbgwrbgwwwwwggggbrurgrr -uwggrggrbrruwuruwbuwurrrwwwwbuggbguwuubwuwbubrrwrb -ugubbwurwurgwwrburwuugrurguuwruwwrwbgruggwbwwwgwbb -ubwgwbbgbrugguwrggubbrgrbgruuwugbgruuwggrbgwugugwugrrwwg -wggrgugugubgrrrbugbbbwrrrwbwguuruugrwwrb -bwgwwbrwbbubgwubrwwwgurbwbrwbubgbwbubwgbbggrrwbbgbwrbbrr -gurwrbbbrbrurbrrbugrrrguurwwbbwugwbubuwrwbrgbgrwrbuuwrbuuw -gwwwwuuubuguwwurubwwrggguwgbrbbbgbububgwrbwbubbruwbb -uwwwbbggwrgbrgrubrurwrgugrbubuwwruugbwbgubugbuguuuuurbrgr -rrbubwbuwrgrrugubbbuuuwwbwgurrwwgwburubwrwrb -rurrbbgurbuuruwuuwrurrwbbggrrrgguwgwrurgrurubwrwwrb -ugbugurrgggrgrbuuwgbuugrrgbuuwugbrwrrgbubbbbburuuuwww -wuwgugruburwguwrwgwbwrbubbrbgwbrgbwruruwbbuwwwugurwgurwrbbb -wugwbruwuggrruggrbgrgubuubgurbrrrruwrguububruubwugwwbbwbu -grubuwwurrbbggwbwwwruuuuubwgwubwuubuuwrrrwgrururbggbbggw -gwgrwbuwuwgwrubbgbugrgwbgrbwbuwgrggbwrrubbuggwbgrwgbggg -uruwrwuwbrbrwwruwgurrugrbwguuubwrwwurubgrbgrgwwur -rguubrwwgubuwwruruwbuggbrburgrgurugwwwwrb -uuubuubggrugbgbgwgbbgburuwggrrggwrwruwgbuwwbrgu -gwgrgugwgbwbuwbgwgbrguuguguugrrgrbuugugbrgu -urgrwwwrgurwwrwwwggbgubbrgwwwruwubgbrgurguurwugrgwrb -rubgwbrwbgrruuwbruwrgwbwbguwururubrgwrurbuubww -brurbguurgbggwbbgwwwugbrbgwrwbrwrrbrwbugwuguwrbwru -rwrbbguggugwwgrbrrwrbgruwrwwuugbrgurbwuguwwubgbgg -wgrgbgbwbbggrwgrbbbrrwubgrbrbgwwururguwugbgrgrrug -gwuurwubwwguggwwbbwwugrwgggwwurrrgrrrburguwwrrb -guggrruwrbrugwrwgrbgurbgbrgwugwwwwbbbwwrwuwug -uwgrrgrbbgwrggrwwwgbgbrbbrbuuburbbrbrugwurugwbburgbb -wwwbbbwbbbrbgubrwbbrubugbrgrrrruuwgurrwwwruwgwrguw -uuubuwgwrwugrbggggbruugbrruwuurubwwgwbwgurbgbuubbgwbuww -wbrrwgbuwggubuggrugbwwbbbbwgwrrbgggrrrwrbgrbgg -gbbbrwwggbugrbrrwrgbuwgbrrrwgwgubrruruurwguwb -rrbbuwrbruwruwurbggburwwbwuuwrurbbwrbuurubggwrb -rrubbuurrrgbrwwuwrbwgruuwbbwugrgubgbwwruwbburgbwb -wrwugbbgrbgurubrwwwwwbbbruubwgrgburbwbrgbwbgwb -wwrwugwbbrubugbrrgrwwbwbuwwwuugbbwguruggwgwrwgwrggwrgrgwgwrb -bguwgugwbgwgubwwbwwrwubrrwubbwgrbwgggwuuwgrbgwgwgrwwggrb