def PrintSubstringWithKDistinctChars(s, k) :
lst = list()
i = 0
while (i < len(s)) :
ch = s[i]
tmp = "" + str(ch)
st = set()
st.add(ch)
j = i + 1
while (j < len(s)) :
next_ch = s[j]
st.add(next_ch)
tmp += next_ch
if (len(tmp) >= k and len(st) == k) :
lst.append(tmp)
j += 1
i += 1
print(lst)
_str = "characters"
k = 4
PrintSubstringWithKDistinctChars(_str, k)
'''
run:
['char', 'chara', 'charac', 'harac', 'aract', 'ract', 'acte', 'cter', 'ters']
'''