#include <cstdio>
#include <algorithm>
#include <cassert>
using namespace std;

const int N = 100500;

int mx_row[N], mn_row[N], cnt_row[N];
int mx_col[N], mn_col[N], cnt_col[N];

int ok_row = 0, ok_col = 0;

int good_row(int r)
{
    return mx_row[r] == 0 || mx_row[r] - mn_row[r] + 1 == cnt_row[r];
}

int good_col(int c)
{
    return mx_col[c] == 0 || mx_col[c] - mn_col[c] + 1 == cnt_col[c];
}

void add(int r, int c)
{
    ok_row -= good_row(r);
    mx_row[r] = max(mx_row[r], c);
    mn_row[r] = min(mn_row[r], c);
    cnt_row[r]++;
    ok_row += good_row(r);

    ok_col -= good_col(c);
    mx_col[c] = max(mx_col[c], r);
    mn_col[c] = min(mn_col[c], r);
    cnt_col[c]++;
    ok_col += good_col(c);
}

int main()
{
    assert(freopen("turtles.in", "r", stdin));
    assert(freopen("turtles.out", "w", stdout));
    int w, h;
    assert(scanf("%d %d", &h, &w));
    for (int i = 1; i <= w; i++)
        mn_col[i] = h + 1, mx_col[i] = 0, ok_col++;
    for (int i = 1; i <= h; i++)
        mn_row[i] = w + 1, mx_row[i] = 0, ok_row++;
    
    int n;
    assert(scanf("%d", &n));
    for (int i = 0; i < n; i++)
    {
        int r, c;
        assert(scanf("%d %d", &r, &c));
        add(r, c);
    }
    puts(ok_col + ok_row == w + h ? "YES" : "NO");

    int q;
    assert(scanf("%d", &q));
    for (int i = 0; i < q; i++)
    {
        int r, c;
        assert(scanf("%d %d", &r, &c));
        add(r, c);
        puts(ok_col + ok_row == w + h ? "YES" : "NO");
    }
}
