#include "bits/stdc++.h" #define rep(a,b) for(int a = 0;a < b;a++) #define REP(i, x, n) for(int i = x; i < n; i++) #define P(a) cout << a << endl using namespace std; typedef long long ll; typedef unsigned long long ull; int dx[] = { 1, -1 , 0 , 0 }; int dy[] = { 0, 0, 1, -1 }; ll MOD = 1000000007; unsigned long long str_to_int(std::string str) { unsigned long long ret; std::stringstream ss; ss << str; ss >> ret; return ret; } void solve(){ string s; cin >> s; map m; char c[26] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; rep(i,s.length()){ m[s[i]]++; } int two_count = 0; int extra = 0; rep(i,26){ if(i >= 13 and m[c[i]] != 0){ P("Impossible"); return; } if(m[c[i]] == 2){ if(i < 13) { two_count++; }else{ extra++; } }else if(m[c[i]] > 2){ extra++; } } if(extra != 0){ P("Impossible"); return; } if(two_count == 0){ rep(i,13){ if(m[c[i]] == 1) { P(c[i]); } } return; }else if(two_count == 1){ rep(i,13){ if(m[c[i]] == 0) { P(c[i]); } } return; }else{ P("Impossible"); } } int main() { solve(); return 0; }