#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6 + 5;
const int mod = 1e9 + 7;
const int inf = INT_MAX >> 1;
char s[30];
map<char, int> mp;
char ans[30];
char t[30];
int tn;
int main() {
  scanf("%s", s + 1);
  mp.clear();
  int l, r;
  tn = 0;
  for (int i = 1; i <= 27; i++) {
    mp[s[i]]++;
    if (mp[s[i]] == 2) {
      r = i;
      for (int j = 1; j < i; j++) {
        if (s[j] == s[i]) {
          l = j;
        }
      }
    }
  }
  if (r - l == 1)
    printf("Impossible\n");
  else {
    int k = 1;
    for (int i = (l + 1 + r + 1) / 2; i <= r; i++) {
      ans[k++] = s[i];
    }
    for (int i = l - 1; i >= 1; i--) {
      ans[k++] = s[i];
    }
    if (k < 14) {
      for (int i = 27; i > r && k < 14; i--) {
        ans[k++] = s[i];
      }
    } else if (k > 14) {
      int temp = 26;
      int st = 14;
      tn = 1;
      while (st < k) {
        t[tn++] = ans[st++];
      }
      k = 14;
    }
    for (int i = (l + 1 + r + 1) / 2 - 1; i > l && k < 28; i--) {
      ans[k++] = s[i];
    }
    for (int i = r + 1; i <= 27 && k < 27; i++) {
      ans[k++] = s[i];
    }
    for (int i = tn - 1; i >= 1; i--) {
      ans[k++] = t[i];
    }
    for (int i = 1; i <= 26; i++) {
      printf("%c", ans[i]);
      if (i == 13) printf("\n");
    }
    printf("\n");
  }
}
