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 i*2<=n: if MIN[i]!=INF: MIN[i*2]=min(MIN[i*2],max(MIN[i]-1,0)) if MAX[i]!=0 and MAX[i]!=-INF: MAX[i*2]=max(MAX[i*2],MAX[i]-1) if i+3<=n: if MIN[i]!=INF: MIN[i+3]=min(MIN[i+3],max(MIN[i]-1,0)) if MAX[i]!=0 and MAX[i]!=-INF: MAX[i+3]=max(MAX[i+3],MAX[i]-1) print('YNEOS'[not (MIN[n]<=0<=MAX[n])::2])