#include #include #include using namespace std; const int N = 5e3 + 5; vector>graph(N); int deg[N], n, u, v, m; bool vis[N]; int topo() { queueq; int cnt = 0; for (int i = 1; i <= n; ++i) if (deg[i] == 1) { q.push(i); } while (!q.empty()) { u = q.front(); q.pop(); vis[u] = true; for (auto g : graph[u]) { if (vis[g]) continue; if (--deg[g] == 1) q.push(g); ++cnt; } } return cnt; } int main() { scanf("%d%d", &n, &m); for (int i = 1; i <= m; ++i) { scanf("%d%d", &u, &v); graph[u].push_back(v); graph[v].push_back(u); deg[u]++; deg[v]++; } int res = topo(); if (res & 1) puts("Yes"); else puts("No"); return 0; }