#include <bits/stdc++.h>
using namespace std;
int a[100010], n, m, w, used[100010];
void f(int l, int r, int q) {
  if (q != 2) {
    if (m < r - l) {
      m = r - l;
    }
    if (r < n) {
      if (a[r] > a[r - 1]) {
        f(l, r + 1, q);
      } else {
        if (used[r] == 0) {
          used[r] = 1;
          f(r, r + 1, 0);
        }
        if (q == 0) {
          if (a[r] <= a[r - 1]) {
            if (m == r - l) {
              m++;
            }
            f(r - 1, r + 1, 1);
          }
          if (r == l + 1) {
            if (a[r] < a[r + 1]) {
              f(l, r + 2, q + 1);
            }
          }
          if (r == 1) {
            f(l, r + 1, q + 1);
          } else {
            if (a[r] > a[r - 2] + 1) {
              f(l, r + 1, q + 1);
            }
          }
          if (a[r + 1] > a[r - 1] + 1) {
            f(l, r + 2, q + 1);
          }
        }
      }
    }
  }
}
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  for (int i = n; i < n + 5; i++) {
    a[i] = -i;
  }
  w = 0;
  f(0, 1, 0);
  cout << m;
  return 0;
}
