#include <bits/stdc++.h>
using namespace std;
int a[200005];
int w[200005];
int main() {
  int t, n, k;
  cin >> t;
  while (t--) {
    cin >> n >> k;
    for (int i = 0; i < n; i++) scanf("%d", a + i);
    for (int i = 0; i < k; i++) {
      scanf("%d", w + i);
    }
    sort(a, a + n);
    sort(w, w + k, [](int x, int y) { return x > y; });
    long long res = 0;
    int l = 0, r = n - 1;
    for (int i = k - 1; i >= 0; i--) {
      res += a[r];
      if (w[i]-- == 1) {
        res += a[r];
      }
      r--;
    }
    for (int i = 0; i < k && w[i]; i++) {
      res += a[l];
      l += w[i];
    }
    cout << res << endl;
  }
}
