#include using namespace std; #define ll long long int #define MAX 100005 #define MOD 1000000007 #define INF 1e9 #define vi vector #define vl vector #define pii pair #define pll pair #define fi first #define se second #define pb push_back #define eb emplace_back #define sarkysaurabh ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0) #define error(args...) { vector _v = split(#args, ','); err(_v.begin(), args); cerr<<'\n';} vector split(const string& s, char c) { vector v; stringstream ss(s); string x; while (getline(ss, x, c)){ v.emplace_back(x);} return move(v); } void err(vector::iterator it) {} template void err(vector::iterator it, T a, Args... args) { cerr << it -> substr((*it)[0] == ' ', it -> length()) << " = " << a << ", "; err(++it, args...); } //int bit[MAX], p[MAX]; //void upd(int i, int v=1) {while(i < MAX){bit[i] += v; i += i&-i;}} //int read(int i) {int s=0; while(i > 0){s += bit[i]; i -= i&-i;} return s;} //int fs(int i) {while(i != p[i]){p[i]=p[p[i]]; i=p[i];} return i;} //ll modexp(ll a, ll b, ll c=MOD) { ll res=1;while(b){res=b&1?(res*a)%c:res; a=(a*a)%c; b>>=1;} return res; } // auto f = [](int a, int b) -> int { return a+b; }; map a; map> dex; ll get(int n) { if(a[n] != 0) return a[n]; ll res = n+1; for(int i=2;i*i<=n;++i) { if(n%i==0) { res = max({res, 1 + (n/i)*get(i), 1 + (i*get(n/i))}); } } return a[n] = res; } ll get2(ll n, ll p) { if(a[n] != 0) return a[n]; ll res = n+1; for(auto x : dex[p]) { if(n%x==0) { res = max({res, 1 + (n/x)*get2(x, p), 1 + (x*get2(n/x, p))}); } } return a[n] = res; } void pre(ll n) { ll m = n; vector prm; for(ll i=2;i*i<=n;++i) { if(n%i==0) { prm.pb(i); while(n%i==0) n/=i; } } if(n>1) prm.pb(n); a[1] = 1; for(auto x : prm) { a[x] = x+1; dex[m].pb(x); } } int main() { int t; cin>>t; ll n, s = 0; while(t--) { cin>>n; pre(n); //cout<