#include <bits/stdc++.h>
#define pb push_back
#define get(v,d) (lower_bound((v).begin(),(v).end(),d) - (v).begin() + 1)
#define FOR(i,l,r) for(int i=(l);i<=(r);i++)
using namespace std;
typedef long long LL;
const int maxn=3e5+1;

struct BIT {
    double a[maxn],sh[maxn];
    int n;
    void init(int nn) {
        n=nn;
        for (int i=1;i<=n;i++)
            sr(i,a[i]);
    }
    void sr(int d,double v) {
        for (;d<=n;d+=d&(-d)) sh[d]+=v;
    }
    double sum(int d) {
        double ret=0;
        for (;d;d-=d&(-d)) ret+=sh[d];
        return ret;
    }
    double sum(int l,int r) {
        return sum(r)-sum(l-1);
    }

    double &operator[](int d) { return a[d]; }
} xb,yb;

int n,m;
int rec[maxn][4],recr[maxn],recc[maxn];
int vec[maxn][2]; double p[maxn][2];

vector<int> xv,yv;
int main() {
    scanf("%d%d",&n,&m);
    for (int i=1;i<=n;i++) {
        for (int j=0;j<4;j++) {
            scanf("%d",&rec[i][j]);
        }
        for (int j=0;j<4;j+=2)
            xv.pb(rec[i][j]),yv.pb(rec[i][j+1]);
        recc[i]=rec[i][2]-rec[i][0]+1;
        recr[i]=rec[i][3]-rec[i][1]+1;
    }
    
    for (int i=1;i<=m;i++) {
        scanf("%d%d%lf%lf",&vec[i][0],&vec[i][1],&p[i][0],&p[i][1]);
        xv.pb(vec[i][0]),yv.pb(vec[i][1]);
    }
    sort(xv.begin(),xv.end());
    xv.resize(unique(xv.begin(),xv.end()) - xv.begin());
    sort(yv.begin(),yv.end());
    yv.resize(unique(yv.begin(),yv.end()) - yv.begin());

    for (int i=1;i<=n;i++) {
        for (int j=0;j<4;j+=2) {
            rec[i][j]=get(xv,rec[i][j]);
            rec[i][j+1]=get(yv,rec[i][j+1]);
        }
    }
    for (int i=1;i<=m;i++) {
        vec[i][0]=get(xv,vec[i][0]);
        vec[i][1]=get(yv,vec[i][1]);
    }


    for (int i=1;i<=m;i++) {
        p[i][0]/=100; p[i][1]/=100;
        int &x=vec[i][0],&y=vec[i][1];
        xb[x]=1-(1-xb[x])*(1-p[i][1]);
        yb[y]=1-(1-yb[y])*(1-p[i][0]);
    }

    xb.init(xv.size());
    yb.init(yv.size());

    double ans=0;
    for (int i=1;i<=n;i++) {
        int &x1=rec[i][0],&y1=rec[i][1],&x2=rec[i][2],&y2=rec[i][3];
        double r=recr[i],c=recc[i];
        ans+=r*c-(c-xb.sum(x1,x2))*(r-yb.sum(y1,y2));
    }
    printf("%.12f\n",ans);
    return 0;
}

