#include <iostream>
#include <vector>
using namespace std;
int main() {
int n; cin >> n;
vector<int> a(n + 2), p(n + 2), s(n + 2);
for (int i = 1; i <= n; i++) cin >> a[i], p[i] = s[i] = 1;
for (int i = 2; i <= n; i++)
if (a[i] > a[i - 1]) p[i] = p[i - 1] + 1;
for (int i = n - 1; i >= 1; i--)
if (a[i] < a[i + 1]) s[i] = s[i + 1] + 1;
int ans = 0;
for (int i = 1; i <= n; i++) {
ans = max(ans, max(p[i], s[i]) + (1 < i && i < n));
if (1 < i && i < n) {
if (a[i - 1] + 1 < a[i + 1])
ans = max(ans, p[i - 1] + 1 + s[i + 1]);
}
else {
ans = max(ans, 1 + max(p[i - 1], s[i + 1]));
}
}
cout << ans << endl;
return 0;
}
CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHZlY3Rvcj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoKaW50IG47IGNpbiA+PiBuOwoKdmVjdG9yPGludD4gYShuICsgMiksIHAobiArIDIpLCBzKG4gKyAyKTsKCmZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgY2luID4+IGFbaV0sIHBbaV0gPSBzW2ldID0gMTsKCmZvciAoaW50IGkgPSAyOyBpIDw9IG47IGkrKykKaWYgKGFbaV0gPiBhW2kgLSAxXSkgcFtpXSA9IHBbaSAtIDFdICsgMTsKCmZvciAoaW50IGkgPSBuIC0gMTsgaSA+PSAxOyBpLS0pCmlmIChhW2ldIDwgYVtpICsgMV0pIHNbaV0gPSBzW2kgKyAxXSArIDE7CgppbnQgYW5zID0gMDsKZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CmFucyA9IG1heChhbnMsIG1heChwW2ldLCBzW2ldKSArICgxIDwgaSAmJiBpIDwgbikpOwppZiAoMSA8IGkgJiYgaSA8IG4pIHsKaWYgKGFbaSAtIDFdICsgMSA8IGFbaSArIDFdKQphbnMgPSBtYXgoYW5zLCBwW2kgLSAxXSArIDEgKyBzW2kgKyAxXSk7Cn0KZWxzZSB7CmFucyA9IG1heChhbnMsIDEgKyBtYXgocFtpIC0gMV0sIHNbaSArIDFdKSk7Cn0KfQoKY291dCA8PCBhbnMgPDwgZW5kbDsKCglyZXR1cm4gMDsKfQ==