Hands that shed innocent blood!

There are n guilty people in a line, the i-th of them holds a claw with length Li. The bell rings and every person kills some of people in front of him. All people kill others at the same time. Namely, the i-th person kills the j-th person if and only if j < i and j ≥ i - Li.

You are given lengths of the claws. You need to find the total number of alive people after the bell rings.

Input

The first line contains one integer n (1 ≤ n ≤ 106) — the number of guilty people.

Second line contains n space-separated integers L1, L2, ..., Ln (0 ≤ Li ≤ 109), where Li is the length of the i-th person's claw.

Output

Print one integer — the total number of alive people after the bell rings.

Examples

Input

4
0 1 0 10


Output

1


Input

2
0 0


Output

2


Input

10
1 1 3 0 0 0 2 1 0 3


Output

3

Note

In first sample the last person kills everyone in front of him.
# -*- coding: utf-8 -*-

import math
import collections
import bisect
import heapq
import time
import random
import itertools
import sys

"""
created by shhuan at 2017/11/17 22:40

"""

N = int(input())
C = [int(x) for x in input().split()]

# N = 10**6
# C = [random.randint(1, 10**9) for _ in range(N)]
#
# t0 = time.time()


ans = 0
p = N
for i in range(N-1, -1, -1):
    # i-C[i], i-1
    if C[i] > 0 and p >= i-C[i]:
        # dead.append([max(i-C[i], 0), i-1])
        l, r = max(i-C[i], 0), i-1
        p = min(p, r)
        ans += max(p+1-l, 0)
        p = min(l-1, p)

        if l == 0:
            break

print(N - ans)


#
# print(time.time() - t0)




