#include <bits/stdc++.h>
using namespace std;
string tostr(long long x) {
  stringstream ss;
  ss << x;
  return ss.str();
}
long long toint(const string &s) {
  stringstream ss;
  ss << s;
  long long x;
  ss >> x;
  return x;
}
int main() {
  int i, j, f = 0;
  string a, b, c, s, t;
  cin >> s;
  for (i = 0; i < s.length(); i++) {
    if (s[i] == '|')
      f = 1;
    else {
      if (f)
        b += s[i];
      else
        a += s[i];
    }
  }
  cin >> t;
  int c1 = a.length(), c2 = b.length();
  if (c1 > c2) {
    for (i = 0; i < c1 - c2 && t[i]; i++) b += t[i];
    if (i != t.length())
      for (i = c1 - c2; t[i]; i++) {
        if (i % 2)
          a += t[i];
        else
          b += t[i];
      }
  } else {
    for (i = 0; i < c2 - c1 && t[i]; i++) a += t[i];
    if (i != t.length())
      for (i = c2 - c1; t[i]; i++) {
        if (i % 2)
          a += t[i];
        else
          b += t[i];
      }
  }
  if (a.length() != b.length())
    printf("Impossible\n");
  else
    cout << a << '|' << b << endl;
  return 0;
}
