Hands that shed innocent blood!

There are *n* guilty people in a line, the *i*-th of them holds a claw with length *L*<sub class="lower-index">*i*</sub>. 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* &lt; *i* and *j* ≥ *i* - *L*<sub class="lower-index">*i*</sub>.

You are given lengths of the claws. You need to find the total number of alive people after the bell rings.
The first line contains one integer *n* (1 ≤ *n* ≤ 10<sup class="upper-index">6</sup>) — the number of guilty people.

Second line contains *n* space-separated integers *L*<sub class="lower-index">1</sub>, *L*<sub class="lower-index">2</sub>, ..., *L*<sub class="lower-index">*n*</sub> (0 ≤ *L*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">9</sup>), where *L*<sub class="lower-index">*i*</sub> is the length of the *i*-th person's claw.
In first sample the last person kills everyone in front of him.
4
0 1 0 10
1
2
0 0
2
10
1 1 3 0 0 0 2 1 0 3
3
10
0 0 2 0 0 3 3 2 2 0
2
1
0
1
5
0 0 0 1 0
4
6
3 1 1 0 3 3
1
8
0 0 0 1 0 0 1 2
5
1
1000000000
1
2
1 3
1
2
1000000000 1000000000
1
11
1 0 0 1 1 3 2 0 0 2 3
4
1
1
1
# -*- coding: utf-8 -*-
"""
Created on Fri Dec  8 21:59:10 2017

@author: ms
"""

def kill(line, claws, i, omae_wa_mou_shindieru, dead_lim):
    if dead_lim > i:
        dead_lim = i
    reach = max(0, i - claws[i])
    if (i-claws[i] <= 0):
        line[0:dead_lim] = [False for x in range(dead_lim)]
        claws[0:dead_lim] = [0 for x in range(dead_lim)]
        dead_lim = reach
        return line, claws, omae_wa_mou_shindieru, dead_lim
    for j in range(reach, dead_lim):
        if max(0, j - claws[j]) >= reach:
            line[j] = False
            claws[j] = 0
        else:
            omae_wa_mou_shindieru.append(j)
        dead_lim = reach
    
    return line, claws, omae_wa_mou_shindieru, dead_lim
            
def main():
    line = []
    omae_wa_mou_shindeiru = []
    n = int(input())
    for k in range(n):
        line.append(True)
    
    dead_lim = n-1
    claws = [int(x) for x in input().split()]
    
    for i in reversed(range(n)):
        line, claws, omae_wa_mou_shindeiru, dead_lim = kill(line, claws, i, 
                                                            omae_wa_mou_shindeiru, 
                                                            dead_lim)
        
    for el in omae_wa_mou_shindeiru:
        line[el] = False
    
    print(sum(line))
    
main()