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.InputStream;
import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import java.io.InputStreamReader;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        InputReader in = new InputReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        TaskC solver = new TaskC();
        solver.solve(1, in, out);
        out.close();
    }

    static class TaskC {
        private char go(char a, char b) {
            for (char i = 'a'; i <= 'z'; ++i) {
                if (i != a && i != b) {
                    return i;
                }
            }
            return ' ';
        }

        public void solve(int testNumber, InputReader in, PrintWriter out) {
            int len = in.nextInt();
            int t = in.nextInt();

            int same = 0;
            char[] a = in.next().toCharArray();
            char[] b = in.next().toCharArray();
            for (int i = 0; i < len; ++i) {
                if (a[i] == b[i]) {
                    ++same;
                }
            }

            char[] result = new char[len];


            for (int take = 0; take <= len - same; ++take) {
                if ((len - same - take) % 2 != 0) {
                    continue;
                }
                if (t >= (len - same - take) / 2 + take
                        && t <= (len - same - take) / 2 + take + same) {
                    int c0 = take;
                    int c1 = (len - same - take) / 2;
                    int c2 = c1;
                    int c3 = t - take - (len - same - take) / 2;
                    for (int i = 0; i < len; ++i) {
                        if (a[i] == b[i]) {
                            if (c3 == 0) {
                                result[i] = a[i];
                            } else {
                                --c3;
                                result[i] = go(a[i], a[i]);
                            }
                        } else {
                            if (c0 > 0) {
                                --c0;
                                result[i] = go(a[i], b[i]);
                            } else if (c1 > 0) {
                                --c1;
                                result[i] = b[i];
                            } else if (c2 > 0) {
                                --c2;
                                result[i] = a[i];
                            } else {
                                throw new RuntimeException();
                            }
                        }
                    }
                    out.println(new String(result));
                    return;
                }
            }

            out.println(-1);
        }

    }

    static class InputReader {
        BufferedReader reader;
        StringTokenizer tokenizer;

        public InputReader(InputStream stream) {
            reader = new BufferedReader(new InputStreamReader(stream));
            tokenizer = null;
        }

        public String next() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch (Exception e) {
                    throw new UnknownError();
                }
            }
            return tokenizer.nextToken();
        }

        public int nextInt() {
            return Integer.parseInt(next());
        }

    }
}