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 sys, os, io
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline

k = int(input())
q = list(input().rstrip().decode())
ans = ["YES"]
s, u = set(), []
for i in q:
    if not i in s:
        if u:
            ans.append("".join(u))
        u = [i]
        s.add(i)
    else:
        u.append(i)
if u:
    ans.append("".join(u))
if len(ans) <= k:
    ans = ["NO"]
else:
    while (len(ans) - 1) ^ k:
        ans[-2] += ans[-1]
        ans.pop()
sys.stdout.write("\n".join(ans))