func_code_string: #include <bits/stdc++.h>   using namespace std;   const int MOD = 1e9 + 7;   const int C = 26;   void add(int &x, int y) {     x += y;     while (x >= MOD) x -= MOD;     while (x < 0) x += MOD;   }   int fix(int x) {     while (x >= MOD) x -= MOD;     while (x < 0) x += MOD;     return x;   }   int pw(int a, int b) {     int ret = 1;     while (b) {       if (b & 1) ret = 1ll * ret * a % MOD;       b >>= 1;       a = 1ll * a * a % MOD;     }     return ret;   }   const int MAXN = 1e6 + 10;   bool pal(string s) {     string t = s;     reverse(t.begin(), t.end());     return s == t;   }   void solve() {     string s;     cin >> s;     int n = s.size();     int ans = 10;     int m = (n + 1) / 2;     for (int i = m; i + 1 < n; i++) {       if (s[i] != s[i + 1]) {         ans = 3 + n % 2;         break;       }     }     for (int i = 0; i < n / 2; i++) {       string t = s.substr(0, i + 1);       if (!pal(t)) {         ans = 2;         break;       }     }     for (int i = 1; i < n; i++) {       string t = s.substr(i) + s.substr(0, i);       if (t != s && pal(t)) {         ans = 1;         break;       }     }     if (ans < 10) {       cout << ans <<   n ;     } else {       cout <<  Impossible n ;     }   }   int main() {     ios::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     int te = 1;     for (int w = 1; w <= te; w++) {       solve();     }     return 0;   }   