Problem: Marina loves strings of the same length and Vasya loves when there is a third string, different from them in exactly t characters. Help Vasya find at least one such string.

More formally, you are given two strings s1, s2 of length n and number t. Let's denote as f(a, b) the number of characters in which strings a and b are different. Then your task will be to find any string s3 of length n, such that f(s1, s3) = f(s2, s3) = t. If there is no such string, print  - 1.

Input

The first line contains two integers n and t (1 ≤ n ≤ 105, 0 ≤ t ≤ n).

The second line contains string s1 of length n, consisting of lowercase English letters.

The third line contain string s2 of length n, consisting of lowercase English letters.

Output

Print a string of length n, differing from string s1 and from s2 in exactly t characters. Your string should consist only from lowercase English letters. If such string doesn't exist, print -1.

Examples

Input

3 2
abc
xyc


Output

ayd

Input

1 0
c
b


Output

-1

Solution (in JAVA):

Solution:
import java.util.*;

public class marina_and_vasya
{
    static int n, t, s, d;

    static String str1, str2;

    static char[] res;

    public static void main( String[] args )
    {
        Scanner in = new Scanner( System.in );
        n = in.nextInt();
        t = in.nextInt();
        str1 = in.next();
        str2 = in.next();
        res = new char[n];
        s = 0;
        d = 0;
        for ( int i = 0; i < n; i++ )
            if ( str1.charAt( i ) == str2.charAt( i ) )
                s++;
            else
                d++;
        if ( t > s + d || 2 * t < d )
            System.out.println( -1 );
        else
        {
            int a = 2 * t - d;
            boolean f = true;
            for ( int i = 0; i < n; i++ )
                if ( str1.charAt( i ) != str2.charAt( i ) )
                    if ( a != 0 )
                    {
                        res[i] = not( str1.charAt( i ), str2.charAt( i ) );
                        a--;
                        t--;
                    }
                    else
                    {
                        if ( f )
                            res[i] = str1.charAt( i );
                        else
                        {
                            res[i] = str2.charAt( i );
                            t--;
                        }
                        f = !f;
                    }
            for ( int i = 0; i < n; i++ )
                if ( str1.charAt( i ) == str2.charAt( i ) && t != 0 )
                {
                    res[i] = not( str1.charAt( i ), str2.charAt( i ) );
                    t--;
                }
                else if ( str1.charAt( i ) == str2.charAt( i ) )
                    res[i] = str1.charAt( i );
            for ( int i = 0; i < n; i++ )
                System.out.print( res[i] );
        }
        in.close();
        System.exit( 0 );
    }

    public static char not( char c1, char c2 )
    {
        for ( int i = 97; i < 123; i++ )
            if ( i != c1 && i != c2 )
                return (char)i;
        return (char)0;
    }
}