'''如果栈顶元素大于 第i项到第n项的最大值,说明如果让这个元素出栈此时的字典序肯定会更大。
如果栈顶元素小于 第i项到第n项的最大值,那就让该元素入栈,因为让大的先出栈总总能保证字典序最大'''

n = int(input())
p = list(map(int,input().split()))
imax = p.index(max(p))
pre = p[:imax]
aft = p[imax+1:]
s = [p.pop(imax)]
while len(aft)>0:
    a = aft.pop(0)
    if len(aft)==0:
        s += [a]
    else:
        if a>max(aft):
            s += [a]
        else:
            pre += [a]
s += pre[::-1]
print(' '.join(map(str,s)))