#include <bits/stdc++.h>
using namespace std;
map<char, long long> mp;
long long arr[2][1234];
int main() {
  string s;
  long long idx1, idx2;
  char repeating;
  cin >> s;
  long long i;
  for (i = 0; i < s.size(); i++) mp[s[i]]++;
  for (auto it : mp)
    if (it.second == 2) repeating = it.first;
  0;
  long long c1 = 0, c2 = 0, c3 = 0, nc1, nc3;
  for (i = 0; i < s.size(); i++)
    if (s[i] == repeating) {
      idx1 = idx2;
      idx2 = i;
    }
  if (idx2 == idx1 + 1) {
    cout << "Impossible";
    return 0;
  }
  0;
  c2 = idx2 - idx1 - 1;
  c3 = 26 - idx2;
  c1 = idx1;
  0;
  0;
  if (c2 % 2 == 0) {
    long long sum = c1 + c3;
    nc3 = sum / 2;
    nc1 = nc3 + 1;
    if (nc1 < c1) {
      long long give = c1 - nc1;
      string tmp = s.substr(0, give);
      s = s.substr(give, 27 - tmp.size());
      s += tmp;
      0;
    } else if (nc1 > c1) {
      long long give = nc1 - c1;
      string tmp = s.substr(27 - give, give);
      s = tmp + s.substr(0, 27 - give);
      0;
    }
  } else if (c2 % 2 == 1) {
    long long sum = c1 + c3;
    nc3 = sum / 2;
    nc1 = nc3;
    if (nc1 < c1) {
      long long give = c1 - nc1;
      string tmp = s.substr(0, give);
      s = s.substr(give, 27 - tmp.size());
      s += tmp;
      0;
    } else if (nc1 > c1) {
      long long give = nc1 - c1;
      string tmp = s.substr(27 - give, give);
      s = tmp + s.substr(0, 27 - give);
      0;
    }
  }
  0;
  for (i = 0; i < s.size(); i++)
    if (s[i] == repeating) {
      idx1 = idx2;
      idx2 = i;
    }
  long long curr = 0;
  if (c2 % 2 == 0) {
    for (i = 0; i < idx1; i++) arr[1][curr++] = s[i] - 'A';
    curr--;
    0;
    arr[0][curr] = repeating - 'A';
    curr++;
    for (i = idx1 + 1; i <= (idx1 + c2 / 2); i++) arr[0][curr++] = s[i] - 'A';
    0;
    curr--;
    for (i = idx1 + c2 / 2 + 1; i <= (idx1 + c2); i++)
      arr[1][curr--] = s[i] - 'A';
    curr--;
    for (i = idx2 + 1; i < 27; i++) arr[0][curr--] = s[i] - 'A';
    for (i = 0; i < 2; i++) {
      for (long long j = 0; j < 13; j++) {
        cout << char(arr[i][j] + 'A');
      }
      cout << endl;
    }
  } else {
    for (i = 0; i < idx1; i++) arr[1][curr++] = s[i] - 'A';
    0;
    arr[1][curr] = repeating - 'A';
    for (i = idx1 + 1; i <= ((idx1 + c2 / 2) + 1); i++)
      arr[0][curr++] = s[i] - 'A';
    0;
    curr--;
    for (i = idx1 + c2 / 2 + 2; i <= (idx1 + c2); i++)
      arr[1][curr--] = s[i] - 'A';
    curr--;
    for (i = idx2 + 1; i < 27; i++) arr[0][curr--] = s[i] - 'A';
    for (i = 0; i < 2; i++) {
      for (long long j = 0; j < 13; j++) {
        cout << char(arr[i][j] + 'A');
      }
      cout << endl;
    }
  }
}
