#1272. 2.取模问题

2.取模问题

当前没有测试数据。

2.取模问题

题目描述

给定一个长度为nn的非负整数序列aa,需要支持以下操作:

  1. 给定llrr,输出a[l]+a[l+1]++a[r]a[l]+a[l+1]+\cdots+a[r]
  2. 给定llrrxx,将a[l]a[l]a[l+1]a[l+1]\ldotsa[r]a[r]xx取模;
  3. 给定kkyy,将a[k]a[k]修改为yy

输入格式

第一行两个整数nnmm

第二行nn个整数a[1]a[n]a[1]\ldots a[n]

接下来mm行每行3344个整数表示操作。

输出格式

对于每个操作11,输出一行一个整数表示答案。

数据范围与提示

  • 对于40%40\%的数据,n,m1000n,m \leq 1000
  • 对于100%100\%的数据,n,m100000n,m \leq 1000001l,r,kn1 \leq l,r,k \leq n1x1091 \leq x \leq 10^{9}0a[i],y1090 \leq a[i],y \leq 10^{9}

样例

5 5
1 2 3 4 5
2 3 5 4
3 3 5
1 2 5
2 1 3 3
1 1 3
8
5