Snukes Wörterbuch enthält $n$ verschiedene Wörter $s_1, \ldots, s_n$. Jedes Wort besteht aus englischen Kleinbuchstaben. Die Wörter sind lexikographisch geordnet, das heißt $s_1 < \cdots < s_n$. Leider kannst du einige Zeichen in seinem Wörterbuch nicht lesen. Du hast diese Zeichen durch „?“ ersetzt. Berechne die Anzahl der Möglichkeiten, jedes „?“ durch einen englischen Kleinbuchstaben zu ersetzen und ein gültiges Wörterbuch zu erhalten, modulo $1\,000\,000\,007$.
Eingabe
Die erste Eingabezeile enthält eine ganze Zahl $n$ ($1 \le n \le 50$). Es folgen $n$ Zeilen; die $i$-te enthält das Wort $s_i$ ($1 \le |s_i| \le 20$, jedes Zeichen in $s_i$ ist ein englischer Kleinbuchstabe oder ein „?“).
Ausgabe
Gib die Antwort aus.
Beispiele
Eingabe 1
2 ?sum??mer c??a??mp
Ausgabe 1
703286064
Eingabe 2
3 snuje ????e snule
Ausgabe 2
1