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.
def TrueCount(a):
	c = 0
	for i in a:
		if(i == True):
			c += 1
	return c

def uniqueStrings(a,s):
	b = []
	c = []
	x = 0
	c.append(s[0])
	for i in range(len(s)):
		if s[i] not in c:
			b.append(s[x:i])
			c.append(s[i])
			x = i
	b.append(s[x:len(s)])
	return b

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

a = [False]*26

for i in s:
	a[ord(i) - ord('a')] = True

k = TrueCount(a)

if(k < n):
	print("NO")
else:
	print("YES")
	b = uniqueStrings(a,s)
	i = 0
	while(i < n-1):
		print(b[i])
		i += 1
	print(''.join(b[i:len(b)]))