#include<bits/stdc++.h>
#define read(n) scanf("%d",&n)
#define readl(n) scanf("%lld",&n)
#define print(n) printf("%d",n)
#define printl(n) printf("%lld",n)
#define println() printf("\n")
#define For(i,a,b) for(i=a;i<=b;i++)
#define M 10000007
typedef long long int ll;
using namespace std;
struct node {
int control_digit, bank_code, a, b, c, d;
struct node* left;
struct node* right;
int rep;
int lcd,lbc;
};
typedef struct node node;
void add(node* t,node* ptr) {
if(t==NULL) {
t = ptr;
}
else {
if(t->control_digit>ptr->control_digit) {
if(t->left==NULL) {
t->left = ptr;
}
else
add(t->left, ptr);
}
else if(t->control_digit<ptr->control_digit) {
if(t->right==NULL) {
t->right = ptr;
}
else
add(t->right, ptr);
}
else {
if(t->bank_code>ptr->bank_code) {
if(t->left==NULL) {
t->left = ptr;
}
else
add(t->left, ptr);
}
else if(t->bank_code<ptr->bank_code) {
if(t->right==NULL) {
t->right = ptr;
}
else
add(t->right, ptr);
}
else {
if(t->a>ptr->a) {
if(t->left==NULL) {
t->left = ptr;
}
else
add(t->left, ptr);
}
else if(t->a<ptr->a) {
if(t->right==NULL) {
t->right = ptr;
}
else
add(t->right, ptr);
}
else {
if(t->b>ptr->b) {
if(t->left==NULL) {
t->left = ptr;
}
else
add(t->left, ptr);
}
else if(t->b<ptr->b) {
if(t->left==NULL) {
t->left = ptr;
}
else
add(t->right, ptr);
}
else {
if(t->c>ptr->c) {
if(t->left==NULL) {
t->left = ptr;
}
else
add(t->left, ptr);
}
else if(t->c<ptr->c) {
if(t->right==NULL) {
t->right = ptr;
}
else
add(t->right, ptr);
}
else {
if(t->d>ptr->d) {
if(t->left==NULL) {
t->left = ptr;
}
else
add(t->left, ptr);
}
else if(t->d<ptr->d) {
if(t->right==NULL) {
t->right = ptr;
}
else
add(t->right, ptr);
}
else {
t->rep = t->rep + 1;
}
}
}
}
}
}
}
}
void disp(node* t) {
if(t!=NULL) {
disp(t->left);
if((int)((floor(1+log10(t->control_digit))))<t->lcd) {
int x = (t->control_digit==0)?3:t->lcd - (int)((floor(1+log10(t->control_digit))));
for(int i = 1;i<=x;i++) {
printf("0");
}
printf("%d",t->control_digit);
}
else {
printf("%d",t->control_digit);
}
printf(" ");
if((int)((floor(1+log10(t->bank_code))))<t->lbc) {
int x = (t->bank_code==0)?3: t->lbc - (int)((floor(1+log10(t->bank_code))));
for(int i = 1;i<=x;i++) {
printf("0");
}
printf("%d",t->bank_code);
}
else {
printf("%d",t->bank_code);
}
printf(" ");
if((int)((floor(1+log10(t->a))))<4) {
int x = (t->a==0)?3: 4 - (int)((floor(1+log10(t->a))));
for(int i = 1;i<=x;i++) {
printf("0");
}
printf("%d",t->a);
}
else {
printf("%d",t->a);
}
printf(" ");
if((int)((floor(1+log10(t->b))))<4) {
int x = (t->b==0)?3: 4 - (int)((floor(1+log10(t->b))));
for(int i = 1;i<=x;i++) {
printf("0");
}
printf("%d",t->b);
}
else {
printf("%d",t->b);
}
printf(" ");
if((int)((floor(1+log10(t->c))))<4) {
int x = (t->c==0)?3: 4 - (int)((floor(1+log10(t->c))));
for(int i = 1;i<=x;i++) {
printf("0");
}
printf("%d",t->c);
}
else {
printf("%d",t->c);
}
printf(" ");
if((int)((floor(1+log10(t->d))))<4) {
int x = (t->d==0)?3: 4 - (int)((floor(1+log10(t->d))));
for(int i = 1;i<=x;i++) {
printf("0");
}
printf("%d",t->d);
}
else {
printf("%d",t->d);
}
printf(" %d",t->rep);
println();
disp(t->right);
}
}
int main(void) {
int tt;
read(tt);
while(tt--) {
node* t = NULL;
int n, a;
read(n);
char s[99999];
if(n>0) {
t = (node*)malloc(sizeof(node));
scanf("%s",s);
t->lcd = strlen(s);
t->control_digit = atoi(s);
scanf("%s",s);
t->lbc = strlen(s);
t->bank_code = atoi(s);
read(a);
t->a = a;
read(a);
t->b = a;
read(a);
t->c = a;
read(a);
t->d = a;
t->rep = 1;
t->left = NULL;
t->right = NULL;
}
for(int i=1;i<=n-1;i++) {
node* ptr = (node*)malloc(sizeof(node));
scanf("%s",s);
ptr->lcd = strlen(s);
ptr->control_digit = atoi(s);
scanf("%s",s);
ptr->lbc = strlen(s);
ptr->bank_code = atoi(s);
read(a);
ptr->a = a;
read(a);
ptr->b = a;
read(a);
ptr->c = a;
read(a);
ptr->d = a;
ptr->rep = 1;
ptr->left = NULL;
ptr->right = NULL;
add(t,ptr);
}
disp(t);
println();
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCiNkZWZpbmUgcmVhZChuKSBzY2FuZigiJWQiLCZuKQojZGVmaW5lIHJlYWRsKG4pIHNjYW5mKCIlbGxkIiwmbikKI2RlZmluZSBwcmludChuKSBwcmludGYoIiVkIixuKQojZGVmaW5lIHByaW50bChuKSBwcmludGYoIiVsbGQiLG4pCiNkZWZpbmUgcHJpbnRsbigpIHByaW50ZigiXG4iKQojZGVmaW5lIEZvcihpLGEsYikgZm9yKGk9YTtpPD1iO2krKykKI2RlZmluZSBNIDEwMDAwMDA3CnR5cGVkZWYgbG9uZyBsb25nIGludCBsbDsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBub2RlIHsKCWludCBjb250cm9sX2RpZ2l0LCBiYW5rX2NvZGUsIGEsIGIsIGMsIGQ7CglzdHJ1Y3Qgbm9kZSogbGVmdDsKCXN0cnVjdCBub2RlKiByaWdodDsKCWludCByZXA7CglpbnQgbGNkLGxiYzsKfTsKCnR5cGVkZWYgc3RydWN0IG5vZGUgbm9kZTsJCgp2b2lkIGFkZChub2RlKiB0LG5vZGUqIHB0cikgewoJaWYodD09TlVMTCkgewoJCXQgPSBwdHI7Cgl9CgllbHNlIHsKCQlpZih0LT5jb250cm9sX2RpZ2l0PnB0ci0+Y29udHJvbF9kaWdpdCkgewoJCQlpZih0LT5sZWZ0PT1OVUxMKSB7CgkJCQl0LT5sZWZ0ID0gcHRyOwoJCQl9CgkJCWVsc2UKCQkJCWFkZCh0LT5sZWZ0LCBwdHIpOwoJCX0KCQllbHNlIGlmKHQtPmNvbnRyb2xfZGlnaXQ8cHRyLT5jb250cm9sX2RpZ2l0KSB7CgkJCWlmKHQtPnJpZ2h0PT1OVUxMKSB7CgkJCQl0LT5yaWdodCA9IHB0cjsKCQkJfQoJCQllbHNlCgkJCQlhZGQodC0+cmlnaHQsIHB0cik7CgkJfQoJCWVsc2UgewoJCQlpZih0LT5iYW5rX2NvZGU+cHRyLT5iYW5rX2NvZGUpIHsKCQkJCWlmKHQtPmxlZnQ9PU5VTEwpIHsKCQkJCQl0LT5sZWZ0ID0gcHRyOwoJCQkJfQoJCQkJZWxzZQoJCQkJCWFkZCh0LT5sZWZ0LCBwdHIpOwoJCQl9CgkJCWVsc2UgaWYodC0+YmFua19jb2RlPHB0ci0+YmFua19jb2RlKSB7CgkJCQlpZih0LT5yaWdodD09TlVMTCkgewoJCQkJCXQtPnJpZ2h0ID0gcHRyOwoJCQkJfQoJCQkJZWxzZQoJCQkJCWFkZCh0LT5yaWdodCwgcHRyKTsKCQkJfQoJCQllbHNlIHsKCQkJCWlmKHQtPmE+cHRyLT5hKSB7CgkJCQkJaWYodC0+bGVmdD09TlVMTCkgewoJCQkJCQl0LT5sZWZ0ID0gcHRyOwoJCQkJCX0KCQkJCQllbHNlCgkJCQkJCWFkZCh0LT5sZWZ0LCBwdHIpOwoJCQkJfQoJCQkJZWxzZSBpZih0LT5hPHB0ci0+YSkgewoJCQkJCWlmKHQtPnJpZ2h0PT1OVUxMKSB7CgkJCQkJCXQtPnJpZ2h0ID0gcHRyOwoJCQkJCX0KCQkJCQllbHNlCgkJCQkJCWFkZCh0LT5yaWdodCwgcHRyKTsKCQkJCX0KCQkJCWVsc2UgewoJCQkJCWlmKHQtPmI+cHRyLT5iKSB7CgkJCQkJCWlmKHQtPmxlZnQ9PU5VTEwpIHsKCQkJCQkJCXQtPmxlZnQgPSBwdHI7CgkJCQkJCX0KCQkJCQkJZWxzZQoJCQkJCQkJYWRkKHQtPmxlZnQsIHB0cik7CgkJCQkJfQoJCQkJCWVsc2UgaWYodC0+YjxwdHItPmIpIHsKCQkJCQkJaWYodC0+bGVmdD09TlVMTCkgewoJCQkJCQkJdC0+bGVmdCA9IHB0cjsKCQkJCQkJfQoJCQkJCQllbHNlCgkJCQkJCQlhZGQodC0+cmlnaHQsIHB0cik7CgkJCQkJfQoJCQkJCWVsc2UgewkJCQkJCgkJCQkJCWlmKHQtPmM+cHRyLT5jKSB7CgkJCQkJCQlpZih0LT5sZWZ0PT1OVUxMKSB7CgkJCQkJCQkJdC0+bGVmdCA9IHB0cjsKCQkJCQkJCX0KCQkJCQkJCWVsc2UKCQkJCQkJCQlhZGQodC0+bGVmdCwgcHRyKTsKCQkJCQkJfQoJCQkJCQllbHNlIGlmKHQtPmM8cHRyLT5jKSB7CgkJCQkJCQlpZih0LT5yaWdodD09TlVMTCkgewoJCQkJCQkJCXQtPnJpZ2h0ID0gcHRyOwoJCQkJCQkJfQoJCQkJCQkJZWxzZQoJCQkJCQkJCWFkZCh0LT5yaWdodCwgcHRyKTsKCQkJCQkJfQoJCQkJCQllbHNlIHsKCQkJCQkJCWlmKHQtPmQ+cHRyLT5kKSB7CgkJCQkJCQkJaWYodC0+bGVmdD09TlVMTCkgewoJCQkJCQkJCQl0LT5sZWZ0ID0gcHRyOwoJCQkJCQkJCX0KCQkJCQkJCQllbHNlCgkJCQkJCQkJCWFkZCh0LT5sZWZ0LCBwdHIpOwoJCQkJCQkJfQoJCQkJCQkJZWxzZSBpZih0LT5kPHB0ci0+ZCkgewoJCQkJCQkJCWlmKHQtPnJpZ2h0PT1OVUxMKSB7CgkJCQkJCQkJCXQtPnJpZ2h0ID0gcHRyOwoJCQkJCQkJCX0KCQkJCQkJCQllbHNlCgkJCQkJCQkJCWFkZCh0LT5yaWdodCwgcHRyKTsKCQkJCQkJCX0JCgkJCQkJCQllbHNlIHsKCQkJCQkJCQl0LT5yZXAgPSB0LT5yZXAgKyAxOwoJCQkJCQkJfQoJCQkJCQkJCgkJCQkJCX0KCQkJCQoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCX0KfQoKdm9pZCBkaXNwKG5vZGUqIHQpIHsKCWlmKHQhPU5VTEwpIHsKCQlkaXNwKHQtPmxlZnQpOwoJCWlmKChpbnQpKChmbG9vcigxK2xvZzEwKHQtPmNvbnRyb2xfZGlnaXQpKSkpPHQtPmxjZCkgewoJCQlpbnQgeCA9ICh0LT5jb250cm9sX2RpZ2l0PT0wKT8zOnQtPmxjZCAtIChpbnQpKChmbG9vcigxK2xvZzEwKHQtPmNvbnRyb2xfZGlnaXQpKSkpOwoJCQlmb3IoaW50IGkgPSAxO2k8PXg7aSsrKSB7CgkJCQlwcmludGYoIjAiKTsKCQkJfQoJCQlwcmludGYoIiVkIix0LT5jb250cm9sX2RpZ2l0KTsKCQl9CgkJZWxzZSB7CgkJCXByaW50ZigiJWQiLHQtPmNvbnRyb2xfZGlnaXQpOwoJCX0KCQlwcmludGYoIiAiKTsKCQlpZigoaW50KSgoZmxvb3IoMStsb2cxMCh0LT5iYW5rX2NvZGUpKSkpPHQtPmxiYykgewoJCQlpbnQgeCA9ICh0LT5iYW5rX2NvZGU9PTApPzM6IHQtPmxiYyAtIChpbnQpKChmbG9vcigxK2xvZzEwKHQtPmJhbmtfY29kZSkpKSk7CgkJCWZvcihpbnQgaSA9IDE7aTw9eDtpKyspIHsKCQkJCXByaW50ZigiMCIpOwoJCQl9CgkJCXByaW50ZigiJWQiLHQtPmJhbmtfY29kZSk7CgkJfQoJCWVsc2UgewoJCQlwcmludGYoIiVkIix0LT5iYW5rX2NvZGUpOwoJCX0KCQlwcmludGYoIiAiKTsKCQkKCQlpZigoaW50KSgoZmxvb3IoMStsb2cxMCh0LT5hKSkpKTw0KSB7CgkJCWludCB4ID0gKHQtPmE9PTApPzM6IDQgLSAoaW50KSgoZmxvb3IoMStsb2cxMCh0LT5hKSkpKTsKCQkJZm9yKGludCBpID0gMTtpPD14O2krKykgewoJCQkJcHJpbnRmKCIwIik7CgkJCX0KCQkJcHJpbnRmKCIlZCIsdC0+YSk7CgkJfQoJCWVsc2UgewoJCQlwcmludGYoIiVkIix0LT5hKTsKCQl9CgkJcHJpbnRmKCIgIik7CgkJaWYoKGludCkoKGZsb29yKDErbG9nMTAodC0+YikpKSk8NCkgewoJCQlpbnQgeCA9ICh0LT5iPT0wKT8zOiA0IC0gKGludCkoKGZsb29yKDErbG9nMTAodC0+YikpKSk7CgkJCWZvcihpbnQgaSA9IDE7aTw9eDtpKyspIHsKCQkJCXByaW50ZigiMCIpOwoJCQl9CgkJCXByaW50ZigiJWQiLHQtPmIpOwoJCX0KCQllbHNlIHsKCQkJcHJpbnRmKCIlZCIsdC0+Yik7CgkJfQoJCXByaW50ZigiICIpOwoJCWlmKChpbnQpKChmbG9vcigxK2xvZzEwKHQtPmMpKSkpPDQpIHsKCQkJaW50IHggPSAodC0+Yz09MCk/MzogNCAtIChpbnQpKChmbG9vcigxK2xvZzEwKHQtPmMpKSkpOwoJCQlmb3IoaW50IGkgPSAxO2k8PXg7aSsrKSB7CgkJCQlwcmludGYoIjAiKTsKCQkJfQoJCQlwcmludGYoIiVkIix0LT5jKTsKCQl9CgkJZWxzZSB7CgkJCXByaW50ZigiJWQiLHQtPmMpOwoJCX0KCQlwcmludGYoIiAiKTsKCQlpZigoaW50KSgoZmxvb3IoMStsb2cxMCh0LT5kKSkpKTw0KSB7CgkJCWludCB4ID0gKHQtPmQ9PTApPzM6IDQgLSAoaW50KSgoZmxvb3IoMStsb2cxMCh0LT5kKSkpKTsKCQkJZm9yKGludCBpID0gMTtpPD14O2krKykgewoJCQkJcHJpbnRmKCIwIik7CgkJCX0KCQkJcHJpbnRmKCIlZCIsdC0+ZCk7CgkJfQoJCWVsc2UgewoJCQlwcmludGYoIiVkIix0LT5kKTsKCQl9CgkJcHJpbnRmKCIgJWQiLHQtPnJlcCk7CgkJcHJpbnRsbigpOwoJCWRpc3AodC0+cmlnaHQpOwoJfQp9CgppbnQgbWFpbih2b2lkKSB7CglpbnQgdHQ7CglyZWFkKHR0KTsKCXdoaWxlKHR0LS0pIHsKCQlub2RlKiB0ID0gTlVMTDsKCQlpbnQgbiwgYTsKCQlyZWFkKG4pOwoJCWNoYXIgc1s5OTk5OV07CgkJaWYobj4wKSB7CgkJCQoJCQl0ID0gKG5vZGUqKW1hbGxvYyhzaXplb2Yobm9kZSkpOwoJCQlzY2FuZigiJXMiLHMpOwoJCQl0LT5sY2QgPSBzdHJsZW4ocyk7CgkJCXQtPmNvbnRyb2xfZGlnaXQgPSBhdG9pKHMpOwoJCQlzY2FuZigiJXMiLHMpOwoJCQl0LT5sYmMgPSBzdHJsZW4ocyk7CgkJCXQtPmJhbmtfY29kZSA9IGF0b2kocyk7CgkJCXJlYWQoYSk7CgkJCXQtPmEgPSBhOwoJCQlyZWFkKGEpOwoJCQl0LT5iID0gYTsKCQkJcmVhZChhKTsKCQkJdC0+YyA9IGE7CgkJCXJlYWQoYSk7CgkJCXQtPmQgPSBhOwoJCQl0LT5yZXAgPSAxOwoJCQl0LT5sZWZ0ID0gTlVMTDsKCQkJdC0+cmlnaHQgPSBOVUxMOwoJCX0KCQlmb3IoaW50IGk9MTtpPD1uLTE7aSsrKSB7CgkJCW5vZGUqIHB0ciA9IChub2RlKiltYWxsb2Moc2l6ZW9mKG5vZGUpKTsKCQkJc2NhbmYoIiVzIixzKTsKCQkJcHRyLT5sY2QgPSBzdHJsZW4ocyk7CgkJCXB0ci0+Y29udHJvbF9kaWdpdCA9IGF0b2kocyk7CgkJCXNjYW5mKCIlcyIscyk7CgkJCXB0ci0+bGJjID0gc3RybGVuKHMpOwoJCQlwdHItPmJhbmtfY29kZSA9IGF0b2kocyk7CgkJCXJlYWQoYSk7CgkJCXB0ci0+YSA9IGE7CgkJCXJlYWQoYSk7CgkJCXB0ci0+YiA9IGE7CgkJCXJlYWQoYSk7CgkJCXB0ci0+YyA9IGE7CgkJCXJlYWQoYSk7CgkJCXB0ci0+ZCA9IGE7CgkJCXB0ci0+cmVwID0gMTsKCQkJcHRyLT5sZWZ0ID0gTlVMTDsKCQkJcHRyLT5yaWdodCA9IE5VTEw7CgkJCWFkZCh0LHB0cik7CgkJfQoJCWRpc3AodCk7CgkJcHJpbnRsbigpOwoJfQoJcmV0dXJuIDA7Cn0K