#include <bits/stdc++.h>
using namespace std;
#define FAST ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0)
#define ll long long
const int N = 1e6 + 5;
vector<int>primes;
void sieve()
{
vector<bool> isprime(N, 1);
for(int i = 2; i < N; i++)
{
if(!isprime[i]) continue;
primes.push_back(i);
for(int j = 2*i; j < N; j+=i)
isprime[j] = 0;
}
}
void solve()
{
ll n;
cin >> n;
ll ans = 0, x = n;
for(auto p : primes)
{
if((ll)p*p > n) break;
if(x % p == 0)
{
ans++;
while(x % p == 0) x/=p;
}
}
if(x > 1) ans++;
cout << (1LL << ans) - 2 << endl;
}
int main()
{
FAST;
int t = 1;
sieve();
cin >> t;
while (t--) solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgRkFTVCBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApLCBjaW4udGllKDApLCBjb3V0LnRpZSgwKQojZGVmaW5lIGxsIGxvbmcgbG9uZwpjb25zdCBpbnQgTiA9IDFlNiArIDU7CnZlY3RvcjxpbnQ+cHJpbWVzOwp2b2lkIHNpZXZlKCkKewogICAgdmVjdG9yPGJvb2w+IGlzcHJpbWUoTiwgMSk7CiAgICBmb3IoaW50IGkgPSAyOyBpIDwgTjsgaSsrKQogICAgewogICAgICAgIGlmKCFpc3ByaW1lW2ldKSBjb250aW51ZTsKICAgICAgICBwcmltZXMucHVzaF9iYWNrKGkpOwogICAgICAgIGZvcihpbnQgaiA9IDIqaTsgaiA8IE47IGorPWkpCiAgICAgICAgICAgIGlzcHJpbWVbal0gPSAwOwogICAgfQp9CnZvaWQgc29sdmUoKQp7CiAgICBsbCBuOwogICAgY2luID4+IG47CiAgICBsbCBhbnMgPSAwLCB4ID0gbjsKICAgIGZvcihhdXRvIHAgOiBwcmltZXMpCiAgICB7CiAgICAgICAgaWYoKGxsKXAqcCA+IG4pIGJyZWFrOwogICAgICAgIGlmKHggJSBwID09IDApCiAgICAgICAgewogICAgICAgICAgICBhbnMrKzsKICAgICAgICAgICAgd2hpbGUoeCAlIHAgPT0gMCkgeC89cDsKICAgICAgICB9CiAgICB9CiAgICBpZih4ID4gMSkgYW5zKys7CiAgICBjb3V0IDw8ICgxTEwgPDwgYW5zKSAtIDIgPDwgZW5kbDsKfQppbnQgbWFpbigpCnsKICAgIEZBU1Q7CiAgICBpbnQgdCA9IDE7CiAgICBzaWV2ZSgpOwogICAgY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKSBzb2x2ZSgpOwogICAgcmV0dXJuIDA7Cn0K