#include using namespace std; const int N=1000010; int n,q,a[N],b[N],t1[N],t2[N]; void u1(int i,int x){for(;i<=n;i+=i&-i)t1[i]+=x;} int q1(int i){int s=0;for(;i;i-=i&-i)s+=t1[i];return s;} void u2(int i,int x){for(;i<=n;i+=i&-i)t2[i]+=x;} int q2(int i){int s=0;for(;i;i-=i&-i)s+=t2[i];return s;} int main(){ ios::sync_with_stdio(0),cin.tie(0); cin>>n>>q; for(int i=1;i<=n;++i)cin>>a[i]; for(int i=1;i>op; if(op==1){ int l,r,x;cin>>l>>r>>x; u1(l,x);if(r1){ int p=a[l-1]+q1(l-1),c=a[l]+q1(l),nb=(p!=c); if(nb!=b[l-1])u2(l-1,nb-b[l-1]),b[l-1]=nb; } if(r>l>>r; cout<<(l==r?1:1+q2(r-1)-q2(l-1))<<'\n'; } } }