/*
#include<stdio.h>
void rec(int n)
{
if(n==1) {
printf("%d\n", n);
return ;
}
if(n%2==0)
{
printf("%d\n",n);
rec(n/2);
}
else
{
printf("%d\n",n);
rec(3*n+1);
}
}
int main()
{
int n;
scanf("%d", &n);
rec(n);
}
*/
/*
#include<stdio.h>
void rec(int n)
{
if(n==0)
{
return ;
}
rec(n/2);
printf("%d",n%2);
}
int main()
{
int n;
scanf("%d",&n);
if(n==0) {
printf("0");
return 0;
}
rec(n);
}
*/
/*
#include<stdio.h>
int main()
{
int i,j,k,n, s[10000] = {0}, r[10000] = {0};
scanf("%d",&n);
for(i=0; i<n; i++)
{
scanf("%d",&s[i]);
}
for(i=0; i<n; i++)
{
for(j=0; j<n; j++) {
if(s[i]<s[j]) {
r[i] ++;
}
}
}
for(i=0; i<n; i++) {
printf("%d %d\n", s[i], r[i]+1);
}
}
*/
#include<stdio.h>
struct rankSystem
{
int jumsu;
int rank;
};
int main()
{
struct rankSystem rs[200] = {0};
int i,j,k,n;
scanf("%d", &n);
for(i=0; i<n; i++)
{
scanf("%d", &rs[i].jumsu);
}
for(k=0; k<n; k++)
{
for(j=0; j<n; j++)
{
if(rs[k].jumsu<rs[j].jumsu)
{
rs[k].rank++;
}
}
}
for(i=0; i<n; i++)
{
printf("%d %d\n",rs[i].jumsu,rs[i].rank+1);
}
}