CPU 벤치마킹

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

윤이는 Uni-COM에서 컴퓨터 부품을 판매하고 있다. 윤이는 다양한 성능의 CPU를 취급하는데, 손님들이 CPU의 성능을 손쉽게 비교할 수 있도록 벤치마크 표를 만들려고 한다.

모든 CPU 쌍을 직접 비교하는 일은 번거로우므로, 윤이는 CPU를 성능이 낮은 것부터 높은 것까지 정렬한 뒤 이웃한 CPU의 성능이 몇 배 차이가 나는지 측정했다. 그러면 다른 CPU 쌍의 성능 차이도 쉽게 계산할 수 있기 때문이다. 예컨대 CPU X,Y,ZX, Y, Z에 대해 XXYY보다 aa배 빠르고 YYZZ보다 bb배 빠르다면 XXZZ보다 abab배 빠르다는 사실을 알 수 있다.

윤이는 측정한 자료를 통해 모든 CPU 쌍의 성능 차이를 계산해서 벤치마크 표에 적었다. 구체적으로는, 1i\<jN1\le i\<j\le N을 만족하는 모든 순서쌍 (i,j)(i, j)에 대해 jj번째 CPU가 ii번째 CPU보다 몇 배 빠른지를 표에 적었다. 윤이가 표에 적은 수를 전부 더한 값을 계산하시오. 단, 계산 결과가 커질 수 있으므로 109+710^9+7으로 나눈 나머지를 출력한다.

입력

첫 번째 줄에 CPU의 개수 NN이 주어진다.

두 번째 줄에 N1N-1개의 양의 정수 m_im\_i가 공백으로 구분되어 주어진다. i+1i+1번째 CPU의 성능이 ii번째 CPU의 성능의 m_im\_i배임을 의미한다.

출력

윤이가 벤치마크 표에 적은 수의 합을 109+710^9+7으로 나눈 나머지를 출력한다.

제한

  • 2N500,0002 \le N \le 500,000
  • 1m_i< 1091 \le m\_i < 10^9