#include <bits/stdc++.h>
using namespace std;
struct point {
  long long x, y;
};
vector<point> fort;
struct rounds {
  long long r;
  point c;
};
vector<rounds> fence;
long long dist(point a, point b) {
  return ((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y));
}
int n, m, k, a, b, res;
bool mask[1000][1000];
int main() {
  cin >> n >> m >> k;
  fort.resize(n);
  for (int i = 0; i < n; i++) cin >> fort[i].x >> fort[i].y;
  fence.resize(m);
  for (int i = 0; i < m; i++) {
    cin >> fence[i].r >> fence[i].c.x >> fence[i].c.y;
    fence[i].r *= fence[i].r;
  }
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++)
      mask[i][j] = (dist(fort[i], fence[j].c) < fence[j].r);
  for (int i = 0; i < k; i++) {
    cin >> a >> b;
    a--;
    b--;
    res = 0;
    for (int j = 0; j < m; j++) res += (mask[a][j] ^ mask[b][j]);
    printf("%d\n", res);
  }
}
