# 这题题干写的混乱的飞起看半天才看懂是个啥意思
n = int(input())
s = input()

# 最后一位必须是 1,否则永远构不成完整排列 → 直接无解
if s[-1] == "0":
    print(-1)
else:
    result = []
    last = 0  # 上一个 1 所在的“数字边界”,初始是 0

    # 遍历每一位 i(0 开始)
    for i in range(n):
        # 只有遇到 s[i] == 1 时才开始填数
        if s[i] == "1":
            # 倒序填入:从 i+1 往 last+1 填
            # 作用:把两个 1 之间的所有数字一次性倒序塞进去
            for num in range(i + 1, last, -1):  
                #  range(大, 小, -1) 专门用来从大往小倒序遍历。从 2 开始 → 每次减 1 → 直到 > 0 停止
                result.append(num)
            # 更新边界:下一次从这里开始
            last = i + 1

    # 输出答案
    print(*result)