#YACS202102C2. 合成游戏

合成游戏

题目描述

有很多合成类的游戏都有如下的玩法:玩家会得到很多数字,每个数字都是 22 的幂,玩家可以挑选两个一样大的数字,将它们合成一个新的数字,新数字为原数字的两倍大小。如果这种合成操作可以不断地进行,给定小爱在最初获得的数字集合,请帮她算一下能够获得的最大数字。

22 的幂是指只有 22 作为素因子的正整数。如 44、256256 等等。但 6060 不是,因为它有素因子 33。

输入格式

第一行:单个正整数 nn,表示小爱一开始拥有的数字数量; 第二行:nn 个正整数 a1,a2,⋯ ,ana_1, a_2,\cdots, a_n,表示刚开始时获得的数字,保证每个数字都是 22 的幂。

输出格式

单个正整数:表示最后可以得到的最大数字大小。

数据范围

  • 对于 30%30\% 的数据,1≤n≤1001\leq n\leq 100,1≤ai≤1281\leq a_i\leq128;
  • 对于 60%60\% 的数据,1≤n≤20001\leq n\leq 2000,1≤ai≤2201\leq a_i\leq2^{20};
  • 对于 100%100\% 的数据,1≤n≤1,000,0001\leq n\leq 1,000,000,1≤ai≤2401\leq a_i\leq2^{40};

样例数据

输入:

5
4 1 2 1 1

输出:

8

说明:

两个1合成了一个2,再合成一个4,最后得到8,还有一个1是多余的