小红定义一个仅由 和 两个字符构成的字符串 与一个长度为 的数组 为匹配,当且仅当满足下列两点: 若 ,则数组 恰好构成一个排列; 若 ,则数组 无法构成一个排列。 现在小红给出了一个长度为 的字符串 ,请你构造一个长度为 的排列 使得 与 匹配;如果不存在这样的排列,请输出 。 【名词解释】 排列:排列是由 这 个整数按任意顺序组成的数组,其中每个整数恰好出现一次。
输入描述:
第一行输入一个整数 表示字符串及排列的长度。 第二行输入一个长度为 ,仅由 和 构成的字符串 。


输出描述:
如果不存在满足条件的排列,直接输出 ;否则,在一行上输出 个整数 表示你构造出的排列。 如果存在多个满足条件的排列,输出任意一个均可,系统将自动判定其正确性。请注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
示例1

输入

3
001

输出

3 1 2

说明

\hspace{15pt}对于这个样例,
\hspace{23pt}\bullet\,由于 s_0 = {\tt 0},排列的前一项元素无法构成一个排列;
\hspace{23pt}\bullet\,由于 s_1 = {\tt 0},排列的前两项元素无法构成一个排列;
\hspace{23pt}\bullet\,由于 s_2 = {\tt 1},排列的前三项元素构成一个排列;
\hspace{15pt}同时,输出 \{2,3,1\}\{3,2,1\} 等答案也都是合法的。
示例2

输入

4
1110

输出

-1

说明

在此样例中,若存在合法排列,则前三位必须依次形成排列,但第四位又要求整体不形成排列,显然不可能,因此答案为 -1
加载中...