#d2465. 订单重编号

订单重编号

订单重编号

题目描述

按时间先后顺序给出 NN 个正整数,表示原始订单编号。你需要按相同顺序为每个订单分配一个新的编号:对每个订单,新编号取大于等于其原编号、且此前尚未被使用过的最小整数。

例如,原编号依次为 1 2 3 11\ 2\ 3\ 1,则新编号为 1 2 3 41\ 2\ 3\ 4:前三个订单的原编号都未被占用,直接沿用;第四个订单原编号为 11,而 1,2,31,2,3 都已被占用,故新编号为 44。

输入格式

第一行一个整数 NN(1≤N≤5×1051\le N\le 5\times 10^5)。

第二行 NN 个整数 aia_i(1≤ai≤1091\le a_i\le 10^9),表示原始订单编号。

输出格式

输出一行 NN 个整数,表示新的订单编号。

样例输入 1

6
2 3 4 1 1 1

样例输出 1

2 3 4 1 5 6

样例输入 2

3
1000000000 1000000000 1000000000

样例输出 2

1000000000 1000000001 1000000002

样例输入 3

6
4 5 1 2 1 1

样例输出 3

4 5 1 2 3 6