#include <bits/stdc++.h> #define fi first #define se second using namespace std; using LL = long long; constexpr int N = 2e5 + 5; int n, m; int cor[N]; vector<int> g[N]; bool dfs(int u, int c) { cor[u] = c; for (auto v: g[u]) { if ((!cor[v] && !dfs(v, c ^ 3)) || cor[v] == c)return false; } return true; } void solve() { cin >> n >> m; for (int i = 1, x, y; i <= m; ++i)cin >> x >> y, g[x].emplace_back(y), g[y].emplace_back(x); for (int i = 1; i <= n; ++i) { if (!cor[i] && !dfs(i, 1)) { cout << "No\n"; return; } } cout << "Yes\n"; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout << fixed << setprecision(15); int tt = 1; // cin >> tt; while (tt--) solve(); }