import sys from collections import deque n, m = map(int, sys.stdin.readline().split()) adj = [[] for _ in range(n + 1)] for _ in range(m): a, b = map(int, sys.stdin.readline().split()) adj[a].append(b) adj[b].append(a) color = [-1] * (n + 1) for u in range(1, n + 1): if color[u] == -1: queue = deque([u]) color[u] = 0 is_bipart = True found_conflict = False while queue and not found_conflict: v = queue.popleft() for nei in adj[v]: if color[nei] == -1: color[nei] = 1 - color[v] queue.append(nei) else: if color[nei] == color[v]: found_conflict = True is_bipart = False break if found_conflict: break if is_bipart: print("No") sys.exit() print("Yes")