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.BufferedReader;
import java.io.InputStreamReader;

public class Prob03 {
    
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] s0=br.readLine().split(" ");int n = Integer.parseInt(s0[0]);int t = Integer.parseInt(s0[1]);
        String s1=br.readLine();String s2=br.readLine();
        StringBuilder result = new StringBuilder();
        boolean first = true;
        int last = 0;
        int max = 0;
        for (int i = 0; i < n; i++) {
            if (s1.charAt(i)==s2.charAt(i)) {result.append(s1.charAt(i)); max++; continue;}
            if (first) {result.append(s1.charAt(i)); first=false;last=i;}
            else {result.append(s2.charAt(i)); first=true; max++;}
        }
        if (!first) {
            if (s1.charAt(last)!='a' && s2.charAt(last)!='a') result.replace(last, last+1, "a");
            else if (s1.charAt(last)!='b' && s2.charAt(last)!='b') result.replace(last, last+1, "b");
            else result.replace(last, last+1, "c");
        }
        int eq = n-t;
        if (eq > max) {System.out.println(-1);return;}
        int i=0;
        int eee=0;
        first = true;
        last = 0;
        while(true) {
            if (eee==eq) break;
            if (i==n) {System.out.println("-1");return;}
            if (s1.charAt(i)==s2.charAt(i)) eee++;
            else if (first) {first=false;last=i;}
            else {first=true;eee++;}
            i++;
        }
        if (!first) {
            if (s1.charAt(last)!='a' && s2.charAt(last)!='a') result.replace(last, last+1, "a");
            else if (s1.charAt(last)!='b' && s2.charAt(last)!='b') result.replace(last, last+1, "b");
            else result.replace(last, last+1, "c");
        }
        while (i < n) {
            if (s1.charAt(i)!='a' && s2.charAt(i)!='a') result.replace(i, i+1, "a");
            else if (s1.charAt(i)!='b' && s2.charAt(i)!='b') result.replace(i, i+1, "b");
            else result.replace(i, i+1, "c");
            i++;
        }
        System.out.println(result.toString());
    }

}