Problem M: Yu-gi-oh!

Problem M: Yu-gi-oh!

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 194  Solved: 61
[Submit] [Status] [Web Board] [Creator:]

Description

“游戏王”是日本的一个动漫,讲述的是卡牌怪兽决斗的故事。相信很多人小时候都看过或者现在也正在重温呢。

“游戏王”的主角‘游戏’是一个卡牌怪兽决斗策略很厉害的玩家。不过现在这个游戏变简单了,没有魔法卡和陷阱卡(只有怪兽卡)。

现在游戏开始了,场上有环境魔法卡‘融合’(可以把场上等级相同的两张怪兽卡融合成一张等级*2的怪兽卡),‘游戏’拥有n张怪兽卡,他讲依次抽取并放入场上。现在你能帮游戏计算出最终场上卡片的张数以及卡牌等级的顺序吗?

Input

测试数据有多组,对于每组测试数据:

第一行输入一个n,表示‘游戏’拥有n张卡牌(2 <= n <= 300000)

接着输入n张怪兽卡的等级a[i] (1 <= a[i] <= 1e9)

Output

对于每组测试数据:

输出场上剩下的怪兽卡的数量ans,以及怪兽卡顺序的等级。(详情见样例)

Sample Input Copy

7
3 4 1 2 2 1 1
5
1 1 3 1 1

Sample Output Copy

4
3 8 2 1
2
3 4