#include <bits/stdc++.h>
using namespace std;
const double EPS = 1e-6;
int n, m;
int a[111111], h[111111];
double l[111111], r[111111];
;
struct TMush {
  int x;
  int v;
};
TMush b[11111];
double v[11111];
int nule[11111];
double c[11111];
int prvi_manji(int x) {
  int l = 0, r = m + 1;
  while (l <= r) {
    int j = l + r >> 1;
    if (j == m + 1 && b[j].x <= x)
      return j;
    else if (b[j + 1].x > x && b[j].x <= x)
      return j;
    else if (b[j].x < x)
      l = j + 1;
    else
      r = j - 1;
  }
}
int prvi_veci(int x) {
  int l = 0, r = m + 1;
  while (l <= r) {
    int j = l + r >> 1;
    if (j == 0 && b[j].x >= x)
      return j;
    else if (b[j - 1].x < x && b[j].x >= x)
      return j;
    else if (b[j].x >= x)
      r = j - 1;
    else
      l = j + 1;
  }
}
bool cmp(TMush a, TMush b) { return a.x < b.x; }
int main() {
  memset(nule, 0, sizeof(nule));
  scanf("%d%d", &n, &m);
  for (int i = 0; i < n; i++) {
    scanf("%d%d%lf%lf", a + i, h + i, l + i, r + i);
  }
  for (int i = 1; i <= m; i++) {
    scanf("%d%d", &b[i].x, &b[i].v);
  }
  b[0].x = -2000000000;
  b[m + 1].x = 2000000000;
  sort(b + 1, b + m + 1, cmp);
  for (int i = 0; i < m + 100; i++) c[i] = 1.0;
  for (int i = 0; i < n; i++) {
    int p1 = prvi_veci(a[i] - h[i]);
    int p2 = prvi_manji(a[i] - 1) + 1;
    if (p1 <= p2) {
      if (1.0 - double(l[i]) * 0.01 < EPS) {
        nule[p1]++;
        nule[p2]--;
      } else {
        c[p1] *= 1.0 - double(l[i]) * 0.01;
        c[p2] /= 1.0 - double(l[i]) * 0.01;
      }
    }
    p1 = prvi_veci(a[i] + 1);
    p2 = prvi_manji(a[i] + h[i]) + 1;
    if (p1 <= p2) {
      if (1.0 - double(r[i]) * 0.01 < EPS) {
        nule[p1]++;
        nule[p2]--;
      } else {
        c[p1] *= 1.0 - double(r[i]) * 0.01;
        c[p2] /= 1.0 - double(r[i]) * 0.01;
      }
    }
  }
  double t = c[0];
  double sol = 0.0;
  int zeros = nule[0];
  for (int i = 1; i <= m; i++) {
    t *= c[i];
    zeros += nule[i];
    double tt = t;
    if (zeros) tt = 0.0;
    sol += tt * double(b[i].v);
  }
  printf("%lf\n", sol);
  return 0;
}
