n,m = map(int,input().split()) p = [-1]*(2*n+10) def find(x): if p[x] < 0: return x else: p[x] = find(p[x]) return p[x] def union(x,y): x = find(x) y = find(y) if x == y: return if p[x] > p[y]: x,y = y,x p[x] += p[y] p[y] = x graph = [[] for i in range(n+1)] for i in range(m): a,b = map(int,input().split()) union(a, b+n) union(a+n, b) ans = 1 for i in range(1,n+1): ans &= find(i) == find(i+n) print('Yes') if ans else print('No')