import sys sys.setrecursionlimit(10 ** 6) from collections import * def MI(): return map(int, sys.stdin.readline().split()) def main(): def dfs(u,pu=-1): res=1 for cu in to[u]: if cu==pu:continue res+=dfs(cu,u) return res to=defaultdict(list) n,m=MI() ss=set() for _ in range(m): a,b=MI() to[a].append(b) to[b].append(a) ss.add(a) ss.add(b) odd=sum(len(x)%2 for x in to.values()) sz=len(ss) root=ss.pop() if odd==1 or odd>2 or dfs(root)!=sz: print("NO") else: print("YES") main()