#include <bits/stdc++.h>
using namespace std;
char ans[2][13];
pair<int, int> nx[2][13], ls[2][13];
int main() {
  for (int i = 1; i < 13; i++) {
    nx[0][i] = {0, i - 1};
    ls[0][i - 1] = {0, i};
  }
  nx[0][0] = {1, 0};
  ls[1][0] = {0, 0};
  for (int i = 0; i < 12; i++) {
    nx[1][i] = {1, i + 1};
    ls[1][i + 1] = {1, i};
  }
  nx[1][12] = {0, 12};
  ls[0][12] = {1, 12};
  string s, t;
  cin >> s;
  int ii = 0, jj = 0;
  for (int i = 0; i < s.size(); i++)
    for (int j = i + 1; j < s.size(); j++)
      if (s[i] == s[j]) ii = i, jj = j;
  for (int i = 0; i < s.size(); i++)
    if (i != jj) t += s[i];
  int dis = jj - ii - 1;
  if (!dis) return cout << "Impossible" << endl, 0;
  ans[0][dis / 2] = s[ii];
  int x = 0, y = dis / 2;
  for (int i = 0; i < ii; i++) {
    auto ll = ls[x][y];
    x = ll.first, y = ll.second;
    ans[x][y] = t[ii - i - 1];
  }
  x = 0, y = dis / 2;
  for (int i = ii + 1; i < t.size(); i++) {
    auto ll = nx[x][y];
    x = ll.first, y = ll.second;
    ans[x][y] = t[i];
  }
  for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 13; j++) cout << ans[i][j];
    cout << endl;
  }
}
