More or less working algorithm + visualization. Something still feels
wrong about the solutions, though.