#include<bits/stdc++.h>
#define fast_io ios_base::Synnc_with_stdio(0); cin.tie(0); cout.tie(0);
#define F first
#define S second
#define pb push_back

typedef long long ll;
using namespace std;
const int wr = 5010, MX = 1700;
int dp[wr][wr];


vector< int > a,b;
int N,n,M,m,k,q;

int solve(int x, int y)
{
   // cerr<<x<<' '<<y<<'\n';
    if(x>=N || y>=M)return 0;
    if(dp[x][y]!=-1)return dp[x][y];

    bitset< MX > st, stb;

    map< int , int > pos;
    for(int i=x;i<N;++i)
        if(!st[a[i]])pos[a[i]]=i,st[a[i]]=1;

    for(int i=y;i<M;++i)
    {
        if(stb[b[i]])continue;

       // cout<<i<<' '<<st[b[i]]<<' '<<pos[b[i]]<<' '<<solve(pos[b[i]]+1, i+1)<<'\n';
        if(st[b[i]] && !solve(pos[b[i]]+1, i+1))
        {

            return dp[x][y]=1;
        }

        stb[b[i]]=1;
    }
    return dp[x][y]=0;
}

int32_t main()
{
    #ifdef ROADTOBELEGEND
        freopen("input.txt", "r", stdin);
        freopen("output.txt", "w", stdout);
    #endif // ROADTOBELEGEND

    cin>>N>>n>>M>>m>>k>>q;


    for(int i=0;i<N;++i)
        for(int j=0;j<M;++j)
            dp[i][j]=-1;


    for(int i=0;i<n;++i)
    {
        int c,x;
        cin>>c>>x;

        for(int j=0;j<c;++j)
            a.pb(x);
    }

    for(int i=0;i<m;++i)
    {
        int c,x;
        cin>>c>>x;

        for(int j=0;j<c;++j)
            b.pb(x);
    }


//    for(auto to : a)
//        cout<<to<<' ';
//    cout<<'\n';
//    for(auto to : b)
//        cout<<to<<' ';
//    cout<<'\n';
//
//    cout<<solve(0,0);
//    return 0;

    while(q--)
    {
        int x,y;
        cin>>x>>y;

        int ans=solve(x,y);

        if(ans)cout<<"Yes\n";
        else cout<<"No\n";
    }


    return 0;
}




