#include<bits/stdc++.h>
#define ll long long
#define ff first
#define ss second
#define mkp make_pair
#define pb push_back
using namespace std;
ll a[100],t[401];
void build(ll v,ll l,ll r)
{
    if(l==r){t[v]=a[l]; return ;}
    ll m=(l+r)/2;
    build(2*v,l,m);
    build(2*v+1,m+1,r);
    t[v]=t[2*v]+t[2*v+1];
}
void update(ll v,ll l,ll r,ll i,ll val)
{
    if(l==r){t[v]*=val; return ;}
    ll m=(l+r)/2;
    if(i<=m){update(2*v,l,m,i,val);}
    else{update(2*v+1,m+1,r,i,val);}
    t[v]=t[2*v]+t[2*v+1];
}
ll get(ll v,ll l,ll r,ll ql,ll qr)
{
    if(l<=ql && r<=qr){return t[v];}
    if(ql>r || l>qr){return 0;}
    ll m=(l+r)/2;
    return get(2*v,l,m,ql,qr)+get(2*v+1,m+1,r,ql,qr);
}
int main ()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    ll n,q;
    cin>>n>>q;
    for(ll i=1; i<=n; i++)
    {
        cin>>a[i];
    }
    build(1,1,n);
    while(q--)
    {
        ll type;
        cin>>type;
        if(type==1)
        {
            ll p;
            cin>>p;
            update(1,1,n,p,-1);
        }
        if(type==2)
        {
            ll l,r;
            cin>>l>>r;
            ll ans=0;
            for(ll i=l; i<=r; i++)
            {
                for(ll j=i+1; j<=r; j++)
                {
                    bool t2=1;
                    for(ll m=i; m<=j; m++)
                    {
                        ll res=get(1,1,n,i,m),res2=get(1,1,n,m,j);
                        if(res<0 || res2<0){t2=0; break;}
                    }
                    if(t2){ans=max(ans,j-i+1);}

                }
            }
            cout<<ans<<'\n';
        }
    }
}

