#arc0174. [arc017_4]ARCたんクッキー

[arc017_4]ARCたんクッキー

题目描述

给定一个长度为NN的序列AA,要求维护两种操作:

  • 将一个区间里的数加上xx
  • 问一个区间里的所有数的最大公约数

输入格式

第一行一个正整数NN,代表序列长度

第二行NN个正整数,代表序列AA

第三行一个正整数MM,代表操作次数

接下来有MM行,每行三个整数op,L,Rop,L,R

  • 如果op=0op=0,那么要求输出[L,R][L,R]之间的所有数的最大公约数
  • 如果op0op\ne 0,那么将[L,R][L,R]里的所有数加上opop

输出格式

对每个查询操作,输出一行一个正整数,代表区间里的最大公约数

说明&提示

数据范围

1N,M100000,1op,Ai1091\le N,M\le 100000,1\le op,A_i\le 10^9

30%30\%数据点满足每次只修改一个数

样例1解释

  • A=[6,3,38,49]
  • Output gcd(6,3,38)=1
  • A->[6,3,36,49]
  • Output gcd(6,3,36)=3
  • A->[6,12,36,49]
  • Output gcd(6,12)=6
  • A->[6,12,42,49]
  • Output gcd(42,49)=7