#include <bits/stdc++.h>
using namespace std;
int n, m, st, en;
vector<int> adj[1001];
bool visited[1001];
int parent[1001];
void inp(){
cin >> n >> m;
for(int i = 0; i < m; i++){
int x, y; cin >> x >> y;
adj[x].push_back(y);
adj[y].push_back(x);
}
memset(visited, false, sizeof(visited));
}
bool DFS(int u){
visited[u] = true;
for(int v : adj[u]){
if(!visited[v]){
parent[v] = u;
if(DFS(v)) return true;
}
else if(v != parent[u]){
return true;
}
}
return false;
}
bool BFS(int u){
visited[u] = true;
queue<int> q;
q.push(u);
while(! q.empty()){
int v = q.front(); q.pop();
for(int x : adj[v]){
if(!visited[x]){
q.push(x); visited[x] = true; parent[x] = v;
}
else if(x != parent[v]){
return true;
}
}
}
return false;
}
int main(){
inp();
for(int i = 1; i <= n; i++){
if(!visited[i]){
if(DFS(i)){
cout << "YES\n";
return 0;
}
}
}
cout << "NO\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbiwgbSwgc3QsIGVuOwp2ZWN0b3I8aW50PiBhZGpbMTAwMV07CmJvb2wgdmlzaXRlZFsxMDAxXTsKaW50IHBhcmVudFsxMDAxXTsKCnZvaWQgaW5wKCl7CgljaW4gPj4gbiA+PiBtOwoJZm9yKGludCBpID0gMDsgaSA8IG07IGkrKyl7CgkJaW50IHgsIHk7IGNpbiA+PiB4ID4+IHk7CgkJYWRqW3hdLnB1c2hfYmFjayh5KTsKCQlhZGpbeV0ucHVzaF9iYWNrKHgpOwoJfQoJbWVtc2V0KHZpc2l0ZWQsIGZhbHNlLCBzaXplb2YodmlzaXRlZCkpOwp9CgoKYm9vbCBERlMoaW50IHUpewoJdmlzaXRlZFt1XSA9IHRydWU7Cglmb3IoaW50IHYgOiBhZGpbdV0pewoJCWlmKCF2aXNpdGVkW3ZdKXsKCQkJcGFyZW50W3ZdID0gdTsKCQkJaWYoREZTKHYpKSByZXR1cm4gdHJ1ZTsKCQl9CgkJZWxzZSBpZih2ICE9IHBhcmVudFt1XSl7CgkJCXJldHVybiB0cnVlOwoJCX0KCX0KCXJldHVybiBmYWxzZTsKfQoKYm9vbCBCRlMoaW50IHUpewoJdmlzaXRlZFt1XSA9IHRydWU7CglxdWV1ZTxpbnQ+IHE7CglxLnB1c2godSk7Cgl3aGlsZSghIHEuZW1wdHkoKSl7CgkJaW50IHYgPSBxLmZyb250KCk7IHEucG9wKCk7CgkJZm9yKGludCB4IDogYWRqW3ZdKXsKCQkJaWYoIXZpc2l0ZWRbeF0pewoJCQkJcS5wdXNoKHgpOyB2aXNpdGVkW3hdID0gdHJ1ZTsgcGFyZW50W3hdID0gdjsKCQkJfQoJCQllbHNlIGlmKHggIT0gcGFyZW50W3ZdKXsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgkJfQoJfQoJcmV0dXJuIGZhbHNlOwp9CgoKaW50IG1haW4oKXsKCWlucCgpOwoJZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspewoJCWlmKCF2aXNpdGVkW2ldKXsKCQkJaWYoREZTKGkpKXsKCQkJCWNvdXQgPDwgIllFU1xuIjsKCQkJCXJldHVybiAwOwoJCQl9CgkJfQoJfQoJY291dCA8PCAiTk9cbiI7CglyZXR1cm4gMDsKfQo=