#include <bits/stdc++.h>
using namespace std;
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  ;
  int64_t n, q, x, y;
  cin >> n >> q;
  vector<vector<int64_t> > v(3, vector<int64_t>(n + 1, 0));
  set<vector<pair<int64_t, int64_t> > > st;
  for (int64_t i = 0; i < q; i++) {
    cin >> x >> y;
    if (v[x][y] == 0) {
      v[x][y] = 1;
      int64_t z = (x == 1) ? 2 : 1;
      if (v[z][y] == 1) {
        vector<pair<int64_t, int64_t> > vp;
        vp.push_back({x, y});
        vp.push_back({z, y});
        sort((vp).begin(), (vp).end());
        st.insert(vp);
      }
      if (y - 1 >= 1 and v[z][y - 1] == 1) {
        vector<pair<int64_t, int64_t> > vp;
        vp.push_back({x, y});
        vp.push_back({z, y - 1});
        sort((vp).begin(), (vp).end());
        st.insert(vp);
      }
      if (y + 1 <= n and v[z][y + 1] == 1) {
        vector<pair<int64_t, int64_t> > vp;
        vp.push_back({x, y});
        vp.push_back({z, y + 1});
        sort((vp).begin(), (vp).end());
        st.insert(vp);
      }
    } else {
      v[x][y] = 0;
      int64_t z = (x == 1) ? 2 : 1;
      if (v[z][y] == 1) {
        vector<pair<int64_t, int64_t> > vp;
        vp.push_back({x, y});
        vp.push_back({z, y});
        sort((vp).begin(), (vp).end());
        st.erase(vp);
      }
      if (y - 1 >= 1 and v[z][y - 1] == 1) {
        vector<pair<int64_t, int64_t> > vp;
        vp.push_back({x, y});
        vp.push_back({z, y - 1});
        sort((vp).begin(), (vp).end());
        st.erase(vp);
      }
      if (y + 1 <= n and v[z][y + 1] == 1) {
        vector<pair<int64_t, int64_t> > vp;
        vp.push_back({x, y});
        vp.push_back({z, y + 1});
        sort((vp).begin(), (vp).end());
        st.erase(vp);
      }
    }
    if (st.empty())
      cout << "YES"
           << "\n";
    else
      cout << "NO"
           << "\n";
  }
  return 0;
}
