//#include #include using namespace std; //using namespace atcoder; using ll = long long; #define all(A) A.begin(),A.end() using vll = vector; #define rep(i, n) for (long long i = 0; i < (long long)(n); i++) using Graph = vector>; Graph G; vll dist; vector seen; ll gcd(ll(a), ll(b)) { ll c = a; while (a % b != 0) { c = a % b; a = b; b = c; } return b; } int main() { ll N,M; cin>>N>>M; Graph G(N); vll e(N,0); queue Q; rep(i,M){ ll A,B; cin>>A>>B; A--;B--; G[A].push_back(B); G[B].push_back(A); e[A]++; e[B]++; } rep(i,N){ if(e[i]==1){ Q.push(i); } } ll an=0; while(!Q.empty()){ ll v=Q.front();Q.pop(); if(e[v]==0)continue; an++; for(ll nv:G[v]){ e[nv]--; if(e[nv]==1){ Q.push(nv); } } } cout<<(an%2==0?"No":"Yes")<