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

/**
 * Created by Юля on 18.09.2015.
 */
public class SolverC {
    public static void main(String[] args) throws IOException {
        new SolverC().run();
    }

    BufferedReader br;
    PrintWriter pw;
    StringTokenizer tokenizer;

    public String nextToken() throws IOException {
        if (tokenizer == null || !tokenizer.hasMoreTokens()) {
            tokenizer = new StringTokenizer(br.readLine());
        }
        return tokenizer.nextToken();
    }

    public int nextInt() throws IOException, NumberFormatException {
        return Integer.parseInt(nextToken());
    }

    public long nextLong() throws IOException, NumberFormatException {
        return Long.parseLong(nextToken());
    }

    public double nextDouble() throws IOException, NumberFormatException {
        return Double.parseDouble(nextToken());
    }

    public void run() throws IOException {
//        br = new BufferedReader(new FileReader("input.txt"));
//        pw = new PrintWriter("output.txt");
        br = new BufferedReader(new InputStreamReader(System.in));
        pw = new PrintWriter(new OutputStreamWriter(System.out));

        solve();

        pw.flush();
        pw.close();
    }

    private void solve() throws IOException {
        int len=nextInt();
        int f=nextInt();
        String str1=nextToken();
        String str2=nextToken();
        int kolDiff=0;
        int kolSame=0;
        for (int i=0; i<len; i++) {
            if (str1.charAt(i)==str2.charAt(i)) {
                kolSame++;
            } else {
                kolDiff++;
            }
        }
        if ((kolDiff+1)/2>f || f>len){
            pw.println(-1);
            return;
        }
        char[] result = new char[len];
        int f1=kolDiff;
        int f2=kolDiff;
        for (int i=0; i<len; i++) {
            if (str1.charAt(i)!= str2.charAt(i)){
                if (f1>f) {
                    result[i]=str1.charAt(i);
                    f1--;
                } else {
                    if (f2>f) {
                        result[i]=str2.charAt(i);
                        f2--;
                    } else {
                        if (str1.charAt(i)!='a' && str2.charAt(i)!='a'){
                            result[i]='a';
                        } else if (str1.charAt(i)!='b' && str2.charAt(i)!='b'){
                            result[i]='b';
                        } else {
                            result[i]='c';
                        }
                    }
                }
            }
        }
        for (int i=0; i<len; i++) {
            if (str1.charAt(i)== str2.charAt(i)){
                if (f1<f) {
                    if (str1.charAt(i)!='a'){
                        result[i]='a';
                    } else {
                        result[i]='b';
                    }
                    f1++;
                    f2++;
                } else {
                    result[i]=str1.charAt(i);
                }
            }
        }
        for (int i=0; i<len; i++) {
            pw.print(result[i]);
        }
        pw.println();
    }
}