#include <iostream>
using namespace std;
#define N 100001
int s[N], s1[N], s2[N], s3[N], s4[N], pre[N], nex[N];
int main()
{
int n;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> s[i];
s1[i] = 1;
s2[i] = 1;
s3[i] = 1;
s4[i] = 1;
pre[i] = -1;
nex[i] = -1;
}
int maxv = 0;
for (int i = 1; i < n; i++)
{
if (s[i] > s[i - 1])
s1[i] = s1[i - 1] + 1;
else
{
nex[i] = s[i - 1] + 1;
pre[i - 1] = s[i] - 1;
s2[i] = s1[i - 1];
if (i >= 2 && s[i] - 1 > s[i - 2])
s3[i - 1] = s1[i - 2] + 1;
}
if (nex[i - s1[i] + 1] < s[i - s1[i] + 2])
s4[i] = max(s1[i] + s2[i - s1[i] + 1], s4[i]);
if (pre[i - s1[i]] < s[i - s1[i] + 1])
s4[i] = max(s1[i] + s3[i - s1[i]], s4[i]);
maxv = max(maxv, s4[i]);
maxv = max(maxv, s2[i]);
}
cout<<maxv;
}