업적의 노예 2

아직 제출이 없습니다시간 제한3초메모리 제한256 MB

문제

경근이는 isRPG라는 웹게임을 하고 있다. 이 게임에는 캐릭터가 쓸 수 있는 장비 아이템이 많다. 모든 장비는 정해진 방법으로 재료를 모아서 만들고, 만들어진 장비의 옵션은 정해진 범위 안에서 무작위로 정해진다. 만들어진 장비가 마음에 들지 않으면 장비를 분해해서 쓴 재료를 일부 돌려받을 수 있다.

isRPG에도 업적 시스템이 있어서 어떤 항목에서 일정 수치를 달성하면 업적을 얻는다. 경근이가 지금 노리는 항목은 "장비를 일정 개수 이상 제작하기"와 "장비를 일정 개수 이상 분해하기"이다.

isRPG에서 가장 만들기 쉬운 장비는 나무 단검이다. 재료가 나무 쪼가리 한 종류뿐이고, 나무 쪼가리는 상점에서 쉽게 산다. 업적은 아이템의 질을 따지지 않으므로 경근이는 나무 단검만 잔뜩 깎으려고 한다.

나무 쪼가리 NN개를 쓰면 나무 단검 하나를 만든다. 나무 단검 하나를 분해하면 나무 쪼가리를 적으면 00개, 많으면 KK개까지 돌려받는다. 나무 쪼가리를 xx (0xK0 \le x \le K)개 돌려받을 확률은 xx의 값과 상관없이 모든 xx에 대해 1/(K+1)1/(K+1)이고, 분해할 때마다 독립이다.

경근이는 상점에서 나무 쪼가리를 MM개 샀고, 나무 단검은 하나도 없다. 경근이는 지금부터 다음 작업을 반복한다. 먼저 가진 나무 쪼가리로 나무 단검을 더 만들 수 없을 때까지 만든다. 그다음 가진 나무 단검을 모두 분해한다. 나무 단검을 하나도 만들 수 없으면 작업을 멈춘다.

모든 작업이 끝난 뒤에 인벤토리에 나무 쪼가리가 남아 있는 것은 경근이에게 매우 불쾌한 일이다. 그래서 경근이는 나무 쪼가리가 ii (0i<N0 \le i < N)개 남을 확률을 ii마다 알고 싶다. 경근이를 도와주자.

입력

첫 번째 줄에 나무 단검 하나를 만드는 데 필요한 나무 쪼가리의 개수 NN, 나무 단검 하나를 분해해서 얻을 수 있는 나무 쪼가리의 최대 개수 KK, 경근이가 처음 가진 나무 쪼가리의 개수 MM이 공백을 사이에 두고 주어진다. 1K<N1031 \le K < N \le 10^3이다.

MM0M10120 \le M \le 10^{12}를 만족하거나 1-1이다. M=1M = -1MM이 무한대로 갈 때 확률의 극한값을 답으로 구해야 한다는 뜻이다. 이 극한값이 존재하고 유리수라는 사실은 증명되어 있다.

출력

NN개의 줄을 출력한다. ii번째 줄에는 나무 쪼가리가 i1i-1개 남을 확률을 출력한다. 작업이 끝나면 나무 쪼가리는 N1N-1개 이하만 남으므로 출력은 NN줄이다.

확률을 기약분수 pq\frac{p}{q}로 나타냈을 때, pqr0(mod109+7)p - qr \equiv 0 \pmod{10^9+7}을 만족하는 00 이상 109+710^9+7 미만의 정수 rr을 출력한다. 이 정수 rr이 존재하고 이 범위에서 유일하다는 사실은 증명되어 있다.

힌트

첫 번째 예제의 출력은 순서대로 13\frac{1}{3}, 13\frac{1}{3}, 13\frac{1}{3}, 00을 뜻한다.