from string import ascii_lowercase
def puk(inp):
try:
nstring = [ascii_lowercase.index(s) for s in inp]
except:
return
key = 0
while True:
nstring.sort()
if key >= len(nstring)-1 or len(nstring) <= 1:
break
if nstring[key] == nstring[key+1]:
nstring[key] = nstring[key] + 1
if nstring[key] >= len(ascii_lowercase):
nstring[key] = 0
nstring.pop(key+1)
key = 0
else:
key = key + 1
return "".join([ascii_lowercase[n] for n in nstring])
out = puk("adasewqeaadab")
print(out)
ZnJvbSBzdHJpbmcgaW1wb3J0IGFzY2lpX2xvd2VyY2FzZQoKZGVmIHB1ayhpbnApOgogICAgdHJ5OgogICAgICAgIG5zdHJpbmcgPSBbYXNjaWlfbG93ZXJjYXNlLmluZGV4KHMpIGZvciBzIGluIGlucF0KICAgIGV4Y2VwdDoKICAgICAgICByZXR1cm4KICAgIGtleSA9IDAKICAgIHdoaWxlIFRydWU6CiAgICAgICAgbnN0cmluZy5zb3J0KCkKICAgICAgICBpZiBrZXkgPj0gbGVuKG5zdHJpbmcpLTEgb3IgbGVuKG5zdHJpbmcpIDw9IDE6CiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgaWYgbnN0cmluZ1trZXldID09IG5zdHJpbmdba2V5KzFdOgogICAgICAgICAgICBuc3RyaW5nW2tleV0gPSBuc3RyaW5nW2tleV0gKyAxIAogICAgICAgICAgICBpZiBuc3RyaW5nW2tleV0gPj0gbGVuKGFzY2lpX2xvd2VyY2FzZSk6CiAgICAgICAgICAgICAgICBuc3RyaW5nW2tleV0gPSAwCiAgICAgICAgICAgIG5zdHJpbmcucG9wKGtleSsxKQogICAgICAgICAgICBrZXkgPSAwCiAgICAgICAgZWxzZToKICAgICAgICAgICAga2V5ID0ga2V5ICsgMQogICAgcmV0dXJuICIiLmpvaW4oW2FzY2lpX2xvd2VyY2FzZVtuXSBmb3IgbiBpbiBuc3RyaW5nXSkKICAgIApvdXQgPSBwdWsoImFkYXNld3FlYWFkYWIiKQpwcmludChvdXQp