Problem2893--铁轨[Tails,UVa514]

2893: 铁轨[Tails,UVa514]

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 0  Solved: 0
[Status] [Submit] [Creator:]

Description

PopPush城市有一座著名的火车站。这个国家到处都是丘陵。而这个火车站是建于上一个世纪。不幸的是,那时的资金有限。所以只能建立起一条路面铁轨。而且,这导致这个火车站在同一个时刻只能一个轨道投入使用,因为它缺少空间,两列火车将无路可走。具体看下图。

当地的惯例是每一列火车从A方向驶向B方向时候,会用某种方式将车厢重组。假设火车将要到达A方向,拥有N个车厢(N<=1000),这些车厢按照递增顺序标记为1到N。
为了重组车厢,要求按照特定的顺序进入B方向的铁轨,驶出车站。你可以借助中转站C,C是一个可以停放任意多节车厢的车站,但是由末端封顶,驶入C车站的车厢必须按照相反的顺序驶出C(后进先出),对于每个车厢,一旦从A进入C,就不能再回到A,一旦从C驶入B就不能再回到C。
现在你需要判断火车是否能够按照某种特定的顺序进入B方向的铁轨驶出车站。例如上图,出站顺序(5 4 1 2 3)是不可能的,但(5 4 3 2 1)是可能的。

Input

输入由多个数据集组成,
每一个数据集的第一行是一个整数N,表示车厢的数量,中间有多行,每一行表示一个被要求重组后的车厢序列,每一个数据集的最后一行是一个数字0,表示此数据集结束。
最后一个数据集只有一个0,表示测试数据结束。

Output

针对每组测试数据,输出多行,与输入数据中的多行重组车厢序列一一对应,如果这行车厢序列能够实现,则输出Yes,否则输出No
针对多组测试数据的输出,以一个空行隔开

Sample Input Copy

5
1 2 3 4 5
5 4 1 2 3
0
6
6 5 4 3 2 1
0
0

Sample Output Copy

Yes
No


Yes

Source/Category

 UVA level5