# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
"""
"""
This solution works in O(N * 26 + N) [in worst case] which is better then
O(N2)
"""
#s = 'edxeducation'
#s = 'deepanshu' #My name :)
#s = 'ghaaawxyzijbbbklccc'
s = 'abcdefghijklmnopqrstuvwxyzabcduuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu'
lst = [[] for i in range(26)]
for ch in s:
ml = 0
# print ord(ch) - ord('a') #Debug it :-/ I know you nailed it ;)
for i in range(0,ord(ch) + 1 - ord('a')):
# k = len(lst[i]) #Debug it :-/ I know you nailed it ;)
if len(lst[i]) > len(lst[ml]):
ml= i
cpy = ''.join(lst[ml])
#lst[ord(ch) - ord('a')] = ''.join(lst[ord(ch) - ord('a')]) + ch
#Debug it :-/ I know you nailed it ;)
lst[ord(ch) - ord('a')] = cpy + ch
ml = 0
for i in range(26):
if len(lst[i]) > len(lst[ml]):
ml = i
print lst[ml]
IyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KIiIiClNweWRlciBFZGl0b3IKClRoaXMgaXMgYSB0ZW1wb3Jhcnkgc2NyaXB0IGZpbGUuCiIiIgoKIiIiClRoaXMgc29sdXRpb24gd29ya3MgaW4gTyhOICogMjYgKyBOKSBbaW4gd29yc3QgY2FzZV0gd2hpY2ggaXMgYmV0dGVyIHRoZW4KTyhOMikKIiIiCgojcyA9ICdlZHhlZHVjYXRpb24nCiNzID0gJ2RlZXBhbnNodScgICAgICAgICAgICAgICAgICNNeSBuYW1lIDopCiNzID0gJ2doYWFhd3h5emlqYmJia2xjY2MnCnMgPSAnYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXphYmNkdXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1Jwpsc3QgPSBbW10gZm9yIGkgaW4gcmFuZ2UoMjYpXQoKCmZvciBjaCBpbiBzOgoKICAgIG1sID0gMAoKICAgICMgcHJpbnQgb3JkKGNoKSAtIG9yZCgnYScpICAgI0RlYnVnIGl0IDotLyBJIGtub3cgeW91IG5haWxlZCBpdCA7KQoKICAgIGZvciBpIGluIHJhbmdlKDAsb3JkKGNoKSArIDEgLSBvcmQoJ2EnKSk6CgogICAgICAgICMgayA9IGxlbihsc3RbaV0pICAgICAgICAjRGVidWcgaXQgOi0vIEkga25vdyB5b3UgbmFpbGVkIGl0IDspICAgICAgIAoKICAgICAgICBpZiBsZW4obHN0W2ldKSA+IGxlbihsc3RbbWxdKToKICAgICAgICAgICAgbWw9IGkKCiAgICBjcHkgPSAnJy5qb2luKGxzdFttbF0pCgogICAgI2xzdFtvcmQoY2gpIC0gb3JkKCdhJyldID0gJycuam9pbihsc3Rbb3JkKGNoKSAtIG9yZCgnYScpXSkgKyBjaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjRGVidWcgaXQgOi0vIEkga25vdyB5b3UgbmFpbGVkIGl0IDspCgogICAgbHN0W29yZChjaCkgLSBvcmQoJ2EnKV0gPSBjcHkgKyBjaAoKICAgIAptbCA9IDAKZm9yIGkgaW4gcmFuZ2UoMjYpOgogICAgaWYgbGVuKGxzdFtpXSkgPiBsZW4obHN0W21sXSk6CiAgICAgICAgbWwgPSBpCnByaW50IGxzdFttbF0=