#include <bits/stdc++.h>
using namespace std;
vector<int> v;
vector<vector<int> > m;
set<int> lava;
set<pair<int, int> > bloqueios;
int main() {
  int n, q;
  cin >> n >> q;
  for (int i = 0; i < q; i++) {
    int x, y, pos;
    cin >> y >> x;
    y--;
    x--;
    pos = n * y + x;
    int posBlock = (pos + n) % (2 * n);
    if (lava.count(pos) == 0) {
      lava.insert(pos);
      if (lava.count(posBlock) == 1) {
        bloqueios.insert({min(pos, posBlock), max(pos, posBlock)});
      }
      if (x != n - 1 && lava.count(posBlock + 1) == 1) {
        bloqueios.insert({min(pos, posBlock + 1), max(pos, posBlock + 1)});
      }
      if (x != 0 && lava.count(posBlock - 1) == 1) {
        bloqueios.insert({min(pos, posBlock - 1), max(pos, posBlock - 1)});
      }
    } else {
      lava.erase(pos);
      if (lava.count(posBlock) == 1) {
        if (bloqueios.count({min(pos, posBlock), max(pos, posBlock)})) {
          bloqueios.erase({min(pos, posBlock), max(pos, posBlock)});
        }
      }
      if (x != n - 1 && lava.count(posBlock + 1) == 1) {
        if (bloqueios.count({min(pos, posBlock + 1), max(pos, posBlock + 1)})) {
          bloqueios.erase({min(pos, posBlock + 1), max(pos, posBlock + 1)});
        }
      }
      if (x != 0 && lava.count(posBlock - 1) == 1) {
        if (bloqueios.count({min(pos, posBlock - 1), max(pos, posBlock - 1)})) {
          bloqueios.erase({min(pos, posBlock - 1), max(pos, posBlock - 1)});
        }
      }
    }
    if (bloqueios.size() == 0) {
      cout << "Yes\n";
    } else {
      cout << "No\n";
    }
  }
}
