#include <bits/stdc++.h>
using namespace std;
pair<int, int> event[110000 * 4];
pair<int, int> mush[110000];
int main() {
  int n, m;
  while (scanf("%d %d", &n, &m) != EOF) {
    int cnt = 0;
    for (int i = 0; i < n; i++) {
      int a, h, l, r;
      scanf("%d %d %d %d", &a, &h, &l, &r);
      event[cnt++] = pair<int, int>(a - h, (l + 1));
      event[cnt++] = pair<int, int>(a, -(l + 1));
      event[cnt++] = pair<int, int>(a + 1, (r + 1));
      event[cnt++] = pair<int, int>(a + 1 + h, -(r + 1));
    }
    sort(event, event + cnt);
    for (int i = 0; i < m; i++) {
      scanf("%d %d", &mush[i].first, &mush[i].second);
    }
    sort(mush, mush + m);
    double ans = 0;
    int num[101] = {0};
    for (int i = 0, j = 0; i < m; i++) {
      while (j < cnt && event[j].first <= mush[i].first) {
        int val = event[j].second;
        if (val < 0)
          num[abs(val) - 1]--;
        else
          num[abs(val) - 1]++;
        j++;
      }
      double tmp = mush[i].second;
      for (int j = 0; j < 101; j++) tmp *= pow((100 - j) / 100.0, num[j]);
      ans += tmp;
    }
    printf("%.10lf\n", ans);
  }
}
