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.OutputStream;
import java.util.Arrays;
import java.util.Comparator;
import java.util.InputMismatchException;
import java.util.LinkedList;
import java.util.ListIterator;

public class C {
	

	public static void main(String[] args) throws Exception{
		Scan scan=new Scan();
		Print print=new Print();
		String a=scan.scanString();
		String b=scan.scanString();
		char sa[]=a.toCharArray();
		Arrays.sort(sa);
		char sb[]=b.toCharArray();
		Arrays.sort(sb);
		char ans[]=new char[sa.length];
		boolean pr[]=new boolean[sa.length];
		int lowa=0,higha=(sa.length-1)/2,lowb=higha+1,highb=sa.length-1;
		int var=0;
		int start=0,last=sa.length-1;
		for(int i=0;i<sa.length;i++)
		{
			if(i%2==0)
			{
				if(sa[lowa]<sb[highb])
				{
					ans[start]=sa[lowa];
					lowa++;
					start++;
				}
				else
				{
					ans[last]=sa[higha];
					higha--;
					last--;
				}
			}
			else
			{
				if(sa[lowa]<sb[highb])
				{
					ans[start]=sb[highb];
					highb--;
					start++;
				}
				else
				{
					ans[last]=sb[lowb];
					lowb++;
					last--;
				}
			}
		}
		for(int i=0;i<sa.length;i++)
			System.out.print(ans[i]);
		System.out.println();
	}
	
	
	private static class Scan
	{
		private byte[] buf=new byte[1024];
		private int index;
		private InputStream in;
		private int total;
		public Scan()
		{
			in=System.in;
		}
		public int scan()throws IOException
		{
			if(total<0)
			throw new InputMismatchException();
			if(index>=total)
			{
				index=0;
				total=in.read(buf);
				if(total<=0)
				return -1;
			}
			return buf[index++];
		}
		public int scanInt()throws IOException
		{
			int integer=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n))
			{
				if(n>='0'&&n<='9')
				{
					integer*=10;
					integer+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			return neg*integer;
		}
		public double scanDouble()throws IOException
		{
			double doub=0;
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			int neg=1;
			if(n=='-')
			{
				neg=-1;
				n=scan();
			}
			while(!isWhiteSpace(n)&&n!='.')
			{
				if(n>='0'&&n<='9')
				{
					doub*=10;
					doub+=n-'0';
					n=scan();
				}
				else throw new InputMismatchException();
			}
			if(n=='.')
			{
				n=scan();
				double temp=1;
				while(!isWhiteSpace(n))
				{
					if(n>='0'&&n<='9')
					{
						temp/=10;
						doub+=(n-'0')*temp;
						n=scan();
					}
					else throw new InputMismatchException();
				}
			}
			return doub*neg;
		}
		public String scanString()throws IOException
		{
			StringBuilder sb=new StringBuilder();
			int n=scan();
			while(isWhiteSpace(n))
			n=scan();
			while(!isWhiteSpace(n))
			{
				sb.append((char)n);
				n=scan();
			}
			return sb.toString();
		}
		private boolean isWhiteSpace(int n)
		{
			if(n==' '||n=='\n'||n=='\r'||n=='\t'||n==-1)
			return true;
			return false;
		}
	}
	
	private static class Print
	{
		private final OutputStream out;
		/*public Print(OutputStream outputStream)
		{
			writer=new PrintWriter(new BufferedWriter(new OutputStreamWriter(outputStream)));
		}*/
		public Print()
		{
			this.out=System.out;
		}
		public void print(String str)throws IOException
		{
			//buf=str.getBytes();
			for (int i = 0; i < str.length(); i++)
			{
				/*if (i != 0)
				out.write(' ');*/
				out.write(str.charAt(i));
			}
		}
		public void printLine(String str)throws IOException
		{
			print(str);
			out.write('\n');
		}
		public void close()throws IOException
		{
			out.close();
		}
	}
	
}
