From c9553a2d4dfcd26fc5972251397db026a21d2c71 Mon Sep 17 00:00:00 2001 From: Michael Kovarik Date: Sat, 7 Dec 2024 01:29:52 -0500 Subject: [PATCH] day 7 --- 07.html | 18 ++ 07.jl | 128 ++++++++ 07.txt | 850 +++++++++++++++++++++++++++++++++++++++++++++++++++++ index.html | 2 +- 4 files changed, 997 insertions(+), 1 deletion(-) create mode 100644 07.html create mode 100644 07.jl create mode 100644 07.txt diff --git a/07.html b/07.html new file mode 100644 index 0000000..c28b1d6 --- /dev/null +++ b/07.html @@ -0,0 +1,18 @@ + + + + + + + + +
\ No newline at end of file diff --git a/07.jl b/07.jl new file mode 100644 index 0000000..f13516b --- /dev/null +++ b/07.jl @@ -0,0 +1,128 @@ +### A Pluto.jl notebook ### +# v0.20.3 + +using Markdown +using InteractiveUtils + +# ╔═╡ 68bf7cd5-62e2-44be-99f7-372deccc0345 +const data = read("07.txt", String) + +# ╔═╡ c155de84-b458-11ef-0329-a51dcacef6b0 +md"# Problem 1 +In this case, we use a recursive function `isreachable` to see if it is possible to produce a result from the given sequence of operands. +" + +# ╔═╡ 012638aa-78ef-4e4e-adfa-0c01340cc951 +begin + function isreachable(result, operands) + length(operands) == 1 && return operands[1] == result + last_operand = operands[end] + remaining_operands = operands[1:end-1] + return ( + # addition + ( + result-last_operand >= 0 + && + isreachable(result - last_operand, remaining_operands) + ) || + # multiplication + ( + result % last_operand == 0 + && + isreachable(result ÷ last_operand, remaining_operands) + ) + ) + end + function prob1(data) + lines = split(data, '\n') + total = 0 + + for line in lines + m = match(r"^(\d+): ([0-9 ]+)$", line) + if m === nothing + continue + end + + result = parse(Int, m.captures[1]) + operands = [parse(Int, x) for x in split(m.captures[2])] + + if isreachable(result, operands) + total += result + end + end + return total + end +end + +# ╔═╡ f596e159-5fb8-43ec-8a0b-15f434cc24fe +prob1(data) + +# ╔═╡ 7d9779da-f8d9-412f-9e3f-5f20adbe6283 +md"# Problem 2" + +# ╔═╡ bec64e93-2c95-45b6-9811-927fbd01b3d3 +begin + function isreachable2(result, operands) + length(operands) == 1 && return operands[1] == result + last_operand = operands[end] + string(result) + string(last_operand) + endswith(string(result), string(last_operand)) + remaining_operands = operands[1:end-1] + return ( + # addition + ( + result-last_operand >= 0 + && + isreachable2(result - last_operand, remaining_operands) + ) || + # multiplication + ( + result % last_operand == 0 + && + isreachable2(result ÷ last_operand, remaining_operands) + ) || + # concatenation + ( + endswith(string(result), string(last_operand)) + && + result != last_operand + && + isreachable2( + parse(Int,string(result)[1:end-length(string(last_operand))]), remaining_operands + ) + ) + ) + end + function prob2(data) + lines = split(data, '\n') + total = 0 + + for line in lines + m = match(r"^(\d+): ([0-9 ]+)$", line) + if m === nothing + continue + end + + result = parse(Int, m.captures[1]) + operands = [parse(Int, x) for x in split(m.captures[2])] + + if isreachable2(result, operands) + total += result + end + end + return total + end +end + +# ╔═╡ a7a12154-f7a2-4f21-b1d0-26eeb2497fe1 +prob2(data) + +# ╔═╡ Cell order: +# ╠═68bf7cd5-62e2-44be-99f7-372deccc0345 +# ╟─c155de84-b458-11ef-0329-a51dcacef6b0 +# ╠═f596e159-5fb8-43ec-8a0b-15f434cc24fe +# ╠═012638aa-78ef-4e4e-adfa-0c01340cc951 +# ╟─7d9779da-f8d9-412f-9e3f-5f20adbe6283 +# ╠═a7a12154-f7a2-4f21-b1d0-26eeb2497fe1 +# ╠═bec64e93-2c95-45b6-9811-927fbd01b3d3 diff --git a/07.txt b/07.txt new file mode 100644 index 0000000..636282a --- /dev/null +++ b/07.txt @@ -0,0 +1,850 @@ +234815: 36 8 815 40 55 +155271616759: 1 7 652 2 7 421 4 58 3 9 +8580336: 3 6 35 3 6 539 2 59 1 3 3 +189612: 65 20 4 236 9 61 7 508 +17087913891: 854 2 2 5 910 22 367 1 +4724307587818: 82 651 885 4 1 8 7 8 18 +25057637: 630 6 396 6 1 637 +7872602815: 9 26 602 6 4 543 354 +20319060825485: 3 47 1 8 3 6 712 52 7 9 2 +6937026: 78 5 4 9 33 2 6 92 2 1 3 6 +16490320: 1 290 2 97 5 7 176 +81202174: 5 76 5 6 5 36 20 1 94 80 +531135610: 111 491 16 25 55 613 +527172: 3 955 854 462 72 +2799: 8 26 71 9 +1558950: 134 7 4 5 5 71 27 949 +8043570: 4 72 22 8 279 +43643248: 433 2 86 56 513 727 8 +583307: 59 2 9 23 11 231 76 +10272379: 876 1 514 739 27 9 +3254637331: 1 3 32 9 35 6 6 7 5 1 5 42 +892457: 89 24 20 6 31 +133629334: 4 8 287 22 97 +5784660503: 310 311 8 78 6 782 3 +4400201: 65 236 957 270 11 +1091316: 3 421 319 8 9 +909346771: 606 3 5 1 9 3 3 5 5 90 6 +73663: 73 6 63 +507442: 481 26 418 22 4 +246922771: 96 83 500 24 99 51 +30421378: 33 8 9 13 33 9 37 +995887199: 238 5 48 55 317 +1374726: 1 9 701 77 3 1 582 3 39 +5993001673: 7 1 859 1 59 28 9 2 115 +32111: 6 37 5 25 8 +15749: 48 9 6 94 46 +163723896: 723 251 525 9 13 4 42 +14156664983203: 9 25 50 937 721 2 67 +173811792: 407 42 4 82 31 +1447453: 5 8 462 241 7 +29495757285: 7 373 488 449 4 9 285 +4212640331532: 9 320 904 6 6 307 5 +499870673: 49 98 70 667 7 +1604946219: 58 75 1 895 721 220 +765912480: 2 75 6 987 47 7 +86058621: 956 12 8 69 9 +41337379: 4 64 979 91 33 3 47 +9744108902: 73 1 819 132 902 +1530162: 98 67 5 155 +198731: 220 6 44 3 9 5 4 6 5 8 3 8 +84748076541: 789 7 5 7 73 5 7 3 994 3 +2529151157: 7 705 97 376 9 317 +2228: 66 7 88 7 4 +2651040266: 807 45 612 8 73 5 +1064798: 5 7 52 7 85 +37595457: 264 734 8 2 14 97 3 1 +263091920: 3 98 80 91 284 +4343335925: 40 274 2 693 998 7 +5450841: 840 721 9 1 6 75 +643963238282: 2 6 33 1 885 783 1 2 91 +171085643: 223 14 548 36 7 +45690309: 27 821 2 687 3 +5564104817: 7 643 728 813 4 +86673: 89 7 69 2 701 +87323: 32 5 3 7 64 29 6 8 3 +19873: 380 7 106 7 508 +1548: 5 8 93 740 656 +762: 9 1 1 5 712 +307671: 9 815 8 881 30 41 48 +2932551: 42 54 431 3 27 +23646: 5 91 4 9 +1653697595: 7 54 5 40 6 9 9 72 7 8 9 3 +17216951640: 538 40 8 52 898 1 642 +4346316390: 78 753 74 387 3 +527476015: 6 2 9 433 23 4 7 52 8 15 +7028573625: 481 902 8 9 3 4 34 5 45 +93857: 64 6 9 5 98 8 62 9 26 3 8 +45372094843: 8 95 597 948 40 +13074553: 81 571 79 66 6 2 43 5 3 +3472508224: 4 9 60 719 23 3 677 7 +1123: 88 5 5 8 339 +1376356816: 483 548 65 2 8 +314881054465: 55 465 65 66 64 886 1 +23746140: 6 5 1 1 9 2 8 524 8 4 9 3 +724670: 1 8 1 3 700 3 2 6 6 2 46 4 +169538: 31 94 44 534 4 +10188004277: 456 26 943 796 2 77 +53849072361: 8 42 71 3 9 6 7 462 2 7 7 +102705: 7 168 5 58 915 +6862448: 5 680 239 9 996 4 4 +56087: 4 821 71 8 61 891 52 +188280018: 260 57 93 72 18 +3521099170: 2 48 7 69 2 5 54 54 4 6 +11299837: 184 4 231 1 6 591 6 +574320039: 3 9 903 53 5 69 634 9 +48049: 6 249 32 240 1 +9770796: 48 836 175 2 386 4 63 +190310120618: 9 70 49 65 80 8 77 +90545520: 692 1 6 23 94 6 7 3 4 5 3 +473: 427 5 7 1 33 4 +283849008: 834 414 4 4 428 2 17 8 +1420968: 734 25 78 5 6 4 +11864163: 23 8 91 77 495 +39421369: 16 7 5 114 9 4 387 107 +1822914130: 870 65 62 24 322 +290186191: 50 1 34 4 90 21 9 413 +14426: 7 9 9 18 10 +3992: 5 790 3 37 2 +470473510: 5 512 5 2 42 875 1 4 3 3 +1933330256: 263 4 9 7 573 757 2 56 +391837988: 484 8 5 6 73 3 5 3 6 8 1 +41215: 3 3 55 31 4 281 7 7 +932574: 1 690 4 6 5 52 56 4 674 +40262525: 246 7 227 103 445 +19826832189: 30 27 6 5 91 70 8 4 189 +2847924866: 50 7 816 99 7 82 3 +14027830830: 50 783 74 9 4 2 807 6 +56176536: 656 2 728 1 9 6 7 9 3 5 6 +441309276: 696 5 704 7 756 1 9 +297893: 2 322 461 932 77 +53805752: 4 1 6 8 6 4 1 576 8 7 19 8 +31530: 6 1 6 2 7 7 8 35 948 9 2 1 +7174489: 76 944 89 +153772299459: 3 9 9 4 5 4 1 90 86 9 77 9 +7038084958: 4 840 30 521 2 6 8 9 6 2 +27975: 5 70 6 62 75 +1157576: 7 31 5 846 9 3 9 5 +335534490: 243 863 2 8 90 +23443: 5 8 34 26 4 +630040988: 2 70 7 53 866 8 +900135925: 899 417 2 716 92 5 +2834904: 78 49 93 1 1 24 +37470200672: 96 1 6 74 643 9 9 6 67 5 +1736124: 8 894 9 9 6 6 2 6 39 52 +7869680: 9 15 44 4 805 +447156020: 38 336 5 5 34 1 4 3 7 7 +14761454: 1 91 3 13 25 1 1 59 7 7 +3227583252: 76 847 1 22 42 6 5 +7402326818339: 78 1 937 268 1 8 337 2 +180366: 9 7 7 66 7 6 3 24 2 77 1 +103360506330: 40 706 575 5 366 +259: 50 5 4 6 1 +59315037424: 977 44 78 8 8 778 +111540286525988: 8 401 9 46 79 3 74 39 9 +168954: 3 56 9 5 4 +4697629: 6 33 20 8 3 7 3 65 5 8 9 7 +21028140: 3 6 9 6 6 41 850 5 9 3 7 +2137182330: 77 4 9 660 221 81 27 +1270333614966: 9 7 417 5 7 2 2 163 1 8 3 +1518169539: 581 937 16 953 9 +1226257202: 12 262 57 19 7 2 +51632376: 5 509 2 2 7 5 47 8 9 2 1 5 +13761434: 8 2 839 7 25 46 8 4 2 2 +36652742: 3 2 854 976 8 79 6 2 +48788351: 84 702 12 4 12 +327773952: 4 316 56 4 648 +399669886: 397 2 669 886 +6890073: 911 7 6 3 5 8 9 4 5 9 20 4 +113214: 7 98 55 8 3 +787574304: 787 574 263 4 37 +114516889: 426 22 76 6 831 424 +490344553: 7 3 709 95 91 3 7 8 65 8 +11283196: 4 24 15 50 91 5 95 2 6 +392017032: 33 5 2 3 5 2 7 93 9 5 85 7 +7736727: 4 73 36 373 351 +540982: 540 1 982 +79329: 93 853 1 +763474860: 9 42 6 822 4 5 2 9 4 6 6 +54: 8 5 6 1 8 +41329549210760: 738 56 8 7 49 210 758 +11664: 3 1 8 3 48 +2169144: 9 87 217 9 2 7 3 2 40 2 +149623: 95 75 21 +220739980: 4 69 480 3 996 3 2 76 4 +127746: 2 3 24 65 709 6 +31250248161: 5 1 5 5 82 4 5 6 5 74 6 4 +2287761: 1 462 165 30 726 135 +996: 2 902 95 +1422687066: 986 6 71 677 3 +157354426236: 7 253 1 74 688 3 2 3 9 4 +610084: 1 9 62 94 9 90 87 1 5 61 +80898918: 6 7 4 69 3 9 8 59 3 2 +10388417: 274 61 7 4 82 37 +144427107194: 8 29 5 81 865 549 7 +61515: 578 40 99 38 297 +34146279: 379 401 2 1 9 +9728167914: 8 9 382 1 2 28 4 6 1 5 8 +104134517: 5 4 9 752 65 6 35 29 +17556093509: 7 6 3 4 2 73 5 67 5 2 404 +138: 1 5 23 +147849564004: 75 4 84 9 9 6 3 9 3 778 4 +8847: 65 8 225 9 8 +5661042: 1 942 5 6 37 4 +3207509550: 858 63 66 6 14 566 +722647: 7 57 8 14 12 47 +13280839264: 4 649 53 39 429 494 4 +2933: 9 1 6 8 3 +2524032: 2 44 77 1 9 829 2 6 2 6 8 +801191452: 327 35 581 2 35 782 +20879018: 718 6 9 3 1 8 4 2 7 6 46 6 +178: 9 65 6 8 93 +3374254: 73 2 5 3 8 4 7 641 7 26 4 +15093: 958 13 94 96 13 +597125887: 3 9 334 15 2 5 9 48 3 6 8 +4661394: 465 63 7 8 32 3 96 +835995349: 3 7 1 2 864 7 8 5 771 4 8 +26987199: 5 526 766 2 9 8 5 6 79 9 +520177: 3 304 6 6 5 4 8 3 5 3 7 91 +20670045: 212 975 37 5 +3424427877418: 8 7 9 74 6 7 980 6 4 9 95 +4514904676: 3 145 728 776 9 6 93 7 +5168: 7 71 5 9 936 14 354 +1014610: 159 8 2 410 91 4 482 +118433: 4 67 7 7 87 4 3 3 4 6 76 7 +21913289376: 9 1 29 3 9 3 371 9 5 2 6 2 +1998: 8 4 72 2 55 901 +56185682: 280 8 9 2 21 4 735 2 82 +3523211998: 216 94 246 50 924 +15800687: 513 11 7 7 4 6 +211665306879: 529 1 4 62 3 24 6 687 9 +124169195: 5 2 3 9 4 2 6 1 6 8 1 192 +6415: 806 770 6 9 4 37 14 +63754677: 2 64 965 64 677 +241396: 264 2 353 274 +38766796: 6 985 370 3 1 3 5 +1375304961: 55 710 991 2 93 907 +890426953: 10 118 477 88 977 +16774347156: 223 503 29 647 4 +1705177: 7 8 988 6 438 22 +1217609: 25 487 5 5 8 +350630: 24 1 10 45 14 +12594: 203 6 25 16 6 +29996424973: 3 2 9 284 3 7 249 62 6 5 +42762313: 4 2 10 38 4 30 87 74 +1957877082: 42 6 91 567 706 +1535: 1 1 2 27 7 5 +6003072855: 2 75 9 4 772 90 8 50 5 +42639052854: 47 405 20 8 7 8 4 8 5 3 1 +62301: 1 3 692 7 3 +216116392: 41 8 147 8 6 1 4 7 9 5 +567: 5 55 507 +426745: 123 29 701 49 5 +9849: 9 1 8 9 4 937 +1435267: 88 4 50 78 6 2 3 4 1 4 7 +122151: 11 1 89 32 51 +18989349: 7 3 8 95 68 3 58 1 8 3 3 +57454838427: 820 783 395 9 7 714 +1831360: 6 3 31 288 72 +55892870: 9 46 89 2 870 +723110784: 64 3 1 188 2 814 781 +578540160: 1 96 475 1 54 8 8 8 198 +965197554: 6 959 19 75 54 +5076765233: 5 640 841 9 2 5 9 4 6 +358902: 75 1 281 2 90 2 +434: 8 5 7 9 15 +511: 1 7 3 7 +18974676: 4 6 41 34 9 9 2 8 722 1 7 +9740211: 304 9 89 6 6 4 3 +120617043418: 6 5 768 1 8 629 5 570 6 +1792345: 255 1 7 3 41 1 3 +10447: 38 8 225 97 1 +7032854752: 59 596 2 2 5 2 8 9 4 2 2 +32524773: 114 28 60 1 3 773 +105636707: 99 957 3 643 4 273 +26939: 49 6 4 178 483 7 476 7 +18925509213: 4 626 8 5 5 4 61 3 1 1 2 5 +53911: 9 657 8 655 9 8 8 48 +16540603: 8 15 8 8 99 612 7 5 2 72 +635047284121: 9 588 2 1 1 6 1 67 412 1 +3498179460048: 6 420 770 6 876 98 21 +55940162: 932 27 7 59 6 10 +2673431161: 220 1 6 9 9 1 6 2 1 2 56 9 +992: 9 86 6 +34751772: 5 78 21 1 3 90 5 4 7 6 9 6 +11754337: 532 486 2 8 923 8 22 6 +399393: 414 104 403 918 9 1 +21013231642: 337 29 623 64 642 +3335004: 371 16 1 8 9 1 14 5 5 8 4 +3363268: 267 407 5 998 8 +5822561565: 5 6 7 439 6 46 5 8 1 85 9 +242218567: 225 10 1 7 65 1 85 6 7 +3936275: 7 1 792 3 2 7 +11537194338144: 7 350 404 14 872 2 9 +1719584: 3 13 679 516 83 4 +1314269: 31 51 61 159 769 +647: 48 3 3 31 103 +341416031: 7 5 2 11 1 92 3 9 6 9 62 +1452753: 21 79 6 50 97 96 81 +6804: 3 92 4 8 1 59 16 1 5 9 4 +2973255928: 1 6 5 8 45 2 648 5 6 85 5 +145350: 1 1 741 3 3 8 5 599 6 51 +6276679: 69 74 6 5 15 4 +58725315257: 7 6 73 7 5 9 6 7 933 4 7 7 +198748813: 29 7 74 1 5 298 826 8 +4224050454: 3 2 3 4 8 61 2 1 899 9 7 +545644: 4 26 603 771 548 +2037239837: 794 8 453 354 2 989 +99372320: 75 828 4 30 8 5 8 +156820: 736 2 94 2 20 +64309027437: 12 95 8 375 49 560 +18351: 594 43 79 303 2 9 8 1 +879044880: 54 4 859 63 657 3 8 35 +13148172: 4 2 7 531 1 1 77 7 3 7 9 9 +375445666: 75 5 371 74 16 9 495 +33108201: 45 34 93 44 73 +2383405: 611 39 6 36 6 2 6 +338437376: 87 389 7 3 73 +377102966: 9 2 960 4 8 3 6 6 8 7 79 +5207: 8 1 483 856 4 +421240244: 6 6 8 62 6 9 9 7 9 179 7 1 +6833185492: 96 12 12 632 8 6 92 +8995831: 6 47 3 33 630 137 +64063: 78 2 8 63 +189629583557: 1 838 58 2 1 958 355 7 +667400891: 71 95 704 139 7 4 891 +535715: 707 151 314 72 5 +35859722: 3 8 3 6 9 436 1 3 3 7 464 +17619000: 4 9 6 518 7 7 7 5 9 5 839 +1384137216: 7 6 70 1 2 3 64 329 4 6 1 +153820: 5 53 3 955 20 +166606210: 85 196 586 35 1 +5116097: 56 216 91 28 413 +625625: 1 3 992 7 6 6 121 6 1 5 +1098088311: 5 3 23 71 604 237 +14318248: 1 18 8 61 9 99 967 +12041646: 90 475 818 99 87 933 +27827184050: 1 902 474 6 308 4 9 +22218206396758: 728 4 657 835 305 7 1 +29293466: 82 166 4 538 9 427 3 3 +2043: 43 4 3 3 4 1 250 3 1 1 3 +552330: 70 408 87 423 19 +2564011611: 87 2 9 25 34 32 8 723 +38646: 37 4 48 597 8 9 584 +7137998: 8 5 56 3 417 17 82 1 8 +44663: 1 3 2 2 661 2 +2277256255: 190 22 7 8 7 256 247 8 +1003001: 9 2 8 2 969 3 291 5 500 +850006705952: 389 8 66 6 51 5 7 855 5 +14221542: 505 88 32 8 734 +24228423565: 42 506 57 35 68 +246743: 96 239 7 7 707 +3160602: 61 5 9 39 6 5 70 8 6 3 3 2 +43848294: 8 597 23 40 7 57 6 21 7 +862506240: 8 776 819 8 120 +4969: 16 289 6 270 69 +1433578: 4 9 7 1 6 822 4 6 6 +556935795: 370 92 1 35 98 7 3 9 5 +438347796: 4 383 254 223 96 +101329722098: 30 4 298 966 6 20 98 +1077664776293: 58 9 9 88 9 2 388 1 48 2 +89178: 12 9 68 501 2 +13972204: 12 17 55 876 1 4 +169687678: 459 7 69 88 808 6 +339338795540: 5 67 836 72 83 8 2 9 4 1 +70824884424: 8 4 8 4 1 2 1 19 276 1 3 8 +135972749: 520 871 3 8 959 49 +407463489597: 407 463 4 89 599 +14318725: 894 53 9 3 10 8 7 4 2 79 +545272096067: 9 810 543 66 366 798 +583: 2 5 7 160 59 315 +257321712: 1 56 566 8 997 +1725165348: 9 32 8 1 6 594 53 7 4 3 5 +1438277: 7 3 3 4 9 9 69 2 9 1 1 77 +3771839519: 6 4 16 92 9 1 9 71 800 +1758340: 9 39 667 1 5 +5275488825: 50 71 978 6 361 2 4 25 +26053872450: 6 691 89 7 2 6 447 +9450: 6 5 3 7 84 5 6 +95311557: 8 27 7 54 34 63 2 9 2 3 +804519: 18 41 9 359 3 +66106: 3 2 8 5 37 9 8 9 936 65 1 +68453598: 4 5 64 90 93 6 44 246 +951596: 2 7 9 62 85 7 6 297 2 4 4 +98538336263: 438 6 5 9 832 77 8 3 8 +911484: 3 303 2 48 4 +1640: 3 5 46 9 74 1 +103459686: 1 2 661 6 51 3 9 1 8 3 2 6 +115965921: 5 85 1 4 42 6 2 97 6 3 9 3 +386223718: 8 378 22 3 715 4 +19649: 7 8 6 4 97 8 761 +5027443270: 26 32 798 90 1 745 46 +1920817: 10 48 4 817 +23557514: 7 3 76 60 96 8 33 +127832584428: 81 6 29 907 4 428 +701077: 308 2 5 8 222 +5414824290: 2 2 82 941 43 30 +345251177859: 639 354 54 1 2 5 859 +18396970: 42 2 16 7 6 968 +184177: 3 2 365 29 83 +508375: 993 232 415 +82711: 7 697 552 3 4 185 +5249836800: 4 488 8 6 3 2 39 475 2 1 +275554044: 13 9 9 6 4 6 693 4 47 18 +624: 3 6 51 9 3 +576516693: 7 88 260 8 2 1 4 9 9 9 3 1 +84680467: 53 8 7 98 75 202 4 4 +739388: 671 68 33 5 53 +819857339208: 9 8 3 7 83 1 2 566 8 53 8 +9710: 4 967 3 +66557741426: 976 458 36 7 8 18 517 +108308520: 2 3 4 5 86 2 678 32 8 5 8 +204651: 3 65 9 1 97 454 +2508: 3 4 18 3 5 76 +11483: 12 944 96 20 39 +2455900: 9 156 646 2 599 +1878400: 24 9 9 6 8 936 1 4 8 5 1 4 +272387: 894 9 7 299 297 +99168: 3 4 2 30 956 210 +1572619563: 4 90 8 1 8 316 6 24 3 9 +1293: 10 5 6 787 +19662: 9 4 7 455 97 +9368735930490: 41 815 4 74 492 77 90 +17389031: 3 2 43 407 16 2 7 +46884: 726 5 2 554 6 +522: 46 351 5 59 61 +379558743: 8 8 456 67 12 70 7 46 +13246734: 79 5 219 469 331 3 31 +6531950815: 258 4 4 803 3 11 5 9 9 7 +10632348: 9 7 6 9 59 7 77 6 4 3 81 +1906238880: 33 40 5 538 468 120 +115357: 4 6 753 782 7 +527211: 31 6 2 1 8 8 4 7 582 8 1 9 +1645989082: 636 5 862 3 82 +2396: 572 4 4 61 31 +568779: 74 486 2 85 82 +643028: 20 38 56 564 2 66 +1743917: 4 612 89 8 941 +6515470: 33 1 7 5 8 1 1 496 8 1 6 8 +6703746465: 26 5 1 6 111 9 9 1 7 7 7 6 +5540262: 708 94 32 949 7 +277206086: 59 4 8 8 9 327 5 89 7 3 1 +980162: 31 2 69 29 4 26 226 +3542490: 328 4 27 8 8 2 +652680: 9 67 6 1 109 84 +3471: 8 7 59 64 96 7 +42356: 846 50 18 5 33 +19653579138: 42 8 194 2 603 5 4 9 1 4 +8832693: 120 763 26 93 +4956: 642 3 2 6 963 24 38 73 +18061244: 50 17 9 4 41 +3844233: 1 9 375 1 139 7 8 8 9 9 +10332: 6 4 8 5 708 2 +56814705894: 590 4 7 278 1 4 8 9 8 3 +56961: 31 8 3 4 8 3 6 8 440 3 7 4 +4349305992772: 2 17 465 2 5 992 77 2 1 +29479: 1 4 7 245 2 8 6 5 9 +786181051: 751 34 526 4 476 410 +165789: 1 11 63 34 507 3 +118010445: 6 6 411 66 5 4 3 5 6 1 2 5 +8316103: 87 3 924 48 53 +73226602495: 70 6 73 94 50 3 99 49 5 +2011100: 783 4 2 321 356 +146136086: 940 2 777 600 86 +19534951825: 7 18 5 1 8 89 998 7 9 24 +100230: 6 94 2 2 8 +3663504: 6 6 4 2 9 54 7 6 6 206 78 +7682131090: 2 12 61 6 2 8 9 5 66 37 +213463262: 843 3 3 3 4 9 5 7 5 9 46 6 +72035028: 2 26 987 32 98 8 117 6 +1069: 212 6 1 849 1 +50223360920: 928 5 33 328 920 +18815: 13 133 96 4 558 +95388581922: 5 1 76 5 2 9 6 5 5 7 585 +2270164: 2 7 9 293 52 +5441524: 3 2 85 1 61 564 34 2 6 +1076: 61 3 3 4 4 4 +2282157: 319 7 7 1 54 +1254937608: 5 6 699 4 724 4 8 1 5 4 2 +9735: 8 2 243 2 4 7 +79989614: 7 99 896 1 3 +527207309: 673 45 3 87 980 54 2 +3223380: 9 53 7 14 18 465 +99930: 4 7 9 866 64 +5470080: 85 454 13 787 80 +564252: 24 2 191 26 49 +5871813984: 85 6 91 6 189 8 13 98 4 +80735566: 77 286 703 52 757 +20499203: 8 298 87 668 287 +12093339: 2 4 157 29 68 5 +16792883: 1 2 836 604 2 73 7 6 +977491676593: 9 2 1 5 74 916 76 593 +12702104: 1 270 210 4 1 +34581205: 836 5 3 4 4 3 3 6 9 57 49 +10643489: 435 70 559 347 9 7 +406030588798: 8 5 1 3 68 3 698 2 7 7 9 +100340500685: 96 237 948 441 5 +43203: 4 300 236 80 3 +322535925: 616 68 27 81 95 +119242816: 18 9 719 33 39 64 1 64 +2776175: 58 673 67 71 4 +7194: 7 133 59 +701907953: 2 83 4 62 8 51 8 953 +14629123: 11 9 3 18 8 8 2 5 9 3 4 22 +4237: 3 56 7 60 7 +334: 186 62 77 9 +8716: 7 32 222 57 1 +378970: 5 1 5 2 178 211 93 638 +2261424: 44 16 2 1 1 5 4 5 2 678 8 +3700: 415 7 1 33 761 +671175: 22 7 48 83 40 535 +1487916050680: 31 331 2 98 725 675 4 +1514704135: 249 14 381 639 9 1 1 +1715: 232 2 4 432 975 70 +52378: 59 443 20 2 64 +32: 7 1 4 +71295537753: 3 3 86 5 501 31 89 8 99 +34542: 18 327 42 +2832644: 5 57 113 2 70 3 4 5 9 7 4 +546019: 26 1 3 70 17 +663752103951: 75 885 2 103 951 +39361407117: 9 7 7 5 5 9 6 4 4 7 57 115 +1112816: 314 8 443 +608225: 3 37 9 18 5 +10620: 99 5 48 9 7 94 1 +53963240114: 593 91 240 11 2 +77831461: 9 54 7 8 94 5 5 5 7 3 2 1 +280640: 8 4 4 76 2 659 7 3 353 5 +22673927: 249 5 760 89 287 +1774013122: 17 740 131 2 4 +16021618208: 4 326 68 717 26 42 6 8 +130387: 2 5 5 4 6 21 5 2 34 28 75 +48101318: 79 1 168 8 3 3 6 +1541632303: 1 5 5 2 116 581 6 14 82 +154225: 726 79 737 25 +1924560677: 3 8 8 2 78 9 99 8 630 47 +9573007: 327 287 4 34 3 +386463: 4 7 57 6 5 6 6 9 3 5 8 63 +61654284961: 139 9 666 74 961 +7623216066: 4 4 146 6 5 93 843 24 7 +181746: 64 284 520 2 784 +466308168: 20 778 5 1 27 831 +3829539362: 981 933 16 1 13 3 +1289888927: 82 3 6 4 5 8 50 1 55 873 +34260323963010: 9 93 6 352 98 6 5 6 968 +1960810915502: 15 70 29 95 657 690 +331976860905: 331 976 854 6 906 +5380055: 4 890 96 11 +26233385: 2 2 2 2 639 81 4 1 9 85 1 +20269389221: 558 55 9 913 357 221 +2282784237833: 9 8 4 8 1 6 79 2 3 6 1 833 +56888859: 23 1 82 694 712 50 6 +1611982: 3 730 12 366 59 1 2 +1759460: 2 4 8 4 4 3 141 7 2 278 +222805681: 5 906 9 7 1 6 5 7 9 4 4 81 +1624808255: 3 5 15 95 4 3 4 224 19 +14585438833: 3 73 9 74 3 64 24 33 +23412: 2 971 398 7 5 +21366575784883: 7 3 3 6 6 575 78 1 4 88 3 +712636287: 8 95 5 51 937 +1167610: 5 2 417 4 1 10 +1780908850: 6 7 7 4 1 37 4 617 50 +55250: 4 3 1 1 2 5 2 10 4 836 74 +78589: 68 77 3 66 8 437 8 +222410760: 4 5 8 564 8 9 5 14 331 8 +16554988493568: 361 4 441 966 32 841 +1380842766: 17 23 6 1 9 1 66 446 7 +481725: 9 308 539 36 6 90 45 +31247442135: 31 247 409 33 1 36 +1450717: 68 4 267 3 269 +923769: 91 21 483 56 698 +73630440: 32 62 39 8 780 +1529044: 5 729 8 5 418 +245940029: 9 7 72 8 2 347 29 5 5 2 9 +960620: 7 3 8 1 3 1 286 3 50 6 5 7 +82802721: 4 43 8 6 329 52 1 +472539559: 9 450 7 4 5 50 7 49 +452196: 1 1 44 21 95 1 +2383008: 8 74 6 6 58 5 672 6 96 +435601: 50 87 6 2 38 1 3 4 5 7 4 +1892: 33 5 6 8 68 +529904695: 58 9 3 52 7 557 95 786 +155303680: 4 76 114 9 4 4 7 2 5 4 1 4 +6325771: 8 94 9 375 8 25 68 +14435769: 5 3 75 5 233 882 8 4 89 +84250: 337 25 3 +8388299868: 9 21 5 6 9 285 2 7 5 86 8 +5591700: 7 40 48 135 436 +42310630: 861 7 156 6 45 799 20 +3907126: 4 559 5 145 345 +7181817627778: 718 181 762 77 77 +114: 7 1 2 97 6 +5012536329654: 5 808 4 31 87 2 4 9 6 57 +14994272: 9 6 7 2 1 3 1 36 62 14 68 +88: 1 2 29 +37171659: 2 5 1 1 106 258 716 5 9 +125547: 5 7 55 40 149 +516724523: 5 4 87 6 7 52 523 +8547254016: 4 7 120 1 63 68 4 21 68 +6496977509286: 42 8 4 946 17 70 5 3 73 +202045216: 92 6 5 9 415 2 3 9 8 54 8 +2142699050: 4 3 4 2 24 4 6 7 49 3 3 2 +262828: 6 900 4 713 30 8 6 32 7 +56968: 477 623 2 322 4 8 +7933170: 182 161 80 1 27 +284718813594: 823 37 21 935 92 +609005: 71 975 6 80 8 852 5 5 +7664: 4 9 177 8 7 1 5 8 8 4 1 9 +24519673876: 7 2 9 6 4 21 246 3 72 4 +4891: 9 152 6 5 61 +34731871: 6 9 8 9 88 78 4 72 2 7 99 +11940400213: 4 219 6 7 6 3 7 26 8 9 7 7 +177088003: 9 89 925 29 239 +15730032: 8 857 8 222 +48884514: 23 16 5 5 748 13 9 7 7 6 +5006910: 64 88 79 1 1 587 795 +950: 79 3 621 88 7 +1081631943: 5 739 7 6 9 7 2 6 90 3 7 3 +114117: 8 7 89 7 94 17 +2364516: 67 8 1 77 308 +121264948855: 137 910 78 9 977 +49509: 7 1 3 72 5 1 6 6 +831885228070: 31 996 9 1 692 45 35 2 +46568189: 2 291 8 818 9 +569680268: 831 34 537 646 629 +1544813181: 9 461 92 6 6 8 29 607 3 +638078: 637 44 4 633 1 +4399562753007: 5 12 6 726 2 75 300 4 +13364: 47 30 588 363 13 +1064634076: 4 2 5 85 7 3 3 5 3 18 4 2 +639290655837: 7 9 4 1 3 117 331 9 80 8 +672708: 5 87 1 9 20 333 46 2 +1373522976: 4 19 997 97 2 7 2 68 8 +30840121: 3 63 9 89 33 1 583 4 +2560185: 79 5 9 1 7 396 3 79 3 4 +22388150824: 4 5 6 27 319 4 1 753 2 +4314628: 1 6 1 52 16 3 4 2 6 47 2 6 +9774960642281: 701 71 3 327 71 2 281 +2516788936: 459 596 92 99 38 +62838: 57 5 8 3 8 +1718832: 2 96 895 43 1 +559683: 5 1 74 7 5 4 2 1 2 6 9 27 +63466: 37 7 4 48 5 4 260 82 +995672: 86 87 81 79 46 65 2 +193009700410: 5 5 772 969 18 86 11 +167097580: 780 1 42 3 51 5 +1476176: 9 53 392 607 176 +6416866958: 3 558 9 62 33 48 20 +2330944: 23 2 9 960 983 +2411883980: 9 21 223 73 3 114 38 7 +2047338: 2 909 78 580 9 +11510262: 9 62 316 892 26 9 +2643171379: 5 755 90 5 2 7 7 79 +87781: 2 5 9 12 8 15 46 6 4 8 9 +10228522: 6 96 2 852 5 +11702763: 86 81 7 585 691 3 +5144841: 211 1 7 236 41 +6088926: 5 2 709 8 926 +21656183: 7 3 652 4 186 +47638073: 7 9 708 356 3 7 24 970 +29882356081: 3 59 21 4 2 980 1 7 4 6 1 +49010208: 3 631 1 39 346 +1337526446: 47 87 56 994 48 +6239232904: 6 93 2 4 81 90 1 +1438200579: 3 7 5 36 850 3 1 4 4 9 8 +34066: 5 2 5 94 9 5 38 2 +1057: 9 128 3 8 1 410 217 8 3 +676708124: 901 1 2 555 75 5 +33205: 52 7 7 44 8 5 1 +66709: 61 7 5 907 413 85 +2475718: 6 5 14 82 7 7 4 624 6 1 1 +7578683: 748 8 2 16 683 +786430: 21 898 949 27 415 5 +44135460: 9 23 5 6 7 8 5 8 2 1 6 359 +1518946204: 166 6 9 5 4 1 565 3 2 4 2 +1147031: 6 2 7 2 1 8 82 5 291 1 9 2 +206732821: 8 934 52 5 89 61 +36449490: 4 4 96 6 40 4 4 3 7 9 1 20 +228783753138: 7 772 448 9 86 1 35 2 3 +86: 6 50 16 5 9 +1235045568965: 722 3 64 55 8 619 6 43 +712856718: 710 93 192 1 5 711 7 +5968984: 6 2 87 40 8 891 52 38 +517974543: 899 1 2 57 4 8 8 23 3 1 3 +74817: 6 6 8 811 6 +282697802451: 2 7 221 9 6 7 290 4 90 5 +271822863: 3 254 64 243 531 68 3 +13512: 19 23 6 7 11 +448211577679: 9 7 2 786 5 1 4 1 3 8 6 79 +1968308: 98 2 250 580 8 +60939986905: 132 91 6 9 2 2 621 41 +4774983552: 4 99 7 5 32 8 9 18 174 6 +258648: 33 3 887 7 439 +5747901413760: 83 2 5 3 7 2 66 120 874 +398710669: 9 81 2 645 63 49 +4389: 2 55 77 +21212: 4 265 6 2 +6870: 3 3 7 9 8 3 2 77 3 9 4 930 +42565865: 96 301 442 2 87 734 +36842511: 491 75 9 8 509 +165093115: 5 330 9 311 8 +194448: 45 231 9 4 521 5 6 6 8 1 +94388: 94 23 8 56 94 +149952019: 22 1 43 640 18 +5989030: 9 144 8 7 699 +921784868160: 30 3 4 42 490 1 1 32 65 +124045837347: 886 14 58 37 342 5 +140597144622: 28 40 71 80 57 341 6 +13288550: 5 9 6 7 56 3 6 1 7 5 407 2 +489624800: 65 4 887 8 800 +31824: 53 22 47 1 9 1 9 +9761568: 16 2 5 610 15 67 3 +5400210715: 4 46 2 60 2 332 9 9 754 +30660861688: 8 8 7 73 8 5 190 8 22 4 8 +10629: 32 8 6 3 771 +20252735: 441 7 4 509 9 134 +2560350: 6 73 76 38 61 +7806036: 218 6 79 84 67 +360894478: 3 2 37 14 5 7 7 42 8 8 8 6 +27699620: 92 29 3 39 3 18 +48933: 39 9 933 +439188456: 2 6 3 66 4 303 89 6 97 4 +3058662635: 30 582 4 625 6 8 9 61 +514470819: 69 46 8 9 162 74 1 9 +1362: 160 7 239 +8011206990: 84 425 243 762 85 +67314: 7 48 4 3 2 28 +143: 2 7 10 +77330133: 6 45 123 863 4 4 8 9 57 +14652470880098: 8 9 27 3 3 960 785 92 6 +68484217991: 796 48 907 948 263 +8888898: 634 85 14 4 994 +12403276: 317 6 96 4 79 +1545635: 18 7 72 223 553 +66790: 4 3 3 9 506 +22531835: 17 2 686 966 851 +26907: 8 640 261 5 +1810285: 112 2 49 466 79 +268104: 7 8 8 5 7 1 6 751 +42855: 7 13 9 6 21 +445: 44 2 3 +8047: 3 60 4 5 381 2 85 1 +1021: 23 7 6 256 585 +1064: 6 1 1 5 2 74 5 7 1 13 71 6 +402479220: 40 194 53 921 9 1 +589455408: 66 1 4 4 87 2 2 82 1 6 8 +33724689: 3 844 371 586 8 +179340: 8 911 46 20 200 +1210205016: 7 68 7 3 70 1 3 9 48 54 4 +9564: 3 372 5 6 4 3 6 242 4 36 +20285637: 25 5 2 4 2 9 9 81 59 8 93 +94121829: 98 337 3 551 78 5 9 +2922: 15 943 16 3 +16854333: 87 9 4 6 3 607 7 5 32 4 6 +7846808: 8 34 727 2 5 260 5 6 8 +366220: 30 8 93 7 29 56 9 2 998 +232546579763: 5 40 4 78 33 770 44 2 +1364793638489: 5 30 9 1 562 2 41 31 19 +191227442: 1 558 6 6 57 3 6 485 45 +31440: 9 38 1 9 953 3 3 3 9 4 2 1 +563024: 639 8 8 11 1 +968436: 97 1 61 9 9 2 +54483: 883 474 5 4 3 +35696: 92 5 92 1 4 +48802840301: 610 8 2 840 304 +4640985990: 94 2 6 4 4 7 2 8 2 6 6 264 +65759: 14 58 7 8 745 +93478: 93 48 1 +1165: 89 22 9 39 7 +5626467081: 6 35 7 15 68 31 6 9 62 +25705178: 265 97 178 +96427474: 2 4 7 926 6 6 865 4 7 2 2 +95871699683: 5 9 7 11 3 5 88 3 3 96 8 6 +2461274295: 9 1 5 54 82 2 6 77 9 1 2 +75444566: 443 96 281 92 4 5 68 +1731805708: 91 62 989 189 785 +1725: 542 2 3 18 73 +3322698: 55 3 6 4 583 80 4 29 2 +217862649: 2 323 3 90 4 69 61 9 +299653325193: 930 6 92 35 77 5 7 +3245407825: 67 78 361 2 575 31 +51713982: 1 29 1 348 39 35 529 9 +130867: 99 9 4 1 9 42 36 727 +393375: 96 7 5 38 7 5 +9640088670: 7 38 7 549 8 1 4 67 1 5 6 +27977912: 3 14 9 1 8 3 1 1 2 656 9 8 +22015896015: 9 7 6 5 5 3 2 965 7 60 7 8 +59170: 888 6 8 6 78 6 9 +252687: 1 55 349 5 11 676 +2688762662709: 233 56 447 969 461 +91885664071: 7 38 9 2 84 8 8 639 1 70 +70719660: 208 69 284 5 764 33 +6090205: 608 95 50 567 89 +279814: 5 9 659 842 2 76 2 9 96 +13035: 5 6 60 8 165 +8830: 629 98 69 8 864 +164203534: 3 910 6 1 1 6 1 3 3 45 8 2 +1180515208: 3 3 5 12 96 386 91 598 +201379689098: 6 3 693 342 63 50 2 96 +1081964: 7 7 951 81 964 +8349602882: 710 4 2 7 7 3 2 78 9 1 4 9 +106930151: 8 1 193 5 3 9 7 4 7 6 3 +63797700657: 6 82 9 9 21 5 629 8 2 1 6 +19513155835: 272 15 717 8 37 +325472: 1 4 53 8 4 7 +42251: 61 68 8 69 2 +950015391: 1 8 9 5 5 4 999 7 3 6 391 +2488834474356: 8 9 3 6 166 1 31 45 3 6 +9609639416: 901 7 592 63 8 1 418 +452711265134: 8 2 813 94 44 87 4 4 +3163159356: 12 345 949 27 3 +520669356: 5 78 512 7 9 855 17 9 +21850454: 910 50 33 2 22 52 +2735378: 7 421 2 52 460 218 +31544: 624 49 12 69 887 +1785141121: 3 404 263 4 5 317 6 28 +3813649: 55 43 545 895 7 7 9 49 +125764604056: 85 4 2 6 17 4 6 470 866 +5353720042: 6 2 55 1 8 3 1 7 2 888 5 2 +2046728: 1 64 6 208 8 +12731308: 615 115 18 6 799 +75530: 83 1 1 70 13 +5585555520: 445 4 2 8 530 74 +60290: 7 861 5 3 9 +6005643840: 6 565 16 913 3 5 7 5 6 8 +13786986: 8 3 846 7 3 97 278 +541296749: 737 8 39 641 8 83 9 +677: 50 5 514 99 9 +5929: 1 41 35 24 970 +133575: 3 1 8 970 66 552 2 207 +23813165: 25 7 866 61 1 53 5 +321: 26 7 48 40 51 +7572679: 9 1 4 1 4 6 666 601 7 2 7 +21428764753409: 6 3 6 6 566 4 752 5 9 1 2 +800864113: 6 3 8 64 682 3 77 377 4 +581925765: 2 6 169 20 7 869 576 2 +11566767: 5 102 9 836 99 +2124521: 59 5 8 9 29 492 +44315624521: 39 5 4 88 833 24 519 +73836378: 424 347 58 3 +6324: 190 54 9 2 21 12 +41389305103: 643 190 4 99 44 65 +2264807129: 7 4 7 6 5 5 3 98 4 4 9 13 +9834346: 1 7 128 4 66 1 344 +8041812452: 1 44 89 555 6 411 4 52 +359572559043: 2 870 6 87 3 3 5 87 80 3 +619646: 61 889 71 4 3 +30132: 6 3 818 2 2 18 +3867753588: 82 818 955 71 45 395 +42019719768251: 2 95 1 614 4 3 8 9 4 2 5 4 +67142400: 5 538 4 312 20 +4859: 35 78 43 +63062582: 76 975 6 2 585 +66641931: 66 625 7 9 929 +7652445: 19 49 41 7 2 2 365 78 +49162643986: 42 153 8 9 5 3 849 8 8 +8804602981773: 38 662 7 5 298 1 7 73 +4113176424: 892 50 50 2 8 7 329 +1117038228: 2 797 7 4 8 3 8 140 2 86 +13544236: 281 482 17 19 +69460233: 3 1 193 6 465 2 8 8 3 3 1 diff --git a/index.html b/index.html index af6fad6..fc7edc0 100644 --- a/index.html +++ b/index.html @@ -33,7 +33,7 @@

Advent of Code Solutions