func_code_string: #include <bits/stdc++.h>   using namespace std;   int main() {     string S, S1, S2, S11, S21;     getline(cin, S);     int N = S.length();     int i, j, k;     int t = 0, t3 = 0;     for (i = 0; i < N; i++) {       if (S[i] != S[N - i - 1] and t3 == 0) {         t3 = 1;         if (S[i + 1] == S[N - i - 1]) {           t = 1;           S1 = S;           S1 += S1[N - 1];           for (j = N - 1; j > N - i - 1; j--) {             S1[j + 1] = S1[j];           };           S1[N - i] = S1[i];         }         if (S[i] == S[N - i - 2]) {           t = 1;           S2 = S;           S2 += S2[N - 1];           for (j = N - 1; j > i - 1; j--) {             S2[j + 1] = S2[j];           };           S2[i] = S2[N - i];         }         if (t == 0) {           t = 1;           cout <<  NA ;           return 0;         }       }     }     S11 = S1 +  1 ;     S21 = S2 +  1 ;     if (t3 == 0) {       S += S[N - 1];       for (j = N - 1; j >= (N - 1) / 2; j--) {         S[j + 1] = S[j];       };       cout << S;       return 0;     };     int t1 = 0, t2 = 0, t5 = 0, t6 = 0;     for (i = 0; i <= N; i++) {       if (S1[i] != S1[N - i]) {         t1 = 1;       }     }     for (i = 0; i <= N; i++) {       if (S2[i] != S2[N - i]) {         t2 = 1;       }     }     if (t1 == 0 and S11 !=  1 ) {       cout << S1;       return 0;     }     if (t2 == 0 and S21 !=  1 ) {       cout << S2;       return 0;     }     cout <<  NA ;     return 0;   }   