#include <bits/stdc++.h>
using namespace std;
const int MAXN = 10e5;
bool plano[2][MAXN];
int n, q;
map<pair<int, int>, set<pair<int, int> > > conflictos;
int conflictoTot = 0;
void addConflicto(int &x1, int y1, int &x2, int &y2) {
  pair<int, int> a = {x1, y1}, b = {x2, y2};
  conflictos[a].insert(b);
  conflictos[b].insert(a);
  conflictoTot++;
}
void deleteConflictos(int &x, int &y) {
  pair<int, int> a = {x, y};
  for (auto &i : conflictos[a]) {
    conflictos[i].erase(a);
    conflictoTot--;
  }
  conflictos.erase(a);
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  ;
  cin >> n >> q;
  for (int i = 0; i < int(q); i++) {
    int x, y;
    bool posib = true;
    cin >> x >> y;
    x--;
    y--;
    plano[x][y] = !plano[x][y];
    if (plano[x][y]) {
      int newX = (x == 1 ? 0 : 1);
      if (plano[newX][y]) addConflicto(newX, y, x, y);
      if (y - 1 >= 0 and plano[newX][y - 1]) addConflicto(newX, y - 1, x, y);
      if (y + 1 >= 0 and plano[newX][y + 1]) addConflicto(newX, y + 1, x, y);
    } else
      deleteConflictos(x, y);
    if (conflictoTot)
      cout << "No" << '\n';
    else
      cout << "Yes" << '\n';
  }
  return 0;
}
