Day7 - set concatenationEnabled to true for Part 2

main
login000 2024-12-10 16:55:44 +10:30
parent c74ab1cabf
commit 24b7f4d848
3 changed files with 939 additions and 2 deletions

86
Advent24/Day7.cs 100644
View File

@ -0,0 +1,86 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection.Emit;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
using System.IO.Compression;
using System.Xml.Serialization;
namespace Advent24
{
internal class Day7
{
public Day7()
{
String fileData = System.IO.File.ReadAllText(@"..\..\..\inputd7.txt");
String[] equations = fileData.Split('\n', StringSplitOptions.RemoveEmptyEntries);
Int64 totalCalibrationResult = 0;
Boolean concatenationEnabled = true;
Int64 @base = concatenationEnabled ? 3 : 2;
foreach (String equation in equations)
{
String[] subequation = equation.Split(':', StringSplitOptions.RemoveEmptyEntries);
Int64 testValue = System.Convert.ToInt64(subequation[0]);
String[] operands = subequation[1].Split(" ", StringSplitOptions.RemoveEmptyEntries);
Int64[] intermediateResults = new Int64[(Int64)Math.Pow(@base, operands.Length-1)];
Int64 intermediateResultIndex = (Int64)Math.Pow(@base, operands.Length - 1);
Int64 numberOfSections = @base;
Int64 sectionWidth = intermediateResults.Length / numberOfSections;
Int64 operandIndex = 0;
// copy first operand to all locations - half the total number of location will be to add the second operand, the other half will be to multiply it
for(Int64 i = 0; i < intermediateResultIndex; i++)
intermediateResults[i] = System.Convert.ToInt64(operands[operandIndex]);
operandIndex++;
while (operandIndex < operands.Length)
{
sectionWidth = intermediateResults.Length / numberOfSections;
for (Int64 sectionNumber = 0; sectionNumber < numberOfSections; sectionNumber++)
for (Int64 i = sectionNumber * sectionWidth; i < (sectionNumber + 1) * sectionWidth; i++)
if (sectionNumber % @base == 0)
// first choice of operator = +
intermediateResults[i] += System.Convert.ToInt64(operands[operandIndex]);
else if (sectionNumber % @base == 1)
// second choice of operator = *
intermediateResults[i] *= System.Convert.ToInt64(operands[operandIndex]);
else
// third choice of operator = || (concatenation)
intermediateResults[i] = intermediateResults[i] * (Int64)Math.Pow(10, operands[operandIndex].Length) + System.Convert.ToInt64(operands[operandIndex]);
numberOfSections *= @base;
operandIndex++;
}
if (intermediateResults.Contains(testValue))
{
// testValue is possible
totalCalibrationResult += testValue;
}
}
Console.WriteLine("totalCalibrationResult = {0:d}", totalCalibrationResult);
// to keep the console window from closing
Console.ReadKey();
}
}
}

View File

@ -11,8 +11,9 @@ namespace Advent24
//_ = new Day2();
//_ = new Day3();
//_ = new Day4();
// _ = new Day5();
_ = new Day6();
//_ = new Day5();
//_ = new Day6();
_ = new Day7();
}
}
}

View File

@ -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