https://learnprogramming.in.net/solving-the-word-ladder-problem-using-bfs-in-python/