يحتوي قاموس 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