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