#include <bits/stdc++.h>
using namespace std;
struct Q {
  int x, y, z;
};
const int N = 2e5 + 5;
vector<int> fen[N], sum[N];
long long ct[N];
set<tuple<int, int, int>> st;
void addValue(int x, int y) {
  for (; x < N; x |= x + 1) {
    fen[x].push_back(y);
  }
}
void upd(int i, int x, int z) {
  x = lower_bound(fen[i].begin(), fen[i].end(), x) - fen[i].begin();
  for (; x < fen[i].size(); x |= x + 1) {
    sum[i][x] += z;
  }
}
void upd2d(int x, int y, int z) {
  for (; x < N; x |= x + 1) {
    upd(x, y, z);
  }
}
int que(int i, int x) {
  x = upper_bound(fen[i].begin(), fen[i].end(), x) - fen[i].begin();
  if (x == 0) return 0;
  x--;
  int s = 0;
  for (; x >= 0; x = (x & (x + 1)) - 1) {
    s += sum[i][x];
  }
  return s;
}
int que2d(int x, int y) {
  int s = 0;
  for (; x >= 0; x = (x & (x + 1)) - 1) s += que(x, y);
  return s;
}
void solve(vector<Q> qr) {
  st.clear();
  for (int i = 0; i < N; i++) {
    fen[i].clear();
    sum[i].clear();
  }
  for (const Q &g : qr) {
    if (g.z == 0) addValue(g.x, g.y);
  }
  for (int i = 0; i < N; i++) {
    sort(fen[i].begin(), fen[i].end());
    fen[i].erase(unique(fen[i].begin(), fen[i].end()), fen[i].end());
    sum[i].resize(fen[i].size());
  }
  long long cur = 0;
  for (int i = 0; i < qr.size(); i++) {
    const Q &g = qr[i];
    tuple<int, int, int> p = {g.x, g.y, g.z};
    if (g.z == 0) {
      if (st.count(p)) {
        upd2d(g.x, g.y, -1);
        st.erase(p);
      } else {
        upd2d(g.x, g.y, 1);
        st.insert(p);
      }
    } else {
      if (st.count(p)) {
        cur -= que2d(g.x, g.y);
        st.erase(p);
      } else {
        cur += que2d(g.x, g.y);
        st.insert(p);
      }
    }
    ct[i] += cur;
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int n, m, q;
  cin >> n >> m >> q;
  vector<Q> qr[2];
  for (int i = 0; i < q; i++) {
    int x, y;
    cin >> x >> y;
    x--, y--;
    qr[0].push_back({x / 2, y / 2, x % 2});
    qr[1].push_back({n - 1 - x / 2, m - 1 - y / 2, (x % 2) ^ 1});
  }
  solve(qr[0]);
  solve(qr[1]);
  for (int i = 0; i < q; i++) {
    cout << (ct[i] ? "NO" : "YES") << "\n";
  }
  return 0;
}
