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.*;
import java.util.*;
public class x
{
    public static void main(String args[])throws IOException
    {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        String z[]=br.readLine().split(" ");
        int n=Integer.parseInt(z[0]);
        int m=Integer.parseInt(z[1]);
        String s1=br.readLine();
        String s2=br.readLine();
        int i;
        int diff=0;
        char[] ch=new char[n];
        for(i=0;i<n;i++)
        {
            ch[i]='A';
            if(s1.charAt(i)!=s2.charAt(i))
            {
                diff++;
            }
        }
        if(m<diff/2||m>n)
        {
            System.out.println(-1);
        }
        else if(m==diff/2&&diff%2!=0)
        {
            System.out.println(-1);
        }
        else
        {
            int simi=n-m;
            int count=0;
            for(i=0;i<n;i++)
            {
                if(count<simi&&s1.charAt(i)==s2.charAt(i))
                {
                    ch[i]=s1.charAt(i);
                    count++;
                }
            }
            int count1=0;
            int count2=0;
            for(i=0;i<n;i++)
            {
                if(s1.charAt(i)!=s2.charAt(i))
                {
                    if(count+count1<simi&&count1<=count2)
                    {
                        ch[i]=s1.charAt(i);
                        count1++;
                    }
                    else if(count+count2<simi&&count1>count2)
                    {
                        //System.out.println("yy "+s2.charAt(i));
                        ch[i]=s2.charAt(i);
                        count2++;
                    }
                }
            }
            for(i=0;i<n;i++)
            {
                if(ch[i]=='A')
                {
                    int x=97;
                    while(x==s1.charAt(i)||x==s2.charAt(i))
                    {
                        x++;
                    }
                    ch[i]=(char)(x);
                }
            }
            //System.out.println(Arrays.toString(ch));
            for(i=0;i<n;i++)
            {
                System.out.print(ch[i]);
            }
        }
    }
}