#CYF0019. 福利局

福利局

题目背景

C 的国家一直都有一个政策,对于 18 岁之前(包含 18 岁)的小朋友每年都会有补助金。补助金的发放方式如下:

题目描述

  • 对于 1 岁的小朋友将会收到一个金币的红包。
  • 小朋友每年收到的金币数量是该小朋友上一年的金币数量加上今年的年龄;比如:一个 3 岁的小朋友将会收到 3 + 3 = 6 个红包。

现在新的一年开始,国家财政开始准备给小朋友发放补助金,但是现在国家的人太多了,请同学们编写一个程序,帮财政计算一下今年需要发放出去多少金币。

输入格式

输入两行。

第一行输入一个正整数 nn ,代表国家人数。

第二行输入 nn 个正整数 aia_i,代表第 ii 个人的年龄。

输出格式

输出多行。

每一行输出两个正整数,分别是一个人领取金币的数额以及这个金币有多少人领取。从上往下按照金币数额递增输出,如果这个数额没有人领取将不输出。

最后一行输出今年财政需要发放多少补助金。

样例 #1

样例输入 #1

2
7 2

样例输出 #1

3 1
28 1
31

样例 #2

样例输入 #2

5
18 4 17 5 4

样例输出 #2

10 2
15 1
153 1
171 1
359

提示

样例解释】:

【样例解释1】:

一共有 2 个人,第一个人的年龄是 7 岁,需要领取 28 个金币,第二个人的年龄 2 岁,需要领取 3 个金币,领取的金币数额有 283 ,分别都是一个人领取,按照金币从小到大输出多行,先输出 3 1,再输出 28 1 ,最后财政一共需要发放 31 个金币。

【样例解释2】无。

数据范围】:

对于 60%60\% 的数据保证 1n103,1ai651 \leq n \leq 10^3, 1 \leq a_i \leq 65 (以后 65 岁退休哦)。

对于 100%100\% 的数据保证 1n106,1ai651 \leq n \leq 10^6, 1 \leq a_i \leq 65 (以后 65 岁退休哦)。