s = input()
cL = []
for k in range(ord('a'), ord('z')+1):
    for i in s:
        if chr(k) == i or chr(k).upper() == i:
            cL.append(i)

ans = ""
pos = 0
for i in s:
    if ord('a') <= ord(i) <= ord('z') or ord('A') <= ord(i) <= ord('Z'):
        ans += cL[pos]
        pos += 1
    else:
        ans += i

print(ans)

用传统逻辑思路写的python