#include<bits/stdc++.h>
using namespace std;
int main(){
long long n;
cin >> n;
vector<long long> a, b, junc, kvec, junc2;
for(long long i=0; i<n; i++){
long long x;
cin >> x;
a.push_back(x); //inputs the array
}
junc2.push_back(a[0]); //Start Point
junc2.push_back(a[n-1]); //End Point
for(long long i=1; i<n-1; i++){
if(a[i]>a[i-1] && a[i]>a[i+1]){
junc.push_back(a[i]); // Calculating peaks and pushing them in a vector
}
else if(a[i]<a[i-1] && a[i]<a[i+1]){
junc.push_back(a[i]); // Calculating crests and pushing them in the vector
}
else{
junc2.push_back(a[i]); //All other Points in input. They have to be dealt in the same way as start and end points
}
}
for(long long i=0; i<n-1; i++){ // Making the input continuous
while(a[i]!=a[i+1]){
b.push_back(a[i]);
if(a[i]<a[i+1]){
a[i]++;
}
else{
a[i]--;
}
}
}
b.push_back(a[n-1]);
for(long long i=0; i<junc.size(); i++){
long long k = 0;
for(long long j=0; j<b.size(); j++){
if(junc[i]==b[j]){ //Calculating the frequency of peaks and crests
k++;
}
}
kvec.push_back((k*2)-1); //Calculating the number of intersections each peak or crest will give
}
for(long long i=0; i<junc2.size(); i++){
long long k = 0;
for(long long j=0; j<b.size(); j++){
if(junc2[i]==b[j]){ //Calculating frequence of start, end and other points in input
k++;
}
}
kvec.push_back(k); //Since they are in the middle of the peaks and crests, their frequency itself will be the maximum k
}
cout << *max_element(kvec.begin(), kvec.end()); //Calculating the maximum of all
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCl7CiAgICBsb25nIGxvbmcgbjsKICAgIGNpbiA+PiBuOwogICAgdmVjdG9yPGxvbmcgbG9uZz4gYSwgYiwganVuYywga3ZlYywganVuYzI7CiAgICBmb3IobG9uZyBsb25nIGk9MDsgaTxuOyBpKyspewogICAgICAgIGxvbmcgbG9uZyB4OwogICAgICAgIGNpbiA+PiB4OwogICAgICAgIGEucHVzaF9iYWNrKHgpOyAvL2lucHV0cyB0aGUgYXJyYXkKICAgIH0KICAgIGp1bmMyLnB1c2hfYmFjayhhWzBdKTsgLy9TdGFydCBQb2ludAogICAganVuYzIucHVzaF9iYWNrKGFbbi0xXSk7IC8vRW5kIFBvaW50CiAgICBmb3IobG9uZyBsb25nIGk9MTsgaTxuLTE7IGkrKyl7CiAgICAgICAgaWYoYVtpXT5hW2ktMV0gJiYgYVtpXT5hW2krMV0pewogICAgICAgICAgICBqdW5jLnB1c2hfYmFjayhhW2ldKTsgLy8gQ2FsY3VsYXRpbmcgcGVha3MgYW5kIHB1c2hpbmcgdGhlbSBpbiBhIHZlY3RvcgogICAgICAgIH0KICAgICAgICBlbHNlIGlmKGFbaV08YVtpLTFdICYmIGFbaV08YVtpKzFdKXsKICAgICAgICAgICAganVuYy5wdXNoX2JhY2soYVtpXSk7IC8vIENhbGN1bGF0aW5nIGNyZXN0cyBhbmQgcHVzaGluZyB0aGVtIGluIHRoZSB2ZWN0b3IKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAganVuYzIucHVzaF9iYWNrKGFbaV0pOyAvL0FsbCBvdGhlciBQb2ludHMgaW4gaW5wdXQuIFRoZXkgaGF2ZSB0byBiZSBkZWFsdCBpbiB0aGUgc2FtZSB3YXkgYXMgc3RhcnQgYW5kIGVuZCBwb2ludHMgCiAgICAgICAgfQogICAgfQogICAgZm9yKGxvbmcgbG9uZyBpPTA7IGk8bi0xOyBpKyspeyAvLyBNYWtpbmcgdGhlIGlucHV0IGNvbnRpbnVvdXMKICAgICAgICB3aGlsZShhW2ldIT1hW2krMV0pewogICAgICAgICAgICBiLnB1c2hfYmFjayhhW2ldKTsKICAgICAgICAgICAgaWYoYVtpXTxhW2krMV0pewogICAgICAgICAgICAgICAgYVtpXSsrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICBhW2ldLS07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBiLnB1c2hfYmFjayhhW24tMV0pOwoKICAgIGZvcihsb25nIGxvbmcgaT0wOyBpPGp1bmMuc2l6ZSgpOyBpKyspewogICAgICAgIGxvbmcgbG9uZyBrID0gMDsKICAgICAgICBmb3IobG9uZyBsb25nIGo9MDsgajxiLnNpemUoKTsgaisrKXsKICAgICAgICAgICAgaWYoanVuY1tpXT09YltqXSl7IC8vQ2FsY3VsYXRpbmcgdGhlIGZyZXF1ZW5jeSBvZiBwZWFrcyBhbmQgY3Jlc3RzCiAgICAgICAgICAgICAgICBrKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAga3ZlYy5wdXNoX2JhY2soKGsqMiktMSk7IC8vQ2FsY3VsYXRpbmcgdGhlIG51bWJlciBvZiBpbnRlcnNlY3Rpb25zIGVhY2ggcGVhayBvciBjcmVzdCB3aWxsIGdpdmUKICAgIH0KICAgIGZvcihsb25nIGxvbmcgaT0wOyBpPGp1bmMyLnNpemUoKTsgaSsrKXsKICAgICAgICBsb25nIGxvbmcgayA9IDA7CiAgICAgICAgZm9yKGxvbmcgbG9uZyBqPTA7IGo8Yi5zaXplKCk7IGorKyl7CiAgICAgICAgICAgIGlmKGp1bmMyW2ldPT1iW2pdKXsgLy9DYWxjdWxhdGluZyBmcmVxdWVuY2Ugb2Ygc3RhcnQsIGVuZCBhbmQgb3RoZXIgcG9pbnRzIGluIGlucHV0CiAgICAgICAgICAgICAgICBrKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAga3ZlYy5wdXNoX2JhY2soayk7IC8vU2luY2UgdGhleSBhcmUgaW4gdGhlIG1pZGRsZSBvZiB0aGUgcGVha3MgYW5kIGNyZXN0cywgdGhlaXIgZnJlcXVlbmN5IGl0c2VsZiB3aWxsIGJlIHRoZSBtYXhpbXVtIGsKICAgIH0KICAgIGNvdXQgPDwgKm1heF9lbGVtZW50KGt2ZWMuYmVnaW4oKSwga3ZlYy5lbmQoKSk7IC8vQ2FsY3VsYXRpbmcgdGhlIG1heGltdW0gb2YgYWxsCgp9Cg==