#include<bits/stdc++.h>
#include<vector>
#define ll long long
#define maxn 200010
using namespace std;
int res,n,a,last,tot,ln,li,p[maxn],num[maxn],st;
int qian[maxn],hou[maxn];
vector<int>d[maxn];
bool out[maxn];
int main(){
scanf("%d",&n);
last=2;
for (int i=1;i<=n;++i) {
scanf("%d",&a);
if (a!=last) num[++tot]=a,last=a;
d[tot].push_back(i);
}
res=n;st=1;
while (res>0){
for (int i=1;i<=tot;++i) {
if (out[i]) continue;
printf("%d ",d[i][p[i]]);
p[i]++;res--;
if (!res) break;
if (p[i]>=d[i].size()) out[i]=true;
}
printf("\n");
li=0,ln=2;
for (int i=1;i<=tot;++i) {
if (out[i]) continue;
if (num[i]==ln) {
out[i]=true;
for (int j=p[i];j<d[i].size();++j) d[li].push_back(d[i][j]);
}
else {
li=i;ln=num[i];
}
}
}
return 0;
}