#include using namespace std; #ifdef _RUTHEN #include #else #define show(...) true #endif using ll = long long; #define rep(i, n) for (int i = 0; i < (n); i++) template using V = vector; bool is_palindrome(std::string &s) { int n = (int)s.size(); for (int i = 0; i < n / 2; i++) { if (s[i] != s[n - 1 - i]) { return false; } } return true; } int main() { ios::sync_with_stdio(false); cin.tie(0); string A; cin >> A; int N = (int)A.size(); while (true) { string B(N, 'a'); rep(i, A.size()) B[i] = A[i]; for (int i = N - 1; i >= 0 and N - 1 - i < (int)A.size(); i--) B[i] = A[N - 1 - i]; if (B.substr(0, (int)A.size()) == A and is_palindrome(B)) { cout << B << '\n'; break; } N++; } return 0; }