#include <bits/stdc++.h>
using namespace std;
using namespace std;
const int maxn = 200000 + 10;
const int inf = 1000000000;
pair<int, int> p[maxn];
int n, m, q;
int suf[maxn];
int exval[maxn << 1];
inline int judge(int cnt) {
  for (auto i = (1); i <= (n << 1); ++i) {
    if (i & 1)
      exval[i] = inf;
    else
      exval[i] = 0;
  }
  for (auto i = (0); i < (cnt); ++i) {
    int r, c;
    tie(r, c) = p[i];
    if (r & 1)
      exval[r] = min(exval[r], c);
    else
      exval[r] = max(exval[r], c);
  }
  int now = n;
  suf[now] = exval[n * 2];
  now--;
  for (int i = 2 * n - 2; i >= 2; i -= 2) {
    suf[now] = max(exval[i], suf[now + 1]);
    now--;
  }
  now = 1;
  for (int i = 1; i <= n * 2; i += 2) {
    if (exval[i] <= suf[now]) {
      return 0;
    }
    now++;
  }
  return 1;
}
inline void solve() {
  int l, r;
  l = r = 0;
  r = q;
  while (l < r) {
    int mid = l + (r - l + 1) / 2;
    if (judge(mid))
      l = mid;
    else
      r = mid - 1;
  }
  for (auto i = (0); i < (l); ++i) puts("YES");
  for (auto i = (l); i < (q); ++i) puts("NO");
}
int main(void) {
  scanf("%d%d%d", &n, &m, &q);
  for (auto i = (0); i < (q); ++i) {
    scanf("%d%d", &p[i].first, &p[i].second);
  }
  solve();
  return 0;
}
