Classic, yet complicated!

Thumbs up for JChris, haha! The fun is to apply the algorithm manually in order to learn during the process!