- letter list를 오름차순으로 sorting
- 오름차순으로 dfs 순회
- len(visit) == L일 때, 모음 최소 하나, 자음 최소 두개 조건을 만족하는 경우에 print
import sys
tmp = list(map(int, sys.stdin.readline()[:-1].split(' '))); L = tmp[0]; C = tmp[1]
letter = sys.stdin.readline()[:-1].split(' ')
letter.sort()
visit = []; check = {'a', 'e', 'i', 'o', 'u'}
def dfs(flag):
if len(visit) == L:
cnt1 = 0; cnt2 = 0
for j in range(L):
if visit[j] in check:
cnt1 += 1
else:
cnt2 += 1
if cnt1 >= 1 and cnt2 >= 2:
print("".join(map(str, visit)))
return
for i in range(flag, C):
if letter[i] not in visit:
visit.append(letter[i])
dfs(i)
visit.pop()
dfs(0)