#include #include #include #include #include using namespace std; //Eratosthenes sieve. //Finds all primes below a limit n //Space O(n) //Time O(n logn loglogn) class esieve{ public: vector isp; long count; public: esieve(long num) {isp.resize(num,1); count=0;} long build(); }; long esieve::build(){ isp[0]=0; isp[1]=0; long c; for(long i=2; i isp; public: fsieve(long num) { isp.resize(num,1); build(); } void build(); }; vector primes; void fsieve::build(){ //cout << "Building ... " << endl; isp[0]=0; isp[1]=0; long c; long imax = isp.size(); //long(sqrt(double(isp.size())) + 2); for(long i=2; i&p2p){ // while(num > 1){ // long addp = fs.isp[num]; // num/=addp; // if( p2p.find(addp) == p2p.end() ) p2p[addp]=1; // else p2p[addp]++; // } // return 1; // } vector primes2; long solve2(long a, vector &v){ if(a==1) return 1; long p = v[v.size()-1]; v.pop_back(); return ( long(1) + p*solve2(a/p, v) ); } long solve(long a){ long n = a; vector v; for(int i=0; i> n; long ans = 0; while(n--){ long aka; cin >> aka; ans += solve(aka); } cout << ans << endl; }