It's Mooin' Time
Farmer John is trying to describe his favorite USACO contest to Elsie, but she is having trouble understanding why he likes it so much. He says "My favorite part of the contest was when Bessie said 'It's Mooin' Time' and mooed all over the contest."
Elsie still doesn't understand so Farmer John downloads the contest as a text file and tries to explain what he means. The contest is defined as a string of lowercase letters of length N (3≤N≤20000). A moo is generally defined as the substring cicjcj where some character ci followed directly by 2 occurrences of some character cj where ci=cj. According to Farmer John, Bessie moos a lot, so if some moo appears at least F (1≤F≤N) times in the contest, that might be from Bessie.
However, Farmer John's download might have been corrupted, and the text file might have up to one character that differs from the original file. Print all possible moos that Bessie could have made taking the potential error into account, sorted in alphabetical order.
In this case, no character change affects the answer. The only moo Bessie made was "moo".
In this case, the a at position 8 (zero-indexed) could have been corrupted from a b which would have resulted in "baa" being a moo that Bessie made twice. Alternatively, the q at position 11 could have been corrupted from a c which would have resulted in "cqq" being a possible moo that Bessie made. "aqq" can be made by swapping the c with an a.
SCORING:
- Inputs 4-8: N≤100
- Inputs 9-13: No additional constraints.
Problem credits: Suhas Nagar
Source: USA Computing Olympiad.
Input Format
The first line contains N and F, representing the length of the string and the frequency threshold for a moo by Bessie.
The second line contains a string of lowercase letters of length N, representing the contest.
Output Format
Print out the number of possible moos that Bessie makes, followed by a lexicographically sorted list of the moos. Each moo should appear on a separate line.