#include <bits/stdc++.h>
using namespace std;
#define GOTTAGOFAST cin.tie(0); ios::sync_with_stdio(0);
typedef pair<int,int> pii;
int main() {
GOTTAGOFAST
int n;
cin >> n;
int prev = -1, curr, next;
cin >> curr;
vector<pair<int, pii>> csucsok, kovcsucsok;
for(int i = 1; i < n; i++)
{
cin >> next;
if(curr > prev && curr > next)
csucsok.push_back({curr, {i, 0}});
if(curr == prev && curr > next)
csucsok.push_back({curr, {i, 1}});
if(curr > prev && curr == next)
csucsok.push_back({curr, {i, 2}});
prev = curr;
curr = next;
}
next = -1;
if(curr > prev && curr > next)
csucsok.push_back({curr, {n, 0}});
if(curr == prev && curr > next)
csucsok.push_back({curr, {n, 1}});
if(curr > prev && curr == next)
csucsok.push_back({curr, {n, 2}});
if(csucsok.size() < 2)
{
cout << "0\n";
return 0;
}
if(csucsok.size() == 2)
{
cout << csucsok[1].second.first-csucsok[0].second.first << "\n";
return 0;
}
int maxl = -1;
while(1) {
kovcsucsok.push_back(csucsok[0]);
for (int i = 1, j = csucsok.size() - 1; i < j; i++) {
if (!(csucsok[i].first < csucsok[i - 1].first && csucsok[i].first < csucsok[i + 1].first)) {
kovcsucsok.push_back(csucsok[i]);
}
}
kovcsucsok.push_back(csucsok[csucsok.size() - 1]);
if(csucsok.size() == kovcsucsok.size())
break;
csucsok = kovcsucsok;
kovcsucsok.clear();
}
for(int i = 1; i < csucsok.size(); i++)
{
if(csucsok[i-1].second.second == 2 || csucsok[i].second.second == 1)
continue;
maxl = max(csucsok[i].second.first-csucsok[i-1].second.first, maxl);
}
cout << maxl << "\n";
return 0;
}