Generic Cow Protests
Farmer John's n cows are lined up in a row and numbered from 1 to n. The cows are conducting another one of their strange protests, so each cow i is holding up a sign with an integer a[i]
.
FJ knows the mob of cows will behave if they are properly grouped and thus would like to arrange the cows into one or more contiguous groups so that every cow is in exactly one group and that every group has a nonnegative sum.
Help him count the number of ways he can do this, modulo 10^9
+ 9.
By way of example, if n = 4 and the cows' signs are 2, 3, -3 and 1, then the following are the only four valid ways of arranging the cows:
(2 3 -3 1) (2 3 -3) (1) (2) (3 -3 1) (2) (3 -3) (1)
Note that this example demonstrates the rule for counting different orders of the arrangements.
Input
First line contains a single integer n (1 ≤ n ≤ 10^5
). Each line from 2 to n + 1 contains a single integer a[i]
(-10^4
≤ a[i]
≤ 10^4
).
Output
Print a single integer, the number of arrangements modulo 10^9
+ 9.