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


public class Toys {
static char c1[],c2[];
static char v[];
static int N,t;
static StringTokenizer st;
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[]args)throws Throwable{
	st = new StringTokenizer(br.readLine());
	N = Integer.parseInt(st.nextToken()); t = Integer.parseInt(st.nextToken());
	c1 = br.readLine().toCharArray();
	c2 = br.readLine().toCharArray();
	v = new char[N];
	int cnt = 0;
	for(int i=0;i<N;i++){
		if(c1[i]==c2[i]) v[i]=c1[i];
		else{
			cnt++;
			for(int j=0;j<26;j++) if((char)(j+'a')!=c1[i]&&((char)(j+'a'))!=c2[i]) v[i] =(char)( j+'a');
		}
	}
	//System.out.println(cnt);
	if(cnt>t){
		boolean one=false;
		char k = 'z';
		for(int i=0;i<N;i++){
			if(cnt==t)break;
			if(c1[i]!=c2[i]){
				//for(int j=0;j<26;j++) if((char)(j+'a')!=c1[i]&&((char)(j+'a'))!=c2[i]) k =(char)( j+'a');
			
			  if(one){
				  v[i] = c1[i];
				  one = false; 
				  cnt--;
			  }
			  else {
				  one = true;
				  v[i] =c2[i];
			  }

			}
			
		}
		if(cnt!=t) System.out.println("-1");
		else{
			StringBuilder sb = new StringBuilder();
			for(int i=0;i<N;i++)sb.append(v[i]);
			System.out.println(sb);
			
		}
	}
	else{
		for(int i=0;i<N;i++){
			if(cnt==t)break;
			if(c1[i]==c2[i]){
				for(int j=0;j<26;j++) if((char)(j+'a')!=c1[i]&&((char)(j+'a'))!=c2[i]) v[i] =(char)( j+'a');
				
				cnt++;
			}
		}
		if(t!=cnt){
			System.out.println("-1");
			return;
		}
		StringBuilder sb = new StringBuilder();
		for(int i=0;i<N;i++)sb.append(v[i]);
		System.out.println(sb);
	}
}
}