#include #include #include #include #include #include #include #include #include #include //#include using namespace std; #define f(i,n) for(int i=0;i #define ms(a,val,size) memset(a,val,size*sizeof(typeof(*a))) #define Mod (ll)(1e9+7) #define INF 0x3f3f3f3f #define pb push_back #define MKSTR( x ) #x #define seti(x) __builtin_popcount(x) //No of Bits Set #define setli(x) __builtin_popcountl(x) #define setll(x) __builtin_popcountll(x) #define numOfTrailingZeros(x) __builtin_ctz(x) #define numOfLeadingZeros(x) __builtin_clz(x) #define LSSetBit(x) __builtin_ffs(x) //Returns position of least significant Set Bit in x eg 1 for 1 #define powi(x,y) __builtin_powi(x,y) //double,int : faster than pow; powif,powil #define toBinary(x,noOfBits) std::bitset(x) #define ispow2(x) ((x&(x-1)) == 0) //Fails just for x==0 //#define ispow2(x) (x && !(x & (x - 1))) #define modIfPow2(n,d) (n&(d-1)) // n%d if ispow2(d)==1 #define fastIO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); //#define DEBUG #ifdef DEBUG // debug here ; use cerr #endif const int N=(int)1e6; bool isprime[N+1]; vectorprime; vectorspf(N+1); void prime_sieve() { memset(isprime,true,sizeof(bool)*(N+1)); isprime[0]=false; isprime[1]=false; int size=0; fab(i,2,N) { if(isprime[i]) { prime.push_back(i); ++size; spf[i]=i; } for(int j=0; j>n; ll ans=n; while(n--) { ll a; cin>>a; int s=ss-1; ll mul=1; while(a!=1) { if(a%prime[s]==0){ while(a%prime[s]==0){ mul*=prime[s]; ans+=mul; a/=prime[s]; } } --s; } } cout<