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

Solution:
from sys import stdin,stdout
from collections import defaultdict
import math
#stdin = open('input.txt','r')

def other(a,b):
	x = a
	for i in range(26):
		c = chr(ord('a')+i)
		if(c != a and c!=b):
			return c



mod = 10**9+7
I = stdin.readline
P = stdout.write

n,t = map(int,I().split())
s1 = I().rstrip()
s2 = I().rstrip()
b = n-t
a = 0
same = []
for i in range(n):
	if(s1[i] == s2[i]): 
		a+=1
		same.append(i)
ans = ["0" for i in range(n)]


if(a>=b):
	for i in range(b):
		ans[same[i]] = s1[same[i]]
	#print(a,b)
	for i in range(n):
		if(ans[i] == "0"):
			ans[i] = other(s1[i],s2[i])
	print("".join(ans))
else:
	for j in same:
		ans[j] = s1[j]
	if(2*(b-a)<=(n-a)):
		now1 = b-a
		
		k,l = 0,0
		for i in range(n):
			if(ans[i] == "0"):
				if(k<now1):
					ans[i] = s1[i]
					k+=1
				else:
					if(l<now1):
						ans[i] = s2[i]
						l+=1
					else:
						ans[i] = other(s1[i],s2[i])
		print("".join(ans))
	else:
		print(-1)