#include<stdio.h>
typedef struct Info{
int ctrl,bank,digits[4];
}Info;
void print(int num,int total){
int digit = 0,temp = num;
while(temp != 0){
temp /= 10;
digit++;
}
int i;
for(i = 1;i <= (total - digit);i++)
}
int compare(const void* A,const void* B){
Info a = *(Info*)A,b = *(Info*)B;
if(a.ctrl != b.ctrl)
return(a.ctrl - b.ctrl);
if(a.bank != b.bank)
return(a.bank - b.bank);
if(a.digits[0] != b.digits[0])
return(a.digits[0] - b.digits[0]);
if(a.digits[1] != b.digits[1])
return(a.digits[1] - b.digits[1]);
if(a.digits[2] != b.digits[2])
return(a.digits[2] - b.digits[2]);
return(a.digits[3] - b.digits[3]);
}
Info account[100000];
int main(){
int t;
while(t--){
int n,i;
for(i = 0;i < n;i++)
scanf("%d%d%d%d%d%d",&account
[i
].
ctrl,&account
[i
].
bank,&account
[i
].
digits[0],&account
[i
].
digits[1],&account
[i
].
digits[2],&account
[i
].
digits[3]); qsort(account
,n
,sizeof(account
[0]),compare
);
Info temp = account[0];
int count = 1;
for(i = 1;i < n;i++){
if(temp.ctrl == account[i].ctrl && temp.bank == account[i].bank && temp.digits[0] == account[i].digits[0] && temp.digits[1] == account[i].digits[1] && temp.digits[2] == account[i].digits[2] && temp.digits[3] == account[i].digits[3]){
count++;
}
else{
print
(temp.
ctrl,2);printf(" ");print
(temp.
bank,8);printf(" ");print
(temp.
digits[0],4);printf(" "); print
(temp.
digits[1],4);printf(" ");print
(temp.
digits[2],4);printf(" ");print
(temp.
digits[3],4);printf(" "); count = 1;
temp = account[i];
}
}
print
(temp.
ctrl,2);printf(" ");print
(temp.
bank,8);printf(" ");print
(temp.
digits[0],4);printf(" "); print
(temp.
digits[1],4);printf(" ");print
(temp.
digits[2],4);printf(" ");print
(temp.
digits[3],4);printf(" ");
if(t != 0)
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KCnR5cGVkZWYgc3RydWN0IEluZm97CiAgICBpbnQgY3RybCxiYW5rLGRpZ2l0c1s0XTsKfUluZm87Cgp2b2lkIHByaW50KGludCBudW0saW50IHRvdGFsKXsKICAgIGludCBkaWdpdCA9IDAsdGVtcCA9IG51bTsKCiAgICB3aGlsZSh0ZW1wICE9IDApewogICAgICAgIHRlbXAgLz0gMTA7CiAgICAgICAgZGlnaXQrKzsKICAgIH0KCiAgICBpbnQgaTsKICAgIGZvcihpID0gMTtpIDw9ICh0b3RhbCAtIGRpZ2l0KTtpKyspCiAgICAgICAgcHJpbnRmKCIwIik7CgogICAgcHJpbnRmKCIlZCIsbnVtKTsKfQoKaW50IGNvbXBhcmUoY29uc3Qgdm9pZCogQSxjb25zdCB2b2lkKiBCKXsKICAgIEluZm8gYSA9ICooSW5mbyopQSxiID0gKihJbmZvKilCOwoKICAgIGlmKGEuY3RybCAhPSBiLmN0cmwpCiAgICAgICAgcmV0dXJuKGEuY3RybCAtIGIuY3RybCk7CgogICAgaWYoYS5iYW5rICE9IGIuYmFuaykKICAgICAgICByZXR1cm4oYS5iYW5rIC0gYi5iYW5rKTsKCiAgICBpZihhLmRpZ2l0c1swXSAhPSBiLmRpZ2l0c1swXSkKICAgICAgICByZXR1cm4oYS5kaWdpdHNbMF0gLSBiLmRpZ2l0c1swXSk7CgogICAgaWYoYS5kaWdpdHNbMV0gIT0gYi5kaWdpdHNbMV0pCiAgICAgICAgcmV0dXJuKGEuZGlnaXRzWzFdIC0gYi5kaWdpdHNbMV0pOwoKICAgIGlmKGEuZGlnaXRzWzJdICE9IGIuZGlnaXRzWzJdKQogICAgICAgIHJldHVybihhLmRpZ2l0c1syXSAtIGIuZGlnaXRzWzJdKTsKCiAgICByZXR1cm4oYS5kaWdpdHNbM10gLSBiLmRpZ2l0c1szXSk7Cn0KSW5mbyBhY2NvdW50WzEwMDAwMF07CmludCBtYWluKCl7CiAgICBpbnQgdDsKICAgIHNjYW5mKCIlZCIsJnQpOwoKICAgIHdoaWxlKHQtLSl7CiAgICAgICAgaW50IG4saTsKICAgICAgICBzY2FuZigiJWQiLCZuKTsKCiAgICAgICAgZm9yKGkgPSAwO2kgPCBuO2krKykKICAgICAgICAgICAgc2NhbmYoIiVkJWQlZCVkJWQlZCIsJmFjY291bnRbaV0uY3RybCwmYWNjb3VudFtpXS5iYW5rLCZhY2NvdW50W2ldLmRpZ2l0c1swXSwmYWNjb3VudFtpXS5kaWdpdHNbMV0sJmFjY291bnRbaV0uZGlnaXRzWzJdLCZhY2NvdW50W2ldLmRpZ2l0c1szXSk7CiAgICAgICAgcXNvcnQoYWNjb3VudCxuLHNpemVvZihhY2NvdW50WzBdKSxjb21wYXJlKTsKCiAgICAgICAgSW5mbyB0ZW1wID0gYWNjb3VudFswXTsKICAgICAgICBpbnQgY291bnQgPSAxOwoKICAgICAgICBmb3IoaSA9IDE7aSA8IG47aSsrKXsKICAgICAgICAgICAgaWYodGVtcC5jdHJsID09IGFjY291bnRbaV0uY3RybCAmJiB0ZW1wLmJhbmsgPT0gYWNjb3VudFtpXS5iYW5rICYmIHRlbXAuZGlnaXRzWzBdID09IGFjY291bnRbaV0uZGlnaXRzWzBdICYmIHRlbXAuZGlnaXRzWzFdID09IGFjY291bnRbaV0uZGlnaXRzWzFdICYmIHRlbXAuZGlnaXRzWzJdID09IGFjY291bnRbaV0uZGlnaXRzWzJdICYmIHRlbXAuZGlnaXRzWzNdID09IGFjY291bnRbaV0uZGlnaXRzWzNdKXsKICAgICAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZXsKICAgICAgICAgICAgICAgIHByaW50KHRlbXAuY3RybCwyKTtwcmludGYoIiAiKTtwcmludCh0ZW1wLmJhbmssOCk7cHJpbnRmKCIgIik7cHJpbnQodGVtcC5kaWdpdHNbMF0sNCk7cHJpbnRmKCIgIik7CiAgICAgICAgICAgICAgICBwcmludCh0ZW1wLmRpZ2l0c1sxXSw0KTtwcmludGYoIiAiKTtwcmludCh0ZW1wLmRpZ2l0c1syXSw0KTtwcmludGYoIiAiKTtwcmludCh0ZW1wLmRpZ2l0c1szXSw0KTtwcmludGYoIiAiKTsKICAgICAgICAgICAgICAgIHByaW50ZigiJWRcbiIsY291bnQpOwogICAgICAgICAgICAgICAgY291bnQgPSAxOwogICAgICAgICAgICAgICAgdGVtcCA9IGFjY291bnRbaV07CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHByaW50KHRlbXAuY3RybCwyKTtwcmludGYoIiAiKTtwcmludCh0ZW1wLmJhbmssOCk7cHJpbnRmKCIgIik7cHJpbnQodGVtcC5kaWdpdHNbMF0sNCk7cHJpbnRmKCIgIik7CiAgICAgICAgcHJpbnQodGVtcC5kaWdpdHNbMV0sNCk7cHJpbnRmKCIgIik7cHJpbnQodGVtcC5kaWdpdHNbMl0sNCk7cHJpbnRmKCIgIik7cHJpbnQodGVtcC5kaWdpdHNbM10sNCk7cHJpbnRmKCIgIik7CiAgICAgICAgcHJpbnRmKCIlZCIsY291bnQpOwoKICAgICAgICBpZih0ICE9IDApCiAgICAgICAgICAgIHByaW50ZigiXG5cbiIpOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==