#include <bits/stdc++.h>
using namespace std;
void solve() {
  int n, k;
  cin >> n >> k;
  int64_t ans = 0;
  deque<int> a;
  for (int i = 0; i < (int)(n); i++) {
    int x;
    cin >> x;
    a.push_front(x);
  }
  sort((a).begin(), (a).end());
  vector<int> w;
  for (int i = 0; i < (int)(k); i++) {
    int x;
    cin >> x;
    if (x == 1) {
      ans += 2 * a.back();
      a.pop_back();
      continue;
    }
    w.push_back(x);
  }
  sort((w).begin(), (w).end(), [](int a, int b) { return a > b; });
  for (int &x : w) {
    ans += a.front(), x--;
    a.pop_front();
    for (int j = 0; j < (int)(x - 1); j++) a.pop_front();
    ans += a.back();
    a.pop_back();
  }
  cout << ans << '\n';
}
int main() {
  ios_base::sync_with_stdio(0), cin.tie(0);
  int t;
  cin >> t;
  while (t--) solve();
}
