func_code_string: #include <bits/stdc++.h>   using namespace std;   const double eps = 1e-8;   const long long mod = 1e9 + 7;   const int inf = 1 << 30;   const int maxn = 900500;   const double EPS = 1e-7;   struct da {     int x, ty;     double p;     bool operator<(const da& ot) const {       return (make_pair(x, make_pair(ty, p)) <               make_pair(ot.x, make_pair(ot.ty, ot.p)));     }   };   vector<da> ev;   void solve() {     int n, m;     scanf( %d%d , &n, &m);     for (int i = 0; i < (int)(n); ++i) {       int ai, hi, li, ri;       scanf( %d%d , &ai, &hi);       scanf( %d%d , &li, &ri);       double lp = 1.0 - li / 100., rp = 1.0 - ri / 100.;       ev.push_back({ai - hi, -1, lp});       ev.push_back({ai - 1, 1, lp});       ev.push_back({ai + 1, -1, rp});       ev.push_back({ai + hi, 1, rp});     }     for (int i = 0; i < (int)(m); ++i) {       int bj, zj;       scanf( %d%d , &bj, &zj);       ev.push_back({bj, 0, 1. * zj});     }     sort(ev.begin(), ev.end());     int ze = 0;     double pr = 0, ret = 0;     for (auto e : ev) {       if (e.ty == 0) {         if (!ze) ret += exp(pr) * e.p;       } else if (e.ty == -1) {         if (abs(e.p) < 1e-7)           ++ze;         else           pr += log(e.p);       } else {         if (abs(e.p) < 1e-7)           --ze;         else           pr -= log(e.p);       }     }     printf( %lf n , ret);   }   int main() {     int tc = 1;     for (int tt = 0; tt < (int)(tc); ++tt) {       solve();     }   }   