#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
using namespace std;
void solve() {
  long long n, q;
  cin >> n >> q;
  bool arr[2][n];
  memset(arr, 0, sizeof(arr));
  map<long long, set<long long> > m;
  while (q--) {
    long long r, c;
    cin >> r >> c;
    r--;
    c--;
    if (r == 0) {
      if (arr[r][c]) {
        if (m.find(c) != m.end()) m.erase(c);
      } else {
        if (c - 1 >= 0 and arr[1][c - 1]) m[c].insert(c - 1);
        if (c < n and arr[1][c]) m[c].insert(c);
        if (c + 1 < n and arr[1][c + 1]) m[c].insert(c + 1);
      }
    } else {
      if (arr[r][c]) {
        if (m[c - 1].find(c) != m[c - 1].end()) m[c - 1].erase(c);
        if (m[c].find(c) != m[c].end()) m[c].erase(c);
        if (m[c + 1].find(c) != m[c + 1].end()) m[c + 1].erase(c);
        if (m[c - 1].size() == 0) m.erase(c - 1);
        if (m[c].size() == 0) m.erase(c);
        if (m[c + 1].size() == 0) m.erase(c + 1);
      } else {
        if (c - 1 >= 0 and arr[0][c - 1]) m[c - 1].insert(c);
        if (c < n and arr[0][c]) m[c].insert(c);
        if (c + 1 < n and arr[0][c + 1]) m[c + 1].insert(c);
      }
    }
    arr[r][c] = !arr[r][c];
    if (m.size() == 0)
      cout << "YES";
    else
      cout << "NO";
    cout << "\n";
  }
}
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long t = 1;
  while (t--) solve();
  return 0;
}
