#include<bits/stdc++.h>
using namespace std;
int arr[200011],arr1[200011]={1};
int m[200011];
int l[200011];
inline int read(){
int x=0,f=1;char s=getchar();
while(s<'0'||s>'9'){if(s=='-')f=-1;s=getchar();}
while(s>='0'&&s<='9') x=x*10+s-'0',s=getchar();
return x*f;
}
inline void write(int x){
if(x<0) putchar('-'),x=-x;
if(x>9) write(x/10);
putchar(x%10+'0');
}
int main(){
int n;
n=read();
for(int i=0;i<n;i++){
arr[i]=read();
}
bool flag=1;
int last=arr[0];
write(1);
putchar(' ');
int j=0;
int cnt=0;
while(flag){
flag=0;
for(int x=j;x<n;x++){
if(arr[x]!=last&&arr1[x]!=1){
write(x+1);putchar(' ');last=arr[x];
arr1[x]=1; flag=1;
if(!flag){
j=x;
}
}
}if(j<n){
putchar('\n');
} j++;
last=-1;
}
for(int x=j;x<n;x++){
if(arr1[x]==0)write(x+1),putchar('\n');
}
return 0;
}