U468476 神机(easy ver.)
题目背景
出题人:[Zskioaert1106](https://www.luogu.com.cn/user/1072502)
验题人:[Bright12077](https://www.luogu.com.cn/user/533708)
~~小 L 就是个人机~~,但是他数学很好,所以被尊称为“人机妙算”。
计算机是当之无愧的“神机”,可惜它只会速算,所以最多算是“神机速算”。
为了帮助计算机达成“神机妙算”的称号,你需要帮助计算机分析一段程序,~~这样我们就彻底摆脱小 L 这个人机了~~。
题目描述
计算机使用的编译环境共有以下几种指令:
1. `start`,代表一段函数体的开始。
2. `?=in`,代表将某个变量赋值为输入。
3. `out?`,代表输出某个变量。
4. `a=b`,代表将变量 `b` 赋值给变量 `a`。
5. `a->b`,代表在下一次针对变量 `a` 的赋值操作(`a` 位于操作 2、4 或 5 的第一项)之前,`a` 的值始终为不断变化的 `b`。
6. `for?`,代表将后面紧接着的一段函数体执行 `?` 遍,`?` 处只会是已经声明的变量。
7. `end`,代表一段函数体的结束。
计算机的编译环境保证以下要求:
- 变量名只会是 `a` 到 `z` 的一位小写字母,至多有 $26$ 个变量。
- `for` 指令的下一条一定跟 `start`。
- `for` 指令的次数值固定,不受循环中改变的影响。
- `start` 与 `end` 的搭配遵循就近原则。
- 若要求输出的变量未定义,将会输出 `None`。
- 每个指令后跟一个 `;`。
- 第一条指令保证为 `start`,末指令不保证为 `end`,但第一行的 `start` 代表主函数,主函数结束后的指令会被忽略。
- 数据中不存在指向环一类的情况。
输入格式
一行字符串,构成一个保证合法的程序。
若一条为 `in` 指令,则下一条为输入的值。
__此题作为 easy ver. 的原因是,循环内保证没有 `in` 指令。__
显然输入中不含空格。
输出格式
每遇到 `out` 指令就按要求输出,每次输出换行。
说明/提示
### 样例解释
(更好的阅读体验——换行版样例):
#### #1 样例解释
```
start;
a = in;
114514;
k = in;
1919810;
i = a;
out o;
out i;
b = in;
3;
a -> b;
for b;
start;
out a;
b = k;
end;
end;
out k;
```
对于第一行输出,变量 `o` 并未被定义,所以输出 `None`;
对于第二行输出,变量 `i` 被赋值为 `a`,因此输出 `a` 的值;
对于第三行输出,`a` 的值始终追随 `b`,此时 `b` 的值为输入的 `3`;
对于第四、五行输出,`b` 的值被赋值为 `k`,`a` 追随 `b`,所以输出 `k` 的值。
对于最后一条的 `outk` 指令,由于主函数在上一条结束,所以将这一指令忽略。
#### #2样例解释
```
start;
a->b;
a=in;
114514;
outb;
end;
```
`b` 的值自始至终没有被定义,所以输出 `None`。
### 数据范围与约定
总指令数不超过 $2\times10^3$。所有输入的值均为 int 范围内的**非负整数**,每个指令被执行的次数均不会超过 $10^5$。
对于 $20\%$ 的数据,没有循环;
对于 $50\%$ 的数据,只有小于等于一重的循环;
对于 $100\%$ 的数据,不超过十重循环。