3092. 区间最大公约数【线段树】 标准IO
时间限制:1000 MS 内存限制:64 MB    算法评级:    状态:

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

  1. C l r d,表示把 $A[l],A[l+1],…,A[r]$都加上 $d$。
  2. Q l r,表示询问 $A[l],A[l+1],…,A[r]$的最大公约数($GCD$)。

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


输入格式

第一行两个整数 $N,M$。

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

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


输出格式

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

每个答案占一行。


样例输入

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

数据范围

$N≤500000,M≤100000$,
$1≤A[i]≤10^{18}$,
$|d|≤10^{18}$,
保证数据在计算过程中不会超过 long long 范围。

代码运行状态:

输出