CF955D Scissors
题目描述
Jenya 最近获得了一个非常有用的工具——$k$-剪刀,用于裁剪字符串。这种剪刀通常用于从一个任意字符串 $s$ 中剪出两个长度为 $k$ 且不交的子串(要求 $s$ 的长度至少为 $2 \cdot k$),然后将它们按原顺序拼接起来。例如,使用 $2$-剪刀可以从字符串 $abcde$ 中剪出 $ab$ 和 $de$,拼接得到 $abde$,但不能剪出 $ab$ 和 $bc$,因为它们相交了。
为了在实际使用前测试这个工具,Jenya 找到了两个字符串 $s$ 和 $t$。他想知道是否可以对 $s$ 使用剪刀,使得拼接后的结果包含 $t$ 作为子串。
输入格式
第一行包含三个整数 $n$, $m$, $k$ $(2 \leq m \leq 2 \cdot k \leq n \leq 5 \cdot 10^5)$——分别表示 $s$ 的长度、$t$ 的长度以及剪刀的参数 $k$。
接下来两行分别为字符串 $s$ 和 $t$,均由小写拉丁字母组成。
输出格式
如果无解,输出 No。
否则输出 Yes 以及两个整数 $L$ 和 $R$,表示剪出的两个子串的起始位置(从 $1$ 开始计数)。如果有多种答案,输出任意一种即可。
说明/提示
在第一个样例中,可以剪出起始位置为 $1$ 和 $5$ 的两个子串。拼接后的字符串为 baaaab,其中包含 aaaa 作为子串。
在第二个样例中,拼接后的字符串为 bccb。
翻译由 DeepSeek R1 完成