#include <bits/stdc++.h>
using namespace std;
inline int gin() {
    int s=0,f=1;
    char c=getchar();
    while(c<'0' || c>'9') {
        if(c=='-') f=-1;
        c=getchar();
    }
    while(c>='0'&&c<='9') {
        s=(s<<3)+(s<<1)+(c^48);
        c=getchar();
    }
    return s*f;
}

const int N=250005;
int n,a[N],b[N],L[505],R[505],A[505],B[505];
int sz,bk;

signed main() {
    freopen("match.in","r",stdin);
    freopen("match.out","w",stdout);
    gin();
    n=gin();
    for(int i=1;i<=n;i++) a[i]=gin();
    for(int i=1;i<=n;i++) b[i]=gin();
    sz=sqrt(n),bk=n/sz;
    L[1]=1;
    for(int i=1;i<=bk;i++) {
        L[i]=R[i-1]+1;
        R[i]=L[i]+sz-1;
    }
    if(bk*sz!=n) L[bk+1]=R[bk]+1,R[bk+1]=n,bk++;
    // for(int i=1;i<=bk;i++) {
    //     printf("%d %d\n",L[i],R[i]);
    // }
    for(int i=1;i<=bk;i++) {
        for(int j=L[i];j<=R[i];j++) {
            A[i]=max(A[i],a[j]);
            B[i]=max(B[i],b[j]);
        }
    }
    // for(int i=1;i<=bk;i++) printf("%d %d\n",A[i],B[i]);
    int q=gin();
    while(q--) {
        int l=gin(),r=gin();
        
    }
    return 0;
}