import java.util.Scanner;
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {
int n = in.nextInt();
BigInteger fac = new BigInteger("1");
for (int i = 2; i <= n; i++)
fac = fac.multiply(new BigInteger(String.valueOf(i)));
System.out.println(fac);
}
}
} import java.util.*;
import java.math.*;
public class Main{
public static void main(String [] args){
Scanner cin=new Scanner(System.in);
while(cin.hasNext()){
int a=cin.nextInt();
BigInteger ans=new BigInteger("1");
for(int i=1;i<=a;i++){
ans=ans.multiply(BigInteger.valueOf(i));
}
System.out.println(ans);
}
}
}
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()){
int n = scanner.nextInt();
BigInteger i = new BigInteger("1");
for (int j = 1; j <= n; j++) i=i.multiply(new BigInteger(String.valueOf(j)));
System.out.println(i);
}
}
} import java.util.*;
import java.math.*;
public class Main{
public static void main(String args[])
{
BigInteger a=BigInteger.valueOf(1);
int i;
Scanner cin=new Scanner(System.in);
while(cin.hasNextInt())
{
int n;
n=cin.nextInt();
for(i=1;i<=n;i++)
{
a=a.multiply(BigInteger.valueOf(i));
}
System.out.println(a);
}
}
} import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
while (reader.hasNext()) {
ArrayList<Integer> res = new ArrayList<>();
res.add(1);
int N = reader.nextInt();
int prod;
for (int i = 1; i <= N; ++i) {
int carry = 0;
for (int j = 0; j < res.size(); ++j) {
prod = i * res.get(j) + carry;
carry = (prod / 10);
res.set(j, prod % 10);
}
while (carry > 0) {
res.add(carry%10);
carry /= 10;
}
}
StringBuilder sb = new StringBuilder();
for (int i = res.size() - 1; i >= 0; --i)
sb.append(res.get(i));
System.out.println(sb.toString());
}
}
}