from sys import stdin input = stdin.readline class BIT: def __init__(self, A): self.size = len(A) self.bit = [0]*(len(A)+1) for i in range(len(A)): self.add(i, A[i]) def sum(self, i): i += 1 ans = 0 while i > 0: ans += self.bit[i] i -= -i&i return ans def query(self, l, r): if l == 0: return self.sum(r-1) else: return self.sum(r-1)-self.sum(l-1) def add(self, i, x): i += 1 while i <= self.size: self.bit[i] += x i += -i&i N, Q = map(int, input().split()) A = list(map(int, input().split())) query = [list(map(int, input().split())) for _ in range(Q)] B = [] for i in range(N-1): B.append(A[i+1]-A[i]) F = BIT([0]*(N-1)) for i in range(N-1): if B[i] != 0: F.add(i, 1) for i in range(Q): q = query[i][0] if q == 1: l, r, x = query[i][1:] l, r = l-1, r-1 if 1 <= l: if B[l-1] != 0: F.add(l-1, -1) B[l-1] += x if B[l-1] != 0: F.add(l-1, 1) if r+1 < N: if B[r] != 0: F.add(r, -1) B[r] -= x if B[r] != 0: F.add(r, 1) else: l, r = query[i][1:] l, r = l-1, r-1 if l == r: print(1) else: print(F.query(l, r)+1)