func_code_string: #include <bits/stdc++.h>   using namespace std;   map<char, long long> mp;   long long arr[2][1234];   int main() {     string s;     long long idx1, idx2;     char repeating;     cin >> s;     long long i;     for (i = 0; i < s.size(); i++) mp[s[i]]++;     for (auto it : mp)       if (it.second == 2) repeating = it.first;     0;     long long c1 = 0, c2 = 0, c3 = 0, nc1, nc3;     for (i = 0; i < s.size(); i++)       if (s[i] == repeating) {         idx1 = idx2;         idx2 = i;       }     if (idx2 == idx1 + 1) {       cout <<  Impossible ;       return 0;     }     0;     c2 = idx2 - idx1 - 1;     c3 = 26 - idx2;     c1 = idx1;     0;     0;     if (c2 % 2 == 0) {       long long sum = c1 + c3;       nc3 = sum / 2;       nc1 = nc3 + 1;       if (nc1 < c1) {         long long give = c1 - nc1;         string tmp = s.substr(0, give);         s = s.substr(give, 27 - tmp.size());         s += tmp;         0;       } else if (nc1 > c1) {         long long give = nc1 - c1;         string tmp = s.substr(27 - give, give);         s = tmp + s.substr(0, 27 - give);         0;       }     } else if (c2 % 2 == 1) {       long long sum = c1 + c3;       nc3 = sum / 2;       nc1 = nc3;       if (nc1 < c1) {         long long give = c1 - nc1;         string tmp = s.substr(0, give);         s = s.substr(give, 27 - tmp.size());         s += tmp;         0;       } else if (nc1 > c1) {         long long give = nc1 - c1;         string tmp = s.substr(27 - give, give);         s = tmp + s.substr(0, 27 - give);         0;       }     }     0;     for (i = 0; i < s.size(); i++)       if (s[i] == repeating) {         idx1 = idx2;         idx2 = i;       }     long long curr = 0;     if (c2 % 2 == 0) {       for (i = 0; i < idx1; i++) arr[1][curr++] = s[i] -  A ;       curr--;       0;       arr[0][curr] = repeating -  A ;       curr++;       for (i = idx1 + 1; i <= (idx1 + c2 / 2); i++) arr[0][curr++] = s[i] -  A ;       0;       curr--;       for (i = idx1 + c2 / 2 + 1; i <= (idx1 + c2); i++)         arr[1][curr--] = s[i] -  A ;       curr--;       for (i = idx2 + 1; i < 27; i++) arr[0][curr--] = s[i] -  A ;       for (i = 0; i < 2; i++) {         for (long long j = 0; j < 13; j++) {           cout << char(arr[i][j] +  A );         }         cout << endl;       }     } else {       for (i = 0; i < idx1; i++) arr[1][curr++] = s[i] -  A ;       0;       arr[1][curr] = repeating -  A ;       for (i = idx1 + 1; i <= ((idx1 + c2 / 2) + 1); i++)         arr[0][curr++] = s[i] -  A ;       0;       curr--;       for (i = idx1 + c2 / 2 + 2; i <= (idx1 + c2); i++)         arr[1][curr--] = s[i] -  A ;       curr--;       for (i = idx2 + 1; i < 27; i++) arr[0][curr--] = s[i] -  A ;       for (i = 0; i < 2; i++) {         for (long long j = 0; j < 13; j++) {           cout << char(arr[i][j] +  A );         }         cout << endl;       }     }   }   