N,M = map(int,input().split()) G = {i:[] for i in range(1,N+1)} for _ in range(M): a,b = map(int,input().split()) G[a].append(b) G[b].append(a) Col = [-1]*(N+1) ans = "Yes" def dfs(v,p): global ans for u in G[v]: if u==p:continue if Col[u]==-1: Col[u] = 1-Col[v] dfs(u,v) if ans=="No":return elif Col[u]==Col[v]: ans = "No" return Col[0] = 0 for i in range(1,N+1): if Col[i]==-1: dfs(i,0) if ans=="No":break print(ans)