시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 256 MB513785717.757%

문제

하루 종일 숫자만 보다가 정신이 나가버린 사람이 무시무시한 일을 저질러 버렸다. 숫자가 보기 싫으면 없애면 좋다고 생각하며 아래와 같은 무시무시한 식을 썼다.

ONETWOTHREEFOUR+TWOTHREEFOURFIVE=

그렇다. 숫자만 안보이면 된다. 그래서, 아래의 표를 보고 숫자를 모두 영단어로 바꾸었다.

숫자 영어
0 ZERO
1 ONE
2 TWO
3 THREE
4 FOUR
5 FIVE
6 SIX
7 SEVEN
8 EIGHT
9 NINE

그런데, 이런 수식을 보다가 그만 식을 적은 사람이 정신을 잃었다. 우리가 식을 계산해서 알려주자!

식을 정확하게 판단하여 정답을 구할 수 있다면, 정답을 출력하자! 만약, 식이 이상하다면 "Madness!" 를 출력하자!

등장하는 연산자는 + , - , x, / (몫을 구하면 된다.) 로 총 4가지가 있다. 연산의 우선순위는 없고, 먼저 등장한 연산자를 우선적으로 계산하도록 한다. 식이 이상한 경우는 숫자 영단어나 연산자가 아닌 문자열을 포함하거나, 연산자가 연속해서 등장하는 경우이다.

입력

한 줄의 식이 주어진다. 식은 반드시 '=' 으로 끝나며, 연산자로 시작하지 않는다. 문자열은 대문자 및 +, -, x, /, = 로 이루어져 있다. 각 수를 표시하는 영어 문자열 중 "ZERO"로 시작하는 것은 없다.

주어지는 문자열의 길이는 4 ≤ |S| ≤ 100,000 이고, 주어지는 수들의 범위는 1 ≤ number ≤ 1,000,000 이다. 정답 ans와 계산 과정 중 나오는 수 tmp의 범위는 |ans, tmp| ≤ 1015 이다.

출력

첫번째 줄에는 변환한 식을 한다. 두번째 줄에는 계산 결과를 영어 대문자로 출력한다.

예제 입력 1

ONETWOTHREEFOUR+FIVESIXSEVEN=

예제 출력 1

1234+567=
ONEEIGHTZEROONE

예제 입력 2

FIVEZEROxTWOTWO-ONEONEONEONE=

예제 출력 2

50x22-1111=
-ONEONE

출처

University > 경북대학교 > 2021 Goricon C번