/*#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
*/
/*
#include <stdio.h>
typedef struct
{
char name[11];
int fir;
int sec;
int thir;
} namescore;
int main()
{
namescore f[101];
int i,n,max=0,better=0,better2=0;
scanf ("%d",&n);
for (i=1; i<=n; i++)
{
scanf ("%s %d %d %d",f[i].name,&f[i].fir,&f[i].sec,&f[i].thir);
}
//첫번째 과목 1등
max=1;
for (i=1; i<=n; i++)
{
if (f[i].fir>f[max].fir)
{
max=i;
}
}
//두번째 과목 등수
for (i=1; i<=n; i++)
{
if(f[max].sec<f[i].sec)
{
better++;
}
if(f[max].thir<f[i].thir)
{
better2++;
}
}
// %c 문자
// %s 문자열 (단어)
printf ("%s %d %d" , f[max].name, better+1, better2+1);
return 0;
}
*/
#include <stdio.h>
typedef struct
{
int score;
int grade;
} student;
int main()
{
student f[201];
int n, i, x, max=0, better=0;
scanf ("%d",&n);
for (i=1; i<=n; i++)
{
scanf ("%d",&f[i].score);
}
/////////////////////////////////////////////
//1-1. 나보다 높은 점수의 사람의 수+1 //
//2. 입력순으로 출력 //
/////////////////////////////////////////////
for(x=1; x<=n; x++)
{
better=1;
for (i=1; i<=n; i++)
{
if(f[x].score<f[i].score)
{
better++;
}
}
f[x].grade=better;
}
for(i=1;i<=n;i++)
{
printf ("%d %d\n", f[i].score, f[i].grade);
}
}
