#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 100;
int n, m, q;
bool ok(vector<pair<int, int>> blocks) {
  vector<int> L(n), R(n, 1e9);
  for (int i = 0; i < blocks.size(); i++) {
    int x = blocks[i].first, y = blocks[i].second;
    x--;
    if (x % 2 == 0)
      R[x / 2] = min(R[x / 2], y);
    else
      L[x / 2] = max(L[x / 2], y);
  }
  int upper = 1e9;
  for (int i = 0; i < n; i++) {
    upper = min(upper, R[i]);
    if (upper < L[i]) return false;
  }
  return true;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> m >> q;
  vector<pair<int, int>> all(q);
  for (int i = 0; i < q; i++) {
    cin >> all[i].first >> all[i].second;
  }
  int lo = 0, hi = q - 1;
  while (hi > lo) {
    int mid = (lo + hi + 1) / 2;
    vector<pair<int, int>> t;
    for (int i = 0; i <= mid; i++) t.push_back(all[i]);
    if (ok(t))
      lo = mid;
    else
      hi = mid - 1;
  }
  for (int i = 0; i <= lo; i++)
    cout << "YES"
         << "\n";
  for (int i = lo + 1; i < q; i++)
    cout << "NO"
         << "\n";
  return 0;
}
