#3633. Petr# 语言

Petr# 语言

题目描述

很久以前,Petya 还是个小学生,他对 Petr# 语言的语法非常着迷。有一节课,Petya 对下面的问题产生了兴趣:给定的字符串 tt 有多少个不同的连续子串以 sbegins_{begin} 开头、以 sends_{end} 结尾(允许 sbegin=sends_{begin} = s_{end})?两个子串不同当且仅当它们的内容不同,出现的位置无关紧要。Petya 数学不太好,算不出这个数。请帮帮他!

输入格式

输入由三行组成。第一行是字符串 tt,第二行和第三行分别是标识符 sbegins_{begin} 和 sends_{end}。三行都是非空的、由小写拉丁字母组成的字符串,每个字符串的长度都不超过 2000。

输出格式

输出一个数——字符串 tt 中以 sbegins_{begin} 开头、以 sends_{end} 结尾的不同子串个数。

round
ro
ou
1
codeforces
code
forca
0
abababab
a
b
4
aba
ab
ba
1

说明/提示

第三组样例中恰有四个满足条件的不同子串:ab、abab、ababab、abababab。

第四组样例中两个标识符有交叠。