A13336. Concatenation with intersection
编程题
普及/提高-
知识点
题目描述
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$ .
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.
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.
输入输出样例
输入 #1
6 5 aabbaa baaaab aaaaa
输出 #1
4
输入 #2
5 4 azaza zazaz azaz
输出 #2
11
输入 #3
9 12 abcabcabc xyzxyzxyz abcabcayzxyz
输出 #3
2
说明/提示
Let's list all the pairs of segments that Vasya could choose in the first example:
1. $[2, 2]$ and $[2, 5]$ ;
2. $[1, 2]$ and $[2, 4]$ ;
3. $[5, 5]$ and $[2, 5]$ ;
4. $[5, 6]$ and $[3, 5]$ ;
1. $[2, 2]$ and $[2, 5]$ ;
2. $[1, 2]$ and $[2, 4]$ ;
3. $[5, 5]$ and $[2, 5]$ ;
4. $[5, 6]$ and $[3, 5]$ ;