#P1529. 区间最大公约数

区间最大公约数

Description


给定一个长度为 N 的数列 A,以及 M 条指令,每条指令可能是以下两种之一:

    C l r d,表示把 A[l],A[l+1],…,A[r] 都加上 d。 

    Q l r,表示询问 A[l],A[l+1],…,A[r] 的最大公约数(GCD)。 

 对于每个询问,输出一个整数表示答案。



Input Format

第一行两个整数 N,M 。 

第二行 N 个整数 A[i] 。 

接下来 M 行表示 M 条指令,每条指令的格式如题目描述所示。

Output Format

对于每个询问,输出一个整数表示答案。 

每个答案占一行。 

5 5
1 3 5 7 9
Q 1 5
C 1 5 1
Q 1 5
C 3 3 6
Q 2 4
1
2
4

Hint

N≤500000,M≤100000N≤500000,M≤100000,
1≤A[i]≤10181≤A[i]≤1018,
|d|≤1018|d|≤1018,
保证数据在计算过程中不会超过 long long 范围。

Source

线段树