A certain language uses lowercase English letters, but its alphabetic dictionary order is different from ordinary English order.
You are given a list of words that is already sorted according to this language's dictionary order. Determine the order of the distinct letters that appear in the given words.
The first line contains the number of words, N (N <= 100). Each of the next N lines contains one word.
Each word has length at most 10 and consists only of lowercase English letters.
Print the alphabet order of the distinct letters that appear in the input words.
If no valid order exists, print !. If two or more valid orders exist, print ?.