Kamus Snuke berisi $n$ kata berbeda $s_1, \ldots, s_n$. Setiap kata terdiri dari huruf kecil bahasa Inggris. Kata-kata tersebut diurutkan secara leksikografis, yaitu $s_1 < \cdots < s_n$. Sayangnya, kamu tidak dapat membaca beberapa karakter dalam kamusnya. Kamu mengganti karakter-karakter tersebut dengan «?». Hitung banyaknya cara mengganti setiap «?» dengan sebuah huruf kecil bahasa Inggris sehingga diperoleh kamus yang valid, modulo $1\,000\,000\,007$.
Masukan
Baris pertama masukan berisi satu bilangan bulat $n$ ($1 \le n \le 50$). Berikutnya terdapat $n$ baris; baris ke-$i$ berisi kata $s_i$ ($1 \le |s_i| \le 20$, setiap karakter dalam $s_i$ adalah huruf kecil bahasa Inggris atau «?»).
Keluaran
Cetak jawabannya.
Contoh
Masukan 1
2 ?sum??mer c??a??mp
Keluaran 1
703286064
Masukan 2
3 snuje ????e snule
Keluaran 2
1