#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;
multiset<ll> st,st1;
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> cnt(k+1,0),ans(q);
for(i=0 ; i<k ; i++) st1.insert(0);
for(i=0 ; i<q ; i++){
while(ind<2*n and s[ind][0]<=x[i][0]){
if(s[ind][3]==1){
st1.erase(st1.find(cnt[s[ind][2]]));
cnt[s[ind][2]]++;
st1.insert(cnt[s[ind][2]]);
st.insert(s[ind][1]);
}
else{
st1.erase(st1.find(cnt[s[ind][2]]));
cnt[s[ind][2]]--;
st1.insert(cnt[s[ind][2]]);
st.erase(st.find(s[ind][1]));
}
ind++;
}
if(*(st1.begin())==0){
ans[x[i][2]]=-1;
continue;
}
ans[x[i][2]]=max(abs(*(st.begin())-x[i][1]),abs(*(st.rbegin())-x[i][1]));
}
for(i=0 ; i<q ; i++) cout<<ans[i]<<"\n";
return 0;
}