#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
const int mxN = 300010;
const int BLK = 550;
struct q {
  int a, b, i;
  bool operator<(const q& o) const { return b < o.b; }
};
long long res[mxN];
int main(int argc, char** argv) {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int N, Q;
  cin >> N;
  vector<long long> a(N + 1);
  for (int i = 1; i <= N; i++) cin >> a[i];
  cin >> Q;
  vector<q> qs(Q);
  for (int i = 0; i < Q; i++) {
    cin >> qs[i].a >> qs[i].b;
    qs[i].i = i;
  }
  sort(begin(qs), end(qs));
  for (int i = 0; i < Q;) {
    int j = i;
    while (j < Q && qs[i].b == qs[j].b) j++;
    if (qs[i].b >= BLK) {
      for (int k = i; k < j; k++) {
        for (int A = qs[k].a; A <= N; A += qs[k].b) res[qs[k].i] += a[A];
      }
    } else {
      vector<long long> psum(N + 1);
      for (int k = 1; k <= N; k++)
        psum[k] = a[k] + (k >= qs[i].b ? psum[k - qs[i].b] : 0);
      for (int k = i; k < j; k++) {
        int lst = N;
        if (qs[k].a % qs[k].b > lst % qs[k].b) lst -= qs[k].b;
        lst -= lst % qs[k].b;
        lst += qs[k].a % qs[k].b;
        res[qs[k].i] =
            psum[lst] - (qs[k].a >= qs[k].b ? psum[qs[k].a - qs[k].b] : 0);
      }
    }
    i = j;
  }
  for (int i = 0; i < Q; i++) cout << res[i] << '\n';
  return 0;
}
