n, s = map(int, input().split()) def fact(n): return 1 if n <= 1 else n * fact(n - 1) p = [] used = [False] * s for i in range(s): for x in range(s): if used[x]: continue if n >= fact(s - 1 - i): n -= fact(s - 1 - i) else: p.append(x) used[x] = True break q = [None] * s for i in range(s): q[p[i]] = i ans = 0 used = [False] * s for i in range(s): for x in range(s): if used[x]: continue if x != q[i]: ans += fact(s - 1 - i) else: used[x] = True break print(ans)