#include using namespace std; int main() { bool prime[1000004]; memset(prime, true, sizeof(prime)); for (long long int p=2; p*p<=1000004; p++) { // If prime[p] is not changed, then it is a prime if (prime[p] == true) { // Update all multiples of p for (int i=p*2; i<=1000004; i += p) prime[i] = false; } } long long int bigsum=0; int n; cin>>n; while(n--) {long long int sum=1; long long int a,ac; cin>>a; ac=a; int pf[100000]={0}; int p=0; for(int i=2;i<1000004;) { if(prime[i]&&(a%i==0)) { pf[p]=i; p++; if(ac==1) { break; } ac=ac/i; } if(ac%i!=0) { i++; } } long long int mul=1; for(int j=p-1;j>=0;j--) { mul*=pf[j]; sum+=mul; } bigsum+=sum; } cout<