清楚姐姐的学术群
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

清楚姐姐有一个学术群,为了使这个群有学术的风气,她建立了一些群规。

这个学术群有 n 个人,编号

总共发了 m 条消息。

以及两个参数 a,b

每条消息由一个人发出来的,且分为水和不水。

如果在某一条消息,它以及它之前的 a-1 条消息(共 a 条消息)都是在水(不管是不是同一个人发的),那么发这条消息的人就会受到神秘惩罚。

如果一个人,在任意一条消息之前,他发的最后 b 条消息(包括这条)都是在水,那么这个人也要受到神秘惩罚。

现在树剖姐姐想要知道,有哪些人会受到神秘惩罚。

输入描述:

第一行,四个正整数n,m,a,b 

后面 m 行,每行两个整数,表示一条消息。

p_i表示第 p_i 个人发消息的,表示这条消息是在水,表示这条消息不是在水。

输出描述:

第一行一个数x,表示有x个人受到了神秘惩罚。

第二行x个数,从小到大排列,输出所有受到神秘惩罚的人的编号。

如果没有人收到神秘惩罚,只用输出 0
示例1

输入

复制
5 9 3 2
1 1
2 1
3 1
4 1
3 0
1 0
1 1
5 1
2 1

输出

复制
3
2 3 4
示例2

输入

复制
2 3 2 2
1 0
2 0
1 0

输出

复制
0