#include<bits/stdc++.h>
typedef long long i64;
using namespace std;
const int N=2e5+10;
int visa[N*2],visb[N*2];
int n,m,q;
i64 a[N+1]={},b[N+1]={};
i64 suma=0,sumb=0;
bool check(i64 x,i64 s,bool f){
if(f==false){
if(abs(suma-x)<=2e5&&abs(sumb-s)<=2e5&&visa[N+suma-x]&&visb[N+sumb-s])return 1;
if(abs(suma-s)<=2e5&&abs(sumb-x)<=2e5&&visa[N+suma-s]&&visb[N+sumb-x])return 1;
if(abs(suma+x)<=2e5&&abs(sumb+s)<=2e5&&visa[N+suma+x]&&visb[N+sumb+s])return 1;
if(abs(suma+s)<=2e5&&abs(sumb+x)<=2e5&&visa[N+suma+s]&&visb[N+sumb+x])return 1;
}
if(f==true){
if(abs(suma-x)<=2e5&&abs(sumb+s)<=2e5&&visa[N+suma-x]&&visb[N+sumb+s])return 1;
if(abs(suma+x)<=2e5&&abs(sumb-s)<=2e5&&visa[N+suma+x]&&visb[N+sumb-s])return 1;
if(abs(suma-s)<=2e5&&abs(sumb+x)<=2e5&&visa[N+suma-s]&&visb[N+sumb+x])return 1;
if(abs(suma+s)<=2e5&&abs(sumb-x)<=2e5&&visa[N+suma+s]&&visb[N+sumb-x])return 1;
}
return 0;
}
void solve(){
cin>>n>>m>>q;
for(int i=1;i<=n;i++){
cin>>a[i];
suma+=a[i];
visa[a[i]+N]=1;
}
for(int i=1;i<=m;i++){
cin>>b[i];
sumb+=b[i];
visb[b[i]+N]=1;
}
while(q--){
i64 x;
cin>>x;
bool f=false;
if(x<0){
f=true;
x=abs(x);
}
int flag=0;
for(i64 i=1;i<=sqrt(x);i++){
if(x%i==0&&check(i,x/i,f)){
cout<<"YES"<<endl;
flag=1;
}
}
if(flag==0)cout<<"NO"<<endl;
}
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
solve();
return 0;
}