#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <math.h>
#include <bitset>
#include <algorithm>
#include <climits>
using namespace std;
const int N=3e5+10;
char s[N],t[N],res[N];int n;
bool cmp(char x,char y){return x>y;}
int main(){
cin>>s+1>>t+1;
n=strlen(s+1);
sort(s+1,s+1+n);
sort(t+1,t+1+n,cmp);
int l=1,r=n,now=1,pos=-1;
int sl=1,tl=1,ns=n/2,nt=n/2;
if(n%2) ns++;
for(int i=1;i<=n;i++){
if(s[sl]>=t[tl]){pos=i;break;}
if(i%2==1) res[l++]=s[sl++];
else res[l++]=t[tl++];
}
if(pos%2==1){
for(int i=n;i>=l;i-=2) res[i]=s[ns--];
for(int i=n-1;i>=l;i-=2) res[i]=t[nt--];
}else{
for(int i=n;i>=l;i-=2) res[i]=t[nt--];
for(int i=n-1;i>=l;i-=2) res[i]=s[ns--];
}
for(int i=1;i<=n;i++) cout<<res[i];cout<<endl;
}