만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

기대 쇼핑

시간 제한4초메모리 제한256 MB

요약
가게 n곳의 가격과 상한 B가 주어질 때, 가게를 무작위 순서로 방문해 m개를 살 때의 기대 비용을 기약분수로 구합니다.
난이도

보통10점 중 7점

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

문제

칩을 mm개 사려고 한다. 가게는 nn곳이 있고, 각 가게에는 필요한 만큼의 칩이 충분히 있다. ii번째 가게에서 칩 한 개의 가격은 aia_i 코인이다. 한 개에 BB 코인을 넘게 내고 싶지 않으므로, 가게 jj의 가격 aja_j가 BB보다 크면 그 가격은 불합리하다고 한다. 그렇지 않으면 합리적이다.

가게는 임의의 순서로 방문할 수 있다. 다만 각 가게는 최대 한 번만 방문할 수 있다.

가게 jj를 방문했을 때 아직 kk개가 필요하다고 하자. 그 가게의 가격이 합리적이면(aj≤Ba_j \le B) kk개를 모두 그곳에서 사고, 다른 가게를 더 방문하지 않고 집으로 간다. 가격이 불합리하면 한 개만 사고, 칩이 더 필요하면 다음 가게로 간다.

칩을 mm개 모은 순간 쇼핑이 끝난다. 가게가 적어도 mm곳 있으므로 쇼핑은 반드시 끝난다.

가능한 방문 순서는 모두 같은 확률로 선택된다. 쓰게 되는 코인의 기댓값을 구하라. 답은 기약분수 pq\frac{p}{q} (q>0q > 0, gcd⁡(p,q)=1\gcd(p, q) = 1)로 나타낸다.

입력

첫째 줄에 세 정수 nn, mm, BB가 주어진다 (1≤m≤n≤8×1051 \le m \le n \le 8 \times 10^5, 1≤B≤5×1061 \le B \le 5 \times 10^6).

둘째 줄에 nn개의 정수 a1,a2,…,ana_1, a_2, \ldots, a_n이 주어진다 (1≤ai≤5×1061 \le a_i \le 5 \times 10^6).

출력

기댓값을 기약분수 pq\frac{p}{q}로 나타냈을 때, 첫째 줄에 pp, 둘째 줄에 qq를 출력한다.

예제3

  1. 예제 1

    입력
    3 2 4
    2 3 4
    
    예상 출력
    6
    1
    
  2. 예제 2

    입력
    7 3 3
    7 6 5 4 3 2 1
    
    예상 출력
    47
    5
    
  3. 예제 3

    입력
    11 5 16
    20 21 23 10 6 19 5 5 25 27 14
    
    예상 출력
    50329
    924