#include <stdio.h>

#define N 200
#define SIZE 400

int a[N][SIZE] = {{1, 1}, {1, 2}, {1, 6}};

void Init(int n)
{
	int i, j = 1, temp = 0;

	for (i = a[n-1][0];i > 0;--i)
	{
		temp += a[n-1][i] * (n+1);
		a[n][j++] = temp % 10;
		temp /= 10;
	}
	while (temp)
	{
		a[n][j++] = temp % 10;
		temp /= 10;
	}
	a[n][0] = --j;

	for (i = 0;++i <= j;--j)
		temp = a[n][j], a[n][j] =
		a[n][i], a[n][i] = temp;
}

void Add(int s[], int b[])
{
	int temp = 0, c[SIZE] = {0};
	int k = 1, i = s[0], j = b[0];
	
	for (;i && j;--i, --j)
	{
		temp += s[i] + b[j];
		c[k++] = temp % 10;
		temp /= 10;
	}
	while (i)
	{
		temp += s[i--];
		c[k++] = temp % 10;
		temp /= 10;
	}
	while (j)
	{
		temp += b[j--];
		c[k++] = temp % 10;
		temp /= 10;
	}
	while (temp)
	{
		c[k++] = temp % 10;
		temp /= 10;
	}
	s[0] = --k;
	for (i = 1;k;s[i++] = c[k--]);
}

int main()
{
	int i, b[SIZE] = {0};

	for	(i = 3;i < N;Init(i++));
	for (i = 0;i < N;Add(b, a[i++]));
	for (i = 1;i <= b[0];printf("%d", b[i++]));
	puts("");

	return 0;
}