#3533. Interval GCD

Interval GCD

题目描述

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

  1. C l r d,表示把 al,al+1,,ara_l,a_{l+1},…,a_r 都加上 dd
  2. Q l r,表示询问 al,al+1,,ara_l,a_{l+1},…,a_r 的最大公约数(gcd\gcd)。

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

输入格式

第一行两个整数 N,MN,M

第二行 NN 个整数,分别表示 a1,a2,,aNa_1,a_2,\dots,a_N

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

输出格式

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

输入输出样例 #1

输入 #1

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

1
2
4

说明/提示

对于 100%100\% 的测试数据,N5×105N \le 5\times10^5M105M \le 10^51ai10181 \le a_i \le 10^{18}d1018|d| \le 10^{18},保证数据在计算过程中不会超过 long long 范围。