from collections import deque N, M = map(int, input().split()) G = [[] for i in range(N)] for _ in range(M): u, v = map(int, input().split()); u -= 1; v -= 1 G[u].append(v) G[v].append(u) A = [-1] * N que = deque() A[0] = 0; que.append(0) while que: v = que.pop() for nv in G[v]: if A[nv] == -1: A[nv] = A[v] ^ 1 que.append(nv) if A[nv] == A[v]: print("No") exit() print("Yes")