#include #define rep(i,n) for(int i=0;i<(int)(n);i++) #define chmin(x,y) x = min((x),(y)) #define chmax(x,y) x = max((x),(y)) #define popcount(x) __builtin_popcount(x) using namespace std; using ll = long long ; using P = pair ; using pll = pair; const int INF = 1e9; const long long LINF = 1e17; const int MOD = 1000000007; //const int MOD = 998244353; const double PI = 3.14159265358979323846; int main(){ int n,m; cin >> n >> m; vector> G(n); vector deg(n,0); rep(i,m){ int a,b; cin >> a >> b; --a;--b; G[a].push_back(b); G[b].push_back(a); deg[a] ++; deg[b] ++; } priority_queue,greater

> pq; rep(i,n) pq.push({deg[i],i}); vector exist(n,-1); int ans = 0; while(!pq.empty()){ int d = pq.top().first; int v = pq.top().second; pq.pop(); if(exist[v] == 0) continue; if(d > 1) continue; exist[v] = 0; if(d == 0) continue; if(d == 1) { ++ans; for(int j:G[v]){ if(exist[j] == 0) continue; deg[j]--; pq.push({deg[j],j}); } } } if(ans%2==0) cout << "No" << endl; else cout << "Yes" << endl; return 0; }