Задача №113975. Ещё о паролях

Петя Торопыжкин нашёл свой старый архив, но не может вспомнить пароль, чтобы распаковать его. Всё, что он помнит: пароль непуст, состоит только из заглавных символов латиницы, имеет длину не более \(l\) символов, не содержит двух одинаковых символов подряд и в смысле лексикографического порядка расположен между двумя известными строками \(s_1\) и \(s_2\), строго больше \(s_1\) и строго меньше \(s_2\). Ему нужно посчитать, сколько таких строк существует (чтобы понять, а стоит ли вообще пытаться перебирать их). Посчитайте и вы. Но поскольку это число может быть очень большим, выдайте остаток от деления его на \(10^9 + 7\).

Входные данные

В первой строке задано натуральное число \(l\) — максимальная длина пароля (\(1 \leq l \leq 10^5\)). Во второй и третьей строках заданы строки \(s_1\) и \(s_2\) — непустые строки из заглавных символов латиницы длины не более \(l\) символов, \(s_1 < s_2\).

Выходные данные

Выдайте остаток от деления на \(10^9 + 7\) количества строк указанного вида.

Примечание

Эти \(677\) строк состоят из строк вида: A? — 25 штук (на месте ? может стоять любой из 25 символов, отличных от A ), A?? \(25^2 = 625\) (вместо первого ? стоит любой из 25 символов, отличных от A , вместо второго — любой из 25 символов, отличных от символа, стоящего вместо первого ? ), B — 1, BA — 1, BA? — 25 строк: \(25 + 625 + 1 + 1 + 25 = 677\).

Примеры
Входные данные
3
A
BB
Выходные данные
677
Сдать: для сдачи задач необходимо войти в систему