수열과 쿼리와 확률 2

시간 제한1초메모리 제한1024 MB

요약
수열과 M번의 무작위 연산이 주어질 때, 초기 대비 최종 합 또는 곱의 비율의 기댓값을 10^9+7로 나눈 나머지를 구한다.
난이도

보통10점 중 7점

유형
수학, 확률, 조합론, 정수론
정답자
아직 제출이 없습니다

문제

동우는 수열과 쿼리 시리즈를 풀다가 왜 수열과 쿼리가 확률적으로 주어지지 않는지 의문이 들었다. 이에 다음 문제를 만들었다.

길이가 NN인 수열 A=A_1,A_2,⋯ ,A_NA=A\_1,A\_2,\cdots ,A\_N에 아래 연산 쿼리를 총 MM번 시행하고자 한다.

  • 1: 모든 A_iA\_i에 대해 A_i=A_i×(N+1−i)A\_i=A\_i\times\left( {N+1-i} \right)를 적용한다. 즉, A_1,A_2,⋯ ,A_NA\_1,A\_2,\cdots ,A\_N에 각각 N,N−1,⋯ ,1N,N-1,\cdots ,1을 곱한다.
  • 2 ii: A_iA\_i에 A_i=A_i×iA\_i=A\_i\times i를 적용한다. (1≤i≤N1\le i\le N)

동우는 다음 규칙에 따라 MM개의 쿼리를 각각 독립적으로 결정한다.

  • 가능한 N+1N+1가지(1번 쿼리 11가지, 2번 쿼리 NN가지) 쿼리에 대해 동일한 확률로 하나의 쿼리를 적용한다.

동우는 아래 두 질의 쿼리 중 하나를 시행하고자 한다.

  • S: 초기 상태에서 원소의 합을 S_0S\_0, 최종 상태에서 원소의 합을 S_1S\_1이라 할 때, S_1S_0\frac{S\_1}{S\_0}의 값을 구한다.
  • P: 초기 상태에서 원소의 곱을 P_0P\_0, 최종 상태에서 원소의 곱을 P_1P\_1이라 할 때, P_1P_0\frac{P\_1}{P\_0}의 값을 구한다.

그러나 성격이 급한 동우는 쿼리를 처리하기 전 질의 쿼리의 답의 기댓값이 알고 싶어졌다. 동우를 도와 구해보자.

입력

첫 번째 줄에 수열의 원소의 개수 N(1≤N≤106)N(1\le N\le 10^6)과 연산 쿼리의 개수 M(1≤M≤1018)M(1\le M\le 10^{18})가 공백으로 구분되어 주어진다.

두 번째 줄에 초기 상태의 양의 정수로 이루어진 수열 A_1,A_2,⋯ ,A_N(1≤A_i≤109)A\_1,A\_2,\cdots ,A\_N(1\le A\_i\le 10^9)이 공백으로 구분되어 주어진다.

세 번째 줄에 동우가 물어본 질의 쿼리 문자 QQ가 주어진다. QQ는 S, P 중 하나이다.

출력

첫 번째 줄에 질의 쿼리의 답의 기댓값을 109+710^9+7로 나눈 나머지를 출력한다.

기약 분수 pq(p≥0,q>0,gcd⁡(p,q)=1)\frac{p}{q}(p\ge 0,q>0,\gcd(p,q) =1)를 MM으로 나눈 나머지는 q−1q^{-1}가 q⋅q−1≡1(modM)q\cdot q^{-1}\equiv 1\pmod M을 만족하는 정수, 즉 qq의 MM에 대한 모듈로 곱셈 역원일 때, p⋅q−1(modM)p\cdot q^{-1}\pmod M로 정의한다. 만약 정수일 경우 q=q−1=1q=q^{-1}=1이므로 p(modM)p\pmod M를 의미한다.

주어진 조건 내에서 기댓값이 정수 혹은 유리수임을 증명할 수 있으며, 유리수의 경우 기약분수에서 분모가 109+710^9+7의 배수가 아닌 경우만 주어짐이 보장된다.

예제4

  1. 예제 1

    입력
    3 1
    3 2 1
    S
    
    예상 출력
    500000005
    
  2. 예제 2

    입력
    3 1
    3 2 1
    P
    
    예상 출력
    3
    
  3. 예제 3

    입력
    3 111111111666666666
    3 2 1
    S
    
    예상 출력
    1
    
  4. 예제 4

    입력
    3 999999999999999964
    3 2 1
    P
    
    예상 출력
    1