codeforces#P1313E. Concatenation with intersection
Concatenation with intersection
Description
Vasya had three strings $a$, $b$ and $s$, which consist of lowercase English letters. The lengths of strings $a$ and $b$ are equal to $n$, the length of the string $s$ is equal to $m$.
Vasya decided to choose a substring of the string $a$, then choose a substring of the string $b$ and concatenate them. Formally, he chooses a segment $[l_1, r_1]$ ($1 \leq l_1 \leq r_1 \leq n$) and a segment $[l_2, r_2]$ ($1 \leq l_2 \leq r_2 \leq n$), and after concatenation he obtains a string $a[l_1, r_1] + b[l_2, r_2] = a_{l_1} a_{l_1 + 1} \ldots a_{r_1} b_{l_2} b_{l_2 + 1} \ldots b_{r_2}$.
Now, Vasya is interested in counting number of ways to choose those segments adhering to the following conditions:
- segments $[l_1, r_1]$ and $[l_2, r_2]$ have non-empty intersection, i.e. there exists at least one integer $x$, such that $l_1 \leq x \leq r_1$ and $l_2 \leq x \leq r_2$;
- the string $a[l_1, r_1] + b[l_2, r_2]$ is equal to the string $s$.
The first line contains integers $n$ and $m$ ($1 \leq n \leq 500\,000, 2 \leq m \leq 2 \cdot n$) — the length of strings $a$ and $b$ and the length of the string $s$.
The next three lines contain strings $a$, $b$ and $s$, respectively. The length of the strings $a$ and $b$ is $n$, while the length of the string $s$ is $m$.
All strings consist of lowercase English letters.
Print one integer — the number of ways to choose a pair of segments, which satisfy Vasya's conditions.
Input
The first line contains integers $n$ and $m$ ($1 \leq n \leq 500\,000, 2 \leq m \leq 2 \cdot n$) — the length of strings $a$ and $b$ and the length of the string $s$.
The next three lines contain strings $a$, $b$ and $s$, respectively. The length of the strings $a$ and $b$ is $n$, while the length of the string $s$ is $m$.
All strings consist of lowercase English letters.
Output
Print one integer — the number of ways to choose a pair of segments, which satisfy Vasya's conditions.
Samples
6 5
aabbaa
baaaab
aaaaa
4
5 4
azaza
zazaz
azaz
11
9 12
abcabcabc
xyzxyzxyz
abcabcayzxyz
2
Note
Let's list all the pairs of segments that Vasya could choose in the first example:
- $[2, 2]$ and $[2, 5]$;
- $[1, 2]$ and $[2, 4]$;
- $[5, 5]$ and $[2, 5]$;
- $[5, 6]$ and $[3, 5]$;