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.math.BigInteger;
import java.util.LinkedList;
import java.util.Scanner;
import java.util.StringTokenizer;

public class Main{
    public static void main(String args[]) throws IOException
    {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;
        st=new StringTokenizer(br.readLine());
        int n=Integer.parseInt(st.nextToken());
        int t=Integer.parseInt(st.nextToken());
        int same=n-t;
        int spac=n;
        char c1[]=br.readLine().toCharArray();
        char c2[]=br.readLine().toCharArray();
        char c[] =new char[n];
        for(int i=0;i<n && same!=0;i++)
        {
            if(c1[i]==c2[i])
            {
                c[i]=c1[i];
                same--;
                spac--;
            }
        }
        if(spac<2*same)
        {
            System.out.print(-1);
            return ;
        }
        int asame=same;
        int bsame=same;
        int count=-1;
        while(asame!=0 || bsame!=0)
        {
            count++;
            if(c[count]!=0)
                continue;
            if(bsame>asame)
            {
                c[count]=c2[count];
                bsame--;
            }
            else 
            {
                c[count]=c1[count];
                asame--;
            }
        }
        while(count<n-1)
        {
            count++;
            if(c[count]!=0)
                continue;
            c[count]=different(c1[count],c2[count]);
        }
        System.out.print(String.valueOf(c));
    }
    public static char different(char ch1,char ch2)
    {
        for(char i='a';i<='z';i++)
        {
            if(i!=ch1 && i!=ch2) return i;
        }
        return 0;
    }
}