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

public class Main {

    public static void main( String[] args ) {
        InputReader scan = new InputReader( System.in );
        int n = scan.nextInt();
        int t = scan.nextInt();
        String s1 = scan.next();
        String s2 = scan.next();
        int eq = 0;
        for ( int i = 0; i < n; ++i ) {
            if ( s1.charAt( i ) == s2.charAt( i ) ) {
                ++eq;
            }
        }
        int diff = n - eq;
        if ( diff >= t ) {
            int v = ( diff - t ) * 2;
            if ( v > diff ) {
                System.out.print( -1 );
                System.exit( 0 );
            }
            int x = diff - t;
            int y = diff - t;
            for ( int i = 0; i < n; ++i ) {
                int c1 = s1.charAt( i ) - 'a';
                int c2 = s2.charAt( i ) - 'a';
                if ( c1 == c2 ) {
                    System.out.print( s1.charAt( i ) );
                    continue;
                }
                if ( x != 0 ) {
                    System.out.print( s1.charAt( i ) );
                    --x;
                    continue;
                }
                if ( y != 0 ) {
                    System.out.print( s2.charAt( i ) );
                    --y;
                    continue;
                }
                for ( int j = 0; j < 26; ++j ) {
                    if ( c1 != j && c2 != j ) {
                        System.out.print( (char) ( j + 'a' ) );
                        break;
                    }
                }
            }
        } else {
            t -= diff;
            for ( int i = 0; i < n; ++i ) {
                int c1 = s1.charAt( i ) - 'a';
                int c2 = s2.charAt( i ) - 'a';
                if ( c1 != c2 ) {
                    for ( int j = 0; j < 26; ++j ) {
                        if ( c1 != j && c2 != j ) {
                            System.out.print( (char) ( j + 'a' ) );
                            break;
                        }
                    }
                } else {
                    if ( t != 0 ) {
                        for ( int j = 0; j < 26; ++j ) {
                            if ( c1 != j ) {
                                System.out.print( (char) ( j + 'a' ) );
                                break;
                            }
                        }
                        --t;
                    } else {
                        System.out.print( (char) ( c1 + 'a' ) );
                    }
                }
            }
        }
    }

    private static class InputReader {
        public BufferedReader reader;
        public StringTokenizer tokenizer;

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

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

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

        public long nextLong() {
            return Long.parseLong( next() );
        }
    }
}