#P8112. [Cnoi2021] 符文破译

    ID: 7043 Type: RemoteJudge 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: 5 Uploaded By: Tags>字符串贪心2021O2优化KMP

[Cnoi2021] 符文破译

题目背景

Cirno 想要解读一本古老的魔法书。

题目描述

为了保护魔法书中记载的禁忌的魔法,撰写者将符咒的魔法词缀不加空格地连接在一起,形成一个符文串,记作 S\texttt{S}

而构成符文串的所有魔法词缀都被记载在更远古的先知所编写的魔法辞典中,记作 T\texttt{T}。具体地,T\texttt{T} 的所有非空前缀均是一个合法的魔法词缀。

简洁是魔法书撰写的第一要务,所以使用的魔法词缀应该尽可能少。所以在破译魔法书时,将 S\texttt{S} 分解成的魔法词缀数越少,破译正确的可能性就越高。

Cirno 想知道,这本魔法书最少的魔法词缀划分段数是多少。

特别地,如果不存在一种合法的划分方案,则表明这本魔法书是假的。Cirno 将得到一个字符串 Fake

输入格式

第一行,两个整数,表示 T|\texttt{T}|S|\texttt{S}|

第二行,一个字符串 T\texttt{T}

第三行,一个字符串 S\texttt{S}

输出格式

一行,一个整数或一个字符串 Fake,表示答案。

3 5
aba
abaab
2
3 5
aba
ababa
2
3 5
aba
abbaa
Fake

提示

数据范围与约定

对于 100%100\% 的数据,保证 1S,T1071\le |\texttt{S}|,|\texttt{T}|\le 10^7,$\texttt{S}_x,\texttt{T}_x \in [\texttt{a},\texttt{z}]$。

子任务

Subtask1(1010 points):Tx=a\texttt{T}_x=\texttt{a}

Subtask2(2020 points):S1000|\texttt{S}|\le1000

Subtask3(3030 points):S106|\texttt{S}|\le 10^6

Subtask4(4040 points):无特殊限制。