kk = list(input())
kk.sort()
def dfs(ss, res, aux):
if len(ss) == 0:
if res not in aux:
aux.append(res)
else:
for i in range(len(ss)):
newres = res + ss[i]
dfs(ss[:i] + ss[i+1:], newres, aux)
res = ""
aux = []
dfs(kk, res, aux)
print("[" + ", ".join(aux) + "]")
def permutation(s,i,lists): if i==len(s): lists.append(('').join(s)) else: for j in range(i,len(s)): s[j],s[i]=s[i],s[j] permutation(s,i+1,lists) s[j],s[i]=s[i],s[j]
if __name__=="__main__": try: lists=[] s=list(input()) permutation(s,0,lists) lists=sorted(lists) j=1 print("[",end='') for i in lists: if j<len(lists): print(i+',',end=' ') else: print(i,end='') j+=1 print("]") except: pass