This is an interesting question which has been discussed in Japan, so I wonder if there are more efficient way.
Pokémon is one of the most famous game all over the word, and there are 898 Pokémon in all so far.So there are 898 names.What you need to do is try to find the longest word chain of Pokémon. Suppose each pokemon name can only be used once. For example,if you start with Pikachu (maybe the most famous Pokémon), Pikachu ends with the letter "u",so you need to find another Pokémon name starting with "u",such as Unown whose ending letter is "n". Next,you need to find another Pokémon name starting with "n".
Obviously there must exist a longest word chain. So how to find the longest word chain of Pokémon efficiently? And how to prove it is the longest one?
In essence, this is a mathematical problem that has nothing to do with Pokémon, but sucht word chain is used in the song of pokemon cartoon, so I connect the two sides.