#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int *arr=new int[n];
int noMinindex=-1;
for(int i=0;i<n;i++)
cin>>arr[i];
int min=arr[n-1];
for(int i=n-2;i>=0;i--){
if(arr[i]>min){
noMinindex=i;
}
else{
min=arr[i];
}
}
if(noMinindex==-1){//说明数组从右到左一直都是降序
cout<<0<<endl;
return 0;
}
int max=arr[0];
int noMaxindex=-1;
for(int i=1;i<n;i++){
if(arr[i]<max){
noMaxindex=i;
}
else{
max=arr[i];
}
}
cout<<noMaxindex-noMinindex+1<<endl;
return 0;
}
using namespace std;
int main(){
int n;
cin>>n;
int *arr=new int[n];
int noMinindex=-1;
for(int i=0;i<n;i++)
cin>>arr[i];
int min=arr[n-1];
for(int i=n-2;i>=0;i--){
if(arr[i]>min){
noMinindex=i;
}
else{
min=arr[i];
}
}
if(noMinindex==-1){//说明数组从右到左一直都是降序
cout<<0<<endl;
return 0;
}
int max=arr[0];
int noMaxindex=-1;
for(int i=1;i<n;i++){
if(arr[i]<max){
noMaxindex=i;
}
else{
max=arr[i];
}
}
cout<<noMaxindex-noMinindex+1<<endl;
return 0;
}