#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9 + 7;
using namespace std;
int n, m;
string s;
int prime(int x) {
  if (x == 1) return 0;
  for (int i = 2; i * i <= x; i++)
    if (x % i == 0) return 0;
  return 1;
}
int check(int x, int y) {
  if (x > n || x < 1 || y >= m || y < 0) return 0;
  return 1;
}
long long gcd(long long a, long long b) {
  if (b == 0) {
    return a;
  }
  return gcd(b, a % b);
}
int main() {
  cin >> s;
  if (s.size() <= 0) {
    string t = s;
    reverse(t.begin(), t.end());
    string k = s + t;
    cout << k;
    return 0;
  }
  for (int i = 0; i < s.size(); i++) {
    string t = "", k = "";
    for (int j = 0; j < i; j++) t += s[j];
    for (int j = i; j < s.size(); j++) k += s[j];
    string t1 = "";
    if (k.size() >= t.size()) {
      reverse(k.begin(), k.end());
      for (int j = k.size() - t.size(); j < k.size(); j++) t1 += k[j];
      if (t1 == t) {
        string ans = k;
        reverse(k.begin(), k.end());
        ans += k;
        cout << ans;
        return 0;
      }
    } else if (t.size() >= k.size()) {
      reverse(t.begin(), t.end());
      for (int j = 0; j < t.size() - k.size(); j++) t1 += t[j];
      if (t1 == k) {
        string ans = t;
        reverse(t.begin(), t.end());
        ans += t;
        cout << ans;
        return 0;
      }
    }
  }
  return 0;
}
