#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_ACCOUNTS 100000
typedef struct {
char account[32];
int count;
} Account;
int cmp(const void *a, const void *b) {
return strcmp(((Account
*)a
)->account
, ((Account
*)b
)->account
); }
int main() {
int t_Case, n;
while (t_Case--) {
char raw_accounts[MAX_ACCOUNTS][32];
for (int i = 0; i < n; ++i) {
fgets(raw_accounts
[i
], sizeof(raw_accounts
[i
]), stdin
); raw_accounts
[i
][strlen(raw_accounts
[i
]) - 1] = '\0'; }
qsort(raw_accounts
, n
, sizeof(raw_accounts
[0]), (int (*)(const void *, const void *))strcmp); Account result[MAX_ACCOUNTS];
int idx = 0, count = 1;
for (int i = 1; i <= n; ++i) {
if (i
< n
&& strcmp(raw_accounts
[i
], raw_accounts
[i
- 1]) == 0) { count++;
} else {
strcpy(result
[idx
].
account, raw_accounts
[i
- 1]); result[idx++].count = count;
count = 1;
}
}
for (int i = 0; i < idx; ++i) {
printf("%s %d\n", result
[i
].
account, result
[i
].
count); }
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKI2RlZmluZSBNQVhfQUNDT1VOVFMgMTAwMDAwCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBjaGFyIGFjY291bnRbMzJdOwogICAgaW50IGNvdW50Owp9IEFjY291bnQ7CgppbnQgY21wKGNvbnN0IHZvaWQgKmEsIGNvbnN0IHZvaWQgKmIpIHsKICAgIHJldHVybiBzdHJjbXAoKChBY2NvdW50ICopYSktPmFjY291bnQsICgoQWNjb3VudCAqKWIpLT5hY2NvdW50KTsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgdF9DYXNlLCBuOwogICAgc2NhbmYoIiVkIiwgJnRfQ2FzZSk7CiAgICB3aGlsZSAodF9DYXNlLS0pIHsKICAgICAgICBzY2FuZigiJWQiLCAmbik7CiAgICAgICAgZ2V0Y2hhcigpOwogICAgICAgIGNoYXIgcmF3X2FjY291bnRzW01BWF9BQ0NPVU5UU11bMzJdOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgICAgIGZnZXRzKHJhd19hY2NvdW50c1tpXSwgc2l6ZW9mKHJhd19hY2NvdW50c1tpXSksIHN0ZGluKTsKICAgICAgICAgICAgcmF3X2FjY291bnRzW2ldW3N0cmxlbihyYXdfYWNjb3VudHNbaV0pIC0gMV0gPSAnXDAnOwogICAgICAgIH0KICAgICAgICBxc29ydChyYXdfYWNjb3VudHMsIG4sIHNpemVvZihyYXdfYWNjb3VudHNbMF0pLCAoaW50ICgqKShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKikpc3RyY21wKTsKICAgICAgICBBY2NvdW50IHJlc3VsdFtNQVhfQUNDT1VOVFNdOwogICAgICAgIGludCBpZHggPSAwLCBjb3VudCA9IDE7CiAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgKytpKSB7CiAgICAgICAgICAgIGlmIChpIDwgbiAmJiBzdHJjbXAocmF3X2FjY291bnRzW2ldLCByYXdfYWNjb3VudHNbaSAtIDFdKSA9PSAwKSB7CiAgICAgICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgc3RyY3B5KHJlc3VsdFtpZHhdLmFjY291bnQsIHJhd19hY2NvdW50c1tpIC0gMV0pOwogICAgICAgICAgICAgICAgcmVzdWx0W2lkeCsrXS5jb3VudCA9IGNvdW50OwogICAgICAgICAgICAgICAgY291bnQgPSAxOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgaWR4OyArK2kpIHsKICAgICAgICAgICAgcHJpbnRmKCIlcyAlZFxuIiwgcmVzdWx0W2ldLmFjY291bnQsIHJlc3VsdFtpXS5jb3VudCk7CiAgICAgICAgfQogICAgICAgIGlmICh0X0Nhc2UpIHByaW50ZigiXG4iKTsKICAgIH0KICAgIHJldHVybiAwOwp9
NgowMyAxMDEwMzUzOCAyMjIyIDEyMzMgNjE2MCAwMTQyIAowMyAxMDEwMzUzOCAyMjIyIDEyMzMgNjE2MCAwMTQxIAozMCAxMDEwMzUzOCAyMjIyIDEyMzMgNjE2MCAwMTQxIAozMCAxMDEwMzUzOCAyMjIyIDEyMzMgNjE2MCAwMTQyIAozMCAxMDEwMzUzOCAyMjIyIDEyMzMgNjE2MCAwMTQxIAozMCAxMDEwMzUzOCAyMjIyIDEyMzMgNjE2MCAwMTQyIAoKNQozMCAxMDEwMzUzOCAyMjIyIDEyMzMgNjE2MCAwMTQ0IAozMCAxMDEwMzUzOCAyMjIyIDEyMzMgNjE2MCAwMTQyIAozMCAxMDEwMzUzOCAyMjIyIDEyMzMgNjE2MCAwMTQ1IAozMCAxMDEwMzUzOCAyMjIyIDEyMzMgNjE2MCAwMTQ2IAozMCAxMDEwMzUzOCAyMjIyIDEyMzMgNjE2MCAwMTQzIA==
6
03 10103538 2222 1233 6160 0142
03 10103538 2222 1233 6160 0141
30 10103538 2222 1233 6160 0141
30 10103538 2222 1233 6160 0142
30 10103538 2222 1233 6160 0141
30 10103538 2222 1233 6160 0142
5
30 10103538 2222 1233 6160 0144
30 10103538 2222 1233 6160 0142
30 10103538 2222 1233 6160 0145
30 10103538 2222 1233 6160 0146
30 10103538 2222 1233 6160 0143