#include<bits/stdc++.h>
using namespace std;
set <int> a,b;
set <int>::iterator t,t1,k,k1;
int main(){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
int ch;
scanf("%d",&ch);
if(ch==1)
a.insert(i);
else
b.insert(i);
}
int x;
bool bj;
while(!a.empty()&&!b.empty()){
t=a.begin();
t1=b.begin();
if(*t<*t1){
x=*t;
bj=1;
}
else{
x=*t1;
bj=0;
}
if(!a.empty()){
k=a.end();
k++;
}
if(!b.empty()){
k1=b.end();
k1++;
}
while((!b.empty()&&x<=*k1&&!bj)||(!a.empty()&&x<=*k&&bj)){
if(bj){
x=*t;
printf("%d ",*t);
t1=b.upper_bound(x);
a.erase(t);
}
else{
x=*t1;
printf("%d ",*t1);
t=a.upper_bound(x);
b.erase(t1);
}
bj=!bj;
}
printf("\n");
}
if(a.empty()&&!b.empty()){
while(!b.empty()){
printf("%d",*b.begin());
b.erase(b.begin());
}
}
else{
while(!a.empty()){
printf("%d",*a.begin());
a.erase(a.begin());
}
}
return 0;
}