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.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

 
public class OOPS {
	
	static int n;
	static int k;
	
	static int[] arr;
	static int[] prev;
	
	public static void main(String[] args) throws NumberFormatException, IOException {
//		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		
		Scanner in = new Scanner(System.in);
		
		String[] line = in.nextLine().split("\\s+");
		
		int n = Integer.parseInt(line[0]);
		int k = Integer.parseInt(line[1]);
		
		char[] x = in.nextLine().toCharArray();
		char[] y = in.nextLine().toCharArray();
		
		
		if(k == 0) {
			System.out.println(new String(x).equalsIgnoreCase(new String(y)) ? new String(x) : -1);
		}
		else {
			
			List<List<Integer>> xList = new ArrayList<>();
			List<List<Integer>> yList = new ArrayList<>();

			for(int i=0; i<28; i++) {
				yList.add(new ArrayList<>());
				xList.add(new ArrayList<>());

			}
			
			
			int needX = n-k;
			int needY = n-k;
			
			char[] ans = new char[n];

			for(int i=0; i<n; i++) {
				if(needX > 0 && needY > 0 && x[i] == y[i]) {
					ans[i] = x[i];

					x[i] = '-';
					needX--;
					needY--;
				}
			}
		
			
			

			for(int i=0; i<n; i++) {
				
				if(x[i] == '-') {
					continue;
				}
				
				if(needX != 0) {
					ans[i] = x[i];
					needX--;
				}
				else if(needY != 0) {
					ans[i] = y[i];
					needY--;
				}
				else {
					
					
					char cur = 'a';
					for( ; cur<='z'; cur++) {
						if(cur != x[i] && cur!=y[i]) {
							break;
						}
					}
					
					ans[i] = cur;
				}
			}
			
			if(needX == 0 && needY == 0) {
				System.out.println(new String(ans));
			}
			else {
				System.out.println(-1);
			}
			

		}
	}
	
}