#include <bits/stdc++.h>
using namespace std;
struct tree {
  int a, h;
  double pl, pr;
};
struct mushroom {
  int b, z;
};
tree tr[500010];
mushroom mr[500010];
int X[500010], cntx;
double tree[500010 << 2];
void build(int L, int R, int rt) {
  tree[rt] = 1;
  if (L != R) {
    int mid = (L + R) >> 1;
    build(L, mid, rt << 1);
    build(mid + 1, R, rt << 1 | 1);
  }
}
inline void pushDown(int rt) {
  tree[rt << 1] *= tree[rt];
  tree[rt << 1 | 1] *= tree[rt];
  tree[rt] = 1;
}
void update(int x, int y, double p, int L, int R, int rt) {
  if (x <= L && R <= y)
    tree[rt] *= p;
  else {
    int mid = (L + R) >> 1;
    pushDown(rt);
    if (x <= mid) update(x, y, p, L, mid, rt << 1);
    if (y > mid) update(x, y, p, mid + 1, R, rt << 1 | 1);
  }
}
double query(int x, int L, int R, int rt) {
  if (L == R) return tree[rt];
  int mid = (L + R) >> 1;
  pushDown(rt);
  if (x <= mid)
    return query(x, L, mid, rt << 1);
  else
    return query(x, mid + 1, R, rt << 1 | 1);
}
int main() {
  int n, m;
  int i, x, y;
  double ans;
  while (~scanf("%d%d", &n, &m)) {
    cntx = 0;
    for (i = 0; i < n; i++) {
      scanf("%d%d%lf%lf", &tr[i].a, &tr[i].h, &tr[i].pl, &tr[i].pr);
      tr[i].pl /= 100;
      tr[i].pr /= 100;
      X[cntx++] = tr[i].a + 1;
      X[cntx++] = tr[i].a + tr[i].h;
      X[cntx++] = tr[i].a - 1;
      X[cntx++] = tr[i].a - tr[i].h;
    }
    for (i = 0; i < m; i++) {
      scanf("%d%d", &mr[i].b, &mr[i].z);
      X[cntx++] = mr[i].b;
    }
    sort(X, X + cntx);
    cntx = unique(X, X + cntx) - X;
    build(0, cntx - 1, 1);
    for (i = 0; i < n; i++) {
      x = lower_bound(X, X + cntx, tr[i].a + 1) - X;
      y = lower_bound(X, X + cntx, tr[i].a + tr[i].h) - X;
      update(x, y, 1 - tr[i].pr, 0, cntx - 1, 1);
      x = lower_bound(X, X + cntx, tr[i].a - tr[i].h) - X;
      y = lower_bound(X, X + cntx, tr[i].a - 1) - X;
      update(x, y, 1 - tr[i].pl, 0, cntx - 1, 1);
    }
    ans = 0;
    for (i = 0; i < m; i++) {
      x = lower_bound(X, X + cntx, mr[i].b) - X;
      ans += mr[i].z * query(x, 0, cntx - 1, 1);
    }
    printf("%.8lf\n", ans);
  }
  return 0;
}
