/*#include <stdio.h>
int n, d[100010], k;
int f();
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d", &k);
printf("%d\n", f(k));
}
int f(k)
{
int i;
for(i=1; i<=n; i++)
{
if(d[i]==k)
{
return i;
}
}
return -1;
}
*/
/*
#include<stdio.h>
int main() {
// pointer
int a, b;
int *pa, *pb;
pa = &a;
pb = &b;
scanf("%d %d", pa, pb);
printf("%d\n", *pa + *pb);
printf("%d\n", *pa - *pb);
printf("%d\n", *pa * *pb);
printf("%d\n", *pa / *pb);
return 0;
}
*/
/*
#include<stdio.h>
int main() {
int arr[5] = {0};
int *pa = arr;
int i, sum = 0;
for(i=0; i<5; i++) {
scanf("%d", &arr[i]);
}
for(i=0; i<5; i++){
sum += (*pa+i);
}
printf("%d", sum);
}
*/
/*#include<stdio.h>
struct student {
char name[20];
int grade;
int kor;
int math;
int eng;
};
int main() {
struct student st[10];
scanf("%s %d", st.name[0], &st.grade);
printf("%s %d\n", st.name, st.grade);
}
*/
#include<stdio.h>
struct student
{
int a;
int b;
};
int main()
{
struct student st[201];
int n, i, j;
scanf("%d", &n);
for(i=0; i<n; i++)
{
scanf("%d", &st[i].a);
st[i].b = 0;
}
for(i=0; i<n; i++) {
for(j=0; j<n; j++) {
if(st[i].a < st[j].a) {
st[i].b++;
}
}
}
for(i=0; i<n; i++) {
printf("%d %d\n", st[i].a, st[i].b+1);
}
}