#iroha2019day2c. [iroha2019_day2_c]陽気な妖姫

[iroha2019_day2_c]陽気な妖姫

问题描述

いつも明るいいろはちゃん有 NN 个妖怪朋友。第 i(1iN)i(1 \leq i \leq N) 个朋友的身高是 HiH_i

为了不让朋友数量增加太多而令人烦恼,いろはちゃん决定在记住朋友的名字的同时,也要记住他们的身高。
然而,由于いろはちゃん的朋友都是妖怪,所以他们的身高有高有低。因此,いろはちゃん希望在保持朋友身高的相对大小关系的前提下,将身高尽可能地替换为较小的数值。
具体来说,希望构造一个正整数序列 X1,X2,,XNX_1, X_2, \cdots, X_N,使得对于任意整数对 (i,j)(i, j) 都满足 HiHjXiXjH_i \leq H_j \Leftrightarrow X_i \leq X_j,同时最大值尽可能小。

请你代表いろはちゃん替换朋友的身高。

约束条件

  • 输入数据都为整数。
  • 1N1051 \leq N \leq 10^5
  • 1Hi1091 \leq H_i \leq 10^9

输入

输入以以下形式给出:

NN H1H_1 H2H_2 \vdots HNH_N

输出

输出替换后的身高序列,每个身高占一行,从第1个朋友到第NN个朋友。

输入样例 1


3
10
20
30

输出样例 1


1
2
3

输入样例 2


5
10
20
10
30
55

输出样例 2


1
2
1
3
4

输入样例 3


2
10000
10000

输出样例 3


1
1

解释

解释