N = gets.to_i R = gets.split.map { _1.to_i - 1 } first = [10**18] * N R.each_with_index do |r, i| first[r] = [first[r], i].min end (0 ... N - 1).reverse_each do |i| first[i] = [first[i], first[i + 1]].min end ans = 0 right = N - 1 while right != 0 right = first[right] ans += 1 end puts ans