You are given an array of words. Word A is a predecessor of word B if inserting exactly one letter into A (without reordering) yields B. A word chain is a sequence where each word is a predecessor of the next.
Return the length of the longest possible word chain.