n = int(input())
a = input().split()
t = 0
k = 0
# b[1]记录1出现的次数,b[2]记录2出现的次数...b[100]记录100出现的次数,因为b[0]没有用到,所以[0]*101,而不是100
b = [0] * 101
# 类型转换,把字符串列表a转换成整型列表a
for i in range(0, n):
    a[i] = int(a[i])
    k = a[i]
    b[k] += 1
# 遍历b列表,输出一共的发言人数
for i in range(1, 101):
    if b[i] > 0:
        t += 1
# 输出发言人数
print(t)
# 再次遍历b列表,输出发言人学号和发言次数,i表示学号,b[i]表示次数
for i in range(1, 101):
    if b[i] > 0:
        print(i, b[i])
/**************************************************************
	Problem: 1725
	User: admin
	Language: Python
	Result: Accepted
	Time:331 ms
	Memory:34884 kb
****************************************************************/