#include<stdio.h>
struct spot {
int x;
int y;
int flag;
}a[1005];
double getdist(int x, int y, int z, int m) {
return (x - z) * (x - z) + (y - m) * (y - m);
}
int main()
{
int n, t, k;
scanf("%d %d %d", &n, &t, &k);
for (int i = 1; i <= n; i++) {
scanf("%i %i", &a[i].x, &a[i].y);
}
for (int j = 1; j <= t; j++) {
int x, y;
scanf("%d %d", &x, &y);
if (a[j].x == x && a[j].y == y) {
a[j].flag = 1;
}
}
int cnt=0;
for (int i = 1; i <= k; i++) {
int x, y;
scanf("%d %d", &x, &y);
int ans=0;
double max = -1;
for (int j = 1; j <= n; j++) {
if (getdist(x, y, a[j].x, a[j].y) > max) {
max = getdist(x, y, a[j].x, a[j].y);
ans = j;
}
}
if (a[ans].flag) {
cnt++;
}
}
printf("%d", cnt);
return 0;
}