#include using namespace std; #include #include using namespace __gnu_pbds; template using ordered_set = tree, rb_tree_tag, tree_order_statistics_node_update>; //set // using ordered_set = tree, rb_tree_tag, tree_order_statistics_node_update>; // multiset static int LOCAL=0; #define length(a) (sizeof(a)/sizeof(a[0])) #define print(v,i,x) for(int j=i;j<=x;j++){cout<=n;i--) #define ROFl(i,x,n) for(lli i=x;i>=n;i--) #define debug(x) cout << " - " << #x << ": " << x << endl; #define debugs(x, y) cout << " - " << #x << ": " << x << " " << #y << ": " << y << endl; #define debugss(x, y, z) cout << " - " << #x << ": " << x << " " << #y << ": " << y << " " << #z << ": " << z << endl; #define fastIO std::ios::sync_with_stdio(false);cin.tie(NULL); #define cut cout<<"------------------------------------------\n"; #define cut1 cout<<"******************************************\n"; typedef vector vi; typedef vector> vii; typedef vector vlli; typedef vector vstr; typedef pair prii; typedef pair prilli; typedef pair prllii; typedef pair prllilli; const lli mod = 1000000007ll; const lli MOD = 1000000009ll; const lli INF = LLONG_MAX/10; const int inf = INT_MAX/2; lli count_bit(lli _x){lli _ret=0;while(_x){if(_x%2==1)_ret++;_x/=2;}return _ret;} bool check_bit(lli _mask,lli _i){lli x=1;return (_mask&(x<<_i))==0?false:true;} lli set_bit(lli _mask,lli _i){lli x=1;_mask=_mask|(x<<_i);return _mask;} lli msb(lli _mask){lli ret=-1;int cnt=0;while(_mask){if(_mask&1)ret=cnt;_mask/=2;cnt++;}return ret;} lli powermod(lli _a,lli _b,lli _m=mod){lli _r=1;while(_b){if(_b%2==1)_r=(_r*_a)%_m;_b/=2;_a=(_a*_a)%_m;}return _r;} lli power(lli _a,lli _b){lli _r=1;while(_b){if(_b%2==1)_r=(_r*_a);_b/=2;_a=(_a*_a);}return _r;} lli add(lli a,lli b,lli m=mod){lli x=a+b;while(x>=m)x-=m;return x;} lli sub(lli a,lli b,lli m=mod){lli x=a-b;while(x<0)x+=m;return x;} lli mul(lli a,lli b,lli m=mod){lli x=a*b;x%=m;return x;} lli gcd(lli a,lli b){while(a&&b)a>b?a%=b:b%=a;return a+b;} lli lcm(lli a,lli b){return (max(a,b)/gcd(a,b))*min(a,b);} struct pair_hash { std::size_t operator () (const std::pair &p) const { auto h1 = std::hash{}(p.first); auto h2 = std::hash{}(p.second); return h1 ^ h2; } }; struct cmp{ bool operator()(pair const & l,pair const & r){ return true; } }myobject; int n; vlli fact; void factorise(lli a){ if(a==1)return; int sq=sqrt(a); FOR(i,2,sq){ if(a%i==0){ factorise(i); factorise(a/i); return; } } fact.pb(a); } int main() { LOCAL=0; if(LOCAL){ freopen("C:\\Users\\Smit Patel\\Downloads\\D-large.in","r",stdin); freopen("C:\\Users\\Smit Patel\\Desktop\\out.txt","w",stdout); } si(n); lli tot=0; while(n--){ lli a; slli(a); fact.clear(); factorise(a); sort(all(fact)); reverse(all(fact)); lli ans=1,l=1,parts=1; FOR(i,0,sz(fact)-1){ a=a/fact[i]; parts*=fact[i]; ans+=parts; } tot+=ans; } cout<