Spies vs. Spies 是一款大型团体游戏。每个队伍恰好由两名玩家组成:一名间谍(spy)和一名联络员(handler)。间谍们被放置在游戏区域的整数坐标点 $(x, y)$ 上,我们将该区域视为一个笛卡尔坐标系。
一个回合中,某支队伍的联络员会指示他们队伍的间谍向四个基本方向之一看去:北(N)、南(S)、东(E)或西(W)。这里,北指的是 $y$ 轴正方向。
该队伍的间谍将从他们所在的位置仔细观察该方向。他们在该方向上看到的所有间谍都将被淘汰。具体来说,当位于 $(x, y)$ 的间谍 $i$ 向四个方向之一看去时,他们只能看到恰好位于从 $(x, y)$ 出发并沿间谍 $i$ 观看方向延伸的射线上的其他间谍。例如,如果位于 $(5, 7)$ 的间谍向北(N)看,他们只能看到坐标为 $(5, y)$ 且 $y > 7$ 的其他间谍。被淘汰的间谍将按照距离间谍 $i$ 的位置由近及远的顺序被淘汰。
你正在审查在一系列回合中给出的指令记录。请确定在每个回合中哪些间谍被淘汰了。
三个间谍的初始布局以及每条指令执行结果的示意图。灰色圆圈表示该间谍尚未被淘汰,白色圆圈表示该间谍在此回合或更早的回合已被淘汰。
输入格式
第一行包含两个整数 $N$($1 \le N \le 300\,000$)和 $M$($1 \le M \le 300\,000$),分别表示队伍的数量和回合数。队伍编号为 $1$ 到 $N$。
接下来的 $N$ 行,第 $i$ 行包含两个整数 $x_i, y_i$($-10^9 \le x_i, y_i \le 10^9$),表示第 $i$ 支队伍的间谍的位置。没有两个间谍会在同一个位置。
接下来的 $M$ 行,第 $i$ 行包含一个整数 $t_i$($1 \le t_i \le N$)和一个方向 N、S、E 或 W。这表示第 $t_i$ 支队伍的联络员指示他们的间谍向该方向看。
输出格式
为每条指令输出一行。对于第 $i$ 行,如果第 $t_i$ 支队伍的间谍在之前的回合中已被淘汰,则输出 ignore。否则,输出被淘汰的间谍数量,后跟所有被淘汰间谍的队伍编号列表,按它们被淘汰的顺序排列。
样例
输入样例 1
3 6 0 0 1 2 1 0 1 N 3 W 1 E 2 S 2 E 3 N
输出样例 1
0 1 1 ignore 1 3 0 ignore
输入样例 2
5 4 0 0 1 0 2 0 3 0 4 0 5 N 4 E 3 W 4 W
输出样例 2
0 1 5 2 2 1 1 3