#include <bits/stdc++.h>
using namespace std;
int n, x;
map<int, long long int> Map;
int a[100010];
long long int b[100010];
long long int calc() {
  if (Map.find(x) != Map.end()) return Map[x];
  long long int& res = Map[x];
  res = 0;
  long long int w = 1;
  for (long long int i = n, j = 0; i > 0; j++) {
    res += (b[i] - b[i - w]) * j;
    i -= w;
    w *= x;
    if (w > i) w = i;
  }
  return res;
}
int main() {
  int q;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%d", &a[i]);
  sort(a, a + n);
  for (int i = 0; i < n; i++) b[i + 1] = b[i] + a[i];
  for (scanf("%d", &q); q--;) {
    scanf("%d", &x);
    printf("%I64d%c", calc(), q ? ' ' : '\n');
  }
  return 0;
}
