func_code_string: #include <bits/stdc++.h>   using namespace std;   int main() {     double c = 0, l = 0, i, j;     string x;     cin >> x;     if (x.size() == 1) {       cout << x[0] << x[0];       return 0;     }     if (x.size() % 2 == 0)       c = x.size() / 2 + 1;     else       c = x.size() / 2;     string a, b, m;     for (i = x.size() / 2; i >= 0; i--) {       a.clear();       b.clear();       m.clear();       for (j = l + c; j < x.size(); j++) {         if (x[i] != x[j]) {           a = x;           m = x;           a.insert(x.size() - i, 1, x[i]);           m.insert(x.size() - j - 1, 1, x[j]);         }         break;       }       l++;       b = a;       reverse(b.begin(), b.end());       if (a == b and a.size() != 0 and b.size() != 0) {         cout << a;         return 0;       }       b.clear();       b = m;       reverse(b.begin(), b.end());       if (m == b and m.size() != 0 and b.size() != 0) {         cout << m;         return 0;       }     }     l = 0;     for (i = x.size() - 1 / 2; i >= 0; i--) {       a.clear();       b.clear();       m.clear();       for (j = l + c; j < x.size(); j++) {         if (x[i] != x[j]) {           a = x;           m = x;           a.insert(x.size() - i, 1, x[i]);           m.insert(x.size() - j - 1, 1, x[j]);         }         break;       }       l++;       b = a;       reverse(b.begin(), b.end());       if (a == b and a.size() != 0 and b.size() != 0) {         cout << a;         return 0;       }       b.clear();       b = m;       reverse(b.begin(), b.end());       if (m == b and m.size() != 0 and b.size() != 0) {         cout << m;         return 0;       }     }     a.clear();     b.clear();     if (x.size() % 2 == 0)       x += x[0];     else       x = x[x.size() - 1] + x;     a = x;     reverse(a.begin(), a.end());     if (a == x)       cout << a;     else       cout <<  NA ;   }   