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.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.util.*;
public class HashSimple {
	
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		MyScanner scan = new MyScanner();
	    out = new PrintWriter(new BufferedOutputStream(System.out));
	    
	    int k = scan.nextInt();
	    char [] q = scan.next().toCharArray();
	    
	    
	    
	    if(k > q.length){
	    	System.out.println("NO");
	    	System.exit(0);
	    }
	    else{
	    	int [] v = new int[200];
	    	String [] ans = new String[200];
	    	Arrays.fill(ans,"");
	    	int cont = 0;
	    	String s = "";
	    	
	    	for(int i = 0; i < q.length; i++){
	    		if(v[q[i]] == 0){
	    			v[q[i]] = 1;
	    			ans[cont] += q[i]; 
	    			cont++;
	    		}
	    		else{
	    			ans[cont - 1] += q[i];
	    		}
	    	}
	    	
	    	if(cont >= k){
	    		System.out.println("YES");
	    		if(k == 1){
	    			String ss = "";
	    			for(int i = 0; i < cont; i++)
		    			ss += ans[i];
	    			System.out.println(ss);
	    		}
	    		else{
	    			String ss = "";
	    			for(int i = 0; i < k - 1; i++)
		    			System.out.println(ans[i]);
	    			for(int i = k - 1;i < cont; i++)
	    				ss += ans[i];
	    			System.out.println(ss);
	    		}
	    		
	    	}
	    	else{
	    		System.out.println("NO");
	    	}
	    }
	    
		out.close();
	}
	
	
	
	public static PrintWriter out;
	 public static class MyScanner {
	      BufferedReader br;
	      StringTokenizer st;
	 
	      public MyScanner() {
	         br = new BufferedReader(new InputStreamReader(System.in));
	      }
	 
	      String next() {
	          while (st == null || !st.hasMoreElements()) {
	              try {
	                  st = new StringTokenizer(br.readLine());
	              } catch (IOException e) {
	                  e.printStackTrace();
	              }
	          }
	          return st.nextToken();
	      }
	 
	      int nextInt() {
	          return Integer.parseInt(next());
	      }
	 
	      long nextLong() {
	          return Long.parseLong(next());
	      }
	 
	      double nextDouble() {
	          return Double.parseDouble(next());
	      }
	 
	      String nextLine(){
	          String str = "";
		  try {
		     str = br.readLine();
		  } catch (IOException e) {
		     e.printStackTrace();
		  }
		  return str;
	      }

	   }
}

