#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int f[2][10005];//存不能通话的区间
int n,h,m,q,a,b,c,d;
int main()
{
scanf("%d%d%d%d",&n,&h,&m,&q);
for(int i=0;i<h;i++)//初始化
{
f[0][i]=m;
f[1][i]=-1;
}
for(int i=1;i<=n;i++)
{
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a==c)
{
f[0][a]=min(b,f[0][a]);
f[1][a]=max(d,f[1][a]);
}
else{
f[0][a]=min(b,f[0][a]);
f[1][a]=m-1;
for(int j=a+1;j<=c-1;j++)
{
f[0][j]=0;
f[1][j]=m-1;
}
f[0][c]=0;
f[1][c]=max(d,f[1][c]);
}
}
while(q--)
{
int x,y;
scanf("%d%d",&x,&y);
if(y>=f[0][x]&&y<=f[1][x])
{
printf("No\n");
}
else printf("Yes\n");
}
}