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 PYTHON):

Solution:
def different(a,b):
	if a == 'a':
		return 'b' if b != 'b' else 'c';
	else:
		if b == 'a':
			return 'b' if a != 'b' else 'c';
		else:
			return 'a';

n,t = map(int,raw_input().split());
s1 = raw_input();
s2 = raw_input();

same = 0;
for i in range(n):
	same += s1[i] == s2[i];

out = [' ' for i in range(n)];
if t >= n - same:
	z = t - n + same
	for i in range(n):
		if s1[i] == s2[i]:
			if z:
				out[i] = 'a' if s1[i] != 'a' else 'b';
				z -= 1;
			else:
				out[i] = s1[i];
		else:
			out[i] = different(s1[i],s2[i]);

else:
	w = n - same;
	a = 2*t - w;
	b = (w - a) / 2;
	#print a,b;
	if a < 0 or (w - a)%2 == 1 or (w + a)%2 == 1 or (w + a)/2 != t:
		print -1;
	else:		
		c1 = c2 = 0;
		for i in range(n):
			if s1[i] == s2[i]:
				out[i] = s1[i];
			else:
				if c1 < b:
					out[i] = s2[i];
					c1 += 1;
				elif c2 < b:
					out[i] = s1[i];
					c2 += 1;
				else:
					out[i] = different(s1[i],s2[i]);
print ''.join(out);