func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = 400010;   pair<int, int> a[maxn], b[maxn];   int tot, cnt[110];   double qpow(double a, int x) {     double res = 1.0;     while (x) {       if (x & 1) res = res * a;       a = a * a;       x >>= 1;     }     return res;   }   int main() {     int N, M, i, j, A, H, L, R;     scanf( %d%d , &N, &M);     for (int i = 1; i <= N; i++) {       scanf( %d%d%d%d , &A, &H, &L, &R);       b[++tot] = make_pair(A - H, L);       b[++tot] = make_pair(A, -L);       b[++tot] = make_pair(A + 1, R);       b[++tot] = make_pair(A + H + 1, -R);     }     for (int i = 1; i <= M; i++) scanf( %d%d , &a[i].first, &a[i].second);     sort(a + 1, a + M + 1);     sort(b + 1, b + tot + 1);     double ans = 0;     int pos = 1;     for (int i = 1; i <= M; i++) {       while (pos <= tot && b[pos].first <= a[i].first) {         if (b[pos].second > 0) cnt[b[pos].second]++;         if (b[pos].second < 0) cnt[-b[pos].second]--;         pos++;       }       if (!cnt[100]) {         double p = a[i].second;         for (int j = 1; j <= 99; j++) p *= qpow(0.01 * (100 - j), cnt[j]);         ans += p;       }     }     printf( %.12lf n , ans);     return 0;   }   