The annual XYZX programming competition is known for its unusual problem statements. The Technical Coordinator of the competition, also known as Snusmumrik, intentionally leaves some freedom in the problem statements so that participants have to guess the missing conditions from the sample tests, from the problem preface or even epigraph, or just invent something themselves. This peculiarity also revealed itself in the latest XYZX-2009 competition.
Misha is competing in the Quarterfinal of Rivergrad, and again confronts the same problem: why does his perfectly correct program fail on the sample tests? The problem statements are in English. He also knows there is only one false sentence in the entire statement. Moreover, he knows the rules to restore the original statement the author intended. It is very simple: the word "not" can be inserted after any of the words "can", "may", "must", "should" in the text; also, the word "no" can be inserted after the phrases "is", "are". The words "not" and "no" must be inserted exactly as written: "Not", "nO" and other variants are not allowed. However, the other mentioned words are case insensitive, so you may insert "not" after "Can" or "no" after "ARE". If there is any article ("a" or "the") after "is" or "are" where you insert "no", the article must be removed.
Misha wants to know all the possible reasons his program does not pass the sample tests. Here, a reason is a sentence where a negation can be applied. Remember that no two negations may be applied simultaneously, neither in one sentence nor in different sentences.
The input file contains the text of the problem statement, consisting of Latin letters, single spaces, and dots. Every sentence ends with a dot (which is not considered part of the last word). Words are separated by a single space. There is no space before any dot. There is exactly one space after each dot unless the dot follows the last sentence; in that case, the dot is followed by a newline and then the input file ends. When inserting the word "not" or "no" after a word, you must first insert a single space, then the corresponding word. The size of the input file does not exceed bytes.
The output file must first contain an integer on a line by itself — the number of different ways the problem statement can be understood. Then lines must follow. Each line should contain one sentence from the original text with exactly one negation applied. You must list all possibilities (in the sample output, lines are wrapped for better visibility; you must output one sentence per line). All variants of negation must go in natural order: all that can be inserted in the first sentence, then all for the second sentence, and so on. Inside one sentence, first goes the negation applied after the first word (if applicable), then the second word, and so on.
You must not change the case of letters in the words copied from the original sentences. Words must still be separated by single spaces, and the same rules for dots at sentence ends must be applied, as for the input sentences.
Example 1