小红定义一个仅由 和 两个字符构成的 串 和一个排列 是匹配的,当且仅当满足以下条件: 若 ,则排列的前 项元素恰好也构成一个排列; 若 ,则排列的前 项元素无法构成一个排列; 现在小红拿到了一个长度为 的 串。请你构造一个排列使得它们是匹配的。 长度为 的排列是由 这 个整数、按任意顺序组成的数组,其中每个整数恰好出现一次。例如, 是一个长度为 的排列,而 和 都不是排列,因为前者存在重复元素,后者包含了超出范围的数。
输入描述:
第一行输入一个正整数 代表排列的长度。第二行输入一个长度为 的 字符串 。


输出描述:
如果答案不存在,直接输出 ;否则,在一行上输出 个正整数代表构造的排列。如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
示例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
加载中...