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 javax.swing.text.MutableAttributeSet;
import java.io.*;
import java.util.*;


  public class Main {


      public static void main(String[] args) throws IOException {
          Scanner input = new Scanner(System.in);
          int n = input.nextInt();
          int t = input.nextInt();
          input.nextLine();
          String str1 = input.nextLine();
          String str2 = input.nextLine();
          int counter = 0;
          for (int i = 0; i < n; i++) {
              if (str1.charAt(i) != str2.charAt(i))
                  counter++;
          }

          if(t == 0 && counter == 1) {
              System.out.println(-1);
              return;
          }

          if(t < (counter+1)/2) {
              System.out.println(-1);
              return;
          }

          int count = 0;
          boolean first = true;
          int i = 0;
          StringBuilder ans = new StringBuilder(str1);
          while (counter - count/2 > t) {
                  if (str1.charAt(i) != str2.charAt(i)) {
                     if(first)ans.setCharAt(i,str1.charAt(i));
                     else ans.setCharAt(i,str2.charAt(i));
                     first ^= true;
                     count++;
                  }
              i++;
          }
          t -= count/2;

          for (;i < n; i++) {
              if (str1.charAt(i) != str2.charAt(i)) {
                  for (int j = 0; j < 26; j++)
                      if (j + 'a' != str1.charAt(i) && j+'a' != str2.charAt(i)) {
                          ans.setCharAt(i, (char) (j + 'a'));
                          t--;
                          break;
                      }
              }
          }


          for ( i = 0; i < n; i++) {
              if (str1.charAt(i) == str2.charAt(i) && t > 0) {
                  for (int j = 0; j < 26; j++)
                      if (j + 'a' != str1.charAt(i)) {
                          ans.setCharAt(i, (char) (j + 'a'));
                          t--;
                          break;
                      }
              }
          }



          System.out.println(ans);
      }
  }