#include <bits/stdc++.h>
#define uset unordered
using namespace std;
const int N=5e3+5;
int s[N][N]{};
int f(int l,int r){
int k=s[r][r]-s[l-1][r]-s[r][l-1]+s[l-1][l-1];
return (r-l+1)*(r-l)/2-2*k;
}
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);
int n;cin>>n;
int a[n+1],dp[n+1]{};
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++){
for(int j=1;j<n;j++){
if(a[j+1]<a[j]){
swap(a[j],a[j+1]);
s[a[j]][a[j+1]]=1;
dp[0]++;
}
}
}
//cout<<dp[0]<<"\n";
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
if(i)s[i][j]+=s[i-1][j];
if(j)s[i][j]+=s[i][j-1];
if(i&&j)s[i][j]-=s[i-1][j-1];
//cout<<s[i][j]<<" ";
}
//cout<<"\n";
}
for(int i=1;i<=n;i++){
dp[i]=dp[i-1];
for(int j=0;j<i-1;j++){
dp[i]=min(dp[i],dp[j]+f(j+1,i));
//cout<<i<<" "<<j<<" "<<f(j+1,i)<<"\n";
}
}
cout<<dp[n];
}