#include<bits/stdc++.h>
using namespace std;
unordered_set<long long>us;
vector<long long>F(1e6+5, 0);
void d_n_c(int l, int h){
    if(l>h) return;
    while(F[l]==0 && l<h) l++;
    while(F[h]==0 && h>l) h--;
    if(h==l){
        if(F[h]!=0) us.insert(F[h]*h);
        return;
    }
    long long sum=0;
    for(int i=l; i<=h; i++){
        sum+=(F[i]*i);
    }
    if(!sum) return;
    us.insert(sum);
    int mid=h+l;
    mid/=2;
    
    d_n_c(l, mid);
    d_n_c(mid+1, h);
    
}
int main(){
    int t;
    cin>>t;
    while(t--){
        us.clear();
        int n, q;
        cin>>n>>q;
        vector<int>a(n);
        for(int i=0; i<n; i++){
            cin>>a[i];
            F[a[i]]++;
        }
        d_n_c(0, 1e6);
        for(int i=0; i<q; i++){
            int x;
            cin>>x;
            if(us.count(x) ) cout<<"Yes"<<endl;
            else cout<<"No"<<endl;
        }
        for(int i=0; i<1e6+5; i++) F[i]=0;
    }
    return 0;
}