#include<bits/stdc++.h>
#define l long long
using namespace std;
struct xdd
{
l ks,js,cd;
}a[1000006];
l n,x[1000006],aa,cdmax=-1e9;
int main()
{
cin>>n;
for(l i=1;i<=n;i++)
{
cin>>x[i];
if(i==1)
{
a[++aa].ks=i;
}
else
{
if(x[i]<=x[i-1])
{
a[aa].js=i-1;
a[aa].cd=a[aa].js-a[aa].ks+1;
a[++aa].ks=i;
cdmax=max(cdmax,a[aa].cd);
}
}
}
a[aa].js=n;
a[aa].cd=n-a[aa].ks+1;
cdmax=max(cdmax,a[aa].cd);
if(cdmax!=n) cdmax++;
for(l i=2;i<=aa;i++)
{
if(a[i].cd==1)
{
cdmax=max(cdmax,a[i-1].cd+1);
}
else if(a[i-1].cd==1)
{
cdmax=max(cdmax,1+a[i].cd);
}
else
{
if(x[a[i-1].js]==x[a[i].ks])
{
if(x[a[i-1].js-1]<x[a[i-1].js]-1||x[a[i].ks]+1<x[a[i].ks+1])
{
cdmax=max(cdmax,a[i-1].cd+a[i].cd);
}
}
else
{
if(x[a[i].ks+1]-2>=x[a[i-1].js]||x[a[i].ks+1]>=x[a[i-1].js-1]+2)
{
cdmax=max(cdmax,a[i-1].cd+a[i].cd);
}
}
}
}
printf("%lld",cdmax);
return 0;
}
rt,#31wa