#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;
}