adventofcode

git clone https://git.ce9e.org/adventofcode.git

commit
ea72176167c2c061bbd5df61cd7e0e985fa922e5
parent
1cf4e90b72b8adc3b410adf8aa4f0efd4b6a5f85
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2024-12-07 16:46
2024-12-07

Diffstat

A 2024/07/input.txt 850 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A 2024/07/solution.rs 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A 2024/07/test.txt 9 +++++++++

3 files changed, 919 insertions, 0 deletions


diff --git a/2024/07/input.txt b/2024/07/input.txt

@@ -0,0 +1,850 @@
   -1     1 12615: 804 5 2 1 5 7 7 7 1 3 3 5
   -1     2 33925: 7 7 4 3 2 1 7 36 4 8 881 3
   -1     3 1046107888: 263 576 34 8 863
   -1     4 700274: 700 15 3 33 88
   -1     5 16420652: 202 241 8 74 3 5 35
   -1     6 660814849: 569 509 613 847 1
   -1     7 29746: 33 498 56 9 1
   -1     8 763511: 7 442 17 2 11
   -1     9 19200948413: 4 2 6 9 9 3 33 1 896 8 2 5
   -1    10 1833667: 240 764 4 2 8
   -1    11 19457968: 1 741 691 38 6 781
   -1    12 1136: 7 1 3 31 5
   -1    13 1874160190: 8 8 22 2 8 4 64 5 5 5 133
   -1    14 13721299: 48 44 354 386 8
   -1    15 1899744: 85 458 648 8 6
   -1    16 554415: 46 9 435 6 5
   -1    17 91193289: 1 4 5 7 301 91 81 6 96 8
   -1    18 36776916040: 9 4 42 4 75 3 5 561 4 43
   -1    19 128828: 61 9 456 787 5 69 8
   -1    20 5273196: 633 9 9 81 97
   -1    21 10935737837: 6 5 7 612 5 3 73 1 78 36
   -1    22 902461: 45 122 1 4 5
   -1    23 1327804638093: 2 3 8 597 7 8 8 883 463
   -1    24 102018: 277 91 94 8 550 20
   -1    25 8951006747: 843 6 880 4 421 599 2
   -1    26 407827: 814 1 66 1 5
   -1    27 3181026: 1 9 704 6 251 50 84 89
   -1    28 2254430: 7 1 45 8 7 302
   -1    29 614187: 4 644 306 19 6 5 57 7 3
   -1    30 4820287: 11 7 43 93 692 4 3 19 6
   -1    31 2695156093882: 23 7 558 535 8 6 6 3 84
   -1    32 61814410: 35 44 1 2 8 7 1 1 6 2 9 3
   -1    33 14769966: 2 7 2 5 5 8 7 5 1 995 1 4
   -1    34 87113: 3 829 35 5 64
   -1    35 209723664824: 2 9 5 4 556 2 23 1 3 826
   -1    36 6522: 28 86 54 32 334
   -1    37 7552020582: 63 81 3 609 301 2 81
   -1    38 4507014: 3 3 3 1 9 77 7 9 6 5 71 3
   -1    39 12923202: 1 4 90 8 5 2 8 3 3 6 572 6
   -1    40 12392: 4 95 898 9 91 799
   -1    41 294789341: 25 7 35 94 4 7 6 3 7
   -1    42 72913: 34 17 22 882 6 49
   -1    43 69385571: 85 660 6 6 81
   -1    44 4575: 96 53 7 3 9 74
   -1    45 704039583: 80 9 2 40 9 87
   -1    46 8481251708752: 268 5 3 56 2 6 4 47 75 1
   -1    47 595700: 12 6 443 635 518
   -1    48 4381885420: 1 7 1 8 3 5 369 2 5 408 9
   -1    49 18639667: 6 4 9 981 667
   -1    50 121169760: 46 3 279 2 9 81 2 4 3 82
   -1    51 45035: 176 248 482 900 5
   -1    52 923326: 5 917 34 9 234 746
   -1    53 53784612: 2 6 6 1 4 23 2 7 41 4 609
   -1    54 524271640: 43 15 927 71 637
   -1    55 30631969: 895 33 24 55 6 38 9
   -1    56 583593561: 83 9 14 5 93 58 96 4 6
   -1    57 204744990: 846 6 5 1 8 1 8 7 16 3 9 3
   -1    58 12817652: 2 64 1 67 10 942
   -1    59 142228: 3 3 91 5 7 4 215 1 7 2 74
   -1    60 2952720220097: 9 1 3 4 45 60 5 501 7 8 4
   -1    61 1281605970: 801 200 7 46 8 2
   -1    62 205858: 76 4 34 45 5 9 4 2 5 581
   -1    63 26828150: 11 34 3 3 706 93 56 1 1
   -1    64 819158: 9 40 46 1 8 3 712 158
   -1    65 19395810: 8 1 142 88 8 7 81 2 3 6
   -1    66 220127627: 90 6 2 2 4 7 1 6 286 6
   -1    67 58968: 464 2 2 9 14
   -1    68 6881901879985: 996 638 57 2 1 19 87
   -1    69 22484140: 70 753 9 435 423
   -1    70 3634605: 3 484 60 7 17 6 9 4 1 7 4
   -1    71 1585232880: 2 6 9 7 7 4 851 1 6 11 8 7
   -1    72 20496290: 658 3 76 408 2
   -1    73 73616: 3 8 37 39 92 2 8
   -1    74 800: 709 3 47 41 1
   -1    75 1340484319: 1 556 3 5 71 8 3 1 2 4 7 8
   -1    76 2198657172: 5 196 17 6 72 45 56 4 3
   -1    77 254513: 318 1 1 3 8 9
   -1    78 37479836067: 945 16 39 78 5 60 64
   -1    79 24112988: 61 19 376 63 3
   -1    80 1492811: 75 9 70 34 18
   -1    81 405446931: 5 9 2 2 901 924 7 5 7 4 9
   -1    82 1619555207: 75 5 4 6 4 45 7 7 7 7 205
   -1    83 22187314586045: 9 8 9 5 71 85 8 8 6 51 1 4
   -1    84 1395487: 857 4 4 95 1 495 1 4
   -1    85 626025: 59 9 1 78 849 398 4 5
   -1    86 414830: 93 4 404 69 4 3
   -1    87 382136: 2 6 62 9 2 2 5 533 3 7 8
   -1    88 147217631372: 1 99 3 6 7 6 9 45 1 716 7
   -1    89 303509: 105 798 3 7 2 1 7 8 45
   -1    90 772677938: 760 6 6 677 935
   -1    91 549726257651: 3 9 9 8 3 9 2 3 3 3 14 725
   -1    92 1252317150: 2 19 535 58 1 4 40 225
   -1    93 616863634: 84 90 139 35 587 9
   -1    94 17404425260: 870 2 1 21 2 5 248 9 1
   -1    95 5717542240278: 9 6 5 159 96 987 9 102
   -1    96 31826589849: 3 1 826 5 851 9 466 1
   -1    97 1576284: 5 7 4 1 4 1 1 5 320 5 3 6
   -1    98 6077335228: 59 79 98 334 5 7 30
   -1    99 550434: 38 6 4 9 23 114 280 3
   -1   100 10227883: 5 9 7 3 721 6 1 3 5 6 5 9
   -1   101 3314108926: 87 9 851 2 3 52 338 3
   -1   102 25523070: 5 51 22 176 892
   -1   103 25781933829: 257 818 942 389 7 26
   -1   104 5517196720: 4 70 71 473 3 2 35
   -1   105 39957: 98 30 965 2 93 815
   -1   106 489483804: 593 4 491 168 10
   -1   107 333230997: 1 32 7 410 2 144 308
   -1   108 29526863042: 5 724 478 237 72
   -1   109 2316083879755: 687 265 337 82 9 7 5 6
   -1   110 2867208: 71 75 308 509 8 6
   -1   111 1593944414484: 253 63 444 144 87
   -1   112 2516562: 8 1 6 7 41 2 429 7 34 7 7
   -1   113 39215953: 4 976 39 89 4
   -1   114 408331: 2 314 176 985 84
   -1   115 68483: 2 9 96 414 9 2 13 7 9
   -1   116 76532283502: 7 64 48 1 837 4 83 50 4
   -1   117 367445644: 32 5 7 5 71 6 2 8 7 8 8 81
   -1   118 970551: 506 95 418 4 1 9 5 746
   -1   119 1931531: 3 9 7 9 12 9 631 480 10
   -1   120 6920242: 1 4 65 20 239
   -1   121 4262: 4 79 46 73 17 354
   -1   122 5307445: 5 30 7 441 1
   -1   123 126430: 8 59 59 42 7
   -1   124 246780: 264 44 114 7 1 7 7 898
   -1   125 19980364464: 9 387 705 7 1 16 9 71
   -1   126 221570: 4 2 314 331 70
   -1   127 5996087: 6 8 62 46 41
   -1   128 1996930097: 6 20 19 385 1 8 523 4 2
   -1   129 170504569: 276 8 1 31 43 2 5 6 3
   -1   130 116291719335: 6 9 782 505 5 3 442 33
   -1   131 932253926: 971 320 3 93 926
   -1   132 118: 76 8 31
   -1   133 860850091000: 48 427 4 2 1 5 369 84 4
   -1   134 131: 6 2 56 2 61 4
   -1   135 15234086180: 84 8 8 456 3 8 61 7 4 2 9
   -1   136 86790443: 919 20 787 6 83
   -1   137 923888: 1 635 939 7 292 2 1
   -1   138 1130341: 292 79 7 1 7
   -1   139 205860750: 99 501 4 1 47 7 5 3 7 83
   -1   140 1077: 82 898 97
   -1   141 704222: 703 858 366
   -1   142 1674169: 50 95 8 49 44 6 7
   -1   143 1718200487: 2 7 917 5 331 364
   -1   144 4630570616793: 3 2 9 4 798 471 7 8 792
   -1   145 514295124840: 1 929 77 76 8 101 840
   -1   146 65231559928: 407 4 2 972 4 9 4 1 16 9
   -1   147 17814590: 5 328 62 451 85 6
   -1   148 15130530: 5 29 741 4 3 2 488 87 2
   -1   149 1026969: 142 1 7 877 969
   -1   150 40230464: 18 27 894 463 1
   -1   151 3443736: 321 9 149 6 8
   -1   152 402: 49 5 8 143 5
   -1   153 452065: 1 797 311 1 408
   -1   154 8069098637: 806 89 1 97 9 7 66 1 8
   -1   155 16129969360: 700 887 416 23 35 7
   -1   156 1002697947384: 4 6 4 9 9 96 59 388 3 2 7
   -1   157 1379379617088: 5 507 9 559 3 85 7 63 1
   -1   158 2346403: 4 7 5 74 2 4 3 7 6 6 8 20
   -1   159 7509412: 4 27 7 5 8 68 6 6 510 7 4
   -1   160 29093479449: 1 16 77 229 40 4 6 68
   -1   161 259998: 4 71 1 19 6 6 8 6 5 691
   -1   162 2436234977277: 68 64 260 566 4 951
   -1   163 189021992340: 193 67 976 6 66 3 40
   -1   164 1492448: 24 8 7 41 6
   -1   165 61581011: 9 9 9 54 5 51 9 103 87 7
   -1   166 16976: 1 55 5 9 3
   -1   167 799980: 744 4 1 51 977
   -1   168 386155: 58 76 810 74 23
   -1   169 102708121: 4 5 6 26 8 195 7 9 6 2 6 1
   -1   170 9053097: 2 80 7 47 8 90 4 3 6 519
   -1   171 2844455328: 37 6 945 7 533 1
   -1   172 326750483: 7 18 7 169 3 4 1 548 4 3
   -1   173 99445021898: 9 3 41 8 2 5 1 9 2 907 25
   -1   174 83874: 238 42 296 6 988
   -1   175 171779: 4 412 65 4 78 4
   -1   176 5150458425: 1 4 9 39 8 39 66 83 842
   -1   177 91887843756: 980 137 5 625 3 4
   -1   178 144563844: 727 1 4 788 8 3 3 7 12
   -1   179 6369361600: 65 14 306 3 8 320 823
   -1   180 372861: 981 2 38 7
   -1   181 20610: 205 99 9 1 4
   -1   182 101170: 5 4 6 5 775 3 64 344 1 8
   -1   183 3256828274195: 650 5 7 79 56 54 839 5
   -1   184 23531: 80 224 6 702 85 3 9 2 5
   -1   185 862035: 75 778 85 818 5
   -1   186 337124: 4 1 9 2 2 5 2 3 3 1 6 725
   -1   187 21207288: 154 7 9 5 3 370 7 8 46
   -1   188 118311418: 98 34 89 83 1 4 21
   -1   189 19027710: 2 466 88 58 4
   -1   190 50793: 33 9 5 6 1 6 17
   -1   191 1788068073: 388 9 3 4 8 6 4 7 7 7 9 4
   -1   192 7274340: 993 70 5 76 9
   -1   193 3598942581: 24 250 291 51 5 74
   -1   194 14696: 7 1 8 82 94
   -1   195 2960064560: 1 1 83 6 90 1 6 6 6 8 490
   -1   196 31493133: 157 4 1 6 5 4 3 5 8 1 9 2
   -1   197 48391: 3 6 94 432 7
   -1   198 1508923: 1 831 676 92 3
   -1   199 264640: 817 10 8 8 5
   -1   200 31331: 5 7 57 22 2 26 470 739
   -1   201 52034312079: 577 5 79 580 9 207 1 9
   -1   202 4085878333: 8 910 61 61 92
   -1   203 208153292: 3 1 239 4 72 7 9 3 7 6 4 8
   -1   204 54112: 483 1 7 1 16
   -1   205 3254589: 945 574 6 5 4
   -1   206 1833763942: 7 63 180 42 463 61 4 5
   -1   207 48168908: 7 2 1 75 7 375 2 7 148
   -1   208 782858072: 5 245 13 639 2
   -1   209 753: 2 5 20 2 14 243 96
   -1   210 2422200: 519 2 690 100 2
   -1   211 26470844: 348 3 76 4 2
   -1   212 107164: 1 153 93 86 8
   -1   213 55198753: 1 2 11 3 14 3 9 7 9 2 56
   -1   214 46459108: 5 31 479 9 931 7 111
   -1   215 514568039289: 52 37 3 982 390 2 92
   -1   216 100240: 6 13 547 501 5
   -1   217 2922092248: 2 9 2 52 94 769 1 5 9 10
   -1   218 894623027: 6 6 3 77 9 30 6 3 5 35 24
   -1   219 1917027689: 83 22 5 824 163 722
   -1   220 20040668: 194 4 68 9 258
   -1   221 284: 1 56 3 225
   -1   222 4169656344672: 909 5 57 502 4 91 438
   -1   223 16386749280: 8 784 2 145 506 141
   -1   224 352590058: 75 322 2 73 45 4 6
   -1   225 622: 98 1 433 10 40 41
   -1   226 2681459: 65 4 41 2 5 37
   -1   227 98997: 2 65 835 24 94
   -1   228 57160224: 5 720 5 17 2 8 8 8 396 8
   -1   229 56454895448: 740 762 668 954 49
   -1   230 86649004: 892 70 7 608 9 530
   -1   231 625876561: 5 744 8 5 261 765 1 5 3
   -1   232 210366055: 6 4 5 7 756 9 7 27 115 5
   -1   233 16118332454: 3 537 8 332 45 1
   -1   234 355104016943: 930 34 39 8 545 278 7
   -1   235 207781038: 6 14 2 83 81 153
   -1   236 5792: 49 1 396 504 6 7 85
   -1   237 5926579: 2 6 3 85 92 8 6 4 8 45 4
   -1   238 284043: 9 690 95 7 45
   -1   239 88053: 170 33 54 8 357
   -1   240 15155250292: 19 222 374 5 330 292
   -1   241 733049: 7 1 7 53 3 1 6 7 246 80 9
   -1   242 71237: 1 7 11 8 797 9
   -1   243 1830332579: 7 366 537 2 6 49 2 3
   -1   244 7159: 70 77 80 1
   -1   245 2376095553: 10 264 9 95 5 36 2 9 6
   -1   246 1835802115814: 9 1 73 8 4 9 571 35 814
   -1   247 2090: 9 7 920 574 533
   -1   248 35511093854: 9 65 6 8 4 7 4 563 3 8 1 6
   -1   249 156103282940: 9 90 730 38 8 3 54 10 5
   -1   250 212632938: 187 130 377 21 54
   -1   251 29870448143: 768 791 400 17 479 1
   -1   252 147832353: 1 41 27 35 309 323 53
   -1   253 2021423350: 1 1 5 4 214 2 3 341 2 4 1
   -1   254 460956608: 3 1 609 56 6 10
   -1   255 1638166: 8 1 216 3 2 87 9 8 7 74 5
   -1   256 6633: 29 691 13 4 9
   -1   257 20155519: 83 1 94 8 258 43
   -1   258 16983: 1 4 6 4 27 3 136 255
   -1   259 3518081: 1 4 692 1 8 63 8 6 6 4 14
   -1   260 48682976952: 2 7 7 2 3 42 6 5 88 91 83
   -1   261 301108105: 170 8 8 6 732 22
   -1   262 1047200: 54 1 34 20 28
   -1   263 26847028: 4 4 70 7 6 2 4 9 1 4 4 132
   -1   264 296820495: 2 90 29 702 8 9 6 8 1 8 9
   -1   265 37792579871: 7 558 515 972 5 6 8
   -1   266 5669: 62 25 6 9 973
   -1   267 723: 35 2 5 3 3 2
   -1   268 10140: 575 8 4 2 932
   -1   269 462704969: 214 2 4 6 6 9 35 8 523
   -1   270 2920: 8 3 4 1 20
   -1   271 1348498: 17 2 392 7 2 4
   -1   272 4874650231: 879 22 36 549 9 1 28
   -1   273 2105066: 7 48 93 1 25 6 4
   -1   274 115907: 7 7 336 7 7 2 546 91 2 8
   -1   275 16120: 87 2 766 17 44 1 96
   -1   276 463130000: 37 5 7 7 45 8 8 5 5 5 5 8
   -1   277 1095006743000: 15 6 9 809 8 763 177
   -1   278 303005195: 2 4 63 986 8 14 66 6
   -1   279 14968802772: 7 5 3 4 308 5 3 4 3 9 6 9
   -1   280 103385920: 1 116 5 2 7 6 92 1
   -1   281 3398720: 70 23 2 688 52
   -1   282 14747: 8 4 63 46
   -1   283 52529797495: 9 6 606 4 935 8 8 1 2 3 9
   -1   284 40788: 60 112 12 66 6
   -1   285 8842: 2 4 1 9 5 54 62 277 257
   -1   286 9400381: 2 35 17 6 98 2 379
   -1   287 185753015: 6 3 8 6 425 66 8 36 3 34
   -1   288 40155140909: 9 53 74 1 9 5 8 6 8 98 11
   -1   289 29883814563: 62 3 34 54 7 3 814 561
   -1   290 36538630: 943 8 8 4 48 3 5 1 1 4 7 9
   -1   291 913186: 909 4 1 18 3
   -1   292 101093763: 8 3 568 873 1 82 2 1
   -1   293 44928082617: 1 56 7 77 8 7 3 2 3 5 4 27
   -1   294 2866145985: 573 2 39 6 25 20 96 2 2
   -1   295 207199: 3 50 592
   -1   296 1940208: 86 3 94 6 8
   -1   297 20161960: 42 658 5 9 40 35 764
   -1   298 7055560512: 9 90 98 9 5 2 3 6 9 1 862
   -1   299 5730: 1 938 2 6 90
   -1   300 1655835: 28 5 963 1 8 5 3 6 346 3
   -1   301 61: 7 5 39 10
   -1   302 8624: 2 13 3 319 9
   -1   303 14912: 9 69 8 3 8
   -1   304 1906734465: 6 334 666 301 1
   -1   305 26919: 5 263 1 1 9
   -1   306 12351333: 511 59 233 93 3
   -1   307 370053: 73 6 40 58 9 7 3 640 86
   -1   308 6262819971675: 61 5 8 4 8 562 8 457 2 8
   -1   309 937: 4 40 778
   -1   310 38056042: 4 2 2 9 1 3 9 732 5 58 9
   -1   311 3159994: 4 1 62 95 78 9 9 4
   -1   312 100831554: 6 17 4 966 3 7 5 3 2 28 1
   -1   313 2499841609: 279 128 70 871 738
   -1   314 1708000: 20 2 45 2 7 995 5
   -1   315 57451: 25 27 23 11
   -1   316 759531135984: 21 7 271 7 311 3 5 981
   -1   317 54868732: 35 15 3 8 3 4 6 6 3 725 7
   -1   318 1807682561: 443 88 67 5 67 68 2 4
   -1   319 86820: 7 69 1 1 8 1 91 19 4 699
   -1   320 643731360482: 96 87 95 293 3 923
   -1   321 11610: 61 4 915 5 15
   -1   322 14699068836: 1 16 7 1 776 936 1 1 82
   -1   323 485652428459: 4 8 1 4 6 5 2 428 1 45 2 7
   -1   324 329778361: 471 7 783 62
   -1   325 3778353594: 68 7 56 707 5 94
   -1   326 1724810170: 35 712 5 692 9 8 1
   -1   327 19430525: 969 1 2 48 5 23
   -1   328 81808470513: 82 6 348 187 99
   -1   329 4697640107: 7 897 9 7 460 8 7 849
   -1   330 43814941850: 2 7 48 3 338 1 848
   -1   331 374336: 37 4 249 9 81
   -1   332 3296279207282: 5 5 824 697 7 3 18 21 4
   -1   333 40335487: 67 2 5 60 76 83 62 2
   -1   334 14167602: 4 788 9 83 54
   -1   335 4830: 3 7 7 4 2 3 7
   -1   336 511441831: 4 3 744 9 955 1 560 9 7
   -1   337 758358826: 1 7 463 962 4 8 9 8 26 1
   -1   338 32787846640229: 7 5 836 944 4 4 5 2 916
   -1   339 137966524: 9 5 67 9 9 67 5 8 6 94 7 9
   -1   340 64761: 57 592 5 701 9
   -1   341 9279331: 86 203 97 9 32
   -1   342 11837726: 62 303 3 5 7 7 29 3 6 6 2
   -1   343 101355067: 1 6 7 5 12 9 940 2 3 1 6 8
   -1   344 5192667: 402 411 6 314 666
   -1   345 4727525083: 14 5 3 2 9 9 7 3 6 105 5 8
   -1   346 2332455: 4 20 41 29 5 51 4
   -1   347 61721503606: 8 8 5 4 2 95 5 89 360 5 1
   -1   348 11181297204: 1 7 80 2 97 475 6 3 5 7 9
   -1   349 442396981: 45 807 519 208 982
   -1   350 43896: 2 379 363 59
   -1   351 7181588325: 5 2 18 15 8 8 1 5 8 9 7 1
   -1   352 2129084: 7 7 1 47 62 4 4 9 12 9
   -1   353 1016: 277 3 672 1 64
   -1   354 2635441777609: 416 4 731 8 791 2 6 10
   -1   355 6016677: 4 5 31 2 538 619 9 2 3 7
   -1   356 4283029: 4 2 8 20 1 2 88 647 96
   -1   357 39861504: 3 3 4 4 73 6 948
   -1   358 3169130: 7 149 49 2 6 62
   -1   359 3367293818524: 115 8 6 1 1 5 3 8 61 52 4
   -1   360 38130: 33 4 37 55 972
   -1   361 48389990: 48 388 1 662 328
   -1   362 779654659: 77 9 5 1 5 9 3 5 731 2 3 9
   -1   363 11913060875: 325 866 30 608 75
   -1   364 1061004: 37 924 16 227 68
   -1   365 389270: 80 694 90 7
   -1   366 1157: 1 6 9 4 9 5 804 6 2
   -1   367 5516918: 854 646 3 4 44
   -1   368 2015: 62 8 8 325 5
   -1   369 146: 1 25 80 36 5
   -1   370 2586431375: 8 910 1 5 7 2 5 4 9 7 4 5
   -1   371 554: 45 6 3 1 4
   -1   372 901722160: 8 3 65 892 9 232 6 9 8 8
   -1   373 1508259: 128 60 33 8 8 97 6
   -1   374 1860109094171: 644 476 370 6 23 164
   -1   375 7606509: 10 159 45 61 89 9
   -1   376 195906: 30 9 170 5 52 3
   -1   377 382857: 73 3 558 14 5
   -1   378 24471778: 9 3 5 320 4 7 59 4 7 7 7 8
   -1   379 125: 19 54 37 12 3
   -1   380 80376: 5 574 28 8 8
   -1   381 75172044: 27 15 8 75 706 5 6 334
   -1   382 1810587: 4 8 1 2 4 862 4 5 32 3 7 2
   -1   383 33096068: 8 985 3 14 69
   -1   384 461181: 38 8 1 183
   -1   385 8235895: 7 3 74 9 3 7 903 4 8 2 9 9
   -1   386 319422733: 360 9 59 5 12 5 3 7 25 6
   -1   387 11735009: 39 1 66 8 8 3 6 9 6 5 7 7
   -1   388 250447: 832 88 3 580 4
   -1   389 116751: 8 5 2 24 187 3 54 1 6
   -1   390 1605684: 7 527 47 8 48 701 3 6
   -1   391 65584601: 43 88 4 6 5 93 2 151 4
   -1   392 72951226: 527 24 61 10 2 7 5 82 8
   -1   393 47920948206: 532 454 978 1 1 1 9
   -1   394 333509945118: 6 1 1 7 2 72 990 8 5 3 3 2
   -1   395 29133: 2 97 6 25 30
   -1   396 73818409561: 1 5 455 4 27 40 9 5 5 1 8
   -1   397 688251860: 93 72 807 91 294
   -1   398 20176506: 875 21 183 126 6
   -1   399 878: 145 38 543 79 73
   -1   400 1537363: 1 1 470 67 288 77
   -1   401 844227: 7 7 603 1 7 10
   -1   402 2186499: 5 25 33 92 21 6 1 4 75
   -1   403 282773964526: 6 300 6 85 57 51 66 8
   -1   404 9737: 9 1 1 62 9
   -1   405 1814424: 202 9 4 3 82 9 603
   -1   406 618982: 6 612 97 1 3
   -1   407 144229: 1 9 3 12 231
   -1   408 280844455: 3 973 39 7 4 451 1
   -1   409 93053313: 758 17 54 799 197 9
   -1   410 16848: 4 8 2 4 3 39
   -1   411 9831864: 5 454 9 8 2 4 38 60 63 8
   -1   412 9216: 8 20 7 32 30
   -1   413 83915: 63 24 625 39 572
   -1   414 1324812384828: 91 886 178 9 4 9 81 6 9
   -1   415 9807944: 6 41 9 38 17
   -1   416 1011990: 5 95 97 22 89
   -1   417 3854: 61 3 9 9 47
   -1   418 56253507981121: 97 997 841 711 960
   -1   419 424316: 64 3 79 441 74
   -1   420 117272977: 6 67 6 475 2 71 878 44
   -1   421 2256: 92 9 628 264 435
   -1   422 11981841: 443 73 27 112 9
   -1   423 1787: 63 5 3 51 7
   -1   424 3659864172: 7 398 54 3 2 8 94 8 3 5 2
   -1   425 248085895127: 65 7 584 45 68 59 8
   -1   426 16660853402: 326 68 3 400 51
   -1   427 41592384: 57 761 6 2 9 8
   -1   428 9459986: 13 3 4 93 6 97 2 271 2 2
   -1   429 13616829: 9 54 20 5 2 12 7 7 6 1 2
   -1   430 166598199: 6 5 8 38 7 4 30 899 5 8 1
   -1   431 377586995: 751 4 5 869 2 2 72
   -1   432 320173: 62 4 70 48 8 3
   -1   433 963099536: 188 908 93 81 9 534
   -1   434 331336: 143 683 401 5 99 6
   -1   435 50535518: 9 6 6 5 1 1 4 61 26 7 4 87
   -1   436 477: 14 8 7 4 1
   -1   437 11968171: 9 85 9 316 2 7 4 104 15
   -1   438 495519: 791 419 339 81 76 4
   -1   439 12480: 2 929 485 213 562 2 4
   -1   440 1307445699: 1 8 4 1 4 28 476 9 8 3 3 9
   -1   441 1435: 7 32 2 7 6 40
   -1   442 25913272: 43 2 7 1 67 22 59 31 4
   -1   443 7266511816: 3 269 925 5 97 9 466
   -1   444 59303392302: 5 74 6 427 5 6 88 3 5 6 5
   -1   445 11455248: 3 98 9 42 1 285 2 7 662
   -1   446 2404154: 9 3 371 3 24
   -1   447 190728476: 2 8 3 2 596 39 9 447 6 8
   -1   448 40749652398: 9 3 3 497 5 6 5 5 2 392 5
   -1   449 2283838454: 1 4 3 7 5 9 4 1 7 8 9 828
   -1   450 9239008: 769 28 2 161 3 6 4 8 6 4
   -1   451 2848880061: 9 5 42 3 5 2 8 476 204 5
   -1   452 615780855301: 4 4 1 8 23 404 9 1 2 5 5 6
   -1   453 6044: 9 5 8 4 1 28 54 7 6 1 563
   -1   454 49295691: 161 62 1 373 59 9
   -1   455 116571994: 8 7 9 7 200 58 7 354 77
   -1   456 88343824059: 724 5 41 7 8 9 2 7 744 6
   -1   457 29725: 2 13 3 66 2 4
   -1   458 7000627200: 5 54 206 8 50 24 4 383
   -1   459 19577668368: 73 352 7 894 2 852
   -1   460 22491: 84 654 2 116 3
   -1   461 398373: 219 4 9 5 33 6
   -1   462 509953: 53 89 75 235 3
   -1   463 27740: 1 320 5 94 76 8 736 5
   -1   464 850240482: 8 4 9 70 3 5 2 530 1 4 8 5
   -1   465 208: 6 7 7 43 74
   -1   466 99824431656: 450 8 711 8 78 5 45 1 9
   -1   467 693095506: 90 77 9 550 6
   -1   468 4414: 8 9 5 6 461 8
   -1   469 760653718: 84 4 3 8 4 3 9 2 50 464 1
   -1   470 16871764: 5 450 142 2 1 36 5 7 3 5
   -1   471 34513: 6 99 13 7 48
   -1   472 807678432: 39 992 374 54
   -1   473 116870416: 93 23 870 356 61
   -1   474 65653: 698 1 433 58 55
   -1   475 2176: 9 25 64 1
   -1   476 6520574: 3 3 6 13 2 389 8 945 4
   -1   477 8062111: 83 5 758 762 54 5 9 1
   -1   478 4690: 479 4 8 822 1 7
   -1   479 600: 50 3 4
   -1   480 30237: 914 89 36 4 28 994 39
   -1   481 60639: 670 13 5 9 29 3
   -1   482 833482: 2 9 4 39 299 16 33 2
   -1   483 62188602: 30 94 1 2 8 277 3 60 5
   -1   484 646272: 83 38 5 5 2 22 48
   -1   485 7797254949: 448 10 4 3 5 87 666 9
   -1   486 182106834186: 3 71 7 899 78 1 89
   -1   487 204713987: 27 967 76 73 25 61
   -1   488 65062185851: 8 406 2 9 9 3 1 8 5 85 2 1
   -1   489 2442779235476: 2 4 42 779 235 476
   -1   490 1101541404783: 5 494 8 784 1 8 63 2 9 6
   -1   491 20022139050: 6 577 756 51 55 150
   -1   492 9334693099: 93 3 469 309 7
   -1   493 43468360: 90 1 15 3 6 5 26 6 6 86 4
   -1   494 53125168450: 2 1 14 90 81 2 9 21 4 50
   -1   495 1675: 50 2 86 7 79 6 192 1 95
   -1   496 44954008: 726 86 18 4 8 6
   -1   497 1855: 84 2 5 97 6 706 2 953
   -1   498 3398: 3 911 6 93 5 561
   -1   499 240590073: 840 612 234 4 312 2
   -1   500 45648251: 36 3 2 9 22 747 481 54
   -1   501 31494224: 501 6 62 60 224
   -1   502 19022: 3 1 4 2 48 1 53 4
   -1   503 470975: 54 2 62 65 704
   -1   504 83169544: 7 4 840 998 9 562
   -1   505 42134273: 1 819 585 37 3 31 73
   -1   506 1332: 96 5 366
   -1   507 207764: 4 98 53 4
   -1   508 35716660368: 420 1 96 85 368
   -1   509 154816372258: 2 6 8 1 523 7 8 1 709 6 4
   -1   510 47658307: 35 1 1 983 1 8 42 70 85
   -1   511 1285582: 5 89 4 218 691
   -1   512 8449218636: 92 4 8 151 4 879 6 639
   -1   513 811125: 9 9 91 9 6 312
   -1   514 6540: 5 67 8 492 367
   -1   515 248227642: 3 755 686 807 80 213
   -1   516 178168925418: 134 7 8 4 7 8 4 6 745 9 2
   -1   517 40272366834: 4 63 657 954 959
   -1   518 752285864242: 940 3 5 7 330 3 80 1
   -1   519 57089214: 1 8 753 4 9 91 91
   -1   520 254401: 5 5 5 9 2 706 12 4 191 1
   -1   521 289690622: 438 6 7 96 6 669 1 240
   -1   522 64649: 73 7 8 8 9 1
   -1   523 7651: 85 9 65 48 19
   -1   524 1821: 2 2 1 8 9 42
   -1   525 193243: 2 5 5 9 1 1 1 20 8 788 2 4
   -1   526 39264864: 6 9 9 73 25 1 54 8 2 552
   -1   527 5618264957: 81 261 4 16 88 70 659
   -1   528 27290: 8 98 693 280 15 935
   -1   529 35742721: 8 716 78 8 4
   -1   530 9360: 18 8 65
   -1   531 229680792: 11 72 1 1 2 3 533 6 2 9 6
   -1   532 1395376: 9 9 34 5 7 98 739 7
   -1   533 425812869100: 266 12 667 345 2 2 5 8
   -1   534 116284: 6 37 36 9 232 65
   -1   535 227233559: 51 1 93 43 167 51 5
   -1   536 25013651680: 710 615 44 60 1 399 8
   -1   537 12783096: 8 7 5 6 5 2 745 85 96
   -1   538 122796: 6 2 9 2 8 200 2 6 27 1 36
   -1   539 3201265: 714 94 4 6 66
   -1   540 13432931938: 961 173 73 5 5 12 673
   -1   541 1491958: 586 67 38
   -1   542 307760: 12 26 4 70 8
   -1   543 127538520: 6 6 511 435 536
   -1   544 3804190: 439 1 3 9 96
   -1   545 10528777518: 7 94 55 373 77 75 15
   -1   546 3950245: 3 631 89 6 7 4
   -1   547 11351826131: 47 89 8 237 134
   -1   548 1371750: 42 14 2 93 25
   -1   549 10089793: 34 970 87 410 90
   -1   550 135793394: 5 7 2 1 6 14 8 62 7 17 4 7
   -1   551 5467360: 25 4 31 190 45 32
   -1   552 49150761097: 98 85 1 4 892 5 4 7 667
   -1   553 25020907: 53 281 6 10 1 2 14 639
   -1   554 20376257: 97 21 59 10 349
   -1   555 25198543: 8 8 2 129 6 98 6 4 3 3 5 5
   -1   556 8740866: 87 202 205 1 65
   -1   557 765976644056: 979 509 775 782 5
   -1   558 211736: 882 5 8 6 56
   -1   559 172867358762: 67 258 7 358 760
   -1   560 27021769152: 270 99 6 752 9 2 7 6 8 4
   -1   561 6486: 64 8 6
   -1   562 16370794990653: 715 795 5 3 8 162 4 72
   -1   563 75950: 8 8 1 2 7 1 102 74 7 50
   -1   564 1890962164: 3 75 9 8 9 7 6 8 53 2 4 1
   -1   565 36552: 7 155 9 4 25 2
   -1   566 528976841: 459 69 971 82 501 9
   -1   567 12617168724: 4 9 6 8 686 427 322 5 5
   -1   568 21463150097: 7 3 4 63 150 10 97
   -1   569 1291956: 5 6 78 2 6 30 93 31 2 2
   -1   570 2767401: 1 2 1 9 5 8 5 1 951 403
   -1   571 654853: 94 2 466 353 492 5
   -1   572 8482556: 1 69 75 585 56
   -1   573 776226044: 2 3 275 2 4 69 9 4 41
   -1   574 2897117690022: 9 29 50 5 5 77 2 8 3 9 9 2
   -1   575 20834: 209 65 74 4 557
   -1   576 53683: 4 3 7 2 9 9 3 538 959 6 5
   -1   577 1072822036014: 25 763 7 83 592 1 95
   -1   578 28470973867: 1 807 6 98 6 9 4 8 60 5 5
   -1   579 4730450: 5 666 6 834
   -1   580 38783138: 38 7 1 82 20 93 5 5
   -1   581 1229280: 296 477 343 66 16 65
   -1   582 2105673483: 66 997 4 218 967 8
   -1   583 99285: 3 669 7 49 9 69 512 9
   -1   584 9135: 5 4 4 4 92 3 481 828 95
   -1   585 418720: 16 26 24 248 2
   -1   586 41660694: 6 132 868 98 3
   -1   587 79461422: 799 64 711 92 8
   -1   588 78900784: 164 879 9 75 785
   -1   589 321783039886: 5 7 7 5 366 3 8 9 8 51 35
   -1   590 44238422: 9 1 3 767 2 8 3 1 7 4 4 22
   -1   591 4052: 19 1 7 2 75
   -1   592 4241515618: 7 6 415 156 20
   -1   593 172815106: 78 3 6 4 3 5 37 7 8 662 6
   -1   594 12961912: 629 7 733 7 53 6 9 1 9 6
   -1   595 3221260: 5 324 99 6 99
   -1   596 69252725603: 961 840 3 409 72 155
   -1   597 64606511: 6 3 5 7 96 7 2 5 2 1 6 2
   -1   598 2712508: 1 7 795 3 3 9 3 426 4 2 6
   -1   599 96279559: 7 1 907 6 463 8 955 9
   -1   600 17382804784: 71 1 3 6 19 37 8 57 42 2
   -1   601 608: 355 84 58 3 108
   -1   602 22788516579714: 8 2 2 77 51 2 3 685 3 7 5
   -1   603 10413092463: 61 9 8 261 8 3 84 9 2 7 2
   -1   604 493395: 5 341 35 5 7 37
   -1   605 1110: 45 8 53 5 914 85
   -1   606 290494566: 10 9 78 9 590 6 6 9 5 69
   -1   607 217807638: 5 1 599 3 7 85 55 63 6
   -1   608 553644516: 553 6 445 15
   -1   609 2494: 25 202 85 8 1
   -1   610 1130126068: 891 317 53 31 517 4
   -1   611 580462601: 6 4 99 8 4 8 4 72 8 32 8 9
   -1   612 94899600: 99 2 6 9 696 25
   -1   613 7180338: 14 3 5 1 5 48 41
   -1   614 17883: 992 3 3 9 2 5 4
   -1   615 298960: 3 6 3 3 78 9 904 16 5 16
   -1   616 1256036: 4 60 5 522 626
   -1   617 10056175920: 7 77 9 1 135 102 46 3 7
   -1   618 214394: 9 85 6 1 28
   -1   619 222768: 93 2 2 26 9
   -1   620 70896: 47 4 139 3 1
   -1   621 828727414020: 56 810 70 82 870 3 2
   -1   622 2726478861: 6 2 953 28 2 509 70
   -1   623 3661356469: 10 951 5 770 64 68
   -1   624 3093697: 61 11 82 524 1
   -1   625 1581223: 2 399 29 478 4
   -1   626 144528: 2 6 70 66 832 7 8 308 8
   -1   627 1560089796: 8 9 724 8 10 999 3 7 7
   -1   628 524867255: 7 91 4 6 3 4 68 8 4 74 5 5
   -1   629 6546332840318: 9 58 10 3 6 6 6 7 209 1 9
   -1   630 340267842041: 48 3 3 35 4 44 2 2 5 6 4 1
   -1   631 106619048: 56 411 41 99 424 5 6 2
   -1   632 11007: 35 523 4 74 587 9
   -1   633 3448675: 3 1 5 1 1 172 1 3 2 7 4
   -1   634 3232805727: 4 30 3 898 5 730
   -1   635 286485725986: 65 9 4 4 63 4 6 3 7 332 9
   -1   636 68357520: 28 8 55 7 822 6
   -1   637 5328894: 565 316 8 7 6 3 3 85 7 6
   -1   638 271298568: 83 813 8 402 82 9
   -1   639 71406: 92 621 87 3 6 8
   -1   640 3850084094: 5 5 700 795 43 1 7 277
   -1   641 2647261804: 8 7 3 1 93 73 84 3 60 2 4
   -1   642 39655042363: 6 66 550 42 363
   -1   643 6826456: 31 8 19 8 1 8 5 202 2 65
   -1   644 207376577273: 665 3 9 565 2 31 2 5 2 1
   -1   645 84617: 7 2 22 9 16
   -1   646 2508164334: 71 3 8 4 800 164 336
   -1   647 8846609: 5 51 55 67 70 71 7
   -1   648 817389001526: 47 8 19 1 9 900 1 528 1
   -1   649 231543: 6 78 494 23 328
   -1   650 2704854957: 3 20 2 28 3 1 549 55
   -1   651 87792: 1 8 7 792
   -1   652 728526617: 6 2 5 816 8 5 4 9 5 4 3 8
   -1   653 4467157029: 7 9 4 6 3 8 1 335 9 3 7 70
   -1   654 119125482: 5 9 1 9 2 8 7 1 77 3 86
   -1   655 606124: 24 25 9 46 5 26 1 99
   -1   656 36952541624: 5 39 1 379 5 1 3 161 6 7
   -1   657 3065247: 7 3 1 4 30 258 19 2 2 9
   -1   658 971579: 480 869 72 29 9
   -1   659 1891834: 16 525 5 40 45 34
   -1   660 17800903630: 232 6 9 4 9 2 7 74 7 8 9 7
   -1   661 39253993319: 32 10 7 9 2 46 8 6 85 9
   -1   662 4808394700: 56 779 3 883 11 8 702
   -1   663 7543: 5 3 50 4 4 1 9 9 6 8 618 8
   -1   664 6152242: 1 8 6 74 1 9 94 760 38 2
   -1   665 21560435: 904 53 5 18 7 5
   -1   666 6452: 78 5 14 8 917 67
   -1   667 34492964: 54 46 53 262 47 91
   -1   668 6143: 8 1 4 76 69
   -1   669 2650433: 3 503 638 3 64
   -1   670 32608539392: 1 4 2 485 4 8 88 13 694
   -1   671 996914: 8 8 11 6 9 15
   -1   672 7491434: 7 1 490 53 1 10 1 79 2 4
   -1   673 1444787: 268 93 4 531 254
   -1   674 1699218797: 1 3 91 40 9 93 5 2 9 9
   -1   675 125: 45 2 14 2 3
   -1   676 1560635136942: 312 5 635 13 694 5
   -1   677 1364803895: 988 77 2 138 7 65
   -1   678 185892174: 5 108 8 7 51 8 8 1 90 4 9
   -1   679 4909: 9 63 68 6 7
   -1   680 125698: 77 265 535 6 59
   -1   681 539863272: 2 3 9 536 6 7 1 37 51 72
   -1   682 703320: 4 6 8 6 9 4 213 5 3 9 410
   -1   683 1171: 1 9 122 2 71
   -1   684 87545446: 4 1 8 9 71 90 92 2 87
   -1   685 3454542861344: 3 33 26 399 861 3 44 1
   -1   686 198829067: 6 8 64 5 4 2 14 9 152 7
   -1   687 3637527: 69 4 9 61 6 24 67 740
   -1   688 115169108: 59 3 3 39 449 9 8 4 50 8
   -1   689 52105: 1 9 3 2 62 137 5 45
   -1   690 9997: 386 772 91 2 4 5
   -1   691 1698163241434: 288 41 8 7 736 1 9 436
   -1   692 13954511681: 852 8 59 2 3 303 18
   -1   693 62128443: 49 3 7 51 3 9 6 1 187 3
   -1   694 33963194: 2 3 8 5 5 1 8 4 6 388 9 5
   -1   695 166733310603: 9 5 24 4 91 6 9 6 969 4 6
   -1   696 4742402: 7 614 7 582 53 10 3 32
   -1   697 1205991360: 34 6 32 9 4 56 45 734
   -1   698 92363911263: 3 57 9 2 1 9 2 6 521 6 2
   -1   699 404026558: 816 2 63 8 980
   -1   700 4114042047: 9 1 6 6 4 8 7 2 20 7 204 7
   -1   701 187800: 2 8 6 7 2 385 503 3 6 4 5
   -1   702 773000606511: 480 5 623 92 7 5 2 48 9
   -1   703 4575227: 4 2 1 21 6 9 73 5 6 8 3 24
   -1   704 24437686: 5 541 71 37 64 88
   -1   705 7024283808: 707 545 6 603 935
   -1   706 15541937280: 605 657 7 391 75 8
   -1   707 1588304669: 8 1 5 1 8 7 7 4 700 6 66
   -1   708 55582288572: 3 70 94 5 9 4 9 4 8 45 3 9
   -1   709 1258520904: 1 569 4 151 10 7 6 2 4
   -1   710 194000: 210 22 42 708 5
   -1   711 1004532: 2 9 977 9 532
   -1   712 28242055: 31 9 7 387 71 255 40
   -1   713 2497162: 3 80 27 1 39 383 2
   -1   714 2113202995948: 132 512 599 58 83 9
   -1   715 4169396: 45 4 1 6 895 9 211 247
   -1   716 4167651: 783 9 3 5 7 4 5 8 5 757 2
   -1   717 62430315: 6 39 977 1 8
   -1   718 145045721765: 38 3 3 9 8 92 204 863 4
   -1   719 1713620: 85 681 20
   -1   720 8652047: 4 8 61 2 719 204 5 2
   -1   721 83092616: 25 73 5 247 3 5 77 8
   -1   722 298683: 44 22 9 2 492 1 524 3
   -1   723 209527771530: 737 25 465 58 49
   -1   724 5348998: 891 4 8 8 75
   -1   725 102566433: 7 9 5 1 2 8 2 7 31 91 3 2
   -1   726 16159: 6 5 8 839 218
   -1   727 116652639: 12 8 4 97 9 911
   -1   728 1177258162: 21 8 6 5 317 8 18 955
   -1   729 88785: 7 413 68 6 1 3
   -1   730 24757333: 745 4 27 2 5 2 9 68 97
   -1   731 12893032: 11 865 5 271 152 55
   -1   732 4150408646: 8 63 904 532 5
   -1   733 1424648: 7 747 339 179 4 35 8 8
   -1   734 639080: 78 315 10 2 13
   -1   735 64638140111: 140 29 11 2 537 78
   -1   736 23239: 83 74 148
   -1   737 22735784: 5 39 42 97 78 4
   -1   738 1776931595: 6 633 704 5 5 79
   -1   739 420869739792: 601 2 42 2 2 8 4 8 6 7 3 6
   -1   740 300460: 5 9 4 7 4 7 626 5 8
   -1   741 49077: 23 75 41 72 12
   -1   742 5846791: 58 467 7 1 9
   -1   743 128174255: 2 101 71 445 59
   -1   744 9548470573: 2 795 95 46 1 762 6
   -1   745 1200810: 704 568 3 888 306
   -1   746 8268178: 3 984 92 28 5
   -1   747 1251: 3 57 64 8 1 1
   -1   748 36297: 8 551 59 2 6 52 8 81
   -1   749 26920458: 9 89 40 97 55 8 6
   -1   750 63313: 6 6 7 866 93
   -1   751 41711425: 21 36 53 3 725
   -1   752 1266480065088: 578 8 1 2 547 627 4 4 2
   -1   753 1256275: 4 4 6 6 6 8 3 3 9 24 7 25
   -1   754 351751992: 272 9 8 1 5 1 24 6 52 7 4
   -1   755 1141050240: 506 4 87 8 810
   -1   756 2732172398: 4 3 8 16 3 59 65 2 69 98
   -1   757 496204: 82 2 1 7 89 54
   -1   758 2351040677: 4 7 4 505 60 24 67 8
   -1   759 20361680: 9 376 8 6 9 681
   -1   760 19565: 93 795 90 2 5
   -1   761 157: 6 4 8 39 39
   -1   762 55066: 3 923 75 55 10
   -1   763 678078: 9 53 37 539 1 4 7 5
   -1   764 2068976356: 17 8 48 812 254 99
   -1   765 1167049647: 476 7 141 1 4 9 531 69
   -1   766 47340932167: 493 644 4 42 70 991
   -1   767 3176645: 5 59 2 157 8 1 6 9 48 4
   -1   768 363525896226: 6 8 861 930 7 8 225
   -1   769 15948: 214 31 7 940 3 6
   -1   770 2167814926453: 78 887 687 4 5 807 2 4
   -1   771 2218: 2 6 5 469 18 956 687
   -1   772 294158590: 18 12 382 56 9 976
   -1   773 23101312: 181 9 2 635 9
   -1   774 9109854003: 87 587 9 78 375 456
   -1   775 13759: 9 140 70 6 453
   -1   776 410519041983: 3 3 9 9 4 5 4 36 8 8 1 981
   -1   777 38631736: 52 807 10 950 15 9
   -1   778 19389630: 4 884 87 7 390
   -1   779 2353160400888: 4 744 275 496 888
   -1   780 4620: 33 1 84 1 31 3 5 5 5 6
   -1   781 74595: 745 20 78
   -1   782 1007311921628: 4 880 6 440 8 4 4 647
   -1   783 553: 1 9 506 3 4 30
   -1   784 2879: 3 74 7 258 5
   -1   785 9755: 23 10 88 9 8
   -1   786 1283480: 2 2 90 5 8 67 8 1 33 1 5 7
   -1   787 5221132: 15 866 62 6 40 84 8
   -1   788 2077360320: 8 4 8 805 1 6 8 7 1 42 8 4
   -1   789 1215068: 651 266 275 7 982
   -1   790 21160956866: 41 935 12 8 46 66
   -1   791 265482518844: 301 882 5 188 44
   -1   792 4337814321: 43 93 84 493 643 2
   -1   793 363048346: 747 9 6 617 74 8 9 4 50
   -1   794 368017137496: 99 59 541 865 63
   -1   795 118224970527: 3 2 4 8 14 25 5 8 2 5 5 71
   -1   796 95338728: 30 92 9 571 6
   -1   797 719154430: 996 526 6 8 72 82
   -1   798 61229835: 6 425 2 8 5 7 7 3 9 150 8
   -1   799 1308850290566: 156 711 9 29 580 4 8 6
   -1   800 131674: 4 94 935 5 69 3 3
   -1   801 1720: 4 8 22 3 39 3 9 127 4 5
   -1   802 54321382: 97 56 12 70 46 65
   -1   803 578: 55 1 8 133 5
   -1   804 17120: 2 9 6 12 8 685 4 3 8 656
   -1   805 56014516: 55 72 27 2 41 13 403
   -1   806 1031940: 65 2 73 32 7 49 61 84 7
   -1   807 3480490: 2 5 70 3 497
   -1   808 109494584: 8 964 302 621 27 47
   -1   809 6624870401: 6 46 9 61 88 6 870 401
   -1   810 1932590647866: 41 45 3 1 1 9 7 6 8 3 6 74
   -1   811 4251407: 25 1 2 31 1 5 521 5 43
   -1   812 6370650: 57 83 1 835 99 66
   -1   813 1424752683: 212 56 932 7 4 3 3
   -1   814 2047788: 98 5 1 2 6 346 2 40 812
   -1   815 2135380: 9 62 5 5 764
   -1   816 16782872260: 44 873 99 4 935
   -1   817 529647: 1 980 79 29 5
   -1   818 1034281: 72 214 20 52 65
   -1   819 1481605493: 57 65 257 49 4
   -1   820 26823: 244 8 88 797 2 731 2 3
   -1   821 294907969: 8 88 9 5 3 738 956
   -1   822 258989: 71 4 6 91
   -1   823 17858: 6 4 3 248
   -1   824 263467053076: 62 82 7 3 5 509 342 76
   -1   825 13779755961: 7 3 573 7 5 5 6 365 22
   -1   826 370: 35 5 4 1 9
   -1   827 167010: 30 6 59 3 586
   -1   828 500009855775: 1 7 16 3 3 399 5 3 577 8
   -1   829 8470455: 28 52 495 2 6
   -1   830 16770537: 69 4 6 319 305 19 14
   -1   831 10543: 15 4 57 7 85 3
   -1   832 237976754: 5 718 2 5 19 52 4
   -1   833 115325496456: 6 3 31 253 8 9 382 75
   -1   834 8571959: 8 6 8 39 9 79 8 7 673 6
   -1   835 556951135688: 6 10 8 404 743 9 859 9
   -1   836 282684: 3 2 7 58 6 82
   -1   837 249472: 2 48 5 9 70
   -1   838 8295: 82 4 5 2 3
   -1   839 21988671258: 2 443 9 1 671 17 9 1
   -1   840 2737827433: 3 2 6 507 3 457 6 4 8
   -1   841 638692: 189 39 7 73 4
   -1   842 2939773270: 584 5 19 773 270
   -1   843 761567: 92 5 7 8 4 5 4 291 1 4
   -1   844 12640207: 3 1 5 6 3 1 13 5 6 9 692 3
   -1   845 417802012: 2 37 78 1 21 654
   -1   846 10995267: 4 1 9 1 4 2 3 1 84 9 6
   -1   847 902703291: 580 308 7 31 163
   -1   848 371907: 871 6 84 387
   -1   849 55152844588: 90 965 973 4 157 587
   -1   850 2831012450: 57 757 1 81 81

diff --git a/2024/07/solution.rs b/2024/07/solution.rs

@@ -0,0 +1,60 @@
   -1     1 #[path = "../lib.rs"]
   -1     2 mod lib;
   -1     3 
   -1     4 fn concat(a: u64, b: u64) -> u64 {
   -1     5     let mut tmp = b;
   -1     6     let mut result = a;
   -1     7     while tmp > 0 {
   -1     8         tmp /= 10;
   -1     9         result *= 10;
   -1    10     }
   -1    11     return result + b;
   -1    12 }
   -1    13 
   -1    14 fn check(numbers: &Vec<u64>, value: u64, part2: bool) -> bool {
   -1    15     let mut a = vec![numbers[0]];
   -1    16 
   -1    17     for x in numbers.iter().skip(1) {
   -1    18         let mut b = vec![];
   -1    19         for old in a.iter() {
   -1    20             let v1 = old + x;
   -1    21             if v1 <= value {
   -1    22                 b.push(v1);
   -1    23             }
   -1    24             let v2 = old * x;
   -1    25             if v2 <= value {
   -1    26                 b.push(v2);
   -1    27             }
   -1    28             if part2 {
   -1    29                 let v3 = concat(*old, *x);
   -1    30                 if v3 <= value {
   -1    31                     b.push(v3);
   -1    32                 }
   -1    33             }
   -1    34         }
   -1    35         a = b;
   -1    36     }
   -1    37 
   -1    38     return a.iter().any(|v| *v == value);
   -1    39 }
   -1    40 
   -1    41 fn main() {
   -1    42     let mut sum1 = 0;
   -1    43     let mut sum2 = 0;
   -1    44 
   -1    45     for line in lib::iter_input() {
   -1    46         let (a, b) = line.split_once(": ").unwrap();
   -1    47         let value = a.parse::<u64>().unwrap();
   -1    48         let numbers = b.split(' ').map(|s| s.parse::<u64>().unwrap()).collect();
   -1    49 
   -1    50         if check(&numbers, value, false) {
   -1    51             sum1 += value;
   -1    52         }
   -1    53         if check(&numbers, value, true) {
   -1    54             sum2 += value;
   -1    55         }
   -1    56     }
   -1    57 
   -1    58     println!("part1: {}", sum1);
   -1    59     println!("part2: {}", sum2);
   -1    60 }

diff --git a/2024/07/test.txt b/2024/07/test.txt

@@ -0,0 +1,9 @@
   -1     1 190: 10 19
   -1     2 3267: 81 40 27
   -1     3 83: 17 5
   -1     4 156: 15 6
   -1     5 7290: 6 8 6 15
   -1     6 161011: 16 10 13
   -1     7 192: 17 8 14
   -1     8 21037: 9 7 18 13
   -1     9 292: 11 6 16 20