Statement
問題文の言語
길이가 인 괄호 문자열 가 주어진다. 번째 괄호 문자를 뒤집는 비용은 이다. 문자를 뒤집으면 (는 )가 되고, )는 (가 된다.
문자열 가 올바른 괄호 문자열이라는 것은 다음 규칙으로 정의된다.
- 빈 문자열은 올바른 괄호 문자열이다.
- 가 올바른 괄호 문자열이라면, 도 올바른 괄호 문자열이다.
- 와 가 올바른 괄호 문자열이라면, 도 올바른 괄호 문자열이다.
위 규칙을 유한 번 적용하여 만들 수 있는 문자열만을 올바른 괄호 문자열이라 한다. 의 일부 문자를 뒤집어 올바른 괄호 문자열로 만들고자 한다. 필요한 비용의 최솟값과 그 최소 비용을 사용하는 결과 문자열 하나를 출력하여라.
Input
입력은 다음과 같은 형식으로 주어진다.
각 케이스는 다음과 같은 형식으로 주어진다.
Output
각 테스트 케이스마다 먼저 최소 비용을 한 줄에 출력한다.
다음 줄에 그 최소 비용으로 만들 수 있는 올바른 괄호 문자열을 하나 출력한다. 가능한 답이 여러 가지라면 아무거나 출력해도 된다.
Constraints
- .
- .
- 는
(,)로만 이루어진 길이 의 문자열이다. - ().
- 모든 테스트 케이스에 대한 의 합은 이하이다.
Subtasks
Samples
入力例
2
2
()))
5 1 4 7
3
))(()(
3 8 2 6 4 5
出力例
1
(())
8
()(())
첫 번째 테스트 케이스에서는 두 번째 문자를 뒤집으면 문자열이 가 되며 비용은 입니다. 비용 으로는 올바른 괄호 문자열을 만들 수 없으므로 최소 비용은 입니다.