#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
int t;
cin>>t;
while(t--){
int n;
cin>>n ;
int map[n-1];
//making array for the clue positions
for(int i =0; i<n-1 ; i++){
int element;
cin>>element;
map[i] = element;
}
int arr[n];
arr[0] = 1;
for(int i=0; i<n; i++){
if(map[i] == 0) arr[i+1] = arr[i];
else if(map[i]==1) arr[i+1]= arr[i]+1;
else arr[i+1] = arr[i]-1;
if(arr[i+1]==0) {
arr[i-1] += 1;
i = i-2;
}
}
for(int i=0 ; i<n; i++){
cout<<arr[i]<<" ";
}
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbWFpbigpIHsKICAgIGludCB0OwogICAgY2luPj50OwogICAgd2hpbGUodC0tKXsKICAgICAgICAKICAgICAgICBpbnQgbjsKICAgICAgICBjaW4+Pm4gOyAKICAgICAgICBpbnQgbWFwW24tMV07CiAgICAgICAgLy9tYWtpbmcgYXJyYXkgZm9yIHRoZSBjbHVlIHBvc2l0aW9ucwoKICAgICAgICBmb3IoaW50IGkgPTA7IGk8bi0xIDsgaSsrKXsKICAgICAgICAgICAgaW50IGVsZW1lbnQ7CiAgICAgICAgICAgIGNpbj4+ZWxlbWVudDsKICAgICAgICAgICAgbWFwW2ldID0gZWxlbWVudDsKCiAgICAgICAgfQogICAgICAgIGludCBhcnJbbl07CgogICAgICAgIGFyclswXSA9IDE7CgogICAgICAgIGZvcihpbnQgaT0wOyBpPG47IGkrKyl7CiAgICAgICAgICAgIGlmKG1hcFtpXSA9PSAwKSBhcnJbaSsxXSA9IGFycltpXTsKICAgICAgICAgICAgZWxzZSBpZihtYXBbaV09PTEpIGFycltpKzFdPSBhcnJbaV0rMTsKICAgICAgICAgICAgZWxzZSBhcnJbaSsxXSA9IGFycltpXS0xOwoKICAgICAgICAgICAgaWYoYXJyW2krMV09PTApIHsKICAgICAgICAgICAgICAgIGFycltpLTFdICs9IDE7CiAgICAgICAgICAgICAgICBpID0gaS0yOwogICAgICAgICAgICB9CgogICAgICAgIH0KCgoKICAgICAgICBmb3IoaW50IGk9MCA7IGk8bjsgaSsrKXsKICAgICAgICAgICAgY291dDw8YXJyW2ldPDwiICI7CiAgICAgICAgfQoKCgoKCiAgICAgICAgCiAgICB9Cn0=