depth=6
ls=['a','b','c','d','e','f','g','h','i']
lp=[]
def comb(i,depth):
if depth==0:
print(lp)
return
for i in range(i,len(ls)):
lp.append(ls[i])
comb(i+1,depth-1)
lp.pop()
comb(0,depth)
def perm(ls,l,r):
if l>=r:
print(ls)
else:
for i in range(l,r+1):
ls[i],ls[l]=ls[l],ls[i]
perm(ls,l+1,r)
ls[i],ls[l]=ls[l],ls[i]
perm(ls,0,len(ls)-1)