#include <iostream>
#include <vector>
using namespace std;
void solve() {
int n;
cin >> n;
vector<int> a(n + 1);
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
if (a[1] == 1) {
cout << n + 1;
for (int i = 1; i <= n; i++) {
cout << " " << i;
}
cout << "\n";
return;
}
if (a[n] == 0) {
for (int i = 1; i <= n; i++) {
cout << i << " ";
}
cout << n + 1 << "\n";
return;
}
for (int i = 1; i < n; i++) {
if (a[i] == 0 && a[i + 1] == 1) {
for (int j = 1; j <= i; j++) {
cout << j << " ";
}
cout << n + 1 << " ";
for (int j = i + 1; j <= n; j++) {
cout << j << (j == n ? "" : " ");
}
cout << "\n";
return;
}
}
cout << -1 << "\n";
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin >> t;
while (t--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgc29sdmUoKSB7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgCiAgICB2ZWN0b3I8aW50PiBhKG4gKyAxKTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgfQogICAgCiAgICBpZiAoYVsxXSA9PSAxKSB7CiAgICAgICAgY291dCA8PCBuICsgMTsKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICAgICAgY291dCA8PCAiICIgPDwgaTsKICAgICAgICB9CiAgICAgICAgY291dCA8PCAiXG4iOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIAogICAgaWYgKGFbbl0gPT0gMCkgewogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgICAgICBjb3V0IDw8IGkgPDwgIiAiOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8IG4gKyAxIDw8ICJcbiI7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgCiAgICBmb3IgKGludCBpID0gMTsgaSA8IG47IGkrKykgewogICAgICAgIGlmIChhW2ldID09IDAgJiYgYVtpICsgMV0gPT0gMSkgewogICAgICAgICAgICBmb3IgKGludCBqID0gMTsgaiA8PSBpOyBqKyspIHsKICAgICAgICAgICAgICAgIGNvdXQgPDwgaiA8PCAiICI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY291dCA8PCBuICsgMSA8PCAiICI7CiAgICAgICAgICAgIGZvciAoaW50IGogPSBpICsgMTsgaiA8PSBuOyBqKyspIHsKICAgICAgICAgICAgICAgIGNvdXQgPDwgaiA8PCAoaiA9PSBuID8gIiIgOiAiICIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvdXQgPDwgIlxuIjsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KICAgIAogICAgY291dCA8PCAtMSA8PCAiXG4iOwp9CgppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIAogICAgaW50IHQ7CiAgICBjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pIHsKICAgICAgICBzb2x2ZSgpOwogICAgfQogICAgCiAgICByZXR1cm4gMDsKfQ==