#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
typedef struct
{
int data;
int pos;
int cur;
}Num;
Num num[10001];
int cmp(Num a,Num b)
{
return a.data<b.data;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF&&n)
{
int i;
for(i=0;i<n;++i)
{
scanf("%d",&num[i].data);
num[i].pos=i+1;
}
sort(num,num+n,cmp);
num[0].cur=1;
for(i=1;i<n;++i)
{
if(num[i].data==num[i-1].data)
num[i].cur=num[i-1].cur;
else
num[i].cur=num[i-1].cur+1;
}
int j;
for(i=1;i<=n;++i)
{
for(j=0;j<n;++j)
{
if(num[j].pos==i)
{
cout<<num[j].cur;
if(i==n)
cout<<endl;
else
cout<<' ';
}
}
}
}
return 0;
}