Problem D: 程序分析P4

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:4 Solved:2

Description

程序分析技术是一种用于理解和改进计算机程序的方法。它可以帮助我们找出程序中的错误、提高程序的性能、优化代码结构等。其中,静态分析技术在不运行程序的情况下对程序代码进行分析。它可以检查代码的语法、风格、潜在错误等。例如,静态分析可以帮助我们找出程序中未使用的变量、可能的数组越界等问题。
小小设计了一个自己的编程语言,并命名为X语言。你能为它设计一个静态分析器吗?
X语言程序中只有两个整型变量x和y,且无需定义,可以直接使用。变量x的值从程序外输入(输入值可以是任何C++ int范围内的值),y的初始值是0。一个X语言程序由若干行组成,每行恰好包含一条命令,是以下三种命令之一:
1.
条件分支:if(条件){
2.对y赋值:y=数字;
3.条件结束:}
其中,“条件”要么是“x>数字”,要么是“x<数字”。赋值语句和条件中的“数字”都是1到1,000,000,000之间的常数。if和赋值的含义同C++语言中的条件和赋值语句。
请你编写一个静态分析器,分析一个X语言程序执行结束时,所有可能的y的值。

Input

输入数据第一行为整数n,代表程序的行数。
接下来n行,每行一个命令,描述了一个合法的X语言程序:输入的程序保证括号配对,且符合问题描述中的约定。为了便于大家解析(例如用cin或scanf读入),输入程序中的if后、{前、=、<、>左右都恰好有一个空格,行首可能有若干空格缩进。除此之外,输入不含多余的空格或空白字符。

Output

输出一行,从小到大不重复地输出程序结束时,变量y所有可能的值。数字之间由一个空格隔开。

HINT

样例输入1
10
if(x>1){
y=2;
if(x>10){
y=1;
y=4;
if(x<5){
y=3;
}
}
}
样例输出1
0 2 4
压缩包中包含更多的样例数据。
数据规模
对于100%的数据,满足n≤1,000。输入数据的每行都不超过1,000个字符。