#511. 区间 GCD

区间 GCD

题目描述

给定一个长度为 N N 的数列 AA,以及 M M 条指令 (N5105,M<=105)(N≤5*10^5, M<=10^5),每条指令可能是以下两种之一:

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

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

输入格式

第一行两个整数 N,MN,M,第二行 NN 个整数 AiA_i,接下来 MM 行每条指令的格式如题目描述所示。

输出格式

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

样例

样例输入

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

数据范围与提示

数据保证任何时刻 Ai2621 A_i \le 2 ^{62} - 1