const size=300;
var d:array[-301..300001,0..301] of int64;
a:array[0..1000000] of int64;
i,n,j,q,poz:longint;
sum,x,y:int64;
begin
read(n);
for i:=1 to n do
read(a[i]);
for i:=1 to n do
for j:=1 to size do
d[i][j]:=d[i-j][j]+a[i];
read(q);
for i:=1 to q do
begin
read(x,y);
sum:=0;
if y>size then
begin
j:=x;
while (j<=n) do
begin
sum:=sum+a[j];
j:=j+y;
end;
writeln(sum);
end
else
begin
poz:=(n-x) div y;
writeln(d[poz*y+x][y]-d[x-y][y]);
end;
end;
end.
Y29uc3Qgc2l6ZT0zMDA7CnZhciBkOmFycmF5Wy0zMDEuLjMwMDAwMSwwLi4zMDFdIG9mIGludDY0OwogICAgYTphcnJheVswLi4xMDAwMDAwXSBvZiBpbnQ2NDsKICAgIGksbixqLHEscG96OmxvbmdpbnQ7CiAgICBzdW0seCx5OmludDY0OwoKIGJlZ2luCiAgcmVhZChuKTsKICBmb3IgaTo9MSB0byBuIGRvCiAgcmVhZChhW2ldKTsKCgogIGZvciBpOj0xIHRvIG4gZG8KICBmb3Igajo9MSB0byBzaXplIGRvCiAgIGRbaV1bal06PWRbaS1qXVtqXSthW2ldOwoKCiAgcmVhZChxKTsKCiAgZm9yIGk6PTEgdG8gcSBkbwogICBiZWdpbgogICByZWFkKHgseSk7CiAgIHN1bTo9MDsKICAgaWYgeT5zaXplIHRoZW4KICAgIGJlZ2luCiAgICBqOj14OwogICAgICB3aGlsZSAoajw9bikgIGRvCiAgICAgICBiZWdpbgogICAgICAgIHN1bTo9c3VtK2Fbal07CiAgICAgICAgajo9ait5OwogICAgICAgZW5kOwogICAgd3JpdGVsbihzdW0pOwogICBlbmQKICBlbHNlCiAgIGJlZ2luCiAgICAgcG96Oj0obi14KSBkaXYgeTsKICAgICB3cml0ZWxuKGRbcG96KnkreF1beV0tZFt4LXldW3ldKTsKICAgZW5kOwogZW5kOwplbmQuCgoK