#2388. 函数调用

函数调用

Description

开始时,seq\mathit{seq} 数组已清零。请注意 seq\mathit{seq} 数组的第一个元素的下标是 0 而非 1。

void something (int jump) 
{
    for (int i = 0; i < N; i += jump)
	++seq[i];
}

Mirko 调用了 something\tt something 函数 KK 次,第 ii 次调用时 jump=Xi\tt jump= \it X_i。 接下来有 QQ 次查询,每次查询包含两个整数 Li,L_i, RiR_i,对于每组查询请输出 i=LiRiseqi\displaystyle\sum_{i=L_i}^{R_i}\mathit{seq}_i

Input Format

第一行:N,KN,K。 接下来一行 KK 个整数,第 ii 个为 XiX_i。 第 N+2N+2 行:QQ。 接下来 QQ 行:每行两个整数 Li,L_i, RiR_i

Output Format

QQ 行,第 ii 行包含第 ii 组查询的答案。

10 4
1 1 2 1
3
0 9
2 6
7 7

35
18
3

11 3
3 7 10
3
0 10
2 6
7 7

8
2
1

Hint

样例说明 1

seq={4,3,4,3,4,3,4,3,4,3}seq=\{4, 3, 4, 3, 4, 3, 4, 3, 4, 3\}

样例说明 2

seq={3,0,0,1,0,0,1,1,0,1,1}seq=\{3, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1\}

数据范围与提示

1N,K,Q106,1≤N,K,Q≤10^6, 1Xi<N,1≤X_i \lt N, 0LiRi<N0≤L_i≤R_i \lt N.

Source

[COCI2009-2010#5] PROGRAM