You are given a string q. A sequence of k strings s1, s2, ..., sk is called beautiful, if the concatenation of these strings is string q (formally, s1 + s2 + ... + sk = 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.

Input

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.

Output

If such sequence doesn't exist, then print in a single line "NO" (without the quotes). Otherwise, print in the first line "YES" (without the quotes) and in the next k lines print the beautiful sequence of strings s1, s2, ..., sk.

If there are multiple possible answers, print any of them.

Examples

Input

1
abca


Output

YES
abca


Input

2
aaacas


Output

YES
aaa
cas


Input

4
abc


Output

NO

Note

In the second sample there are two possible answers: {"aaaca", "s"} and {"aaa", "cas"}.
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()
'''