func_code_string: #include <bits/stdc++.h>   using namespace std;   int n;   int a[100010];   int b[100010];   int main() {     cin >> n;     for (int i = 0; i < n; i++) cin >> a[i];     b[0] = 1;     for (int i = 1; i < n; i++)       if (a[i] > a[i - 1])         b[i] = b[i - 1] + 1;       else         b[i] = 1;     int mx = 1;     for (int i = 0; i < n; i++) mx = max(mx, b[i]);     if (mx != n) mx += 1;     int nx = 0;     if (n > 1 && a[0] >= a[1]) {       for (int i = 2; i < n; i++)         if (b[i] == 1) {           mx = max(mx, b[i - 1] + 1);           break;         } else if (i == n - 1)           mx = max(mx, b[n - 1] + 1);     }     for (int i = 1; i < n; i++) {       if (b[i] == 1) {         mx = max(mx, b[i - 1] + nx);         mx = max(mx, b[i - 1] + 1);         if (a[i + 1] - a[i - 1] >= 2)           nx = b[i - 1];         else           nx = 0;       } else if (i == n - 1)         mx = max(mx, b[i] + nx);     }     nx = 0;     for (int i = 0; i < n; i++) {       if (b[i + 1] == 1 && i + 1 < n) {         mx = max(mx, b[i] + nx);         mx = max(mx, b[i] + 1);         if (a[i + 1] - a[i - 1] >= 2)           nx = b[i];         else           nx = 0;       } else if (i + 1 == n)         mx = max(mx, b[i] + nx);     }     cout << mx << endl;     return 0;   }   