Build a sequence using words from words. Each word after the first must be formed by inserting exactly one lowercase letter into the previous word, keeping all its existing letters in order. You may choose the words in any order, and a sequence containing just one word is valid. Return the greatest possible number of words in such a sequence.
Example 1:
Input: words = ["abcd","ac","a","acd"]
Output: 4Explanation: Choose a, ac, acd, then abcd. Each step inserts one letter, so this chain uses all four words even though their input order is different.
Example 2:
Input: words = ["ab","cd","ef"]
Output: 1Explanation: All three words have the same length. None can follow another by inserting exactly one letter, so the longest chain contains one word.
Example 3:
Input: words = ["a","a","ab"]
Output: 2Explanation: The chain a, ab has length 2. Repeating a does not extend a chain because every step must increase the word length by one.
Constraints:
1 <= words.length <= 10001 <= words[i].length <= 16- Every word contains only lowercase English letters.