#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <vector>
#include <queue>
#include <map>
#include <stack>
using namespace std;
typedef long long ll;
struct sss
{
int val; //原来的数值
int order; //原来的下表
}a[100005];
int b[100001]; //b数组储存离散化后,数据为1-N,下表也是1-N的数据
bool cmp(sss x, sss y)
{
return x.val < y.val;
}
int main()
{
int n;
cin >> n;
for (int i=1;i<=n;i++)
{
cin >> a[i].val;
a[i].order = i;
}
sort(a+1, a+1+n, cmp); //对结构体按照a数组排序
//如果没有相同的元素
// for (int i=1;i<=n;i++)
// {
// b[a[i].order] = i;
// }
//如果有相同的元素
// b[a[1].order]=1;
// int cnt = 1;
// for (int i=2;i<=n;i++)
// {
// if(a[i].val == a[i-1].val) b[a[i].order] = cnt;
// else b[a[i].order] = ++cnt;
// }
// for (int i=1;i<=n;i++)
// {
// cout << b[i] << " ";
// }
// cout << endl;
return 0;
}