#P5731. 牛的模式匹配

牛的模式匹配

题目描述

约翰的N(1{N(1≤}N{N≤}100000){100000)}只奶牛中出现了K(1{K(1≤}K{K≤}25000){25000)}只爱惹麻烦的坏蛋.奶牛们按一定的顺序排队的时候,这些坏蛋总会站在一起.

为了找出这些坏蛋,约翰让他的奶牛排好队进入牛棚,同时需要你的慧眼来识别坏蛋,为了区分,约翰给所有奶牛都发了号牌,上面写着一个1...{1...}S(1{S(1≤}S{S ≤}25){25)}之间的数字.虽然这不是一个完美的方法,但也能起一点作用.现在,约翰已经不记得坏蛋们的具体号码.但是凭他的记忆,他给出一个"模式串".原坏蛋的号码如果相同,模式串中他们的号码依然相同.

模式串中坏蛋们之间号码的大小关系也与原号码相同的.比如,对于这样一个模式串:1,4,4,3,2,1{1,4,4,3,2,1 }。原来的6{6}只坏蛋,排最前面的与排最后的号码相同(尽管 不一定是1{1}),而且他们的号码在团伙中是最小的.第2{2,}3{3}位置的坏蛋,他们的号码也相同(不一定是4{4}),且是坏蛋团伙中最大的.

现在所有奶牛排成队列,号码依次是这样: 5{5,}6{6,}2{2,}10{10,}10{10,}7{7,}3{3,}2{2,}9{9}存在子串2{2 ,}10{10,}10{10,}7{7,}3{3,}2{2,}满足模式串的相同关系和大小关系,所以这就是坏蛋团伙, 请找出K{K}个坏蛋的困伙的所有可能性.

输入格式

1{1}行输入三个整数N{N,}K{K,}S{S}

接下来N{N}行每行输入一只牛的号码.接下来K{K}行每行输入一个模式串的号码.

输出格式

1{1}行输出一个整数B.{B.}接下来B{B}行,每行一个整数,表示一种可能下的坏蛋团伙的起始位置.

样例

输入样例

9 6 10
5
6
2
10
10
7
3
2
9
1
4
4
3
2
1

输出样例

1
3

提示

输入详细信息:

样本输入对应于问题陈述中给出的示例。

输出详细信息:

只有一个匹配,在FJ{FJ}N{N}头奶牛序列中的位置3{3}处。