#include<bits/stdc++.h>
using namespace std;
map<long long int,int>m;
void finding(long long int x){
long long int n=x;
while(x%2==0){
m[2]++;
x/=2;
}
for(int i=3;i<x;i+=2){
while(x%i==0){
m[i]++;
x/=i;
}
}
if(x>1){
m[x]++;
}
}
long long int power(long long int x,int y){
if(y==0)return 1;
long long int temp=power(x,y/2);
temp=temp*temp;
if(y&1){
return (x*temp);
}else{
return (temp);
}
}
long long int sums(){
long long int ans=1;
for(map<long long int,int>::iterator it=m.begin();it!=m.end();it++){
long powerrangers=power(it->first,it->second+1)-1;
powerrangers/=((it->first-1));
ans*=powerrangers;
}
return ans;
}
int main()
{
int t;
cin>>t;
while(t--){
long long int n;
cin>>n;
m.clear();
finding(n);
long long int sum=sums();
cout<<sum<<"\n";
}
return 0;
}
CiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgptYXA8bG9uZyBsb25nIGludCxpbnQ+bTsKCnZvaWQgZmluZGluZyhsb25nIGxvbmcgaW50IHgpewoJbG9uZyBsb25nIGludCBuPXg7Cgl3aGlsZSh4JTI9PTApewoJCW1bMl0rKzsKCQl4Lz0yOwoJfQoJZm9yKGludCBpPTM7aTx4O2krPTIpewoJCXdoaWxlKHglaT09MCl7CgkJCW1baV0rKzsKCQkJeC89aTsKCQl9Cgl9CglpZih4PjEpewoJCW1beF0rKzsKCX0KfQoKbG9uZyBsb25nIGludCBwb3dlcihsb25nIGxvbmcgaW50IHgsaW50IHkpewoJaWYoeT09MClyZXR1cm4gMTsKCWxvbmcgbG9uZyBpbnQgdGVtcD1wb3dlcih4LHkvMik7Cgl0ZW1wPXRlbXAqdGVtcDsKCWlmKHkmMSl7CgkJcmV0dXJuICh4KnRlbXApOwoJfWVsc2V7CgkJcmV0dXJuICh0ZW1wKTsKCX0KfQoKCmxvbmcgbG9uZyBpbnQgc3VtcygpewoJbG9uZyBsb25nIGludCBhbnM9MTsKCWZvcihtYXA8bG9uZyBsb25nIGludCxpbnQ+OjppdGVyYXRvciBpdD1tLmJlZ2luKCk7aXQhPW0uZW5kKCk7aXQrKyl7CgkgICAgbG9uZyBwb3dlcnJhbmdlcnM9cG93ZXIoaXQtPmZpcnN0LGl0LT5zZWNvbmQrMSktMTsKCSAgICBwb3dlcnJhbmdlcnMvPSgoaXQtPmZpcnN0LTEpKTsKCSAgICBhbnMqPXBvd2VycmFuZ2VyczsKCX0KCXJldHVybiBhbnM7Cn0KCgppbnQgbWFpbigpCnsKCWludCB0OwoJY2luPj50OwoJd2hpbGUodC0tKXsKCQlsb25nIGxvbmcgaW50IG47CgkJY2luPj5uOwoJCW0uY2xlYXIoKTsKCQlmaW5kaW5nKG4pOwoJCWxvbmcgbG9uZyBpbnQgc3VtPXN1bXMoKTsKCQljb3V0PDxzdW08PCJcbiI7Cgl9CglyZXR1cm4gMDsKfQoK