This was not an easy puzzle to do