#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=4e7;
int mx[N],mn[N];
int p1,p2;
int sd[N],sx[N];
int a[N];
int b[N];
int v=0;
map<int,int> w;
signed main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]!=a[i-1]){
b[++v]=a[i];
}
if(w[b[i]]==0){
w[b[i]]=i;
}
}
//cout<<w[1]<<endl;
for(int i=1;i<=v;i++){
while(b[i]>=b[mx[p1]]&&p1!=0){
p1--;
}
sd[i]=mx[p1];
mx[++p1]=i;
while(b[i]<=b[mn[p2]]&&p2!=0){
p2--;
}
sx[i]=mn[p2];
mn[++p2]=i;
}
int sum=0;
/*for(int i=1;i<=v;i++){
cout<<sd[i]<<" ";
} cout<<endl;
for(int i=1;i<=v;i++){
cout<<sx[i]<<" ";
}cout<<endl;*/
for(int next=v;next>=1;next--){
int pre=next;
while(sx[pre]>=sd[next]){
int u=pre;
pre=sx[pre];
if(pre==0){
pre=u;
break;
}
/* if(pre==0){
// cout<<00000;
if(w[a[u]]!=0&&w[a[u]]!=u){
//cout<<w[a[u]]<<endl;
pre=w[a[u]];
break;
}else{
break;
}
}*/
}
sum++;
//cout<<pre<<" "<<next<<endl;
next=pre;
}cout<<sum;
return 0;
}