//In the name of God
#include<bits/stdc++.h>
using namespace std;
typedef long long int lli;
typedef long double ld;
typedef pair<lli,lli> pii;
typedef pair<pii,pii> piiii;
typedef vector<lli> ve;
typedef vector<pii> vp;
const lli N=1e6+100;
const lli mod=1e9+7;//998244353;//1e9+9
const lli INF=1e18;
lli power(lli x,lli y){lli res = 1;x = x % mod;while(y>0){if( y & 1 ){res = (res * x) % mod;}y = y >> 1;x = (x * x)%mod;}return res;}
lli modinv(lli x){return power(x,mod-2);}
lli divide(lli x,lli y){return ((x%mod) * modinv(y))%mod;}
#define all(v) v.begin(),v.end()
#define MIN(v) *min_element(all(v))
#define MAX(v) *max_element(all(v))
#define migmig ios_base::sync_with_stdio(false),cout.tie(0), cin.tie(0);
#define read freopen("input.txt", "r", stdin);freopen("output.txt", "w", stdout);
#define minheap priority_queue<pair<lli,pii>, std::vector<pair<lli,pii>>, std::greater<pair<lli,pii>>>
#define set_preci(x) cout << fixed << setprecision(x);
#define debug(x) cerr << (#x) << " " << (x) << endl
#define MP make_pair
#define PB push_back
#define fi first
#define se second
#define SUM(v) accumulate(v.begin(),v.end(), 0LL)
#define FOR(x,n) for(lli x = 0; x < n; x++)
#define FORS(x,n) for(lli x = 1; x <= n; x++)
#define TEST int TQPWIEJR; cin>>TQPWIEJR;while(TQPWIEJR--)
#define BN(l,a) while(l){a.PB(l%2);l/=2;}
#define lb lower_bound
#define ub upper_bound
#define endl "\n"
#define sep " "
#define SZ(X) (lli)X.size()
lli tmp;
lli n,A[N];
lli ans;
set<lli> S;
map<lli,lli> mp;
void solve(ve t){
ve v;
ve f = t;
map<lli,lli> cnt;
for(auto i : t)cnt[i] ++;
t.erase(unique(all(t)),t.end());
v.PB(2);
for(lli i = t[0]+1;i < t.back();i++){
if(mp[i] == 0 && cnt[i] >0){
v.PB(2);
}
else if(cnt[i] == 0 && mp[i] > 0){
v.PB(0);
}
else if(mp[i] > 0 && cnt[i] > 0){
v.PB(1);
}
}
v.PB(2);
// for(auto i : v)debug(i);
// cerr<<endl;
FORS(i,SZ(v)-1){
if(v[i] == 0 && v[i-1] != 0){
ans ++;
}
else if(v[i] == 1 && v[i-1] == 1)ans ++;
}
ans ++;
for(auto i : f){
mp[i] ++;
S.insert(i);
}
}
int main(){
migmig;
cin>>n;
FORS(i,n){
cin>>A[i];
}
ve t;
t.PB(A[1]);
for(lli i = 2; i <= n; i ++){
if(A[i] < A[i-1]){
solve(t);
t.clear();
}
t.PB(A[i]);
}
solve(t);
cout<<ans<<endl;
}