#递归做法
#从左上角到右下角,每次有两种走法,即右移一布或下移一布;当走到边界,即坐标点其中一个等于0,则只有一种走法 
def step(n, m):
    if n == 0 or m == 0:
        return 1
    else:
        return step(n - 1, m) + step(n, m - 1)

while True:
    try:
        n, m = map(int, input().split())
        print(step(n , m ))
    except:break