class dsu(): n=1 parent_or_size=[-1 for i in range(n)] def __init__(self,N): self.n=N self.num = N self.parent_or_size=[-1 for i in range(N)] def merge(self,a,b): assert 0<=a0: result2.append(result[i]) return result2 def count(self): return self.num import sys from collections import deque, Counter input = lambda: sys.stdin.readline().rstrip() ii = lambda: int(input()) mi = lambda: map(int, input().split()) li = lambda: list(mi()) inf = 2 ** 63 - 1 mod = 998244353 n, m = mi() U = dsu(n + n) for _ in range(m): u, v = mi() u -= 1; v -= 1 U.merge(u, v + n) U.merge(u + n, v) ans = 'Yes' for i in range(n): if not U.same(i, i + n): ans = 'No' print(ans)