{"raw_statement":[{"iden":"statement","content":"Walk Alone 是一个字符串大师，但是他已经对传统的字符串算法感到无聊，如 KMP 算法，所以他最近在思考逆向的 KMP。下面是他提出的问题：\n\n给你一个长度为 $n$ 的整数序列 $a$，对于任意的整数 $i\\ (1\\le i\\le n)$，满足 $0\\le a_i<i$。你需要构造另一个整数序列 $s$，满足以下条件：\n- 序列 $s$ 的长度为 $n$，并且其中任意元素 $s_i$ 满足 $1\\le s_i\\le n$；\n- 对于所有的整数 $i\\ (1\\le i\\le n)$ 和 $j\\ (1\\le j\\le a_i)$，满足 $s_{j}=s_{i-a_i+j}$；\n- 满足上述条件的前提下，序列 $s$ 中出现的不同元素的数量**最多**。\n\n当然，Walk Alone 可以很轻松地解决这道题，但他想把这道题当作对你的考验。\n"},{"iden":"input","content":"第一行包含一个整数 $n\\ (1\\le n\\le 2\\cdot 10^5)$，表示序列 $a$ 的长度。\n\n第二行包含 $n$ 个整数，其中第 $i$ 个整数定义为 $a_i\\ (0\\le a_i<i)$。"},{"iden":"output","content":"输出用空格间隔的 $n$ 个整数，其中第 $i$ 个整数定义为 $s_i$。如果存在多个合法答案，请输出字典序最小的那个。"}],"translated_statement":null,"sample_group":[["5\n0 0 1 2 3\n","1 2 1 2 1 "],["11\n0 0 0 0 2 1 0 0 3 0 1\n","1 2 3 1 2 1 1 2 3 4 1 "]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}