diff --git a/AdventOfCode2024.sln b/AdventOfCode2024.sln
index d59e856..e3e421e 100644
--- a/AdventOfCode2024.sln
+++ b/AdventOfCode2024.sln
@@ -15,6 +15,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Day5", "Day5\Day5.csproj",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Day6", "Day6\Day6.csproj", "{6E7CF4A7-6667-4081-9E54-36452956EE8C}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Day7", "Day7\Day7.csproj", "{D177FD38-032B-4053-8E84-38368F74CBCE}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -45,6 +47,10 @@ Global
{6E7CF4A7-6667-4081-9E54-36452956EE8C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6E7CF4A7-6667-4081-9E54-36452956EE8C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6E7CF4A7-6667-4081-9E54-36452956EE8C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D177FD38-032B-4053-8E84-38368F74CBCE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D177FD38-032B-4053-8E84-38368F74CBCE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D177FD38-032B-4053-8E84-38368F74CBCE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D177FD38-032B-4053-8E84-38368F74CBCE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Day7/Day7.csproj b/Day7/Day7.csproj
new file mode 100644
index 0000000..e0c4c2e
--- /dev/null
+++ b/Day7/Day7.csproj
@@ -0,0 +1,16 @@
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+
+
+
+
+ Always
+
+
+
+
diff --git a/Day7/Program.cs b/Day7/Program.cs
new file mode 100644
index 0000000..67ffc6c
--- /dev/null
+++ b/Day7/Program.cs
@@ -0,0 +1,90 @@
+var lines = File.ReadLines("input.txt");
+
+List<(long, List)> equationList = new();
+
+foreach (var line in lines)
+{
+ var splitLine = line.Split(":");
+ var item1 = long.Parse(splitLine[0]);
+ var item2 = splitLine[1].Split(" ").Where(x => x != String.Empty).Select(long.Parse).ToList();
+ equationList.Add((item1, item2));
+}
+
+var part1 = EquationSolver(equationList, ['+', '*']);
+var part2 = EquationSolver(equationList, ['+', '*', '|']);
+
+Console.WriteLine($"Part1: {part1}\nPart2: {part2}");
+
+long EquationSolver(List<(long, List)> equations, List possibleOperators)
+{
+ long numberOfPossibleEquations = 0;
+
+ // For thread safety
+ var lockObject = new object();
+
+ Parallel.ForEach(equations, equation =>
+ {
+ var operatorCombinations = GetCombinations(possibleOperators.ToArray(), equation.Item2.Count - 1);
+ var foundValidCombination = false;
+
+ Parallel.ForEach(operatorCombinations, (operatorCombination, state) =>
+ {
+ if (!IsEquationPossible(equation.Item1, equation.Item2, operatorCombination)) return;
+
+ lock (lockObject)
+ {
+ foundValidCombination = true;
+ }
+ state.Break();
+ });
+
+ if (!foundValidCombination) return;
+
+ lock (lockObject)
+ {
+ numberOfPossibleEquations += equation.Item1;
+ }
+ });
+
+ return numberOfPossibleEquations;
+}
+bool IsEquationPossible(long result, List parameters, char[] operators)
+{
+ var calculatedResult = parameters[0];
+
+ for (var i = 0; i <= operators.Length - 1; i++)
+ {
+ calculatedResult = operators[i] switch
+ {
+ '+' => calculatedResult + parameters[i + 1],
+ '*' => calculatedResult * parameters[i + 1],
+ '|' => long.Parse($"{calculatedResult}{parameters[i + 1]}"),
+ _ => throw new Exception("Invalid operator")
+ };
+ }
+
+ return calculatedResult == result;
+}
+
+List GetCombinations(char[] chars, int length)
+{
+ var result = new List();
+ GenerateCombinations(chars, length, [], result);
+ return result;
+}
+
+void GenerateCombinations(char[] chars, int length, List current, List result)
+{
+ if (length == 0)
+ {
+ result.Add(current.ToArray());
+ return;
+ }
+
+ foreach (var c in chars)
+ {
+ current.Add(c);
+ GenerateCombinations(chars, length - 1, current, result);
+ current.RemoveAt(current.Count - 1);
+ }
+}
\ No newline at end of file
diff --git a/Day7/input.txt b/Day7/input.txt
new file mode 100644
index 0000000..b6c25be
--- /dev/null
+++ b/Day7/input.txt
@@ -0,0 +1,850 @@
+7628244: 4 6 99 4 321
+1961493912: 729 232 83 28 46 1 9
+79325232924618: 907 466 857 34 3 618
+5036760: 5 647 4 2 79 274 8 3 3 8
+152117: 5 75 9 3 46 162
+63846: 341 9 239 239 6 3
+6073704: 8 6 93 562 6 9 91
+7044340: 98 302 7 34 492
+5044440960: 15 31 520 3 606 2 58
+1802308: 18 5 596 6 81 1 8 6 428
+12312698599: 598 5 99 548 372 52 3
+519237: 79 718 3 849 118 9 9
+7898: 5 7 34 8 86 49 63
+4609664: 67 688 64
+6247040: 560 61 3 704 10
+23641455: 656 120 84 8 5 3
+1781: 79 954 699 49
+90005760047112: 9 37 560 2 480 471 12
+726: 8 24 47 7 92 63 9 1 8
+1449585: 38 147 38
+5434836: 9 3 9 6 7 35 1 8 8 2 8 66
+5819: 3 94 2 3 1
+1276: 31 41 5
+513617: 5 13 61 9 1
+14810186: 7 80 7 910 3 1 3 7 881 8
+23860876: 568 7 675 6 783 41
+1231955: 11 5 64 401 3 2 1 80
+5901: 9 300 107 2 204 83
+3880: 63 698 5 2 73
+1598732: 12 84 314 732
+5843810: 8 8 823 108 18 5 1 6 5 8
+1680456932: 8 5 30 5 7 3 5 799 3 2 4 4
+36509324: 2 3 159 795 9 4 70 404
+790: 47 6 9 20 479
+859825355255: 6 2 1 8 88 3 5 1 936 7 5 4
+5417549724: 82 6 5 55 20 49 637 85
+14040: 835 3 24 6 8 4 6 4
+1250752368: 657 4 2 361 524
+7603: 72 9 79 33 3
+1532040444: 15 876 965 58 42 600
+3754036: 2 5 938 3 4 5 2 5 4 3 16 6
+468913968: 762 6 941 6 938 9 6 8 9
+12435103: 1 3 9 7 6 4 47 2 636 31
+132300: 42 3 6 35 5
+963: 4 887 72
+519567: 84 7 1 882 54 15
+137040: 5 6 571 2 4
+222433510494: 436 696 352 6 733 80
+765312: 7 664 41 760 4
+59571471369: 6 3 267 5 7 41 6 97 8 1 6
+7014: 4 7 786 8 54 584
+391006260: 312 139 98 92 372
+32613: 438 5 231 72 766 3 20
+93835690: 1 407 32 4 626 65
+15280749: 49 77 450 11 9
+34840: 9 19 37 536
+11336382: 3 1 23 901 466
+243945: 9 174 75 9 94 579
+437035: 3 24 8 3 2 7 4 76 43 9 3 1
+485832600: 7 5 192 6 6 7 9 75 8 11
+1974037092: 6 9 743 70 492 223 29
+1567: 1 521 3 56 917 2 5 62
+10703137: 9 9 2 165 6 9 8 4 1 9 2 56
+8762640: 1 2 73 248 4 84 71
+34935769: 3 970 1 95 661 458 12
+2217248: 71 549 119 3 2 45
+6154457130: 6 6 7 4 8 48 4 8 3 84 236
+1388613996: 9 9 281 5 14 999
+150745343: 2 5 843 8 32 6 59 2 4 3
+9665473: 56 644 268 321
+1011: 9 601 15 251 83 52
+50736683095: 6 5 40 604 9 7 585 1 7
+8159: 6 25 6 9 59
+6658270: 68 1 419 5 33 230
+416909: 4 4 883 2 59 15
+1493958: 5 9 914 5 9 8 8 4 8 266
+20162515464: 7 4 73 83 8 6 993 4 91
+7914954204: 511 492 583 30 6 9
+1499: 8 8 7 115 8 8 3
+5389101971: 4 5 5 84 611 9 9 971
+50436416: 784 33 373 9 64
+2116490397: 7 6 407 4 49 35 6 1 397
+434013: 43 33 6 15 97
+2612480: 86 300 846 8 32
+41195571: 41 18 9 6 571
+23934733065605: 53 9 8 7 8 7 1 7 2 5 448 5
+241944: 47 1 63 3 8
+47496055: 44 8 366 907 3 90
+56741859: 2 81 547 27 3 2 8
+702780: 83 24 9 57 689
+19221408: 7 593 66 9 32
+21672: 769 5 28
+314230743840: 5 2 37 1 781 9 5 6 7 5 5 6
+24449: 773 916 9 2 1 7 7 7 656
+732965386752: 2 4 743 881 36 81 64 1
+68914900: 190 874 415
+2856: 7 8 51
+47874339: 6 8 326 45 20 7 9 54 9
+185955891: 1 77 5 161 290 4 3 9
+13714303: 10 9 90 2 52 94 839 1 9
+251585: 1 52 5 948 365
+66232894480: 827 911 176 5 80
+4606: 2 3 641 760
+3278601798877: 8 6 145 9 38 471 3 5 77
+401510972734: 8 561 469 72 6 1 34
+30366: 4 2 541 10 7
+18213170448: 6 8 6 155 3 5 24 4 6 3 4 2
+70977643971: 4 16 93 265 975 45 96
+5130797: 854 16 84 60 798
+12449484: 8 9 3 9 860 524 482 6 3
+71752928: 717 520 34 2 892
+43587539265: 676 466 65 826 78
+13737950968: 5 6 263 9 147 7 8 443
+2405: 559 480 2 647 717
+6084144204: 734 8 4 207 20 3 1
+245372235167: 59 9 73 385 633 811 7
+8361522: 28 14 395 3 54
+35168581: 21 98 16 5 81
+108824100: 664 7 4 2 2 9 3 6 5 7 77
+736232: 2 5 963 759 2
+4641174: 4 62 48 57 388 306
+408931: 866 8 77 43 1
+785386738: 9 1 2 7 1 923 9 67 6 1 2 1
+72960: 20 6 608
+16586390: 5 8 5 9 898 3 9 4 57 68 6
+32760: 25 14 4 51 6 223 5 4 1
+54859: 1 348 6 26 571
+601806: 5 90 51 2 6
+6977744: 5 6 75 25 6 443 489 5
+982: 10 6 5 3 919
+8490: 40 430 297 11 56
+28257501930: 63 2 4 10 8 1 8 4 8 9 7 6
+1033274880: 792 8 72 453 5
+1403475: 1 6 38 803 8 9 5 3 5 7 5
+64692: 11 9 1 11 9 167 341 9
+1877778226: 7 505 59 9 4 64 9 226
+54344: 67 199 17 24 1 8
+297324210: 86 3 31 42 3 82
+6843: 81 113 5 2 1 17 1 2 1 6 2
+32185612: 55 45 811 13 69
+3806: 24 76 42 2 1 74
+19584: 400 5 3 8 6
+7766: 7 7 133 390 851 8
+1747: 1 66 8 7
+30782706: 80 583 382
+1178995664: 882 62 4 7 308
+2971254: 1 62 87 542 50 1 9 492
+1326251962: 8 5 2 612 7 114 8 2 962
+3685243: 363 86 466 35 8
+46474134867: 6 2 146 905 8 7 8 3 867
+5886: 7 84 6
+2174880121: 81 655 591 5 11 8
+217122543: 625 7 919 6 972 1 4 9
+5943912: 1 1 297 25 2 3 8 9 1 6 6
+142148: 2 8 4 2 6 62 6 8 5 88 9 9
+13662183920: 793 447 390 92 385
+590330: 13 50 351 592 26
+639240: 91 282 36 2 7
+23843783: 3 250 6 53 4 94 25
+1499827: 153 7 3 14 6
+3249689: 406 21 8 5 2
+312771946: 3 6 36 87 761 945
+35920: 29 2 1 1 1 4 5 9 2 88 4 4
+11069543: 139 828 207 96 839
+527: 4 37 90
+334429: 233 2 690 36 29 12
+63997: 9 649 8 5 12 762 1 6
+22112631112: 9 87 3 183 5 2 53 8 643
+39496298282: 74 1 12 7 9 1 6 5 4 4 87 2
+8490587615: 983 80 992 87 95
+70: 11 52 7
+996: 2 48 31 583 88 46
+72845623715: 342 5 2 851 1 1 4 743 5
+142721: 2 5 7 299 8 6 1 86 8 337
+832334735232: 9 8 9 8 871 49 9 2 209
+1791792: 8 43 9 2 7 258 4 51 9 4
+414011688224: 9 460 116 8 8 2 2 3 1
+54386: 7 9 6 700 3 9 8 728 3 2
+1489144: 8 15 687 75 8 15 97 19
+620286: 6 613 7 28 558
+85262: 34 41 189 6 212
+2528944317: 69 1 2 3 2 6 5 6 7 42 5 96
+13739364530: 87 42 94 3 20 58 4 530
+686055: 4 96 27 2 1 6 802 37 7 5
+18045269206: 776 283 9 99 71 83
+816: 1 32 14 760 9
+196594196: 1 3 7 69 876 4 7 6 188 8
+1756: 556 6 1 604 493 96
+99960: 80 5 6 49 4
+370507746: 433 9 266 89 746
+7199850: 52 923 3 25 6
+1218: 8 4 3 574 2
+61785: 56 11 2 461 14
+84988680888: 996 46 35 53 299 586
+157: 65 89 5
+239270618016: 7 2 67 4 310 5 4 504 2 2
+1289792: 81 34 81 44 7 8 8
+1699: 47 6 6 4 3
+3482334: 8 41 12 345 5 587 1
+1397025430: 399 15 35 43 2
+1432861735: 434 33 7 52 7 17 3 5
+125760: 1 4 7 3 993 20 266 8 2 6
+16: 9 2 5
+394574: 7 8 789 8 5 718 2 6 32 6
+80539: 474 23 308 32 7
+184086756: 5 409 408 4 9
+304: 38 2 4
+139051: 3 9 1 515 1
+945937135: 995 646 77 3 95
+45245: 8 9 3 1 4 3 7 27 8 444
+8268: 68 26 4 26 32 53
+133455942999: 93 35 41 94 2 994 5
+306: 5 2 1 6 18
+3090503113: 169 827 614 7 7 443
+1042306: 3 9 47 8 7 5 6 150 6 2 94
+84744212490: 1 754 7 89 4 3 6 10 9 35
+596066572: 2 5 4 119 9 2 3 626 5 9
+45229035: 8 641 84 105 75
+7782935043: 70 8 3 1 60 1 20 8 9 1 16
+55788560: 367 1 16 48 95
+35084: 3 9 37 79 8
+63100683: 630 92 3 5 680
+7030640: 5 329 30 860 7 62 5 4
+1109595612: 6 6 8 2 7 9 4 39 9 903 8 6
+395: 1 66 1 328
+11619243: 58 335 598 9 94
+302075983151: 594 708 218 7 233
+806387208192: 32 24 471 678 8 411
+13503236: 9 5 51 228 8 462 4 36
+1012: 74 8 2 78 348 417 5
+168190: 31 864 717 544 78 22
+1817161: 1 4 2 9 1 428 12 28
+370985697: 62 8 8 8 3 2 1 2 23 7 8 20
+11573184: 589 94 92 97 2 158 6 7
+2043091: 72 6 56 7 35 414 1
+24732: 671 2 18 576
+2947000759: 64 8 95 612 99 3 7 429
+88275285: 19 61 673 9 5
+6326156: 7 77 753 9 56
+8140209: 74 390 6 94 3
+39962565: 2 3 4 990 4 8 8 9 6 1 4 1
+27605: 739 4 492 2 8 1 4
+46573451957: 776 8 937 62 957
+4921024: 7 6 8 91 64
+1079: 78 4 985 7 5
+4302: 85 81 5 5 467 69 6 1 30
+470: 2 24 8 27 59
+674438: 42 37 7 62 2
+602621404: 97 84 465 716 7
+1226633730: 1 9 52 665 211 141
+11424163: 4 9 3 4 8 2 75 1 5 65 88 3
+6877: 115 5 1 2 9 52 5 8
+6841448: 986 652 29 8 48 3 8
+40625: 3 810 20 792 25
+97026834777306: 98 106 989 777 305
+2853460825: 9 317 4 608 20 5
+134027: 9 3 6 7 9 5 910 6 5 62 15
+91489893: 9 2 73 1 71 943 7 1 1 2 3
+152850676: 4 382 1 49 6 24 53 999
+29628319686353: 5 143 8 8 44 5 2 9 7 9 4 8
+30289: 5 554 55 4 49 7
+162228: 208 54 459 5 45
+9705: 4 7 7 7 2 9 3
+514321952: 9 2 166 5 6 5 8 54 7 1 4 8
+34944632485: 713 10 5 5 755 10 49
+7248: 9 717 83 152 560
+119106: 5 5 961 47 39 3
+18800509: 545 9 2 64 37 53 84
+34056167: 86 2 387 170
+18611306123: 2 615 3 1 9 1 306 114 9
+47880450: 4 13 77 1 9 113 7 1 58
+73491264701: 88 949 791 2 7 71 88
+642395781: 90 518 74 649 22 5
+1053209376: 7 2 1 1 3 98 9 7 6 8 414
+37970: 3 4 63 5 1 7 6 2 313 29 9
+65455: 1 4 935 1 5
+1835652: 664 4 98 3 2 79 9 1 1 7 4
+281581440: 5 21 581 962 4 6 730 4
+2057518: 9 320 3 238 433 2 763
+238892724: 280 53 995 721 181 8
+68125389: 52 6 59 4 37 87 902
+191675618: 44 9 882 6 484 2
+5072: 86 49 439 320 99
+1387360: 92 2 290 26
+271585: 4 6 73 4 8 168 44 2 9 1 1
+5726462257: 95 44 6 54 5 77 57
+35862548: 377 5 95 39 9
+59890: 59 8 31 7 3 49
+112277248842: 9 8 54 323 9 2 8 4 8 43
+771052778: 981 5 782 770 6
+1682005: 3 18 4 44 8 9 7 7 9 9 86
+3330530202: 2 2 970 9 123 283 67
+5318481802: 360 303 82 587 83
+11351229814: 433 6 73 5 506 7 531 1
+16099247493: 7 59 7 283 6 1 505
+5519: 490 2 2 37 5 2 203 6
+218279020896: 90 7 7 573 6 68 6 95
+3382524921: 218 7 501 15 9 921
+178528677: 8 27 9 970 818 177
+429: 3 4 3 3 2 4
+4788723: 6 3 76 63 5 9 79
+16000: 3 655 1 8 280
+17782908472: 13 482 66 43 4 72
+5809186: 8 29 883 7 2
+80900240: 92 925 7 5 8 100 1 4 71
+15954: 43 371 1
+7642: 57 9 67 9 7 6 1 59 6 28 1
+9713429792: 784 815 531 7 13 4 88
+70703: 7 6 8 1 779 4 5 4 53 2 6 2
+1251960: 69 9 57 509 2 9 9 4 8 3
+533136923: 784 17 4 231 4
+2395798440: 138 166 68 85 3
+319332: 8 755 95 6 52
+59868: 554 220 77 58 208 4
+8382: 93 9 2 4 6
+4836783615: 6 76 795 4 3 3 1 5
+38798186: 26 251 12 99 14
+3270811: 3 205 7 9 571 8 11
+162284236: 99 591 57 235 28 4
+30545424: 1 252 78 7 222
+22070450: 220 704 4 6 4
+1810806355: 3 2 7 7 1 3 7 75 99 443 1
+14680313091: 31 8 29 486 6 4 42
+84892457: 50 773 4 38 11
+731862: 2 26 7 2 4 2 91 7 8 70 6 9
+172956: 2 4 1 497 58
+2750194: 5 502 65 2 89 6 3 9 75 7
+312245527861: 2 4 499 6 11 5 6 9 8 3 4 2
+546028722287: 7 7 6 8 98 63 5 4 3 289
+6151: 81 4 61 15 24 352
+235005413376: 6 4 5 2 39 8 1 652 8 192
+397667590323: 9 850 820 4 987 143 3
+580871: 7 5 16 59 20 69 64 4 7
+1516898: 2 96 790 10 1
+215916: 360 4 51 6 8 397 3 1 20
+887: 9 1 7 5 9 4 7 792
+41342963: 516 124 1 661 1 8 3
+54624: 6 943 384 22 764 8
+11940: 66 3 433 95 20
+1057506: 7 764 271 8 7 4 67 9 30
+96: 6 3 4 4 44
+19218: 126 38 794 824 3
+217222512968: 95 1 273 5 6 2 7 6 76 8
+28255035: 3 8 4 39 65 38 708
+1003838: 9 2 250 55 88
+30169689: 66 9 217 9 69 689
+10711992: 452 8 71 41 82 5 6 99 6
+3599049: 850 17 625 573 23 5 4
+59101341155: 775 43 2 51 3 286 62
+807: 2 82 2 3 265 38
+1315001: 157 1 42 83 38 77
+17704470: 890 8 8 1 9 59 8 444 7 6
+171041: 9 4 9 4 5 39 2 2 2 2 150 3
+14700: 4 6 88 30 5
+23703: 8 434 3 29 1 5 4 436 6 9
+9910: 95 82 218 65 45
+1154811340864: 9 1 6 1 464 4 92 4 6 8 6 2
+47924760: 1 24 766 310 6
+4: 4 1 1
+6361817398: 1 1 6 2 56 1 5 56 77 3 98
+140670067: 18 216 450 6 68
+3390660: 763 87 45 7 9 1 5 108 5
+395782124220: 41 9 469 7 285 7 9 940
+1559760360: 64 204 2 970 120 3
+126005873: 78 2 5 811 5 1 965 33
+1782779: 79 59 40 277 9
+37865018527: 7 6 5 7 7 3 41 5 3 7 617 9
+14177825966: 5 8 38 287 1 8 5 74 1 5 6
+104222547: 94 3 9 546 1 24 2 83 9
+973: 107 2 127 1 9 622
+2278: 94 83 872 861 368
+35600958: 7 305 796 7 2 9 51
+459258: 2 4 897 9 6 42 4 6 5
+87602135424: 6 328 720 69 7 4 12 8 4
+27075749: 54 5 135 8 46 149
+108129417: 406 822 1 6 9 36 2 9 2 3
+5960388: 5 5 5 4 5 9 883 16 1 1 6 6
+180646200: 3 8 3 46 48 1 6 540 59
+2890355710: 89 38 5 8 47 727 5
+767: 1 6 8 5 5 4 80 283 8 5 6 5
+1852823: 18 28 3 4 823
+13881672: 68 81 6 4 63
+10077616: 65 8 969 8 2
+2131: 57 8 35 5 10 4 64 16 9 2
+6105615: 76 536 24 96 12
+1536527: 1 5 4 4 9 4 5 8 979 78 5
+7238: 7 779 813 1 110 861
+838908: 2 9 786 509 36
+1776731726: 58 83 302 65 726
+826: 27 383 366 41 6
+26244: 2 690 9 28 6 6
+464492028: 977 28 3 90 4 462
+811939893140: 52 65 33 23 545 692
+9206127960950: 63 29 5 98 532 6 558
+9689856: 5 6 95 82 305 6
+81935: 9 19 4 5 861 6 35 8 9 1 7
+457029988: 96 2 4 635 7 204 9 1 7 8
+748569604861: 2 7 4 6 6 5 8 2 54 8 48 61
+46508382: 92 856 34 4 5 608 5 82
+8971614: 674 87 153
+24640: 39 520 1 44
+572800: 5 727 18 82 2
+117084858: 456 5 91 477 9 563
+250349: 193 5 77 5 3 6 8 38 79 8
+4578: 3 636 7 67 38
+9144283471: 2 2 9 9 617 4 8 39 2 7 2
+7240: 8 994 731 4 308
+358075: 7 658 8 15 6 3 81 85 55
+4674: 152 3 11 5
+7285254: 63 10 899 111 657
+83072: 1 11 693 2 59
+7766407164: 7 10 99 960 7 161
+3318: 61 1 31 9 367 7 73 5 6
+218017: 9 508 6 8 3 10 5 1 8 7 1 8
+304646586: 2 4 1 5 886 8 5 7 8 9 89
+628528278: 94 7 6 861 766
+1035489599: 7 595 63 4 273 5 6 4 35
+2606418: 7 432 86 4 837 1
+3559196635: 3 8 8 2 6 9 9 1 1 966 3 5
+67687032: 4 36 1 1 5 4 829 2 6 9 8 7
+165345: 6 1 644 97 7 219
+72759: 28 22 596 7 6
+3356540791: 6 1 86 2 91 7 3 42 198 4
+1426951: 8 3 7 3 63 6 9 4 9 1 951 1
+745148376: 5 81 157 657 84
+72389658061: 722 9 3 6 1 1 6 5 1 66 61
+8191368: 9 5 302 40 1 12 9 6
+161160210: 87 12 8 9 536 3 4 6
+11225007: 14 401 741 3 9
+3633: 40 68 948 78 68 9 3
+1178: 79 279 58 754 8
+1525415041: 37 4 1 5 906 3 5 8 9 8 4 3
+290180: 18 217 423 9 49
+800368: 750 6 497 63 5
+137702873738: 12 35 514 398 90 57 6
+2389657539: 5 367 2 8 87 32 749 1 3
+15525: 8 214 13 9
+381151400: 295 23 4 89 190 70
+9407440: 9 9 900 89 14 2 314
+43209085: 48 495 7 202 9 679
+70535713743: 7 1 24 8 13 6 5 7 11 9
+83729: 45 4 465 1 28 1
+7371648: 808 419 2 26 9 972 6
+531779040: 9 8 288 195 557
+628988980: 27 760 8 7 8 9 21 2 33 4
+109237369: 6 38 7 7 4 7 556 6 1 5 4 5
+15447348: 178 7 5 6 343 6
+2382536010: 63 84 8 5 8 403 10
+3149079: 5 766 1 822
+56274036: 8 21 825 6 406
+500198: 88 378 9 25 198
+232560: 9 5 48 51
+1566: 29 183 61 40 5 1
+34675100275: 4 7 5 52 64 64 9 8 37 9
+49538475: 22 30 510 3 75
+1778977: 2 54 27 370 9 7 32 3 5 7
+256583641: 5 7 7 9 5 591 89 1 641
+6610: 1 182 35 212 28
+195724: 35 2 480 11 29 329 6
+3582340: 11 476 76 9 916
+13328649: 8 6 5 38 4 66 8 780 3 4 9
+34929378: 9 43 1 62 4 9 737
+721920: 14 738 960
+2719694: 6 440 5 791 96 1
+380547: 2 9 4 9 2 757 2 90 4 35 3
+254888388: 250 909 87 33 361 7 6
+14052058: 839 12 869 2 61 19
+207720: 5 577 72
+3778432: 2 59 35 1 2 56 61 4 1 88
+82363922: 5 9 182 1 8 989 694 4 1
+38529: 929 1 26 8 4 9
+1048356: 2 854 5 6 102
+46036298: 55 837 7 5 96
+96309360: 1 591 56 5 6 97
+713076000: 78 70 1 653 8 25
+72047: 7 64 965 79 3
+29162428: 9 7 611 8 35 45 66
+3256: 767 4 15 80 2 91 1 1
+18738: 2 7 4 82 8 7 2 9 293 9 3 3
+108218: 349 310 9 19
+94420385: 60 9 9 3 1 1 45 4 5 3 8
+14900511360: 3 941 437 43 840
+103687: 5 93 943 78 8 92 3
+35714: 8 476 9 9 879 554
+5249: 9 4 2 519 60 8 313
+93493: 471 5 92 38 507
+6088434: 998 61 77 356 201
+804104703: 528 9 6 271 7 49 57 3
+2655475040: 57 477 8 462 68 3
+28148: 59 8 7 1 6 2
+41936003: 4 8 42 9 8 7 1 5 935 68
+249637: 5 2 239 63 7
+4230464: 34 2 546 689 4 1
+71878680: 760 80 6 1 236 7 45 8
+9576: 78 2 93 3 38
+26054280: 628 5 6 7 980
+38549406: 88 65 313 43 42
+3858244: 7 55 74 37 804
+282194985: 70 1 32 4 37 5 85
+281341314: 287 2 5 829 98 72
+270309: 83 549 85 13 29
+37002: 614 3 4 2 7 6 337 7
+97277: 560 6 1 4 443 7 68 28
+410204: 40 62 9 391 4
+44618004: 6 166 703 41 9
+9221169: 1 44 166 22 323 8 7 41
+990: 6 5 3 41 1 863 8 1 6 58 1
+12141: 12 59 171
+2211627792: 7 9 5 2 4 8 93 325 7 4 8 6
+1810: 33 54 28
+7916373: 5 3 2 338 1 399 5 6 161
+3724: 3 1 72 4
+2945043428: 9 3 3 40 8 9 8 756 4 8 5 9
+538204665098: 498 87 92 46 650 9 8
+16165: 4 2 61 232 157
+4561621424015: 91 1 595 834 7 336 6
+197196: 19 6 750 90 356
+288814688: 7 1 90 5 23 69 44 755 8
+4082: 91 4 9 73 733
+15440733: 367 5 699 5 7 58 7 7 3
+67321: 23 78 95 22 7
+403877820: 85 602 6 46 2 6 355
+14375914: 7 8 75 67 2 149 8 392 2
+11903425657663: 247 47 8 77 7 489 389
+970: 1 2 81
+2096: 32 8 6 95 30
+188039: 1 5 872 43 557
+68393082: 683 80 6 37 87 82
+2603531: 2 465 4 476 9 2 2 79 1 7
+26929768603: 7 8 8 6 70 97 8 2 9 6 35 3
+5098291: 501 8 3 7 6 5 93 355 1
+43362: 4 39 5 4 33 6
+2194015117: 5 12 36 4 4 4 151 20
+421625: 138 66 56 1 46 4 77
+79584: 3 52 4 482 1 2 254 2 8 3
+51496: 86 12 83 447 82
+181692: 4 77 6 6 98
+17312103623: 51 71 64 5 4 278 5 478
+8383226: 7 554 45 5 3 42 918 50
+110029590: 5 7 80 1 335 954
+1140135705562: 2 3 2 7 4 7 6 52 9 364 2 7
+200533206: 4 59 5 99 7 7 10 7 3 5 8 6
+3987100064643: 4 256 2 30 42 656 34
+559083: 3 52 81 9 81
+200: 6 1 18 8
+114098823: 8 3 404 2 6 9 4 114 669
+2500926: 25 3 986 634 5
+2000: 5 100 4
+409905025: 12 53 65 825 97
+33027482: 5 6 30 273 1 76 5
+157428488: 9 80 229 1 432 2 6 64 8
+58293021891: 607 3 5 5 2 15 959 706
+58809: 57 860 2 9 935
+59640: 4 5 2 695 81 105
+22863176507: 46 9 93 968 1 551 141
+3041: 6 5 41
+1359960569: 4 7 61 1 8 57 41 20 568
+23055: 261 88 7 71 9
+181720713: 539 629 67 8 97
+1896250752: 61 2 208 6 1 1 5 1 745 7
+2673309912: 8 108 17 42 8 1 7 9 182
+39811688: 995 29 4 80 5
+105771: 8 1 6 22 30 6 9 29 842 7
+2073038730: 95 7 12 29 39 70
+21728414730: 95 4 953 1 5 9 6 7 25 6 4
+53048: 5 19 65 587 15 790
+3297: 4 9 32 7 2 5 9 3 6 321 6
+3200805752: 5 6 909 662 406 4
+12652964: 9 2 213 5 913 1 248 6 4
+91958709: 676 167 8 17
+26204955: 15 1 6 5 6 7 9 2 60 154 7
+267156820305: 434 158 822 44 5 549
+260136: 8 9 4 5 5 49 9
+3149512960: 135 58 76 610 88 4
+7308659: 400 761 3 377 8 7 1 36
+265080: 1 7 336 77 20 10
+28529: 2 471 635 5 5 3 1 818 8
+43284: 76 5 4 522 9 5 5 5
+4115: 3 672 695 3 5
+62027728598: 77 5 26 5 385 10 23 7 2
+5708751227: 253 2 665 27 4 5 1 827
+97146778: 942 4 4 284 2 676 9 9
+285790478551499: 646 790 7 9 8 1 8 9 37 8
+35899: 4 7 641 2 3
+371250954: 6 2 76 13 5 5 455 528 2
+171506263050: 75 1 5 7 8 2 647 1 448 9
+7200: 96 5 5 3
+432961203: 7 9 7 415 54 92 3 3
+29589051: 5 422 5 7 56 697 4 3 3 1
+18462: 9 69 7 599 5 3 5 1 4 6 1 3
+80124620: 80 12 4 619 1
+365168841: 5 2 14 9 9 9 4 8 1 4 8 841
+848065795: 95 113 79 118 677
+125903415: 82 66 2 9 41 5 407
+642075660000: 58 2 60 750 79 3 519
+128544494: 2 6 6 251 5 8 15 1 4 5 26
+81: 50 14 8 8 3
+2191919: 263 690 23 15 4
+1175127: 65 4 77 37 547 57 699
+174240: 277 1 4 24 3 46 7 6 30
+35866999: 712 3 5 3 5 5 68 3 9 99
+1753: 6 73 22 64 793 5 431
+356132: 91 33 62 54 46
+14699468: 1 6 93 439 6 7 3 20 968
+4146: 1 2 805 5 88 5 10 3
+250950336: 27 1 26 96 371
+36829515843: 2 5 2 2 8 8 8 755 4 37 8 3
+2087702599: 8 26 760 4 6 2 572 27
+1303172640: 17 19 7 16 1 784 365 2
+52452167: 4 308 1 8 50 846 1 166
+8035319: 51 232 7 4 97 3 8 5 987
+12216: 97 61 2 4 378
+12041593632177: 7 964 56 9 4 93 4 270
+54372975: 2 6 6 6 7 447 61 3 8 1 6 8
+7118010: 198 9 77 84 66 41
+9604728: 1 6 4 1 323 95 51 4 6
+3664488: 3 2 9 5 98 5 3 779 8 2 2 4
+10510080: 85 46 7 4 96
+30035992: 67 138 58 1 89 56
+12109554: 8 5 2 1 9 2 6 68 7 390 9 6
+42668283: 282 8 419 238 4 56 9 4
+3073: 9 6 55 5 319 1 9 7 252
+2847588: 89 44 48 2 718
+331718625: 805 67 78 5 457 575 9
+1131788: 1 1 28 83 487
+976: 5 4 9 64 4
+8490960281479: 8 490 9 60 281 479
+199074: 15 4 794 5 55 765 310
+2668845915: 2 8 416 26 707 327 99
+1071: 8 1 7 47 988 17
+179608319782: 2 442 3 4 7 203 97 82
+14568: 543 58 6 8 3
+65201: 16 39 20 7 97 5
+3677695041908: 459 607 26 6 45 22 3 5
+125599719: 712 70 45 49 8 25 7
+8883: 12 41 5 1 426 284 4 7 9
+4660962: 8 8 320 6 7 61 37 8 2 41
+26998: 7 1 830 4 6 2 4 8 1 5 78 3
+510670: 829 616 6
+12393: 37 4 8 932 5 747 7 262
+159096: 1 574 5 289 624 6 7
+1478: 869 539 66 4
+759537: 518 10 6 288 4 7 33 9
+5263168: 3 289 4 6 2 4 8
+104011572: 619 4 462 4 42
+731449125: 231 9 7 3 439 5 99
+182484252: 2 740 3 5 685 5 5 8 3 9 4
+78846: 3 2 41 2 4 1 68 74 6 5 6
+1572: 4 381 3 5 4
+333247970: 928 95 6 5 630 20
+75132300: 80 646 6 49 4 88 12 1
+9834: 2 4 47 97 62 409 1
+4938765: 883 2 1 5 559
+1548777315236: 6 88 9 5 4 732 809 4
+483: 61 14 403 2 3
+1760724: 6 305 6 959
+193285026: 1 5 7 67 2 49 4 3 8 1 29
+563811395: 1 1 6 264 571 9 5
+1567808: 6 11 36 829 2 544
+4958217: 6 891 7 745 510
+5617976: 1 4 4 1 179 76
+538484700: 7 19 5 9 1 605 5 38 86 5
+183189779102: 7 1 5 61 1 2 4 7 981 4 6 2
+63183495: 2 807 9 2 7 5 4 5 2 6 6 95
+153065039: 672 469 419 7 4 5 97 9
+65688: 6 9 2 92 42
+4774867: 9 82 647 5 1
+8640244907: 9 80 5 6 61 2 4 4 9 2 9
+47576754: 177 4 2 3 2 123 78 12 9
+655503408: 560 9 5 68 18 933
+58457016: 7 7 8 2 2 7 4 2 8 64 586 9
+115026014: 639 18 600 9 5
+25337188: 3 8 8 2 10 1 889 902 8
+1829: 18 5 931 808 1
+1093456: 44 8 312 4 751
+3848605: 8 60 8 8 605
+779: 6 681 1 10 76 5
+11024031: 706 2 819 360 19
+1995966176: 1 8 6 943 788 4 661
+729325241: 7 2 1 8 2 3 1 9 4 9 3 41
+2087295: 68 4 307 515 7
+324728: 6 9 43 692 62 4 389 1 8
+1411187: 770 4 24 353 19
+756456: 1 258 4 2 1 7 6 51 36 6
+10546140: 72 479 2 145 66
+747622289: 56 1 78 57 11 3 70 1 28
+154318358: 9 6 9 8 2 6 3 6 6 6 425 7
+9540564: 20 692 461 993 562
+1596727650724: 997 954 78 4 681 4
+283932: 9 2 3 64 42 62 33
+688226956: 96 2 318 7 956
+233645: 7 8 6 528 3 7 9 1 775 5 8
+3361664212228: 35 7 3 8 9 6 8 8 3 7 604 7
+101782: 2 365 2 43 3
+2220: 4 76 2 5 5 2 79 435 1 56
+1629: 8 1 2 3 6
+64811754: 4 81 2 117 54
+690: 46 4 4 562 71
+296670: 5 45 28 77 899
+1992844: 465 8 9 277 9 4 7 59 1
+18767: 67 14 2 6 1
+23172241: 38 62 6 233 8
+227350319: 768 8 6 37 6 5 7 39 8
+65: 5 32 7 18 3
+255964: 61 493 72 93 356
+94321509: 94 321 509
+231572184: 836 5 554 98 86
+1810868: 1 5 3 10 868
+2375: 324 7 2 61 44
+24885: 71 881 5 217 5
+1247: 84 70 5 645 443
+116644617: 703 2 66 419 8 7 3
+794: 3 52 436 202
+212912504: 895 8 87 1 384 25 56
+523217705: 969 845 2 71 9 32
+1868: 68 7 384 8 4
+1128: 76 3 5 886 9
+387599: 29 9 66 9 99
+9499: 337 2 7 1 4
+4580010: 455 2 8 629 890
+102314604: 96 24 7 39 5 737 47 28
+1192992480: 6 5 5 4 34 43 4 85 4 3 5 8
+31540903265: 76 415 903 193 72
+634801: 9 2 690 1
+36295575: 49 50 9 94 813
+26294408: 9 2 87 87 7 1 495 4 8 3 5
+5965770: 32 35 42 265 8 90
+4314150275: 3 1 3 4 6 8 148 388 3
+9366968768: 9 4 90 8 9 60 687 66
+183862716: 424 406 5 89 632 12
+58755208796: 5 8 7 55 1 99 9 7 9 6
+270309109824: 5 29 8 9 9 34 4 767 248
+1020392: 711 305 76 339 1 23 2
+17886: 4 7 3 164 86
+89977: 8 1 93 13 664
+18537: 5 35 9 5 98 15
+985: 72 2 911
+649173616: 4 7 86 145 6 3 9 28 169
+351: 4 9 2 247 17 30 1 3 8 8
+1492: 690 15 787
+962649: 954 8 3 9 8 3 4 7 6 1 1 9
+1808352: 4 8 8 483 39
+1415985480: 1 757 8 565 5 9 364
+902836: 48 28 187
+53913600: 3 4 4 2 688 4 360 52
+11373431: 418 3 9 9 6 431
+95091817588: 4 3 474 33 15 7 363 2
+330876: 542 1 294 21 456 252
+1480836: 14 833 633 8 35
+79262534: 251 627 63 5 29
+622058951: 454 161 7 63 55 3 951
+2226: 2 8 4 9 1 4 3 2 639 2 3
+264829: 7 1 5 14 799 55 2 7 9 96
+235060978: 6 1 29 4 8 331 13 866
+1104948901631: 3 234 787 2 88 2 16 2 9
+1915733: 3 983 35 642 5
+738900: 41 2 3 7 78 3 656 4 5 60
+34792531: 69 585 5 24 7
+9843246: 50 3 8 10 9 4 2 5 7 7 7 9
+130585: 4 24 919 297 88 5
+31415994: 3 8 5 43 17 4 8 8 7 89 5
+1888165: 743 5 36 1 4 6 6 8 3 3 5
+332332: 49 1 119 69 277 28
+2541948: 5 506 5 34 79 57 91
+5672925: 6 378 2 833 65 3
+8965662209: 2 539 2 2 83 2 194 7 8
+484709075: 8 132 85 94 54
+133850216: 410 19 78 4 80 4 298
+7856274: 8 52 5 5 4 8 1 4 93 1 7 1
+5181660: 69 6 104 51 660
+3680381: 4 6 3 5 3 307 80 3 76 5
+3489172525: 8 81 995 46 86 305
+258968211264: 823 46 18 6 3 84 646 7
+3527203: 61 938 598 7 61
+1116643: 9 551 997 2 3
+41300: 33 3 8 69 8 1 9 7 595 2
+71601827: 638 7 9 8 4 6 2 2 30 876
+120: 9 11 21
+56621: 7 7 21 55 6 20
+88843640: 2 3 5 42 21 67 877 32
+3588455952: 2 660 42 69 2 6 1 43 74
+7000920: 3 747 27 880 9
+45208150452: 62 3 785 886 452
+1166883432: 1 8 642 85 4 66 52
+29193454: 2 2 4 4 35 2 5 558 74 5 5
+1793933: 251 712 177 504 3
+1627005: 3 23 7 214 25 7 559 9 6
+8058301365155: 2 818 2 543 907 3 156
+77806: 3 8 935 1 68 1 7 76 1 58
+1206: 2 4 29 83 6
+69883979378: 4 328 7 8 3 256 7 8 9 8
+39591121104: 7 6 9 80 6 5 23 9 3 3 57 8
+1458662: 90 56 3 2 4 577 9 9 4 3 2
+946590: 57 461 5 1 6 67 6
+34760252192: 3 3 62 1 75 7 1 4 7 87 6
+169212803: 10 88 273 461 703
+5975856: 8 4 1 1 3 92 4 42 6 159
+53581: 16 49 18 92 59 835 1
+634284006: 4 193 2 70 72 2 3
+770: 17 20 4 8 5 51 49 5
+1230460: 4 787 8 7 4 55
+7714000: 29 95 4 700
+401184: 5 691 679 45 3 32
+1374464: 47 3 8 3 654 1 9 3 2 944
+1247: 7 84 28 1 630
+516849: 511 5 8 33 3 11 2
+26278489293: 93 57 4 109 3 6 98 99 7
+16583292: 7 7 8 8 8 5 3 182 6 33 4
+1691940: 2 4 2 91 9 40
+21656: 8 42 62 1 824
+129896760492: 4 5 2 6 781 6 67 7 4 9 1 2
+1328683: 5 86 898 681 2
+127431241: 121 4 8 78 51 329
+2849218639: 9 13 211 8 39 4 305 13
+323612: 938 43 8 940
+12224700: 65 659 508 7 282
+2521425784: 1 7 826 8 237 39 9 8 23
+312973: 4 18 9 2 9 73
+14841794: 436 3 8 54 21
+56606953: 89 10 31 57 39 214
+2357974: 108 903 4 583 322
+11831972301: 135 7 8 465 6 50 9 89
+3157607: 2 252 7 2 6 2 26 39 3 8 3
+103650632: 7 754 869 97 5 6 632
+8536428: 218 5 5 4 65 1 4 2 4 4 9 1
+721: 7 6 10 29 560
+7806474452: 344 2 90 68 9 41 2 4 28
+57400851: 308 9 6 394 5 5 8 1 4 1
+2636: 848 24 4 3 6
+46656: 3 6 7 5 8 191 1 7 8 64
+25697659: 473 25 516 8 59
+1572227928: 3 2 5 5 2 6 7 4 393 6 28 2
+1673: 5 233 19 6 30 40 54 7
+28247259: 8 8 2 639 37 8 72 1 15 4
+11580161805: 4 5 2 6 1 4 2 2 986 7 1 9
+33458532: 1 548 5 61 29
+4279405: 73 585 37 65
+32242849: 322 38 4 818 31
+1184807370: 197 368 3 4 92 895 6
+5422401655: 979 6 757 923 941
+3037886777: 2 9 54 56 7 5 7 2 26 3 79
+3247485595: 32 468 69 616 595
+12160274: 602 837 64 234 182 7
+40672828: 730 9 68 504 28
+415000056: 74 701 9 22 5 80 4 2
+55225476873: 685 1 7 806 9 765 873
+1721520: 456 6 78 4 797
+1454758: 16 96 5 944 4 50
+476343: 4 466 6 3 9 2 5 1 14 9 6 9
+6825448: 94 2 896 860 44 17 8
\ No newline at end of file