EduBrick

B. Общий префикс суффиксов двух строк

3000 мс · 256 МБ · всё или ничего

Даны две строки и запросы: какой длины наибольший общий префикс у суффикса ss, начинающегося в позиции ii, и суффикса tt, начинающегося в позиции jj.

Тот же двоичный поиск по хешам, что и в классе, но хеши теперь от разных строк.

Здесь важно, чтобы обе строки хешировались одним и тем же основанием и модулем: иначе хеши несравнимы, и сравнение всегда будет давать «не равны». Это частая ошибка, и проявляется она как «ответ всегда ноль» - легко заметить, если проверить на двух одинаковых строках.

Ограничения по времени такие же: O((∣s∣+∣t∣)+qlog⁡)O((\lvert s \rvert + \lvert t \rvert) + q \log).

Формат ввода

В первой строке - строка ss, во второй - строка tt. Обе непусты, длины не превосходят 10510^5, состоят из строчных латинских букв.

В третьей строке - число запросов qq (1≤q≤1051 \le q \le 10^5).

В следующих qq строках - пары ii, jj (1≤i≤∣s∣1 \le i \le \lvert s \rvert, 1≤j≤∣t∣1 \le j \le \lvert t \rvert).

Формат вывода

Для каждого запроса выведите длину наибольшего общего префикса.

Примеры

ввод
abacaba
bacab
3
1 1
2 1
3 3
вывод
0
5
0
Войдите, чтобы отправлять решения.