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 + " ");
        }
    }
}