#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <vector>
#include <set>
#include <map>
#define INT long long
#define MOD 1000000007
using namespace std;

int n, c, b[100010];
struct AA{ int x, y; } a[100010];
bool cmp(AA x, AA y)
{
    return x.x < y.x;
}
bool cmp2(AA x, AA y)
{
    return x.y < y.y;
}
int main()
{
    freopen(".10.in", "r", stdin);
    freopen(".10.out", "w", stdout);
    ios::sync_with_stdio(false);
    cin>>n;
    for(int i = 0 ; i < n ; i++ )
        cin>>a[i].x, a[i].y = i;
    sort(a, a+n, cmp);
    b[0] = c = 0;
    for(int i = 1 ; i < n ; i++ )
        if( a[i].x == a[i-1].x ) b[i] = c;
        else b[i] = ++c;
    for(int i = 0 ; i < n ; i++ ) a[i].x = b[i];
    sort(a, a+n, cmp2);
    for(int i = 0 ; i < n ; i++ ) cout<<a[i].x+1<<" ";
    return 0;
}



