1704 未知数


Submit solution

Points: 100
Time limit: 2.0s
Memory limit: 32M

Problem types
Allowed languages
C, C++, Java, Python

Description

有这样的 n 个未知数 X0, X1, … , Xn – 1 ,对于它,我们能进行两种查询,一种是直接询问 Xi 等于多少,另一种是询问 Xi - Xj 等于多少。现在,假设我们现在在交谈,我将跟你说 q 句话,每句话有以下三种形式:

1、I p v :告诉 Xp 的值是 v ;

2、I p q v :告诉你 Xp - Xq 等于 v ;

3、Q o1 p1 o2 p2 … ok pk : 请你回答 o1 Xp1 o2 Xp2 … ok Xpk 的值是多少,其中 o1 o2 … ok 是 + 或 - ,且 1 <= k <= 15 。

其中前两种是信息,后一种是询问。

Input

有多组数据,每组数据第一行为两个正整数 n q (1 <= n <= 20000, 1 <= q <= 40000) ,接下来 q 行信息。输入数据中所有整数的绝对值小于等于 100000 。最后一行 0 0 表示输入数据结束。

Output

每组数据第一行是 Case #: ,其中 # 表示数据的序号。接下来对于每个询问输出一个结果,若无法解答则输出 I don't know.,若中途读到一条信息与前面的信息冲突,则输出 The first # facts are conflicting. ,其中 # 表示信息的条数。遇到冲突,则该组数据中,之后的话都应不予理会。每组数据结束后输出一个空行。

Sample

Input

4 7
I 0 1
Q + 0
Q + 1 + 2 + 3
I 3 0 3
Q + 3
I 1 2 -1
Q - 0 + 1 - 2
6 8
I 1 2 7
Q + 2
I 5 4 3
Q + 2 + 5 - 4 - 1
I 2 4 -10
I 1 5 6
I 4 6
Q + 1 + 5
0 0

Output

Case 1:
1
I don't know.
4
-2

Case 2:
I don't know.
-4
The first 4 facts are conflicting.

Source: ycc


Comments

There are no comments at the moment.