Finally got around to doing Day 4. That was fun. I'm really happy my decision to completely overengineer my Part 1 solution meant that Part 2 took all of minute to code.
@Wipqozn Yeah, I'm working on today's I spent a little while trying to figure out if there was a more intelligent way of doing it than just tracking all the boards