advent-of-code 2025.5.0

Solutions to Advent of Code
Documentation
\..................-............-.........|-......................\\.../..........|......|........../.........
...-.......-.-........|........../.............................-..............-....|.-.........-..............
.|......................|........-.....\.././.........|......|-....|..|........|......./...|............|..\\.
../....|..................-................-\....../...../...................\............../...../...../.....
.....................\................||.|.|...............................-..../......\..../|..........-..\..
|.....\....-.....................................-|..../..\/...........................\.................\....
..........-....../...../.................-..../...\.......-././......../../...-..............|..............\.
..|.|......-..........|.......\.............../.\...-...................-...............|...-.........\.......
....-.............../................../.........\/....\./..-...\..../.......\................-...............
\.....|../../...........|.........../..............\......\..................|.............\.....|....\.......
..../.......\...-../-....../..\......./..../.........../..-/.....|\.............-.............................
.......................\.-..........\...../../......-/..|.......\.............../..-..........................
........|..............|.-\.......|...|....|.............-....\....\.........\............../....../..........
..........................-...............-.\............\./................-............|....................
......\..-..............\....|..../...-......|......|................|...................-.../..\............/
............-......|.-..........././.........|.........|..\....|.\.........../...........-..|.../.........|../
.......|........../............................./...|.-|........-............/......../......................|
............-...../.........-.....-.............-..-...........-.../-..........\...............\.......-......
...................\........-..|........-../.../.........-....-........-........\.....\.........|....\........
..|........./...../............\....|..../...-..................|.............../...\..../.........../...\..-.
................-..............-..............|.....\.|..............|......|.....|...........................
./.......\.........|....\../......\.\..../.\....\...../............../...\......\..-||..|...................-.
/...........\.../............../../......-................-\....................\.............................
..\-....\.....\|/.....\./.......-..\...\....../...../..................-......-....|................/.........
............/..............-.....................|........|..\../.............................\......./.......
....................../...-..\................\............-....-\..-...................\...|........|........
.....................\....|.........................|......./..../....|.../.../............-.........../...-..
...........................-.../............................\........-...\.....|.\../.........../-........-...
..|....../...........-...........-..\............/....-../....................../..../../....|................
.....|.................-.-.....-|./.\.|.............-...........-................\...-........./........\....-
................../....|...................-..../....-......................./.........................../....
./......../../-..............................-.......-.................-.......\...|..........................
................/....-/.............|.....................-...../..../.......................|.|..............
.....................|............|............../.\................................................-.-.......
-...................................-................\./......../../.-.../.....|.....-........................
................../...-.........................../...-./..|.-......-.../..........\.....|............\||...--
............../.............-/........./...........\......../.....-...|.\..|............./............/.......
.../.....|.\|.......././/..............|..............................................|............/..........
.............................-....\......\................................./......../.-...\...-...............
.................................................-.-...............-.....\....|....../.....\../...............
..\.....................\.........\|...\...|...................|...|.............................|............
......................./...|..........-.-............|..........|.........|................././-.......-......
.\.....|..|........................\\....../....|../...\..\../...............|..../....-...........-/.........
.|........................./..|..........|............/...-...............-...-...|..................|.....-..
...\-..-......../..............\...../................................-...../.-..............|....--....\.|...
.......|\......\...................-................|../..|........./...--..............................\.....
|.............................\../.|..-.....\......|.|................/-........................-.-......|..-|
................................../....|.....|.......................|......\.....|....../....................
............-/.................\.....|................./..|.........-......|......|.....................\-....
|\....../...............|...............................\...-\......-............|............-...............
....................|.................|....\..........\...............|/..|.../................|.....\.......-
..........-.........-.....|/........\-.......\-........|........../........|.|..|........./././........-..../.
................../.......|......................-....\./.........................-...........................
.../..-..|..-.........../......-......\..............|..............\|......................................\.
....../........../.........................\............................./......./...................|......-.
........................../.........\...................\.\...................-/..\................\.||...\|..
............/.-..........-./..........................|..../...\.....|....\.../..................\.....|./....
....\.................-......|....../............/-....................|..../...\./../.....-..\..|............
..../.-...........................-/.............../.-......./......./..\..|....|........-.............../.|..
.........\..|...|...||....|.........................|.....\..\-....|......./....|...|......./.................
....................|.......|.....................................|...../.........\|.............../....-./.|.
..........|...../..................................\-|.....\-.......-....|...\................................
....-.|....\...|....\...\.......\....|\........|......|........./........../..........|..............\........
.....-...........................-...../................|.............|.......-..-..../........\........./.\..
.....|............\...../.../..............................-.......................................|....-.-...
.................-.-....|.......................-.......-..................-......-......./...-......|........
................................\......\...................../\.......\./............./.-.....................
....-.................../...........-../............|...\...\.|......-.........../......../.../...|...........
................\......................................\.\.-...\..\..........\-...............................
....../............./..\.........|........................../|...........\.....-...........|.|........\.......
.........-..........-............./....\.............................|................|...|...................
................................../........\...-................\........../..\...-.................../.......
-.......-.....-...././.....-................................................../...............................
....../......-....../......\........|........\........\|.\...........\.................../.......|....../.....
..-....../........|............\...............\..-../.\......-.|...../...-.../............|.......\.-........
............../..........|........-/.......|...-................../........../.........\./...-.....|.../......
..............|............-.-......\..-.........................\./.....-..../-....\.........................
..........\..|...-.......\.-.../../.....|..\...................-...../..../..................\....|/..........
.........\....-............-............-..........|............/..........\............./.-......-...........
...|\.../.......-..........-.............../........-...|...................../.....................-\........
....................|..........|.../...../......./...-.....\.....................-..................../../....
................-............/............|./-...\....|............../....-....................\..../..|....|.
...|..........|.........|.........\............-.../......../..................-......\............\\../..../.
...........|.-...-../.........-..................-............-.....|..|....\.........................\.......
.......|..\............/........|..........-.|.................|.....-.....|...................-..............
...........|....|/....-...........................|.....................\.-.\............-./......./..........
.../....................../................../...\....|.......-.........../............/......................
..................-....-................|..\.........|...//|..\..............\......\.......|....../.......-..
.........\.....\......-..|........|-....../....-....-..-...../\...././..|.......\........-...........|.......-
..................................\.|........\.................../......\./............................\......
......................\..../...\.\.......\.\................-...-..\....\........\........../../.......|\.....
........|..-....../......../..........|................/.........................-./.......|...\..............
..................................-..................................\............../..\............-......../
.|/....\....|...|.............../...\......|...-............|..\................................|..|...|......
...........\............|....-...........\......|.........\....\\.......\...-.\.....\../.......\.............-
..--................................\.......................-.......||\...../...............|......-..........
...\...|.........................|....-.......-|................-......................\....................\.
\...-.....................................-|...|......|/........./............../..............|.......|......
/......................|.......|....-.....\...........................\..............-.|...........|..........
....................../...|......|.-..........-.........../.\|.....................\.|........./.-............
...............................\......|.../..........\........\...\..................-..-..........-...|......
......\.......\.-...../...../...............\......./.|..............................|.......|................
.............-................./..-..|.......\..\..................-.............\...-.......-........--......
...............|...........\...............-........./...........--....|....../....\../.......................
............\.-.........................\..............-.......-.............................................-
..\.................................|.....|..../..\...................\......../.....\./../.|..../...-..../...
........\...||.........-.../.|..........-.|-........\.....................|..\....|...........................
.............-......................|/..-............\.....\.......|../.././-....-./..........|.........\.....
.................\................./..................\......./..-...-..|....\........-.......................
....................-.........\.../../-......../....\......|-..-.../.......-..........\.......................