N개의 수로 이루어진 수열이 주어진다. 우리는 이 수열을 둘 이상의 연속한 부분으로 나눈 다음 각 부분에 속하는 수들의 합을 구할 수 있다. 이 때, 합을 구한 모든 수가 같아지도록 수열을 나누는 방법의 개수를 구하는 프로그램을 작성하라.
예를 들어 수열이 \[4,−3,1,0,1]이라고 하자. \[4,−3], \[1], \[0,1]의 세 부분으로 나누거나, \[4,−3], \[1,0], \[1]의 세 부분으로 나누면 모든 부분의 합이 1이 된다. 이외의 방법은 없으므로, 이 입력에 대한 답은 2가 된다.
첫 번째 줄에 하나의 정수 N(1≤N≤104)이 주어진다.
두 번째 줄에는 수열에 포함된 N개의 정수가 공백 하나로 구분되어 순서대로 주어진다. 각 정수는 −1014이상 1014이하의 정수다.
수열을 나누는 방법의 개수를 출력한다. 이 수가 매우 클 수 있으므로, 1,000,000,007로 나눈 나머지를 출력하도록 한다.