问题 AV: 编程比赛

内存限制:256 MB 时间限制:1 S
题面:传统 评测方式:文本比较 上传者:
提交:47 通过:31

题目描述

陈教授喜欢编程竞赛。现在,他决定准备一个新的比赛。

总共有n名学生参加,在开始之前,学生从1到n编号,这些编号是每个学生的初始排名。让我们将第 i 名学生的评分表示为一个ai。比赛结束后,每个学生最终都会得到一个评分,分值越高排名也靠前。陈教授希望他的学生根据分值进行重新排名。如果学生A的评分严格低于学生B,则A的排名在B后面,如果两个学生的评分相同,他们将共享相同的排名。陈教授希望你按照他的期望重建结果。如果一切按预期进行,请在比赛结束后确定每个学生的位置。

输入格式

第一行包含整数n1n2000),表示陈教授 的学生人数。
第二行包含n个数字a1,a2,... an (1≤ai≤2000), 其中ai是第i个学生的评分 (1in)。

输出格式

在一行中,按照输入中显示的顺序打印n名学生在比赛结束后的排名。



Examples
Input
3
1 3 3
Output
3 1 1
Input
1
1
Output
1
Input
5
3 5 3 4 5
Output
4 1 4 3 1
Note
在第一个样本中,学生 2 和 3分数最高, 排名第一(没有其他学生评分更高),学生 1 排名第三,因为有两个学生评分更高。
在第二个样本中,第一个学生是唯一参加比赛的学生。
在第三个样本中,学生 2 和 5 共享评分最高的第一位置,学生 4 紧随其后,排名第三,学生 1 和 3 是最后一个并列第四的位置。

输入样例 复制

3
1 3 3

输出样例 复制

3 1 1