import os
if os.path.exists('in.txt'):
file = open('in.txt')
input = file.readline
from itertools import *
from functools import *
from heapq import *
from collections import *
from math import comb,floor,ceil
import math
inf = 1<<63
readi = lambda: int(input())
readis = lambda: list(map(int,input().split()))
reads = lambda: input().rstrip()
readss = lambda: input().split()
def solution():
n = readi()
for i in range(1):
solution()
def bootstrap(f, stack=[]):
def wrappedfunc(*args, **kwargs):
if stack:
return f(*args, **kwargs)
else:
to = f(*args, **kwargs)
while True:
if type(to) is GeneratorType:
stack.append(to)
to = next(to)
else:
stack.pop()
if not stack:
break
to = stack[-1].send(to)
return to
return wrappedfunc
@bootstrap
def dfs(i,fa):
cnt = 1
for j in filter(lambda j:j!= fa,E[i]):
cnt += yield dfs(j,i)
nonlocal res
res += comb(cnt,k//2) * comb(n-cnt,k//2)
yield cnt
dfs(1,-1)