def f(n): r=1 for i in range(1,n+1): r*=i return r from itertools import permutations N,S=map(int,input().split()) T=[1]*(S+1) K=f(S) X=[0]*(S+1) P=[0] for j in range(S,0,-1): K//=j a,N=divmod(N,K) i=1 while True: if T[i]==1 and a==0: break elif T[i]==1 and a!=0: a-=1 i+=1 T[i]=0 P.append(i) Q=[0]*(S+1) for i in range(1,S+1): Q[P[i]]=i A=0 T=[1]*(S+1) for i in range(1,S+1): K=f(S-i) for j in range(1,Q[i]): if T[j]==1: A+=K T[Q[i]]=0 print(A)