#include <bits/stdc++.h>
#define LL long long
#define PII pair<int,int>
#define FI first
#define SE second;
using namespace std;
int T;
int dp[105][105];
int pre[105][105];
char s[105];
int N;
int cnt=0;
void Print(int l,int r)
{
if(l>r) return;
if(l==r)
{
if(s[l]=='('||s[l]==')') printf("()");
else printf("[]");
return;
}
if(pre[l][r]==-1)
{
printf("%c",s[l]);
Print(l+1,r-1);
printf("%c",s[r]);
return;
}
int k=pre[l][r];
Print(l,k);
Print(k+1,r);
return;
}
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%s",s+1);
scanf("%s",s+1);
N=strlen(s+1);
if(N==0)
{
puts("");
puts("");
continue;
}
for(int i=1;i<=N;i++)
for(int j=1;j<=N;j++)
dp[i][j]=1e9,pre[i][j]=0;
for(int i=1;i<=N;i++) dp[i][i]=1,dp[i+1][i]=0;
for(int len=2;len<=N;len++)
{
for(int l=1;l+len-1<=N;l++)
{
int r=l+len-1;
if(s[l]=='('&&s[r]==')'||s[l]=='['&&s[r]==']')
{
if(dp[l][r]>dp[l+1][r-1])
{
dp[l][r]=dp[l+1][r-1];
pre[l][r]=-1;
}
}
for(int k=l;k<r;k++)
{
if(dp[l][k]+dp[k+1][r]<dp[l][r])
{
dp[l][r]=dp[l][k]+dp[k+1][r];
pre[l][r]=k;
}
}
}
}
Print(1,N);
puts("");
puts("");
}
return 0;
}