#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e3 + 5;
int m, n, k;
int b[N][N];
int dx[4] = {1, -1, 0, 0};
int dy[4] = {0, 0, 1, -1};
const int INF = 1e9 + 5;
void loang(int x, int y, int val) {
queue<pair<int, int>> q;
q.push({x, y});
b[x][y] = INF;
while (!q.empty()) {
auto [cx, cy] = q.front(); q.pop();
for (int d = 0; d < 4; ++d) {
int nx = cx + dx[d];
int ny = cy + dy[d];
if (nx >= 0 && nx < m && ny >= 0 && ny < n && b[nx][ny] == val) {
b[nx][ny] = INF;
q.push({nx, ny});
}
}
}
}
int32_t main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
while (true) {
cin >> m >> n;
if (m == 0 && n == 0) break;
cin >> k;
memset(b, 0, sizeof(b));
for (int i = 1; i <= k; ++i) {
int x1, y1, x2, y2;
cin >> x1 >> y1 >> x2 >> y2;
for (int x = max(x1, 0ll); x < min(x2, m); ++x) {
for (int y = max(y1, 0ll); y < min(y2, n); ++y) {
b[x][y] += (1 << (i));
}
}
}
int ans = 0;
for (int i = 0; i < m; ++i) {
for (int j = 0; j < n; ++j) {
if (b[i][j] != INF && b[i][j] != 0) {
ans++;
loang(i, j, b[i][j]);
}
}
}
cout << ans << "\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgaW50IGxvbmcgbG9uZwp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE4gPSAxZTMgKyA1OwppbnQgbSwgbiwgazsKaW50IGJbTl1bTl07IAppbnQgZHhbNF0gPSB7MSwgLTEsIDAsIDB9OwppbnQgZHlbNF0gPSB7MCwgMCwgMSwgLTF9Owpjb25zdCBpbnQgSU5GID0gMWU5ICsgNTsKCnZvaWQgbG9hbmcoaW50IHgsIGludCB5LCBpbnQgdmFsKSB7CiAgICBxdWV1ZTxwYWlyPGludCwgaW50Pj4gcTsKICAgIHEucHVzaCh7eCwgeX0pOwogICAgYlt4XVt5XSA9IElORjsgCiAgICB3aGlsZSAoIXEuZW1wdHkoKSkgewogICAgICAgIGF1dG8gW2N4LCBjeV0gPSBxLmZyb250KCk7IHEucG9wKCk7CiAgICAgICAgZm9yIChpbnQgZCA9IDA7IGQgPCA0OyArK2QpIHsKICAgICAgICAgICAgaW50IG54ID0gY3ggKyBkeFtkXTsKICAgICAgICAgICAgaW50IG55ID0gY3kgKyBkeVtkXTsKICAgICAgICAgICAgaWYgKG54ID49IDAgJiYgbnggPCBtICYmIG55ID49IDAgJiYgbnkgPCBuICYmIGJbbnhdW255XSA9PSB2YWwpIHsKICAgICAgICAgICAgICAgIGJbbnhdW255XSA9IElORjsgCiAgICAgICAgICAgICAgICBxLnB1c2goe254LCBueX0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgppbnQzMl90IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoMCk7CiAgICAKICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgY2luID4+IG0gPj4gbjsKICAgICAgICBpZiAobSA9PSAwICYmIG4gPT0gMCkgYnJlYWs7CgogICAgICAgIGNpbiA+PiBrOwogICAgICAgIG1lbXNldChiLCAwLCBzaXplb2YoYikpOwoKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBrOyArK2kpIHsKICAgICAgICAgICAgaW50IHgxLCB5MSwgeDIsIHkyOwogICAgICAgICAgICBjaW4gPj4geDEgPj4geTEgPj4geDIgPj4geTI7CiAgICAgICAgICAgIGZvciAoaW50IHggPSBtYXgoeDEsIDBsbCk7IHggPCBtaW4oeDIsIG0pOyArK3gpIHsKICAgICAgICAgICAgICAgIGZvciAoaW50IHkgPSBtYXgoeTEsIDBsbCk7IHkgPCBtaW4oeTIsIG4pOyArK3kpIHsKICAgICAgICAgICAgICAgICAgICBiW3hdW3ldICs9ICgxIDw8IChpKSk7IAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGludCBhbnMgPSAwOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbTsgKytpKSB7CiAgICAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgbjsgKytqKSB7CiAgICAgICAgICAgICAgICBpZiAoYltpXVtqXSAhPSBJTkYgJiYgYltpXVtqXSAhPSAwKSB7CiAgICAgICAgICAgICAgICAgICAgYW5zKys7CiAgICAgICAgICAgICAgICAgICAgbG9hbmcoaSwgaiwgYltpXVtqXSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY291dCA8PCBhbnMgPDwgIlxuIjsgCiAgICB9CgogICAgcmV0dXJuIDA7Cn0K