func_code_string: #include <bits/stdc++.h>   #include<stdlib.h>   using namespace std;   #define pb push_back   #define ll long long   #define ff first   #define ss second   #define ppb pop_back   #define mp make_pair   #define vl vector<ll>   #define vi vector<int>   #define endl   n    #define all(x) x.begin(), x.end()   #define deb(x) cout << #x <<     << x << endl;   #define f(i, n) for(i=0; i<n; i++)   #define F(i, k, n) for(i=k; i<n; i++)   #define max(a,b) (a<b?b:a)   #define min(a,b) (a>b?b:a)   #define INF 1001001001   #define PI 3.1415926535897932384626   #define MOD 1000000007      void FAST() {     ios::sync_with_stdio(0);    cin.tie(0);    cout.tie(0);   }      // template<typename... T>   // void read(T&... args) {   //  FAST();   //  ((cin >> args), ...);   // }      // template<typename... T>   // void write(T&&... args) {    //  FAST();   //  ((cout << args <<    ), ...);   // }      // template<typename T>   // T gcd(T a, T b) {   //     if (b == 0)    //         return a;    //     return gcd(b, a % b);     // }       // template <typename T>   // void printContainer(T &v){   //     for(auto i : v){   //         cout<<i<<   ;    //     }   //     cout <<endl;   // }      int main() {    FAST();    //code       ll t;       cin>>t;       ll p;       f(p,t){           string s;           cin>>s;           ll i, a1=0, x1=0, x2=0, a2=0,b1=0,b2=0;           f(i,s.size()){               if(s[i]== ( ){                   a1++;                   x1++;               }               else if(s[i]== )  && x1>0){                   a2++;                   x1--;               }               else if(s[i]== [ ){                   b1++;                   x2++;               }               else if(s[i]== ]  && x2>0){                   b2++;                   x2--;               }           }           cout<<min(a1,a2)+min(b1,b2)<<endl;              }    return 0;   }