n,k=map(int,input().split()) INF=int(1e9) MIN=[INF]*(n+1) MAX=[-INF]*(n+1) MIN[1]=MAX[1]=k for i in range(1,n): if MIN[i]==INF or MAX[i]==0: continue if i*2<=n: MIN[i*2]=min(MIN[i*2],max(MIN[i]-1,0)) if MAX[i]!=0: MAX[i*2]=max(MAX[i*2],MAX[i]-1) if i+3<=n: MIN[i+3]=min(MIN[i+3],max(MIN[i]-1,0)) if MAX[i]!=0: MAX[i+3]=max(MAX[i+3],MAX[i]-1) print('YNEOS'[not 0<=MAX[n]::2])