#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e5+5;
int n,t,cnt;
set<int>s[2];
vector<int>ans[N];
int Remove(set<int>&s,int x){
auto it=s.lower_bound(x);
if(it==s.end())return 0;
s.erase(it);
return *it;
}
signed main(){
ios::sync_with_stdio(false);
cin>>n;
for(int i=1;i<=n;i++)cin>>t,s[t].insert(i);
while(!s[1].empty()&&!s[0].empty()){
cnt++;
int a=*s[1].begin(),b=*s[0].begin();
if(a<b)while(1)
for(int i=1;i>=0;i--){
a=Remove(s[i],a);
if(!a)goto whileEnd;
ans[cnt].push_back(a);
}
else while(1)
for(int i=0;i<=1;i++){
b=Remove(s[i],b);
if(!b)goto whileEnd;
ans[cnt].push_back(b);
}
whileEnd:{}
}
for(int i=1;i>=0;i--)
while(!s[i].empty()){
ans[++cnt].push_back(*s[i].begin());
s[1].erase(s[i].begin());
}
for(int i=1;i<=cnt;cout<<"\n",i++)
for(int j=0;j<ans[i].size();j++)cout<<ans[i][j]<<" ";
return 0;
}