#include <bits/stdc++.h>
using namespace std;
#define FAST_IO ios_base::sync_with_stdio(0); cin.tie(0)
#define endl '\n'
#define ff first
#define ss second
typedef pair<int, int> ii;
typedef long long ll;
signed main(void) {
FAST_IO;
int n; cin >> n;
vector<pair<int, bool>> h(n);
map<int, queue<int>> mp;
for (int i = 0; i < n; i++) {
int x; cin >> x;
h[i].ff = x; h[i].ss = false;
mp[x].push(i);
}
ll ans = 0;
for(int i = 0; i < n; i++) {
if (h[i].ss == false) {
ans++;
h[i].ss = true;
mp[h[i].ff].pop();
int atual = h[i].ff - 1;
int id_atual = i + 1;
while (atual >= 1 && id_atual < n) {
if (!mp[atual].empty() && mp[atual].front() >= id_atual) {
h[mp[atual].front()].ss = true;
id_atual = mp[atual].front() + 1;
mp[atual].pop();
atual--;
} else {
break;
}
}
}
}
cout << ans << endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIEZBU1RfSU8gaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKQoKI2RlZmluZSBlbmRsICdcbicKCiNkZWZpbmUgZmYgZmlyc3QKI2RlZmluZSBzcyBzZWNvbmQKCnR5cGVkZWYgcGFpcjxpbnQsIGludD4gaWk7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwoKc2lnbmVkIG1haW4odm9pZCkgewogICAgRkFTVF9JTzsKCiAgICBpbnQgbjsgY2luID4+IG47CiAgICB2ZWN0b3I8cGFpcjxpbnQsIGJvb2w+PiBoKG4pOwogICAgbWFwPGludCwgcXVldWU8aW50Pj4gbXA7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBpbnQgeDsgY2luID4+IHg7CiAgICAgICAgaFtpXS5mZiA9IHg7IGhbaV0uc3MgPSBmYWxzZTsKICAgICAgICBtcFt4XS5wdXNoKGkpOwogICAgfQoKICAgIGxsIGFucyA9IDA7CgogICAgZm9yKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGlmIChoW2ldLnNzID09IGZhbHNlKSB7CiAgICAgICAgICAgIGFucysrOwogICAgICAgICAgICBoW2ldLnNzID0gdHJ1ZTsKICAgICAgICAgICAgbXBbaFtpXS5mZl0ucG9wKCk7CiAgICAgICAgICAgIGludCBhdHVhbCA9IGhbaV0uZmYgLSAxOwogICAgICAgICAgICBpbnQgaWRfYXR1YWwgPSBpICsgMTsKICAgICAgICAgICAgd2hpbGUgKGF0dWFsID49IDEgJiYgaWRfYXR1YWwgPCBuKSB7CiAgICAgICAgICAgICAgICBpZiAoIW1wW2F0dWFsXS5lbXB0eSgpICYmIG1wW2F0dWFsXS5mcm9udCgpID49IGlkX2F0dWFsKSB7CiAgICAgICAgICAgICAgICAgICAgaFttcFthdHVhbF0uZnJvbnQoKV0uc3MgPSB0cnVlOyAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIGlkX2F0dWFsID0gbXBbYXR1YWxdLmZyb250KCkgKyAxOwogICAgICAgICAgICAgICAgICAgIG1wW2F0dWFsXS5wb3AoKTsKICAgICAgICAgICAgICAgICAgICBhdHVhbC0tOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGNvdXQgPDwgYW5zIDw8IGVuZGw7Cn0=