#include<bits/stdc++.h>
using namespace std;
int x[200010];
struct kkk{
int s,e;
bool li,lo;
int fa,son;
}a[200010];
int len = 0,n;
int r = -1;
int main(){
scanf("%d",&n);
for(int i = 1;i <= n;++i){
a[i].fa = a[i].son = i;
scanf("%d",&x[i]);
if(x[i] != r){
r = x[i];
++len;
a[len].s = a[len].e = i;
a[len].li = 1;a[len].lo = 0;
continue;
}
if(x[i] == r){
a[len].e++;
}
}
int num = len;
while(num > 0){
for(int i = 1;i <= len;++i){
if((!a[i].lo)&&a[i].li){
printf("%d ",a[i].s++);
if(a[i].s > a[i].e){
num--;
a[i].li = 0;
a[i + 1].fa = i-1;
a[i - 1].son = i+1;
}
}
}
for(int i = len;i >= 1;--i){
if(a[i].li != 1){
if(a[i].son != i){
if(a[a[i].fa].li){
a[a[i].fa].son = a[i].son;
a[a[i].son].fa = a[i].fa;
}else{
a[a[i].son].lo = 0;
}
}
}else{
if(a[i].son != i){
a[a[i].son].lo = 1;
}
}
}
cout <<"\n";
}
return 0;
}