#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int t;
  cin >> t;
  for (int T = 0; T < t; T++) {
    long long n, k, ans = 0, e;
    cin >> n >> k;
    long long a[n];
    vector<long long> w;
    long long f = 0, b = n - 1, fr = 0;
    for (int i = 0; i < n; i++) cin >> a[i];
    sort(a, a + n);
    for (int i = 0; i < k; i++) {
      cin >> e;
      if (e != 1)
        w.push_back(e);
      else {
        ans += 2 * a[b];
        b--;
      }
    }
    sort(w.begin(), w.end());
    reverse(w.begin(), w.end());
    for (int i = 0; i < w.size(); i++) {
      ans += a[b];
      b--;
      ans += a[f];
      f += w[i] - 1;
    }
    cout << ans << endl;
  }
  return 0;
}
