一流的专家毕业于伯兰州立和平与友谊学院。你是这所大学里最有才华的学生之一。教育并不容易,因为你需要有不同领域的基础知识,这些领域有时并不相关。比如你要很懂语言学。你学习一种作为外语的雷伯兰语的结构。在这种语言中,单词是根据以下规则构成的。首先你需要选择单词的“词根”——一个超过4个字母的字符串。然后在这个单词后面附加几个长度为2或3个符号的字符串。唯一的限制是——不允许在一行中两次追加同一个字符串。所有这些字符串都被认为是单词的后缀(这次我们使用单词“suffix”来描述一个语素,而不是像你习惯的那样描述字符串的最后几个字符)。这是你在任务列表中找到的一个练习。你被赋予了s这个词。根据Reberland语言中的构词规则,找出长度为2或3的所有不同字符串,这些字符串可以是该单词的后缀。如果两个字符串具有不同的长度,或者存在相应字符不匹配的位置,则认为它们是不同的。我们来看例子:给出了abacabaca这个词。这个单词可以通过以下方式获得:,其中单词的词根是上划线的,后缀用“角”标记。因此,这个词的可能后缀的集合是{aca,ba,ca}。
First-rate specialists graduate from Berland State Institute of Peace and Friendship. You are one of the most talented students in this university. The education is not easy because you need to have fundamental knowledge in different areas, which sometimes are not related to each other.
For example, you should know linguistics very well. You learn a structure of Reberland language as foreign language. In this language words are constructed according to the following rules. First you need to choose the "root" of the word − some string which has more than
4 letters. Then several strings with the length
2 or
3 symbols are appended to this word. The only restriction −
it is not allowed to append the same string twice in a row. All these strings are considered to be suffixes of the word (this time we use word "suffix" to describe a morpheme but not the few last characters of the string as you may used to).
Here is one exercise that you have found in your task list. You are given the word
s. Find all distinct strings with the length
2 or
3, which can be suffixes of this word according to the word constructing rules in Reberland language.
Two strings are considered distinct if they have different length or there is a position in which corresponding characters do not match.
Let's look at the example: the word
abacabaca is given. This word can be obtained in the following ways:

, where the root of the word is overlined, and suffixes are marked by "corners". Thus, the set of possible suffixes for this word is
{aca,ba,ca}.
Output
On the first line print integer
k − a number of distinct possible suffixes. On the next
k lines print suffixes.
Print suffixes in lexicographical (alphabetical) order.
Note
The first test was analysed in the problem statement.
In the second example the length of the string equals
5. The length of the root equals 5, so no string can be used as a suffix.