#include <iostream>
#include <cstring>
#include <algorithm>
#include <math.h>
using namespace std;
struct hugeint
{
int arr[10004] = {0};
int len = 1;
};
hugeint fec(long long, hugeint);
hugeint jia(hugeint a, hugeint b)
{
hugeint ans;
ans.len = max(a.len, b.len);
for (int i = 1; i <= ans.len; i++)
{
ans.arr[i] += a.arr[i] + b.arr[i];
ans.arr[i + 1] += ans.arr[i] / 10;
ans.arr[i] %= 10;
}
if (ans.arr[ans.len + 1] > 0)
{
ans.len += 1;
}
return ans;
}
hugeint cheng(hugeint a, hugeint b)
{
hugeint ans;
ans.len = a.len + b.len - 1;
for (int j = 1; j <= a.len; j++)
{
for (int i = 1; i <= b.len; i++)
{
ans.arr[j + i - 1] += a.arr[j] * b.arr[i];
ans.arr[j + i] += ans.arr[j + i - 1] / 10;
ans.arr[j + i - 1] %= 10;
}
}
if (ans.arr[ans.len + 1] > 0)
{
ans.len += 1;
}
return ans;
}
void print(hugeint a)
{
for (int i = a.len; i > 0; i--)
{
cout << a.arr[i];
}
cout << endl;
}
int main()
{
long long n = 1;
hugeint S;
hugeint t;
hugeint temp;
hugeint null;
int x = 1;
cin >> n;
null.arr[1] = 1;
for (int i = 0; i < n;)
{
temp = null;
for (int i = n; i > 0; i--)
{
t.arr[1] = i;
temp = cheng(temp, t);
}
S = jia(S, temp);
n = n - 1;
}
print(S);
system("pause");
}