#include<bits/stdc++.h>
#define MOD 1e9+7
#define PI 3.1415926535897932384626
#define pb push_back
#define deb(x) cout<<#x<<"="<<x<<endl
#define deb2(x,y) cout<<#x<<"="<<x<<","<<#y<<"="<<y<<endl
typedef int64_t ll;
typedef unsigned long long int ull;

using namespace std;

// ********* TEMPLATES **********
template <typename T>
T gcd(T a, T b)
{
    if (a==0) return b; if (b==0) return a;
    return gcd(b,a%b);
}
template <typename T>
T lcm(T a, T b) 
{
    return (a*b)/gcd(a,b);
}
ll power(ll x, ll y, ll p)  
{  
    ll res = 1;
    x = x % p;
    if (x == 0) return 0;
  
    while (y > 0)  
    {  
        if (y & 1)  
            res = (res*x) % p;  
  
        y = y>>1;
        x = (x*x) % p;  
    }  
    return res;  
}  
// ********* END OF TEMPLATES *********


// ********** SOLUTION **********
void xeromola()
{
    ll ans=0;
    string s;
    cin >> s;
    std::vector<ll> v1;
    std::vector<ll> v2;
    for (int i = 0; i < s.size(); ++i)
    {
        if (s[i]=='(')
            v1.pb(1);
        if (s[i]=='[')
            v2.pb(1);
        if (s[i]==')' && !v1.empty())
        {
            v1.pop_back();
            ans++;
        }
        if (s[i]==']' && !v2.empty()){
            v2.pop_back();
            ans++;
        }
    }
    cout << ans << endl;
}
    
// ********** END OF SOLUTION **********
int main()
{
    ll test=1;
    cin >> test;
    while (test--)
    {
        xeromola();
    }
    return 0;
}