#include<bits/stdc++.h>
using namespace std;
vector<long long> a[100005];
long long n,m;
long long visited[100005];
bool check=true;
void bfs(long long x, vector<long long> a[], long long visited[], bool &check)
{
queue<long long> q;
q.push(x);
visited[x]=1;
while (!q.empty())
{
long long u = q.front();
q.pop();
for (long long v : a[u])
{
if (visited[v]==0)
{
visited[v] = 3 - visited[u];
q.push(v);
}
else if (visited[v]==visited[u])
{
check=false;
return;
}
}
}
}
void input()
{
cin>>n>>m;
for (long long i=1;i<=m;i++)
{
long long u,v;
cin>>u>>v;
a[u].push_back(v);
a[v].push_back(u);
}
}
void solve()
{
for (long long i=1;i<=n;i++)
{
if (visited[i]==0)
{
bfs(i,a,visited,check);
if (!check)
{
cout<<"NO";
return;
}
}
}
cout<<"YES";
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
input();
solve();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZlY3Rvcjxsb25nIGxvbmc+IGFbMTAwMDA1XTsKbG9uZyBsb25nIG4sbTsKbG9uZyBsb25nIHZpc2l0ZWRbMTAwMDA1XTsKYm9vbCBjaGVjaz10cnVlOwoKdm9pZCBiZnMobG9uZyBsb25nIHgsIHZlY3Rvcjxsb25nIGxvbmc+IGFbXSwgbG9uZyBsb25nIHZpc2l0ZWRbXSwgYm9vbCAmY2hlY2spCnsKICAgIHF1ZXVlPGxvbmcgbG9uZz4gcTsKCiAgICBxLnB1c2goeCk7CiAgICB2aXNpdGVkW3hdPTE7CgogICAgd2hpbGUgKCFxLmVtcHR5KCkpCiAgICB7CiAgICAgICAgbG9uZyBsb25nIHUgPSBxLmZyb250KCk7CiAgICAgICAgcS5wb3AoKTsKCiAgICAgICAgZm9yIChsb25nIGxvbmcgdiA6IGFbdV0pCiAgICAgICAgewogICAgICAgICAgICBpZiAodmlzaXRlZFt2XT09MCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmlzaXRlZFt2XSA9IDMgLSB2aXNpdGVkW3VdOwogICAgICAgICAgICAgICAgcS5wdXNoKHYpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYgKHZpc2l0ZWRbdl09PXZpc2l0ZWRbdV0pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNoZWNrPWZhbHNlOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cgp2b2lkIGlucHV0KCkKewogICAgY2luPj5uPj5tOwoKICAgIGZvciAobG9uZyBsb25nIGk9MTtpPD1tO2krKykKICAgIHsKICAgICAgICBsb25nIGxvbmcgdSx2OwoKICAgICAgICBjaW4+PnU+PnY7CgogICAgICAgIGFbdV0ucHVzaF9iYWNrKHYpOwogICAgICAgIGFbdl0ucHVzaF9iYWNrKHUpOwogICAgfQp9Cgp2b2lkIHNvbHZlKCkKewogICAgZm9yIChsb25nIGxvbmcgaT0xO2k8PW47aSsrKQogICAgewogICAgICAgIGlmICh2aXNpdGVkW2ldPT0wKQogICAgICAgIHsKICAgICAgICAgICAgYmZzKGksYSx2aXNpdGVkLGNoZWNrKTsKCiAgICAgICAgICAgIGlmICghY2hlY2spCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNvdXQ8PCJOTyI7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgY291dDw8IllFUyI7Cn0KCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CgogICAgaW5wdXQoKTsKICAgIHNvbHZlKCk7Cn0K