Code:
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;
const int maxn=2000005;
int n,sum;
ll key;
struct node{
ll num;
ll times=0;
}a[maxn];
bool cmp(node a,node b){
return a.num>b.num;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>n;sum=n;
for(int i=1;i<=n;i++){
cin>>key;
a[key].num=key;
a[key].times++;
if(a[key].times>1) --sum;
}
for(int i=0;i<=n;i++){
if(a[i].times>0) cout<<a[i].num<<' '<<a[i].times<<'\n';
}
return 0;
}