epfl-cs-107-maze-solving