There is a new alien language which uses the latin alphabet. However, the order among letters are unknown to you. You receive a list of non-empty words from the dictionary, where words are sorted lexicographically by the rules of this new language. Derive the order of letters in this language.
Example 1:
Given the following words in dictionary,
1 2 3 4 5 6 7
[ "wrt", "wrf", "er", "ett", "rftt" ]
The correct order is: "wertf".
Example 2:
Given the following words in dictionary,
1 2 3 4
[ "z", "x" ]
The correct order is: "zx".
Example 3:
Given the following words in dictionary,
1 2 3 4 5
[ "z", "x", "z" ]
The order is invalid, so return "".
Note:
You may assume all letters are in lowercase.
You may assume that if a is a prefix of b, then a must appear before b in the given dictionary.
If the order is invalid, return an empty string.
There may be multiple valid order of letters, return any one of them is fine.