스카이랜드

합이 H 이상인 음이 아닌 높이를 정해 선형 비용과 섬 쌍별 높이 차이 비용의 합을 최소화하고 최소값을 기약분수로 출력합니다.

어려움8그래프수학아직 제출이 없습니다시간 제한5초메모리 제한64 MB

문제

하늘 어딘가에서 KM 왕국이 앞선 기술로 떠 있는 섬 nn개를 만들었다. 섬에는 11번부터 nn번까지 번호가 붙어 있다.

키타마사 왕은 각 섬의 고도를 음이 아닌 실수 중에서 마음대로 정할 수 있다. 단, 모든 섬의 고도를 더한 값이 HH 이상이어야 한다. 섬 ii를 고도 hih_i까지 띄우는 비용은 bihib_i h_i이다. 섬끼리는 서로 통신하므로 섬 ii와 섬 jj 사이에 ci,jhihjc_{i,j} |h_i - h_j|의 비용이 더 든다.

에너지 값이 오른 탓에 왕은 총비용

i=1nbihi+1i<jnci,jhihj\sum_{i=1}^{n} b_i h_i + \sum_{1 \le i < j \le n} c_{i,j} |h_i - h_j|

을 가장 작게 만들려 한다. 궁정 프로그래머인 당신은 이 최솟값을 구한다. 최솟값은 항상 유리수이다.

입력

입력은 여러 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에 정수 nnHH가 공백 하나로 구분되어 주어진다 (1n1001 \le n \le 100, 0H10000 \le H \le 1000). 둘째 줄에는 정수 b1,b2,,bnb_1, b_2, \dots, b_n이 주어진다 (0bi10000 \le b_i \le 1000). 이어지는 nn개 줄에는 각각 정수 ci,1,ci,2,,ci,nc_{i,1}, c_{i,2}, \dots, c_{i,n}이 주어진다 (0ci,j10000 \le c_{i,j} \le 1000). 항상 ci,i=0c_{i,i} = 0이고 ci,j=cj,ic_{i,j} = c_{j,i}이다.

마지막 테스트 케이스 다음 줄에는 00이 두 개 주어진다. 테스트 케이스는 2020개 이하이다.

출력

각 테스트 케이스마다 Case x: p/q 형식으로 한 줄씩 출력한다. xx11부터 세는 테스트 케이스 번호이고, p/qp/q는 총비용의 최솟값을 기약분수로 나타낸 것이다. q>0q > 0이어야 하고 ppqq의 최대공약수는 11이어야 한다. 최솟값이 정수 vv이면 v/1로 출력한다. 예를 들어 최솟값이 22이면 2/1, 17.517.5이면 35/2로 출력한다.