#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
ll n,k,q,i,j,a,b,c,d;
cin>>n>>k>>q;
vector<vector<ll>> s;
vector<multiset<ll>> st(k+1);
for(i=0 ; i<n ; i++){
cin>>a>>b>>c>>d;
s.push_back({c,a,b,1});
s.push_back({d+1,a,b,-1});
}
vector<vector<ll>> x(q,vector<ll>(3));
for(i=0 ; i<q ; i++){
cin>>x[i][1]>>x[i][0];
x[i][2]=i;
}
sort(s.begin(),s.end());
sort(x.begin(),x.end());
ll ind=0;
vector<ll> ans(q,-1);
for(i=0 ; i<q ; i++){
while(ind<2*n and s[ind][0]<=x[i][0]){
if(s[ind][3]==1){
ll type=s[ind][2],loc=s[ind][1];
st[type].insert(loc);
}
else{
ll type=s[ind][2],loc=s[ind][1];
st[type].erase(st[type].find(loc));
}
ind++;
}
for(j=1 ; j<=k ; j++){
if(st[j].size()==0){
ans[x[i][2]]=-1;
break;
}
ll val=min(abs(*(st[j].begin())-x[i][1]),abs(*(st[j].rbegin())-x[i][1]));
ans[x[i][2]]=max(val,ans[x[i][2]]);
}
}
for(i=0 ; i<q ; i++) cout<<ans[i]<<"\n";
return 0;
}