/*#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
printf("%d", !a);
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
if (a&&b == 1)
printf("1");
else
printf("0");
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
if (a||b == 1)
printf("1");
else
printf("0");
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
if (a != b)
printf("1");
else
printf("0");
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
if (a == b)
printf("1");
else
printf("0");
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
if (a == 0&&b == 0)
printf("1");
else
printf("0");
return 0;
}*/
/*#include<stdio.h>
int main()
{
long long int a;
scanf("%lld", &a);
printf("%lld", ~a);
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a&&b);
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a||b);
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d", (a&&!b)||(!a&&b));
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d", (a&&b)||(!a&&!b));
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d", !(a||b));
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a>b?a:b);
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
printf("%d", (a<b?a:b)<c?(a<b?a:b):c);
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a>b?a:b);
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
printf("%d", (a<b?a:b)<c?(a<b?a:b):c);
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if (a<(b-c))
printf("advertise");
else if (a>(b-c))
printf("do not advertise");
else
printf("does not matter");
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if(a+b>c)
{
if(a==b&&b==c)
printf("정삼각형");
else if(a==b||b==c)
printf("이등변삼각형");
else if(a*a+b*b==c*c)
printf("직각삼각형");
else if(a+b>c)
printf("삼각형");
}
else
printf("삼각형아님");
return 0;
}*/
/*#include<stdio.h>
int main()
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if(90 > a)
{
if(a%5==0)
printf("%s",((90-a)/5)+b==c?"same":((90-a)/5)+b>c?"win":"lose");
else
printf("%s",(((90-a)/5)+1)+b==c?"same":(((90-a)/5)+1)+b>c?"win":"lose");
}
else
printf("%s", b==c?"same":(b>c?"win":"lose"));
}*/
/*#include<stdio.h>
int main()
{
int n, x;
scanf("%d", &n);
printf("%d\n%s", (n%10*10+n/10)*2<100?(n%10*10+n/10)*2:((n%10*10+n/10)*2)-100, (n%10*10+n/10)*2<100?(n%10*10+n/10)*2<=50?"GOOD":"OH MY GOD":((n%10*10+n/10)*2)-100<=50?"GOOD":"OH MY GOD");
printf("%d\n%s", x = (n%10*10+n/10)*2%100, x<=50? "Good": "Bed");
}*/
/*#include<stdio.h>
int main()
{
int n, i;
scanf("%d", &n);
for(i=1; i<=n; i++)
if(n%i==0) printf("%d ", i);
}*/
/*
#include<stdio.h>
int main()
{
int n, i, a = 0;
scanf("%d", &n);
for(i=1; i<=n; i++)
if(n%i==0) a++;
printf("%s", a>2?"not prime":"prime");
}*/
/*#include<stdio.h>
int main()
{
int a, b, c=1, i;
scanf("%d %d", &a, &b);
for(i=1; i<=b; i++)
c *= a;
printf("%d", c);
}*/
#include<stdio.h>
int main()
{
int n, i;
scanf("%d", &n);
int a = n;
for(i=1; i<n; i++)
a *= n-i;
printf("%d", a);
}