/*
#include <stdio.h>
int a, n;
long long int pow(int a,int n)
{
int i;
long long int b=1;
if(a==1) return 1;
for(i=1; i<=n; i++)
{
b = b* (long long int)a;
}
return b;
}
int main()
{
scanf("%d%d", &a, &n);
printf("%lld\n", pow(a, n));
}
*/
/*
#include <stdio.h>
int n, a, b, d[1010];
int maxi(int a,int b)
{
int i,c=a;
for(i=a; i<=b; i++)
{
if(d[i]>d[c])
{
c=i;
}
}
return c;
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d%d", &a, &b);
printf("%d\n", maxi(a, b));
}
*/
/*
#include <stdio.h>
void rec(int n)
{
if(n==0)
{
return ;
}
rec(n-1);
printf("%d\n",n);
}
int main()
{
int n;
scanf("%d",&n);
rec(n);
return 0;
}
*/
/*
#include <stdio.h>
void rec(int n)
{
if(n==0)
{
return ;
}
printf("%d\n",n);
rec(n-1);
}
int main()
{
int n;
scanf("%d",&n);
rec(n);
return 0;
}
*/
/*
#include <stdio.h>
void rec(int a,int b)
{
if(a%2==0)
{
a++;
}
if(a<=b)
{
printf("%d ",a);
}
else
{
return;
}
a+=2;
rec(a,b);
}
int main()
{
int a,b;
scanf("%d %d",&a,&b);
rec(a,b);
return 0;
}
*/
#include <stdio.h>
int rec(int n,int sum)
{
if(n==0)
{
return sum;
}
sum*=n;
rec(n-1,sum);
}
int main()
{
int n,sum=1;
scanf("%d",&n);
printf("%d",rec(n,sum));
return 0;
}