F. Запрещённые индексы
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Дана строка s, состоящая из n строчных латинских букв. Некоторые индексы в этой строке являются запрещёнными.

Вам необходимо найти такую строку a, что значение |af(a) является максимально возможным, где f(a) — количество вхождений a в s, заканчивающихся в индексах, не являющихся запрещёнными. Например, если saaaa, aaa и индекс 3запрещённый, то f(a) = 2, так как a встречается в s три раза (начиная с индексов 1, 2 и 3), но одно из этих вхождений (то, которое начинается в индексе 2) заканчивается в запрещённом индексе.

Посчитайте максимально возможное значение |af(a).

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

В первой строке записано целое число n (1 ≤ n ≤ 200000) — длина строки s.

Во второй строке записана s — строка из n строчных латинских букв.

В третьей строке записана строка t, состоящая из n символов 0 и 1. Если i-й символ в t1, то i является запрещённым индексом (иначе i не запрещён).

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

Выведите максимально возможное значение |af(a).

Примеры
Входные данные
5
ababa
00100
Выходные данные
5
Входные данные
5
ababa
00000
Выходные данные
6
Входные данные
5
ababa
11111
Выходные данные
0