6108: Yaroslav and Divisors

内存限制:256 MB 时间限制:2 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:0 通过:0

题目描述

time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Yaroslav has an array p=p1,p2,...,pn (1≤pin), consisting of n distinct integers. Also, he has m queries:

  • Query number i is represented as a pair of integers li, ri (1≤lirin).
  • The answer to the query li,ri is the number of pairs of integers q, w (liq,wri) such that pq is the divisor of pw.

Help Yaroslav, answer all his queries.

Input

The first line contains the integers n and m (1≤n,m≤2·105). The second line contains n distinct integers p1,p2,...,pn (1≤pin). The following m lines contain Yaroslav's queries. The i-th line contains integers li,ri (1≤lirin).

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.

Examples
Input
1 1
1
1 1
Output
1
Input
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
27
14
8
4
2
1
2
7
9