#include <bits/stdc++.h>
using namespace std;
map<long long, bool> tz;
int gcd(int a, int b) {
  if (b == 0)
    return a;
  else
    return gcd(b, a % b);
}
int cnk(long long n, long long k, long long mod) {
  long long result = 1;
  int lal = 0;
  for (int lol = n; lal < k; lal++, lol--) {
    result *= lol;
    result %= mod;
  }
  return result;
}
const long long mod = 1e9 + 7;
vector<long long> graph[100000];
vector<long long> vec;
vector<long long> vec1[1001];
vector<long long> vec2[1001];
long long mas[100][100];
vector<long long> nap[4];
bool masi[100000];
long long mas1[100];
long long mas2[100];
string s;
bool comp(long long a, long long b) { return a > b; }
int main() {
  long long a, b, c, d;
  long long k = 0;
  double p;
  cin >> a;
  long long mini = 1e9;
  for (long long lol = 0; lol < a; lol++) {
    scanf("%i", &k);
    mini = min(mini, k);
  }
  cin >> a;
  for (long long lol = 0; lol < a; lol++) {
    scanf("%i", &k);
    vec.push_back(k);
  }
  long long res = 0;
  std::sort(vec.begin(), vec.end(), comp);
  for (long long bom = 0; bom < vec.size(); bom++) {
    if (bom % (mini + 2) < mini) {
      res += vec[bom];
    }
  }
  cout << res;
  return 0;
}
