import numpy as np

def good_lad(n):
    n, m = n + 1, n + 2
    M = np.zeros((n, m), dtype=np.int64)
    j = np.arange(1, m) - 1

    for i in range(1, n):
        s = np.cumsum(M[i - j, j])
        M[i, 1:] = s
        M[i, i + 1:] += 1

    print('data size in bytes:', M.nbytes)
    return M[-1, -1]
    
n = int(input())
print(good_lad(n))
