#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int ans[20]; /*int sol, N, a[109], x[109], y[109]; int dx[] = {-1, 1, 0, 0}; int dy[] = {0, 0, -1, 1}; set < vector < int > > S; pair < int , int > h[109]; void back (int pos) { if (pos == N) { x[1] = y[1] = 0; for (int i=2; i<=N; i++) x[i] = x[i - 1] + dx[a[i - 1]], y[i] = y[i - 1] + dy[a[i - 1]]; int minx = 0, miny = 0; for (int i=1; i<=N; i++) { if (x[i] < minx) minx = x[i]; if (y[i] < miny) miny = y[i]; } for (int i=1; i<=N; i++) x[i] -= minx, y[i] -= miny, h[i] = make_pair (x[i], y[i]); vector < int > curr; sort (h + 1, h + N + 1); bool ok = 1; for (int i=2; i<=N; i++) if (h[i] == h[i - 1]) ok = 0; if (ok == 0) return; for (int i=1; i<=N; i++) curr.push_back (h[i].first), curr.push_back (h[i].second); set < vector < int > > :: iterator it = S.find (curr); if (it == S.end ()) { sol ++; S.insert (curr); } return ; } for (int i=0; i<4; i++) a[pos] = i, back (pos + 1); }*/ int main() { //freopen ("input", "r", stdin); //freopen ("output", "w", stdout); ans[1] = 1; ans[2] = 2; ans[3] = 6; ans[4] = 15; ans[5] = 42; ans[6] = 112; ans[7] = 308; ans[8] = 825; ans[9] = 2255; ans[10] = 6026; ans[11] = 16386; ans[12] = 43700; ans[13] = 118334; int N; scanf ("%d", &N); printf ("%d\n", ans[N]); return 0; }