CF727E Games on a CD

题目描述

已知 $g$ 个长度为 $k$ 互不相同的字符串 $r[1..g] $ 和一个长度为 $n \times k$ 的环形字符串 $s$,问是否能从 $r[1..g]$ 中选出 $n$ 个组成字符串 $s$。如果能,则输出 $\tt{YES}$,并在第二行按在 $s$ 中的顺序输出对应的 $r$ 的编号,否则输出 $\tt{NO}$。每个模式串只能用一次。

输入格式

输入的第一行包含两个正整数 $n$ 和 $k$($1 \le n \le 10^5,1 \le k \le 10^5$) 输入的第二行包含一个由小写英文字母组成的环形字符串。字符串的长度为 $n \times k$。 保证长度不大于 $10^6$。 输入的第三行包含一个正整数 $g$($n \le g \le 10^5$)。 确保这些字符串长度之和不超过 $2 \times 10^6$。 接下来的 $g$ 行中的每一行都包含一个字符串-每个字符串由小写英文字母组成,长度为 $k$。 保证是唯一的。

输出格式

如果能,则输出 $\tt{YES}$,并在第二行按在 $s$ 中的顺序输出对应的 $r$ 的编号,否则输出 $\tt{NO}$。