#include <bits/stdc++.h>

int main() {
  using namespace std;
  cin.tie(nullptr)->sync_with_stdio(false);
  int n, m;
  cin >> n >> m;
  vector<set<int>> g(n);
  while (m--) {
    int a, b;
    cin >> a >> b;
    --a, --b;
    g[a].insert(b);
    g[b].insert(a);
  }
  vector<int> que;
  for (int v = 0; v < n; ++v)
    if (size(g[v]) == 1) que.push_back(v);
  int cnt = 0;
  for (int z = 0; z < int(size(que)); ++z) {
    int v = que[z];
    if (size(g[v]) != 1) continue;
    ++cnt;
    int u = *begin(g[v]);
    g[v].erase(u);
    g[u].erase(v);
    if (size(g[u]) == 1) que.push_back(u);
  }
  cout << (cnt & 1 ? "Yes\n" : "No\n");
}