시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
탄소 화합물은 C, H, O 세 종류의 원자로만 이루어진 화합물이다. 여기서는 다음과 같은 단순한 화학식에 계수를 붙여 균형을 맞추려고 한다.
M1 + M2 = M3
각 M은 하나의 분자를 뜻한다. 분자는 원자들이 이어진 문자열이며, 각 원자 뒤에는 숫자 하나가 붙을 수 있다.
원자[숫자]원자[숫자]...원자[숫자]
각 분자는 적어도 하나의 원자를 포함한다. 원자 뒤에 숫자가 붙어 있으면 그 원자가 몇 개 있는지를 나타내며, 숫자는 2 이상 9 이하이다. 숫자가 없으면 그 원자는 1개만 있다는 뜻이다.
예를 들어 HC3OH2는 H 3개, C 3개, O 1개로 이루어진 분자를 나타낸다. C2HOH + CH = C5O2H4는 입력으로 주어질 수 있는 화학식의 한 예이다.
화학식이 균형을 이룬다는 것은 =의 왼쪽과 오른쪽에서 C, H, O 각각의 원자 개수가 모두 같다는 뜻이다. 예를 들어 C + CH = C2H는 이미 균형을 이룬 화학식이다.
균형이 맞지 않는 화학식도 세 분자에 계수를 붙여, 각 분자가 그만큼 여러 개 있다고 생각하면 균형을 맞출 수 있다. 예를 들어 C + CC = CCCCC는 계수 1, 2, 1을 붙여 C + 2(CC) = CCCCC로 만들면 균형이 맞는다.
탄소 화합물 분자로만 이루어진 M1 + M2 = M3 형태의 화학식이 주어진다. 1 이상 10 이하의 계수를 골라 화학식의 균형을 맞추는 프로그램을 작성하시오.
첫째 줄에 M1+M2=M3 형태의 화학식이 주어진다. 화학식의 길이는 50을 넘지 않으며, C, H, O, +, =와 2부터 9까지의 숫자로만 이루어져 있다.
첫째 줄에 세 정수 X1 X2 X3를 이 순서대로 빈칸으로 구분해 출력한다. 각 정수는 1 이상 10 이하이며, 각각 M1, M2, M3의 계수이다.
해가 둘 이상이라면 답을 세 자연수로 이루어진 수열 (X1, X2, X3)으로 보고 사전순으로 가장 앞서는 것을 출력한다. 즉 X1이 가장 작은 것을 먼저 고르고, 그래도 여러 개라면 X2가 가장 작은 것, 그다음에는 X3가 가장 작은 것을 고른다.