#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,asd[1000001],vis[1000001];
void dfs(ll qd){
if(qd>n)return;
ll temp=qd+1,temp1=asd[qd];
vis[qd]=1;
cout<<qd<<" ";
while(1){
if(vis[temp]==1)temp++;
else if(asd[temp]==temp1)temp++;
else break;
}
if(asd[temp]!=temp1 && vis[temp]==0){
return dfs(temp);
}
}
int main(){
cin>>n;
for(ll i=1;i<=n;i++){
cin>>asd[i];
}
for(ll i=1;i<=n;i++){
if(vis[i]==0){
dfs(i);
cout<<endl;
}
}
return 0;
}