var a:array[1..200001] of longint; i,j,k,m,n:longint; procedure qsort(s,t:longint); var i,j,mid,temp:longint; begin i:=s;j:=t;mid:=a[(s+t) div 2]; while i<=j do begin while a[i]<mid do inc(i); while a[j]>mid do dec(j); if i<=j then begin temp:=a[i];a[i]:=a[j];a[j]:=temp; inc(i);dec(j); end; end; if i<t then qsort(i,t); if j>s then qsort(s,j); end; begin readln(n); for i:=1 to n do readln(a[i]); qsort(1,n); a[n+1]:=maxlongint; k:=1; for i:=2 to n+1 do if a[i]<>a[i-1] then begin writeln(a[i-1],' ',k); k:=1;end else k:=k+1; end. /************************************************************** Problem: 2272 User: admin Language: Pascal Result: Wrong Answer ****************************************************************/