#include <cstdio>
#include <vector>
void extractAns(std::vector<int> digits){
for(int i = digits.size()-1; i > 0; --i)
{
printf("%i", digits[i]);
}
printf("%i\n", digits[0]); // Move to next line
}
void multiply(std::vector<int> &init, int next){
int temp = 0;
int index = 0;
while((index < init.size()) || (temp != 0))
{
int multiply_digit = init[index]*next + temp;
init[index] = multiply_digit % 10;
temp = multiply_digit/10;
if((index == init.size()-1) && (temp != 0))
{
init.push_back(0);
}
++index;
}
}
void factorial(int input){
std::vector<int> here({1});
for(int i = 2; i <= input; ++i)
{
multiply(here, i);
}
extractAns(here);
}
int main(){
int no_of_tests;
scanf("%i", &no_of_tests);
int input(0);
for(int i = 0; i < no_of_tests; ++i)
{
scanf("%i", &input);
factorial(input);
}
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPHZlY3Rvcj4KCgp2b2lkIGV4dHJhY3RBbnMoc3RkOjp2ZWN0b3I8aW50PiBkaWdpdHMpewogICAgZm9yKGludCBpID0gZGlnaXRzLnNpemUoKS0xOyBpID4gMDsgLS1pKQogICAgewogICAgICAgIHByaW50ZigiJWkiLCBkaWdpdHNbaV0pOwogICAgfQogICAgcHJpbnRmKCIlaVxuIiwgZGlnaXRzWzBdKTsgLy8gTW92ZSB0byBuZXh0IGxpbmUKfQoKCnZvaWQgbXVsdGlwbHkoc3RkOjp2ZWN0b3I8aW50PiAmaW5pdCwgaW50IG5leHQpewogICAgaW50IHRlbXAgPSAwOwogICAgaW50IGluZGV4ID0gMDsKICAgIHdoaWxlKChpbmRleCA8IGluaXQuc2l6ZSgpKSB8fCAodGVtcCAhPSAwKSkKICAgIHsKICAgICAgICBpbnQgbXVsdGlwbHlfZGlnaXQgPSBpbml0W2luZGV4XSpuZXh0ICsgdGVtcDsKICAgICAgICBpbml0W2luZGV4XSA9IG11bHRpcGx5X2RpZ2l0ICUgMTA7CiAgICAgICAgdGVtcCA9IG11bHRpcGx5X2RpZ2l0LzEwOwogICAgICAgIGlmKChpbmRleCA9PSBpbml0LnNpemUoKS0xKSAmJiAodGVtcCAhPSAwKSkKICAgICAgICB7CiAgICAgICAgICAgIGluaXQucHVzaF9iYWNrKDApOwogICAgICAgIH0KICAgICAgICArK2luZGV4OwogICAgfQp9CgoKCnZvaWQgZmFjdG9yaWFsKGludCBpbnB1dCl7CiAgICBzdGQ6OnZlY3RvcjxpbnQ+IGhlcmUoezF9KTsKICAgIGZvcihpbnQgaSA9IDI7IGkgPD0gaW5wdXQ7ICsraSkKICAgIHsKICAgICAgICBtdWx0aXBseShoZXJlLCBpKTsKICAgIH0KICAgIGV4dHJhY3RBbnMoaGVyZSk7Cn0KCgppbnQgbWFpbigpewogICAgaW50IG5vX29mX3Rlc3RzOwogICAgc2NhbmYoIiVpIiwgJm5vX29mX3Rlc3RzKTsKICAgIGludCBpbnB1dCgwKTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBub19vZl90ZXN0czsgKytpKQogICAgewogICAgICAgIHNjYW5mKCIlaSIsICZpbnB1dCk7CiAgICAgICAgZmFjdG9yaWFsKGlucHV0KTsKICAgIH0KfQ==