Cho dãy số nguyên x1, x2,
…, xN và hàm f(p)
là số lượng các phần tử thuộc dãy x chia hết cho p.
Cho M
truy vấn, mỗi truy vấn cho hai số nguyên li, ri.
Bạn phải trả lời câu hỏi: Tính tổng:
, ở đây S(li,
ri) là tập các số nguyên tố thuộc đoạn [li,ri].
INPUT:
·
Dòng đầu tiên chứa giá trị N
(1 ≤ N ≤ 106)
·
Dòng hai chứa N
số nguyên x1, x2, …, xN
(2 ≤ xi ≤ 105)
·
Dòng ba chứa giá trị M
(1 ≤ M ≤ 5*104)
·
M dòng tiếp theo, mỗi
dòng chứa hai số li, ri
(2 ≤ li ≤ ri ≤ 2*109)
OUTPUT:
·
Gồm M dòng, mỗi dòng là câu
trả lời của truy vấn tương ứng của INPUT.
Ví dụ:
PRIME.INP
|
PRIME.OUT
|
6
5 5 7 10 14 15
3
2 11
3 12
4 4
|
9
7
0
|
Giải
thích:
·
Tại truy vấn 1: l
= 2, r = 11:
Ta cần tính f(2)
+ f(3) + f(5) + f(7) + f(11) = 2 + 1 + 4 + 2 + 0 = 9.
·
Tại truy vấn 2: l
= 3, r = 12:
Ta cần tính f(3)
+ f(5) + f(7) + f(11) = 1 + 4 + 2 + 0 = 7
·
Tại truy vấn 3: l
= 4, r = 4: không có số nguyên tố nào thuộc đoạn [l,r],
nên kết quả truy vấn bằng 0
*
Chú ý:
·
40% test 1
≤ N, M ≤ 100; 1 ≤ li ≤ ri ≤ 1000
·
40% test tiếp theo 1
≤ N, M ≤ 1000; 1 ≤ li ≤ ri ≤ 1000
·
20% test còn lại 1 ≤ N ≤ 106, 2 ≤ xi
≤ 105, 1 ≤ M ≤ 5*104, 2 ≤ li ≤ ri
≤ 2*109