#include <bits/stdc++.h>
using namespace std;
char text[4000008], pattern[1000005];
std::vector<int> pi;
int Pat_len, Text_len;
void PrefixFun() {
  pi.resize(Pat_len + 1);
  pi[1] = 0;
  int k = 0;
  for (int q = 2; q < Pat_len; q++) {
    while (k > 0 && pattern[k + 1] != pattern[q]) k = pi[k];
    if (pattern[q] == pattern[k + 1]) k++;
    pi[q] = k;
  }
}
int matchFun() {
  int minShift = 0;
  int k = 0;
  int bestMatch = 0;
  for (int i = 1; i <= Text_len + Text_len; i++) {
    while (k > 0 && pattern[k + 1] != text[i]) k = pi[k];
    if (pattern[k + 1] == text[i]) k++;
    if (bestMatch < k) {
      bestMatch = k;
      minShift = i - k;
    }
  }
  return minShift;
}
std::string solved() {
  std::string s, t;
  cin >> s;
  cin >> t;
  int n = s.size();
  int hDist = 0;
  for (int i = 0; i < n; i++) {
    if (s[i] != t[i]) hDist++;
  }
  if (hDist % 2 == 1) return "impossible";
  int bit = 0;
  string ss = "01";
  string p = "";
  for (int i = 0; i < n; i++) {
    if (s[i] == t[i])
      p += s[i];
    else {
      if (bit)
        p += t[i];
      else
        p += s[i];
      bit ^= 1;
    }
  }
  return p;
}
int main() {
  cout << solved() << endl;
  return 0;
}
