import java.util.Scanner;
/**
* 输入n, 求 y1=1!+3!+...m!(m是小于等于n的最大奇数) y2=2!+4!+...p!(p是小于等于n的最大偶数)
*
* @author kif
*
*/
public class Factorial {
// 最大奇数
static int m;
// 最大偶数
static int p;
/*
* 阶乘
*/
public static void factorial(int f , int m) {
long sum = 0;
for (; f <= m; f += 2) {
long sum2 = 1;
for (int j = 1; j <= f; j++) {
sum2 *= j;
}
sum += sum2;
}
System.out.println(sum);
}
/*
* n的最大奇数阶乘
*/
public static void obbNumber(int m) {
long sum = 0;
for (int i = 1; i <= m; i += 2) {
long sum2 = 1;
for (int j = 1; j <= i; j++) {
sum2 *= j;
}
sum += sum2;
}
System.out.println(sum);
}
/*
* n的最大偶数阶乘
* y2=2!+4!+...p!
*/
public static void evenNumber(int p) {
long sum = 0;
for (int i = 2; i <= p ; i += 2) {
long sum2 = 1;
for (int j = 1; j <= i; j++) {
sum2 *= j;
}
sum += sum2;
}
System.out.println(sum);
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入 n = ");
int n = input.nextInt();
if (n % 2 == 0) {
p = n;
m = n - 1;
} else {
m = n;
p = n - 1;
}
System.out.println("p = " + p + " m = " + m);
Factorial.evenNumber(p);
Factorial.obbNumber(m);
Factorial.factorial(2, p);
Factorial.factorial(1, m);
input.close();
}
}