울려퍼져라

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

요약
Q개의 라운드마다 구간에 속한 운영진의 공을 모두 섞어 뽑을 때, 각 운영진이 연속으로 뽑히는 횟수의 기댓값을 모두 더해 10^9+7로 나눈 값을 구한다.
난이도

어려움10점 중 8점

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

문제

월간 향유회의 NN명의 운영진들은 각자의 공을 가지고 게임을 하려고 한다. 각 운영진에게는 11부터 NN까지의 번호가 차례대로 부여되어 있으며, ii번 운영진은 A_iA\_i개의 공을 가지고 있다.

게임은 총 QQ개의 라운드로 진행되며, 각 라운드에는 l_il\_i번부터 r_ir\_i번까지의 운영진이 참가한다. 한 라운드에 참가한 운영진들은 각자의 공을 모두 속이 보이지 않는 한 상자에 넣고 섞는다. 그리고 상자가 빌 때까지 상자에서 공을 무작위로 하나씩 뽑는데, 이때 ii번 운영진의 공이 연속으로 뽑힐 때마다 ii번 운영진이 11점을 얻는다. 각 라운드가 끝나면 해당 라운드에 참가한 운영진들은 자신의 공을 모두 회수한다.

모든 라운드가 끝난 후, 각 운영진의 점수의 기댓값을 구하여라.

입력

첫째 줄에 운영진의 수 NN과 라운드의 수 QQ가 공백으로 구분되어 주어진다. (1≤N,Q≤200,000)(1 \leq N, Q \leq 200\\,000)

둘째 줄에 각 운영진의 공의 수 A_1A\_1, A_2A\_2, ⋯\cdots, A_NA\_N이 공백으로 구분되어 주어진다. (1≤A_i≤5,000)(1 \leq A\_i \leq 5\\,000)

다음 QQ개의 줄에 각 라운드에 참가할 운영진 번호의 범위 l_il\_i, r_ir\_i가 공백으로 구분되어 주어진다. (1≤l_i≤r_i≤N)(1 \leq l\_i \leq r\_i \leq N)

출력

E_1E\_1, E_2E\_2, ⋯\cdots, E_NE\_N을 한 줄에 공백으로 구분하여 출력한다. 이때, E_iE\_i는 ii번 운영진의 점수의 기댓값이 기약분수 p_iq_i\displaystyle \frac{p\_i}{q\_i}일 때, p_i≡q_iE_i(mod109+7)p\_i \equiv q\_iE\_i \pmod {10^9+7}을 만족하는 00 이상 109+710^9+7 미만의 정수이다. 주어진 조건 내에서 E_iE\_i가 항상 유일함을 증명할 수 있다.

예제1

  1. 예제 1

    입력
    3 2
    2 2 3
    1 2
    2 3
    
    예상 출력
    500000004 300000003 400000004