#include <bits/stdc++.h>
using namespace std;
int main() {
  string name;
  cin >> name;
  string right = "", left = "";
  int i = 0;
  for (; true; i++) {
    if (name[i] == '|') {
      break;
    }
    left += name[i];
  }
  i++;
  for (; i < name.length(); i++) {
    right += name[i];
  }
  int ll = left.length();
  int rl = right.length();
  string toAdd;
  cin >> toAdd;
  if (abs(rl - ll) == 0) {
    if (toAdd.length() % 2 == 0) {
      for (int i = 0; i < toAdd.length(); i += 2) {
        right += toAdd[i];
        left += toAdd[i + 1];
      }
      cout << left << "|" << right;
    } else {
      cout << "Impossible";
    }
  } else if (abs(rl - ll) == toAdd.length()) {
    if (rl > ll) {
      for (int i = 0; i < (rl - ll); i++) {
        left += toAdd[i];
      }
      cout << left << "|" << right;
    } else {
      for (int i = 0; i < (ll - rl); i++) {
        right += toAdd[i];
      }
      cout << left << "|" << right;
    }
  } else if (abs(ll - rl) < toAdd.length()) {
    if ((rl + ll + toAdd.length()) % 2 == 0) {
      if (rl > ll) {
        for (int i = 0; i < (rl - ll); i++) {
          left += toAdd[i];
        }
        for (int i = abs(ll - rl); i < toAdd.length(); i += 2) {
          right += toAdd[i];
          left += toAdd[i + 1];
        }
        cout << left << "|" << right;
      } else {
        for (int i = 0; i < (ll - rl); i++) {
          right += toAdd[i];
        }
        for (int i = abs(ll - rl); i < toAdd.length(); i += 2) {
          right += toAdd[i];
          left += toAdd[i + 1];
        }
        cout << left << "|" << right;
      }
    } else {
      cout << "Impossible";
    }
  } else {
    cout << "Impossible";
  }
  return 0;
}
