程序行若以 F 开头,表示进入一个循环,之后有空格分离的三个字符(串)i x y,其中 是一个小写字母(保证不为 n ),表示新建的变量名, 和 可能是正整数或 n ,已知若为正整数则一定小于 。
注意在第 10 组数据中可能存在变量名为 n 的情况,这与之前的描述不符。
程序行若以 E 开头,则表示循环体结束。
输出格式
输出文件共 行,对应输入的 个程序,每行输出 Yes 或 No 或者 ERR,若程序实际复杂度与输入给出的复杂度一致则输出 Yes,不一致则输出 No,若程序有语法错误(其中语法错误只有: 1. F 和 E 不匹配;2. 新建的变量与已经存在但未被销毁的变量重复两种情况),则输出 ERR。
注意:即使在程序不会执行的循环体中出现了语法错误也会编译错误,要输出 ERR。
样例
样例输入
8
2 O(1)
F i 1 1
E
2 O(n^1)
F x 1 n
E
1 O(1)
F x 1 n
4 O(n^2)
F x 5 n
F y 10 n
E
E
4 O(n^2)
F x 9 n
E
F y 2 n
E
4 O(n^1)
F x 9 n
F y n 4
E
E
4 O(1)
F y n 4
F x 9 n
E
E
4 O(n^2)
F x 1 n
F x 1 10
E
E
样例输出
Yes
Yes
ERR
Yes
No
Yes
Yes
ERR
样例说明
第一个程序 从 到 是常数复杂度。
第二个程序 从 到 是 的一次方的复杂度。
第三个程序有一个 F 开启循环却没有E结束,语法错误。
第四个程序二重循环, 的平方的复杂度。
第五个程序两个一重循环, 的一次方的复杂度。
第六个程序第一重循环正常,但第二重循环开始即终止(因为 远大于 , 大于 )。
第七个程序第一重循环无法进入,故为常数复杂度。
第八个程序第二重循环中的变量 与第一重循环中的变量重复,出现语法错误②,输出 ERR。
数据范围与提示
对于 的数据:不存在语法错误,数据保证小明给出的每个程序的前 行一定为以 F 开头的语句,第 行至第 行一定为以 E 开头的语句,,若 均为整数, 一定小于 ,且只有 有可能为 n。