#include<bits/stdc++.h>
using namespace std;
#define S(x) scanf("%d",&x)
#define P(x) printf("%d",x)
#define fl(i , a, b) for(i = a; i<b; i++)
#define all(c) c.begin(), c.end()
#define MOD 1000000007
#define MAX 1000000010
#define ll long long
#define mp make_pair
#define pb push_back
typedef pair<int,int> pp;
typedef pair<ll,ll> ppl;
std::vector<string> v;
std::map<string, int> m;
int check(string ch){
int n = ch.size(); int i , o =0 , c=0;
fl(i , 0 , n)
{
if(ch[i]=='(')
o++;
else if(ch[i]==')') c++;
if(c>o)
return 0;
}
if(c!=o) return 0;
return 1;
}
int main()
{
int n , t, k ,i ;
string s , tmp1, tmp2 , final;
cin>>t;
while(t--)
{
cin>>s;cin>>k;
n = s.size();
if(n%2==1){
if(k>1) printf("-1\n");
else cout<<s<<endl;
}
else if(check(s)==0){ // means irregular hai .
if(k>1) printf("-1\n");
else cout<<s<<endl;
}
else if(k>n) printf("-1\n");
else{
m.clear();
fl( i , 0 , n){
if(s[i]=='(') s[i] = 'a';
else s[i] = 'b';
}
tmp1 = ""; tmp2 = "" ; final = "";
tmp2+=s;
fl(i , 0 , n)
{
if(tmp2.size()!=0)
tmp2.erase(tmp2.begin());
final = "";
final+=tmp1; final+=tmp2;
if(m.count(final)==0 && final.size()==n-1)
{
m[final] = 1;
}
tmp1+=s[i];
}
map<string, int>::const_iterator it;
if(k>m.size()) printf("-1\n");
else{
string ans = ""; int cnt=0 ;
for(it = m.begin(); it!=m.end();it++)
{
cnt++;
ans = it->first;
if(cnt==k)
break;
}
int n3= ans.size();
fl( i , 0 , n3) {
if(ans[i]=='a') ans[i] = '(';
else ans[i] = ')';
}
cout<<ans<<endl;
}
}
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBTKHgpIHNjYW5mKCIlZCIsJngpCiNkZWZpbmUgUCh4KSBwcmludGYoIiVkIix4KQojZGVmaW5lIGZsKGkgLCBhLCBiKSBmb3IoaSA9IGE7IGk8YjsgaSsrKQojZGVmaW5lIGFsbChjKSBjLmJlZ2luKCksIGMuZW5kKCkKI2RlZmluZSBNT0QgMTAwMDAwMDAwNwojZGVmaW5lIE1BWCAxMDAwMDAwMDEwCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgcGIgcHVzaF9iYWNrCnR5cGVkZWYgcGFpcjxpbnQsaW50PiBwcDsKdHlwZWRlZiBwYWlyPGxsLGxsPiBwcGw7CnN0ZDo6dmVjdG9yPHN0cmluZz4gdjsKc3RkOjptYXA8c3RyaW5nLCBpbnQ+IG07CmludCBjaGVjayhzdHJpbmcgY2gpewoJaW50IG4gPSBjaC5zaXplKCk7IGludCBpICwgbyA9MCAsIGM9MDsgCglmbChpICwgMCAsIG4pCgl7CgkJaWYoY2hbaV09PScoJykKCQkJbysrOwoJCWVsc2UgaWYoY2hbaV09PScpJykgYysrOwoJCWlmKGM+bykKCQkJcmV0dXJuIDA7Cgl9CglpZihjIT1vKSByZXR1cm4gMDsKCXJldHVybiAxOwp9CmludCBtYWluKCkKewoJaW50IG4gLCB0LCBrICxpIDsKCXN0cmluZyBzICwgdG1wMSwgdG1wMiAsIGZpbmFsOwoJY2luPj50OwoJd2hpbGUodC0tKQoJewoJCWNpbj4+cztjaW4+Pms7CgkJbiA9IHMuc2l6ZSgpOwoJCWlmKG4lMj09MSl7CgkJCWlmKGs+MSkgcHJpbnRmKCItMVxuIik7CgkJCWVsc2UgY291dDw8czw8ZW5kbDsKCQl9CgkJZWxzZSBpZihjaGVjayhzKT09MCl7IC8vIG1lYW5zIGlycmVndWxhciBoYWkgLgoJCQlpZihrPjEpIHByaW50ZigiLTFcbiIpOwoJCQllbHNlIGNvdXQ8PHM8PGVuZGw7CgkJfQoJCWVsc2UgaWYoaz5uKSBwcmludGYoIi0xXG4iKTsKCQllbHNlewoJCQltLmNsZWFyKCk7CgkJCWZsKCBpICwgMCAsIG4pewoJCQkJaWYoc1tpXT09JygnKSBzW2ldID0gJ2EnOwoJCQkJCWVsc2Ugc1tpXSA9ICdiJzsKCQkJfQoJCQl0bXAxID0gIiI7IHRtcDIgPSAiIiA7IGZpbmFsID0gIiI7CgkJCXRtcDIrPXM7CgkJCWZsKGkgLCAwICwgbikKCQkJewoJCQkJaWYodG1wMi5zaXplKCkhPTApCgkJCQl0bXAyLmVyYXNlKHRtcDIuYmVnaW4oKSk7CgkJCQlmaW5hbCA9ICIiOwoJCQkJZmluYWwrPXRtcDE7IGZpbmFsKz10bXAyOwoJCQkJaWYobS5jb3VudChmaW5hbCk9PTAgJiYgZmluYWwuc2l6ZSgpPT1uLTEpCgkJCQl7CgkJCQkJbVtmaW5hbF0gPSAxOwoJCQkJfQoJCQkJdG1wMSs9c1tpXTsKCQkJfQkKCQkJbWFwPHN0cmluZywgaW50Pjo6Y29uc3RfaXRlcmF0b3IgaXQ7CgkJCWlmKGs+bS5zaXplKCkpIHByaW50ZigiLTFcbiIpOwoJCQllbHNlewoJCQkJc3RyaW5nIGFucyA9ICIiOyBpbnQgY250PTAgOyAKCQkJCWZvcihpdCA9IG0uYmVnaW4oKTsgaXQhPW0uZW5kKCk7aXQrKykKCQkJCXsKCQkJCQljbnQrKzsKCQkJCQlhbnMgPSBpdC0+Zmlyc3Q7CgkJCQkJaWYoY250PT1rKQoJCQkJCQlicmVhazsKCQkJCX0KCQkJCWludCBuMz0gYW5zLnNpemUoKTsKCQkJCWZsKCBpICwgMCAsIG4zKSB7CgkJCQkJaWYoYW5zW2ldPT0nYScpIGFuc1tpXSA9ICAnKCc7CgkJCQkJCWVsc2UgYW5zW2ldID0gJyknOwoJCQkJfQoJCQkJY291dDw8YW5zPDxlbmRsOwoJCQl9CgkJfQoJfQoJcmV0dXJuIDA7Cn0=