#include<bits/stdc++.h>
using namespace std;
set <int> s0,s1;
int main()
{
int n;
int st=0;
cin>>n;
for(int i=1;i<=n;i++)
{
int t;
cin>>t;
if(t==0)
s0.insert(i);
else
s1.insert(i);
}
while(n)
{
if(s0.empty())
{
for(set <int> ::iterator itit=s1.begin();itit!=s1.end();itit++)
cout<<*itit<<endl;
return 0;
}
if(s1.empty())
{
for(set <int> ::iterator itit=s0.begin();itit!=s0.end();itit++)
cout<<*itit<<endl;
return 0;
}
bool f=false;
if(*s1.begin()>*s0.begin())
f=true;
if(f==false)
{
set <int> ::iterator it=s1.begin();
cout<<*it<<" ";
n--;
s1.erase(*it);
set <int> ::iterator s0end=s0.end();
s0end--;
while(*s0end>*it)
{
for(set <int> ::iterator itt=s0.begin();itt!=s0.end();itt++)
if(*itt>*it)
{
it=itt;
cout<<*itt<<" ";
n--;
s0.erase(itt);
break;
}
set <int> ::iterator ii=s1.end();
ii--;
if(*ii<*it)
break;
for(set <int> ::iterator itt=s1.begin();itt!=s1.end();itt++)
if(*itt>*it)
{
it=itt;
cout<<*itt<<" ";
n--;
s1.erase(itt);
break;
}
}
cout<<endl;
}
else
{
set <int> ::iterator it=s0.begin();
cout<<*it<<" ";
n--;
s0.erase(*it);
set <int> ::iterator s1end=s1.end();
s1end--;
while(*s1end>*it)
{
for(set <int> ::iterator itt=s1.begin();itt!=s1.end();itt++)
if(*itt>*it)
{
it=itt;
cout<<*itt<<" ";
n--;
s1.erase(itt);
break;
}
set <int> ::iterator ii=s0.end();
ii--;
if(*ii<*it)
break;
for(set <int> ::iterator itt=s0.begin();itt!=s0.end();itt++)
if(*itt>*it)
{
it=itt;
cout<<*itt<<" ";
n--;
s1.erase(itt);
break;
}
}
cout<<endl;
}
}
return 0;
}