#include <iostream>
#include <cmath>
#include <algorithm>
#include <vector>
#include <queue>
#include <cstring>
using namespace std;
int n, cnt;
priority_queue<int, vector<int>, greater<int>> q;
inline void Read() {
cin >> n;
for (int i = 1; i <= n; ++i) {
int a;
cin >> a;
q.push(a);
}
}
inline void Count() {
int a = q.top();
for (int i = 1; i <= n; ++i) {
if (a == q.top()) {
cnt++;
q.pop();
} else {
cout << a << ' ' << cnt << endl;
a = q.top();
q.pop();
cnt = 1;
}
}
}
inline void Run() {
Read();
Count();
}
int main() {
Run();
return 0;
}