#include <bits/stdc++.h>
using namespace std;
using tint = long long;
using ld = long double;
using vi = vector<int>;
using pi = pair<int, int>;
void NACHO(string name = "") {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
}
const int MOD = 1e9 + 7;
const int N = 2e5 + 5;
const tint INF = 1e18;
const ld PI = acos((ld)-1);
struct Point {
  tint x, y;
};
struct Circ {
  tint cx, cy, r;
};
tint dist(Point &a, Point &b) {
  return abs(a.x - b.x) * abs(a.x - b.x) + abs(a.y - b.y) * abs(a.y - b.y);
}
int main() {
  NACHO();
  int n, m, k;
  cin >> n >> m >> k;
  vector<Point> a(n);
  vector<Circ> c(m);
  for (int i = int(0); i < int(n); i++) {
    cin >> a[i].x >> a[i].y;
  }
  for (int i = int(0); i < int(m); i++) {
    cin >> c[i].r >> c[i].cx >> c[i].cy;
    c[i].r *= c[i].r;
  }
  for (int asssd = int(0); asssd < int(k); asssd++) {
    int id1, id2;
    cin >> id1 >> id2;
    --id1;
    --id2;
    Point A = a[id1], B = a[id2];
    int ret = 0;
    for (int j = int(0); j < int(m); j++) {
      bool inA = 0, inB = 0;
      Point cent = {c[j].cx, c[j].cy};
      if (dist(A, cent) <= c[j].r) inA = 1;
      if (dist(B, cent) <= c[j].r) inB = 1;
      if (inA != inB) ret++;
    }
    cout << ret << "\n";
  }
}
