#include <bits/stdc++.h>
using namespace std;
//只用输出最后出现的八条错误记录——考虑队列,超过八条时弹出 (双端队列,从后端进,从前端出)
//对相同的错误记录只记录一条,但是错误计数增加——考虑哈希表,键为错误记录,值为错误计数
int main(){
string str = "";
unordered_map<string, int> mp;
deque<string> dq;
while(getline(cin, str)){
str = str.substr(str.find_last_of('\\') + 1);
//cout << str << endl; //cqzlyaszjvlsjmkwoqijggmybr 645
int spacePos = str.find_last_of(' '); //从0开始的第26个索引处是空格
//cout << spacePos << endl; //26
if(spacePos > 16){
str = str.substr(spacePos - 16);
//cout << str << endl; //lsjmkwoqijggmybr 645
}
if(mp.find(str) == mp.end()){
dq.push_back(str);
}
mp[str]++;
//cout << dq.front() << endl; //lsjmkwoqijggmybr 645
if(dq.size() > 8) dq.pop_front(); //超过八条则 从前面推出
}
for(auto s : dq){
cout << s << " " << mp[s] << endl;
}
return 0;
}