#include using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); ++i) #define int long long signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N, Q; cin >> N >> Q; assert(1 <= N && N <= 100000); assert(1 <= Q && Q <= 100000); vector A(N); rep(i, N) { cin >> A[i]; assert(0 <= A[i] && A[i] <= 100000); } rep(q, Q) { int t; cin >> t; assert(t == 1 || t == 2); if (t == 1) { int x, y; cin >> x >> y; assert(1 <= x && x <= N); assert(0 <= y && y <= 100000); --x; A[x] = y; } else { int l, r, a, b; cin >> l >> r >> a >> b; assert(1 <= l && l <= r && r <= N); assert(0 <= a && a <= 100000); assert(0 <= b && b <= 100000); --l; if (a > b) { cout << (a * (r - l)) << '\n'; } else { int ans = 0; for (int i = l; i < r; ++i) ans += clamp(A[i], a, b); cout << ans << '\n'; } } } }