#include <bits/stdc++.h>
using namespace std;
struct _ {
  ios_base::Init i;
  _() {
    cin.sync_with_stdio(0);
    cin.tie(0);
  }
} _;
struct House {
  int height;
  int initial_position;
};
int main() {
  int n;
  cin >> n;
  vector<House> houses;
  for (int i = 0; i < n; i++) {
    int x;
    cin >> x;
    House h{x, i};
    houses.push_back(h);
  }
  stable_sort(houses.begin(), houses.end(),
              [&](House h1, House h2) { return h1.height < h2.height; });
  int up_to = 0;
  int number_of_blocks = 0;
  for (int i = 0; i < n; i++) {
    int initial_position = houses[i].initial_position;
    up_to = max(up_to, initial_position);
    if (up_to == i) {
      up_to++;
      number_of_blocks++;
    }
  }
  cout << number_of_blocks << endl;
  return 0;
}
