from collections import deque def bfs(): dq = deque() dist = [10**9 for _ in range(N)] for i in range(N): if dist[i]!=10**9: continue dist[i] = 0 dq.append([i, 0]) while len(dq) != 0: p, h = dq.popleft() for e in edge[p]: if dist[e] == 10**9: dq.append([e, h + 1]) dist[e] = h + 1 return dist N,M=map(int,input().split()) edge = [[] for _ in range(N)] for _ in range(M): a,b=map(int,input().split()) edge[a-1].append(b-1) edge[b-1].append(a-1) dist=bfs() flag = True for i in range(N): for e in edge[i]: if dist[i]%2 == dist[e]%2: flag = False if flag: print("Yes") else: print("No")