#include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair PII; typedef vector VI; typedef vector VVI; #define MP make_pair #define PB push_back #define inf 1000000007 long long mod = 1000000007; int p[2000]; void init(int n){ for (int i = 0; i < n; ++i) { p[i]=i; } } int find(int x){ if(x != p[x]){ p[x] = find(p[x]); } return p[x]; } void union_set(int x,int y){ x = find(x); y = find(y); if(x==y) return; p[x]=y; return ; } int main(){ int n,m; cin >> n >> m; vector >v(n); set st; init(n); for(int i=0;i> a >> b; v[a].push_back(b); v[b].push_back(a); union_set(a,b); st.insert(a); st.insert(b); } int x = 0; for(int i=0;i=3){ cout << "NO" << endl; return 0; } int z = -1; bool flag = 0; for(int i=0;i