#include <iostream>
#include <algorithm>
bool possible ( int *a , int &mid , int &exp , int &r ) {
int req = 0 , have = mid ;
for ( int i = mid ; i <= r ; i++ ) req += exp - a[i] ;
if ( req <= have ) return 1 ;
return 0 ;
}
int32_t main () {
int t = 1 ;
scanf("%d", &t ) ;
while ( t-- ) {
int n = 0 , q = 0 ;
scanf("%d", &n ) ;
scanf("%d", &q ) ;
int a[n] ;
for ( int i = 0 ; i < n ; i++ ) scanf("%d", &a[i] ) ;
std :: sort(a,a+n) ;
while ( q-- ) {
int exp = 0 , exi = 0 ;
scanf("%d", &exp ) ;
int i = 0 , j = n ;
int low = 0 , high = n-1 ;
while ( low <= high ) {
int mid = ((low+high)>>1) ;
if ( a[mid] >= exp ) {
j = mid ;
high = mid - 1 ;
} else {
low = mid + 1 ;
}
}
exi += (n-j) ;
j-- ;
int cur = 0 ;
int l = 0 , r = j ;
while ( i <= j ) {
int mid = ((i+j)>>1) ;
if ( possible(a,mid,exp,r) ) {
cur = (r-mid+1) ;
j = mid - 1 ;
} else {
i = mid + 1 ;
}
}
printf ( "%d\n" , exi + cur ) ;
}
}
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKYm9vbCBwb3NzaWJsZSAoIGludCAqYSAsIGludCAmbWlkICwgaW50ICZleHAgLCBpbnQgJnIgKSB7CiAgICBpbnQgcmVxID0gMCAsIGhhdmUgPSBtaWQgOwogICAgZm9yICggaW50IGkgPSBtaWQgOyBpIDw9IHIgOyBpKysgKSByZXEgKz0gZXhwIC0gYVtpXSA7CiAgICBpZiAoIHJlcSA8PSBoYXZlICkgcmV0dXJuIDEgOwogICAgcmV0dXJuIDAgOwp9CgppbnQzMl90IG1haW4gKCkgewogICAgaW50IHQgPSAxIDsgCiAgICBzY2FuZigiJWQiLCAmdCApIDsKICAgIHdoaWxlICggdC0tICkgewogICAgICAgIGludCBuID0gMCAsIHEgPSAwIDsKICAgICAgICBzY2FuZigiJWQiLCAmbiApIDsKICAgICAgICBzY2FuZigiJWQiLCAmcSApIDsKCiAgICAgICAgaW50IGFbbl0gOwogICAgICAgIGZvciAoIGludCBpID0gMCA7IGkgPCBuIDsgaSsrICkgc2NhbmYoIiVkIiwgJmFbaV0gKSA7CiAgICAgICAgc3RkIDo6IHNvcnQoYSxhK24pIDsKCiAgICAgICAgd2hpbGUgKCBxLS0gKSB7CiAgICAgICAgICAgIGludCBleHAgPSAwICwgZXhpID0gMCA7CiAgICAgICAgICAgIHNjYW5mKCIlZCIsICZleHAgKSA7CgogICAgICAgICAgICBpbnQgaSA9IDAgLCBqID0gbiA7CiAgICAgICAgICAgIGludCBsb3cgPSAwICwgaGlnaCA9IG4tMSA7CgogICAgICAgICAgICB3aGlsZSAoIGxvdyA8PSBoaWdoICkgewogICAgICAgICAgICAgICAgaW50IG1pZCA9ICgobG93K2hpZ2gpPj4xKSA7CiAgICAgICAgICAgICAgICBpZiAoIGFbbWlkXSA+PSBleHAgKSB7CiAgICAgICAgICAgICAgICAgICAgaiA9IG1pZCA7CiAgICAgICAgICAgICAgICAgICAgaGlnaCA9IG1pZCAtIDEgOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBsb3cgPSBtaWQgKyAxIDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgZXhpICs9IChuLWopIDsKICAgICAgICAgICAgai0tIDsKICAgICAgICAgICAgCiAgICAgICAgICAgIGludCBjdXIgPSAwIDsKICAgICAgICAgICAgaW50IGwgPSAwICwgciA9IGogOwogICAgICAgICAgICB3aGlsZSAoIGkgPD0gaiApIHsKICAgICAgICAgICAgICAgIGludCBtaWQgPSAoKGkraik+PjEpIDsKICAgICAgICAgICAgICAgIGlmICggcG9zc2libGUoYSxtaWQsZXhwLHIpICkgewogICAgICAgICAgICAgICAgICAgIGN1ciA9IChyLW1pZCsxKSA7CiAgICAgICAgICAgICAgICAgICAgaiA9IG1pZCAtIDEgOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpID0gbWlkICsgMSA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHByaW50ZiAoICIlZFxuIiAsIGV4aSArIGN1ciApIDsgCiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDAgOwp9