#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>
using namespace std;
void Factorial(int n, vector<long> &Ans)
{
size_t AnsSize=1;
long Carry=0;
Ans.push_back(1);
for (int i=2; i<=n; i++)
for (size_t j=0; j<AnsSize; j++)
{
long Temp=Ans[j]*i+Carry;
Carry=Temp/100000;
Ans[j]=Temp%100000;
if (Carry>0 && j+1>=AnsSize)
{
Ans.push_back(Carry);
AnsSize++;
Carry=0;
j++;
}
}
}
int main()
{
long n;
while (cin>>n)
{
vector<long> Ans;
clock_t RunTime=clock();
Factorial(n, Ans);
cout<<clock()-RunTime<<" ms"<<endl;
system("pause");
printf("%ld", Ans.back());
for (vector<long>::reverse_iterator i=Ans.rbegin()+1; i!=Ans.rend(); i++) printf("%05ld", *i);
printf("/n");
}
return 0;
}