#4627. 声音识别

声音识别

声音识别

问题描述

学校王老师研发了一套新的声音识别系统,该系统预先将每位同学的学号和声音录入之后,只要同学一说话,就知道是哪个学号的同学在说话(不同的同学声音是完全不一样的)。

王老师将系统装在了教室,系统收集到了一节英语课中同学们说话的 nn 个片段,并转换为了同学们的学号,请你编程帮助王老师计算出,有多少个同学在英语课中发过言,并按照学号由小到大,输出每位同学的学号及该学号的同学发言的次数。

比如,假设经过系统分析,得到如下的 88 个同学的学号分别是:88 11 66 11 88 66 77 22,表示同学们的发言顺序分别是:88 号、11 号、66 号、11 号、88 号、66 号、77 号、22 号,那么一共有 55 位同学发过言,按照学号由小到大输出发言次数如下:

1 2 2 1 6 2 7 1 8 2

分别代表 11 号同学发言 22 次、22 号同学发言 11 次、66 号同学发言 22 次、77 号同学发言 11 次、88 号同学发言 22 次。

输入

输入有 22 行,第 11 行有一个整数 nn3n100003≤n≤10000);

第二行有 nn 个数字(这些整数都是 11~100100 之间的整数,含 11100100),数字之间用空格隔开,代表同学们的学号。

输出

11 行输出 11 个整数,代表总共有多少名同学说过话。

接下来输出若干行,每行 22 个整数,用空格隔开,表示按照学号由小到大输出发言同学的学号及每位同学发言的次数。

样例

样例输入

8
8 1 6 1 8 6 7 2

样例输出

5
1 2
2 1
6 2
7 1
8 2

样例输入 2

10
9 8 8 1 3 6 6 6 9 10

样例输出 2

6
1 1
3 1
6 3
8 2
9 2
10 1