#include<cstdio>
#include<algorithm>
#define int long long
using namespace std;
int n,a[1000009],k;
unsigned long long bits;
bool dead[(1 << 20) + 9];
signed main(){
int t;
scanf("%lld",&t);
while(t--){
scanf("%lld %lld",&n,&k);
for(int i = 1; i <= n; i ++){
scanf("%1lld",&a[i]);
}
bits = 0;
for(int i = max(k - 20 + 1,1ll); i <= k; i ++){
bits = (bits << 1) | !a[i];
}
dead[bits] = true;
for(int i = k + 1; i <= n; i ++){
bits = ((1 << min(20ll,k)) - 1) &((bits << 1) | !a[i]);
dead[bits] = true;
}
for(int i = 0; i < (1 << min(20ll,k)); i ++){
if(!dead[i]){
puts("YES");
for(int j = 1; j <= k - min(20ll,k); j ++)
putchar('0');
for(int j = min(20ll,k) - 1; j >= 0; j --){
putchar(48 + ((i & (1 << j)) != 0));
}
goto end;
}
}
printf("NO");
end:
bits = 0;
for(int i = max(k - 20 + 1,1ll); i <= k; i ++){
bits = (bits << 1) | !a[i];
}
dead[(bits)] = false;
for(int i = k + 1; i <= n; i ++){
bits = ((1 << min(20ll,k)) - 1) &((bits << 1) | !a[i]);
dead[bits] = false;
}
puts("");
}
return 0;
}