#include <bits/stdc++.h>
const int N = 100010;
long long t[N];
long long Ans[N];
long long sum[N];
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%I64d", &t[i]);
  std::sort(t + 1, t + n + 1);
  std::reverse(t + 1, t + n + 1);
  for (int i = 1; i <= n; i++) sum[i] = sum[i - 1] + t[i];
  for (int i = 2; i <= n; i++) Ans[1] += t[i] * (i - 1);
  int q;
  scanf("%d", &q);
  while (q--) {
    int k;
    scanf("%d", &k);
    if (Ans[k] != 0) {
      printf("%I64d\n", Ans[k]);
      continue;
    }
    long long ans = 0;
    long long tmp = 1, d = 0;
    for (int i = 1; i <= n; i++) {
      if (i + tmp - 1 > n) {
        ans += d * (sum[n] - sum[i - 1]);
        break;
      }
      ans += d * (sum[i + tmp - 1] - sum[i - 1]);
      d++;
      i += tmp - 1;
      tmp *= k;
    }
    Ans[k] = ans;
    printf("%I64d", Ans[k]);
    if (q) putchar(' ');
  }
  puts("");
  scanf(" ");
}
