#include <bits/stdc++.h>
struct circle {
  double r, x, y;
  circle(void) : r(0), x(0), y(0) {}
  bool contains(const circle& o) const {
    double dx, dy;
    dx = o.x - x;
    dy = o.y - y;
    return (dx * dx + dy * dy <= r * r) && o.r < r;
  }
};
circle fences[1024];
circle control[1024];
int depth[1024];
int parent[11][1024];
int control_parent[1024];
int V, n;
int find_parent(const circle& c, const int& ignore) {
  int best_j, best, j;
  best_j = V;
  best = -INT_MAX;
  for (j = 0; j < V; ++j) {
    if (j != ignore && fences[j].contains(c)) {
      if (depth[j] > best) {
        best = depth[j];
        best_j = j;
      }
    }
  }
  return best_j;
}
void build_tree(void) {
  int i, j;
  for (i = 0; i < V; ++i) {
    depth[i] = 1;
    for (j = 0; j < V; ++j) {
      if (i != j && fences[j].contains(fences[i])) {
        ++depth[i];
      }
    }
  }
  for (i = 0; i < V; ++i) {
    parent[0][i] = find_parent(fences[i], i);
  }
  for (i = 1; i <= n; ++i) {
    control_parent[i] = find_parent(control[i], -1);
  }
}
void build_lca(void) {
  int lg2, i;
  parent[0][V] = V;
  for (lg2 = 1; lg2 < 11; ++lg2) {
    for (i = 0; i < V; ++i) {
      parent[lg2][i] = parent[lg2 - 1][parent[lg2 - 1][i]];
    }
  }
}
int get_lca(int a, int b) {
  int step, lg2;
  if (depth[a] < depth[b]) {
    std::swap(a, b);
  }
  for (lg2 = 10, step = 1024; lg2 >= 0; --lg2, step >>= 1) {
    if (depth[a] - step >= depth[b]) {
      a = parent[lg2][a];
    }
  }
  if (a == b) {
    return a;
  }
  for (lg2 = 10, step = 1024; lg2 >= 0; --lg2, step >>= 1) {
    if (parent[lg2][a] != parent[lg2][b]) {
      a = parent[lg2][a];
      b = parent[lg2][b];
    }
  }
  return parent[0][a];
}
int main(void) {
  int i, q;
  int control_1, control_2, control_3;
  std::cin.tie(0);
  std::ios_base::sync_with_stdio(0);
  std::cin >> n >> V >> q;
  for (i = 1; i <= n; ++i) {
    std::cin >> control[i].x >> control[i].y;
  }
  for (i = 0; i < V; ++i) {
    std::cin >> fences[i].r >> fences[i].x >> fences[i].y;
  }
  build_tree();
  build_lca();
  for (i = 0; i < q; ++i) {
    std::cin >> control_1 >> control_2;
    control_1 = control_parent[control_1];
    control_2 = control_parent[control_2];
    control_3 = get_lca(control_1, control_2);
    std::cout << (depth[control_1] + depth[control_2] - 2 * depth[control_3])
              << "\n";
  }
  return 0;
}
