2507: 士兵排列

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:2 解决:1

题目描述

军士长Johnny手下一共有n个士兵,每个士兵按照身高从矮到高编号为1n。可惜这群士兵太笨了,第一次排好后现在又忘记怎么排了。站在Johnny面前的士兵虽然排成了一列,但是顺序就不一定是从1n了。Johnny想了如下的一个办法让他们排列整齐:

从最前面的士兵开始,每个士兵一直往前排直到碰到一个编号比自己小的士兵(身高小于自己)为止,然后该士兵就站在这个位置。不一会儿,队伍调整好了。

Johnny觉得很满意,不过为了提高效率,他要士兵们记住,这次调整的过程中,每个人各自往前走了几个人的位置。

现在给你这样一个任务:告诉你在排队过程中每个人往前走了几个人的位置,请你告诉我最初这个队伍的顺序是怎样的。

 

输入

输入第一行包含一个正整数n1 ≤ n ≤ 200000),代表士兵个数。

第二行一共n个整数,第i个数代表原来队伍中排在第i个位置的人在调整过程中往前走了几个人的位置。

 

输出

输出包含一行,共n个整数,从左往右第i个数代表最初在队伍中第i个人的编号。相邻两个整数用一个空格隔开。

 

样例输入 复制

5
0 1 2 0 1

样例输出 复制

3 2 1 5 4

提示

10%的数据,n不超过10

30%的数据,n不超过1000

时间限制为1秒,空间限制为256MB