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 java.io.InputStreamReader;
import java.util.*;

/**
 * Created by Nika on 4/30/2015.
 */
public class Main {
    private static Scanner sc = new Scanner(new InputStreamReader(System.in));
    public static void main(String[] args) {
        Set<Character> set = new HashSet<>();
        int n = sc.nextInt();
        String q = sc.next();
        List<String> result = new ArrayList<>();
        for (int i=0; i<q.length(); i++) {
            Character c = new Character(q.charAt(i));
            if (!set.contains(c)) {
                if (result.size() == (n-1)){
                    result.add(q.substring(i));
                    set.add(c);
                    break;
                }

                int index = i+1;
                if (index>=q.length()) break;
                Character c1 = q.charAt(index);
                set.add(c);
                while (index+1<q.length() && set.contains(c1)) {
                    index++;
                    c1 = q.charAt(index);
                }
                result.add(q.substring(i, index));
                i = index-1;
            }
        }

        if (set.size() >= n) {
            System.out.println("YES");
            result.forEach(System.out::println);
        } else {
            System.out.println("NO");
        }
    }
}
