신나는 분수 계산

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

문제

유리수는 두 정수의 비로 나타낸다. 분자 nn과 분모 dd가 주어지면 이 분수를 n/dn/d로 쓴다. 같은 값을 나타내는 방법은 하나가 아니다. 예를 들어 1/21/22/42/4는 값이 같다. 표현 n/dn/dgcd(n,d)=1\gcd(|n|, |d|) = 1을 만족하면 이 표현을 기약분수라고 한다. 그래서 1/21/2은 기약분수이고 2/42/4는 아니다.

유리수의 덧셈은 다음과 같이 정의한다. 오른쪽 항이 기약분수라는 보장은 없다.

n1d1+n2d2=n1d2+n2d1d1d2\frac{n_1}{d_1} + \frac{n_2}{d_2} = \frac{n_1 d_2 + n_2 d_1}{d_1 d_2}

분자가 분모보다 크거나 같은 유리수는 정수부와 분수부로 이루어진 대분수로 쓸 수 있다. 예를 들어 5135\frac{1}{3}16/316/3과 값이 같은 대분수 표현이다.

유리수 수열을 읽어 그 합을 출력하라.

입력

입력은 여러 개의 테스트로 이루어진다. 각 테스트의 첫 줄에는 정수 nn (1n<10001 \le n < 1000)이 주어진다. n=0n = 0인 줄을 만나면 입력이 끝난다.

이어지는 nn개의 줄에는 공백이 없는 문자열이 한 개씩 주어진다. 각 문자열은 유리수 하나를 나타내고 다음 세 형태 중 하나이며, 기약분수가 아닐 수도 있다. ww, nn, dd는 정수이고 0w,n<10000 \le w, n < 1000, 1d<10001 \le d < 1000이다.

  • w,n/d: (w×d+n)/d(w \times d + n) / d와 값이 같은 대분수
  • n/d: 정수부가 0인 유리수
  • w: 분수부가 0인 정수

출력

각 테스트마다 한 줄씩, 먼저 Test x: 를 출력하고 이어서 합을 기약분수로 출력한다. xx는 1부터 세는 테스트 번호이다.

합의 정수부가 ww이고 분수부가 n/dn/d일 때, 두 부분이 모두 있으면 w,n/d 꼴로, 정수부만 있으면 w 꼴로, 분수부만 있으면 n/d 꼴로 출력한다. 정수부와 분수부가 모두 없으면 0을 출력한다.