#include <bits/stdc++.h>
std::vector<int> counter[26];
std::string buffer;
std::vector<int> ans[2];
int main() {
  ans[0].resize(26);
  ans[1].resize(26);
  std::cin >> buffer;
  for (int i = 0; i < 27; ++i) counter[buffer[i] - 'A'].push_back(i);
  for (int i = 0; i < 26; ++i)
    if (counter[i].size() == 2) {
      int p0 = counter[i][0], p1 = counter[i][1];
      if (p1 - p0 < 2) {
        std::cout << "Impossible" << std::endl;
      } else {
        int half = (p1 - p0 - 1) / 2;
        ans[0][half] = i + 'A';
        for (int j = 0; j < half; ++j) ans[0][j] = buffer[p0 + half - j];
        for (int j = 0; j < p1 - p0 - half - 1; ++j)
          ans[1][j] = buffer[p0 + half + j + 1];
        for (int d = 1, s = p0 - 1, p = p1 - p0 - half - 1, x = 1; s >= 0;
             --s, p += d) {
          if (p == 13) {
            p = 12;
            --x;
            d = -1;
          }
          ans[x][p] = buffer[s];
        }
        for (int d = 1, s = p1 + 1, p = half + 1, x = 0; s < 27; ++s, p += d) {
          if (p == 13) {
            p = 12;
            ++x;
            d = -1;
          }
          ans[x][p] = buffer[s];
        }
        for (int i = 0; i < 13; ++i) putchar(ans[0][i]);
        puts("");
        for (int i = 0; i < 13; ++i) putchar(ans[1][i]);
        puts("");
      }
    }
}
