가상 화학에서 분자식으로 표현된 분자의 무게를 계산하는 프로그램을 작성하시오. 실제 화학처럼 각 분자식은 하나 이상의 원자로 이루어진 분자를 나타내지만, 화학적으로 실제 존재할 필요는 없다.
H와 He는 원자 기호이다.HHHeHHHe는 H 원자 네 개와 He 원자 두 개로 이루어진 분자를 나타낸다.(X)n으로 줄여 쓸 수 있다. $X$가 원자 기호 하나이면 괄호를 생략할 수 있다. 예를 들어 HHHeHHHe는 H2HeH2He, (HHHe)2, (H2He)2, ((H)2He)2로도 쓸 수 있다.모든 분자식의 집합은 하나의 형식 언어로 볼 수 있다. 위의 설명을 요약하면, 분자식의 문법은 다음과 같이 정의된다.
Molecule → Atom | Atom Number | ( Molecule ) Number | Molecule Molecule
Atom → CapitalLetter | CapitalLetter SmallLetter
Number → 2 | 3 | 4 | · · · | 97 | 98 | 99
CapitalLetter → A | B | C | · · · | X | Y | Z
SmallLetter → a | b | c | · · · | x | y | z
각 원자는 고유한 원자량을 가진다. 분자량은 구성 원자들의 원자량을 모두 더한 값이다. 예를 들어 H와 He의 원자량이 각각 $1$, $4$이면, (H2He)2로 표현되는 분자의 무게는 $12$이다.
입력은 두 부분으로 이루어진다.
첫 번째 부분은 원자표이다. 여러 줄로 이루어지며, 각 줄에는 원자 기호, 하나 이상의 공백, 그리고 그 원자량(양의 정수, $1000$ 이하)이 있다. 같은 원자 기호가 두 줄에 나오지는 않는다. 이 부분은 END_OF_FIRST_PART만 있는 줄로 끝난다.
두 번째 부분은 여러 줄로 이루어진다. 각 줄은 공백이 없는 길이 $80$ 이하의 분자식이다. 한 분자는 최대 $105$개의 원자를 포함한다. 분자식에 나오는 원자 기호 중 일부는 원자표에 없을 수도 있다. 이 부분은 0 하나만 있는 줄로 끝난다.
두 번째 부분의 각 분자식에 대해 한 줄씩 출력한다. 분자식의 모든 원자 기호가 원자표에 있으면 그 분자량을 정수로 출력하고, 그렇지 않으면 UNKNOWN을 출력한다. 다른 문자는 출력하지 않는다.