#include #include #include #include int main() { using namespace std; int n, m; cin >> n >> m; vector> edges(m); vector> g(n); for (auto &[u, v] : edges) { cin >> u >> v; u--; v--; g[u].insert(v); g[v].insert(u); } vector> s(n); for (int v = 0; v < n; v++) { for (int nv : g[v]) { if (g[nv].contains(0)) { s[v].insert(nv); } } } for (auto [u, v] : edges) { if (u == 0 || v == 0) { continue; } if (s[u].empty() || s[v].empty()) { continue; } if (s[u].size() > 2 && s[v].size() > 2) { cout << "YES\n"; return 0; } for (int nu : s[u]) { for (int nv : s[v]) { if (nu != v && nv != u && nu != nv) { cout << "YES\n"; return 0; } } } } cout << "NO\n"; }