#include<stdio.h>
#include<string.h>
#define ll __int64
#define N 11000
struct node {
int start,end;
}ma[N];
int main() {
ll n,m,i,j,k,t;
while(scanf("%I64d%I64d",&n,&m),n||m) {
for(i=1;i<=n;i++)
scanf("%I64d%I64d%I64d%I64d",&j,&k,&ma[i].start,&ma[i].end);
while(m--) {
scanf("%I64d%I64d",&j,&k);
t=0;
for(i=1;i<=n;i++)
if(j<ma[i].end+ma[i].start&&j+k>ma[i].start)
t++;
printf("%I64d\n",t);
}
}
return 0;
}
#include<string.h>
#define ll __int64
#define N 11000
struct node {
int start,end;
}ma[N];
int main() {
ll n,m,i,j,k,t;
while(scanf("%I64d%I64d",&n,&m),n||m) {
for(i=1;i<=n;i++)
scanf("%I64d%I64d%I64d%I64d",&j,&k,&ma[i].start,&ma[i].end);
while(m--) {
scanf("%I64d%I64d",&j,&k);
t=0;
for(i=1;i<=n;i++)
if(j<ma[i].end+ma[i].start&&j+k>ma[i].start)
t++;
printf("%I64d\n",t);
}
}
return 0;
}