Harvard linguistics professor George Kingsley Zipf
(1902-1950) observed that the frequency of the $k$th most common word in a text is
roughly proportional to $1/k$. He justified his observations
in a book titled Human behavior and the principle of least
effort published in 1949. While Zipf’s rationale has
largely been discredited, the principle still holds, and others
have afforded it a more sound mathematical basis.
You are to find all the words occurring $n$ times in an English text. A word
is a sequence of letters. Words are separated by non-letters.
Capitalization should be ignored. A word can be of any length
that an English word can be.
Input consists of several test cases. The first line of each
case contains a single positive integer $n$. Several lines of text follow
which will contain no more than $10\, 000$ words. The text for each
case is terminated by a single line containing EndOfText. EndOfText
does not appear elsewhere in the input and is not considered a
For each test case, output the words which occur
$n$ times in the input
text, one word per line, lower case, in alphabetical order. If
there are no such words in input, output the following
There is no such word.
Leave a blank line between
|Sample Input 1
||Sample Output 1
In practice, the difference between theory and practice is always
greater than the difference between theory and practice in theory.
Man will occasionally stumble over the truth, but most of the
time he will pick himself up and continue on.
- W. S. L. Churchill