Codeforces Round 182 (Div. 1)
D
Yaroslav and Divisors
Codeforces
2200
原题
← CE →
翻译中…

Yaroslav has an array $*p* = *p*_{1}, *p*_{2}, ..., *p*_{*n*}$ $(1 ≤ *p*_{*i*} ≤ *n*)$, consisting of $*n*$ distinct integers. Also, he has $*m*$ queries:

翻译中…
  • Query number $*i*$ is represented as a pair of integers $*l*_{*i*}$, $*r*_{*i*}$ $(1 ≤ *l*_{*i*} ≤ *r*_{*i*} ≤ *n*)$.
  • The answer to the query $*l*_{*i*}, *r*_{*i*}$ is the number of pairs of integers $*q*$, $*w*$ $(*l*_{*i*} ≤ *q*, *w* ≤ *r*_{*i*})$ such that $*p*_{*q*}$ is the divisor of $*p*_{*w*}$.
翻译中…

Help Yaroslav, answer all his queries.

翻译中…

Input

翻译中…

The first line contains the integers $*n*$ and $*m*$ $(1 ≤ *n*, *m* ≤ 2·10^{5})$. The second line contains $*n*$ distinct integers $*p*_{1}, *p*_{2}, ..., *p*_{*n*}$ $(1 ≤ *p*_{*i*} ≤ *n*)$. The following $*m*$ lines contain Yaroslav's queries. The $*i*$-th line contains integers $*l*_{*i*}, *r*_{*i*}$ $(1 ≤ *l*_{*i*} ≤ *r*_{*i*} ≤ *n*)$.

翻译中…

Output

翻译中…

Print $*m*$ integers — the answers to Yaroslav's queries in the order they appear in the input.

翻译中…

Please, do not use the %lld specifier to read or write 64-bit integers in C++. It is preferred to use the cin, cout streams or the %I64d specifier.

翻译中…

样例

Input #1
1 1
1
1 1
Output #1
1
InputCopy OutputCopy
Input #2
10 9
1 2 3 4 5 6 7 8 9 10
1 10
2 9
3 8
4 7
5 6
2 2
9 10
5 10
4 10
Output #2
27
14
8
4
2
1
2
7
9
InputCopy OutputCopy
题目信息
题号
301D
时间限制
2 s
内存限制
256 MB
标签
数据结构

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。