import sys import math def S(): return sys.stdin.readline().rstrip() def I(): return int(sys.stdin.readline().rstrip()) def MI(): return map(int,sys.stdin.readline().rstrip().split()) def LI(): return list(map(int,sys.stdin.readline().rstrip().split())) def LS(): return list(sys.stdin.readline().rstrip().split()) n,s = MI() f = [1] for i in range(1,s): f.append(f[i-1]*i) l = list(range(1, s+1)) p = [] for i in range(s): tmp = n//f[s-1-i] p.append(l[tmp]) l.remove(l[tmp]) n = n%f[s-1-i] q = [] for i in range(s): q.append(p.index(i+1)+1) l = list(range(1, s+1)) ans = 0 for i in range(s): ans += (l.index(q[i]))*f[s-1-i] l.remove(q[i]) print(ans)