#include<bits/stdc++.h>
#define lc p<<1
#define rc p<<1|1
#define INF 1e18
using namespace std;
#define lowbit(x) x&(-x)
#define endl '\n'
using ll = long long;
using pii = pair<int,int>;
const double PI = acos(-1);
const int N=3e5+10;
ll a[N],b[N],c[N];
void solve(){
int n,m;cin>>n>>m;
vector<ll> v;
for(int i=1;i<=n;i++){
cin>>a[i];
if(i!=1&&a[i]>a[1]){
v.push_back(a[i]);
}
}
sort(v.begin(),v.end());
for(int i=1;i<=m;i++){
ll x;cin>>x;
if(x<=a[1]){
x=INF;
}
b[i]=x;
}
for(int i=1;i<=m;i++){
c[i]=v.end()-lower_bound(v.begin(),v.end(),b[i]);
}
sort(c+1,c+m+1);
for(int k=1;k<=m;k++){
int j=k;
ll ans=0;
for(;j<=m;j+=k){
ans+=c[j]+1;
}
cout<<ans<<" ";
}
cout<<endl;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
int T = 1;
cin>>T;
while (T--) {
solve();
}
return 0;
}
#include<bits/stdc++.h>
#define lc p<<1
#define rc p<<1|1
#define INF 1e18
using namespace std;
#define lowbit(x) x&(-x)
#define endl '\n'
using ll = long long;
using pii = pair<int,int>;
const double PI = acos(-1);
const int N=3e5+10;
ll a[N],b[N],c[N];
void solve(){
int n,m;cin>>n>>m;
vector<ll> v;
for(int i=1;i<=n;i++){
cin>>a[i];
if(i!=1&&a[i]>a[1]){
v.push_back(a[i]);
}
}
sort(v.begin(),v.end());
for(int i=1;i<=m;i++){
ll x;cin>>x;
if(x<=a[1]){
x=INF;
}
b[i]=x;
}
for(int i=1;i<=m;i++){
c[i]=v.end()-lower_bound(v.begin(),v.end(),b[i]);
}
sort(c+1,c+m+1);
for(int k=1;k<=m;k++){
int j=k;
ll ans=0;
for(;j<=m;j+=k){
ans+=c[j]+1;
}
cout<<ans<<" ";
}
cout<<endl;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
int T = 1;
cin>>T;
while (T--) {
solve();
}
return 0;
}