Very fun solution. I solved this a while ago and so I don't remember the entire process, but I recall the touch being harder then I expected, and then the optimization being quite tricky. Really enjoyable puzzle though, and the solution flows very nicely!