现在我们有两个栈 和 ,和下面四个操作。现在有一个未经排序的由1~N组成的序列,请利用这两个栈和四个操作,将他们由小到大输出。
操作 :将第一个元素压入栈 。
操作 :将 栈顶元素弹出至输出序列。
第一行,一个正整数N。
第二行,N个用空格隔开的正整数,为一个未经排序的由1~N组成的序列。
共一行,如果输入的序列不可被由小到大输出,输出0。
否则输出字典序最小的操作序列,每两个操作之间用空格隔开,行尾没有空格。
例如:如果有a b a b和a b c d两种可行的操作,则输出a b a b。
4 1 3 2 4
a b a a b b a b
4 2 3 4 1
0
3 2 3 1
a c a b b d