#include <cstdio>
using namespace std;
struct node{
int x;
int y;
int flag = false;
};
int f(int a, int b, int c, int d) {
return (a - c) * (a - c) + (b - d) * (b - d);
}
node a[1010];
int n, k, t;
int out;
int main() {
scanf("%d %d %d", &n, &k, &t);
for (int i = 0; i < n; ++i) {
scanf("%d %d", &a[i].x, &a[i].y);
}
for (int i = 0; i < k; ++i) {
int x, y;
scanf("%d %d", &x, &y);
for (int j = 0; j < n; ++j) {
if (a[i].x == x && a[i].y == y) {
a[i].flag = true;
break;
}
}
}
for (int i = 0; i < t; ++i) {
int x, y;
scanf("%d %d", &x, &y);
int d_max = -1;
int ans = 0;
for (int j = 0; j < n; ++j) {
if (f(x, y, a[j].x, a[j].y) > d_max) {
ans = j;
d_max = f(x, y, a[j].x, a[j].y);
}
}
if (a[ans].flag == true) {
out++;
}
}
printf("%d", out);
return 0;
}
我一直想不通