#include <algorithm>
#include <cstdint>
#include <iostream>
#include <istream>
#include <map>
#include <set>
#include <tuple>
#include <type_traits>
#include <vector>

using ll = int64_t;
const ll maxn = 1e5+5;
ll h,w,q1,q2;
std::set<ll> ys;
std::vector<std::tuple<ll,ll,ll,ll,ll>> vq;
std::map<ll, ll> r2by;


int main(){
    vq.resize(maxn);

    std::iostream::sync_with_stdio(false),std::cin.tie(nullptr),std::cout.tie(nullptr);
    std::cin>>h>>w>>q1>>q2;
    for(ll i=1;i<=q1;i++){
        ll rx,ry,cx,cy,x;
        std::cin>>rx>>ry>>cx>>cy>>x;
        ys.insert(ry);ys.insert(cy);
        vq[i]={rx,ry,cx,cy,x};
    }

    for(ll i:ys){
        static ll idx=0;
        idx++;
        r2by.emplace(i,idx);
    }

    for(ll i=1;i<=q1;i++){
        auto[rx,ry,cx,cy,x]=vq[i];
        ll bry = r2by.find(ry)->second;
        ll bcy = r2by.find(cy)->second;
        vq[i]={rx,bry,cx,bcy,x};
    }
    std::sort(vq.data()+1,vq.data()+1+q1);

    for(ll i=1;i<=q2;i++){
        ll r1,r2,c1,c2;
        std::cin>>r1>>r2>>c1>>c2;
        
    }
}