普及⏱ 1000ms💾 256MB#P5091

题目描述

车厢按 $1..n$ 的顺序驶入一条单向轨道,可随时推入一个侧线栈或从栈顶弹出驶向目标方向。给定目标出站序列(是 $1..n$ 的排列),判断能否实现;能则输出字典序最小的操作序列(每步一行 pushpop;在必须 pop 前尽量先 pop)。

输入格式

第一行整数 $n$;第二行 $n$ 个整数为目标序列。

输出格式

不可能输出 impossible;否则每行一个操作,共 $2n$ 行。

数据范围

$$1 \le n \le 2000$$

样例输入 #1
1
1
样例输出 #1
push
pop
样例输入 #2
2
2 1
样例输出 #2
push
push
pop
pop