#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
int max_val(int a, int b) {
  if (a >= b)
    return a;
  else
    return b;
}
int main() {
  int n, i, c = 0, local_max = -1, local_min, t;
  cin >> n;
  int arr[n], min_right[n + 1];
  for (i = 0; i < n; i++) cin >> arr[i];
  min_right[n] = inf;
  min_right[n - 1] = arr[n - 1];
  local_min = arr[n - 1];
  for (i = n - 1; i >= 0; i--) {
    if (arr[i] < local_min) {
      local_min = arr[i];
      min_right[i] = local_min;
    } else {
      min_right[i] = local_min;
    }
  }
  for (i = 0; i < n; i++) {
    local_max = max_val(arr[i], local_max);
    if (local_max <= min_right[i + 1]) {
      c++;
      local_max = -1;
    }
  }
  cout << c;
  return 0;
}
