#include #include using namespace std; using namespace atcoder; using ll = long long; #define rep(i, n) for (int i = 0; i < (n); ++i) #define all(x) begin(x), end(x) const int INF = 1e9; int dx[4] = {1, -1, 0, 0}; int dy[4] = {0, 0, 1, -1}; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); ll N, Q; cin >> N >> Q; vector A(N); rep(i, N) cin >> A[i]; rep(i, Q) { ll t; cin >> t; if (t == 1) { ll x, y; cin >> x >> y; A[x - 1] = y; } else { ll l, r, a, b; cin >> l >> r >> a >> b; ll ans = 0; for (int i = l - 1; i < r; i++) { ans += max(a, min(b, A[i])); } cout << ans << endl; } } return 0; }