#include<iostream>
using namespace std;
#include<vector>
void stone(vector <vector <int>>& vec, int x, int y, int scope) {
for (int i = x - 2;i <= x + 2;i++) {
for (int j = y - 2;j <= y + 2;j++) {
if (i >= 0 && i < scope && j >= 0 && j < scope && vec[i][j] != 1) {
vec[i][j] = 1;
}
}
}
}
void torch(vector <vector <int>>& vec, int x, int y, int scope) {
for(int i = x - 2;i <= x+2;i++){
if(i>= 0 && i < scope){
vec[i][y] = 1;
}
}
for(int i = y - 2;i<=y+2;i++){
if(i>= 0 && i < scope){
vec[x][i] = 1;
}
}
if(x-1>=0 && y-1>0)vec[x-1][y-1] = 1;
if(x-1>=0 && y+1<scope)vec[x-1][y+1] = 1;
if(x+1<scope && y-1>0)vec[x+1][y-1] = 1;
if(x+1<scope && y+1<scope)vec[x+1][y+1] = 1;
}
int main() {
int n, m, k;cin >> n >> m >> k;
vector<vector<int>> arr(n,vector<int>(n, 0));
for (int i = 0;i < m;i++) {
int r, c;cin >> r >> c;
r--;c--;
torch(arr, r, c, n);
}
for (int i = 0;i < k;i++) {
int r, c;cin >> r >> c;
r--;c--;
stone(arr, r, c, n);
}
int ans = 0;
for(int i = 0;i<n;i++){
for(int j = 0;j<n;j++){
if(arr[i][j] == 0) ans++;
}
}
cout << ans;
return 0;
}