题库练习 Three strings
← 上一题 下一题 →

A9472 | Three strings

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

You are given three strings $(s_{1},s_{2},s_{3})$ . For each integer $l$ $(1<=l<=min(|s_{1}|,|s_{2}|,|s_{3}|)$ you need to find how many triples ( $i_{1},i_{2},i_{3}$ ) exist such that three strings $s_{k}[i_{k}...\ i_{k}+l-1]$ $(k=1,2,3)$ are pairwise equal. Print all found numbers modulo $1000000007 (10^{9}+7)$ .

See notes if you are not sure about some of the denotions used in the statement.

输入格式

First three lines contain three non-empty input strings. The sum of lengths of all strings is no more than $3·10^{5}$ . All strings consist only of lowercase English letters.

输出格式

You need to output $min(|s_{1}|,|s_{2}|,|s_{3}|)$ numbers separated by spaces — answers for the problem modulo $1000000007 (10^{9}+7)$ .

输入输出样例

输入 #1
abc
bc
cbc
输出 #1
3 1 
输入 #2
abacaba
abac
abcd
输出 #2
11 2 0 0 
C++ 编辑器
输入
输出