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:
n, t = tuple(map(int, input().split()))
s1 = input()
s2 = input()
dif = []
same = []
for i in range(n):
    if s1[i] != s2[i]: dif.append(i)
    else: same.append(i)
s3 = list(s2)
if len(dif) > 2 * t or t > n:
    print(-1)
    exit(0)
l = len(dif)
if len(dif) <= t:
    for i in dif:
        s3[i] = 'a'
        if s1[i] == 'a' or s2[i] == 'a': 
            s3[i] = 'b'
            if s1[i] == 'b' or s2[i] == 'b': 
                s3[i] = 'c'
    for i in range(t-l):
        a = same[i]
        s3[a] = 'a'
        if s1[a] == 'a':
            s3[a] = 'b'

else:
    for i in range(l-t):
        a = dif[i]
        s3[a] = s1[a]
    for i in range(l-t, 2*(l-t)):
        a= dif[i]
        s3[a] = s2[a]
    for a in range(2 * (l-t), l):
        i = dif[a]
        s3[i] = 'a'
        if s1[i] == 'a' or s2[i] == 'a': 
            s3[i] = 'b'
            if s1[i] == 'b' or s2[i] == 'b': 
                s3[i] = 'c'        
print(''.join(s3))