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.
# Description of the problem can be found at http://codeforces.com/problemset/problem/544/A

n = int(input())
s = input()

s_s = set()
l_i = list()

for (i, c) in enumerate(s):
    if len(l_i) != n:
        if c not in s_s:
            if len(l_i) != 0:
                l_i[len(l_i) - 1][1] = i
            l_i.append([i, len(s)])
            
            s_s.add(c)
    else:
        break

if len(l_i) != n:
    print("NO")
else:
    print("YES\n" + "\n".join(s[l_i[i][0]:l_i[i][1]] for i in range(n)))