You are given a string *q*. A sequence of *k* strings *s*<sub class="lower-index">1</sub>, *s*<sub class="lower-index">2</sub>, ..., *s*<sub class="lower-index">*k*</sub> is called beautiful, if the concatenation of these strings is string *q* (formally, *s*<sub class="lower-index">1</sub> + *s*<sub class="lower-index">2</sub> + ... + *s*<sub class="lower-index">*k*</sub> = *q*) and the first characters of these strings are distinct.

Find any beautiful sequence of strings or determine that the beautiful sequence doesn't exist.
The first line contains a positive integer *k* (1 ≤ *k* ≤ 26) — the number of strings that should be in a beautiful sequence. 

The second line contains string *q*, consisting of lowercase Latin letters. The length of the string is within range from 1 to 100, inclusive.
import time
import string
class Profiler(object):
    def __enter__(self):
        self._startTime = time.time()

    def __exit__(self, type, value, traceback):
        print("Elapsed time: {:.3f} sec".format(time.time() - self._startTime))


k = int(input())
s = input()
#b = list(map(int, input().split()))

m = {}
for el in string.ascii_lowercase:
    m[el] = 0
if len(set(s)) < k:
    print('NO')
else:
    i = 0
    t = []
    while i < len(s):
        if k == 1:
            t.append(s[i:])
            break
        if m[s[i]] == 0:
            m[s[i]] = 1
            tmp = s[i]
            i += 1
            while i < len(s) and m[s[i]]:
                tmp += s[i]
                i += 1
            t.append(tmp)
            k -= 1
        else:
            i += 1
    print('YES')
    for el in t:
        print(el)

'''
fin = open("input.txt")
fout = open("output.txt", "w")

n = int(fin.readline())
cases = list()

for i in range(n):
    fin.readline()
    cases.append(list(fin.readline().split()))

for i in range(1, len(cases)+1):
    cur_min = 1001
    added_min = 0
    lst = list(map(int, cases[i-1]))
    while max(lst) > 1:
        mmax = max(lst)
        if cur_min > mmax + added_min:
            cur_min = mmax + added_min
        count_max = lst.count(mmax)
        tmp_lst = list()
        for sym in lst:
            if sym is not mmax:
                tmp_lst.append(sym)
            else:
                if sym % 2 is 0:
                    tmp_lst.append(sym//2)
                    tmp_lst.append(sym//2)
                else:
                    tmp_lst.append(sym//2)
                    tmp_lst.append(sym//2 + 1)
        added_min += count_max
        lst = tmp_lst.copy()



    fout.write("Case #" + i.__str__() + ": " + cur_min.__str__() + "\n")
fin.close()
fout.close()
'''