#include<bits/stdc++.h>
using namespace std;
bool isop(char c){
return c == '+' || c == '-' ||c == '*' ||c == '/';
}
int coduthua(string s){
stack<char> st;
for(char c : s){
if(c == '(') st.push(c);
else{
if(!st.empty() && st.top()== '(') st.pop();
else st.push(c);
}
}
int cnt1 = 0, cnt2 = 0;
while(!st.empty()){
if(st.top() == '(') cnt1++;
else cnt2++;
st.pop();
}
if(cnt1 % 2 == 1) return ((cnt1 + cnt2) / 2) + 1;
else return (cnt1 + cnt2) / 2;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
int t;
cin >> t;
cin.ignore();
while(t--){
string s;
cin >> s;
cout << coduthua(s);
cout << "\n";
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKYm9vbCBpc29wKGNoYXIgYyl7CiAgICByZXR1cm4gYyA9PSAnKycgfHwgYyA9PSAnLScgfHxjID09ICcqJyB8fGMgPT0gJy8nOwp9CmludCBjb2R1dGh1YShzdHJpbmcgcyl7CiAgICBzdGFjazxjaGFyPiBzdDsKICAgIGZvcihjaGFyIGMgOiBzKXsKICAgICAgICBpZihjID09ICcoJykgc3QucHVzaChjKTsKICAgICAgICBlbHNlewogICAgICAgICAgICBpZighc3QuZW1wdHkoKSAmJiBzdC50b3AoKT09ICcoJykgc3QucG9wKCk7CiAgICAgICAgICAgIGVsc2Ugc3QucHVzaChjKTsKICAgICAgICB9CiAgICB9CiAgICBpbnQgY250MSA9IDAsIGNudDIgPSAwOwogICAgd2hpbGUoIXN0LmVtcHR5KCkpewogICAgICAgIGlmKHN0LnRvcCgpID09ICcoJykgY250MSsrOwogICAgICAgIGVsc2UgY250MisrOwogICAgICAgIHN0LnBvcCgpOwogICAgfQogICAgaWYoY250MSAlIDIgPT0gMSkgcmV0dXJuICgoY250MSArIGNudDIpIC8gMikgKyAxOwogICAgZWxzZSByZXR1cm4gKGNudDEgKyBjbnQyKSAvIDI7CiAgICAKfQppbnQgbWFpbigpewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKDApOwogICAgaW50IHQ7CiAgICBjaW4gPj4gdDsKICAgIGNpbi5pZ25vcmUoKTsKICAgIHdoaWxlKHQtLSl7CiAgICAgICAgc3RyaW5nIHM7CiAgICAgICAgY2luID4+IHM7CiAgICAgICAgY291dCA8PCBjb2R1dGh1YShzKTsKICAgICAgICBjb3V0IDw8ICJcbiI7CiAgICB9CiAgICAKfQ==