#include <bits/stdc++.h>
using namespace std;
inline int read() {
  int ret = 0, f = 1;
  char ch = getchar();
  while (ch > '9' || ch < '0') {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') {
    ret = (ret << 1) + (ret << 3) + ch - '0';
    ch = getchar();
  }
  return ret * f;
}
int n, m, x, y, deg[25];
bool edge[25][25], vis[25];
int main() {
  n = read();
  m = read();
  for (register int i = 1; i <= m; i++) {
    x = read();
    y = read();
    if (x == y) continue;
    if (edge[x][y]) continue;
    deg[x]++;
    deg[y]++;
    edge[x][y] = 1;
    edge[y][x] = 1;
  }
  for (register int i = 1; i <= n; i++) {
    int st = i, j;
    memset(vis, 0, sizeof(vis));
    vis[st] = 1;
    for (j = 1; j < n; j++) {
      int minn = 0, de = 0;
      for (register int k = 1; k <= n; k++) {
        if (edge[st][k] && !vis[k]) {
          if (de == 0 || minn > deg[k]) {
            de = k;
            minn = deg[k];
          }
        }
      }
      if (de == 0) break;
      st = de;
      vis[st] = 1;
    }
    if (j == n) {
      printf("Yes\n");
      return 0;
    }
  }
  printf("No\n");
  return 0;
}
