#include #include #include #include #include using namespace std; const int N = 510; int t, n, m, d[N], fa[N]; set p, s; bool Check() { int cnt = 0; for (auto e : p) { if (d[e] % 2 != 0) { ++cnt; } } if (cnt == 0 || cnt == 2) return true; else return false; } int Find(int x) { return fa[x] ? fa[x] = Find(fa[x]) : x; } int main() { // freopen("train.in", "r", stdin); // freopen("train.out", "w", stdout); scanf("%d%d", &n, &m); memset(d, 0, sizeof(d)); memset(fa, 0, sizeof(fa)); p.clear(); s.clear(); for (int i = 1, u, v; i <= m; ++i) { scanf("%d%d", &u, &v); int fx = Find(u), fy = Find(v); if (fx != fy) { fa[fx] = fy; } ++d[u], ++d[v]; p.insert(u); p.insert(v); } for (auto e : p) s.insert(Find(e)); if (s.size() >= 2) { puts("NO"); return 0; } if (!Check()) { puts("NO"); } else { puts("YES"); } return 0; }