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.util.Scanner;

public class p1 {

	public static void main(String[] args){
		Scanner input = new Scanner(System.in);
		int num = input.nextInt();
		String str = input.next();
		
		int len = str.length();
		char[] alpha = new char[len];
		for(int i =0; i<len; i++)
			alpha[i] = str.charAt(i);
		
		char[] first_alpha = new char[len];
		
		int count_same = 0;
		int count_f = 0;
		for(int i=0; i<len; i++){
			for(int j=i; j<len; j++){
				if(alpha[i] == ' '){
					count_f = i+1;
					break;
				}
				
				if(count_f == i){
					first_alpha[count_same] = alpha[i];
					count_same++;	
					count_f = i+1;
				}
				if(i != len-1){
					if(j == len-1)
						continue;
					if(alpha[i] == alpha[j+1])
						alpha[j+1] = ' ';
				}
			}
		}
		
		for(int i =0; i<len; i++)
			alpha[i] = str.charAt(i);
		
		if(count_same < num){
			System.out.println("NO");
		}
		else{
			System.out.println("YES");
			
			int count = 0;
			
			for(int j=0; j<num-1; j++){
				for(int i=count; i<len-1;i++){
					
					System.out.print(alpha[i]);
					count++;
					if(alpha[i] != alpha[i+1]){
						boolean decision = true;
						for(int k=0; k<j+1; k++){
							if(alpha[i+1] == first_alpha[k])
								decision = false;
						}
						if(decision){
							System.out.println();
							break;
						}
					}
				}
			}
			
			for(int i=count; i<len; i++){
				System.out.print(alpha[i]);
			}
			
		}
		
		input.close();
	}
}
