你并没有被直接给出 $n$ 个小于 $2^{20}$ 的非负整数 $X_0, X_1, \dots, X_{n-1}$,但它们确实存在,且它们的值永远不会改变。
我将逐渐提供一些关于它们的已知事实,并向你提出一些问题。
共有两种事实和一种问题:
| 格式 | 含义 |
|---|---|
I p v |
我告诉你 $X_p = v$ |
I p q v |
我告诉你 $X_p \oplus X_q = v$ |
Q k p1 p2 … pk |
请告诉我 $X_{p_1} \oplus X_{p_2} \oplus \dots \oplus X_{p_k}$ 的值 |
输入格式
最多包含 10 组测试数据。每组数据以两个整数 $n$ 和 $Q$ 开头($1 \le n \le 20,000$,$2 \le Q \le 40,000$)。接下来的每一行包含一个事实或一个问题,格式如上所述。问题中的参数 $k$ 是一个不大于 15 的正整数,事实中的参数 $v$ 是一个小于 $2^{20}$ 的非负整数。最后一组数据后会有 $n=Q=0$,该行不应被处理。
输出格式
对于每组测试数据,首先在单独的一行中打印用例编号,然后逐行打印每个问题的答案。如果你无法根据该问题之前我提供的事实推导出答案,请打印 "I don't know."(不含引号)。如果第 $i$ 个事实(不计问题)与之前的所有事实不一致,请打印 "The first i facts are conflicting.",然后忽略该用例后续的所有内容(包括事实和问题)。在每组测试数据的输出之后打印一个空行。
样例
输入 1
2 6 I 0 1 3 Q 1 0 Q 2 1 0 I 0 2 Q 1 1 Q 1 0 3 3 I 0 1 6 I 0 2 2 Q 2 1 2 2 4 I 0 1 7 Q 2 0 1 I 0 1 8 Q 2 0 1 0 0
输出 1
Case 1: I don't know. 3 1 2 Case 2: 4 Case 3: 7 The first 2 facts are conflicting.