Міжнародна олімпіада з мов#9034

Міжнародна олімпіада з мов

1 секунда
128 мегабайтів
Легка

На міжнародній олімпіаді з мов проходить етап відбору. Кожен учасник повинен представити свою мову.

Мурад вирішив, що його мова цікава, і бере участь у відборі. У його мові є букв (c_1, c_2, \ldots, c_m). Будь-яке слово, складене з цих букв, існує в цій мові.

Щоб мова виглядала більш впорядкованою, Мурад вирішив впорядкувати всі слова. Він розташував слова за зростанням їх довжини, а якщо довжини збігалися, то в лексикографічному порядку.

Під час відбору всім членам журі сподобалася мова Мурада, і вони вирішили випробувати його, давши задачу, пов'язану з його мовою. Мураду дали певне слово з його мови і попросили визначити його позицію в побудованій ним послідовності слів.

Допоможіть Мураду в цьому завданні.

Відповідь може бути дуже великою, тому потрібно знайти залишок від ділення відповіді на число .

Вхідні дані

У першому рядку задано кількість букв (1 \le m \le 26) у мові Мурада. У наступному рядку через пробіл наведено самі букви в алфавітному порядку c_1, c_2, \ldots, c_m. У третьому рядку дано слово (1 \le |S| \le 10^6) з мови Мурада (тут позначає довжину рядка ).

Вихідні дані

Виведіть позицію слова у побудованій послідовності слів, обчислену за модулем .

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Примітка

У першому тесті слова в мові мають вигляд: a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb,

У другому тесті слова в мові мають вигляд: a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc, aaa,