5002 - 【模板】离散化

离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。

这道题要求离散化后数据应该尽量小,并且离散化之后的每个元素都应为正整数。

例如{-10000,100,-998244353,100,469762049}离散化之后应该为{2,3,1,3,4}

现在要求你对一个长度为n的序列进行离散化。

Input

第一行一个数表示n

第二行n个数,第i个数表示序列的第i个元素,每两个元素之间用一个空格隔开。

Output

一行n个数,表示离散化之后的序列。

Examples

Input

5
-10000 100 -998244353 100 469762049

Output

2 3 1 3 4

Hint

1\leq n\leq5\times10^5,|a_i|\leq2\times10^9

没有部分分!

Time Limit 1 second
Memory Limit 128 MB
Stats
上一题 下一题