3137 - 역 폴란드 방정식

Time Limit: 3s Memory Limit: 128MB

Submissions: 11 Solved: 2
Description

연습문제 4.3은 열심히 풀어보았는가? 문제가 너무 쉽다고 느낀 당신에게 약간 어려운 응용문제를 출제해보고자한다.

역 폴란드 수식 형태로 주어진 f(x)가 있을 때, f(x) = 0 을 만족하는 x를 구해보자.

예를 들어 f(x) = (4x + 2)/2 라고 치면, 이는 역 폴란드 수식 형태로 표현하면

4 X * 2 + 2 /

다음과 같이 표현된다.

이 f(x) = 0 방정식의 해는 x = -1/2 이다.

Input

입력은 여러개의 테스트 케이스로 주어질 수 있다. 각 케이스는 한 줄에 하나씩 주어진다.

각 테스트케이스는 하나의 줄로 이루어져 있으며, f(x)를 역 폴란드 수식으로 나타낸 문자가 주어진다. 토큰의 수는 최대 30개이며, 각 토큰은 하나의 문자이고 그 값은

  • 0 과 9 사이의 숫자
  • 연산자 +-*, /
  • 미지수 x를 표현하는 대문자 X 

중 하나이다. 

테스트케이스에 미지수 X는 최대 1개 등장한다.

 

계산과정에서 상수 0으로 나누는 경우는 없다고 가정해도 좋다.

Output

각 테스트케이스마다 정답을 아래와 같은 형태로 출력한다.

만약 f(x) = 0 의 해 x = p/q가 존재한다면 "X = p/q" 형태로 출력한다. p와 q는 서로소인 정수이며, q는 자연수이다.

만약 f(x) = 0 의 해가 존재하지 않는다면 "NONE" 을 출력한다.

만약 f(x) = 0 의 해가 무수히 많이 존재한다면 "MULTIPLE" 을 출력한다.

Sample Input
4 X * 2 + 2 /
2 2 * 
0 2 X / *
1 1 X 2 - / /
Sample Output
X = -1/2 
NONE 
MULTIPLE
NONE