#include <bits/stdc++.h>
int main() {
  int lsum = 0, rsum = 0;
  char a[27], b[27];
  scanf("%s", a);
  scanf("%s", b);
  int i;
  for (i = 0; a[i] != '|'; i++) {
    lsum++;
  }
  i++;
  for (i; a[i] != '\0'; i++) {
    rsum++;
  }
  if (lsum == rsum) {
    if (strlen(b) % 2 != 0) {
      printf("Impossible\n");
      return 0;
    } else {
      for (int j = 0; j < lsum; j++) {
        printf("%c", a[j]);
      }
      int j;
      for (j = 0; j < strlen(b) / 2; j++) {
        printf("%c", b[j]);
      }
      for (int k = lsum; k < lsum + 1 + rsum; k++) {
        printf("%c", a[k]);
      }
      for (j; b[j] != '\0'; j++) {
        printf("%c", b[j]);
      }
      printf("\n");
    }
  } else if (lsum > rsum) {
    int k = lsum - rsum, j = strlen(b);
    if (k < j && (k - j) % 2 != 0) {
      printf("Impossible\n");
    } else if (k > j) {
      printf("Impossible\n");
    } else {
      for (int s = 0; s < lsum; s++) {
        printf("%c", a[s]);
      }
      for (int s = 0; s < (j - k) / 2; s++) {
        printf("%c", b[s]);
      }
      for (int s = lsum; s < lsum + 1 + rsum; s++) {
        printf("%c", a[s]);
      }
      for (int s = (j - k) / 2; b[s] != '\0'; s++) {
        printf("%c", b[s]);
      }
      printf("\n");
    }
  } else {
    int k = rsum - lsum, j = strlen(b);
    if (k < j && (k - j) % 2 != 0) {
      printf("Impossible\n");
    } else if (k > j) {
      printf("Impossible\n");
    } else {
      for (int s = 0; s < lsum; s++) {
        printf("%c", a[s]);
      }
      for (int s = 0; s < k + (j - k) / 2; s++) {
        printf("%c", b[s]);
      }
      for (int s = lsum; s < lsum + 1 + rsum; s++) {
        printf("%c", a[s]);
      }
      for (int s = k + (j - k) / 2; b[s] != '\0'; s++) {
        printf("%c", b[s]);
      }
      printf("\n");
    }
  }
}
