#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#include using namespace std; //using namespace atcoder; #define repr(i, a, b) for (int i = (int)(a); i < (int)(b); i++) #define rep(i, n) repr(i, 0, n) #define INF 2e9 #define MOD 1000000007 //#define MOD 998244353 #define LINF (long long)4e18 #define jck 3.141592 #define PI acos(-1.0) const double EPS = 1e-10; using ll = long long; using Pi = pair; using Pl = pair; //using mint = modint1000000007; int dh[] = {-1,0,1,0}; int dw[] = {0,1,0,-1}; int main(){ int n,m; cin >> n >> m; vector> G(n); vector d(n); rep(i,m){ int a,b; cin >> a >> b; a--; b--; G[a].push_back(b); G[b].push_back(a); d[a]++; d[b]++; } queue q; vector used(n); int cnt = 0; rep(i,n){ if(d[i] == 1 and !used[i]){ used[i] = true; q.push(i); while(!q.empty()){ int u = q.front(); cnt++; q.pop(); for(int v: G[u]){ if(used[v]) continue; d[v]--; if(d[v] == 1){ used[v] = true; q.push(v); } } } } } if(cnt%2==1) cout << "Yes" << endl; else cout<< "No" << endl; }