#include<bits/stdc++.h>
#define MAX 500000
int Power(int b, int p, int mod) {
long long ans=1,y=b;
while (p > 0) {
if ((p & 1) == 1) {
ans = (ans * y) % mod;
}
y = (y * y) % mod;
p >>= 1;
}
return (int)(ans % mod);
}
bool arr[MAX+1];
int LIMIT = (int)sqrt(MAX);
int primes[MAX];
int sz = 0;
void E_primes() {
for (int i = 2; i <= MAX; i++) {
if (arr[i] == true) {
primes[sz++] = i;
}
}
}
void Calculate_primes() {
for (int i = 0; i <= MAX; i++) {
arr[i] = true;
}
arr[0] = arr[1] = false;
for (int i = 2; i <= LIMIT;) {
if (arr[i] == true) {
for (int j = i + i; j <= MAX; j += i) {
arr[j] = false;
}
}
if (i == 2) {
i += 1;
} else {
i += 2;
}
}
E_primes();
}
int Factors(int no) {
int cnt = 1;
int ans = 1;
int number = no;
for (int i = 0; i < sz && (primes[i] <= (int)sqrt(number)); i++) {
cnt = 1;
while (number % primes[i] == 0) {
cnt++;
number /= primes[i];
}
ans *= cnt;
}
if (number > 1) {
ans = ans * 2;
}
return (ans);
}
bool check[MAX+1];
void Perfect() {
check[0] = false;
for (int i = 1; i * i <= MAX; i++) {
check[i * i] = true;
}
}
int main(void){
int T;
Calculate_primes();
Perfect();
scanf("%d",&T);
while(T--){
int N;
scanf("%d",&N);
if(N==1||N==2||N==3)
printf("1\n");
else if (arr[N]==true)
printf("1\n");
else {
int cnt = Factors(N);
if (check[N] == false) {
int ans = Power(N, (cnt - 2) / 2, 10000);
if (ans == 0) {
printf("0000\n");
} else {
printf("%d\n",ans);
}
} else {
int mid = (int)sqrt(N);
int ans = Power(mid, (cnt - 2), 10000);
if (ans == 0) {
printf("0000\n");
} else {
printf("%d\n",ans);
}
}
}
}
}
CiAgICAgICAjaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgoKICAgICAjZGVmaW5lIE1BWCA1MDAwMDAKCgoKICAgIGludCBQb3dlcihpbnQgYiwgaW50IHAsIGludCBtb2QpIHsKCiAgICAgICAgbG9uZyBsb25nIGFucz0xLHk9YjsKICAgICAgICB3aGlsZSAocCA+IDApIHsKICAgICAgICAgICAgaWYgKChwICYgMSkgPT0gMSkgewogICAgICAgICAgICAgICAgYW5zID0gKGFucyAqIHkpICUgbW9kOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHkgPSAoeSAqIHkpICUgbW9kOwogICAgICAgICAgICBwID4+PSAxOwogICAgICAgIH0KICAgICAgICByZXR1cm4gKGludCkoYW5zICUgbW9kKTsKICAgIH0KCgoKCgogICAgIGJvb2wgYXJyW01BWCsxXTsKICAgIGludCBMSU1JVCA9IChpbnQpc3FydChNQVgpOwogICAgaW50IHByaW1lc1tNQVhdOwogICAgaW50IHN6ID0gMDsKCiAgICAgdm9pZCBFX3ByaW1lcygpIHsKICAgICAgICBmb3IgKGludCBpID0gMjsgaSA8PSBNQVg7IGkrKykgewogICAgICAgICAgICBpZiAoYXJyW2ldID09IHRydWUpIHsKICAgICAgICAgICAgICAgIHByaW1lc1tzeisrXSA9IGk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgIHZvaWQgQ2FsY3VsYXRlX3ByaW1lcygpIHsKCiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPD0gTUFYOyBpKyspIHsKICAgICAgICAgICAgYXJyW2ldID0gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgYXJyWzBdID0gYXJyWzFdID0gZmFsc2U7CiAgICAgICAgZm9yIChpbnQgaSA9IDI7IGkgPD0gTElNSVQ7KSB7CiAgICAgICAgICAgIGlmIChhcnJbaV0gPT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgZm9yIChpbnQgaiA9IGkgKyBpOyBqIDw9IE1BWDsgaiArPSBpKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyW2pdID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGkgPT0gMikgewogICAgICAgICAgICAgICAgaSArPSAxOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaSArPSAyOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIEVfcHJpbWVzKCk7CiAgICB9CgoKCgoKICAgIGludCBGYWN0b3JzKGludCBubykgewoKICAgICAgICAgaW50IGNudCA9IDE7CiAgICAgICAgICBpbnQgYW5zID0gMTsKCiAgICAgICAgaW50IG51bWJlciA9IG5vOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc3ogJiYgKHByaW1lc1tpXSA8PSAoaW50KXNxcnQobnVtYmVyKSk7IGkrKykgewogICAgICAgICAgICBjbnQgPSAxOwogICAgICAgICAgICB3aGlsZSAobnVtYmVyICUgcHJpbWVzW2ldID09IDApIHsKICAgICAgICAgICAgICAgIGNudCsrOwogICAgICAgICAgICAgICAgbnVtYmVyIC89IHByaW1lc1tpXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBhbnMgKj0gY250OwogICAgICAgIH0KICAgICAgICBpZiAobnVtYmVyID4gMSkgewogICAgICAgICAgICBhbnMgPSBhbnMgKiAyOwogICAgICAgIH0KICAgICAgICByZXR1cm4gKGFucyk7CiAgICB9CgoKCiAgICAgICBib29sIGNoZWNrW01BWCsxXTsKCiAgICAgdm9pZCBQZXJmZWN0KCkgewoKICAgICAgICBjaGVja1swXSA9IGZhbHNlOwogICAgICAgIGZvciAoaW50IGkgPSAxOyBpICogaSA8PSBNQVg7IGkrKykgewogICAgICAgICAgICBjaGVja1tpICogaV0gPSB0cnVlOwogICAgICAgIH0KICAgIH0KCgoKCiAgICAgICBpbnQgbWFpbih2b2lkKXsKCiAgICAgICBpbnQgVDsKICAgICAgIENhbGN1bGF0ZV9wcmltZXMoKTsKICAgICAgIFBlcmZlY3QoKTsKICAgICAgIHNjYW5mKCIlZCIsJlQpOwogICAgICAgd2hpbGUoVC0tKXsKICAgICAgICBpbnQgTjsKICAgICAgICBzY2FuZigiJWQiLCZOKTsKICAgICAgICBpZihOPT0xfHxOPT0yfHxOPT0zKQogICAgICAgICAgICBwcmludGYoIjFcbiIpOwogICAgICAgIGVsc2UgaWYgKGFycltOXT09dHJ1ZSkKICAgICAgICAgICAgcHJpbnRmKCIxXG4iKTsKICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICBpbnQgY250ID0gRmFjdG9ycyhOKTsKICAgICAgICAgICAgaWYgKGNoZWNrW05dID09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICBpbnQgYW5zID0gUG93ZXIoTiwgKGNudCAtIDIpIC8gMiwgMTAwMDApOwogICAgICAgICAgICAgICAgaWYgKGFucyA9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIwMDAwXG4iKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlZFxuIixhbnMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaW50IG1pZCA9IChpbnQpc3FydChOKTsKICAgICAgICAgICAgICAgIGludCBhbnMgPSBQb3dlcihtaWQsIChjbnQgLSAyKSwgMTAwMDApOwogICAgICAgICAgICAgICAgaWYgKGFucyA9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIwMDAwXG4iKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlZFxuIixhbnMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgfQogICAgICAgfQo=