Balanced Sequence

괄호 문자열 n개를 임의 순서로 이어 붙인 뒤 만들 수 있는 가장 긴 균형 부분 수열의 길이를 구한다.

어려움8그리디정렬문자열스택아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

Chiaki has nn strings s_1,s_2,,s_ns\_1,s\_2,\dots,s\_n consisting of '(' and ')'. A string of this type is said to be balanced:

  • if it is the empty string
  • if AA and BB are balanced, ABAB is balanced,
  • if AA is balanced, (A)(A) is balanced.

Chiaki can reorder the strings and then concatenate them get a new string tt. Let f(t)f(t) be the length of the longest balanced subsequence (not necessary continuous) of tt. Chiaki would like to know the maximum value of f(t)f(t) for all possible tt.

입력

There are multiple test cases. The first line of input contains an integer TT, indicating the number of test cases. For each test case:

The first line contains an integer nn (1n1051 \le n \le 10^5) -- the number of strings.

Each of the next nn lines contains a string s_is\_i (1s_i1051 \le |s\_i| \le 10^5) consisting of '(' and ')'.

It is guaranteed that the sum of all s_i|s\_i| does not exceeds 5×1065 \times 10^6.

출력

For each test case, output an integer denoting the answer.