만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

분수

시간 제한0.5초메모리 제한2048 MB

요약
괄호와 숫자로 이루어진 중첩 확장 분수의 값을 기약분수로 계산하고, 입력이 올바르지 않으면 -1을 출력합니다.
난이도

보통10점 중 4점

유형
재귀, 문자열, 수학
정답자
아직 제출이 없습니다

문제

기본 분수는 세 정수 (a b c)(a\, b\, c)로 나타내며, 그 값은 a+bca + \frac{b}{c}이다. 단, 1≤a,b,c≤91 \le a, b, c \le 9이다. 확장 분수는 (a′ b′ c′)(a'\, b'\, c') 형태이며, a′a', b′b', c′c'는 각각 1부터 9 사이의 정수이거나 다른 확장 분수일 수 있다. 기본 분수도 확장 분수이며, 확장 분수의 길이는 유한하다.

확장 분수가 주어졌을 때, 그 값을 기약분수로 나타내라. 예를 들어 ((1 2 4)(5 2 3)(4 3(2 7 3)))\left((1\, 2\, 4)(5\, 2\, 3)\left(4\, 3 (2\, 7\, 3) \right)\right)의 기약분수는 다음과 같다.

(1+24)+5+234+32+73=991366\left(1 + \frac{2}{4}\right) + \frac{5 + \frac{2}{3}}{4 + \frac{3}{2 + \frac{7}{3}}} = \frac{991}{366}

입력

첫 줄에 정수 nn (2≤n≤1002 \le n \le 100)이 주어진다. nn은 괄호와 1부터 9 사이의 숫자의 개수이다. 둘째 줄에는 확장 분수를 나타내는 기호가 공백으로 구분되어 주어진다.

출력

한 줄만 출력한다. 답이 x/yx/y이면 서로소인 두 정수 xx와 yy를 출력한다. 입력이 올바르지 않으면 -1을 출력한다.

예제3

  1. 예제 1

    입력
    5
    ( 1 2 3 )
    
    예상 출력
    5 3
    
  2. 예제 2

    입력
    8
    ( 1 2 ( 3 4 5 )
    
    예상 출력
    -1
    
  3. 예제 3

    입력
    21
    ( ( 1 2 4 ) ( 5 2 3 ) ( 4 3 ( 2 7 3 ) ) )
    
    예상 출력
    991 366