#include using namespace std; //#include //using namespace atcoder; using ll = long long int; using ull = unsigned long long int; using ld = long double; constexpr ll MAX = 2000000000000000000; constexpr ld PI = 3.14159265358979; constexpr ll MOD = 998244353;//2024948111; ld dotorad(ld K){return PI * K / 180.0;} ld radtodo(ld K){return K * 180.0 / PI;} mt19937 mt; void randinit(){srand((unsigned)time(NULL));mt = mt19937(rand());} int main(){ ll N; cin >> N; vector R(N - 1); for(ll i = 0;i < N - 1;i++) cin >> R[i]; ll r = 0,rr = 0,d = 0; while(rr != N - 1){ ll rrr = 0; while(r <= rr){ rrr = max(rrr,R[r] - 1); r++; } rr = rrr; d++; } cout << d << endl; }