diff options
author | mms <git@sapka.me> | 2024-12-09 00:29:18 +0100 |
---|---|---|
committer | mms <git@sapka.me> | 2024-12-09 00:29:18 +0100 |
commit | b61119c2a9f2db6d29ac8379963db0c89e1787b7 (patch) | |
tree | dbc00eeb95ef862de654dda96996e5ba883cc800 | |
parent | 2e16b029a7293bdf821b4e01441b56fc5c1baa81 (diff) |
-rw-r--r-- | 2024/07a/data.txt | 850 | ||||
-rwxr-xr-x | 2024/07a/run.rb | 72 | ||||
-rw-r--r-- | 2024/07a/s | 9 |
3 files changed, 931 insertions, 0 deletions
diff --git a/2024/07a/data.txt b/2024/07a/data.txt new file mode 100644 index 0000000..3da058b --- /dev/null +++ b/2024/07a/data.txt @@ -0,0 +1,850 @@ +82042417: 7 5 192 12 8 82 8 1 6 9 1 +2580: 252 9 212 98 2 +3554112: 2 515 8 4 856 +127435: 7 72 6 51 1 5 222 7 6 7 7 +600421542065: 241 56 478 116 52 30 +18582: 5 588 3 3 826 26 3 3 6 +2907: 4 726 3 +1334594: 8 834 492 5 94 +11464362: 5 84 98 87 57 5 78 9 +6165: 6 55 20 6 38 1 +743449725: 8 9 2 269 246 17 3 3 75 +265518: 1 99 3 6 149 +215288: 5 3 4 4 2 4 8 +7272: 717 8 1 4 9 +79460193082650: 9 98 89 9 930 82 650 +18337280: 616 3 37 152 2 32 +869638795708: 57 4 852 31 466 38 +418327253: 806 6 2 634 3 963 47 5 +2408091537: 70 344 91 535 1 +71186: 943 8 4 882 378 8 722 +509646: 5 7 7 7 89 3 94 7 3 3 36 6 +65366: 9 7 9 4 54 7 879 +2229016465: 6 89 237 99 25 6 465 +155: 14 2 13 +2116248444: 3 933 2 7 14 6 9 6 +393021858: 74 8 793 663 99 +27222056614: 33 197 63 82 1 4 +3327312: 8 93 613 16 1 5 42 9 14 +113110367: 770 254 73 7 89 17 +8780457: 235 642 949 7 960 +1509: 21 48 49 12 93 +34641: 337 8 75 1 65 +11744767: 22 58 4 9 52 619 +22531: 48 1 4 9 8 4 7 77 727 6 7 +5252: 8 3 178 4 12 2 +1522: 33 7 4 717 2 +337392518: 58 7 831 6 518 +116800: 32 4 18 8 20 +2233246681792: 77 3 8 57 1 2 80 96 7 86 +6584995387: 6 13 392 802 84 17 +111052288: 9 25 3 660 2 642 4 6 6 6 +53874653: 42 9 8 4 7 3 43 8 4 4 82 +2749437: 3 475 2 51 79 +1003: 35 7 9 95 421 436 +11931540: 5 6 93 153 8 +1651: 44 5 761 417 28 +1926656: 71 9 3 57 908 6 +3218061121: 42 5 8 108 433 737 +69028: 590 295 7 693 14 7 +7988724: 83 7 5 2 3 8 9 3 81 929 9 +5533444: 5 6 306 35 6 98 83 +51450028: 8 4 9 4 9 2 13 9 3 3 7 4 +17146971648: 81 9 4 36 3 27 4 8 752 +83507688: 9 2 5 421 645 588 291 +1737402116: 435 33 931 5 633 26 8 +12421568663642: 77 70 845 68 6 636 42 +21760: 661 8 11 8 4 +39002586: 525 64 7 106 98 +1668692704: 36 83 626 4 8 5 399 56 +335560368: 12 3 3 97 366 13 8 682 +4244333: 42 2 689 4 35 93 +4311422208: 364 685 5 818 4 8 9 4 3 +286270: 7 47 221 5 4 1 7 5 1 6 7 3 +44451241073: 51 31 89 470 281 3 +5015508: 18 5 218 94 7 564 +74778098: 22 55 1 618 98 +487307415: 73 9 1 7 212 7 287 565 +276695: 49 968 62 4 8 8 465 6 +7449846: 6 2 737 5 192 824 62 +1378920140201: 5 3 321 325 9 891 9 9 +1407403: 33 4 76 1 343 763 +1845694633: 1 5 677 3 1 77 18 9 6 3 4 +707459260: 1 28 1 8 4 21 31 8 2 6 3 +547220811: 912 60 24 115 5 685 8 +137301177675: 32 7 828 55 507 675 +7451982902: 7 6 789 413 1 9 7 8 6 97 +1646069845: 4 81 4 5 7 50 6 98 42 3 +423103729: 8 47 5 1 4 9 43 38 3 29 +501413058: 9 260 25 42 7 54 +6766589: 254 74 90 4 29 +1407127249: 5 873 8 5 2 3 8 724 6 3 +22767125: 1 9 25 3 851 7 125 +586463195: 8 42 6 6 3 8 385 71 85 +2160452: 94 30 766 4 328 +14083090: 80 33 865 41 98 +187721659: 131 56 720 83 82 9 +1027: 11 2 79 +32: 4 3 2 10 8 +263256283575: 99 954 25 62 8 3 57 5 +37170: 1 582 3 5 63 +377341867: 3 8 30 783 9 2 26 218 +4188173044: 81 116 782 57 6 +979: 6 7 877 54 6 +13232: 77 7 23 835 +4264: 13 371 8 369 44 +16377515: 394 815 9 7 51 89 +4680761405: 5 71 2 60 7 61 3 29 77 +32046982: 92 8 1 8 3 6 57 9 5 74 4 +357612: 723 284 355 47 68 5 7 +1979: 878 580 4 275 242 +4041171478: 8 7 1 2 7 2 1 76 36 9 3 23 +1071675: 74 965 35 3 5 +59261728680: 54 7 4 1 1 7 22 785 4 81 +84516446: 60 368 87 2 14 +794869179: 60 81 9 95 5 9 7 29 1 +3385720: 8 266 64 571 8 +946846: 879 6 61 783 64 +10066: 61 6 633 7 5 +9229111592: 922 7 2 110 9 6 1 1 7 5 +21742576: 7 6 5 1 4 4 833 76 1 2 4 4 +1880: 8 8 314 723 4 707 3 65 +4974334113837: 491 1 63 3 341 1 383 7 +1980: 79 6 1 607 89 810 +914511: 13 9 6 451 3 70 9 2 9 4 3 +12037223: 2 2 7 249 5 224 4 7 5 2 3 +14566483: 75 816 876 1 8 4 82 3 +858: 6 5 1 1 1 78 +931135319105: 57 957 3 49 17 5 945 5 +3895507111: 8 507 768 42 711 4 +204523320: 8 964 35 66 5 7 6 4 1 +4416: 88 96 8 3 +67034: 66 964 6 5 54 5 +700206: 67 9 85 358 929 5 78 +745422: 94 44 428 3 439 +47440: 472 6 1 1 4 1 9 8 7 3 5 9 +100915823046: 2 3 9 8 4 77 794 6 3 41 6 +6064691: 6 95 6 4 691 +76052: 1 77 975 2 +65482: 6 535 13 2 +6975: 1 700 621 39 34 5 +18156255: 437 4 2 674 258 +4268960: 9 415 9 7 44 41 8 4 +92110132224: 6 52 2 5 4 6 16 97 969 8 +549947: 196 28 4 5 5 81 5 717 +854444814: 3 4 6 1 295 7 8 16 13 +5281757: 286 3 15 1 6 29 6 3 7 7 +252349405: 6 8 15 1 8 899 73 9 385 +19673804880: 65 558 54 4 45 51 59 +383488: 2 1 98 9 651 56 2 4 +13621: 76 51 3 1 34 985 974 +38967484: 8 1 5 8 59 2 24 39 482 2 +27342247: 256 3 751 3 6 247 +15734: 4 4 978 6 80 +1571395: 17 3 46 2 7 8 7 95 +83562: 62 1 5 6 4 1 16 649 4 1 6 +61624782824: 96 95 529 908 7 500 +1107112: 2 601 1 51 36 4 +16778202: 8 2 1 5 7 9 2 6 165 5 6 1 +138664: 9 8 3 3 906 46 +844009: 7 68 6 2 6 203 602 2 5 +9368306308: 9 3 33 35 21 9 6 30 6 +43332149: 3 4 78 2 5 8 69 55 94 +854701: 11 14 11 74 2 21 1 +26847296: 433 62 776 4 516 +279235: 6 93 42 5 5 +3486120720: 7 661 3 5 65 7 8 8 5 8 64 +5054: 49 1 54 +84392160: 586 6 340 3 8 +354455198890: 385 277 390 1 92 +156146585: 78 2 137 9 579 6 +16431072: 3 648 1 5 6 8 5 29 3 9 1 7 +68684: 93 8 68 4 +7385614: 246 3 55 70 42 +66220840: 91 81 385 708 132 +441696: 6 4 594 191 9 8 16 248 +1698162977: 82 5 82 3 415 78 2 2 4 1 +1035271918: 2 8 667 1 6 2 97 4 3 18 8 +6240240: 3 7 8 1 39 8 21 9 3 216 6 +23215498: 8 9 2 8 9 9 984 9 23 4 8 7 +2722917882: 228 71 7 74 64 170 +132544765: 556 3 76 76 765 +254959068: 55 1 68 9 96 91 83 +19458: 1 66 139 1 94 +26352: 376 4 142 2 8 8 8 +2071416: 5 8 5 7 4 6 159 7 6 1 80 9 +10006390: 7 801 4 9 344 115 3 +1206452203650: 2 14 696 71 65 810 +142568786242: 1 584 9 872 6 62 37 5 1 +25986: 17 2 572 96 37 567 +5636751122: 4 52 3 6 74 4 41 670 9 +9265906: 4 8 6 8 9 45 348 21 4 58 +654: 4 5 90 5 2 6 9 2 1 3 199 6 +1169: 8 4 5 9 1 78 3 7 61 6 45 1 +13776086: 3 6 8 1 79 565 5 1 46 5 6 +36373363267: 41 82 906 96 70 +2851304: 75 6 44 800 104 +1591645: 83 599 421 6 785 43 5 +15591: 1 864 2 1 3 6 +280828: 1 3 27 118 7 +47926943: 52 37 223 3 68 753 +2240: 208 2 6 6 975 +808084: 545 6 7 5 900 1 90 1 7 +965453818: 473 9 6 1 1 7 9 892 2 34 +47700: 443 34 2 10 5 +60081595: 594 6 80 6 35 72 888 +51765424906: 96 5 4 493 3 5 7 4 906 +9732: 67 74 7 3 80 7 5 6 +252517230191: 835 8 3 3 2 378 174 17 +84474639541600: 4 90 4 28 483 800 769 +1189017437355: 4 2 323 95 5 37 887 99 +587144716: 53 17 4 7 682 2 1 831 4 +27031122: 4 2 5 1 79 66 4 36 4 1 6 3 +102799: 3 922 973 21 4 +346500171: 2 88 55 70 170 +5132997233: 56 3 7 1 58 2 901 230 3 +44065984: 57 76 99 63 72 66 30 4 +105159: 659 607 1 83 81 +10108602: 52 7 1 6 10 3 1 9 511 +184443: 41 1 143 4 46 +44700: 39 54 4 5 6 2 +1316022593: 6 61 782 912 1 6 592 +24538370210: 24 518 15 5 370 207 +3324805704: 3 4 484 8 6 7 8 6 81 99 +904128000: 45 5 30 4 272 554 +11628152: 6 4 88 9 6 97 3 8 6 84 76 +782106380: 790 99 63 18 62 +2208104: 69 70 6 74 76 +1187200644: 6 2 2 54 7 1 1 96 2 2 641 +51106677924: 35 2 73 667 79 10 14 +171010225: 3 1 73 5 89 1 2 10 225 +7008750: 252 3 590 2 6 15 25 +758394873: 758 394 863 4 7 +1170182: 4 975 60 3 +6427825250: 79 620 74 7 350 5 71 +105568282766: 897 294 4 810 827 66 +441936099: 7 4 5 5 620 288 1 9 99 +10286: 238 4 186 4 6 +6646548: 70 63 941 257 8 +342551514: 2 9 457 3 3 7 9 31 6 9 1 4 +794584: 30 975 4 3 31 196 +32321: 1 95 339 42 74 +264538971216: 3 79 1 127 458 2 536 6 +47079978: 4 4 461 987 78 +39123068781: 705 68 1 1 2 77 4 5 8 2 9 +7983435214: 924 9 4 3 3 39 8 1 7 1 8 2 +6820: 6 62 1 8 2 +801941971: 43 2 736 9 890 964 3 7 +16464: 2 33 97 5 98 +2056737: 3 39 2 3 9 9 37 9 9 3 90 2 +63530: 6 17 824 75 5 +861664: 169 5 5 66 5 108 5 7 3 4 +3076568831166: 9 7 8 9 11 28 4 1 66 6 6 +552769: 895 1 44 5 83 7 2 3 14 7 +521743: 5 77 3 53 61 9 +367950978896: 919 2 1 7 5 45 3 9 2 896 +5856046: 946 29 6 6 7 7 1 88 9 6 6 +271166253: 5 7 291 832 32 804 9 +4183386: 7 90 39 7 67 7 5 +99538988: 192 749 41 3 860 7 1 +922179: 922 151 9 19 +389862: 332 35 86 77 31 3 11 +35131284: 9 74 829 897 84 78 6 +3268318: 728 89 4 254 64 +97544442: 6 2 1 93 8 437 5 +2195535: 6 3 3 701 58 +4851: 86 1 60 9 8 251 3 7 371 +18853063359: 822 46 6 831 4 2 1 1 98 +75389016612: 37 71 949 9 8 1 25 7 3 2 +37529: 3 8 3 519 161 +12511908: 4 524 138 375 69 36 +110080572017: 72 91 41 5 6 28 17 +869149: 6 79 92 99 46 +1858869754: 7 4 3 419 4 20 9 9 8 5 3 1 +502936: 319 4 7 56 7 +45611: 152 3 10 +43680: 4 16 40 4 182 +599510566: 6 427 22 424 6 +1866641985: 802 6 663 485 585 +278576: 73 945 659 1 4 +1099308900: 843 93 123 7 2 8 3 9 61 +114456696: 19 95 456 6 98 +7193495: 5 862 3 4 40 52 8 2 7 8 6 +443284986: 92 35 2 227 83 2 3 46 6 +582: 1 93 488 +11761: 12 4 234 84 2 88 3 1 3 4 +4845605: 48 3 34 57 2 73 331 1 +1690: 99 87 909 54 24 517 +55019728696: 9 33 9 7 9 8 41 3 8 2 695 +10962253824: 96 90 9 81 93 8 8 218 1 +15494491: 5 11 333 9 94 +1563280482: 287 366 34 5 585 2 8 2 +731484438: 36 4 10 3 282 521 437 +1121: 7 12 32 504 9 +232722: 6 91 214 21 46 7 +137003592: 22 663 50 8 98 4 +51876: 259 8 9 6 5 69 24 2 4 6 +3863340: 5 46 11 509 8 2 3 +563742422208: 60 4 649 98 96 249 +90736: 906 8 5 1 31 20 +4528: 60 7 2 35 902 6 40 4 60 +99699: 9 6 3 69 6 +1214: 9 29 4 88 1 875 210 +330644788: 71 87 93 46 8 +5010: 7 2 69 21 21 1 +14340: 17 50 4 449 20 +1445594511764: 108 38 74 326 476 4 +109588: 5 3 7 7 44 9 7 2 8 7 5 747 +3209365: 323 23 48 3 3 3 10 +1844721: 9 1 6 91 6 9 6 2 161 8 2 1 +126894624: 9 30 2 4 7 6 2 4 2 567 21 +7030625: 8 64 20 83 70 14 875 5 +306035: 163 1 7 3 6 32 +1187: 320 51 3 1 73 +18151127284: 358 76 8 66 28 9 792 4 +26862096682: 9 730 1 121 32 3 681 1 +131688: 20 619 6 204 100 8 +584180: 78 3 9 7 1 100 2 54 1 6 8 +510077: 75 68 6 1 7 +6295698: 503 116 9 96 698 +3708373817: 9 8 9 31 3 5 33 1 521 1 7 +1780365283548: 8 9 5 5 4 566 8 3 51 5 30 +1100018: 664 1 6 4 4 2 275 8 8 2 1 +3789: 8 467 50 1 3 +474966: 59 358 13 8 +109552579: 4 978 1 55 4 3 9 509 +16318811991: 3 23 4 841 3 3 6 11 9 9 1 +43842584: 913 1 6 3 2 4 7 2 5 1 23 8 +70010209766: 80 9 5 5 3 9 3 3 2 6 221 8 +56690634117: 776 58 3 9 7 1 2 47 73 +70605: 250 4 3 3 702 7 4 19 1 +24992234: 4 89 702 29 6 935 67 +59286529134: 21 8 408 8 84 378 3 +114794780: 7 3 2 4 3 46 8 8 9 8 7 78 +34225880: 718 7 37 130 52 +372240: 5 72 88 3 1 1 752 +92561: 3 4 7 8 908 7 8 9 97 6 8 9 +1788: 40 946 802 +10280: 233 2 987 603 5 +1022892576: 11 1 7 44 95 6 2 6 4 6 4 +18581414: 37 93 2 27 17 +42933785: 6 423 32 925 860 +586: 1 6 82 94 +6399: 8 8 8 7 9 +678687802: 2 4 8 7 87 859 7 8 40 8 4 +8668343520061: 3 7 6 23 8 15 5 12 48 61 +1838: 4 6 56 8 31 10 1 8 780 +21041178: 612 18 6 23 2 83 3 4 6 1 +19897605: 91 5 694 65 7 9 +8775425450: 835 740 5 74 2 5 2 3 7 8 +3871: 4 6 55 3 7 +558008: 9 8 175 7 7 53 9 6 44 1 +2919622388: 811 1 6 3 1 1 1 9 1 2 5 1 +1059118768: 4 17 8 9 507 1 5 5 9 9 3 9 +263727849491: 1 9 27 337 54 6 127 9 +14381413: 1 7 4 573 9 273 796 1 3 +82052628903: 5 721 8 8 5 5 448 65 9 7 +333340: 3 11 24 9 3 6 4 +1074564: 65 5 146 3 228 +21086456116: 2 8 7 1 2 7 5 40 94 50 66 +58793: 8 342 56 1 7 +3461525: 41 55 15 830 425 +19055232: 2 7 536 4 2 9 7 8 1 68 +1383999: 2 7 40 368 1 748 10 99 +14162750262: 9 7 73 5 1 3 5 755 6 8 4 8 +21591892257: 790 91 178 7 17 39 +152259: 3 49 99 8 126 2 49 +60458946: 6 23 2 195 88 8 1 5 60 +130368: 9 7 64 21 1 +42810084: 1 791 72 6 35 6 9 +10299: 19 71 34 7 386 225 7 +630740: 9 621 366 374 1 +607: 56 4 1 7 +1413736709100: 918 55 596 8 6 7 5 9 2 8 +898415963432: 326 84 83 2 2 58 571 +1438948288006: 69 73 737 7 2 400 6 +1152: 213 5 8 3 67 8 1 +5714: 33 55 4 6 68 1 3 29 +170131421784: 6 2 686 5 4 27 66 4 59 8 +4060: 1 3 23 5 30 10 +7706289: 13 4 53 838 9 943 93 +336: 6 54 6 2 4 +283524329545: 6 4 4 88 9 319 6 5 9 5 4 5 +56777: 86 3 793 54 23 +9525: 3 731 973 9 3 +120152808: 8 406 9 6 2 37 76 54 +271057945: 9 45 211 589 5 +881144: 41 87 4 42 589 1 17 +991: 7 5 3 904 6 +2834614: 78 2 440 497 41 +13580362: 20 679 34 8 17 +36635: 4 31 85 +1138576325: 71 5 805 1 2 16 5 +2940716494: 49 88 96 24 3 2 296 6 +4273426: 1 6 2 106 65 161 5 8 +956124: 3 7 1 5 3 31 5 1 977 7 36 +569155356942: 7 5 4 8 3 4 5 4 77 3 1 945 +44416728: 2 3 147 466 3 5 757 36 +3126568575: 9 6 4 2 1 7 38 56 857 2 +2205314: 5 867 6 508 86 +24302: 9 15 278 4 20 +2859438598: 72 266 395 1 845 2 1 +37923486: 2 4 4 4 3 8 331 62 4 14 4 +14138920: 4 69 8 6 38 5 40 39 5 26 +26029: 9 464 2 323 3 4 +4574281: 2 852 4 8 125 5 961 5 +919442: 3 2 6 9 2 12 7 622 2 269 +11187126629: 1 97 9 174 3 501 7 5 1 7 +1732752: 2 4 4 3 2 7 1 54 1 772 9 7 +7686: 5 3 6 6 98 702 9 +3031374168: 11 956 1 8 6 36 8 2 7 1 8 +644520102: 925 715 3 131 102 +4765080664800: 7 9 1 762 14 7 200 709 +96471: 1 9 939 228 6 6 3 27 3 +30985: 30 4 5 82 3 +4059067834: 2 3 18 1 98 88 78 27 7 +48735: 2 9 60 8 515 45 +1369: 3 7 5 151 63 4 4 70 1 6 +636174772137: 93 5 3 63 4 85 7 84 9 9 +4851957505: 4 84 4 9 763 8 5 8 8 4 3 1 +244514: 355 7 98 83 901 +1405481: 1 6 5 57 6 39 7 3 3 3 71 +20940131: 4 48 339 1 5 8 972 4 11 +205146: 408 8 493 57 1 +13543116: 4 498 5 742 1 36 3 93 1 +5490888: 3 92 90 371 1 8 6 +133082684295: 2 135 64 713 79 605 +2965227329635: 74 7 39 6 386 1 2 572 +73621: 99 1 780 8 83 +561700: 4 92 5 1 386 9 2 8 82 +970086174: 932 13 2 319 78 172 +1911986999: 2 977 775 9 280 +296273268776: 88 29 410 732 68 776 +12458895913: 34 550 46 6 601 35 +15665229: 296 20 294 83 18 9 +2577418: 530 3 4 81 2 2 4 960 +18856: 96 92 56 +1419: 56 17 68 1 7 +22459778: 3 2 78 8 685 +119345444: 36 3 830 4 5 3 3 5 1 3 3 5 +2679263061: 3 880 394 273 883 +13714046195: 8 3 4 237 829 900 95 +75918: 75 91 6 +3233825: 5 429 6 85 7 +6998621: 2 1 711 8 5 3 7 5 90 7 1 7 +24840: 79 266 2 36 1 +133350455172: 911 5 8 177 9 282 146 +122836: 25 53 6 48 6 +66638: 54 4 7 44 16 85 9 +729258: 65 8 723 9 57 94 9 1 5 +6443892: 50 8 4 85 562 39 2 +5219221770: 988 8 9 4 4 9 6 83 3 42 7 +103209182: 19 1 14 388 951 231 +169488: 8 9 102 360 22 +904694402: 3 9 19 3 2 9 7 1 54 20 8 2 +33766336296: 9 2 55 957 588 822 +135034: 18 748 30 7 87 +1398: 1 74 946 293 84 +185237973760: 530 78 82 665 64 +3731185: 64 25 8 29 4 9 5 +4751567577720: 388 521 51 569 810 +28765978: 34 830 487 58 9 7 8 +45629472867: 582 98 84 1 8 66 +39721705915: 273 291 41 183 5 +47443: 5 81 7 229 74 9 +362852784: 518 9 6 138 94 +34762477: 8 6 15 559 1 3 7 7 47 7 1 +962208: 9 4 9 1 8 6 4 73 208 18 +277488992: 6 6 776 3 21 88 4 +2510205: 5 62 3 2 37 7 5 52 141 6 +31693936: 3 61 5 3 5 431 77 351 +1149703276: 8 499 8 36 6 4 7 9 797 +8692151: 7 1 727 1 3 6 73 1 2 9 23 +164112488: 1 6 7 1 9 54 67 6 2 6 5 8 +136879759121: 8 8 9 9 83 903 33 44 3 6 +4501841: 539 835 1 112 6 57 +79965188: 50 28 96 7 23 3 332 +13294611000: 129 11 150 90 694 +44580515: 6 6 3 672 1 9 27 7 7 87 7 +36409: 7 634 17 8 769 +721870: 99 622 8 65 5 +980549: 3 3 2 28 552 +197065482800: 9 912 7 685 8 256 6 93 +1492605: 325 7 152 615 +216885264: 9 9 6 3 435 42 720 8 2 5 +784513608: 98 6 5 4 6 58 2 6 4 6 79 +43153004: 4 2 1 646 7 7 3 5 9 7 639 +64535869440: 922 84 28 93 4 80 +5921923803: 1 659 986 85 91 65 +95230827: 586 18 15 4 1 641 3 6 3 +659839: 417 66 86 90 839 +2823500: 48 15 44 51 500 +111615927768: 6 9 6 8 9 85 8 3 277 6 3 5 +1233: 59 1 3 8 658 77 2 +20010714: 185 63 584 863 7 12 +179457: 685 86 92 817 3 +1274865556: 7 182 8 655 52 4 +311254962: 9 953 3 1 336 3 6 97 6 +710778: 884 8 2 2 5 327 6 3 1 2 6 +1009083693: 438 732 230 9 3 +11899845: 82 9 78 2 976 2 1 7 905 +258: 2 31 5 93 +146136236: 4 510 18 2 5 3 6 767 6 6 +500228: 6 343 1 1 1 1 323 6 5 7 8 +4701: 9 58 70 11 1 +5772: 58 8 9 127 8 4 +32851085: 7 904 9 8 4 9 3 6 5 8 3 61 +850168170046: 2 79 4 1 389 390 5 6 43 +204708384: 9 757 3 1 2 5 6 1 667 9 9 +99253310718: 281 3 3 8 7 7 6 3 7 679 4 +41947138: 49 7 896 836 2 +495: 8 1 55 +1211838288: 561 44 208 636 59 4 +3061539894: 6 7 463 63 2 6 51 49 +1261471276241: 5 629 8 1 67 8 1 906 4 1 +26282899: 3 6 156 4 3 195 4 9 1 7 3 +59211: 648 7 31 61 9 +314847: 85 2 37 253 3 2 621 +225678: 1 695 43 13 3 78 +55: 1 6 49 +6505384491: 7 7 199 900 9 357 584 +47469174312: 61 658 9 306 1 4 322 3 +7426295: 6 365 31 2 47 48 +622850043: 999 2 7 3 87 5 7 9 6 9 1 2 +47672: 24 4 58 871 2 1 305 9 8 +1013: 4 6 1 1 8 88 41 15 6 4 49 +4719423039: 7 9 990 221 59 +32727139: 5 5 59 52 44 84 8 31 67 +18384030: 264 7 6 8 410 284 4 2 7 +2348354059: 906 72 36 16 189 6 +2856248987: 4 3 45 305 8 24 87 2 8 8 +2953398: 808 14 2 1 58 179 77 +10591944: 5 666 8 53 6 +1423704: 23 7 2 84 6 +52565760000: 208 2 5 81 375 832 +214016947200: 420 28 89 710 288 +4717682123: 31 40 5 1 6 6 6 7 4 3 8 25 +3381089: 61 9 69 7 3 5 54 +5508468: 868 47 7 135 63 +202480566: 391 4 4 729 883 3 3 59 +18954805: 6 8 4 376 5 1 8 621 7 +5125: 4 4 65 4 52 5 64 636 +85567207572: 771 6 4 7 55 8 7 4 2 9 14 +1196283387: 8 69 5 72 31 551 38 7 +143411: 35 4 6 2 279 1 +8849012251: 884 90 122 5 1 +23771104870: 2 248 2 7 8 474 43 5 7 1 +24308: 55 7 8 48 206 +154616070: 196 98 5 983 107 +49352688: 987 25 807 537 2 +1399167: 3 8 9 72 694 3 3 7 8 6 3 4 +1746482400: 5 5 6 365 1 360 47 65 4 +17442000: 66 2 36 4 7 3 764 204 9 +9369297541: 4 16 413 9 2 25 38 +4434524: 85 4 8 1 2 18 37 1 83 +538278646: 12 9 623 6 8 4 6 4 79 9 7 +25674303: 59 712 925 4 9 +623352364: 1 538 579 7 9 65 +4136655595: 7 2 947 4 6 1 4 202 78 7 +1041: 9 31 108 +1015482150: 4 9 8 2 6 41 611 2 1 50 +6710: 1 7 39 8 72 +16757169: 96 605 612 659 39 +690976730: 2 9 1 3 8 22 811 4 3 88 6 +6966: 5 4 129 +666851462: 6 4 870 2 7 5 5 1 2 6 7 9 +519190: 2 2 404 6 12 1 8 3 5 5 70 +381850200: 9 64 6 405 4 405 +5072464: 943 9 665 6 2 963 7 8 +433183766518: 6 9 894 77 912 82 36 +606665867: 3 4 133 2 537 620 5 82 +26531: 94 2 6 46 35 +1462819: 5 379 3 83 1 69 77 5 9 4 +124816429: 5 1 4 9 3 4 1 895 2 4 4 31 +84154546878: 2 8 468 6 7 73 8 7 8 +16190100: 7 3 135 8 1 6 5 4 4 9 52 9 +21573: 89 615 3 3 452 +6349804023: 62 987 5 35 4 695 9 7 4 +335814: 939 2 585 999 97 +219004174: 94 807 6 55 7 1 +5581443: 4 1 47 40 8 95 64 +2491375328: 29 962 838 4 4 3 8 +57538: 958 15 4 9 49 +22964234: 2 1 29 63 818 416 +1024849747837: 6 3 1 291 9 9 5 2 5 6 6 43 +318448: 55 4 3 82 13 448 +30033360700: 417 13 720 6 97 +173508: 87 35 6 952 1 3 9 483 +21110947: 3 465 9 8 3 5 7 8 1 11 6 1 +2695000228: 28 4 7 3 22 696 92 2 74 +4568231: 6 9 5 992 39 78 4 +239039: 6 2 3 8 6 5 1 75 2 78 409 +10096752: 276 5 9 5 7 53 114 +198559200: 20 50 8 669 530 +12702301242240: 6 9 940 6 6 41 408 80 +175107: 1 49 92 3 205 2 8 439 +39551458: 43 891 55 9 57 +13285608: 26 19 10 163 1 9 31 31 +405744027: 7 30 3 8 95 9 8 632 24 +2997721: 92 479 16 68 9 +523183: 398 3 2 652 78 201 +6951812: 3 769 8 64 3 2 5 481 9 +3435759673472: 844 18 949 7 6 734 7 2 +124233456: 7 643 93 4 4 535 3 29 7 +110606134088: 1 657 21 7 766 761 1 8 +2690276461191: 372 21 66 76 813 889 +1539522: 59 2 2 9 31 9 595 3 186 +3634947456: 8 3 412 691 532 +2105559380: 183 765 9 852 7 2 835 +4690009: 66 743 330 95 46 +367735534: 45 966 942 2 4 +13146574: 57 3 96 4 7 78 544 8 +170181372255: 15 87 855 9 779 4 994 +9309567: 113 5 4 519 38 78 705 +50277: 1 55 3 865 2 47 58 +324895639860: 86 954 35 35 396 +1361: 923 1 437 +10597271: 716 148 12 2 457 +816105568: 889 9 34 4 9 3 686 11 3 +172116525: 69 9 1 18 9 35 5 137 +62149: 13 478 2 1 9 +155664243: 8 138 141 24 3 +12261286139: 66 7 8 8 5 94 3 5 2 965 +332109: 3 1 8 5 3 1 9 5 817 9 3 3 +54259531200: 7 70 643 240 7 90 76 +39489024: 547 94 768 +38958: 790 777 8 450 3 +8641850: 2 6 380 2 795 352 3 14 +193723: 14 878 9 5 4 2 9 60 12 7 +16059120: 28 50 75 2 7 3 84 605 1 +29897: 4 5 6 18 999 158 4 9 8 +8940153627504: 336 778 342 27 504 +1965619: 61 11 91 3 19 +17582495: 1 69 7 7 1 38 6 5 4 9 5 90 +3747060: 745 26 9 3 180 +1284121: 39 19 60 41 9 +6465: 10 8 24 7 7 +75352: 4 3 558 6 4 +987: 97 1 5 2 7 +31695169: 60 528 14 1 169 +1275278: 456 972 89 433 2 7 1 +6139: 2 650 9 2 8 9 79 5 9 4 1 2 +2625916: 94 3 32 87 1 606 +401166: 26 5 8 1 39 2 399 38 3 +13159342272: 8 978 4 292 5 2 6 8 24 +188587: 2 7 2 6 429 6 1 82 98 7 +104092779157: 34 9 918 2 722 39 9 5 7 +2785524088: 64 779 630 1 43 +38869: 587 4 891 3 4 +14297230: 6 97 9 8 73 6 2 2 4 8 30 +49782092802: 5 14 8 9 7 507 47 544 5 +97002793: 4 4 9 4 4 870 2 6 3 60 7 2 +11629747: 4 692 7 6 7 4 3 5 2 920 1 +54441: 67 3 270 94 77 +15210: 345 83 72 7 30 +185641372: 68 3 4 65 32 2 3 4 +636407522647: 86 740 75 22 499 149 +5931209262: 4 9 5 6 3 795 8 7 22 3 +21897266: 29 55 52 323 34 74 +103008144: 444 580 3 6 4 +583104: 505 5 5 953 4 4 8 1 96 +3097084: 86 36 919 6 159 +45450: 4 54 50 +822804080: 595 83 3 2 98 85 +812543797144: 21 9 746 55 830 3 81 +61531143092: 28 9 1 91 325 96 8 86 4 +291242: 4 5 4 6 246 8 7 9 2 7 54 2 +659813: 733 9 8 3 2 +13703922939: 13 703 915 7 937 2 +3385407968629: 8 5 490 10 396 8 629 +3156: 5 493 1 372 319 +2305744653: 6 1 7 45 6 7 34 35 99 3 +22755422659279: 43 976 93 84 616 79 +1529611: 6 4 560 97 27 4 36 75 +185929: 356 4 21 1 488 +10921: 8 772 13 8 2 17 754 +19474: 1 7 36 3 4 9 1 4 9 7 70 1 +14418986: 804 49 366 46 4 +805143: 7 8 63 852 3 +605682837: 60 8 1 3 8 9 9 4 8 418 +3328867490: 876 38 674 63 27 +9092: 30 119 61 +674618845700: 663 72 343 6 6 9 763 2 +873252624: 202 5 4 5 6 7 43 8 59 3 4 +2234424: 46 39 82 23 471 +67994313730: 7 6 53 9 6 19 1 6 521 3 7 +7020: 76 33 584 9 10 +8490829762800: 908 116 235 495 77 9 +1243674: 32 3 89 27 1 4 4 7 887 +40115314: 2 21 872 670 987 2 +63515106: 1 969 4 72 91 18 +3642671: 36 811 63 2 4 68 4 +98830: 844 13 9 6 76 +2118210: 5 6 3 5 178 1 170 2 2 6 +12759: 49 5 73 3 485 448 +1113420: 867 737 3 8 77 3 +139374: 8 48 37 331 23 +94905: 3 8 21 3 1 783 7 9 204 9 +37670: 4 75 79 68 +120506596: 89 68 83 9 5 5 8 5 5 8 8 7 +1288: 6 13 5 2 896 +3957763: 74 5 5 77 6 3 +32266: 240 2 19 7 9 7 39 783 +940221360: 86 5 3 410 35 39 240 +10564: 2 330 5 3 8 7 649 +48283977: 277 7 17 372 2 202 53 +251997386: 67 3 7 6 4 5 9 3 184 9 8 6 +819485: 77 4 3 5 527 +9913289: 23 8 1 3 4 630 1 4 8 2 4 9 +12445: 78 4 6 4 2 4 3 2 6 327 8 5 +38330265: 7 5 89 8 31 5 894 6 9 +1888605: 4 53 30 5 40 17 64 45 +752008400963: 751 98 2 8 341 59 963 +290444: 7 41 1 2 506 +1542226852: 83 2 8 48 2 775 7 923 5 +138965442: 9 8 2 3 5 8 4 86 305 7 66 +2015410: 3 46 8 9 4 4 293 498 3 4 +94446951669: 98 4 6 355 9 27 483 9 +2560057568: 487 69 81 938 30 76 +325037568: 88 57 27 60 10 192 4 +34041139: 2 9 15 997 44 139 +91735876: 73 52 7 297 353 1 +6681558019: 146 791 113 512 3 +2377642284: 3 3 44 12 1 2 52 8 476 9 +612191967542: 306 2 1 187 4 96 7 54 2 +5617962: 79 5 7 9 5 1 9 5 61 9 56 7 +377664: 9 6 562 1 7 +351084461052: 622 2 3 85 103 182 52 +24245: 7 9 51 1 7 7 5 8 1 6 240 5 +421642386: 29 688 55 54 17 2 99 +1711583639: 678 6 1 51 14 260 6 69 +22620616: 1 705 164 26 593 23 +256245692: 88 3 8 31 1 1 280 8 94 +50489: 12 689 2 7 7 680 9 8 9 +46104: 8 287 8 84 2 +4085258167: 48 29 359 303 77 67 +889: 7 2 728 56 89 7 +1306: 51 6 785 4 +2273: 1 9 9 2 9 66 37 256 +56074716672267: 7 5 8 82 29 96 208 269 +30955126672: 934 7 331 6 65 4 596 +127980: 488 45 5 48 60 +535484167: 617 54 266 7 1 3 2 16 7 +66915820: 76 7 5 52 2 866 5 +470840167808: 3 8 3 8 6 2 751 5 244 4 8 +106862: 5 1 3 3 38 5 7 7 5 433 5 5 +2962152: 37 8 21 52 +1085092459: 640 58 7 48 87 619 +9395566: 6 692 4 351 +58598361138: 76 8 710 494 9 9 137 +130059: 264 15 465 2 322 +33555: 5 67 55 +1377820190: 7 2 1 6 7 3 4 501 4 1 1 8 +8424: 9 9 19 23 558 +2684223: 2 6 8 3 11 741 3 +22014969: 72 94 44 3 96 9 +5185353762: 1 145 656 2 89 7 2 6 2 6 +51226935: 573 894 62 672 1 +44553: 6 627 70 243 +90331578: 8 890 453 7 95 3 9 74 +1170: 5 55 25 5 13 +94308: 4 8 259 6 58 +2000707: 490 50 8 9 2 6 5 27 3 7 +158802343: 8 1 544 4 72 7 33 7 +28522992: 5 501 271 208 784 +415148: 6 7 99 828 441 600 8 +341844522: 81 422 2 45 21 +322752: 59 55 1 3 6 1 32 9 6 718 +6579809: 8 35 788 7 5 +2010664: 958 960 524 2 600 +1306995: 9 4 168 5 76 7 19 5 37 +24078: 23 4 260 6 152 +855504: 115 7 6 709 457 +7362818928: 64 4 3 5 3 68 2 3 4 5 28 +133587328084: 38 413 665 128 84 +2600: 291 229 5 +82140: 2 4 9 66 221 45 2 6 48 +7429: 97 65 83 43 3 6 25 4 +7050943801: 14 866 62 85 90 +1457: 27 543 1 790 96 +39465: 20 3 638 437 748 +52926628172: 2 281 5 1 5 2 85 8 2 6 22 +14402304: 8 3 1 6 49 5 5 78 224 9 +19161187: 5 7 77 391 9 15 186 1 +46189: 4 603 6 6 93 +5096011: 6 5 8 98 1 2 +8337: 513 310 8 4 21 +637146: 535 635 72 513 +163586304: 282 3 5 2 2 24 7 276 2 6 +38979: 6 42 6 9 71 +4025184: 683 980 35 131 69 +385600: 7 9 753 1 1 32 +4204547: 5 7 513 8 4 267 270 8 1 +2168: 300 956 5 903 4 +897176: 9 96 43 7 866 +207451: 9 3 27 979 714 261 51 +9786368: 188 6 82 8 177 1 3 8 76 +45647: 6 7 52 2 70 7 +72049657270: 1 799 551 74 9 6 70 +854299810000: 8 75 5 68 49 7 92 91 +201480450: 27 707 5 3 814 4 75 6 1 +1044050: 753 59 3 61 554 7 +32520810: 65 7 51 7 6 637 7 1 5 6 +117229532: 1 379 3 581 146 +3048545: 12 254 440 9 96 +1151528814: 6 3 458 5 6 49 8 6 45 1 9 +1468: 21 8 82 6 738 59 5 +24718953: 3 4 51 4 784 5 1 8 79 7 +9624368954: 961 7 2 5 365 49 346 6 +7705207125: 99 917 125 97 7 +1385267: 8 12 6 82 82 25 95 +329120663: 4 8 2 1 8 4 6 680 5 8 3 8 +4354855: 1 6 1 1 7 82 1 6 5 2 647 6 +513338599: 3 7 476 338 599 +2575296: 218 9 328 288 4 +153551885: 166 3 11 20 454 5 +23653336: 7 15 40 36 826 +1175289: 9 4 125 2 8 9 +582912792: 1 5 1 9 9 59 33 5 8 1 7 99 +7639418701: 7 1 629 9 1 418 65 3 48 +26000388461: 500 52 388 4 6 1 +11148480: 10 7 7 948 24 +4375098791: 5 2 6 3 31 5 9 8 4 698 1 4 +173167644: 7 7 6 1 5 27 8 5 44 8 867 +4440: 3 7 2 1 5 2 5 1 2 335 91 8 +79949528272: 3 740 73 9 3 3 4 827 1 +268345: 44 435 2 55 7 +1391: 9 37 4 1 58 +719: 7 23 4 66 9 +41747731344: 6 608 7 1 2 4 987 6 2 6 8 +52958316813: 87 63 902 39 67 +1113623: 12 3 1 3 357 8 45 +66704: 28 316 372 41 1 88 +13865: 231 60 4 1 +22316427322: 99 51 97 9 603 9 321 +794426: 785 6 3 3 2 4 4 50 9 +336672: 45 35 11 5 42 +3647896: 96 1 67 7 6 69 560 56 +4108432021: 882 9 2 1 2 1 461 50 2 1 +33172170: 1 5 4 4 10 6 2 9 9 23 4 6 +3958503: 87 65 70 1 3 +5605088: 3 1 4 7 8 5 119 5 8 7 4 7 +1148738115: 535 7 3 68 8 333 113 +2388379500: 8 827 880 86 5 650 +78084: 5 6 83 66 6 +1399069: 175 4 977 8 5 +1784175537: 6 40 14 8 821 85 7 242 +5060096: 1 9 4 7 1 54 3 9 865 8 8 8 +2984239: 32 793 91 6 70 +54527: 5 35 10 27 1 +2625838: 142 1 528 91 5 43 +11970: 78 7 4 35 70 +9750784240: 9 58 7 32 41 8 4 240 +3670629: 1 42 7 95 82 8 131 7 2 1 +269878: 4 67 53 19 2 +29729866375: 328 7 4 81 8 196 458 7 +1650454: 841 809 45 4 +958406: 1 1 536 894 38 +15047959679: 8 27 8 9 8 5 26 243 +110153: 9 9 328 35 83 45 9 9 +155720: 183 46 229 18 62 5 6 1 diff --git a/2024/07a/run.rb b/2024/07a/run.rb new file mode 100755 index 0000000..0192174 --- /dev/null +++ b/2024/07a/run.rb @@ -0,0 +1,72 @@ +#!/usr/bin/env ruby + +require 'pry' + +data = File.read("data.txt") + +OPERATIONS = %i(+ *) + +def test_combinations(test_value, vals) + test_results = [vals.shift] + all_vals_results = [] + + vals.each_with_index do |value, index| + previous_results = test_results.clone + test_results = [] + + previous_results.each do |start_value| + OPERATIONS.each do |operation| + test_result = start_value.public_send(operation, value) + + #p "test_results: " + test_results.to_s + #p "previous: " + previous_results.to_s + #p "value: " + value.to_s + #p "operation "+ operation.to_s +# + #binding.pry if test_value == 3554112 + +# p previous_results if test_value == 3267 + + if test_result <= test_value && test_result > 0 + test_results << test_result + end + + if index + 1 == vals.size + all_vals_results << test_result + end + end + end + end + + #binding.pry if test_value == 3554112 + + +p all_vals_results + all_vals_results.any? { |v| v == test_value } + +end + +result = data.split("\n").map do |row| + vals = row.split ": " + test_value = vals.shift.to_i + vals = vals[0].split(" ").map(&:to_i) + + #if vals.sum < test_value + # 0 + #elsif vals.inject(&:*) > test_value + # 0 + #elsif vals.sum == test_value + # test_value + #elsif vals.inject(&:*) == test_value + ## test_value + #else + if test_combinations(test_value, vals) + test_value + else + 0 + end + #end +end + +p result.sum + diff --git a/2024/07a/s b/2024/07a/s new file mode 100644 index 0000000..fc6e099 --- /dev/null +++ b/2024/07a/s @@ -0,0 +1,9 @@ +190: 10 19 +3267: 81 40 27 +83: 17 5 +156: 15 6 +7290: 6 8 6 15 +161011: 16 10 13 +192: 17 8 14 +21037: 9 7 18 13 +292: 11 6 16 20 |