#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 100;
const long double PI = acos(-1.0);
const long double eps = 1e-8;
struct Point {
  long long x, y;
  Point(long long _x = 0, long long _y = 0) : x(_x), y(_y){};
  Point operator-(const Point &t) const { return Point(x - t.x, y - t.y); }
  long long dis() { return x * x + y * y; }
  long double atan() {
    long double ans = atan2(y, x);
    if (ans < 0) ans += 2 * PI;
    return ans;
  }
} p[N], o;
long long v, T, r[N];
vector<pair<long double, int> > vec;
int main() {
  scanf("%lld%lld%lld%lld", &o.x, &o.y, &v, &T);
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%lld%lld%lld", &p[i].x, &p[i].y, &r[i]);
  for (int i = 1; i <= n; i++) p[i] = p[i] - o;
  for (int i = 1; i <= n; i++)
    if (p[i].dis() <= r[i] * r[i]) return puts("1.00000000000") * 0;
  for (int i = 1; i <= n; i++) {
    long double d = min(1.0 * v * T, sqrt(p[i].dis() - r[i] * r[i]));
    if (d + r[i] - eps < sqrt(p[i].dis())) continue;
    long double c = p[i].atan();
    long double b = sqrt(p[i].dis()), tmp = r[i];
    long double t = acos((d * d + b * b - tmp * tmp) / (2 * d * b));
    if (c - t < 0) {
      vec.push_back(pair<long double, int>(c - t + 2 * PI, 1));
      vec.push_back(pair<long double, int>(2 * PI, -1));
      vec.push_back(pair<long double, int>(0, 1));
      vec.push_back(pair<long double, int>(c + t, -1));
    } else if (c + t > 2 * PI) {
      vec.push_back(pair<long double, int>(c - t, 1));
      vec.push_back(pair<long double, int>(2 * PI, -1));
      vec.push_back(pair<long double, int>(0, 1));
      vec.push_back(pair<long double, int>(c + t - 2 * PI, -1));
    } else {
      vec.push_back(pair<long double, int>(c - t, 1));
      vec.push_back(pair<long double, int>(c + t, -1));
    }
  }
  for (auto cur : vec) cur.second *= -1;
  sort(vec.begin(), vec.end());
  int cnt = 0;
  long double ans = 0;
  long double lst = 0;
  for (auto cur : vec) {
    if (cnt) ans += cur.first - lst;
    cnt -= cur.second;
    lst = cur.first;
  }
  printf("%.10f\n", (double)(ans / (2 * PI)));
  return 0;
}
