#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 2;
int mem[N][2];
int arr[N];
int n;
int solve(int idx, int flag) {
  if (idx == n) return 0;
  int &ret = mem[idx][flag];
  if (~ret) return ret;
  ret = 1;
  if (arr[idx + 1] > arr[idx]) ret = max(ret, solve(idx + 1, flag) + 1);
  if (arr[idx + 2] > arr[idx] && !flag) ret = max(ret, solve(idx + 2, 1) + 1);
  return ret;
}
int main() {
  memset(mem, -1, sizeof(mem));
  int ans = -1;
  cin >> n;
  for (int i = 0; i < n; i++) cin >> arr[i];
  for (int i = 0; i < n; i++) ans = max(ans, solve(i, 0));
  cout << ans;
  return 0;
}
