#include <bits/stdc++.h>
using namespace std;
const int dx[4] = {1, 0, -1, 0}, dy[4] = {0, 1, 0, -1};
const long long mod = 1000000007;
const long long inf = long long(1e9);
const long long half_inf = long long(1e5);
const long long ll_inf = long long(1e9) * long long(1e9);
template <typename T>
using PQ = priority_queue<T>;
template <typename T>
using minPQ = priority_queue<T, vector<T>, greater<T>>;
long long inl() {
  long long x;
  cin >> x;
  return (x);
}
string ins() {
  string x;
  cin >> x;
  return (x);
}
int main() {
  long long n = inl();
  vector<long long> h(n);
  for (long long i = 0; i < (long long)(n); i++) cin >> h[i];
  vector<long long> d(n + 1);
  d[0] = 0;
  for (long long i = 0; i < (long long)(n); i++) {
    d[i] = max(d[i - 1], h[i]);
  }
  long long ans = 0;
  for (long long i = 0; i < (long long)(n); i++) {
    if (d[i] == h[i]) ans++;
  }
  cout << ans << endl;
  return 0;
}
