# -*- Mode: Python -*-

def anagram (s):
    if len(s) == 1:
        return s
    else:
        result = []
        for sub in anagram (s[1:]):
            for i in range (len (sub)+1):
                result.append (sub[i:] + s[0] + sub[:i])
        return result

def remove_dups (l):
    l.sort()
    l2 = []
    x = None
    for y in l:
        if y != x:
            l2.append (y)
        x = y
    return l2

if __name__ == '__main__':
    import sys
    l = anagram (sys.argv[1])
    l = remove_dups (l)
    for x in l:
        print x
