#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
int n, ans, a[N];
set<pair<int, int>> s;
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n;
for(int i = 1;i<=n;i++) cin >> a[i];
s.insert({0, 1e9});
for(int i = 1;i<=n;i++){
vector<int> cur = {a[i]};
auto it = s.upper_bound({a[i], 0});
--it;
int l = it->first, r = it->second;
while(i + 1 <= n && a[i + 1] >= a[i] && (a[i + 1] <= r)){
cur.push_back(a[i + 1]);
++i;
}
for(int j = 0;j<cur.size() - 1;j++) s.insert({cur[j], cur[j + 1]});
s.erase({l, r});
if(l != cur[0]) s.insert({l, cur[0]});
if(cur.back() != r) s.insert({cur.back(), r});
++ans;
}
cout << ans;
}