[NFLSPC #6] 挑战停机问题

题目背景

作为新时代的 OIer/XCPCer,你已经不满足于挑战 NPC 问题了。你想挑战数学的不可判定性——图灵停机问题。

题目描述

图灵给了你一个程序。程序开始运行之初,有且仅有一个变量 $A$,初始值为 $0$。程序共有 $n$ 行,行号为 $1 \sim n$,每行是如下几种形式之一: - `A a`:令 $A \gets A + a$,然后执行下一行。 - `G x`:执行第 $x$ 行。 - `I l r x y`:如果 $A \in [l, r]$ 则执行第 $x$ 行,否则执行第 $y$ 行。 - `E`:直接结束程序。 保证最后一行是 `E`。 图灵希望你判断这个程序从第一行开始执行会不会结束。为了进一步检验你到底是不是真的会判定停机问题(还是装的?),图灵还要求你给出 $A$ 最终的值,如果程序不会结束且不存在一个时刻使得在其以后 $A$ 不再变化,则输出 `@Turing ?`。

输入输出格式

输入格式


本题多测。第一行一个正整数 $T$ 表示数据组数,对于每组数据: - 第一行一个整数 $n$,表示程序的行数。 - 接下来 $n$ 行,描述程序。

输出格式


对于每个询问,输出两行: - 第一行一个字符串 `Yes` 或 `No`,表示程序是否会结束。 - 第二行一个整数 $A_{0}$ 或字符串 `@Turing ?`,表示 $A$ 最终的值。

输入输出样例

输入样例 #1

3
5
I 1 7 1 3
G 4
A 2
G 2
E
6
A 2
I 2 3 5 1
E
G 4
A 1
E
4
A 1
G 1
E
E

输出样例 #1

No
2
Yes
3
No
@Turing ?

说明

对于所有数据,$1 \leq T \leq 1000$,$1 \leq n, \sum n \leq 10^5$,$1 \leq a \leq 10^9$,$0 \leq l \leq r \leq 10^9$,$1 \leq x, y \leq n$。保证输入涉及到的所有数字都是整数。 - 子任务 1(15 分):不存在 `I` 类语句。 - 子任务 2(20 分):$r \leq 100$。 - 子任务 3(40 分):$\sum \max r \leq 10^5$。 - 子任务 4(25 分):无特殊限制。 Source:NFLSPC #6 G by chenxia25