//
// SmallFactorials.cpp
// 3
//
// Created by Chintan Shah on 18/08/13.
// Copyright (c) 2013 Chintan Shah. All rights reserved.
//
#include <stdio.h>
#include <iostream>
#include <math.h>
#include <vector>
#include <algorithm>
using namespace std;
inline int FAST_IO()
{ int x=0;
char ch;
ch=getchar_unlocked();
x = ch-48;
while ((ch=getchar_unlocked()) >= 48 && ch <= 57)
x=x*10+ch-48;
return x;
}
int main()
{
int t=FAST_IO();
cout<<t<<endl;
int a[200];
int m=0,temp;
while(t>0)
{
a[0]=1;
int x=FAST_IO();
cout<<x<<endl;
int y=x;
for(;y>=2;y--)
{
for(int i=0;i<=m;i++)
{
temp=(a[i]*y)+temp;
a[i]=temp%10;
temp=temp/10;
}
while(temp>0)
{
a[++m]=temp%10;
temp=temp/10;
}
}
t--;
for(int i=m;i>=0;i--)
{
cout<<a[i];
}
cout<<endl;
for(int i=m;i>=0;i--)
{
a[i]=0;
}
m=0;
}
return 0;
}
Ly8KLy8gIFNtYWxsRmFjdG9yaWFscy5jcHAKLy8gIDMKLy8KLy8gIENyZWF0ZWQgYnkgQ2hpbnRhbiBTaGFoIG9uIDE4LzA4LzEzLgovLyAgQ29weXJpZ2h0IChjKSAyMDEzIENoaW50YW4gU2hhaC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLy8KCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxtYXRoLmg+CiNpbmNsdWRlIDx2ZWN0b3I+IAojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbmxpbmUgaW50IEZBU1RfSU8oKQp7ICAgIGludCB4PTA7CiAgICBjaGFyIGNoOwogICAgY2g9Z2V0Y2hhcl91bmxvY2tlZCgpOwogICAgeCA9IGNoLTQ4OwogICAgd2hpbGUgKChjaD1nZXRjaGFyX3VubG9ja2VkKCkpID49IDQ4ICYmIGNoIDw9IDU3KQogICAgICAgIHg9eCoxMCtjaC00ODsKICAgIHJldHVybiB4Owp9CgoKaW50IG1haW4oKQp7CiAgICBpbnQgdD1GQVNUX0lPKCk7CiAgICBjb3V0PDx0PDxlbmRsOwogICAgaW50IGFbMjAwXTsKICAgIGludCBtPTAsdGVtcDsKICAgIHdoaWxlKHQ+MCkKICAgIHsKICAgICAgICBhWzBdPTE7CiAgICAgICAgaW50IHg9RkFTVF9JTygpOwogICAgICAgIGNvdXQ8PHg8PGVuZGw7CiAgICAgICAgaW50IHk9eDsKICAgICAgICBmb3IoO3k+PTI7eS0tKQogICAgICAgIHsKICAgICAgICBmb3IoaW50IGk9MDtpPD1tO2krKykKICAgICAgICB7CiAgICAgICAgICAgIHRlbXA9KGFbaV0qeSkrdGVtcDsKICAgICAgICAgICAgYVtpXT10ZW1wJTEwOwogICAgICAgICAgICB0ZW1wPXRlbXAvMTA7CiAgICAgICAgfQogICAgICAgICAgICB3aGlsZSh0ZW1wPjApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGFbKyttXT10ZW1wJTEwOwogICAgICAgICAgICAgICAgdGVtcD10ZW1wLzEwOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHQtLTsKICAgICAgICAKICAgICAgICBmb3IoaW50IGk9bTtpPj0wO2ktLSkKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQ8PGFbaV07CiAgICAgICAgICAgIAogICAgICAgIH0KICAgICAgICBjb3V0PDxlbmRsOwogICAgICAgIGZvcihpbnQgaT1tO2k+PTA7aS0tKQogICAgICAgIHsKICAgICAgICAgICAgYVtpXT0wOwogICAgICAgICAgICAKICAgICAgICB9CiAgICAgICAgbT0wOwogICAgfQogICAgcmV0dXJuIDA7CiAgICAKICAgIAp9