func_code_string: #include <bits/stdc++.h>   using namespace std;   template <typename T>   bool chmax(T& a, const T& b) {     return a < b ? (a = b, true) : false;   }   template <typename T>   bool chmin(T& a, const T& b) {     return b < a ? (a = b, true) : false;   }   int N;   string S;   int main() {     cin >> S;     N = S.size();     for (int i = (1); i < (N); i++) {       if (S[i] == S[i - 1]) {         cout <<  Impossible  << endl;         return 0;       }     }     char twice;     for (char c =  A ; c <=  Z ; c++) {       if (count((S).begin(), (S).end(), c) == 2) {         twice = c;         break;       }     }     int x = S.find(twice), y = S.find(twice, x + 1);     string a = S.substr(0, x), b = S.substr(x + 1, y - x - 1),            c = S.substr(y + 1);     string t = b + c + a;     vector<string> ans(2, string(13,  . ));     ans[0][12 - b.size() / 2] = twice;     int idx = 0;     bool flag = false;     while (true) {       for (int i = 0; i < 13; i++) {         if (ans[0][i] == twice && flag == false) {           flag = true;         } else if (ans[0][i] == twice && flag == true) {           cout << ans[0] << endl;           cout << ans[1] << endl;           return 0;         } else if (flag && idx < t.size()) {           ans[0][i] = t[idx++];         }       }       for (int i = 12; i >= 0; i--) {         if (flag && idx < t.size()) {           ans[1][i] = t[idx++];         }       }     }     return 0;   }   