#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6 + 10;
const long long inf = 0x3f3f3f3f;
const double pi = acos(-1.0);
const double eps = 1e-6;
const int mod = 1e9 + 7;
inline long long mul(long long x, long long y, long long mod) {
  long long res = (x * y - (long long)(long double)(x / mod * y + 1e-8) * mod);
  return res < 0 ? res + mod : res;
}
long long qPow(long long base, long long n) {
  long long res = 1;
  while (n) {
    if (n & 1) res = (res * base);
    base = (base * base);
    n >>= 1;
  }
  return res;
}
vector<pair<double, int> > vec;
double sqr(double x) { return x * x; }
double dist(double x0, double y0, double x, double y) {
  return sqrt(sqr(x - x0) + sqr(y - y0));
}
int main() {
  double x0, y0, v, t, r0;
  scanf("%lf%lf%lf%lf", &x0, &y0, &v, &t);
  r0 = v * t;
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    double x, y, r;
    scanf("%lf%lf%lf", &x, &y, &r);
    double D = dist(x, y, x0, y0);
    if (D <= r) {
      puts("1.00000000000");
      return 0;
    }
    if (D > r + r0 + eps) continue;
    double angm = atan2(y - y0, x - x0);
    if (angm < 0) angm += 2 * pi;
    double angl, angr, ang;
    double qie = sqrt(D * D - r * r);
    if (qie < r0 + eps)
      ang = asin(r / D);
    else
      ang = acos((r0 * r0 + D * D - r * r) / (2.0 * r0 * D));
    angl = angm - ang;
    angr = angm + ang;
    if (angl < 0) {
      vec.push_back(make_pair(angl + 2 * pi, 1));
      vec.push_back(make_pair(2 * pi, -1));
      vec.push_back(make_pair(0, 1));
      vec.push_back(make_pair(angr, -1));
    } else if (angr > 2 * pi) {
      vec.push_back(make_pair(angl, 1));
      vec.push_back(make_pair(2 * pi, -1));
      vec.push_back(make_pair(0, 1));
      vec.push_back(make_pair(angr - 2 * pi, -1));
    } else {
      vec.push_back(make_pair(angl, 1));
      vec.push_back(make_pair(angr, -1));
    }
  }
  sort(vec.begin(), vec.end());
  int now = 0;
  double ans = 0, last = 0;
  for (int i = 0; i < (int)vec.size(); i++) {
    if (now > 0) {
      ans += vec[i].first - last;
    }
    last = vec[i].first;
    now += vec[i].second;
  }
  printf("%.15lf\n", ans / (2.0 * pi));
  return 0;
}
