from collections import deque n = int(input()) r = list(map(int,input().split())) tansaku = [0] * n dp = [0] * n mada = deque([0]) tmp = 0 while mada: i = mada.popleft() if i < n-1: for j in range(max(tmp, i+1), r[i]): if tansaku[j] == 0: tansaku[j] = 1 mada.append(j) dp[j] = dp[i] + 1 tmp = max(tmp, r[i]) print(dp[n-1])