using namespace std;

int n;
const int MAXN=1e5+10;
int l[MAXN];
int r[MAXN];
int a[MAXN];
bool tr=false;
int ans=0;
int main()
{
    scanf("%d",&n);
    int ans=1;
    for(int i=1;i<=n;i++) cin>>a[i];
    l[1]=0;
    int p=0;
    for(int i=2;i<=n;i++)
    {
        if(a[i]>a[i-1]) 
        {
            l[i]=++p;
        }
        else 
        {
            l[i]=++p;
            p=0;
        }
        ans=max(ans,l[i]);
    }
    r[n]=0;
    p=0;
    for(int i=n-1;i>=1;i--)
    {
        if(a[i]<a[i+1]) r[i]=++p;
        else 
        {
            r[i]=++p;
            p=0;
        }
        ans=max(ans,r[i]);
    }
    for(int i=1;i<=n;i++)
    {
        if(a[i+1]>a[i-1])
            ans=max(ans,l[i]+r[i]+1);
        else ans=max(ans,max(l[i]+1,r[i]+1));
    }
//     for(int i=1;i<=n;i++)
//         cout<<i<<" "<<l[i]<<" "<<r[i]<<endl;
//     cout<<endl;
    cout<<ans;
}