#A3090. 【例】区间最大公约数

【例】区间最大公约数

题目描述

给定一个长度为 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

提示

N500000,M100000N≤500000,M≤100000,

1A[i]10181≤A[i]≤10​^{18}​,

d1018|d|≤10​^18,

保证数据在计算过程中不会超过 long long 范围。