#include<bits/stdc++.h>
using namespace std;
#define int long long
set<int>a,b;
int ap[250000],bp[250000],aa[250000],bb[250000];
string vis[250000];
map<int,int> ak;
signed main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>aa[i];
a.insert(aa[i]);
ap[i]=a.size();
}
for(int i=1;i<=n;i++){
cin>>bb[i];
b.insert(bb[i]);
bp[i]=b.size();
}
int l=1,r=1,cnt=0;
while(l<=n&&r<=n){
if(ak[aa[l]]==-1){
cnt++;
}
if(ak[aa[l]]==0){
cnt--;
}
ak[aa[l]]++;
if(ak[bb[r]]==1){
cnt++;
}
if(ak[bb[r]]==0){
cnt--;
}
ak[bb[r]]--;
if(cnt==0){
vis[ap[l]]="Yes";
}
else{
vis[ap[l]]="No";
}
if(ap[l+1]==bp[r+1]){
if(l+1>n&&r+1>n){
break;
}
if(l+1>n){
r++;
}
else if(r+1>n){
l++;
}
else{
l++,r++;
}
}
else if(ap[l+1]==ap[l]){
l++;
}
else{
r++;
}
}
int m;
cin>>m;
while(m--){
int x,y;
cin>>x>>y;
if(ap[x]!=bp[y]){
cout<<"No"<<endl;
}
else{
cout<<vis[ap[x]]<<endl;
}
}
return 0;
}