#include<bits/stdc++.h>
using namespace std;
const int N=2e5+100;
int n,a[N],b[N],k;
queue<int> q[N];
template<typename T> void read (T&x)
{
char c;
int sign=1;
x=0;
do{
c=getchar();
if(c=='-') sign=-1;
}
while(c>'9'||c<'0');
do{
x=x*10+c-'0';
c=getchar();
}
while(isdigit(c));
x*=sign;
}
int main()
{
read(n);
for(int i=1;i<=n;i++) read(a[i]),b[i]=i;
q[++k].push(b[1]);
for(int i=2;i<=n;i++)
{
if(a[i]==a[i-1]) q[k].push(b[i]);
else q[++k].push(b[i]);
}
while(n!=0)
{
for(int i=1;i<=k;i++)
{
if(!q[i].empty())
{
cout<<q[i].front()<<" ";
q[i].pop();
n--;
}
}
cout<<endl;
}
return 0;
}