MIU

 

 

A word of the MIU language is a string built using just the characters M, I and U, that can be generated by transforming the initial string MI by means of repeatedly applying any of the following three rules, subject to a restriction described below:

 

  1. If the string has the form Mx, where by x we mean the whole sequence of characters after M, it may be transformed into Mxx.
  2. If the string contains somewhere an occurrence of III as a substring, it may be transformed into the string obtained by replacing that substring III by the one character string U.
  3. If the string contains somewhere an occurrence of UU as a substring, it may be transformed into the string obtained by removing that substring UU from it.

 

The restriction mentioned above is that rule 1 may not be applied after rules 2 or 3 have ever been applied.

 

Write a program that determines whether a given string built only from the letters M, I and U belongs to the MIU language, and, in that case, list a minimal length sequence of strings that show all intermediate steps in the transformation sequence. Such a sequence is called a "minimal derivation". If there are several possible minimal derivations, your program should choose, among those, the one that at each step leads to the least (in the lexicographical order) next string.

 

Input

The input consists of a single line containing the string to be checked.

 

Output

If the input does not correspond to a string in the MIU language, the output should consist of the single word "no". Otherwise, the output should contain a sequence of strings, one string per line, presenting a minimal derivation as specified above.

 

Sample Input

MIU

Sample Output

MI

MII

MIIII

MIU