#P10998. [2015杭电多校]GCD

[2015杭电多校]GCD

GCD

Problem Description

Give you a sequence of N(N100,000)N(N \leq 100, 000) integers : a1,...,an(0<ai1000,000,000)a_{1},...,a_{n}(0 < a_{i} \leq 1000, 000, 000). There are Q(Q100,000)Q (Q \leq 100, 000) queries. For each query l,rl, r you have to calculate gcd(al,,al+1,...,ar)gcd(a_{l},,a_{l+1},...,a_{r}) and count the number of pairs(l,r)(1l<rN)(l’, r’) (1 \leq l < r \leq N)such that gcd(al,al+1,...,ar)gcd(a_{l’},a_{l’+1},...,a_{r’}) equal gcd(al,al+1,...,ar)gcd(a_{l},a_{l+1},...,a_{r}).

Input

The first line of input contains a number TT, which stands for the number of test cases you need to solve. The first line of each case contains a number NN, denoting the number of integers. The second line contains NN integers, a1,...,an(0<ai1000,000,000)a_{1},...,a_{n}(0 < a_{i} \leq 1000, 000, 000). The third line contains a number QQ, denoting the number of queries. For the next QQ lines, i-th line contains two number , stand for the li,ril_{i}, r_{i}, stand for the i-th queries.

Output

For each case, you need to output “Case #:t” at the beginning.(with quotes, tt means the number of the test case, begin from 1). For each query, you need to output the two numbers in a line. The first number stands for gcd(al,al+1,...,ar)gcd(a_{l},a_{l+1},...,a_{r}) and the second number stands for the number of pairs(l,r)(l’, r’) such that gcd(al,al+1,...,ar)gcd(a_{l’},a_{l’+1},...,a_{r’}) equal gcd(al,al+1,...,ar)gcd(a_{l},a_{l+1},...,a_{r}).

Sample Input

1
5
1 2 4 6 7
4
1 5
2 4
3 4
4 4

Sample Output

Case #1:
1 8
2 4
2 4
6 1

Author

HIT

Source

2016 Multi-University Training Contest 1