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.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

public class C {
	int n;
	int t;
	String s1;
	String s2;
	
	void readInput() throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String s = br.readLine();
		String ss[] = s.split(" ");
		n = Integer.parseInt(ss[0]);
		t = Integer.parseInt(ss[1]);
		s1 = br.readLine();
		s2 = br.readLine();
	}
	
	char getDiff(char a, char b){
		char rez = 'a';
		while(rez==a || rez==b){
			rez = (char)((int)rez+1);
		}			
		return rez;
	}
	
	void solve(){
		int eq = 0;		
		for(int i=0; i<n; i++)		
			if (s1.charAt(i)==s2.charAt(i))			
				eq++;
		int neq = n-eq;
		int s = t-neq;
		int r1 = -s, r2 = -s;				
		StringBuilder sb = new StringBuilder();
		for(int i=0; i<n; i++){
			if (s1.charAt(i)!=s2.charAt(i))
				if (r1>0 && r1>=r2){
					sb.append(s1.charAt(i));
					r1--;
				}
				else if (r2>0){
					sb.append(s2.charAt(i));
					r2--;
				}
				else
					sb.append(getDiff(s1.charAt(i),s2.charAt(i)));
			else if (s>0){
				sb.append(getDiff(s1.charAt(i),s1.charAt(i)));
				s--;
			}
			else
				sb.append(s1.charAt(i));
		}
		if (r1>0 || r2>0 || s>0)
			System.out.println(-1);
		else
			System.out.println(sb);	
	}
	
	public static void main(String[] args) throws IOException {
		C c = new C();
		c.readInput();
		c.solve();
	}
}