정수 배열 A=[A1,A2,⋯,AN]이 주어진다. A의 모든 원소를 더하는 일은 지루해서, 당신은 한 단계 더 나아가기로 했다. 1부터 N까지의 순열 P가 무작위로 만들어진다. 1부터 N까지의 각 순열은 같은 확률로 P로 선택된다.
또한 배열 X0,X1,X2,…,XN과 정수 Y를 다음과 같이 정의한다.
- X0=A
- 1≤i≤N인 i에 대해 Xi는 Xi−1에서 인덱스가 i의 배수인 모든 원소를 0으로 바꾼 배열이다.
- Y=sum(X1)+sum(X2)+⋯+sum(XN)이며, sum(Xi)는 배열 Xi의 모든 정수의 합이다.
예를 들어 A=[4,1,2,3,4]이고 P=[3,2,4,1,5]이면:
- X0=[4,1,2,3,4]
- X1=[4,1,0,3,4] ← P1=3이므로 X1의 3번째 원소가 0으로 바뀐다.
- X2=[4,0,0,0,4] ← P2=2이므로 X2의 2번째와 4번째 원소가 0으로 바뀐다.
- X3=[4,0,0,0,4] ← P3=4이므로 X3의 4번째 원소가 0으로 바뀐다.
- X4=[0,0,0,0,0] ← P4=1이므로 X4의 모든 원소가 0으로 바뀐다.
- X5=[0,0,0,0,0] ← P5=5이므로 X5의 5번째 원소가 0으로 바뀐다.
따라서 이 경우 Y=12+8+8+0+0=28이다.
P가 무작위로 만들어지므로, 당신은 Y의 기댓값이 궁금해졌다. Y의 기댓값을 C/D라 하자. 여기서 C와 D는 서로소인 음이 아닌 정수이다. (C×D−1)mod1000000007을 출력하라. 즉, C≡DK(mod1000000007)을 만족하는 유일한 정수 K (0≤K<1000000007)를 출력해야 한다.