길이가 L인 원형 정수열 \[h_1,h_2,⋯,h_L]이 있다고 하자. h_i와 h_i+1는 인접해 있으며, 특별히 h_L과 h_1이 인접해 있는 형태다. 이 원형 정수열의 점수는 같은 수들이 인접한 부분의 크기를 모두 구해서 곱한 것이다. 예를 들어 h=\[1,1,2,2,1,3,3,3,1,1] 이면, 점수는 4×2×1×3=24점이 된다.
1이상 N이하의 정수만 포함하면서, 정수 a를 정확히 C_a개 포함하는 서로 다른 원형 정수열에 대해서 점수의 총합을 구하는 프로그램을 작성하라. 두 원형 정수열 h와 h′이 다르다는 것은 h_i=h′_i인 i가 존재한다는 것이다.
첫 번째 줄에 하나의 정수 N(1≤N≤50)이 주어진다.
두 번째 줄에는 N개의 정수 C_1,C_2,⋯,C_N(1≤C_a≤100)이 공백 하나로 구분되어 주어진다.
첫 번째 줄에 정수 a를 정확히 C_a개 포함하는 모든 서로 다른 원형 정수열에 대해서 점수의 총합을 출력한다. 이 수는 매우 클 수 있으므로, 1,000,000,007로 나눈 나머지를 출력하도록 한다.
첫 번째 예제에서 만들어지는 원형 정수열은 다음의 6가지이다:
그러므로 총 18점이다.