Словник Snuke містить $n$ різних слів $s_1, \ldots, s_n$. Кожне слово складається з малих літер англійського алфавіту. Слова впорядковані лексикографічно, тобто $s_1 < \cdots < s_n$. На жаль, ви не можете прочитати деякі символи в його словнику. Ви замінили ці символи на «?». Обчисліть кількість способів замінити кожен «?» малою літерою англійського алфавіту так, щоб утворився коректний словник, за модулем $1\,000\,000\,007$.
Вхідні дані
Перший рядок вхідних даних містить одне ціле число $n$ ($1 \le n \le 50$). Далі йдуть $n$ рядків, $i$-й з яких містить слово $s_i$ ($1 \le |s_i| \le 20$, кожен символ у $s_i$ — мала літера англійського алфавіту або «?»).
Вихідні дані
Виведіть відповідь.
Приклади
Вхідні дані 1
2 ?sum??mer c??a??mp
Вихідні дані 1
703286064
Вхідні дані 2
3 snuje ????e snule
Вихідні дані 2
1