#include <bits/stdc++.h>
#pragma argsused
using namespace std;
struct event {
  int x;
  char ch;
  int f;
};
bool operator<(event e1, event e2) {
  if (e1.x > e2.x) return 0;
  if (e1.x < e2.x) return 1;
  if (e1.ch > e2.ch) return 0;
  if (e1.ch < e2.ch) return 1;
  return 0;
}
int main(int argc, char* argv[]) {
  int n, m;
  cin >> n >> m;
  event e;
  int a, h, l, r;
  vector<event> v;
  int st = 0;
  for (int i = 0; i < n; i++) {
    cin >> a >> h >> l >> r;
    e.x = a - h;
    e.ch = 1;
    e.f = 100 - l;
    v.push_back(e);
    e.x = a;
    e.ch = 2;
    e.f = 100 - l;
    v.push_back(e);
    e.x = a;
    e.ch = 4;
    e.f = 100 - r;
    v.push_back(e);
    e.x = a + h;
    e.ch = 5;
    e.f = 100 - r;
    v.push_back(e);
  }
  for (int i = 0; i < m; i++) {
    cin >> a >> h;
    e.x = a;
    e.ch = 3;
    e.f = h;
    v.push_back(e);
  }
  sort(v.begin(), v.end());
  long double ver = 0;
  double res = 0;
  int len = v.size();
  for (int i = 0; i < len; i++) {
    switch (v[i].ch) {
      case 4:
      case 1: {
        if (v[i].f == 0)
          st++;
        else
          ver += log(v[i].f / 100.0);
        break;
      }
      case 2:
      case 5: {
        if (v[i].f == 0)
          st--;
        else
          ver -= log(v[i].f / 100.0);
        break;
      }
      case 3:
        if (st == 0) res += v[i].f * exp(ver);
    }
  }
  printf("%.9lf", res);
  return 0;
}
