#include<iostream>
#include<malloc.h>
#define MAX_SIZE 80
using namespace std;
int current;
void proMul(int* a, int num)
{
int tempc=0;
int temp=0;
while(tempc<=(current-1))
{
int x= (*(a+tempc)*num)+temp;
*(a+tempc)= x%10;
temp= x/10;
tempc++;
}
tempc--;
while(temp>0)
{
tempc++;
*(a+tempc) = temp%10;
temp/=10;
}
current = tempc+1;
}
void printa(int* ans)
{
int temp= current-1;
while(temp>=0)
{
cout<<*(ans+temp);
temp--;
}
cout<<endl;
}
void fac(int num)
{
// int ans[MAX_SIZE]={0};
int i;
int* ans= (int*) (malloc(MAX_SIZE* sizeof(int)));
for(i=0;i<MAX_SIZE;i++)
*(ans+i) = 0;
*ans= 1;
current=1;
while(num>1)
{ proMul(ans, num);
num--;
}
printa(ans);
}
int main()
{
int T;
cin>>T;
int x;
while(T--)
{
cin>>x;
fac(x);
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPG1hbGxvYy5oPgojZGVmaW5lIE1BWF9TSVpFIDgwCiAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOwoKICAgIGludCBjdXJyZW50OwogICAgdm9pZCBwcm9NdWwoaW50KiBhLCBpbnQgbnVtKQogICAgewogICAgIGludCB0ZW1wYz0wOwogICAgIGludCB0ZW1wPTA7CiAgICAgd2hpbGUodGVtcGM8PShjdXJyZW50LTEpKQogICAgIHsKICAgICAgICAgICAgaW50IHg9ICgqKGErdGVtcGMpKm51bSkrdGVtcDsKCiAgICAgICAgICAgICooYSt0ZW1wYyk9IHglMTA7CiAgICAgICAgICAgIHRlbXA9IHgvMTA7ICAgCiAgICAgICAgICAgIHRlbXBjKys7CgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgdGVtcGMtLTsKCiAgICAgd2hpbGUodGVtcD4wKQogICAgIHsKICAgICAgICAgICAgICB0ZW1wYysrOwogICAgICAgICAgICAgICooYSt0ZW1wYykgPSB0ZW1wJTEwOwogICAgICAgICAgICAgIHRlbXAvPTEwOwogICAgICAgICAgICAgIH0KICAgICBjdXJyZW50ID0gdGVtcGMrMTsKCiAgICAgfQoKICAgIHZvaWQgcHJpbnRhKGludCogYW5zKQogICAgewogICAgIGludCB0ZW1wPSBjdXJyZW50LTE7CiAgICAgd2hpbGUodGVtcD49MCkKICAgICB7CiAgICAgICAgY291dDw8KihhbnMrdGVtcCk7CiAgICAgICAgdGVtcC0tOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICBjb3V0PDxlbmRsOwoKICAgICB9CgogICAgdm9pZCBmYWMoaW50IG51bSkKICAgIHsKICAgICAgIC8vICBpbnQgYW5zW01BWF9TSVpFXT17MH07CiAgICAgICAgICAgaW50IGk7CiAgICAgICAgICAgaW50KiBhbnM9IChpbnQqKSAobWFsbG9jKE1BWF9TSVpFKiBzaXplb2YoaW50KSkpOwogICAgICAgZm9yKGk9MDtpPE1BWF9TSVpFO2krKykKICAgICAgICAqKGFucytpKSA9IDA7CiAgICAgICAgICphbnM9IDE7CiAgICAgICAgIGN1cnJlbnQ9MTsKICAgICAgICAgd2hpbGUobnVtPjEpCiAgICAgICAgIHsgICAgICAgICAgIHByb011bChhbnMsIG51bSk7CiAgICAgICAgICAgICAgICAgICAgIG51bS0tOwogICAgICAgICB9CiAgICAgICAgIHByaW50YShhbnMpOwoKICAgIH0KCiAgICBpbnQgbWFpbigpCiAgICB7CiAgICAgICAgaW50IFQ7CiAgICAgICAgY2luPj5UOwogICAgICAgIGludCB4OwogICAgICAgIHdoaWxlKFQtLSkKICAgICAgICB7CiAgICAgICAgICAgICAgICAgIGNpbj4+eDsgICAgCiAgICAgICAgICAgICAgICAgIGZhYyh4KTsKCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICByZXR1cm4gMDsKICAgIH0=
MTAwCjEKMgo1CjMKMQoyCjUKMwoxCjIKNQozCjEKMgo1CjMKMQoyCjUKMwoxCjIKNQozCjEKMgo1CjMKMQoyCjUKMwoxCjIKNQozCjEKMgo1CjMKMQoyCjUKMwoxCjIKNQozCjEKMgo1CjMKMQoyCjUKMwoxCjIKNQozCjEKMgo1CjMKMQoyCjUKMwoxCjIKNQozCjEKMgo1CjMKMQoyCjUKMwoxCjIKNQozCjEKMgo1CjMKMQoyCjUKMwoxCjIKNQozCjEKMgo1CjM=
100
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3
1
2
5
3