#include <iostream>
using namespace std;

#include<string>
#include<vector>
#include<algorithm>
#include<stack>
int main(){
int n;
cin>>n;
string s;
cin>>s;
vector<int>a;
vector<int>b;
stack<int>c;
vector<int>d;
for(int i=0;i<n;i++){

if(s[i]=='0'&&c.empty()){

c.push(0);
a.push_back(i);
}
if(s[i]=='1'&&!c.empty()){
b.push_back(i);
c.pop();

}

}
for(int i=1;i<=n;i++){
d.push_back(i);




}
 if(a.size()>b.size()){
    cout<<-1;
 }
else if(a.empty()){
    for(int i=0;i<n;i++){
cout<<d[i]<<' ';

    }
}

else{
    int e=a.size();
    for(int i=0;i<e;i++){
        swap(d[a[i]],d[b[i]]);
    }
    for(int i=0;i<n;i++){
        cout<<d[i]<<' ';
    }
}



    return 0;
}