#include <iostream>
typedef long long int type;
using namespace std;
const type size = 10;
type mod (type a) // a%10
{
type next=a/10;
return a-10*next;
}
void silnia (type n)
{
cout << "nie ma mnie" << endl;
unsigned int * const T = new unsigned int [size];
for(type i = 1; i!=size; ++i)
*(T + i) = 0;
*T = 1;
type i;
type liczba_cyfr = 1;
for(type k = 2; k<=n; ++k) // 2, 3, 4,..., n
{
for(i = 0; i<liczba_cyfr; ++i) // mnozymy kazdą cyfre
*(T+i)*= k;
for(i = 0; i<liczba_cyfr || T[i]>0; ++i)
{
T[i+1]+= T[i];
T[i] = mod(T[i]);
}
liczba_cyfr = i;
}
for(unsigned int *wsk = T+size-1; wsk>=T ; --wsk)
cout<<*wsk;
return;
}
int main()
{
type n;
cin >> n;
silnia (n);
return 0;
}