제단
시간 제한1초메모리 제한256 MB
같은 높이의 연속 구간 양 끝을 제외한 안쪽을 1씩 올리는 연산을 반복해 만들 수 있는 기둥 높이 수열 중, 도난당하지 않은(-1이 아닌) 값과 일치하는 수열의 개수를 센다.
문제
상근이는 성적이 오르기를 기원하며 개의 열로 이루어진 제단을 쌓기로 했다.
제단의 각 열의 높이는 정수이고, 처음에는 모든 열의 높이가 이다. 제단은 다음 과정을 반복하여 만든다.
- 높이가 모두 같은, 연속한 열들의 구간을 하나 고른다.
- 고른 구간에서 양 끝의 두 열을 제외한 나머지 모든 열의 높이를 씩 올린다.
아래 그림은 제단을 쌓는 과정의 한 예이다.

오랜 세월이 흐르는 동안 여러 도둑이 제단의 일부 열을 훔쳐 갔다. 상근이의 먼 후손은 지금 남아 있는 열들의 높이만 알고 있으며, 이 높이와 일치하도록 쌓을 수 있는 제단이 몇 가지인지 세려고 한다.
남아 있는 높이가 주어졌을 때, 이 높이와 일치하는 제단의 개수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 제단의 열의 개수 이 주어진다. ()
둘째 줄에 공백으로 구분된 개의 정수 이 주어진다. () 는 번째 열의 높이이며, 이면 그 열은 도둑이 훔쳐 가 높이를 알 수 없음을 뜻한다.
출력
남아 있는 높이와 일치하는 제단의 개수를 로 나눈 나머지를 첫째 줄에 출력한다.