#include <iostream>
#include <map>
#include <algorithm>
#include <string>
#include<vector>
using namespace std;
multimap<int , string>flip_map(map<string,int> src) {
multimap<int , string>dst;
for(map<string,int>::const_iterator it = src.begin(); it != src.end(); ++it)
dst.insert(pair<int , string>(it -> second, it -> first));
return dst;
}
map<string,int>::iterator it;
int main() {
int t;
string str, str1 , str2 , str3;
int a ,b;
cin>>t ;
for ( int i=0 ; i<t ; i++)
{map<string ,int > mp;
cin >> a >>b;
for ( int j=0 ; j<a ; j++)
{
cin>>str;
if ( str=="liked")
{
str1 ="";
cin>>str2;
while(str2 != "photo") {
str1 = str1 + str2 ;
cin>>str2 ;
if(str2!="photo")
str1 = str1 + " " ;
}
++mp[str1];
}
else
{
cin>>str3 ;
str1 ="";
cin>>str2;
while(str2 != "photo") {
str1 = str1 + str2 ;
cin>>str2 ;
if(str2!="photo")
str1 = str1 + " " ;
}
++mp[str1];
}
}
multimap<int, string> reverseTest = flip_map(mp);
// sort ( mp.begin() , mp.end());
multimap<int, string>::const_reverse_iterator it = reverseTest.rbegin();
cout<<"Case "<<i+1<<":"<<endl;
for( int k=0; k<b ; k++)
{string ss=it->second ;
for ( int u=0 ; u<ss.size()-2 ; u++)
cout << ss[u];
cout<<endl;
++it;
}
}
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZTx2ZWN0b3I+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKbXVsdGltYXA8aW50ICwgc3RyaW5nPmZsaXBfbWFwKG1hcDxzdHJpbmcsaW50PiBzcmMpIHsKCiAgICBtdWx0aW1hcDxpbnQgLCBzdHJpbmc+ZHN0OwoKICAgIGZvcihtYXA8c3RyaW5nLGludD46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gc3JjLmJlZ2luKCk7IGl0ICE9IHNyYy5lbmQoKTsgKytpdCkKICAgICAgICBkc3QuaW5zZXJ0KHBhaXI8aW50ICwgc3RyaW5nPihpdCAtPiBzZWNvbmQsIGl0IC0+IGZpcnN0KSk7CgogICAgcmV0dXJuIGRzdDsKfQoKCm1hcDxzdHJpbmcsaW50Pjo6aXRlcmF0b3IgaXQ7CmludCBtYWluKCkgewoJaW50IHQ7CglzdHJpbmcgc3RyLCBzdHIxICwgc3RyMiAsIHN0cjM7CglpbnQgYSAsYjsKCQoJY2luPj50IDsKCWZvciAoIGludCBpPTAgOyBpPHQgOyBpKyspCgl7bWFwPHN0cmluZyAsaW50ID4gbXA7CgkJY2luID4+IGEgPj5iOwoJCWZvciAoIGludCBqPTAgOyBqPGEgOyBqKyspCgkJewoJCQljaW4+PnN0cjsKCQkJaWYgKCBzdHI9PSJsaWtlZCIpCgkJCXsKCQkJCXN0cjEgPSIiOwoJCQkJY2luPj5zdHIyOwoJCQkJd2hpbGUoc3RyMiAhPSAicGhvdG8iKSB7CgkJCQkJc3RyMSA9IHN0cjEgKyBzdHIyIDsKCQkJCQljaW4+PnN0cjIgOwoJCQkJCWlmKHN0cjIhPSJwaG90byIpCgkJCQkJc3RyMSA9IHN0cjEgKyAiICIgOwoJCQkJfQoJCQkJKyttcFtzdHIxXTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCWNpbj4+c3RyMyA7CgkJCQkJc3RyMSA9IiI7CgkJCQljaW4+PnN0cjI7CgkJCQl3aGlsZShzdHIyICE9ICJwaG90byIpIHsKCQkJCQlzdHIxID0gc3RyMSArIHN0cjIgOwoJCQkJCWNpbj4+c3RyMiA7CgkJCQkJaWYoc3RyMiE9InBob3RvIikKCQkJCQlzdHIxID0gc3RyMSArICIgIiA7CgkJCQl9CgkJCQkrK21wW3N0cjFdOwoJCQl9CgkJfQoJCSAgbXVsdGltYXA8aW50LCBzdHJpbmc+IHJldmVyc2VUZXN0ID0gZmxpcF9tYXAobXApOwovLwkJc29ydCAoIG1wLmJlZ2luKCkgLCBtcC5lbmQoKSk7CgkJbXVsdGltYXA8aW50LCBzdHJpbmc+Ojpjb25zdF9yZXZlcnNlX2l0ZXJhdG9yIGl0ID0gcmV2ZXJzZVRlc3QucmJlZ2luKCk7IAoJCSBjb3V0PDwiQ2FzZSAiPDxpKzE8PCI6Ijw8ZW5kbDsKCQlmb3IoIGludCBrPTA7IGs8YiA7IGsrKykKCQl7c3RyaW5nIHNzPWl0LT5zZWNvbmQgOwoJCQkgZm9yICggaW50IHU9MCA7IHU8c3Muc2l6ZSgpLTIgOyB1KyspCiAgICAgICAgIGNvdXQgPDwgc3NbdV07CiAgICAgICAgIGNvdXQ8PGVuZGw7CiAgICAgICAgICsraXQ7CgkJfQoKCX0KCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXJldHVybiAwOwp9
Mgo2IDMKbGlrZWQgaGluYiBCYWRyJ3MgcGhvdG8KbGlrZWQgU2hha2lyYSdzIHBob3RvCmxpa2VkIGhpbmIgQmFkcidzIHBob3RvCmxpa2VkIEZlZ2xhJ3MgcGhvdG8KbGlrZWQgU2hha2lyYSdzIHBob3RvCmNvbW1lbnRlZCBvbiBTaGFraXJhJ3MgcGhvdG8KNiAzCmxpa2VkIGEncyBwaG90bwpsaWtlZCBiJ3MgcGhvdG8KbGlrZWQgYSdzIHBob3RvCmxpa2VkIGMncyBwaG90bwpsaWtlZCBiJ3MgcGhvdG8KY29tbWVudGVkIG9uIGIncyBwaG90bw==
2
6 3
liked hinb Badr's photo
liked Shakira's photo
liked hinb Badr's photo
liked Fegla's photo
liked Shakira's photo
commented on Shakira's photo
6 3
liked a's photo
liked b's photo
liked a's photo
liked c's photo
liked b's photo
commented on b's photo