#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll binarysearch(vector<ll> v,ll low, ll high, ll k)
{
ll mid= low +(high-low)/2;
if(low==high)
return high;
if(high-low==1)
return k>v[low]?high:low;
if(v[mid]==k)
return mid;
else if(v[mid]>k)
return binarysearch(v,low,mid,k);
else
return binarysearch(v,mid+1,high,k);
}
int main() {
// your code goes here
ll t;
cin>>t;
while(t--)
{
ll n,q;
cin>>n>>q;
vector<ll> v(n,0);
for(ll i=0;i<n;i++)
cin>>v[i];
sort(v.begin(),v.end());
ll k;
while(q--)
{
cin>>k;
ll in=binarysearch(v,0,n-1,k);
if(v[in]<k)
cout<<"0"<<endl;
else{
ll no=(n)-in;
ll start=in-1, end=0;
while(start>end)
{
ll req=k-v[start];
if(end+req<in)
{
no++;
end=end+req;
}
start--;
}
cout<<no<<endl;
}
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwpsbCBiaW5hcnlzZWFyY2godmVjdG9yPGxsPiB2LGxsIGxvdywgbGwgaGlnaCwgbGwgaykKewoJCglsbCBtaWQ9IGxvdyArKGhpZ2gtbG93KS8yOwoJaWYobG93PT1oaWdoKQoJcmV0dXJuIGhpZ2g7CglpZihoaWdoLWxvdz09MSkKCXJldHVybiBrPnZbbG93XT9oaWdoOmxvdzsKCWlmKHZbbWlkXT09aykKCXJldHVybiBtaWQ7CgllbHNlIGlmKHZbbWlkXT5rKQoJcmV0dXJuIGJpbmFyeXNlYXJjaCh2LGxvdyxtaWQsayk7CgllbHNlCglyZXR1cm4gYmluYXJ5c2VhcmNoKHYsbWlkKzEsaGlnaCxrKTsKCX0KaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglsbCB0OwoJY2luPj50OwoJd2hpbGUodC0tKQoJewoJCWxsIG4scTsKCQljaW4+Pm4+PnE7CgkJdmVjdG9yPGxsPiB2KG4sMCk7CgkJZm9yKGxsIGk9MDtpPG47aSsrKQoJCWNpbj4+dltpXTsKCQlzb3J0KHYuYmVnaW4oKSx2LmVuZCgpKTsKCQlsbCBrOwoJCXdoaWxlKHEtLSkKCQl7CgkJCWNpbj4+azsKCQkJbGwgaW49YmluYXJ5c2VhcmNoKHYsMCxuLTEsayk7CgkJCWlmKHZbaW5dPGspCgkJCWNvdXQ8PCIwIjw8ZW5kbDsKCQkJZWxzZXsKCQkJbGwgbm89KG4pLWluOwoJCQlsbCBzdGFydD1pbi0xLCBlbmQ9MDsKCQkJd2hpbGUoc3RhcnQ+ZW5kKQoJCQl7CgkJCQlsbCByZXE9ay12W3N0YXJ0XTsKCQkJCWlmKGVuZCtyZXE8aW4pCgkJCQl7CgkJCQkJbm8rKzsKCQkJCQllbmQ9ZW5kK3JlcTsKCQkJCX0KCQkJCQoJCQkJc3RhcnQtLTsKCQkJfQoJCQljb3V0PDxubzw8ZW5kbDsKCQkJfQoJCQkKCQl9CgkJCgl9CglyZXR1cm4gMDsKfQ==