#970. 围圈传球

围圈传球

T3 围圈传球

时间:1s1s

空间:256M256M

题目描述

WW 决定和他的朋友们一起玩个游戏。nn 个人围成一圈。

nn 个人按照顺时针的方向从 11 编号到 nn

一开始,球在第 xx 个人手中,然后不断地进行顺时针或者逆时针传递。

每次传递规定顺时针或者逆时针,和传递的距离。

例如:如果有 77 个小朋友玩这个游戏,现在球到第 22 个小朋友手中,选择顺时针传递 55 的距离,那么球就到编号为 77 的小朋友手中;选择逆时针传递 55 的距离,那么球就到编号为 44 的小朋友手中。

img

游戏将进行 mm 轮(进行 mm 次传递),但是 小WW 只记得传递的距离和 一些 传递的方向。

请问进行了 mm 轮传递之后,球到了谁的手中,需要输出所有的可能性。

输入格式

第一行包含三个正整数 n,m,x (1xn)n,m,x\ (1\le x \le n),分别表示小朋友的数量、传递的次数、球一开始在谁手中。

接下来 mm 行包含每次传递的信息,每行包括一个整数 ri (1rin1)r_i\ (1\le r_i\le n-1),表示第 ii 次传递的距离;以及一个符号 cic_i ,可以是 "00"、"11"、"??":

  • 如果 ci=c_i = '00',则第 ii 次是顺时针传递的
  • 如果 ci=c_i = '11',则第 ii 次是逆时针传递的
  • 如果 ci=c_i = '??',则第 ii 次是忘记了传递方向的,可以是顺时针或逆时针

输出格式

在第 11 行输出游戏结束之后,球可能在哪些小朋友手中的数量 kk

在下一行中,输出 kk 个数字,可能在哪些小朋友手中的具体小朋友编号。(升序输出)

样例

6 3 2
2 ?
2 ?
2 ?
3
2 4 6
5 3 1
4 0
4 1
1 0
1
2
10 7 4
2 ?
9 1
4 ?
7 0
2 0
8 1
5 ?
4
3 5 7 9

样例提示

样例 11: 三次都是顺时针,最终球到编号 22;顺时针、逆时针、顺时针,最终球到编号 44;顺时针、逆时针、逆时针,最终球到编号 66。能求得,最终球只能在这几个编号的小朋友手中。

样例 22:按照每一轮进行模拟即可,最终球只能在编号为 22 的小朋友手中。

数据范围

对于全部数据 1n,m1041\le n,m\le10^41rin11\le r_i\le n-11xn1\le x\le n

测试点 nmn,m \leq 特殊性质
141\sim 4 100100 cic_i 不为 '??',即每轮传递方向确定
5105\sim 10 500500 cic_i 为 '??' 的个数不大于2020
111511\sim 15 21032*10^3
162016\sim 20 10410^4