#include using namespace std; typedef unsigned long long ull; ull total=0; //stack s; set s; void primeFactors(ull n) { // Print the number of 2s that divide n if (n%2 == 0) { s.insert(2); } while(n % 2 == 0){ n=n/2; } // n must be odd at this point. So we can skip // one element (Note i = i +2) for (ull i = 3; i <= sqrt(n); i = i+2) { // While i divides n, print i and divide n while (n%i == 0) { s.insert(i); n = n/i; } } // This condition is to handle the case when n // is a prime number greater than 2 if (n > 2) s.insert(n); } int main(){ ull n; cin>>n; while(n--){ ull sum=0; ull val,orig; cin>>val; orig=val; primeFactors(val); for(auto it=s.rbegin();it!=s.rend();it++){ while( val % (*it) == 0 ) { sum=sum+orig/val; val=val/(*it); } } sum=sum+orig; total=total+sum; } cout<