#include <bits/stdc++.h>
const double eps = 1e-7, PI = 3.1415926;
const int N = 2e5 + 10;
using namespace std;
int n, q, m, k, x, y, a[5][N], mx = -1, mn = 1e9, sum, t;
char c[N];
string s, s1, s2;
map<int, int> mp;
vector<int> vec;
set<int> st[3];
bool ok(int x, int y) {
  return (!a[x ^ 1][y - 1] && !a[x ^ 1][y + 1] && !a[x ^ 1][y]);
}
int main() {
  cin >> n >> k;
  while (k--) {
    cin >> x >> y;
    x--;
    if (!a[x][y]) {
      a[x][y] = 1;
      if (!ok(x, y)) {
        st[x].insert(y);
        if (a[x ^ 1][y]) {
          st[x ^ 1].insert(y);
        }
        if (a[x ^ 1][y - 1]) {
          st[x ^ 1].insert(y - 1);
        }
        if (a[x ^ 1][y + 1]) {
          st[x ^ 1].insert(y + 1);
        }
      }
    } else {
      a[x][y] = 0;
      if (st[x].find(y) != st[x].end()) st[x].erase(y);
      if (a[x ^ 1][y] && ok(x ^ 1, y)) {
        if (st[x ^ 1].find(y) != st[x ^ 1].end()) st[x ^ 1].erase(y);
      }
      if (a[x ^ 1][y - 1] && ok(x ^ 1, y - 1)) {
        if (st[x ^ 1].find(y - 1) != st[x ^ 1].end()) st[x ^ 1].erase(y - 1);
      }
      if (a[x ^ 1][y + 1] && ok(x ^ 1, y + 1)) {
        if (st[x ^ 1].find(y + 1) != st[x ^ 1].end()) st[x ^ 1].erase(y + 1);
      }
    }
    if (st[0].size() || st[1].size()) {
      cout << "No" << endl;
    } else {
      cout << "Yes" << endl;
    }
  }
  return 0;
}
