#include <bits/stdc++.h>
using namespace std;
const int maxm = 1e5 + 5;
int maze[2][maxm];
int n, q;
set<pair<int, int> > s;
int code(int r, int c) { return r * n + c; }
void link(int r, int c) {
  for (int i = -1; i < 2; i++)
    if (maze[r ^ 1][c + i])
      s.insert(make_pair((code(r, c)), (code(r ^ 1, c + i)))),
          s.insert(make_pair((code(r ^ 1, c + i)), (code(r, c))));
}
void dlink(int r, int c) {
  for (int i = -1; i < 2; i++)
    s.erase(make_pair((code(r, c)), (code(r ^ 1, c + i)))),
        s.erase(make_pair((code(r ^ 1, c + i)), (code(r, c))));
}
bool check(int r, int c) {
  maze[r][c] ^= 1;
  if (maze[r][c])
    link(r, c);
  else
    dlink(r, c);
  if (!s.empty())
    return false;
  else
    return true;
}
int main() {
  scanf("%d%d", &n, &q);
  memset(maze, 0, sizeof maze);
  while (q--) {
    int r, c;
    scanf("%d%d", &r, &c);
    r--;
    if (check(r, c))
      puts("Yes");
    else
      puts("No");
  }
  return 0;
}
