#include <bits/stdc++.h>
using namespace std;
double Pesq[100010], Pdir[100010];
struct evento {
  int tipo;
  int id;
  int x;
};
bool cmp(double a, double b) {
  if (fabs(a - b) < 1e-8) return 0;
  if (a > b) return 1;
  return -1;
}
evento evs[5 * 100010];
int a[100010], b[100010], h[100010];
double l[100010], r[100010], z[100010];
bool compfst(evento a, evento b) {
  if (a.x != b.x) return a.x < b.x;
  return a.tipo < b.tipo;
}
bool compsnd(evento a, evento b) {
  if (a.x != b.x) return a.x > b.x;
  return a.tipo < b.tipo;
}
int main() {
  int n, m;
  scanf(" %d %d", &n, &m);
  int ne;
  for (int i = 0; i < n; i++) {
    scanf(" %d %d %lf %lf", &a[i], &h[i], &l[i], &r[i]);
  }
  for (int i = 0; i < m; i++) {
    scanf(" %d %lf", &b[i], &z[i]);
  }
  ne = 0;
  for (int i = 0; i < n; i++) {
    evs[ne].tipo = 1;
    evs[ne].id = i;
    evs[ne].x = a[i];
    ne++;
    evs[ne].tipo = 2;
    evs[ne].id = i;
    evs[ne].x = a[i] + h[i];
    ne++;
  }
  for (int i = 0; i < m; i++) {
    evs[ne].tipo = 0;
    evs[ne].id = i;
    evs[ne].x = b[i];
    ne++;
  }
  sort(evs, evs + ne, compfst);
  double prod = 1.0;
  int cnt = 0;
  for (int i = 0; i < ne; i++) {
    int id = evs[i].id;
    if (evs[i].tipo == 0) {
      if (cnt)
        Pesq[id] = 0.0;
      else
        Pesq[id] = prod;
    }
    if (evs[i].tipo == 1) {
      if (!cmp(r[id], 100))
        cnt++;
      else
        prod *= (100.0 - r[id]) / 100.0;
    }
    if (evs[i].tipo == 2) {
      if (!cmp(r[id], 100))
        cnt--;
      else
        prod /= (100.0 - r[id]) / 100.0;
    }
  }
  ne = 0;
  for (int i = 0; i < n; i++) {
    evs[ne].tipo = 1;
    evs[ne].id = i;
    evs[ne].x = a[i];
    ne++;
    evs[ne].tipo = 2;
    evs[ne].id = i;
    evs[ne].x = a[i] - h[i];
    ne++;
  }
  for (int i = 0; i < m; i++) {
    evs[ne].tipo = 0;
    evs[ne].id = i;
    evs[ne].x = b[i];
    ne++;
  }
  sort(evs, evs + ne, compsnd);
  prod = 1.0;
  cnt = 0;
  for (int i = 0; i < ne; i++) {
    int id = evs[i].id;
    if (evs[i].tipo == 0) {
      if (cnt)
        Pdir[id] = 0.0;
      else
        Pdir[id] = prod;
    }
    if (evs[i].tipo == 1) {
      if (!cmp(l[id], 100))
        cnt++;
      else
        prod *= (100.0 - l[id]) / 100.0;
    }
    if (evs[i].tipo == 2) {
      if (!cmp(l[id], 100))
        cnt--;
      else
        prod /= (100.0 - l[id]) / 100.0;
    }
  }
  double ans = 0.0;
  for (int i = 0; i < m; i++) {
    ans += Pesq[i] * Pdir[i] * z[i];
  }
  printf("%lf\n", ans);
  return 0;
}
