#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;
}