#include using namespace std; typedef long long ll; struct UF { vector par,cnt; UF(int n) { cnt.resize(n,1); for (int i=0;i>n>>m; UF u(n); int edge[n]; for (int i=0;i>a>>b; edge[a]++; edge[b]++; u.unite(a,b); } int cnt=0; for (int i=0;i1) cnt++; } } if (cnt>1) { puts("NO"); return 0; } int odd=0; for (int i=0;i