#include <bits/stdc++.h>
using namespace std;
int a[100050];
int l[100050];
int n;
int pd(int x) {
  if (x >= 0 && x < n)
    return 1;
  else
    return 0;
}
int main() {
  int ln, rn;
  int ans = -1;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%d", &a[i]);
  }
  l[0] = 0;
  for (int i = 1; i < n; i++) {
    if (a[i] > a[i - 1])
      l[i] = l[i - 1];
    else
      l[i] = i;
  }
  int i = n;
  ln = n - l[n - 1];
  while (i >= 0) {
    if (i - 1 >= 0) {
      i = l[i - 1];
      rn = ln;
      if (rn > ans) ans = rn;
      if (i - 1 >= 0) {
        ln = i - l[i - 1];
        if ((rn >= 2 && (a[i + 1] - a[i - 1]) >= 2) ||
            (ln >= 2 && (a[i] - a[i - 2]) >= 2)) {
          if (ln + rn > ans) ans = ln + rn;
        }
        if (ln + 1 > ans) ans = ln + 1;
        if (rn + 1 > ans) ans = rn + 1;
      }
    } else
      break;
  }
  printf("%d\n", ans);
  return 0;
}
