O dicionário de Snuke contém $n$ palavras distintas $s_1, \ldots, s_n$. Cada palavra é formada por letras minúsculas do alfabeto inglês. As palavras estão ordenadas lexicograficamente, isto é, $s_1 < \cdots < s_n$. Infelizmente, você não consegue ler alguns caracteres do dicionário. Você substituiu esses caracteres por «?». Calcule o número de maneiras de substituir cada «?» por uma letra minúscula do alfabeto inglês e obter um dicionário válido, módulo $1\,000\,000\,007$.
Entrada
A primeira linha da entrada contém um inteiro $n$ ($1 \le n \le 50$). Em seguida vêm $n$ linhas; a $i$-ésima contém a palavra $s_i$ ($1 \le |s_i| \le 20$, cada caractere de $s_i$ é uma letra minúscula do alfabeto inglês ou um «?»).
Saída
Imprima a resposta.
Exemplos
Entrada 1
2 ?sum??mer c??a??mp
Saída 1
703286064
Entrada 2
3 snuje ????e snule
Saída 2
1