#include<bits/stdc++.h>
using namespace std;
int n,p[300005],num[300005],q[300005];
bool flag[300005];
int main() {
cin>>n;
for(int i=1; i<=n; i++) {
cin>>p[i];
num[p[i]]=i;
}
int cnt=num[1];
int count=1;
for(int i=1; i<=n; i++) {
if(!flag[i]){
q[count++]=i;
cnt=num[i];
flag[i]=true;
}
if(p[cnt+1]>p[cnt-1] && !flag[p[cnt+1]]) {
q[count++]=p[cnt+1];
flag[p[cnt+1]]=true;
cnt=cnt+1;
while(p[cnt+1]>p[cnt] && !flag[p[cnt+1]]){
q[count++]=p[cnt+1];
flag[p[cnt+1]]=true;
cnt=cnt+1;
}
} else if(p[cnt+1]<p[cnt-1] && !flag[p[cnt-1]]) {
q[count++]=p[cnt-1];
flag[p[cnt-1]]=true;
cnt=cnt-1;
while(p[cnt-1]>p[cnt]&& !flag[p[cnt-1]]){
q[count++]=p[cnt-1];
flag[p[cnt-1]]=true;
cnt=cnt-1;
}
}
}
for(int i=1;i<=n;i++)cout<<q[i]<<" ";
return 0;
}