小阳的贝壳
题号:NC26255
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

小阳手中一共有 n 个贝壳,每个贝壳都有颜色,且初始第 i 个贝壳的颜色为 col_i 。现在小阳有 3 种操作:

1 l r x:给 区间里所有贝壳的颜色值加上

2 l r:询问 区间里所有相邻贝壳 颜色值的差(取绝对值) 的最大值(若 输出 0)。

3 l r :询问 区间里所有贝壳颜色值的最大公约数。

输入描述:

第一行输入两个正整数 ,分别表示贝壳个数和操作个数。
第二行输入 个数 ,表示每个贝壳的初始颜色。
第三到第 行,每行第一个数为 ,表示操作编号。接下来的输入的变量与操作编号对应。

输出描述:

共 m 行,对于每个询问(操作 2 和操作 3)输出对应的结果。
示例1

输入

复制
5 6
2 2 3 3 3
1 2 3 3
2 2 4
3 3 5
1 1 4 2
3 2 3
2 3 5

输出

复制
3
3
1
3

备注: