고양이에게 과자 나눠 주기

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

문제

Albert는 고양이 NN 마리를 키우고 있는데 편의상 번호가 1부터 NN까지 붙어있다. 오늘은 간식으로 고양이용 과자 MM개를 나눠주려고 하는데 각 과자는 1번 부터 MM번까지 번호가 붙어있고, 모두 동일한 크기이다. jj 번째 과자는 균등한 크기의 V_jV\_j 조각으로 쪼개져있고, 이는 NN 마리의 고양이들이 적절히 나눠먹는다 - ii번째 고양이가 먹은 jj번 과자 조각의 수를 A_j,iA\_{j, i}라 하자. 이 때, _1iNA_j,i=V_j\sum\_{1 \le i \le N} A\_{j, i} = V\_j 를 항상 만족한다.

예를 들어 N=3N = 3, M=3M = 3, V=\[2,3,5]V = \[2, 3, 5], A=\[\[0,1,1],\[1,2,0],\[2,1,2]]A = \[ \[0, 1, 1], \[1, 2, 0], \[2, 1, 2] ] 라 하자.

  • 과자는 총 3개이며 순서대로 2조각, 3조각, 5조각으로 나뉘어져있다.
  • A_1,=\[0,1,1]A\_{1, \cdot} = \[0, 1, 1] 이므로 1번 과자는 2번과 3번 고양이가 각각 한 조각씩 먹었다. 즉, 두 고양이가 과자 반개씩 먹은셈이다.
  • A_2,=\[1,2,0]A\_{2, \cdot} = \[1, 2, 0] 이므로 2번 과자는 1번 고양이가 한 조각, 2번 고양이가 두 조각 먹었다. 즉, 두 고양이가 각각 과자 (1/3)개와 (2/3)개씩 먹은셈이다.
  • A_3,=\[2,1,2]A\_{3, \cdot} = \[2, 1, 2] 이므로 3번 과자는 세 마리의 고양이가 각각 (2/5), (1/5), (2/5) 조각씩 먹은 셈이다.
  • 1번 고양이는 총 (1/3)+(2/5)=(11/15)(1/3) + (2/5) = (11/15) 개의 과자를, 2번 고양이는 총 (1/2)+(2/3)+(1/5)=(41/30)(1/2) + (2/3) + (1/5) = (41/30) 개의 과자를, 3번 고양이는 총 (1/2)+(2/5)=(9/10)(1/2) + (2/5) = (9/10) 개의 과자를 먹었다.

Albert는 고양이들이 모두 간식을 먹은 후 가장 많이 먹은 고양이와 가장 적게 먹은 고양이가 먹은 양의 차이가 궁금하다. 위 예제에서는 2번 고양이가 가장 많이 먹었고 1번 고양이가 가장 적게 먹었는데, 그 차이는 (19/30)개이다. Albert를 도와주자.

입력

입력 첫 줄에 테스트 케이스의 수 TT가 주어진다.

각 테스트 케이스의 첫 줄에는 NNMM이 공백으로 구분되어 주어진다. 다음 MM줄에 걸쳐 jj번재 줄은 jj번째 과자의 조각 수를 나타내는 V_jV\_j와 함께 NN마리의 고양이들이 몇 조각씩 먹었는지 알려주는 A_j,A\_{j, \cdot} 배열의 값이 주어진다 -- 즉, 총 N+1N+1 개의 정수가 공백으로 구분되어 주어진다.

출력

각 테스트 케이스의 정답을 기약 분수 형태로 출력한다. 단, 답이 정수인 경우 정수 형태로 출력한다 (예제 참고).

제한

  • 1T201 \le T \le 20

  • 1N,M501 \le N, M \le 50

  • 1jM1 \le j \le Mjj에 대하여:

    • 1V_j201 \le V\_j \le 20
    • V_j=_1iNA_j,iV\_j = \sum\_{1 \le i \le N} A\_{j, i}
    • 1iN1 \le i \le Nii에 대하여 0A_j,iV_j0 \le A\_{j, i} \le V\_j
  • 입력으로 주어지는 모든 테스트 케이스에 대하여 정답이 정수 xx 혹은 기약 분수 p/qp/q 일 때, x,p,qx, p, q는 모두 101110^{11} 이하인 정수임이 보장된다.

힌트

기약 분수 - 이 문제에서 답이 정수가 아닌 분수일 경우 p/qp/q 꼴인 기약 분수로 출력해야하며, 기약 분수란 p,qp, q의 최대 공약수가 1인 경우를 이야기한다. 예제 3의 경우 2/9 가 정답이며 4/18 이나 6/27 등은 기약 분수가 아니므로 정답으로 인정하지 않는다.