bcdef
abbbc
 z
y
 reddit
abcdef
 abc
aaa
 y
z
 cbxz
aaaa

bccdb
 z
 dfdeed
 aab
 y
 abac

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.HashMap;
import java.util.InputMismatchException;



public class Main
{
    static class Pair implements Comparable<Pair>{
        int pro, cus,diff;
        public Pair(int pro,int cus,int diff)
        {
            this.pro =  pro;
            this.cus = cus;
            this.diff = diff;
        }
        public int compareTo(Pair p1)
        {
            if(Integer.compare(this.diff,p1.diff)==0)
                return p1.cus-this.cus;
            else
                return p1.diff-this.diff;
        }
        
    }
	//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	static class Solution
	{
		static final long mod = 1000000007;
		static final int  max = 1000003;
		static final boolean SIEVE = false;
		static long[] powerof2 = new long[(int)3e5+5];
		static HashMap<Integer,Integer> mp = new HashMap<Integer,Integer>();
		boolean[] prime;
		ArrayList<Integer> al;
	    public void solve(InputReader sc,PrintWriter out) 
	    {
	       char[] ar = sc.next().toCharArray();
	       char[] br = sc.next().toCharArray();
	       int n = ar.length;
	       Arrays.sort(ar); Arrays.sort(br);
	       int j=0,k=n-1;
	       for(int i=0;i<n;i++)
	       {
	           if((i&1)==0)
	           {
	               out.print(ar[j]);
	               j++;
	           }
	           else
	           {
	               out.print(br[k]);
	               k--;
	           }
	       }
    	}
    
        

    	///////////////////////////////Methods///////////////////////////////////////////////////////
       int lower_bound(int n, int x) {
    		int l = 0;
    		int h = n; // Not n - 1
    		while (l < h) {
        		int mid = (l + h) / 2;
        		if (x <= al.get(mid)) {
            		h = mid;
        		} else {
            		l = mid + 1;
        		}
    		}
    		return l;
		}
    	long fib(long n)
        {
			if(n==0) return 0;
			long a=0, b=1, c=1, d=1, e=n-2;
			long a1, b1, c1, d1, a2=0, b2=1, c2=1, d2=1;
			
			while(e>0){
				if(e%2==1){
					a1 = (a*a2+b*c2)%mod;
					c1 = (c*a2+d*c2)%mod;
					b1 = (a*b2+ b*d2)%mod;
					d1 = (b2*c+ d*d2)%mod;
					a=a1; b=b1; c=c1; d= d1;
				}
				a1 = (a2*a2+b2*c2)%mod;
				c1 = (c2*a2+d2*c2)%mod;
				b1 = (a2*b2+ b2*d2)%mod;
				d1 = (b2*c2+ d2*d2)%mod;
				a2=a1; b2=b1; c2=c1; d2= d1;
				e /= 2;
			}
			return d;
        } 
        ///////////////////////////////////////Methods/////////////////////////////////////////////////////
 	}


 	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 	
	Main() throws IOException {
	   	InputReader sc = new InputReader();
	    PrintWriter out= new PrintWriter(System.out);
	    final long start = System.currentTimeMillis();		
		new Solution().solve(sc,out);
		@SuppressWarnings("unused")
		final long duration = System.currentTimeMillis()-start;
		out.close();
	}
 
	public static void main(String args[]) {
		new Thread(null, new Runnable() {
			public void run() {
				try {
					new Main();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}, "1", 1 << 26).start();
	}
	static class InputReader{
		final InputStream stream;
		final byte[] buf = new byte[8192];
		int curChar, numChars;
		SpaceCharFilter filter;
 
		public InputReader(){
			this.stream = System.in;
		}
 
		public int read(){
			if(numChars == -1){
				throw new InputMismatchException();
			}
			if(curChar >= numChars){
				curChar = 0;
				try{
					numChars = stream.read(buf);
				} catch(IOException e){
					throw new InputMismatchException();
				}
				if(numChars <= 0)
					return -1;
			}
			return buf[curChar++];
		}
 
		public int nextInt(){
			int c = read();
			while(isSpaceChar(c))
				c = read();
			int sgn = 1;
			if(c == '-'){
				sgn = -1;
				c = read();
			}
			int res = 0;
			do{
				if(c<'0' || c>'9'){
					throw new InputMismatchException();}
				res *= 10;
				res += c - '0';
				c = read();
			} while(!isSpaceChar(c));
			return res*sgn;
		}
 
		public long nextLong(){
			int c = read();
			while(isSpaceChar(c))
				c = read();
			int sgn = 1;
			if(c == '-'){
				sgn = -1;
				c = read();
			}
			long res = 0;
			do{
				if(c<'0' || c>'9')
					throw new InputMismatchException();
				res *= 10;
				res += c - '0';
				c = read();
			} while(!isSpaceChar(c));
			return res*sgn;
		}
 
		public String next(){
			int c = read();
			while(isSpaceChar(c))
				c = read();
			StringBuilder res = new StringBuilder();
			do{
				res.appendCodePoint(c);
				c = read();
			}while(!isSpaceChar(c));
			return res.toString();
		}
 
		public boolean isSpaceChar(int c){
			if(filter != null)
				return filter.isSpaceChar(c);
			return c==' ' || c=='\n' || c=='\r' || c=='\t' || c==-1;
		}
 
		public interface SpaceCharFilter{
			public boolean isSpaceChar(int ch);
		}
	}

}