import java.util.*;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
List<Integer > list=new ArrayList<>();
// Set<Integer> set = new HashSet<>();
for(int i=1;i<=n;i++){
// set.add(sc.nextInt());
list.add(sc.nextInt());
}
// System.out.println(list);
Collections.sort(list, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
if(o1>o2){
return 0;
}else {
return -1;
}
}
});
List<Integer> newList = new ArrayList<>();
List<String > l1 = new ArrayList<>();
for (Integer cd:list) {
if(!newList.contains(cd)){
newList.add(cd);
}
}
// System.out.println( "去重后的集合: " + newList);
// System.out.println(list);
for(int i=0;i<list.size();i++){
int c=0;
for (int j=0;j<list.size();j++){
if((int)(list.get(i))==(int)(list.get(j))){
c++;
}
}
// if((int)(newList.get(i))!=(int)(newList.get(i+1))) {
// System.out.println(list.get(i) + " " + c);
l1.add(list.get(i) + " " + c);
// System.out.println(l1.get(i));
// }else if(c==1){
// System.out.println(newList.get(i) + " " + c);
// }
}
List<String > l2 = new ArrayList<>();
for (String cd:l1) {
if(!l2.contains(cd)){
l2.add(cd);
}
}
for(int i=0;i<l2.size();i++) {
System.out.println(l2.get(i));
}
// if(list.get(list.size()-1)!=list.get(list.size()-2)){
// System.out.println(list.get(list.size()-1) + " " +c);
}
// System.out.println(list.get(list.size()-1) + " " );
}
/**************************************************************
Problem: 1740
User: admin
Language: Java
Result: Accepted
Time:934 ms
Memory:42592 kb
****************************************************************/