#include <bits/stdc++.h>
using namespace std;
struct node {
int id, x;
friend bool operator < (const node &x, const node &y) {
return x.x == y.x ? x.id < y.id : x.x < y.x;
}
} a[200050];
int n, q;
long long s[200050];
void solve() {
scanf("%d%d", &n, &q);
for (int i = 1; i <= n; i++) {
scanf("%d", &a[i].x);
a[i].id = i;
}
for (int i = 1; i <= n; i++) s[i] = s[i - 1] + a[i].x;
sort(a + 1, a + n + 1);
while (q--) {
int x;
scanf("%d", &x);
int L = 0, R = n + 1;
while (L + 1 < R) {
int M = (L + R) / 2;
if (a[M].x <= x) L = M;
else R = M;
}
if (R == n + 1) printf("%lld ", s[n]);
else printf("%lld ", s[a[R].id - 1]);
}
printf("\n");
}
int main() {
int t;
scanf("%d", &t);
while (t--) solve();
return 0;
}