#include <iostream>
#include <math.h>
#include <vector>
#include <algorithm>
using namespace std;
int main(void) {
int n, value, copy, sqrt_, i;
int arr[1000], count;
long long sum;
cin >> n;
while(n > 0) {
vector <int> factors;
cin >> value;
copy = value;
sum = 0;
count = 0;
if(copy == 1) {
cout << 0 << endl;
}
else {
arr[0] = 1;
count++;
while(copy%2 == 0) {
arr[count] = 2;
copy = copy/2;
count++;
}
i = 3;
sqrt_ = sqrt(value);
while(copy > 1 && i <= sqrt_) {
if(copy % i == 0) {
arr[count] = i;
count++;
copy = copy/i;
}
else {
i = i+2;
}
}
if(copy > 1) {
arr[count] = copy;
count++;
}
for(i = 1; i <= count; i++) {//decide number of elements
for(int j = 0; j <= (count-i); j++) {//decide starting elements
int num = 1;
for(int k = j;k < (j+i) ; k++) {//multiply and store elements
num = num * arr[k];
}
if(num < value) {
auto alpha = find(factors.begin(), factors.end(),num);
if(alpha == factors.end()) {
factors.push_back(num);
}
}
}
}
int vecsize = factors.size();
for(int l = 0; l < vecsize; l++) {
sum = sum + factors[l];
}
cout << sum << endl;
}
n--;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWF0aC5oPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKHZvaWQpIHsKICAgIGludCBuLCB2YWx1ZSwgY29weSwgc3FydF8sIGk7CiAgICBpbnQgYXJyWzEwMDBdLCBjb3VudDsKICAgIGxvbmcgbG9uZyBzdW07CiAgICBjaW4gPj4gbjsKICAgIHdoaWxlKG4gPiAwKSB7CiAgICAgICAgdmVjdG9yIDxpbnQ+IGZhY3RvcnM7CiAgICAgICAgY2luID4+IHZhbHVlOwogICAgICAgIGNvcHkgPSB2YWx1ZTsKICAgICAgICBzdW0gPSAwOwogICAgICAgIGNvdW50ID0gMDsKICAgICAgICBpZihjb3B5ID09IDEpIHsKICAgICAgICAgICAgY291dCA8PCAwIDw8IGVuZGw7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBhcnJbMF0gPSAxOwogICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICB3aGlsZShjb3B5JTIgPT0gMCkgewogICAgICAgICAgICAgICAgYXJyW2NvdW50XSA9IDI7CiAgICAgICAgICAgICAgICBjb3B5ID0gY29weS8yOwogICAgICAgICAgICAgICAgY291bnQrKzsKICAgICAgICAgICAgfQogICAgICAgICAgICBpID0gMzsKICAgICAgICAgICAgc3FydF8gPSBzcXJ0KHZhbHVlKTsKICAgICAgICAgICAgd2hpbGUoY29weSA+IDEgJiYgaSA8PSBzcXJ0XykgewogICAgICAgICAgICAgICAgaWYoY29weSAlIGkgPT0gMCkgewogICAgICAgICAgICAgICAgICAgIGFycltjb3VudF0gPSBpOwogICAgICAgICAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICAgICAgICAgICAgY29weSA9IGNvcHkvaTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgIGkgPSBpKzI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoY29weSA+IDEpIHsKICAgICAgICAgICAgICAgIGFycltjb3VudF0gPSBjb3B5OwogICAgICAgICAgICAgICAgY291bnQrKzsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IoaSA9IDE7IGkgPD0gY291bnQ7IGkrKykgey8vZGVjaWRlIG51bWJlciBvZiBlbGVtZW50cwogICAgICAgICAgICAgICAgZm9yKGludCBqID0gMDsgaiA8PSAoY291bnQtaSk7IGorKykgey8vZGVjaWRlIHN0YXJ0aW5nIGVsZW1lbnRzCiAgICAgICAgICAgICAgICAgICAgaW50IG51bSA9IDE7CiAgICAgICAgICAgICAgICAgICAgZm9yKGludCBrID0gajtrIDwgKGoraSkgOyBrKyspIHsvL211bHRpcGx5IGFuZCBzdG9yZSBlbGVtZW50cwogICAgICAgICAgICAgICAgICAgICAgICBudW0gPSBudW0gKiBhcnJba107CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmKG51bSA8IHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8gYWxwaGEgPSBmaW5kKGZhY3RvcnMuYmVnaW4oKSwgZmFjdG9ycy5lbmQoKSxudW0pOwogICAgICAgICAgICAgICAgICAgICAgICBpZihhbHBoYSA9PSBmYWN0b3JzLmVuZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWN0b3JzLnB1c2hfYmFjayhudW0pOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGludCB2ZWNzaXplID0gZmFjdG9ycy5zaXplKCk7CiAgICAgICAgICAgIGZvcihpbnQgbCA9IDA7IGwgPCB2ZWNzaXplOyBsKyspIHsKICAgICAgICAgICAgICAgIHN1bSA9IHN1bSArIGZhY3RvcnNbbF07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY291dCA8PCBzdW0gPDwgZW5kbDsKICAgICAgICB9CiAgICAgICAgbi0tOwogICAgfQogICAgcmV0dXJuIDA7Cn0K