1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
#include<cstdio>
#include<algorithm>
#include<vector>
#include<utility>

typedef std::pair<int, int> pii;
typedef std::vector<pii> vpii;
typedef std::vector<int> vi;

int n, m, q;
int ** d;

bool cmp_p(pii & p1, pii & p2) {
  if (p1.first < p2.first) {
    return true;
  } else if (p1.first == p2.first) {
    return p1.second < p2.second;
  } else {
    return false;
  }
}

void print_d() {
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      printf("%d ", d[i][j]);
    }
    printf("\n");
  }
  printf("\n");
}

void input() {
  scanf("%d %d %d", &n, &m, &q);
  d = new int * [n];
  for (int i = 0; i < n; i++) {
    d[i] = new int[n];
  }

  vi t[n];

  int x1, y1, x2, y2;
  for (int i = 0; i < m; i++) {
    scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
    // for (int i = x1; i <= x2; i++) {
    //   for (int j = y1; j <= y2; j++) {
    //     d[i - 1][j - 1] = 1 - d[i - 1][j - 1];
    //   }
    // }
    for (int j = y1; j <= y2; j++) {
      t[j - 1].push_back(x1 - 1);
      t[j - 1].push_back(x2);
    }
  }
  // print_d();

  for (int i = 0; i < n; i++) {
    std::sort(t[i].begin(), t[i].end());
    int v = 0;
    int k = 0;
    for (int j = 0; j < n; j++) {
      while(k < t[i].size() && t[i][k] == j) {
        k++;
        v = 1 - v;
      }
      d[j][i] = v;
    }
  }
  // print_d();
}

int count(int w) {
  int res = 0;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      if (d[i][j] == 1) {
        for (int k = 0; k < n; k++) {
          if (d[i][k] != 1) {
            d[i][k] = w;
            res++;
            break;
          }
          if (d[k][j] != 1) {
            d[k][j] = w;
            res++;
            break;
          }
        }
      }
    }
  }
  return res;
}

void solve() {
  printf("%d\n", count(2));
  int x, y;
  for (int i = 0; i < q; i++) {
    scanf("%d %d", &x, &y);
    d[x - 1][y - 1] = 1 - d[x - 1][y - 1];
    printf("%d\n", count(3 + i));
  }
}

int main() {
  input();
  solve();
  return 0;
}