// とおってー! #pragma GCC optimize ("O3") #pragma GCC target ("avx") #include using namespace std; using int64 = long long; int main() { int N, Q; int64 A[100000]; scanf("%d %d", &N, &Q); for(int i = 0; i < N; i++) { scanf("%lld", &A[i]); } for(int i = 0; i < Q; i++) { int a, b, c, d; scanf("%d %d %d", &a, &b, &c); --b; if(a == 1) { scanf("%d", &d); for(int j = b; j < c; j++) A[j] += d; } else { int ret = 0; for(int j = b; j < c - 1; j++) ret += A[j] != A[j + 1]; printf("%d\n", ret + 1); } } }