import java.util.Scanner;
public class paidui{
static int n;
static int[] s;
static int bugaoxing = 99999;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
s = new int[n];
int[][] count = new int[n][2];
for (int i = 0; i < n; i++) {
s[i] = sc.nextInt();
count[i][0] = 0;
count[i][1] = 0;
}
int all = exchange(findMin(count), count);
System.out.println(all);
}
static int exchange(int k, int[][] count) {
if (isOk()) {
int temp = sum(count);
if (temp < bugaoxing)
bugaoxing = temp;
return temp;
}
else {
exchangeAll(count, k);
return exchange(findMin(count), count);
}
}
static int findMin(int[][] count) {
int[] temp = new int[n];
for (int i = 0; i < n; i++) {
temp[i] = count[i][1];
}
for (int i = 0; i < n; i++) {
int min = i;
for (int j = i + 1; j < n; j++) {
if (temp[min] > temp[j])
min = j;
}
temp[min] = temp[i];
if (min < n - 1 && s[min] > s[min + 1])
return min;
}
return n - 2;
}
static void exchangeAll(int[][] count, int k) {
int temp;
temp = s[k + 1];
s[k + 1] = s[k];
s[k] = temp;
count[k][1]++;
count[k][0] = count[k][0] + count[k][1];
count[k + 1][1]++;
count[k + 1][0] = count[k + 1][0] + count[k + 1][1];
int[] temp1 = count[k];
count[k] = count[k + 1];
count[k + 1] = temp1;
}
static boolean isOk() {
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if (s[j] < s[i])
return false;
}
}
return true;
}
static int sum(int[][] count) {
int temp = 0;
for (int i = 0; i < n; i++)
temp += count[i][0];
return temp;
}
}