시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 0 0 0 0.000%

문제

분자 M에 대한 화학식을 통해 어떤 원소로 이루어져 있는지 알 수 있다. 화학식은 다음과 같은 문법을 따른다.

M := G | M G
G := S | S C
S := A | '(' M ')'
C := T | N E
E := D | D E
T := '2' | ... | '9'
N := '1' | ... | '9'
D := '0' | .. | '9'
A := U | U L | U L L 
U := 'A' | .. | 'Z'
L := 'a' | .. | 'z'

카운트 C는 바로 앞에 있는 서브 그룹 S에 곱하는 수이다.

예를 들어, H2O는 두 개의 H(수소)와 한 개의 O(산소) 원소로 이루어져 있다. 또, (Al2C2)3Na4는 3개의 Al(알루미늄), 6개의 C(탄소), 4개의 Na(나트륨)원소로 이루어져 있다.

화학식이 주어졌을 때, 구성하고 있는 원소를 구하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 올바른 화학식이 주어진다. 각 줄은 100자를 넘지 않는다.

출력

각 테스트 케이스에 대해서, 입력으로 주어진 화학식이 어떤 원소로 이루어져 있는지 예제 출력형식처럼 출력한다. 원소는 사전순으로 출력해야 하고, 원소의 앞에 붙는 수가 1인 경우는 생략해도 된다.

예제 입력

H2O
(AlC2)3Na4

예제 출력

2H+O
3Al+6C+4Na

힌트