And that's a wrap (modulo finishing some of the days in rust):
$ python main.py
Day Part 1 Part 2 Time [ms]
----------------------------------------------------
Day 01 1374 1418 2.01
Day 02 1660158 1604592846 1.52
Day 03 3895776 7928162 4.52
Day 04 14093 17388 3.80
Day 05 6397 22335 177.87
Day 06 393019 1757714216975 0.79
Day 07 355989 102245489 1.30
Day 08 473 1097568 5.64
Day 09 600 987840 55.01
Day 10 321237 2360030859 2.38
Day 11 1637 242 28.11
Day 12 5252 147784 2.81
Day 13 724 CPJBERUL 2.63
Day 14 2233 2884513602164 3.94
Day 15 523 2876 772.99
Day 16 852 19348959966392 5.14
Day 17 14535 2270 8.71
Day 18 4435 4802 599.87
Day 19 396 11828 547.72
Day 20 5475 17548 65.86
Day 21 503478 716241959649754 50.66
Day 22 603661 1237264238382479 82.99
Day 23 19167 47665 153.68
Day 24 29599469991739 17153114691118 0.24
Day 25 516 319.61
----------------------------------------------------
2926.96
And that's a wrap (modulo finishing some of the days in rust):
Just snuck in under 3 seconds total solve time.