#include <bits/stdc++.h>
using namespace std;
map<string,int> M;
int n, cnt;
int main(){
while(1){
cin >> n; if(!n) break;
M.clear(); cin.ignore();
while(n--){
string s,t=""; getline(cin,s);
int i = (int)s.size()-1;
while(i>=0 and s[i]!=' ') t+=s[i--];
reverse(begin(t),end(t));
for(auto &u:t)if('A'<=u and u<='Z')u^=32;
M[t]++;
}
cout << "List " << ++cnt << ":\n";
for(auto [u,v] : M) cout << u << " | " << v << "\n";
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgptYXA8c3RyaW5nLGludD4gTTsgCmludCBuLCBjbnQ7CmludCBtYWluKCl7Cgl3aGlsZSgxKXsKCQljaW4gPj4gbjsgaWYoIW4pIGJyZWFrOwoJCU0uY2xlYXIoKTsgY2luLmlnbm9yZSgpOwoJCXdoaWxlKG4tLSl7CgkJCXN0cmluZyBzLHQ9IiI7IGdldGxpbmUoY2luLHMpOwoJCQlpbnQgaSA9IChpbnQpcy5zaXplKCktMTsKCQkJd2hpbGUoaT49MCBhbmQgc1tpXSE9JyAnKSB0Kz1zW2ktLV07CgkJCXJldmVyc2UoYmVnaW4odCksZW5kKHQpKTsgCgkJCWZvcihhdXRvICZ1OnQpaWYoJ0EnPD11IGFuZCB1PD0nWicpdV49MzI7CgkJCU1bdF0rKzsKCQl9CgkJY291dCA8PCAiTGlzdCAiIDw8ICsrY250IDw8ICI6XG4iOyAKCQlmb3IoYXV0byBbdSx2XSA6IE0pIGNvdXQgPDwgdSA8PCAiIHwgIiA8PCB2IDw8ICJcbiI7Cgl9Cn0=