#include<bits/stdc++.h>
using namespace std;
struct node{
int v,nx,p;
}a[200005];
int n,h=1;
int main(){
scanf("%d",&n);
for (int i=1;i<=n;i++) {
scanf("%d",&a[i].v);
a[i].p=i-1;
if (i!=n) a[i].nx=i+1;
else a[i].nx=-1;
}
while (1){
int q=-1;
if (h==-1) break;
for (int i=h;i!=-1;i=a[i].nx) {
if (q!=a[i].v){
q=a[i].v;
if (i==h) {
h=a[i].nx;
}else {
if (a[i].nx==-1) {
a[a[i].p].nx=-1;
}else {
a[a[i].nx].p=a[i].p;
a[a[i].p].nx=a[i].nx;
}
}
printf("%d ",i);
}
}
printf("\n");
}
return 0;
}