D2. Divan and Kostomuksha (hard version)time limit per test4 secondsmemory limit per test1024 megabytesinputstandard inputoutputstandard outputThis is the hard version of the problem. The only difference is maximum value of a_i.Once in Kostomuksha Divan found an array a consisting of positive integers. Now he wants to reorder the elements of a to maximize the value of the following function: \sum_{i=1}^n \operatorname{gcd}(a_1, \, a_2, \, \dots, \, a_i), where \operatorname{gcd}(x_1, x_2, \ldots, x_k) denotes the greatest common divisor of integers x_1, x_2, \ldots, x_k, and \operatorname{gcd}(x) = x for any integer x.Reordering elements of an array means changing the order of elements in the array arbitrary, or leaving the initial order.Of course, Divan can solve this problem. However, he found it interesting, so he decided to share it with you.InputThe first line contains a single integer n (1 \leq n \leq 10^5) — the size of the array a.The second line contains n integers a_{1}, \, a_{2}, \, \dots, \, a_{n} (1 \le a_{i} \le 2 \cdot 10^7) — the array a.OutputOutput the maximum value of the function that you can get by reordering elements of the array a.ExamplesInput
6
2 3 1 2 6 2
Output
14Input
10
5 7 10 3 1 10 100 3 42 54
Output
131NoteIn the first example, it's optimal to rearrange the elements of the given array in the following order: [6, \, 2, \, 2, \, 2, \, 3, \, 1]:\operatorname{gcd}(a_1) + \operatorname{gcd}(a_1, \, a_2) + \operatorname{gcd}(a_1, \, a_2, \, a_3) + \operatorname{gcd}(a_1, \, a_2, \, a_3, \, a_4) + \operatorname{gcd}(a_1, \, a_2, \, a_3, \, a_4, \, a_5) + \operatorname{gcd}(a_1, \, a_2, \, a_3, \, a_4, \, a_5, \, a_6) = 6 + 2 + 2 + 2 + 1 + 1 = 14. It can be shown that it is impossible to get a better answer.In the second example, it's optimal to rearrange the elements of a given array in the following order: [100, \, 10, \, 10, \, 5, \, 1, \, 3, \, 3, \, 7, \, 42, \, 54].
6
2 3 1 2 6 2

14
['dp', 'number theory', '*2300']