import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); // 读取字符串长度
String s = sc.next(); // 读取01字符串
sc.close(); // 关闭扫描器
// 若字符串最后一位不是1,直接输出-1(无法满足置换要求)
if (s.charAt(n - 1) != '1') {
System.out.println(-1);
return;
}
int flag = 0; // 标记下一个置换区间的起始位置
int[] arr = new int[n]; // 存储置换结果的数组
// 遍历字符串,处理每个'1'对应的置换
for (int i = 0; i < n; i++) {
if (s.charAt(i) == '1') {
// '0'对应的位置:值=自身索引+1(不置换)
for (int j = flag + 1; j < i; j++) {
arr[j] = j + 1;
}
// '1'对应的位置:flag和i互换(值=对方索引+1)
arr[flag] = i + 1;
arr[i] = flag + 1;
flag = i + 1; // 更新下一个置换区间起点
}
}
// 输出最终置换结果
for (int a : arr) {
System.out.print(a + " ");
}
}
}