def Smallest_Prime_Factor(N): """0,1,2,...,Nの最小の素因数のリスト(0,1については1にしている) """ N=abs(N) L=[0]*(N+1) L[0]=L[1]=1 for p in range(2,N+1): if L[p]==0: for q in range(p,N+1,p): if L[q]==0: L[q]=p return L def Faster_Prime_Factorization(N,L): """ L:Smallest_Prime_Factors(N)で求めたリスト """ N=abs(N) if N<=1: return [N] D=[] a=L[N] k=0 while N>1: if a==L[N]: k+=1 else: D.append([a,k]) a=L[N] k=1 N//=L[N] D.append([a,1]) return D #================================================ N,K=map(int,input().split()) T=Smallest_Prime_Factor(N) X=0 for i in range(2,N+1): X+=(len(Faster_Prime_Factorization(i,T))>=K) print(X)