#include<bits/stdc++.h>
#define LL long long
#define MAXN 1001000
using namespace std;
template<typename T> void Read(T &cn)
{
	char c; int sig = 1;
	while(!isdigit(c = getchar())) if(c == '-') sig = 0;
	if(sig) {cn = c-48; while(isdigit(c = getchar())) cn = cn*10+c-48; }
	else    {cn = 48-c; while(isdigit(c = getchar())) cn = cn*10+48-c; }
}
template<typename T> void Write(T cn)
{
	int wei = 0; T cm = 0; int cx = cn%10; cn/=10;
	if(cn < 0 || cx < 0) {putchar('-'); cn = 0-cn; cx = 0-cx; }
	while(cn)cm = cm*10+cn%10,cn/=10,wei++;
	while(wei--)putchar(cm%10+48),cm/=10;
	putchar(cx+48);
}
template<typename T> void WriteL(T cn) {Write(cn); puts(""); }
template<typename T> void WriteS(T cn) {Write(cn); putchar(' '); }
template<typename T> void Max(T &cn, T cm) {cn = cn < cm ? cm : cn; }
template<typename T> void Min(T &cn, T cm) {cn = cn < cm ? cn : cm; }
int t, n;
char c[MAXN+1];
int a[MAXN+1], b[MAXN+1];
int f[MAXN+1];
void getit(char c[], int &clen)
{
	while(!isdigit(c[1] = getchar())); clen = 1;
	while(isdigit(c[++clen] = getchar())); clen--;
}
void zuo()
{
	Read(n);
	getit(c, n);
	int ge = 0;
	for(int i = 1;i<=n;i++) if(c[i] == '1') ge++;
	if(ge&1) {puts("NO"); return; }
	int xian = 0;
	for(int i = 1;i<=n;i++) a[i] = b[i] = -1;
	for(int i = 1;i<=n;i++) if(c[i] == '1')
	{
		xian++; 
		if(xian <= ge/2) a[i] = b[i] = 1;
		else a[i] = b[i] = 0;
	}
	xian = 0;
	for(int i = 1;i<=n;i++)
	{
		if(a[i] == 0) xian++;
		f[i] = i/2-xian;
	}
	for(int i = n-1;i>=1;i--) Min(f[i], f[i+1]);
	xian = 0; int you = 0;
	for(int i = 1;i<=n;i++)
	{
		if(a[i] == -1) {
			if(xian != 0 && you < f[i]) a[i] = 0, b[i] = 1, xian--, you++;
			else a[i] = 1, b[i] = 0, xian++;
			continue;
		}
		if(a[i] == 1) xian++; else xian--;
		if(xian < 0) {puts("NO"); return; }
	}
	xian = 0;
	for(int i = 1;i<=n;i++)
	{
		if(b[i] == 0) xian--; else xian++;
		if(xian < 0) {puts("NO"); return; }
	}
	puts("YES");
	for(int i = 1;i<=n;i++) putchar(a[i] ? '(' : ')'); puts("");
	for(int i = 1;i<=n;i++) putchar(b[i] ? '(' : ')'); puts("");
}
int main()
{
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	Read(t); while(t--) zuo();
	return 0;
}

