- 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