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.
from sys import stdin, stdout    
    

def read_input():    
    #inputfile = open( "A.in" )    
    #input_string_array = inputfile.readlines()
    input_string_array = stdin.readlines()
    k = int (input_string_array[0])
    Q = input_string_array[1].strip()
    return [k, Q]



def process( k , Q ):
    beautiful_sequence = []
    actual_string = Q[0]
    if  k == 1:
        return [Q]
    for i in range( 1, len(Q) ):
        if actual_string[0] != Q[i]:
            beautiful_sequence.append(actual_string)
            actual_string = Q[i]
            k -= 1            
            if k == 1:
                if not Q[i:]:
                    return []
                else:
                    beautiful_sequence.append( Q[i:] )
                    return beautiful_sequence
        else:
            actual_string += Q[i]
    return []



def main():
    [ k , Q ] = read_input()
    beautiful_sequence = process( k , Q )
    if not beautiful_sequence:
        stdout.write("NO"+ '\n')
        
    else:
        stdout.write("YES"+ '\n')
        for subsequence in beautiful_sequence: 
            stdout.write(subsequence+ '\n')

if __name__ == "__main__":
    main() 

