아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

또 다른 복권

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

요약
n명의 참가자가 m개 회차에 복권을 사고, j회차 상금은 2^j이며 티켓 하나가 무작위로 당첨된다. 각 참가자가 다른 누구보다 많은 상금을 받을 확률을 기약분수로 구한다.
난이도

보통10점 중 7점

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

문제

경제 위기 속에서도 바이트랜드(Byteland) 사람들은 여전히 복권을 즐긴다. 운이 조금만 따라 준다면 모든 근심을 털어 버리고 부자가 될 수도 있기 때문이다.

바이트랜드에서 가장 인기 있는 복권은 총 mm개의 라운드로 이루어진다. 각 라운드에서 사람들은 원하는 만큼 복권을 살 수 있고, 그 라운드에 팔린 모든 복권 중에서 정확히 한 장이 무작위로(모든 복권이 동일한 확률로) 당첨된다. 당첨된 복권의 주인은 그 라운드의 상금을 받는다. 바이트랜드 사람들은 2의 거듭제곱을 좋아하기 때문에, 라운드 ii의 상금은 2i2^i 바이트랜드 달러이다.

각 참가자에 대하여, 그 사람이 다른 누구보다도 많은 상금을 받게 될 확률을 구하여라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 두 정수 nn과 mm이 주어지며, 각각 복권 참가자 수와 라운드 수를 나타낸다. (1≤n≤100001 \le n \le 10000, 1≤m≤301 \le m \le 30)

이어지는 nn개의 줄에는 각 참가자가 산 복권의 개수가 주어진다. ii번째 줄에는 mm개의 음이 아닌 정수 c1,…,cmc_1, \ldots, c_m이 주어지며, cjc_j (1≤j≤m1 \le j \le m)는 참가자 ii가 라운드 jj에서 산 복권의 개수이다. 각 라운드에 팔린 복권의 총 개수는 11 이상 10910^9 이하이다.

입력의 끝은 두 개의 00으로 이루어진 줄로 표시된다.

출력

각 테스트 케이스에 대하여 nn개의 줄을 출력한다. ii번째 줄에는 참가자 ii가 가장 많은 상금을 받을 확률을 기약분수로 출력한다. 분수는 분자 / 분모 형식으로, 슬래시 양옆에 공백을 하나씩 두어 출력한다. (예: 1 / 4, 확률이 0이면 0 / 1)

예제1

  1. 예제 1

    입력
    5 4
    3 1 2 3
    3 1 2 4
    3 1 3 5
    4 4 4 0
    5 5 0 0
    1 1
    1
    0 0
    
    예상 출력
    1 / 4
    1 / 3
    5 / 12
    0 / 1
    0 / 1
    1 / 1