#include <bits/stdc++.h>
using namespace std;
int ans[300001];
long long sum[300001];
struct node {
  int id, a, b;
  long long res;
} st[300010];
bool cmp_id(node A, node B) { return A.id < B.id; }
bool cmp_b(node A, node B) { return A.b < B.b; }
int main() {
  int n, q;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%d", &ans[i]);
  scanf("%d", &q);
  for (int i = 0; i < q; i++) {
    scanf("%d%d", &st[i].a, &st[i].b);
    st[i].id = i;
    if (st[i].b >= 600) {
      st[i].res = 0;
      for (int j = st[i].a; j <= n; j += st[i].b) {
        st[i].res += ans[j];
      }
    }
  }
  sort(st, st + q, cmp_b);
  st[q].b = -1;
  int first = 0, end;
  while (first < q && st[first].b < 600) {
    end = first + 1;
    while (end < q && st[first].b == st[end].b) end++;
    for (int i = n; i >= 1; i--) {
      if (i + st[first].b <= n) {
        sum[i] = sum[i + st[first].b] + ans[i];
      } else
        sum[i] = ans[i];
    }
    for (int i = first; i < end; i++) {
      st[i].res = sum[st[i].a];
    }
    first = end;
  }
  sort(st, st + q, cmp_id);
  for (int i = 0; i < q; i++) {
    cout << st[i].res << "\n";
  }
  return 0;
}
