#include <algorithm> #include <cmath> #include <iostream> #include <vector> using namespace std; vector<int> getbits(int& n) { vector<int> bits; while (n != 0) { bits.push_back(n % 2); n /= 2; } while (bits.size() != 4) bits.push_back(0); return bits; } char bits_charac(vector<int>& bits) { int num = 0; for (int i = 0; i < 4; i++) { num += pow(2, 4 - i - 1) * bits[i]; } if (0 <= num && num <= 9) return char(num + '0'); else return char(num + 55); } void convert(char& c) { int value = -1; vector<int> bits; if ('0' <= c && c <= '9') value = c - '0'; else if ('A' <= c && c <= 'F') value = c - 55; else if ('a' <= c && c <= 'f') value = c - 87; if(value!=-1){ bits = getbits(value); c = bits_charac(bits); } } int main() { int i, j; string str, str1, str2; cin >> str1 >> str2; str = str1 + str2; str1.clear(); str2.clear(); for (i = 0; i < str.size(); i++) { if (i % 2 == 0) str1 += str[i]; else str2 += str[i]; } str.clear(); sort(str1.begin(), str1.end()); sort(str2.begin(), str2.end()); for (i = 0, j = 0; i < str1.size() && j < str2.size(); i++, j++) { str += str1[i]; str += str2[j]; } while (i != str1.size()) str += str1[i++]; while (j != str2.size()) str += str2[j++]; for (i=0; i<str.size(); i++) convert(str[i]); cout << str << endl; }