#include <bits/stdc++.h>
using namespace std;
int n, k, X[1000];
void start() {
for (int i = 0; i < n; i++) X[i] = 0;
for (int i = n - k; i < n; i++) X[i] = 1;
}
bool next_combination() {
int i = n - 1;
while (i >= 0 && X[i] == 1) {
X[i] = 0;
--i;
}
if (i < 0) return false; // Hết tổ hợp
X[i] = 1;
// Đưa tất cả số `1` về cuối
int ones = 0;
for (int j = i + 1; j < n; j++) {
if (X[j] == 1) ones++;
X[j] = 0;
}
for (int j = n - ones; j < n; j++) {
X[j] = 1;
}
return true;
}
void generate() {
do {
for (int i = 0; i < n; i++) cout << X[i];
cout << endl;
} while (next_combination());
}
int main() {
int t;
cin >> t;
while (t--) {
cin >> n >> k;
start();
generate();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbiwgaywgWFsxMDAwXTsKCnZvaWQgc3RhcnQoKSB7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgWFtpXSA9IDA7CiAgICBmb3IgKGludCBpID0gbiAtIGs7IGkgPCBuOyBpKyspIFhbaV0gPSAxOwp9Cgpib29sIG5leHRfY29tYmluYXRpb24oKSB7CiAgICBpbnQgaSA9IG4gLSAxOwogICAgd2hpbGUgKGkgPj0gMCAmJiBYW2ldID09IDEpIHsKICAgICAgICBYW2ldID0gMDsKICAgICAgICAtLWk7CiAgICB9CiAgICBpZiAoaSA8IDApIHJldHVybiBmYWxzZTsgLy8gSOG6v3QgdOG7lSBo4bujcAoKICAgIFhbaV0gPSAxOwogICAgCiAgICAvLyDEkMawYSB04bqldCBj4bqjIHPhu5EgYDFgIHbhu4EgY3Xhu5FpCiAgICBpbnQgb25lcyA9IDA7CiAgICBmb3IgKGludCBqID0gaSArIDE7IGogPCBuOyBqKyspIHsKICAgICAgICBpZiAoWFtqXSA9PSAxKSBvbmVzKys7CiAgICAgICAgWFtqXSA9IDA7CiAgICB9CiAgICBmb3IgKGludCBqID0gbiAtIG9uZXM7IGogPCBuOyBqKyspIHsKICAgICAgICBYW2pdID0gMTsKICAgIH0KICAgIAogICAgcmV0dXJuIHRydWU7Cn0KCnZvaWQgZ2VuZXJhdGUoKSB7CiAgICBkbyB7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIGNvdXQgPDwgWFtpXTsKICAgICAgICBjb3V0IDw8IGVuZGw7CiAgICB9IHdoaWxlIChuZXh0X2NvbWJpbmF0aW9uKCkpOwp9CgppbnQgbWFpbigpIHsKICAgIGludCB0OwogICAgY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKSB7CiAgICAgICAgY2luID4+IG4gPj4gazsKICAgICAgICBzdGFydCgpOwogICAgICAgIGdlbmVyYXRlKCk7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=