【题目描述】
约瑟夫统帅着一个军队,军队里有n个人,第i个人的战斗力为ai。约瑟夫称一些人id1...idk为一个团体,当且仅当gcd(aid1...aidk)>1。一个团体的战斗力为k∗gcd(aid1...aidk)。
现在约瑟夫想知道他的军队里所有可能的团体的战斗力之和,结果对1,000,000,007(1e9+7)取模。
【输入格式】
输入文件名为army.in。
第一行有一个数n,表示军队的人数。
第二行有n个数a1...an,表示每个人的战斗力。
【输出格式】
输出文件名为army.out。
输出仅一行,即为所有可能的团体的战斗力之和。
4
2 3 4 6
39
【样例解释】
有9个团体,分别为$\{1\},\{2\},\{3\},\{4\},\{1,3\},\{1,4\},\{2,4\},\{3,4\},\{1,2,4\}$,战斗力分别为:2,3,4,6,4,4,6,4,6,故答案为2+3+4+6+4+4+6+4+6=39。
【样例2】
见下发文件。
【数据范围】
对于 20% 的数据,满足 n≤10。
对于 40% 的数据,满足 n≤2000,ai≤2000。
另有 20% 的数据,满足所有的ai都为质数。
对于 100% 的数据,满足 1≤n≤500000,1≤ai≤500000。