#include <bits/stdc++.h>
using namespace std;
int dpp[100005], dps[100005];
int main() {
  int n, ara[100005], i, ans;
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    scanf("%d", &ara[i]);
  }
  dpp[0] = 1;
  for (i = 1; i < n - 1; i++) {
    if (ara[i] > ara[i - 1]) {
      dpp[i] = dpp[i - 1] + 1;
    } else {
      dpp[i] = 1;
    }
  }
  dps[n - 1] = 1;
  for (i = n - 1; i > 0; i--) {
    if (ara[i - 1] < ara[i]) {
      dps[i - 1] = dps[i] + 1;
    } else {
      dps[i - 1] = 1;
    }
  }
  for (i = 0; i < n; i++) {
    if (i == 0) {
      ans = dps[1] + 1;
    } else if (i == n - 1) {
      ans = max(ans, dpp[n - 2] + 1);
    } else {
      if (ara[i - 1] + 1 < ara[i + 1]) {
        ans = max(ans, dpp[i - 1] + dps[i + 1] + 1);
      } else {
        ans = max(ans, dpp[i - 1] + 1);
        ans = max(ans, dps[i + 1] + 1);
      }
    }
  }
  printf("%d\n", ans);
  return 0;
}
