페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#1242

압축 풀기 1s - MB

문제

문자열을 압축하는 가장 간단한 방법은 반복되는 부분문자열(substring)을 하나로 묶는것이다. 예를 들어 문자열 "ABC"가 "ABCABCABC"와 같이 반복될 경우 이를 "(3ABC)"로 묶을 수 있다. 다시 말해서 부분문자열 X 가 X...X 와 같이 D번 나타날 경우 "(DX)"로 압축을 할 수 있다.

연속된 부분 문자열은 최대 9회 반복이 가능하다고 가정하자. 이런 방법을 이용해서 문자열 "CABABABABABABC"를 "C(6AB)C", "C(2(3AB)C"로 압축할 수 있다.

압축된 문자열이 주어졌을 때, 원 문자열로 복원하는 프로그램을 구현하라.


입력

첫 행에는 테스트 케이스의 수 T(1≤T≤300)가 주어진다. 테스트 케이스는 한 줄에 하나의 문자열로 이뤄지며, 문자열은 대문자 알파벳, 그리고 숫자 1 이상 9 이하의 숫자와 문자 '(', ')'로 이뤄져있다. 문자열의 최대 길이는 50자 이하다.

"(DX)"의 형태의 입력이 있을 경우 D는 반드시 1 이상 9 이하의 숫자이며, 문자열 X의 길이는 무조건 1 이상이다.


출력

각 테스트 케이스의 순서대로 복원된 문자열을 한 줄에 하나씩 출력한다. 복원된 문자열의 길이는 1,000자 이하다.


예제

5 

C(6AB)C
C(2(3AB))C
CO(1N)TEST
(2(2AB))
AAAAAAAAAAAAAAAAAAAAA
CABABABABABABC 

CABABABABABABC
CONTEST
ABABABAB
AAAAAAAAAAAAAAAAAAAAA

출처

Online Contest
로그인해야 코드를 작성할 수 있어요.