Preparando MOJI

Forbidden Indices

2000ms 262144K

Description:

You are given a string s consisting of n lowercase Latin letters. Some indices in this string are marked as forbidden.

You want to find a string a such that the value of |af(a) is maximum possible, where f(a) is the number of occurences of a in s such that these occurences end in non-forbidden indices. So, for example, if s is aaaa, a is aa and index 3 is forbidden, then f(a) = 2 because there are three occurences of a in s (starting in indices 1, 2 and 3), but one of them (starting in index 2) ends in a forbidden index.

Calculate the maximum possible value of |af(a) you can get.

Input:

The first line contains an integer number n (1 ≤ n ≤ 200000) — the length of s.

The second line contains a string s, consisting of n lowercase Latin letters.

The third line contains a string t, consisting of n characters 0 and 1. If i-th character in t is 1, then i is a forbidden index (otherwise i is not forbidden).

Output:

Print the maximum possible value of |af(a).

Sample Input:

5
ababa
00100

Sample Output:

5

Sample Input:

5
ababa
00000

Sample Output:

6

Sample Input:

5
ababa
11111

Sample Output:

0

Informação

Codeforces

Provedor Codeforces

Código CF873F

Tags

dsustring suffix structuresstrings

Submetido 0

BOUA! 0

Taxa de BOUA's 0%

Datas 09/05/2023 09:19:49

Relacionados

Nada ainda