func_code_string: #include <bits/stdc++.h>   using namespace std;   const double PI = acos(-1);   const double EPS = 1e-9;   long long dis(pair<long long, long long> a, pair<long long, long long> b) {     return (a.first - b.first) * (a.first - b.first) +            (a.second - b.second) * (a.second - b.second);   }   signed main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     long long T, v;     pair<long long, long long> C;     cin >> C.first >> C.second >> v >> T;     long long R = 1.00 * v * T;     long long n;     cin >> n;     vector<pair<double, long long> > cut;     pair<long long, long long> center;     long long radi;     for (long long i = 0; i < n; i++) {       cin >> center.first >> center.second >> radi;       double distance = dis(C, center);       if (distance < 1.0 * radi * radi + EPS) {         cout <<  1.00000 ;         return 0;       }       distance = sqrt(distance);       if (1.00 * radi + R * 1.00 < distance - EPS) continue;       double left, right, ang;       double angM = atan2(center.second - C.second, center.first - C.first);       if (angM < 0) {         angM += 2 * PI;       }       double tLen = sqrt(distance * distance - 1.0 * radi * radi);       if (tLen < R + EPS) {         ang = asin(radi / distance);       } else {         ang = acos((distance * distance + 1.00 * R * R - 1.0 * radi * radi) /                    (2 * distance * 1.00 * R));       }       left = angM - ang;       right = angM + ang;       if (left < 0) {         cut.push_back({left + 2 * PI, 1});         cut.push_back({2 * PI, -1});         cut.push_back({0.00, 1});         cut.push_back({right, -1});       } else if (right > 2 * PI) {         cut.push_back({left, 1});         cut.push_back({2 * PI, -1});         cut.push_back({0.00, 1});         cut.push_back({right - 2 * PI, -1});       } else         cut.push_back({left, 1}), cut.push_back({right, -1});     }     double ans = 0.00;     long long count = 0;     double last = 0;     sort(cut.begin(), cut.end());     for (auto &x : cut) {       if (count > 0) ans += (x.first - last);       last = x.first;       count += (x.second);     }     cout << fixed << setprecision(6) << (ans / (2 * PI));   }   