#include namespace zawa { using i16 = std::int16_t; using i32 = std::int32_t; using i64 = std::int64_t; using i128 = __int128_t; using u8 = std::uint8_t; using u16 = std::uint16_t; using u32 = std::uint32_t; using u64 = std::uint64_t; using usize = std::size_t; } // namespace zawa namespace zawa { void SetFastIO() { std::cin.tie(nullptr)->sync_with_stdio(false); } void SetPrecision(u32 dig) { std::cout << std::fixed << std::setprecision(dig); } } // namespace zawa using namespace zawa; int main() { SetFastIO(); int n, m; std::cin >> n >> m; std::vector> g(n); for (int _{} ; _ < m ; _++) { int u, v; std::cin >> u >> v; u--; v--; g[u].emplace_back(v); g[v].emplace_back(u); } std::vector col(n, -1); auto rec{[&](auto rec, int v, int c) -> bool { col[v] = c; for (auto x : g[v]) { if (col[x] == c) return false; if (col[x] == -1 and !rec(rec, x, 1 ^ c)) return false; } return true; }}; bool ans{true}; for (int i{} ; i < n ; i++) { if (col[i] == -1) ans &= rec(rec, i, 0); } std::cout << (ans ? "Yes" : "No") << '\n'; }