#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
#include <queue>
using namespace std;

typedef pair<int, int> P;
int w, h, n;

int x1[1005] = { 0 }, x2[1005] = { 0 };
int Y1[1005] = { 0 }, Y2[1005] = { 0 };
int dy[] = { 0,-1,0,1 }, dx[] = { 1,0,-1,0 };
int f[3005][3005] = { 0 };
int compress(int *x1, int *x2, int w) {
	vector<int>xs;
	for (int i = 0; i < n; i++) {
		for (int d = -1; d <= 1; d++) {
			int tx1 = x1[i] + d;
			int tx2 = x2[i] + d;
			if (0 <= tx1&&tx1 < w) xs.push_back(tx1);
			if (0 <= tx2&&tx2 < w) xs.push_back(tx2);
			
		}
	}
	sort(xs.begin(), xs.end());
	xs.erase(unique(xs.begin(), xs.end()), xs.end());
	for (int i = 0; i < n; i++) {
		x1[i] = find(xs.begin(), xs.end(), x1[i]) - xs.begin();
		x2[i] = find(xs.begin(), xs.end(), x2[i]) - xs.begin();
	}
	return xs.size();
}

int main() {
	while (true) {
		
		cin >> w >> h;
		if (w == 0 && h == 0) return 0;
		cin >> n;
		for (int i = 0; i < n; i++) {
			cin >> x1[i] >> Y1[i] >> x2[i] >> Y2[i];
			x2[i]--;
			Y2[i]--;
		}
		w = compress(x1, x2, w);
		h = compress(Y1, Y2, h);
		//int f[3005][3005] = { 0 };
		//memset(f, false, sizeof(f));
		for (int i = 0; i < h; i++) {
			for (int j = 0; j < w; j++) {
				f[i][j] = 0;
			}
		}
		for (int i = 0; i < n; i++) {
			for (int y = Y1[i]; y <= Y2[i]; y++) {
				f[y][x1[i]]++;
				f[y][x2[i] + 1]--;

			}
		}
		for (int i = 0; i < h; i++) {
			for (int j = 1; j < w; j++) {
				f[i][j] += f[i][j - 1];
			}
		}
		int ans = 0;
		for (int i = 0; i < h; i++) {
			for (int j = 0; j < w; j++) {
				if (f[i][j] == 0) {
					ans++;
					queue<P>que;
					que.push(P(i, j));
					f[i][j] = 1;
					while (!que.empty()) {
						P p = que.front();
						que.pop();
						int y = p.first;
						int x = p.second;
						//f[y][x] = 1;
						for (int u = 0; u < 4; u++) {
							int ny = y + dy[u];
							int nx = x + dx[u];
							if (0 <= ny&&ny < h && 0 <= nx&&nx < w && f[ny][nx] == 0) {
								que.push(P(ny, nx));
								f[ny][nx] = 1;
							}
						}
					}
				}
			}
		}
		cout << ans << endl;
	}
}

