#include<bits/stdc++.h>
using namespace std;
vector<int> e[200005];
int n,m;
bool vis[200005];
bool f;
void dfs( int x, int fa ){
vis[x] = 1;
for( int i = 0; i < e[x].size() && !f; i++ ){
int y = e[x][i];
if( y == fa ) continue;
if( vis[y] == 1 ){
f = 1;
return;
}
dfs( y,x );
}
vis[x] = 0;
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n >> m;
for( int i = 1; i <= m; i++ ){
int a,b;
cin >> a >> b;
e[a].push_back( b );
e[b].push_back( a );
}
for( int i = 1; i <= n; i++ )
if( e[i].size() >= 3 ){
cout << "No" << '\n';
return 0;
}
for( int i = 1; i <= n && !f; i++ )
if( e[i].size() )
dfs( i,0 );
if( !f )
cout << "Yes";
else
cout << "No";
return 0;
}