#include <bits/stdc++.h>
using namespace std;
long long mod = 1e9 + 7;
long long n, i, j, ar[300005], d, a, b, m, l, k, pt, q, sz[300005], c0, d0, c,
    r;
long long dp[300005], f = 0;
long long mrk[3][300005];
pair<long long, pair<long long, long long>> p[300005];
vector<int> v, vt;
int main() {
  scanf("%lld %lld", &n, &q);
  set<pair<int, int>> vis;
  set<pair<pair<int, int>, pair<int, int>>> tot;
  for (long long i = 0; i < q; i++) {
    scanf("%lld %lld", &r, &c);
    int f = 0;
    if (vis.find({r, c}) == vis.end() && f == 0) {
      f = 1;
      vis.insert({r, c});
      if (r == 2)
        for (j = c - 1; j <= c + 1; j++) {
          if (j < 1 || j > n) continue;
          if (vis.find({r - 1, j}) != vis.end())
            tot.insert({{r - 1, j}, {r, c}});
        }
      if (r == 1)
        for (j = c - 1; j <= c + 1; j++) {
          if (j < 1 || j > n) continue;
          if (vis.find({r + 1, j}) != vis.end())
            tot.insert({{r, c}, {r + 1, j}});
        }
    }
    if (vis.find({r, c}) != vis.end() && f == 0) {
      auto it = vis.find({r, c});
      if (it != vis.end()) vis.erase({r, c});
      for (j = c - 1; j <= c + 1; j++) {
        if (j < 1 || j > n) continue;
        if (r == 1) {
          tot.erase({{r, c}, {r + 1, j}});
        }
        if (r == 2) {
          tot.erase({{r - 1, j}, {r, c}});
        }
      }
    }
    if (tot.size() == 0)
      cout << "Yes\n";
    else
      cout << "No\n";
  }
}
