문제
N개의 음이 아닌 정수들로 이루어진 수열이 있다.
이런 수열 중 첫 항과 마지막 항은 0이고, 수열의 인접한 두 항의 차이는 항상 0 또는 1인 것을 연속 수열이라고 하자.
주어진 수열 C에서 몇 개의 부분은 빈칸으로 구성되어 있다.
이 때, 빈칸에 수를 넣어서 연속 수열을 만드는 방법의 수를 구하는 프로그램을 작성하여라.
입력
첫 번째 줄에는 N이 주어진다. (1 ≤ N ≤ 10,000) 두 번째 줄에는 C1 에서부터 CN 까지 순서대로 주어진다. 단, 각 수는 -1 이상 10,000 이하이며, -1은 빈칸을 의미한다.
출력
빈칸에 수를 넣어서 연속 수열을 만드는 방법의 수를 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
출처
COCI 2012/2013 Contest 6