Algorithms, Part I - Assignment 4: 8 Puzzle