#include <bits/stdc++.h>
int tab[32] = {0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, -1, 0, -1,
               1, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, -1, 0, -1};
using std::bitset;
bitset<262144> tag[2];
inline int query(int x, int y) {
  const int sign = (tag[x][y] == 1) ? -1 : 1;
  tag[x][y] = !tag[x][y];
  int cas = tag[x][y + 1];
  cas += tag[!x][y + 1] * 2;
  cas += tag[!x][y] * 4;
  cas += tag[x][y - 1] * 8;
  cas += tag[!x][y - 1] * 16;
  return sign * tab[cas];
}
int main(void) {
  int n, q, cnt = 1;
  scanf("%d%d", &n, &q);
  tag[0][0] = tag[1][0] = 1;
  tag[0][n + 1] = tag[1][n + 1] = 1;
  for (int i = 0; i < q; ++i) {
    int x, y;
    scanf("%d%d", &x, &y);
    cnt += query(x - 1, y);
    if (cnt == 1)
      puts("Yes");
    else
      puts("No");
  }
  return 0;
}
