GCD

Time Limit: 4500ms
Memory Limit: 65536KB
This problem will be judged on HDU. Original ID: 5930
64-bit integer IO format: %I64d      Java class name: Main

Description

Mr. Frog likes generating numbers! He can generate many numbers from a sequence.

For a given sequence $a_1,a_2,\cdots ,a_n$ Mr. Frog can choose two numbers l and r ($1 \leq l \leq r \leq n$) and calculate the gcd between l-th and r-th number in this sequence $g = gcd(a_l,a_{l+1},\cdots ,a_r)$. Asan expert in generating numbers, Mr. Frog wants to know how many distinct numbers can be generated by a sequence.

Mr. Frog likes challenges, so there may be many modifications in this sequence. In the i-th modification, Mr. Frog may change $a_p$ to $v_i$. After each modification, you are asked to tell how many distinct numbers can be generated by this sequence immediately!

Input

The first line contains only one integer T, which indicates the number of test cases.

For each test case, the first line includes two numbers n, q($1 \leq n,q \leq 50000$). which indicate the length of sequence and the number of modifications.

The second line contains n numbers:$a_1,a_2,\cdots ,a_n$.

Then q lines, each line contain two numbers, $p_i,v_i(1 \leq p_i \leq n, 1 \leq v_i \leq 1000000)$.

Test data guarantee that $1 <\leq a_i \leq 1000000$ all the time and the sum of all n and q is less than or equal to $2 \times 10^5$.

Output

For each test case, first output one line "Case #x:", where x is the case number (starting from 1). Then q lines, each line contain only one number, which is the answer to current sequence.

Sample Input

2
3 2
1 2 3
1 3
2 3

3 2
3 3 3
1 1
2 2

Sample Output

Case #1:
3
1
Case #2:
2
3

Source

Language: 
Theme: 
Share Code? 

Powered by NB231 | Current Style: .