#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
int main() {
int n;
cin >> n;
cin.ignore();
vector<pair<string, int>> inventory;
for (int i = 0; i < n; ++i) {
string line;
getline(cin, line);
stringstream ss(line);
string item_code;
while (ss >> item_code) {
bool found = false;
for (auto& item : inventory) {
if (item.first == item_code) {
item.second++;
found = true;
break;
}
}
if (!found) {
inventory.push_back({item_code, 1});
}
}
}
int k = inventory.size();
for (int i = 0; i < k - 1; ++i) {
for (int j = 0; j < k - i - 1; ++j) {
if (inventory[j].second < inventory[j + 1].second) {
swap(inventory[j], inventory[j + 1]);
} else if (inventory[j].second == inventory[j + 1].second && inventory[j].first > inventory[j + 1].first) {
swap(inventory[j], inventory[j + 1]);
}
}
}
for (const auto& item : inventory) {
cout << item.first << " " << item.second << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c3N0cmVhbT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGludCBuOwogICAgY2luID4+IG47CiAgICBjaW4uaWdub3JlKCk7CgogICAgdmVjdG9yPHBhaXI8c3RyaW5nLCBpbnQ+PiBpbnZlbnRvcnk7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICBzdHJpbmcgbGluZTsKICAgICAgICBnZXRsaW5lKGNpbiwgbGluZSk7CiAgICAgICAgc3RyaW5nc3RyZWFtIHNzKGxpbmUpOwogICAgICAgIHN0cmluZyBpdGVtX2NvZGU7CiAgICAgICAgd2hpbGUgKHNzID4+IGl0ZW1fY29kZSkgewogICAgICAgICAgICBib29sIGZvdW5kID0gZmFsc2U7CiAgICAgICAgICAgIGZvciAoYXV0byYgaXRlbSA6IGludmVudG9yeSkgewogICAgICAgICAgICAgICAgaWYgKGl0ZW0uZmlyc3QgPT0gaXRlbV9jb2RlKSB7CiAgICAgICAgICAgICAgICAgICAgaXRlbS5zZWNvbmQrKzsKICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCFmb3VuZCkgewogICAgICAgICAgICAgICAgaW52ZW50b3J5LnB1c2hfYmFjayh7aXRlbV9jb2RlLCAxfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgaW50IGsgPSBpbnZlbnRvcnkuc2l6ZSgpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrIC0gMTsgKytpKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBrIC0gaSAtIDE7ICsraikgewogICAgICAgICAgICBpZiAoaW52ZW50b3J5W2pdLnNlY29uZCA8IGludmVudG9yeVtqICsgMV0uc2Vjb25kKSB7CiAgICAgICAgICAgICAgICBzd2FwKGludmVudG9yeVtqXSwgaW52ZW50b3J5W2ogKyAxXSk7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoaW52ZW50b3J5W2pdLnNlY29uZCA9PSBpbnZlbnRvcnlbaiArIDFdLnNlY29uZCAmJiBpbnZlbnRvcnlbal0uZmlyc3QgPiBpbnZlbnRvcnlbaiArIDFdLmZpcnN0KSB7CiAgICAgICAgICAgICAgICBzd2FwKGludmVudG9yeVtqXSwgaW52ZW50b3J5W2ogKyAxXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgZm9yIChjb25zdCBhdXRvJiBpdGVtIDogaW52ZW50b3J5KSB7CiAgICAgICAgY291dCA8PCBpdGVtLmZpcnN0IDw8ICIgIiA8PCBpdGVtLnNlY29uZCA8PCBlbmRsOwogICAgfQoKICAgIHJldHVybiAwOwp9