#include <bits/stdc++.h>
using namespace std;
int main() {
  string str;
  cin >> str;
  vector<int> vec(27, -1);
  int temp2, temp3;
  for (int i = 0; i < 27; i++) {
    int temp = (str[i] - 'A');
    if (vec[temp] == -1) {
      vec[temp] = i;
    } else {
      temp3 = i;
      temp2 = vec[temp];
      break;
    }
  }
  int n = temp3 - temp2 - 1;
  int arr[2][27];
  if (n == 0) {
    cout << "Impossible" << endl;
  } else if ((n % 2) == 0) {
    int block = n / 2;
    int pos = 12 - block;
    int col = pos;
    while (col < 13) {
      arr[0][col] = ((temp2) % 27);
      col++;
      temp2++;
    }
    col--;
    while (col != pos) {
      arr[1][col] = (temp2 % 27);
      col--;
      temp2++;
    }
    while (col != -1) {
      arr[0][col] = (temp2 % 27);
      col--;
      temp2++;
    }
    col++;
    while (col <= pos) {
      arr[1][col] = temp2 % 27;
      col++;
      temp2++;
    }
  } else {
    int block = n / 2;
    int pos = 12 - block;
    int col = pos;
    while (col < 13) {
      arr[0][col] = ((temp2) % 27);
      col++;
      temp2++;
    }
    col--;
    while (col != (pos - 1)) {
      arr[1][col] = (temp2 % 27);
      col--;
      temp2++;
    }
    col++;
    while (col != -1) {
      arr[0][col] = (temp2 % 27);
      col--;
      temp2++;
    }
    col++;
    while (col < pos) {
      arr[1][col] = temp2 % 27;
      col++;
      temp2++;
    }
  }
  if (n != 0) {
    for (int i = 0; i < 13; i++) {
      cout << str[arr[0][i]];
    }
    cout << endl;
    for (int i = 0; i < 13; i++) {
      cout << str[arr[1][i]];
    }
    cout << endl;
  }
  return 0;
}
