Credit to 15schaa for playtesting this puzzle.