El diccionario de Snuke contiene $n$ palabras distintas $s_1, \ldots, s_n$. Cada palabra está formada por letras minúsculas del alfabeto inglés. Las palabras están ordenadas lexicográficamente, es decir, $s_1 < \cdots < s_n$. Por desgracia, no puedes leer algunos caracteres de su diccionario. Has sustituido esos caracteres por «?». Calcula el número de formas de sustituir cada «?» por una letra minúscula del alfabeto inglés para obtener un diccionario válido, módulo $1\,000\,000\,007$.
Entrada
La primera línea de la entrada contiene un entero $n$ ($1 \le n \le 50$). Le siguen $n$ líneas; la $i$-ésima contiene la palabra $s_i$ ($1 \le |s_i| \le 20$, cada carácter de $s_i$ es una letra minúscula del alfabeto inglés o un «?»).
Salida
Imprime la respuesta.
Ejemplos
Entrada 1
2 ?sum??mer c??a??mp
Salida 1
703286064
Entrada 2
3 snuje ????e snule
Salida 2
1