#include<stdio.h>
#define LIMIT 10000
#define ANS_SIZE 40
int main()
{
int tests, num, ans[ANS_SIZE];
register short int i, j, k;
long temp;
scanf("%d", &tests);
for(k = 1; k <= tests; k++)
{
scanf("%d", &num);
ans[0] = 1;
for(i = 1; i < ANS_SIZE; i++)
ans[i] = 0;
for(i = 2; i <= num; i++)
{
ans[ANS_SIZE - 1] *= i;
for(j = ANS_SIZE - 2 ; j >= 0 ; j--)
{
temp = ans[j] * i;
ans[j] = temp % LIMIT;
ans[j + 1] += temp/LIMIT;
}
}
for(i = (ANS_SIZE - 1); i >= 0; i--)
if(ans[i] != 0)
break;
printf("%d", ans[i]);
i--;
for(; i >= 0; i--)
{
if(ans[i] > 999)
printf("%d", ans[i]);
else if(ans[i] > 99)
printf("0%d", ans[i]);
else if(ans[i] > 9)
printf("00%d", ans[i]);
else if(ans[i] > 0)
printf("000%d", ans[i]);
else
printf("0000");
}
printf("\n");
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KCiNkZWZpbmUgTElNSVQgMTAwMDAKI2RlZmluZSBBTlNfU0laRSA0MAoKaW50IG1haW4oKQp7CiAgICBpbnQgdGVzdHMsIG51bSwgYW5zW0FOU19TSVpFXTsKICAgIHJlZ2lzdGVyIHNob3J0IGludCBpLCBqLCBrOwogICAgbG9uZyB0ZW1wOwoKICAgIHNjYW5mKCIlZCIsICZ0ZXN0cyk7CiAgICBmb3IoayA9IDE7IGsgPD0gdGVzdHM7IGsrKykKICAgIHsKICAgICAgICBzY2FuZigiJWQiLCAmbnVtKTsKICAgICAgICBhbnNbMF0gPSAxOwogICAgICAgIGZvcihpID0gMTsgaSA8IEFOU19TSVpFOyBpKyspCiAgICAgICAgICAgIGFuc1tpXSA9IDA7CgogICAgICAgIGZvcihpID0gMjsgaSA8PSBudW07IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIGFuc1tBTlNfU0laRSAtIDFdICo9IGk7CiAgICAgICAgICAgIGZvcihqID0gQU5TX1NJWkUgLSAyIDsgaiA+PSAwIDsgai0tKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB0ZW1wID0gYW5zW2pdICogaTsKICAgICAgICAgICAgICAgIGFuc1tqXSA9IHRlbXAgJSBMSU1JVDsKICAgICAgICAgICAgICAgIGFuc1tqICsgMV0gKz0gdGVtcC9MSU1JVDsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZm9yKGkgPSAoQU5TX1NJWkUgLSAxKTsgaSA+PSAwOyBpLS0pCiAgICAgICAgICAgIGlmKGFuc1tpXSAhPSAwKQogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIHByaW50ZigiJWQiLCBhbnNbaV0pOwogICAgICAgIGktLTsKICAgICAgICBmb3IoOyBpID49IDA7IGktLSkKICAgICAgICB7CiAgICAgICAgICAgIGlmKGFuc1tpXSA+IDk5OSkKICAgICAgICAgICAgICAgIHByaW50ZigiJWQiLCBhbnNbaV0pOwogICAgICAgICAgICBlbHNlIGlmKGFuc1tpXSA+IDk5KQogICAgICAgICAgICAgICAgcHJpbnRmKCIwJWQiLCBhbnNbaV0pOwogICAgICAgICAgICBlbHNlIGlmKGFuc1tpXSA+IDkpCiAgICAgICAgICAgICAgICBwcmludGYoIjAwJWQiLCBhbnNbaV0pOwogICAgICAgICAgICBlbHNlIGlmKGFuc1tpXSA+IDApCiAgICAgICAgICAgICAgICBwcmludGYoIjAwMCVkIiwgYW5zW2ldKTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgcHJpbnRmKCIwMDAwIik7CiAgICAgICAgfQoKICAgICAgICBwcmludGYoIlxuIik7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==