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 Q3 {
   public static char diff(char a,char b){
     for(int i=0;i<26;i++)
     {
       char ch=(char)(97+i);
       if(ch!=a&&ch!=b)
        return ch;
     }
      return 'a';
   }
    public static void main(String[] args)throws IOException{
         BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
         PrintWriter writer=new PrintWriter(System.out);
         StringTokenizer st=new StringTokenizer(br.readLine()," ");
         int n=Integer.parseInt(st.nextToken());
         int t=Integer.parseInt(st.nextToken());
         String s1=br.readLine();
         String s2=br.readLine();
         char[] a1=s1.toCharArray();
         char[] a2=s2.toCharArray();
         char[] a3=new char[n];
         int same=n-t;
         int c=0;
         int[] v=new int[n];
         for(int i=0;i<n;i++)
         {
           if(c==same)
            break;
           if(a1[i]==a2[i])
            {
              a3[i]=a1[i];
              c++;
              v[i]=1;
            }
         }
         int c1=c;int c2=c;
         for(int i=0;i<n;i++)
         {
           if(c1<same)
           {
              if(v[i]!=1)
              {
                a3[i]=a1[i];
                c1++;
                v[i]=1;
              }
           }
           else
           break;
         }
         for(int i=0;i<n;i++)
         {
           if(c2<same)
           {
              if(v[i]!=1)
              {
                a3[i]=a2[i];
                c2++;
                v[i]=1;
              }
           }
           else
           break;
         }
         if(c1<same||c2<same)
          writer.println(-1);
         else
         { String ans="";
           for(int i=0;i<n;i++)
           {
             if(v[i]!=1)
              a3[i]=diff(a1[i], a2[i]);
             ans=ans+a3[i];
           }
           writer.println(ans);
         } 
         writer.flush();
         
    }
}