Problem1674--栈--洗盘子3

1674: 栈--洗盘子3

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

Description

皮皮又在清洗餐盘!
这次为了让餐盘的清洗工作尽快结束,当待清洗的餐盘大于等于 3 时,皮皮会一次清洗两个餐盘!
开始时,没有待清洗餐盘,之后会发生两种事件:
1.新餐盘加入:我们读入一个正整数 a 时,表示编号为 a 的餐盘放在餐盘顶端;
2.清洗餐盘:我们读入一个 0 时,若待清洗餐盘数不小于 3,则先清洗排在顶端的两个餐盘,否则只清洗顶端的一个餐盘。
两种事件一共发生了 n 次,请输出每次清洗的餐盘编号吧!




Input

输入共 2 行:
第 1 行,一个正整数 n,为事件发生了次数;
第 2 行,n 个非负整数 若 ai > 0,事件是 ai 号餐盘放在餐盘顶端;若 ai = 0,事件是清洗排在顶端的 1~2 个餐盘

Output

每当排在顶端的餐盘清洗时,输出它的编号,空格分隔

Sample Input Copy

8
1 2 3 0 4 0 5 6

Sample Output Copy

3 2 4

HINT

输入样例2
5
3 2 1 0 0 
输出样例2
1 2 3

Source/Category

 提高A