#include <bits/stdc++.h>
using namespace std;
#define F(i,a,b) for(int i = a; i <= b; i++)
#define F_(i,a,b) for(int i = a; i >= b; i--)
#define pii pair<int,int>
#define fr first
#define sc second
#define mem0(a) memset(a,0,sizeof(a))
#define pb push_back
#define lb(x) (x&(-x))
#define lson u<<1
#define rson u<<1|1
typedef long long ll;
typedef unsigned long long ull;
const int N = 1e6+10,M = 1e4+2;
const double eps = 1e-5;
const ll Mod = 1e9+7;
int t,k,n;
string s;
int fa[N];
int find(int x){
return fa[x]==x?x:fa[x]=find(fa[x]);
}
void merge(int x,int y){
int fx = find(x), fy = find(y);
if (fx != fy) fa[fy] = fx;
}
void work(){
cin>>k>>s;
s = "0"+s;
n = s.size();
F(i,0,n-1) fa[i] = i;
F(num,0,n-1){
F(i,1,k){
if (num&(1<<i-1)) continue;
int nnum = (num^(1<<i-1));
if (s[nnum] != '1' && s[num] != '1') merge(num,nnum);
}
}
if (find(0)==find(n-1)) puts("Yes");
else puts("No");
}
int main(){
cin>>t;
while (t--) work();
return 0;
}