PivotOJ

JEDAN

시간 제한: 1000ms메모리 제한: 256MB출처: COCI 2012-2013BOJ 5626

문제

Some people like to pretend that they are a pharaoh. Or a dolphin. Luka is one such person.

He has built a relief consisting of a long line of N columns with nonnegative integer heights. The heights of all columns were initially zero. The relief was build in steps, where in each step Luka would select a contiguous subsequence of columns with equal heights and raise all columns in the subsequence, except the first and last column, by one.

Hundreds of years have passed, and some of the columns have been stolen. Luka's great-great-...-great-grandson is trying to determine the number of possible reliefs that could have been built by Luka such that the remaining columns' heights match the original relief.

입력

The first line of input contains the positive integer N (1 ≤ N ≤ 10 000), the number of columns in Luka's relief.

The second line of input contains N space-separated integers hi (-1 ≤ hi ≤ 10 000), the column heights. A height of -1 represents a stolen column.

출력

The first and only line of output must contain the required number of possible reliefs modulo 1 000 000 007.

예제

예제 1

입력
3
-1 2 -1
출력
0

예제 2

입력
3
-1 -1 -1
출력
2

예제 3

입력
6
-1 -1 -1 2 -1 -1
출력
3
코드를 제출하려면 로그인하세요.