小Q最近学习了KMP算法, 这是一个很厉害的字符串算法: 如果给定字符串

和

, 那么通过KMP可以在线性的时间内算出

在

中所有出现的位置. 不妨设

,

, 并规定角标从

开始计数, 那么

在

中所有的出现位置构成的集合可以表示为

.
将上述集合记为
)
, 那么
)
可能为空, 也可能包含很多个区间, 且还可能存在一个角标

被
)
里的多个区间覆盖. 例如上述例子中

和

都被两个区间覆盖; 但当

,

时,
)
里有

个区间, 且角标

被
)
里面

个区间覆盖.
小Q不喜欢重复度很高的区间, 他希望找到一个
)
的子集

, 使得对于每个角标

,

至多被

里面至多

个区间覆盖. 但小Q又特别喜欢很大的集合, 因此他想知道

的最大值. 痴迷于出题的小Q想让你来帮他算出这个结果.