/*
#include <stdio.h>
#include<string.h>
int main()
{
char a[101],b[101];
scanf("%s %s",a,b);
if(strlen(a)>strlen(b))
{
printf("%s %s", b, a);
return 0;
}
else if(strlen(a)<strlen(b))
{
printf("%s %s", a, b);
return 0;
}
else
{
for(int i=0;i<strlen(a);i++)
{
if(a[i]<b[i])
{
printf("%s %s",a,b);
return 0;
}
if(a[i]>b[i])
{
printf("%s %s",b,a);
return 0;
}
}
}
printf("%s %s",a,b);
return 0;
}
*/
/*
#include<stdio.h>
int main ()
{
int n,g;
int p=-1000;
int count=0;
int q=0;
int arr[100]={0};
scanf("%d %d",&n,&g);
if(n%g==0)
{
q=n/g;
}
else
{
q=n/g+1;
}
for(int i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
for(int i=0;i<n;i+=g)
{
for(count=i;count<g+i && count < n;count ++)
{
if(p<arr[count]) p=arr[count];
}
printf("%d ",p);
p=-1000;
}
return 0;
}
*/
/*
#include<stdio.h>
int main ()
{
int n,k,s,e,u;
int arr[10000]={0,};
int brr[10000]={0,};
scanf("%d %d",&n,&k);
for(int i=0;i<k;i++)
{
scanf("%d %d %d",&s,&e,&u);
arr[s]=arr[s]+u;
arr[e+1]=arr[e+1]-u;
}
for(int i=1;i<=n;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
for(int i=1;i<=n;i++)
{
for(int j=1;j<=i;j++)
{
brr[i]+=arr[j];
}
printf("%d ",brr[i]);
}
}
*/
/*
#include<stdio.h>
int main ()
{
int h,w,n;func(n-1);
int l,d,x,y;
int arr[100][100];
scanf("%d %d %d",&h,&w,&n);
for(int i=0;i<n;i++)
{
scanf("%d %d %d %d",&l,&d,&x,&y);
if(d==0)
{
for(int j=0;j<l;j++)
{
arr[x][y+j]=1;
}
}
else if(d==1)
{
for(int j=0;j<l;j++)
{
arr[x+j][y]=1;
}
}
}
for(int i=1;i<=h;i++)
{
for(int j=1;j<=w;j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}
*/
/*
#include<stdio.h>
int f(int k);
int main() {
int n = 10;
n = f(n);
printf("%d", n);
}
int f(int k) {
return k+1;
}
*/
/*
#include<stdio.h>
char func(char n[100],int start,int count);
int main ()
{
char n[100];
int s,c;
int k;
scanf("%s",n);
scanf("%d %d",&s,&c);
for(int i=s;i<c+s;i++)
{
k=func(n,i,c);
printf("%c",k);
}
return 0;
}
char func(char n[100],int start,int count)
{
return n[start];
}
*/
/*
#include<stdio.h>
int main() {
char str[10000] = {0};
int i, j, n, k;
scanf("%s", str);
scanf("%d %d", &n, &k);
v(str, n, k);
}
void v(char str[10000], int n, int k) {
int i;
for(i=n; i<n+k; i++) {
printf("%c", str[i]);
}
}
*/
/*
#include<stdio.h>
int main() {
int n;
scanf("%d", &n);
printf("%d", f(n));
}
int f(int n) {
return n+n;
}
*/
/*
#include<stdio.h>
int main() {
int n, m;
n = 10;
m = 20;
printf("%d %d\n", n, m);
f(&n, &m);
printf("%d %d", n, m);
}
void f(int *n, int *m) {
int temp;
temp = *n;
*n = *m;
*m = temp;
}
*/
/*
#include <stdio.h>
void myswap(int *a,int *b);
int main()
{
int a, b;
scanf("%d%d", &a, &b);
myswap(&a, &b);
printf("%d %d", a, b);
}
void myswap(int *a,int *b)
{
int temp;
if(*a>*b)
{
temp=*a;
*a=*b;
*b=temp;
}
}
*/
/*
#include<stdio.h>
int f(int a,int b) {
if(a%2==1 && a<=b)
{
printf("%d ",a);
f(a+2,b);
}
else if(a%2==0)
{
f(a+1,b);
}
else if(a>b)
return 0;
}
int main() {
int a,b,k;
scanf("%d %d", &a,&b);
k=f(a,b);
return 0;
}
*/
/*
#include<stdio.h>
int main ()
{
int n;
scanf("%d",&n);
printf("%d",n*(n+1)/2);
return 0;
}
*/
#include<stdio.h>
int func(int n);
int main ()
{
int n;
scanf("%d",&n);
n=func(n);
printf("%d",n);
}
int func(int n)
{
if(n==1) return 1;
return n*func(n-1);
// f(n) * f(n-1) * f(n-2)...
}