Day 7
This commit is contained in:
parent
7a4385203d
commit
5fdb7df49f
6 changed files with 1023 additions and 14 deletions
27
Main.hs
27
Main.hs
|
@ -8,19 +8,22 @@ import Day3
|
|||
import Day4
|
||||
import Day5
|
||||
import Day6
|
||||
import Day7
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
putStrLn "AoC 2024"
|
||||
putStrLn "Day 1"
|
||||
Day1.main
|
||||
putStrLn "Day 2"
|
||||
Day2.main
|
||||
putStrLn "Day 3"
|
||||
Day3.main
|
||||
putStrLn "Day 4"
|
||||
Day4.main
|
||||
putStrLn "Day 5"
|
||||
Day5.main
|
||||
putStrLn "Day 6"
|
||||
Day6.main
|
||||
-- putStrLn "Day 1"
|
||||
-- Day1.main
|
||||
-- putStrLn "Day 2"
|
||||
-- Day2.main
|
||||
-- putStrLn "Day 3"
|
||||
-- Day3.main
|
||||
-- putStrLn "Day 4"
|
||||
-- Day4.main
|
||||
-- putStrLn "Day 5"
|
||||
-- Day5.main
|
||||
-- putStrLn "Day 6"
|
||||
-- Day6.main
|
||||
putStrLn "Day 7"
|
||||
Day7.main
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
haskell-language-server
|
||||
ghcid
|
||||
cabal-install
|
||||
fourmolu
|
||||
];
|
||||
# Change the prompt to show that you are in a devShell
|
||||
shellHook = ''
|
||||
|
|
21
fourmolu.yaml
Normal file
21
fourmolu.yaml
Normal file
|
@ -0,0 +1,21 @@
|
|||
# Generated from web app, for more information, see: https://fourmolu.github.io/config/
|
||||
indentation: 2
|
||||
column-limit: 80
|
||||
function-arrows: trailing
|
||||
comma-style: leading
|
||||
import-export-style: diff-friendly
|
||||
indent-wheres: true
|
||||
record-brace-space: false
|
||||
newlines-between-decls: 1
|
||||
haddock-style: multi-line
|
||||
haddock-style-module: null
|
||||
let-style: auto
|
||||
in-style: right-align
|
||||
single-constraint-parens: always
|
||||
single-deriving-parens: always
|
||||
unicode: never
|
||||
respectful: true
|
||||
import-grouping: legacy
|
||||
sort-constraints: false
|
||||
sort-derived-classes: false
|
||||
sort-deriving-clauses: false
|
850
inputs/day7.input
Normal file
850
inputs/day7.input
Normal file
|
@ -0,0 +1,850 @@
|
|||
237069504000: 96 30 30 28 139 705
|
||||
355813: 50 702 120 7 59
|
||||
92316680: 92 22 9 66 77
|
||||
3255967: 4 7 6 10 17 420 5 1 6 97
|
||||
11052: 8 3 1 4 75 3 59 1 73 4 9
|
||||
1257: 9 45 312
|
||||
1891867: 69 96 20 573 968 1
|
||||
29274: 1 4 2 9 49 435 999
|
||||
735: 49 56 7
|
||||
178684952: 7 944 226 9 3 9 5 87 4
|
||||
931690: 6 9 6 2 21 7 1 4 8 67 53 8
|
||||
3111108: 5 12 52 6 5 7 924
|
||||
6367117: 386 98 15 877 97
|
||||
708411564: 602 3 712 22 7 6 97 7 6
|
||||
7437045: 6 4 664 6 969 77
|
||||
115221283: 5 761 2 12 83
|
||||
2508671041: 529 9 9 74 2 7 3 263 42
|
||||
273159250: 9 607 5 924 8
|
||||
43585420368: 3 2 8 42 824 6 2 9 15 9 9
|
||||
2500411: 61 85 66 4 14
|
||||
12278592: 919 8 275 72 803 4 6 8
|
||||
20222880: 6 47 6 18 8 779 1 7 5
|
||||
8485682784: 5 840 9 874 6 68 2 784
|
||||
372258: 75 8 737 872 6
|
||||
3814: 481 6 6 856 36
|
||||
49375365299: 259 87 19 65 299
|
||||
44237592313: 6 711 28 6 75 31 823
|
||||
3262097: 124 43 1 156 61
|
||||
12114: 12 1 3 657 18
|
||||
92866410: 86 8 5 3 3 5 1 58 765
|
||||
84381196: 843 81 11 8 6
|
||||
3474211523: 8 5 2 890 6 9 3 45 2 3
|
||||
3989216025: 89 409 6 52 80 19 4
|
||||
113683: 90 8 440 98 3
|
||||
35919085: 6 17 4 9 9 105 15 332 5
|
||||
1276027208: 7 8 9 45 8 6 3 364 205
|
||||
3755300: 47 5 188 85
|
||||
400540: 4 86 607 6 6 7 70 1 10
|
||||
136298: 1 2 3 1 8 9 5 7 3 30 3 128
|
||||
341550: 3 50 706 50 9
|
||||
466: 14 361 9 75 7
|
||||
993: 72 2 7 3 95 167
|
||||
2137: 1 7 14 90 6 889 8 9 8 2 9
|
||||
51007: 4 1 22 46 6 5 37 41
|
||||
115824871066: 98 30 694 3 90 9 8 8 6
|
||||
3049865: 209 912 8 16 9
|
||||
682764373: 95 819 747 6 370
|
||||
28117542: 1 2 28 6 15 2 8 3 698 5 2
|
||||
787360: 10 72 20 2 532
|
||||
272177752: 37 6 147 5 1 94 187 79
|
||||
270638934900305: 601 419 85 533 4 45 3
|
||||
177686786: 489 13 1 394 2 28 82 4
|
||||
8091273930: 15 299 531 996 6
|
||||
1297565607: 353 3 6 8 7 4 9 81 4 16 7
|
||||
406397250: 1 6 5 4 3 5 523 5 75 2 7 5
|
||||
792296: 81 68 97
|
||||
670106431: 97 7 86 661 630
|
||||
17279687695: 4 3 1 1 8 91 1 17 4 8 9 8
|
||||
16481196306: 3 5 4 841 518 69 4 999
|
||||
2700: 64 22 4 6 5
|
||||
1802736: 6 6 11 9 207 1 2 99 624
|
||||
148727240: 474 9 1 733 6 5 6 7
|
||||
14003808: 1 41 8 425 5 9 42 4 4
|
||||
7219781: 735 824 4 991 37 9 3 8
|
||||
17635772870: 7 7 769 4 9 9 90 6 7 13
|
||||
1238645: 825 3 91 5 690
|
||||
297593858: 5 595 934 4 57
|
||||
221224903: 5 63 232 661 61 7 3 52
|
||||
175925: 73 9 4 38 7 99
|
||||
40: 5 8 1
|
||||
98942419: 8 4 224 8 6 25 6 3 307
|
||||
8985535057: 641 82 39 28 7 4 5 86
|
||||
9070: 4 42 8 6 4 8 27 23 87 93
|
||||
6479532: 2 1 9 46 6 57
|
||||
27783036: 926 10 3 3 5
|
||||
175703: 10 5 16 4 7 5
|
||||
91287: 7 125 37 8 7
|
||||
7599577: 8 751 12 1 760 9 755
|
||||
41062428: 412 95 51 64 4 9 396 1
|
||||
132958: 9 8 36 38 66 34
|
||||
23980403928: 5 8 14 163 3 923 8 449
|
||||
36112462: 360 4 7 246 2
|
||||
9094648: 90 9 4 1 646
|
||||
348875652: 69 77 5 5 655
|
||||
2181061: 233 6 52 2 4 30 1
|
||||
1317288: 4 151 236 2 9 9 70 2 3 4
|
||||
510561: 4 710 3 82 71 9
|
||||
831427: 93 4 294 455 5 977
|
||||
1997: 7 8 55 3 6
|
||||
1167: 143 1 5 16 1 989 13 1
|
||||
169011360: 598 828 32 69 35 4 12
|
||||
4839: 67 72 15
|
||||
933064: 37 272 3 75 92
|
||||
291744440: 3 399 7 7 717 4 1 7 3 4 8
|
||||
23048: 5 8 36 4 2 4
|
||||
1909575240: 443 93 5 927 8 151 1
|
||||
98778: 7 8 220 4 4 7 99 2
|
||||
2649449: 916 329 56 38 9 80
|
||||
7996: 795 92 9 6 6
|
||||
2162145: 83 1 55 17 915
|
||||
12612783: 65 9 7 770 46 4
|
||||
41595: 4 7 27 3 3 3 8 9 6 7 608
|
||||
162017397: 385 755 42 28 1 6
|
||||
12360213: 409 521 7 58 645
|
||||
77734358: 6 612 6 5 67 7 103 5 9 8
|
||||
1042471: 5 883 31 9 78 3 1
|
||||
2832102: 43 94 3 86 7
|
||||
14118694632: 2 413 30 343 5 54 3 1 7
|
||||
5634124: 56 2 98 9 34 24
|
||||
596: 6 56 21 36 477
|
||||
281900625: 56 63 8 11 2 5 41 15 95
|
||||
5873677056: 7 7 29 1 552 20 8 936
|
||||
365947: 3 65 948
|
||||
431340: 847 7 12 695 65
|
||||
474147: 33 95 7 2 528
|
||||
64272120: 3 298 462 11 2 319 4 6
|
||||
4838900: 47 62 89 35 250 88 98
|
||||
1231: 5 80 3 3 26 3
|
||||
486173: 3 69 326 9 4 7 32 541
|
||||
204659: 204 8 8 930 59
|
||||
84678574: 7 1 760 66 9 1 46 85 74
|
||||
1160233201: 149 36 42 515 10 1
|
||||
25716872: 9 1 2 1 88 9 92 8 9 158 2
|
||||
302296176: 59 51 26 138 28
|
||||
1898800: 623 4 33 94 8
|
||||
15237: 73 7 35 5 688 549
|
||||
1551395933257: 7 2 8 1 62 79 9 7 321 4 4
|
||||
157899: 408 510 172
|
||||
218738622: 6 1 6 6 30 8 73 2 5 2 957
|
||||
25169: 63 288 83 29 2
|
||||
1831746686: 708 210 10 8 59 154
|
||||
39173640951: 69 645 9 9 6 88 8 72 79
|
||||
57468: 79 5 777 3 22 8 634
|
||||
46497: 23 47 7 371 9 6
|
||||
9073901: 96 528 94 10 259
|
||||
23869007: 119 8 938 390 93 2
|
||||
2296: 6 211 77 263 4 68
|
||||
96549347: 96 542 7 34 7
|
||||
871130324: 8 572 8 2 56 29 5 7 482
|
||||
637440160: 9 4 7 3 9 40 7 5 480 160
|
||||
65110: 44 2 739 76 2
|
||||
348: 3 40 6
|
||||
3788: 972 842 2 89 71
|
||||
15869846: 80 6 6 58 563 2
|
||||
37581151: 75 5 8 1 151
|
||||
2024944110: 326 9 5 147 939
|
||||
2346776: 58 12 68 17 697 72 4
|
||||
32691: 30 88 93 88 1
|
||||
128421240: 61 49 8 7 77 99 672 8 3
|
||||
89460: 71 7 4 5 9
|
||||
34930: 1 5 992 5 7
|
||||
9112: 23 3 2 6 6 6 2 66 50 17
|
||||
380311103943: 7 560 733 97 2 943
|
||||
39671: 33 12 6 2 9
|
||||
101958385429339: 57 5 6 718 70 469 7 7 9
|
||||
771912: 24 944 733 1 33 3 72 1
|
||||
124136: 2 218 876 94 808
|
||||
96205937575: 861 4 87 7 404 4 9 275
|
||||
10605: 4 8 4 6 4 3 56 1 9 781 1 3
|
||||
9208811: 99 3 9 2 875 6 3
|
||||
4122727366: 21 5 7 7 4 5 564 4 40 7
|
||||
7174362: 3 3 5 33 66 634 23 94
|
||||
823914: 82 38 46 3 64
|
||||
1697767030: 8 304 9 126 2 69 67 7 4
|
||||
3728: 335 97 33 4 2 8
|
||||
54243: 8 2 123 41 52 41
|
||||
199578543: 2 494 642 9 888 8 6
|
||||
47208016834: 2 62 266 6 1 9 3 2 4 1 7 2
|
||||
20468171570: 68 700 3 90 9 430
|
||||
221319: 16 5 199 428 891
|
||||
399: 2 1 12 377 8
|
||||
510: 6 1 85
|
||||
55746468: 3 55 3 368 51 918 6
|
||||
111380647958: 98 9 6 3 4 8 2 599 8 3 1 9
|
||||
5730: 7 9 97 78 20 871 99
|
||||
532422: 9 84 438 999 9 4 413
|
||||
46788865: 7 1 486 7 6 2 814 2 6 43
|
||||
6985667702: 39 395 7 846 2 3 906 2
|
||||
203274: 78 4 822 355 3
|
||||
2727144: 7 921 47 7 9
|
||||
398839: 741 55 97 68 5 14
|
||||
2347797: 891 9 6 4 4 645
|
||||
411362494: 528 7 36 6 1 778 440
|
||||
51628: 6 8 460 107 903 8
|
||||
49449627171: 7 2 96 9 73 14 7 1 7 7 9
|
||||
2414114: 90 1 893 3 3 330
|
||||
36287514: 7 439 812 723 11
|
||||
134576739: 278 8 9 9 528 1 4 8 3 1 2
|
||||
14360068890: 8 711 18 9 7 5 352 1 90
|
||||
23436: 5 88 7 8 217
|
||||
31865702400: 444 8 8 8 5 7 5 89 9
|
||||
20333: 5 3 6 6 26 3 3 7 491 52 8
|
||||
3038904: 2 336 70 455 1 36 3 6 9
|
||||
4103: 63 24 8 2 5 610 3
|
||||
362316954904: 807 3 44 7 51 452 2
|
||||
589186620: 713 43 328 6 5 32 6 66
|
||||
3154744619: 7 43 7 527 151 9 257
|
||||
1029422: 250 3 686 29 182 2
|
||||
503327166190: 4 80 6 1 8 2 2 6 93 61 89
|
||||
1007217: 99 6 50 68 23 1
|
||||
654480: 8 36 6 9 60 1 36
|
||||
434734: 688 5 627 9 214
|
||||
280500027: 925 9 927 42 9 3 905 7
|
||||
14482075: 5 67 6 24 31 72 3 561
|
||||
40750: 9 84 40 19 50 1
|
||||
9602155248: 8 51 5 6 4 9 9 6 56 7 98 8
|
||||
40018884: 183 18 6 33 52 51 7
|
||||
261: 30 3 2 8 69 4
|
||||
28553731: 327 74 59 4 5 79 12 1
|
||||
2446038: 7 85 6 685 588
|
||||
30736299: 819 3 8 859 6 13 53 9
|
||||
277196: 74 92 3 9 5 441 8 868
|
||||
8980472578: 6 7 8 64 7 467 1 22 647
|
||||
172874739239: 2 9 83 8 82 4 9 9 9 3 105
|
||||
20221385: 318 693 2 1 38 2
|
||||
2011: 10 3 1 8 3 8 5 89
|
||||
193812789: 19 300 4 17 3 788 789
|
||||
9636: 4 988 614 6
|
||||
166155567: 69 49 4 9 533 673 661
|
||||
717091552: 2 963 6 7 76 1 3 2 4 68 1
|
||||
116610: 83 7 101 47 4 74 39
|
||||
25697: 40 2 79 979 2 79 3 3 5 7
|
||||
14114: 546 437 48 6 522 9 83
|
||||
29160403: 405 6 12 269 5 129
|
||||
1510: 4 5 8 7 9 799
|
||||
291570: 8 60 534 8 598 476
|
||||
7946546: 132 657 5 654 7
|
||||
11666304: 22 4 6 76 2 492
|
||||
79766: 4 5 1 6 50 2 2 2 591 572
|
||||
12190: 16 4 4 7 2 46
|
||||
9239904443: 9 234 5 891 3 8 2 4 3 2 8
|
||||
239261124022: 242 766 999 2 1 646
|
||||
782666281: 7 7 6 139 7 38 9 8 73 8 1
|
||||
5578997760: 920 56 8 2 8 846
|
||||
510528: 163 6 5 31 2 9 4 7 6 4 8 6
|
||||
73981818418: 1 3 7 6 9 177 4 8 415 3
|
||||
213301702: 5 2 6 84 2 25 284 6 1
|
||||
19955520: 3 8 6 3 90 36 5 845 8 9 2
|
||||
595066500: 90 89 86 7 1 7 250 6
|
||||
286394460: 69 83 8 892 5
|
||||
5538831: 998 45 9 1 8 59 28
|
||||
1205296694: 704 8 3 80 71 68 9 5
|
||||
1173717: 1 2 74 6 469 8 4 3 44 3 9
|
||||
906238: 55 98 168 718
|
||||
383753: 1 7 685 7 549
|
||||
6905408: 690 433 14 93 7
|
||||
985142648: 345 7 34 932 3 8
|
||||
3620429290: 451 30 4 4 94 8 9 8 32 1
|
||||
678: 4 3 2 652 2
|
||||
293253492177: 5 199 5 3 6 94 14 1 35
|
||||
69905: 8 3 6 39 38 21 8 31
|
||||
9345568: 8 5 1 7 253 6 517 854 8
|
||||
646000: 4 97 441 750 500
|
||||
764501184889: 555 92 18 764 889
|
||||
52151238: 1 1 516 39 839 990 17
|
||||
25969550: 22 15 7 695 50
|
||||
11766013317: 9 2 2 7 4 75 6 642 7 2 9 7
|
||||
2859: 11 3 8 19 8
|
||||
64: 56 4 1 3
|
||||
376347: 12 544 3 7 3
|
||||
366815: 450 813 3 14 948
|
||||
6857620: 6 56 5 6 7 671 20
|
||||
1179612: 2 311 4 6 6 62
|
||||
1555199: 4 777 2 40 5
|
||||
9867484: 2 982 2 748 5
|
||||
478817: 7 684 11 6
|
||||
489547800: 2 1 5 7 880 7 500 7 81 2
|
||||
111801: 58 8 8 2 3 6 5 9 6 2 6 9
|
||||
9624: 12 1 40 442 1
|
||||
73892124: 2 8 5 754 7 7 8 2 8 5 5 69
|
||||
1965299158: 82 496 34 99 159
|
||||
5821016496: 379 5 202 257 4 8 73 4
|
||||
4291587636: 7 86 4 7 2 5 812 27 4 8 7
|
||||
1651005720: 78 9 1 83 3 14 642 13 6
|
||||
62578: 8 4 67 310 2 7 1 9 1 8 1 1
|
||||
99567955245: 287 7 5 45 74 9 552 48
|
||||
2605913046: 1 8 4 1 1 858 9 393 6 99
|
||||
13790287218: 813 17 569 11 73 1 4
|
||||
5516882: 7 788 3 18 564
|
||||
4055397: 427 95 549 736 92 37
|
||||
749152: 8 6 3 2 9 706 6 4 1 27 8 8
|
||||
68885: 688 8 5
|
||||
497344120: 8 91 9 19 149 917 4
|
||||
2647674: 7 42 1 8 6 9
|
||||
45468591: 4 5 46 85 89
|
||||
168921310163: 515 164 655 2 161
|
||||
2782959: 278 23 23 627 9
|
||||
3826134425890: 6 545 2 234 85 174 4 5
|
||||
142643443: 385 95 2 4 39 5
|
||||
31654497: 4 6 69 4 819 1 594 14 7
|
||||
3338528657: 6 5 2 8 1 9 7 965 13 385
|
||||
83238611: 69 8 835 2 6 6 7 1 5 5 8 3
|
||||
104191387: 3 84 2 7 1 8 1 191 378 7
|
||||
9913380: 8 9 374 93 3 4 8 4 3 12
|
||||
2622141784413: 7 6 4 2 5 365 3 66 2 47 6
|
||||
8378783370: 871 25 7 1 765 2 873
|
||||
160937: 447 360 8 9
|
||||
2440: 262 5 6 62 766 10
|
||||
260344: 6 7 7 3 5 3 87 716 2
|
||||
208727566608723: 4 9 6 94 2 516 814 721
|
||||
887972: 60 3 1 1 157 72 4 4 93 2
|
||||
147299: 917 555 1 4 85
|
||||
1391335886: 22 39 16 1 617 888
|
||||
23745790: 77 855 305 7 8
|
||||
4377065: 6 93 1 7 8 6 87 9 7 391
|
||||
54734505971281: 42 847 32 8 59 499 8 1
|
||||
435988544: 14 6 3 4 952 4 2 7 7 1 47
|
||||
5921364325140: 83 4 287 560 3 9 6 6 99
|
||||
11392192: 3 9 8 5 7 1 9 17 4 7 4 944
|
||||
1153645: 64 3 6 9 4 977 2 4 1 5 8 5
|
||||
5633136: 5 8 1 43 136
|
||||
2865654424: 4 894 5 2 8 6 120 683 8
|
||||
104876: 5 3 33 2 487 71 3 6
|
||||
44772705: 3 26 1 792 1 3 5 7 8 8 79
|
||||
5354298: 8 520 9 75 2 80 2 109
|
||||
2072744124: 4 87 65 419 974 836
|
||||
9592579: 95 916 9 7 6
|
||||
52518780: 5 2 466 4 7 8 9 15 6 34
|
||||
122260: 59 598 186 58 1
|
||||
8460202958: 29 4 71 4 9 627 91 956
|
||||
152: 6 81 65
|
||||
137650796900: 562 299 72 50 34
|
||||
216905: 1 2 2 351 611
|
||||
49805150: 17 68 861 787 50
|
||||
234855903: 275 1 8 4 34 5 2 7 9 5 3
|
||||
791572768: 879 9 59 413 766
|
||||
4328936: 538 3 8 899 34
|
||||
28075: 1 4 1 929 3 1 9 6 65 68
|
||||
1559: 71 46 9 9 425
|
||||
1038096490: 1 2 38 91 6 88 5 3 4 90
|
||||
847147248: 639 9 358 856 81 2
|
||||
268127: 757 246 5 44 53
|
||||
5750108: 754 1 4 2 136 7 20 8
|
||||
41916: 408 6 98 880 96 368
|
||||
7607: 2 839 1 9 38
|
||||
1872381: 159 368 8 4
|
||||
76433449: 8 9 93 7 9 2 1 8 276 8 79
|
||||
85116: 2 45 9 851 867
|
||||
3171592: 31 71 3 94 2 93 103
|
||||
47589719: 118 1 1 357 897 19
|
||||
43416749: 4 288 27 2 375
|
||||
92974345208: 701 417 837 5 38
|
||||
383334669: 47 911 33 5 3 34 8
|
||||
3303: 108 4 26 390 1
|
||||
1248898639: 84 9 1 83 3 6 8 1 2 1 6 39
|
||||
275175: 4 2 6 7 8 39 3 153 2 9
|
||||
364343670005: 7 183 5 702 6 4 5 810 2
|
||||
51244048440: 39 99 415 63 615 13 4
|
||||
170715797: 16 2 74 8 5 1 6 5 6 9 89 2
|
||||
32309: 257 56 5 9 950
|
||||
1043218: 141 85 6 87 1
|
||||
1458: 5 86 4 936 88
|
||||
40086: 91 5 88 38 6 2
|
||||
31644: 8 6 71 231 45
|
||||
36905: 42 9 26 8 55 55
|
||||
32361088: 854 64 8 37 8 2
|
||||
7922781: 80 44 484 4 11 5 3 654
|
||||
657865: 50 9 660 9 64 4 63 65
|
||||
884583: 8 845 83
|
||||
111180: 2 80 9 7 8 430 2 1 6 3 68
|
||||
7624: 75 42 37 38 8 1
|
||||
5892532: 19 8 5 4 99 29 4 410 5 7
|
||||
1047913: 89 253 6 5 3 5 51 730
|
||||
8301: 8 99 77 9 50 3
|
||||
1313532272: 107 124 990 94 180
|
||||
840: 67 3 770
|
||||
361138: 8 7 4 548 3 6 334 1 8 9 2
|
||||
174855991: 221 3 3 67 79
|
||||
833111: 302 55 476 11 2
|
||||
8754548349: 8 32 9 4 7 7 24 2 4 83 5 2
|
||||
601584: 948 633 253 833 414
|
||||
6126309: 983 5 694 78 7 2 169 7
|
||||
64819881584: 1 9 7 45 14 8 9 81 5 8 1
|
||||
5967559: 93 64 8 7 559
|
||||
16328160: 90 403 690 48 1
|
||||
513532: 258 2 6 6 36 9 3 310 6
|
||||
15655747: 9 3 9 1 6 7 572 34 91 7 9
|
||||
237684: 7 7 92 70 322 759 42 6
|
||||
27048: 6 98 65 4 8
|
||||
1048973: 52 70 55 38 281
|
||||
10939115: 45 963 5 69 252 47
|
||||
19837: 9 11 990 28 9
|
||||
473835: 8 93 3 21 5 3 6 633 7 2
|
||||
504234: 29 6 49 6 237
|
||||
5494944: 230 36 5 3 663
|
||||
69796160: 4 8 57 796 161
|
||||
29096760: 3 6 71 87 159 517 4 6 7
|
||||
12021: 64 26 18 4 1 6 8 78 7 2
|
||||
853987: 8 394 8 3 6 6 629 83
|
||||
6750233825: 31 296 5 4 3 8 343 714
|
||||
469826: 34 8 556 3 6 86 9 8
|
||||
347521988: 495 90 4 1 78 8
|
||||
549: 55 9 8 44 2
|
||||
398696370: 18 88 5 9 51 28 7 978 5
|
||||
865398616: 9 40 8 1 19 51 5 9 2 2 8 7
|
||||
56130: 9 7 9 3 1 7 1 45 39 7 5 5
|
||||
563500: 28 4 17 112 70 50
|
||||
4921246: 86 73 1 6 87 10 9 1
|
||||
716419908: 3 66 5 1 79 6 365 8 92 9
|
||||
47913: 4 1 74 5 1 10 3
|
||||
149522: 6 1 4 7 8 9 3 8 64 8 888 4
|
||||
140791326: 41 788 80 63 10 69
|
||||
24696560: 7 20 3 4 3 5 1 294 5 2 8 7
|
||||
83096679: 127 2 644 508 71
|
||||
64889: 9 913 7 34 7
|
||||
2984011: 8 6 89 357 6 61 196
|
||||
261145500: 9 350 98 285 3
|
||||
9066797: 452 48 86 50 4
|
||||
424912: 68 6 333 2 2 3 87 4
|
||||
408789: 42 4 752 88 524 274 5
|
||||
7029: 52 32 197 25 4
|
||||
25547: 33 4 9 319 293 1 3 9 5
|
||||
5668: 7 66 71 7 3 325
|
||||
235593690: 650 59 65 2 759 4 91
|
||||
494539813: 4 938 7 398 13
|
||||
748: 657 5 72 5 9
|
||||
50702: 3 770 434 2 3 7 8
|
||||
1379822126: 62 315 2 366 425 5
|
||||
23041257515: 40 3 63 8 617 8 9 5 14
|
||||
249356: 2 74 91 1 8
|
||||
4414939: 4 414 93 4 4
|
||||
5040197806: 86 372 726 526 217
|
||||
20347534480: 22 633 5 20 899
|
||||
18580386: 1 1 44 2 2 3 6 51 4 5 6 11
|
||||
1701511: 20 2 3 83 13
|
||||
310943: 4 26 8 9 3 419 1
|
||||
183224: 4 9 380 73 6 1 30 978 8
|
||||
73103: 61 296 3 4 68
|
||||
31772: 225 3 8 889 2
|
||||
1178: 6 96 5 554 43
|
||||
1165635: 4 5 6 37 7 50 6 95 6 34
|
||||
521557938: 651 1 2 4 74 6 9 2 7 2
|
||||
274204: 42 227 259 7 4
|
||||
149803482352: 156 8 4 5 9 48 9 5 118 3
|
||||
605018: 97 693 9 20 9
|
||||
6871840: 41 1 963 1 1 5 6 22 4 29
|
||||
8429236: 8 5 9 486 5 788
|
||||
26334230: 6 56 44 8 6 72 201 5 9
|
||||
354645: 318 136 978 8 837
|
||||
222371712: 7 9 4 579 9 26 7 79 3 7 9
|
||||
583654: 8 6 9 303 54 1 3 736 6
|
||||
2086560: 2 717 6 69 21
|
||||
1354419: 90 5 373 681 406 12 3
|
||||
1289: 46 40 6 427 339 5 2
|
||||
16998959: 5 910 4 934 71 88
|
||||
796: 8 7 655 84 1
|
||||
518817357: 3 929 658 94 309 9
|
||||
1619705: 8 337 2 19 59 2 25 1 3 2
|
||||
86126152: 89 3 6 8 4 84 131 2 6 5 3
|
||||
279794895: 41 512 1 4 68 2 1 7 5 7 9
|
||||
11992270: 802 941 860 48 5 8 3 3
|
||||
169258681081728: 4 2 314 670 2 7 4 1 72 8
|
||||
31080912061057: 662 939 24 12 21 1 5
|
||||
19148: 9 71 651 522 5 85 3 98
|
||||
899771738: 7 155 37 829 6
|
||||
341754594416: 4 5 85 271 54 7 4 67 3
|
||||
340337738: 95 44 1 2 8 33 4 5 9 9 3 6
|
||||
289414: 22 657 9 69 88 2
|
||||
63360363758: 94 6 68 21 51 4 87 27 8
|
||||
171845234: 9 3 7 8 8 61 9 8 5 97 34
|
||||
1121977715637: 98 71 75 1 5 43 635
|
||||
9144808: 7 87 65 330 71 5 2 4
|
||||
1481713: 3 82 63 14 2 31 82
|
||||
13345: 2 413 105 691 11 2 22
|
||||
74111931179: 92 959 2 895 8 76 420
|
||||
581756: 57 1 8 3 758
|
||||
12169: 747 543 9 5 554
|
||||
238685361: 34 1 75 6 716 711 8 4
|
||||
177684: 783 901 594 78
|
||||
36733617: 145 319 9 794 1
|
||||
85822: 6 2 40 8 5 3 73 94
|
||||
4243328964: 185 2 9 84 2 6 42 2 21
|
||||
8622560552: 1 82 9 9 5 5 5 59 8 7 5 3
|
||||
30722403: 327 77 5 632 75
|
||||
249734635: 3 543 87 417 349 3 4
|
||||
917934: 9 17 8 96 38
|
||||
22698: 6 9 42 9 6
|
||||
1813: 54 205 37 6 33 4
|
||||
15798: 72 83 2 91 9
|
||||
206141781120: 9 954 3 3 7 226 4 80
|
||||
1603475788: 5 8 9 8 9 2 457 7 1 6 53 5
|
||||
2834847: 288 41 4 3 5 60 377 70
|
||||
549488: 1 460 30 73 976
|
||||
528868: 1 1 2 674 78 8 20
|
||||
779390010: 4 7 5 4 3 6 361 65 91 7 5
|
||||
390488: 449 6 3 4 5 16 716 4 38
|
||||
173793107: 500 101 4 85 172 5 7
|
||||
37492680: 1 97 1 21 9 8 927 960 5
|
||||
4224: 301 78 9 9 9 2 412 237
|
||||
9492503: 943 293 8 20 2 3 8 7 8 8
|
||||
1649632415: 48 4 541 4 8 1 63 702 5
|
||||
362304: 8 40 629 6 2
|
||||
33100412: 6 353 8 1 78 10 7 6 9 96
|
||||
975: 2 719 39 209 6
|
||||
23945: 9 393 8 3 707 858 5 5
|
||||
1014: 4 6 1 4
|
||||
19452231: 84 310 9 83 351
|
||||
646720: 90 6 117 39 688 688
|
||||
1720919400: 358 5 4 604 391 60 2
|
||||
520067: 78 8 4 1 3 33 4 74 455 2
|
||||
122: 3 97 1 21 1
|
||||
73957341622897: 9 2 7 9 3 369 90 2 862 8
|
||||
566255566198: 785 1 1 4 6 6 9 5 77 4 8 6
|
||||
49622: 4 3 4 5 50 7 1 23
|
||||
139331: 39 42 1 860 2 4 7
|
||||
2062460: 7 343 177 8 58
|
||||
10823346606: 59 2 287 9 4 915 3 93
|
||||
820253: 3 6 89 8 6 44 3 56 2 9 6 5
|
||||
420736258837: 71 311 230 31 59 7
|
||||
38750: 51 630 23 55 31
|
||||
86950: 82 36 41 544 454
|
||||
10682880: 2 321 5 64 52
|
||||
34112010240: 96 968 8 57 805 1
|
||||
129014: 5 14 251
|
||||
25968364: 3 2 9 2 1 71 1 3 5 7 2 761
|
||||
258162800: 869 4 3 7 847 673 20
|
||||
30630: 335 46 8 2 12 1 9
|
||||
226110: 223 2 933 96 81
|
||||
634800: 5 2 9 175 269 2 690
|
||||
311: 9 11 7 2 169
|
||||
62617: 16 98 510 5 8 6 227 2
|
||||
182964015: 899 310 59 513 5
|
||||
1100758: 6 4 504 91 3 19
|
||||
3942347909: 7 5 2 547 65 6 8 33 6 2 3
|
||||
280898183289: 86 5 4 420 31 8 88 8 89
|
||||
9983283: 501 496 5 8 2 80
|
||||
10747859: 38 91 111 7 21 4 312
|
||||
938: 536 3 5 20 65 309
|
||||
22361: 8 211 4 58
|
||||
399654: 77 863 93 65 6
|
||||
108209773: 51 26 68 5 3 3 70 4 693
|
||||
305118: 41 397 68 9 67
|
||||
3424261494: 1 8 19 4 261 492
|
||||
43544170: 8 68 8 5 1 929 84 81 1
|
||||
611980072: 572 123 29 5 9 19 88
|
||||
13381485: 34 2 1 623 3 65
|
||||
2312486114: 362 117 769 71 68
|
||||
5316350: 2 261 9 63 51
|
||||
6018738: 1 3 90 6 4 7 64 1 7 7 2 6
|
||||
188: 14 7 67 8 92
|
||||
19913715: 81 4 241 4 5 255
|
||||
2271848065: 609 8 3 5 4 92 65
|
||||
11206: 91 396 23 4 1
|
||||
424434: 630 84 6 8 2 8 6 6 1 934
|
||||
40642395: 4 12 5 62 88 535 93
|
||||
4875: 62 7 2 16 56
|
||||
15714: 4 2 48 230 5 72 5 4
|
||||
183787176: 822 52 37 8 537
|
||||
259167840: 5 7 8 6 903 51 816 8 41
|
||||
637776878: 43 16 927 870 6
|
||||
3998250: 11 323 3 3 375
|
||||
14273886977: 199 2 292 566 25 217
|
||||
188: 9 4 2
|
||||
464170402: 928 331 9 8 50
|
||||
36738891: 77 477 9 8 83 8
|
||||
536328: 73 266 446 27
|
||||
1932: 4 163 90 65 6
|
||||
4471181453430: 9 70 6 6 5 2 59 853 9 3
|
||||
1010888: 39 72 36 8 3
|
||||
7283692: 867 84 8 91
|
||||
41750873: 3 25 36 653 8 9 8 9 17
|
||||
3506152: 4 688 637 46 6 2
|
||||
617650487: 38 4 1 1 11 4 402
|
||||
1530026: 6 78 38 7 86
|
||||
72172165: 344 6 22 8 8 645 538 3
|
||||
10275506472: 30 1 3 2 69 341 5 2 1 1 1
|
||||
14944995: 5 2 8 64 9 3 15 767
|
||||
8809031: 53 11 74 6 310 60 7 4
|
||||
386665: 4 32 9 49 85
|
||||
3433815: 861 5 4 1 991
|
||||
38882: 547 7 1 591
|
||||
206319558: 5 86 2 6 55 916 195 55
|
||||
35848233: 714 54 4 2 875 909
|
||||
278: 32 4 88 60 2
|
||||
4529: 624 1 23 7
|
||||
3056508000703: 7 351 40 50 622 69 3 9
|
||||
743851143: 103 7 4 8 51 4 7 2 3 3 7 4
|
||||
569: 7 57 80 1 90
|
||||
2477347208185: 2 478 53 18 541 8 187
|
||||
2211258037: 5 72 74 978 35 37
|
||||
131240: 330 76 323 97 5
|
||||
303451: 260 43 4 42 9
|
||||
1375045632: 6 7 9 6 7 37 6 6 6 8 96 3
|
||||
900: 3 9 81 7 9
|
||||
9017376: 2 81 793 8 1 4
|
||||
31854: 1 83 146 8 806 7 4 6 3
|
||||
8899350286: 5 6 3 711 530 894 463
|
||||
12087785589: 1 995 3 9 3 4 5 9 3 8 589
|
||||
3433209: 572 201 6
|
||||
711980: 51 5 68 411 970
|
||||
110044: 276 6 5 20 820 44
|
||||
34500428: 8 955 6 77 8 9 5 1 495
|
||||
10437: 7 6 8 6 9 8 96 54 2 2 7
|
||||
9526930631: 2 3 81 6 9 4 2 12 53 7 4
|
||||
5831: 7 8 3 13 289 7 2 866 5 1
|
||||
5841776: 8 104 1 15 8 8 3 3 7 184
|
||||
2012810: 3 7 8 6 3 5 245 191 625
|
||||
42840: 2 686 77 2 28
|
||||
16834553255: 417 724 44 641 403
|
||||
3578: 71 7 5 7 848
|
||||
214553838357: 861 655 7 249 356
|
||||
112137: 10 72 1 664 50 26 1 3 9
|
||||
86111527: 2 152 772 15 7 4 4
|
||||
1438: 6 3 7 92 5 6 93 2 9 142 9
|
||||
5963942: 6 33 556 55 5 842
|
||||
1809: 6 1 69 1 532 313 888
|
||||
1346526720: 85 9 8 8 725 7 184 704
|
||||
23746365: 15 685 72 9 255
|
||||
44157722065: 4 4 513 6 4 9 45 49 4 64
|
||||
19388160: 9 6 399 26 272 6 9 3
|
||||
31874414: 6 622 462 1 8 950 9 4 1
|
||||
155254467409: 7 34 38 3 9 4 8 7 6 7 409
|
||||
7488740: 26 8 6 6 740
|
||||
737225700: 50 65 504 276 2 6 8 75
|
||||
186743803: 14 4 674 3 126 676
|
||||
31374: 60 6 36 14 3 504 9 18
|
||||
858491: 5 422 335 6 221
|
||||
1404417: 844 8 26 8 1
|
||||
1824766: 320 60 7 686 6
|
||||
25867127169: 106 75 78 473 81 299
|
||||
6147278: 1 99 584 9 2 79
|
||||
65989578: 857 77 56 1 8
|
||||
1351: 24 605 710 12
|
||||
475680012600: 5 985 6 4 4 8 75 63 4 50
|
||||
1479825: 2 9 5 383 763 6 7 38 1
|
||||
3870766: 32 31 1 5 84 6 4 1 6 46
|
||||
222359: 80 25 7 42 78 5
|
||||
8037677: 46 60 52 28 2 536 5 16
|
||||
18009543: 178 45 1 8 8 20 3 72 40
|
||||
112178952: 3 24 824 7 9 7 566 3 8 9
|
||||
1923: 15 58 358 3 6
|
||||
6435890: 8 63 5 9 7 35 66 4 83
|
||||
2863025: 4 6 8 2 2 6 3 8 367 5 55
|
||||
40411: 9 9 36 22 4 243 11
|
||||
54585: 4 2 6 6 9 2 1 1 446 9 5 9
|
||||
267657: 9 9 8 6 3 34 82 9
|
||||
2796417: 5 20 7 5 77 117 93
|
||||
6722720550: 9 8 699 565 2 7 629 6 5
|
||||
21376691: 625 9 4 461 931
|
||||
129121866640: 5 86 401 5 2 187 34 4 3
|
||||
82: 4 2 74
|
||||
160724791752: 933 2 188 534 32 861
|
||||
1397630: 2 226 945 1 598 32
|
||||
104983: 721 8 9 8 2 7
|
||||
633707226: 2 8 99 1 4 3 26 346 22 6
|
||||
384219200: 6 9 4 86 4 63 3 857 8 41
|
||||
23133242293: 6 5 8 8 43 105 1 47 3 9
|
||||
176306130: 92 3 33 618 91
|
||||
27635920726: 112 6 5 1 5 9 1 520 7 2 6
|
||||
50564: 7 491 11 65 688
|
||||
1156: 11 48 4 7 1
|
||||
15416: 140 50 524 756 86
|
||||
161994: 7 8 3 5 8 1 4 9 31 8 67 6
|
||||
39386948: 7 66 89 783 94 8
|
||||
24255: 35 9 77
|
||||
120187745: 70 1 168 70 2 2 5 73 34
|
||||
47705: 4 7 8 836 3 9 7 22 3 8 3 1
|
||||
6090760: 3 57 42 26 845
|
||||
13881: 22 877 256 3 4 9 8 4
|
||||
46461312: 89 14 55 62 6 4 24
|
||||
6250228269: 18 8 68 121 432
|
||||
6383118: 1 7 9 612 726 9 14
|
||||
38781608135: 9 7 34 14 2 88 14 4 452
|
||||
92288: 737 29 882 7 8
|
||||
112928510456: 75 4 8 5 39 1 4 9 48 56
|
||||
3331441: 7 671 4 4 971 69 105 1
|
||||
7458037: 85 552 5 234 513 2 4
|
||||
1873: 8 8 3 699 871 42
|
||||
4144: 33 93 13 87 975
|
||||
93888361566: 78 3 8 7 4 995 4 4 1 5 64
|
||||
1625400: 207 8 9 4 3 9 3 432 15 7
|
||||
8548173: 85 4 8 171 2
|
||||
523899888: 41 678 66 7 138 8
|
||||
826762114: 4 5 205 5 9 3 898 1 456
|
||||
26131808416: 628 4 6 5 8 7 999 8 59 6
|
||||
579359: 8 723 80 2 877
|
||||
659088: 4 8 580 20 115 3 66 92
|
||||
91260: 2 6 9 61 540
|
||||
26960754744: 700 81 27 161 3 984
|
||||
38962: 38 35 944 8 730
|
||||
2477734: 3 4 4 748 24 922 3 8 4 9
|
||||
70122: 3 8 5 6 3 1 5 5 502 2 9 31
|
||||
17784: 18 96 43 50 24 2 6 38
|
||||
22593450: 6 60 76 26 825
|
||||
678: 2 2 8 4 278 384
|
||||
43998707: 283 69 6 797 373
|
||||
94836: 4 418 586 6 7
|
||||
1820590087408: 200 4 768 400 1 8 926
|
||||
688680: 978 45 7 490 15 15 6
|
||||
106631: 20 8 858 17 8 8
|
||||
5404060: 8 21 6 10 6 3 5 112 4 8 5
|
||||
1599066: 65 41 1 1 6
|
||||
2023517: 4 1 45 4 9 8 891 19 37
|
||||
939209242: 65 3 708 59 68 42
|
||||
174049: 6 2 6 1 4 634 8 9 2 37 6
|
||||
15021: 34 7 301 6 42 395 4 1 6
|
||||
14648089: 68 131 2 3 548 49
|
||||
6034061: 697 7 174 78 1 84 14 5
|
||||
11010: 9 3 12 6 5 9
|
||||
3221245: 2 1 22 12 4 5
|
||||
5573841: 7 3 5 4 401 2 7 5 8 33 8 9
|
||||
2209501: 8 9 934 7 5 139 6 5 780
|
||||
20210540773: 6 41 47 820 773
|
||||
84048: 2 420 16 22 9
|
||||
2271918080: 7 5 8 9 6 4 86 9 3 720 8 8
|
||||
42887611650: 2 944 7 1 58 23 5 390
|
||||
586845: 724 5 81
|
||||
9826292880: 7 360 907 984 30
|
||||
28679847: 7 3 3 185 3 9 44 1 1 2 1 7
|
||||
10776864: 23 6 63 66 6 812
|
||||
43111: 61 1 684 5 698
|
||||
19543780: 5 6 7 386 314 1 2 4 4 5 4
|
||||
8862: 97 5 223 7 4 1 6 5 883
|
||||
100858024: 2 110 9 580 23
|
||||
8795: 79 5 22 8 1 97
|
||||
11754330: 3 9 827 571 6 509 502
|
||||
8670: 5 5 6 69 3 34
|
||||
2460074832: 98 74 989 7 49 628
|
||||
4628655366749: 336 159 12 722 67 49
|
||||
818733616627: 8 11 4 3 73 354 7 6 630
|
||||
68629528: 404 2 8 12 18 22 7 4 8
|
||||
1893617: 35 75 1 5 80 9 9 6 2
|
||||
38138762: 5 499 40 720 7 835 9
|
||||
4166: 7 1 85 7 1
|
||||
9060263911: 7 3 83 7 6 6 950 9 9 9 4
|
||||
3189914: 474 41 9 7 3 22 4 4 91
|
||||
13525161849: 229 24 59 184 9
|
||||
604493820: 8 699 804 76 945
|
||||
1707917817904: 82 635 66 518 328
|
||||
4977357580: 96 50 3 9 287 5 68
|
||||
9076536: 621 8 21 87
|
||||
69769617: 697 6 9 619
|
||||
7004: 4 1 3 863 4 2 4
|
||||
1494087678076: 9 3 498 3 5 50 3 5 6 5 7 7
|
||||
50653588160: 47 590 4 2 733 94 623
|
||||
23676384741: 723 2 64 3 58 5 84 744
|
||||
43893055008: 23 729 4 888 737
|
||||
5274417095: 3 55 829 949 9 66 2 7 8
|
||||
2215: 6 838 45 532 782 12
|
||||
214112: 5 9 3 361 39
|
||||
12804634104: 3 40 5 5 876 81 74 316
|
||||
124884: 8 5 465 7 52 70 4 4 9 1 1
|
||||
2593468329: 9 3 15 6 6 111 6 2 2 6 5 2
|
||||
129276: 9 26 9 532
|
||||
1692128359129: 6 7 685 134 2 5 7 5 6 2 9
|
||||
579105175: 578 4 7 37 117 83 7 25
|
||||
7316537: 2 4 68 7 2 874 3 78 159
|
||||
3015: 9 38 9 1 7 281 365 3
|
||||
99097600: 6 3 7 7 9 38 64 70 280
|
||||
1042: 559 462 7 5 9
|
||||
13454: 8 3 926 957 7 36 69
|
||||
40525369: 82 641 771 1 67
|
||||
207940: 7 8 554 1 89 4 79 12
|
||||
482632192: 61 412 51 6 92 193
|
||||
499810500: 903 30 9 82 25
|
||||
80462: 8 76 841 55 765 2
|
||||
43767147: 4 376 714 9
|
||||
3457: 253 13 161 7
|
||||
760: 69 6 8 86 73 1
|
||||
531079911: 64 85 387 4 921
|
||||
588061416: 4 6 7 4 7 9 5 3 45 9 4
|
||||
27216918: 72 3 6 36 7 75 143
|
||||
385666677: 881 5 76 18 8 8 8 53
|
||||
130004820: 92 303 64 517 9
|
||||
49967040: 164 1 2 42 116 96 73
|
||||
3408: 62 164 7 193 8
|
||||
595446: 8 93 27 8 30
|
||||
1022124: 8 691 6 5 1 6 27 3 3 66
|
||||
499993425: 7 5 101 660 87 347 2 5
|
||||
88596602: 7 434 4 9 809 324 4 98
|
||||
420: 5 87 3 1 16 66 1 58 4
|
||||
48663888: 4 1 6 329 8 5 73 1 2 7 8 3
|
||||
265139504194: 1 39 87 4 659 8 81 9 91
|
||||
3260115: 383 6 59 9 93
|
||||
1490656: 2 7 7 2 82 164 766 2 7 6
|
||||
57342664: 907 3 2 63 62
|
||||
573144148101: 954 80 775 2 9 969
|
||||
15462181: 163 85 558 2
|
||||
920: 2 7 8 3 39 1 8
|
||||
665550: 178 3 805 9 75
|
||||
30508: 64 462 40 896 3
|
||||
481630: 48 1 32 5 302
|
||||
245688473: 9 473 646 8 8 469 58 9
|
||||
3760: 5 3 4 8 94
|
||||
34608191219: 11 846 1 42 93 952 35
|
||||
2176096: 74 39 12 4 400 1 9 14 4
|
||||
19441660: 997 195 3 13 10
|
||||
3560743358: 9 39 80 6 5 6 79 9 6 318
|
||||
33572702: 37 3 360 8 7 2 51 3 35 2
|
||||
374610584590: 81 5 1 326 7 4 6 6 331 9
|
||||
29793907695: 3 69 508 9 7 587 62 6 5
|
||||
2407: 1 1 4 1 79 518 741 828
|
||||
50857980: 47 486 67 3 740
|
||||
435912: 60 896 2 26 443
|
||||
61272: 4 6 835 43 69
|
||||
10516068: 65 4 2 813 3 3 9 162 2 3
|
||||
2122: 6 342 70
|
||||
131834: 425 4 68 500 5 58
|
||||
321214243: 237 92 45 57 3 51 4 3
|
||||
2971: 40 1 97 1 14 986 53
|
||||
116: 1 4 7 10 6
|
||||
432138: 52 9 3 8 3 63 97 3
|
||||
1866564: 3 72 4 9 710 46 5 3 3 36
|
||||
719413: 442 6 61 91 91 2 5 77
|
||||
2123870: 3 151 674 5 88
|
||||
7641: 37 811 9 9
|
||||
7462128862: 199 6 5 455 8 16 865
|
||||
3158238: 25 96 758 154 85
|
||||
30721860750: 6 512 185 63 37 7 48
|
||||
408: 5 15 5 5 8
|
||||
13552704: 8 2 5 982 6 7 5 2 2 8 46
|
||||
720972: 4 57 3 734 9 6 3 5 4 9 84
|
||||
3827862: 5 36 7 5 9 548 7 61 661
|
||||
94229670: 53 993 986 9 88 7 45
|
||||
94786045: 94 34 44 60 42
|
||||
1273534211: 453 7 619 247 2 213
|
||||
92180160893: 4 5 14 1 8 3 7 908 8 89 3
|
||||
1335205: 111 6 7 9 20 6
|
||||
179104519445: 878 669 8 605 63 5
|
||||
201325: 704 453 29 6 7
|
||||
4134394384: 6 89 6 394 381
|
||||
5636785: 97 95 2 368 3 4 7 4 3 1 7
|
||||
151650: 6 153 4 8 655 6
|
||||
5367: 731 8 6 6 927
|
||||
35432: 43 4 9 631 96
|
||||
258100658: 6 19 809 89 6 8 3 4 5 3 9
|
||||
2412169452: 473 413 49 3 84
|
||||
1143: 7 862 95 89 90
|
||||
10295096979: 3 499 924 7 54 301 68
|
||||
19843: 74 268 6 2 3
|
||||
85363464588: 2 34 304 2 20 47 12 23
|
||||
81113: 721 83 7 1 3
|
||||
45752: 7 7 295 7 19
|
||||
1433638: 3 452 7 9 50 57 320 11
|
||||
5595044: 2 220 12 3 21 5 8
|
||||
14283588: 5 9 26 8 241
|
||||
351804155: 983 4 502 19 5 8 71 4
|
||||
146764905: 7 182 6 315 7 13 7 4 77
|
||||
455788734: 49 65 18 34 51
|
||||
44513169: 25 89 6 581 2 7
|
||||
82172473: 1 362 73 9 3 9 9 31 25
|
||||
121716: 1 6 42 207 2
|
||||
61611946: 5 17 3 663 6 8 1 22 660
|
||||
445977: 1 48 1 91 76 1
|
||||
1295228700: 58 99 6 149 3 7 75 3 79
|
||||
143627: 6 98 738 2 7
|
||||
2659746: 4 9 9 6 84 146 2 6 3 6 6
|
||||
6125686: 76 13 1 62 86
|
||||
48086976: 53 8 41 346 487 168 8
|
||||
4043589: 8 6 9 347 5 3 6 8 3 5 4 5
|
|
@ -22,6 +22,7 @@ dependencies:
|
|||
- unordered-containers
|
||||
- utility-ht
|
||||
- vector
|
||||
- split
|
||||
|
||||
executables:
|
||||
aoc24:
|
||||
|
@ -30,7 +31,7 @@ executables:
|
|||
- aoc24
|
||||
aoc24-debug:
|
||||
main: Main.hs
|
||||
ghc-options: -Wall -threaded -rtsopts -eventlog -prof #-fprof-auto
|
||||
ghc-options: -Wall -threaded -rtsopts -prof #-fprof-auto
|
||||
dependencies:
|
||||
- aoc24
|
||||
|
||||
|
@ -43,7 +44,7 @@ library:
|
|||
- Day4
|
||||
- Day5
|
||||
- Day6
|
||||
# - Day7
|
||||
- Day7
|
||||
# - Day8
|
||||
# - Day9
|
||||
# - Day10
|
||||
|
|
133
src/Day7.hs
Normal file
133
src/Day7.hs
Normal file
|
@ -0,0 +1,133 @@
|
|||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module Day7 where
|
||||
|
||||
-- import Debug.Trace
|
||||
import Control.Monad (replicateM)
|
||||
import Data.Attoparsec.Text (Parser, endOfLine, parseOnly, scientific, sepBy)
|
||||
import Data.Either (fromRight)
|
||||
import Data.Hashable
|
||||
import Data.List (transpose)
|
||||
import Data.List.Split (chunksOf)
|
||||
import Data.Monoid
|
||||
import Data.Scientific (coefficient)
|
||||
import Data.Text (Text)
|
||||
import qualified Data.Text as T
|
||||
import qualified Data.Text.IO as T
|
||||
import GHC.Generics (Generic)
|
||||
|
||||
type CalibrationEq = (Int, [Int])
|
||||
|
||||
parseInput :: Parser [CalibrationEq]
|
||||
parseInput = parseLine `sepBy` endOfLine
|
||||
|
||||
parseLine :: Parser CalibrationEq
|
||||
parseLine = do
|
||||
testValue <- parseInt <* ": "
|
||||
nums <- parseInt `sepBy` " "
|
||||
pure (testValue, nums)
|
||||
|
||||
parseInt :: Parser Int
|
||||
parseInt = fromInteger . coefficient <$> scientific
|
||||
|
||||
data ExpSymbol = ESInt Int | ESPlus | ESTimes
|
||||
deriving (Generic, Eq)
|
||||
instance Hashable ExpSymbol
|
||||
instance Show ExpSymbol where
|
||||
show (ESInt i) = show i
|
||||
show ESPlus = "+"
|
||||
show ESTimes = "×"
|
||||
|
||||
allSymbols :: Int -> [[ExpSymbol]]
|
||||
allSymbols n = replicateM n [ESPlus, ESTimes]
|
||||
|
||||
(+++) :: [a] -> [a] -> [a]
|
||||
(+++) a b = (concat . transpose) [a, b]
|
||||
|
||||
buildExps :: [Int] -> [[ExpSymbol]]
|
||||
buildExps xs = fmap (xs' +++) (allSymbols n)
|
||||
where
|
||||
n = length xs - 1
|
||||
xs' = fmap ESInt xs
|
||||
|
||||
evalExp :: [ExpSymbol] -> Int
|
||||
evalExp (ESInt x : xs) = foldr f x (chunksOf 2 $ reverse xs)
|
||||
where
|
||||
f :: [ExpSymbol] -> Int -> Int
|
||||
f [ESInt i, ESPlus] acc = acc + i
|
||||
f [ESInt i, ESTimes] acc = acc * i
|
||||
f _ _ = minBound
|
||||
evalExp _ = minBound
|
||||
|
||||
solveA :: Text -> Int
|
||||
solveA txt = getSum $ foldMap f calEq
|
||||
where
|
||||
f :: (Int, [Int]) -> Sum Int
|
||||
f (k, v) =
|
||||
if k `elem` map evalExp (buildExps v)
|
||||
then Sum k
|
||||
else Sum 0 -- neutral for a sum
|
||||
calEq = fromRight [] $ parseOnly parseInput txt
|
||||
|
||||
data ExpSymbolB = ESIntB Int | ESPlusB | ESTimesB | ESConcatB
|
||||
deriving (Generic, Eq)
|
||||
|
||||
instance Hashable ExpSymbolB
|
||||
instance Show ExpSymbolB where
|
||||
show (ESIntB i) = show i
|
||||
show ESPlusB = "+"
|
||||
show ESTimesB = "×"
|
||||
show ESConcatB = "||"
|
||||
|
||||
allSymbolsB :: Int -> [[ExpSymbolB]]
|
||||
allSymbolsB n = replicateM n [ESPlusB, ESTimesB, ESConcatB]
|
||||
|
||||
buildExpsB :: [Int] -> [[ExpSymbolB]]
|
||||
buildExpsB xs = fmap (xs' +++) (allSymbolsB n)
|
||||
where
|
||||
n = length xs - 1
|
||||
xs' = fmap ESIntB xs
|
||||
|
||||
evalExpB :: [ExpSymbolB] -> Int
|
||||
evalExpB (ESIntB x : xs) = foldr f x (chunksOf 2 $ reverse xs)
|
||||
where
|
||||
f :: [ExpSymbolB] -> Int -> Int
|
||||
f [ESIntB i, ESPlusB] acc = acc + i
|
||||
f [ESIntB i, ESTimesB] acc = acc * i
|
||||
f [ESIntB i, ESConcatB] acc = acc * 10 ^ length (show i) + i
|
||||
f _ _ = minBound
|
||||
evalExpB _ = minBound
|
||||
|
||||
solveB :: Text -> Int
|
||||
solveB txt = getSum $ foldMap f calEq
|
||||
where
|
||||
f :: (Int, [Int]) -> Sum Int
|
||||
f (k, v) =
|
||||
if k `elem` map evalExpB (buildExpsB v)
|
||||
then Sum k
|
||||
else Sum 0 -- neutral for a sum
|
||||
calEq = fromRight [] $ parseOnly parseInput txt
|
||||
|
||||
inputEx :: Text
|
||||
inputEx =
|
||||
T.unlines
|
||||
[ "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"
|
||||
]
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
input <- T.readFile "inputs/day7.input"
|
||||
putStrLn "Part 1"
|
||||
print $ solveA inputEx
|
||||
print $ solveA input
|
||||
putStrLn "Part 2"
|
||||
print $ solveB input
|
Loading…
Reference in a new issue