#include<iostream>
using namespace std;

int matrix[10000+1][10000+1];
int colors;

int M, N, K;
int i, j;
int a,b;
int br;

int checkColors(int x, int y){
	if (x > 1 && matrix[x-1][y] > 0 ) return matrix[x-1][y];
	if (y > 1 && matrix[x][y-1] > 0) return matrix[x][y-1];
	if (x > 1 && y > 1 && matrix[x-1][y-1] > 0) return matrix[x][y-1];
	if (x == 1 && y == 1) return 0;
	return 0;
}

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);
	cerr.tie(nullptr);
	
	cin >> N >> M >> K;
	for (i = 1; i <= K; i++) cin >> a >> b, matrix[a][b] = -1;
	for (i = 1; i <= N; i++)
	for (j = 1; j <= M; j++) if (matrix[i][j] == 0){
		br = checkColors(i,j);
		if (!br) matrix[i][j] = ++colors;
		else matrix[i][j] = br;
	}
	
	cout << colors;
	
	return 0;
}