#include <bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
double PI = 4 * atan(1);
int last[26], l, r;
char ans[2][13];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  string second;
  cin >> second;
  for (int i = 0; i < 26; i++) last[i] = -1;
  for (int i = 0; i < second.length(); i++) {
    if (last[int(second[i] - 'A')] != -1) {
      l = last[second[i] - 'A'];
      r = i;
      break;
    } else
      last[second[i] - 'A'] = i;
  }
  int d = r - l;
  if (d == 1) {
    cout << "Impossible";
    return 0;
  } else if (d % 2 == 1) {
    ans[0][12 - d / 2] = second[l];
    for (int i = 13 - d / 2; i < 13; i++)
      ans[0][i] = second[i - 13 + d / 2 + l + 1];
    for (int i = 13 - d / 2; i < 13; i++)
      ans[1][i] = second[13 - d / 2 - i + r - 1];
    ans[1][12 - d / 2] = second[l - 1];
    int a = 12 - d / 2, b = l - 1;
    while (a > 0 && b > 0) {
      a--, b--;
      ans[1][a] = second[b];
    }
    while (b > 0) {
      b--;
      ans[0][a] = second[b];
      a++;
    }
    a = 12 - d / 2, b = r;
    while (a > 0 && b < 26) {
      a--, b++;
      ans[0][a] = second[b];
    }
    while (b < 26) {
      b++;
      ans[1][a] = second[b];
      a++;
    }
  } else {
    ans[0][13 - d / 2] = second[l];
    for (int i = 14 - d / 2; i < 13; i++)
      ans[0][i] = second[i - 14 + d / 2 + l + 1];
    for (int i = 13 - d / 2; i < 13; i++)
      ans[1][i] = second[13 - d / 2 - i + r - 1];
    int a = 13 - d / 2, b = l;
    while (a > 0 && b > 0) {
      a--, b--;
      ans[1][a] = second[b];
    }
    while (b > 0) {
      b--;
      ans[0][a] = second[b];
      a++;
    }
    a = 13 - d / 2, b = r;
    while (a > 0 && b < 26) {
      a--, b++;
      ans[0][a] = second[b];
    }
    while (b < 26) {
      b++;
      ans[1][a] = second[b];
      a++;
    }
  }
  for (int i = 0; i < 13; i++) cout << ans[0][i];
  cout << "\n";
  for (int i = 0; i < 13; i++) cout << ans[1][i];
}
