package chelper; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import io.InputReader; import io.OutputWriter; public class TaskC { public void solve(int testNumber, InputReader in, OutputWriter out) { char[] ch = in.nextString().toCharArray(); int[] a = new int[26]; char dup = 0; int[] fpos = new int[26]; Arrays.fill(fpos, -1); for (int i = 0; i < 27; i++) { char c = ch[i]; if (fpos[c - 'A'] == -1) { fpos[c - 'A'] = i; } a[c - 'A']++; if (a[c - 'A'] >= 2) { if (dup == 0) { dup = c; } else { out.println("Impossible"); return; } } } List pre = new ArrayList<>(); List mid = new ArrayList<>(); List post = new ArrayList<>(); int st = 0; for (char c : ch) { if (c == dup) { st++; } else { if (st == 0) { pre.add(c); } if (st == 1) { mid.add(c); } if (st == 2) { post.add(c); } } } if (mid.size() == 0) { out.println("Impossible"); return; } int pos = 13 - mid.size() / 2 - 1; char[] res = new char[26]; res[pos] = dup; int strpos = fpos[dup - 'A']; for (int i = 0; i < 27; i++) { char c = ch[strpos]; strpos = (strpos + 1) % 27; if (c == dup) { continue; } pos = (pos + 1) % 26; res[pos] = c; } for (int i = 0; i < 13; i++) { out.print(res[i]); } out.println(); for (int i = 0; i < 13; i++) { out.print(res[25 - i]); } out.println(); } }