#include<bits/stdc++.h>
using namespace std;
int n;
struct lis{
int x,pre,nex,f;
lis(){};
lis(int a,int b,int c):x(a),pre(b),nex(c){};
}t[200005];
int main(){
scanf("%d",&n);
for(int i = 1;i<=n;i++){
int tmp; scanf("%d",&tmp);
t[i]=lis(tmp,i-1,i+1);
t[i].f=1;
}
t[1].pre=n,t[n].nex=1;
int num=n,p=1;
while(num){
int m=0;
printf("%d ",p);
int pr=t[p].pre,ne=t[p].nex;
t[pr].nex=ne,t[ne].pre=pr; t[p].f=0;
num--;
int index=t[p].nex;
m=0;
while(t[index].x==t[p].x){
m++;
if(m==n) break;
if(index<p) break;
index=t[index].nex;
if(index==t[index].nex) break;
}
if(m==n) break;
if(index==t[index].nex) break;
if(p>index) cout<<endl;
p=index;
}
int z=p;
for(int i = 1;i<=n;i++) {
if(t[i].f==1)
{
if(t[z].x==t[i].x) cout<<endl; cout<<i<<" ";
}
}
}