/*
TASK:psort
LANG:C
*/

#include <stdio.h>

#define MAX 100001

int ar[MAX*2] = {0};
int a[MAX*2] = {0};
int n;
int b;

void add(int i, int x) {
	ar[i] += x;
	if (i>1) {
		add(i/2, x);
	}
}

int get(int i) {
	if (i==0) return 0;

	if (i%2 == 0) {
		return get(i/2);
	} else {
		return get(i/2) + ar[i-1];
	}
}

int sum(int k) {
	return (k * (k - 1)) / 2;
}

int main() {
	int i;
	int count = 0;
	int total;
	int before;

	scanf("%d", &n);
	b = 1;
	while (b <= n) {
		b *= 2;
	}

	total = n * (n + 1) / 2;


	for (i=0; i<n; i++) {

		scanf("%d", &a[i]);
		add(b + a[i], 1);

		before = get(b + a[i] + 1);

		if (before < a[i]) {
			count ++;
		//	printf("%d not on place\n", a[i]);			
		}
	}

/*	for (i=0; i<n; i++) {
		before = get(b + i);
		after = total - before - a[i];

		atleast = sum(a[i] + (n - 1 -i)) - sum(a[i]);

		if ( after < atleast) {
			count ++;
			printf("%d not on place\n", a[i]);
		}			
	}*/

	printf("%d\n", count);

	return 0;
}
