#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define pii pair<int,int>
#define vi vector<int>
#define si set<int>
#define qi queue<int>
#define sti stack<int>
#define fi first
#define se second
#define pb push_back
const int N=100+5;
const int M=200000+5;
int n,m;
int a[N],l[M],r[M];
int main(){
freopen ("sortingnet.in","r",stdin);
freopen ("sortingnet.out","w",stdout);
scanf("%d%d",&n,&m);
for (int i=1;i<=m;i++){
scanf("%d%d",&l[i],&r[i]);
if (l[i]>r[i])swap(l[i],r[i]);
}
for (int i=0;i<(1<<n);i++){
int cnt=0;
for (int j=0;j<n;j++){
if (i&(1<<j))a[j+1]=1,cnt++;
else a[j+1]=0;
}
for (int j=1;j<=m;j++){
if (a[l[j]]<a[r[j]])swap(a[l[j]],a[r[j]]);
}
for (int j=1;j<=cnt;j++){
if (!a[j]){
printf("No!\n");return 0;
}
}
}
printf("Yes!\n");
return 0;
}