n = int(input()) if n == 1: print(0) exit() R = list(map(int, input().split())) jumps = 0 current_start = 1 current_end = 1 while current_end < n: max_i = min(current_end, n-1) if current_start > max_i: print(-1) exit() next_max = 0 for i in range(current_start, max_i + 1): next_max = max(next_max, R[i-1]) jumps += 1 current_start = current_end + 1 current_end = next_max print(jumps)