Day 1 Problem 2

Common Words

Source file: words.c or words.cpp or words.pas
Input file: words.in
Output file: words.out

Given a sequence of m words from a newspaper article and an integer k, find the kth most common word.

Input Specification

Input will consist of an integer n followed by n data sets. Each data set begins with a line containing m and k, followed by m lines, each containing a word of up to 20 lower case letters. There will be no more than 1000 words per data set.

Output Specification

For each input data set, determine the kth most common word(s). To be precise, a word w is the kth most common if exactly k-1 distinct words occur more frequently than w in the data set. Note that w might be multiply defined (i.e. there is a tie for the kth most common word) or w might not exist (i.e. there is no kth most common word). For each data set, print a title line indicating k using normal ordinal notation (1st, 2nd, 3rd, 4th, 5th, ...) followed by a number of lines giving all the possible values for the kth most common word. A blank line should follow the last word for each data set.

Sample Input

3
7 2
the
brown
the
fox
red
the
red
1 3
the
2 1
the
wash

Output for Sample Input

2nd most common word(s):
red

3rd most common word(s):

1st most common word(s):
the
wash